2010年12月17日 星期五

multigraph

From Wikipedia, the free encyclopedia
This article is about the mathematical concept. For other uses, see Multigraph (disambiguation).
A multigraph with multiple edges (red) and several loops (blue). Not all authors allow multigraphs to have loops.

In mathematics, a multigraph or pseudograph is a graph which is permitted to have multiple edges, (also called "parallel edges"[1]), that is, edges that have the same end nodes. Thus two vertices may be connected by more than one edge. Formally, a multigraph G is an ordered pair G:=(V, E) with

  • V a set of vertices or nodes,
  • E a multiset of unordered pairs of vertices, called edges or lines.

Multigraphs might be used to model the possible flight connections offered by an airline. In this case the multigraph would be a directed graph with pairs of directed parallel edges connecting cities to show that it is possible to fly both to and from these locations.

Some authors also allow multigraphs to have loops, that is, an edge that connects a vertex to itself,[2] while others call these pseudographs, reserving the term multigraph for the case with no loops.[3]

A multidigraph is a directed graph which is permitted to have multiple arcs, i.e., arcs with the same source and target nodes. A multidigraph G is an ordered pair G:=(V,A) with

  • V a set of vertices or nodes,
  • A a multiset of ordered pairs of vertices called directed edges, arcs or arrows.

In category theory a small category can be defined as a multidigraph equipped with an associative composition law and a distinguished self-loop at each vertex serving as the left and right identity for composition. For this reason, in category theory the term graph is standardly taken to mean "multidigraph", and the underlying multidigraph of a category is called its underlying digraph.

A mixed multigraph G:=(V,E, A) may be defined in the same way as a mixed graph.

http://en.wikipedia.org/wiki/Multigraph

Strongly connected component

Strongly connected component

From Wikipedia, the free encyclopedia

A directed graph is called strongly connected if there is a path from each vertex in the graph to

every other vertex. In particular, this means paths in each direction; a path from a to b and also

a path from b to a.



The strongly connected components of a directed graph G are its maximal strongly connected subgraphs.

If each strongly connected component is contracted to a single vertex, the resulting graph is a directed acyclic graph,

the condensation of G. A directed graph is acyclic if and only if it has no (nontrivial) strongly connected subgraphs

(because a cycle is strongly connected, and every strongly connected graph contains at least one cycle).

Kosaraju's algorithm, Tarjan's algorithm and Gabow's algorithm all efficiently compute the strongly connected

components of a directed graph, but Tarjan's and Gabow's are favoured in practice since they require only one

depth-first search rather than two.

Algorithms for finding strongly connected components may be used to solve 2-satisfiability problems

(systems of Boolean variables with constraints on the values of pairs of variables): as Aspvall, Plass & Tarjan (1979)

showed, a 2-satisfiability instance is unsatisfiable if and only if there is a variable v such that v and its complement

are both contained in the same strongly connected component of the implication graph of the instance.

Graph with strongly connected components marked

2010年12月12日 星期日

Information_security

http://en.wikipedia.org/wiki/Information_security


SSH、SSL

SSH為Secure Shell的縮寫,由IETF的網路工作小組(Network Working Group)所制定;SSH為建立在應用層傳輸層基礎上的安全協定。

傳統的網路服務程式,如FTPPOPTelnet其本質上都是不安全的;因為它們在網路上用明文傳送資料、使用者帳號和使用者口令,很容易受到中間人(man-in-the-middle)攻擊方式的攻擊。就是存在另一個人或者一台機器冒充真正的伺服器接收使用者傳給伺服器的資料,然後再冒充使用者把資料傳給真正的伺服器。

而SSH是目前較可靠,專為遠端登入會話和其他網路服務提供安全性的協定。利用SSH協定可以有效防止遠端管理過程中的資訊泄露問題。透過SSH可以對所有傳輸的資料進行加密,也能夠防止DNS欺騙和IP欺騙。

SSH之另一項優點為其傳輸的資料是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以為FTPPOP、甚至為PPP提供一個安全的「通道」。



安全套接層(Secure Sockets Layer,SSL)及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網路連接進行加密。


介紹

由於Web上有時要傳輸重要或敏感的數據,因此Netscape公司在推出Web瀏覽器首版的同時,提出了安全通信協議SSL(Secure Socket Layer),目前已有2.0和3.0版本。SSL採用公開密鑰技術。其目的是保證兩個應用間通信的保密性和可靠性,可在伺服器和客戶機兩端同時實現支持。目前,利用公開密鑰技術的SSL協議,並已成為Internet上保密通訊的工業標準。現行Web瀏覽器普遍將HTTP和SSL相結合,從而實現安全通信。

安全通信協議(SSL)是在 Internet 基礎上提供的一種保證私密性的安全協議。在客戶端與伺服器間傳輸的數據是通過使用對稱演算法(如 DES 或 RC4)進行加密的。公用密鑰演算法(通常為 RSA)是用來獲得加密密鑰交換和數字簽署的,此演算法使用伺服器的SSL數字憑證中的公用密鑰。它能使客戶/伺服器應用之間的通信不被攻擊者竊聽,並且始終對伺服器進行認證,還可選擇對客戶進行認證。SSL協議要求建立在可靠的傳輸層協議 (例如:TCP) 之上。

SSL協議的優勢在於它是與應用層協議獨立無關的。高層的應用層協議 (例如:HTTP,FTP,TELNET … ) 能透明的建立於SSL協議之上。SSL協議在應用層協議通信之前就已經完成加密演算法、通信密鑰的協商以及伺服器認證工作。在此之後應用層協議所傳送的數據都會被加密,從而保證通信的私密性。

理清名稱上的的混淆,SSL(Secure Socket Layer)是netscape公司設計的主要用於web的安全傳輸協議。這種協議在WEB上獲得了廣泛的應用。IETF(www.ietf.org)將SSL作了標準化,即RFC2246,並將其稱為TLS(Transport Layer Security),從技術上講,TLS1.0與SSL3.0的差別非常微小。

TLS利用密鑰演算法網際網路上提供端點身份認證通訊保密,其基礎是公鑰基礎設施(PKI)。不過在實現的典型例子中,只有網路服務者被可靠身份驗證,而其客戶端則不一定。這是因為公鑰基礎設施普遍商業運營,電子簽名證書要花大錢購買,普通大眾很難買得起證書。協議的設計在某種程度上能夠使客戶端/伺服器應用程序通訊本身預防竊聽干擾(Tampering)、和消息偽造

TLS包含三個基本階段:

  1. 對等協商支援的密鑰演算法
  2. 基於非對稱密鑰的信息傳輸加密和身份認證、基於PKI證書的身份認證
  3. 基於對稱密鑰的數據傳輸保密

在第一階段,客戶端與伺服器協商所用密碼演算法。 當前廣泛實現的演算法選擇如下:

[編輯]工作方式

雙向證書認證的SSL握手過程。

以下簡要介紹SSL協議的工作方式。客戶端要收發幾個握手信號:

  • 發送一個ClientHello消息,說明它支持的密碼演算法列表、壓縮方法及最高協議版本,也發送稍後將被使用的隨機數。
  • 然後收到一個ServerHello消息,包含伺服器選擇的連接參數,源自客戶端初期所提供的ClientHello
  • 當雙方知道了連接參數,客戶端與伺服器交換證書(依靠被選擇的公鑰系統)。這些證書通常基於X.509,不過已有草案支持以OpenPGP為基礎的證書。
  • 伺服器請求客戶端公鑰。客戶端有證書即雙向身份認證,沒證書時隨機生成公鑰。
  • 客戶端與伺服器通過公鑰保密協商共同的主私鑰(雙方隨機協商),這通過精心謹慎設計的偽隨機數功能實現。結果可能使用Diffie-Hellman交換,或簡化的公鑰加密,雙方各自用私鑰解密。所有其他關鍵數據的加密均使用這個「主密鑰」。

數據傳輸中記錄層(Record layer)用於封裝更高層的HTTP等協議。記錄層數據可以被隨意壓縮、加密,與消息驗證碼壓縮在一起。每個記錄層包都有一個Content-Type段用以記錄更上層用的協議。

TLS/SSL有多樣的安全保護措施:

  • 所有的記錄層數據均被編號,用於消息驗證碼校驗。

PERT

PERT is a method to analyze the involved tasks in completing a given project, especially the time needed to complete each task, and identifying the minimum time needed to complete the total project.


SIMM

A SIMM, or single in-line memory module, is a type of memory module containing random access memory used in computers from the early 1980s to the late 1990s. It differs from a dual in-line memory module (DIMM), the most predominant form of memory module today, in that the contacts on a SIMM are redundant on both sides of the module. SIMMs were standardised under the JEDEC JESD-21C standard.

garbage collector

因為Java會自動回收不用的物件(dead object) , 這些死掉的物件就是Garbage , 回收這些Garbage就是GC。




SATA、ATA

Serial ATASATA, Serial Advanced Technology Attachment),亦稱序列ATA,是串列SCSISAS:Serial Attached SCSI)的孿生兄弟,兩者的排線相容,SATA硬碟可接上SAS介面。它是一種電腦匯流排,主要功能是用作主機板和大量儲存裝置(如硬碟光碟機)之間的數據傳輸之用。

2000年11月由「Serial ATA Working Group」團體所制定,SATA是已經完全取代舊式PATA(Parallel ATA或稱IDE)的新型硬碟介面,因採用序列方式傳輸資料而得名。在數據傳輸上這一方面,SATA的速度比以往更加快捷,並支援熱插拔,使電腦運作時可以插上或拔除硬體。另一方面,SATA匯流排使用了嵌入式時脈訊號,具備了比以往更強的糾錯能力,能對傳輸指令(不僅是資料)進行檢查,如果發現錯誤會自動矯正,提高了資料傳輸的可靠性。不過,SATA和以往最明顯的分別,是用上了較細的排線,有利機箱內部的空氣流通,某程度上增加了整個平台的穩定性。


高技術配置英語Advanced Technology Attachment,簡稱「ATA」)與由整合驅動電子裝置IDE)技術實作的磁碟機關聯最密切。

一般說來,ATA是一個控制器技術,而IDE是一個匹配它的磁碟機技術,但是兩個術語經常可以互用。ATA是一個花費低而性能適中的介面,主要是針對桌上型電腦而設計的,今天銷售的大多數ATA控制器和IDE磁碟都是更高版本的,稱為ATA - 2和ATA - 3,與之匹配的磁碟機稱為增強的IDE。

ATA是用傳統的 40-pin 並列數據線連接主機板與硬碟的,外部介面速度最大為133MB/s,因為並列線的抗干擾性太差,且排線佔空間,不利電腦散熱,將逐漸被 SATA 所取代。ATA主機控制器晶片差不多整合到每一個生產的系統板,提供連線4個裝置的能力。ATA控制器已經變得非常廉價和常見,致使購買一塊沒有ATA介面的PC主機板是很難的。

但在SATA技術日益發展下,沒有ATA的主版已經出現,而且Intel在新型的晶片組中已經不預設支援ATA介面,主機版廠商需要另加晶片去對ATA作出支援(通常是為了相容舊有硬碟和光碟機)



OCR、OMR

光學字元識別(OCR,Optical Character Recognition)是指對文本資料圖像文件進行分析處理,獲取文字及版面信息的過程。

光學劃記符號辨識Optical mark recognition, OMR)是一種資料的取得方式,透過把光束(通常是紅色的)打在掃描器上的文件條碼的記號來辨識一些簡單的東西,而原理是有記號(或條碼的黑色)的部分比沒有記號(或條碼的白色部分)反射較少的光。

光學劃記符號辨識與光學字元辨識(OCR)的最大分別是不需要辨識引擎,所以需要高對比和特定形狀的劃記才能容易被讀取。

某些OMR設備用一些印在異丁烯酸甲酯製成的紙上,透過量度穿過紙張的強度來解讀資料。這使任何一邊的紙張有標記會減少透過紙張的光度。

其中一種最常見的用途是使用HB鉛筆填寫的格子式多項選擇題答題



wiki

IPTV、HDTV、digital TV

IPTV,全名網路協定電視(Internet Protocol Television),是寬頻電視(Broadband TV)的一種。IPTV是用寬頻網絡作為介質傳送電視信息的一種系統,將廣播節目透過寬頻上的網際協議向訂戶傳遞數碼電視服務。由於需要使用網路,IPTV服務供應商經常會一併提供連接互聯網IP電話等相關服務,也可稱為「三重服務」或「三合一服務」(Triple Play)。IPTV是數位電視的一種,因此普通電視機需要配合相應的機上盒接收頻道,也因此供應商通常會向客戶同時提供隨選視訊服務。


高畫質電視英語High Definition Television),中國大陸、港澳常稱之為高清電視,是一種電視業務下的新型產品,原ITU-R給高畫質電視下的定義是:「高畫質電視應是一個透明系統,一個正常視力的觀眾處在距該系統顯示螢幕高度的三倍距離上所看到的影像品質,應該得到有如觀看原始景物或表演時所得到的印象」。其水平和垂直清晰度是常規電視的兩倍左右,並且配有多路環繞聲

高畫質電視是指傳送的電視訊號能達到的解析度高於傳統電視訊號(NTSCSECAMPAL)所允許的範圍。除了早期在歐洲和日本的類比訊號格式之外,高畫質電視是透過數位信號傳送的,因此介紹的時候也會一併介紹數位電視


數位電視,又稱為數字電視數碼電視,是播出、傳輸、接收等環節中全面採用數位電視訊號的電視系統,與類比電視相對。

數位電視系統可以傳送多種業務,如高畫質晰度電視(簡寫為「HDTV」或「高畫質」)、標準畫質電視(簡寫為「SDTV」或「標準畫質」)、互動電視、及數據業務等等。


wiki

Podcast

Podcast的主要概念,指的是一種在網際網路上發佈聲音文件並允許用戶訂閱RSS來自動接受新聲音文件的方法。簡單來說,Podcast就是一種「可訂閱、下載及自行發布的網路廣播」。

維基百科上「Podcasting」的定義

Podcasting (有人譯為 播客 )這個詞來源自 蘋果公司 的" iPod "與"廣播"( broadcasting)的 合成詞 , 其意義指的是一種在網際網路上發佈文件並允許用戶訂閱 feed 以自動接受新文件的方法. 這種新方法在2004年下半年開始在網際網路上流行以用於發佈音頻文件.

Podcasting與其他音頻內容傳送的區別在於其訂閱模式, 它使用 RSS 2.0文件格式傳送信息. 該技術允許個人進行創建與發佈, 這種新的廣播方式使得人人可以說出他們想說的話.

訂閱podcasts可以使用"podcatching"軟體(也稱為"新聞聚合"軟體). 這種軟體可以定期檢查並下載新內容. 並與用戶的可攜帶音樂播放器同步內容. Podcasting並不強求使用iPod或 iTunes ; 任何 數字音頻播放器 或擁有適當軟體的 電腦 都可以播放podcast. 相同的技術亦可用來傳送視頻文件, 在 2005年 , 已經有一些新聞聚合軟體可以像播放音頻一樣播放視頻了.

Podcast是更有創意的網路廣播

以往的網路廣播,我們必須隨時連在網路上才能收聽,而且聲音是以串流的格式播放,想錄下節目內容就必須使用側錄的方式,或是用擷取軟體來下載。

Podcast的檔案採用最普遍的MP3格式,使用者可以在網路上點選連結收聽,也可以直接把節目的MP3檔下載到自己電腦裡,接著就可以將檔案傳輸到MP3隨身聽,帶著喜愛的節目出門去。iPod的使用者還可以透過與iTunes的同步功能,直接把廣播節目下載到自己的iPod,輕鬆地享受Podcast的樂趣。

一般的網路廣播,製作門檻較高,多由商業電台提供,因此頻道數量增加的速度很慢。Podcast的節目製作容易得多,只要先將錄製節目的MP3檔放到網路空間上,並使用工具來產生Podcast RSS,然後再將所產生的Podcast RSS發佈到網路上,提供其他人訂閱,就可以架好自己的電台,讓全世界收聽。在國外Podcast的節目數量增加速度很快,而且節目類型多采多姿,音樂、訪談、演講、新聞...什麼樣的內容都有,而台灣則還有待發展。

一般網路廣播節目多採即時性播出,聽眾容易錯過喜歡的節目。而Podcast可以透過RSS閱讀軟體訂閱,無論是現存的節目,或是新增的節目,都會將清單自動接收下來。使用者可以自己決定要下載哪些內容,當然也可以自己決定什麼時候要收聽下載的節目,也就是所謂的隨選收聽。

網路廣播與Podcast比較表

網路廣播
Podcast
檔案格式
串流
MP3
節目數量
較少
下載
不可
可攜性
製作
困難
容易
訂閱
不可
節目時效
即時
隨選