1. 簡介
1.1 世界中的圖
在真實世界中,每個人都不是獨立的個體,人們通過交流和電話進行信息的溝通,這都都是圖的一部分。我們想要知道他們都代表什麼意思,就需要將這些關係進行編碼,也就是圖的表示。
例如:
- 在生物提供,各種分子的結構、細胞之間的協同工作方式,都是圖的一種。
- 科學文章之間的引用
- 搜索引擎之間的關係
1.2. 研究圖的目的
圖建模的目標就是將自然界中的關係通過數學語言進行描述,有了具體的描述,我們就可以通過圖中節點的運動方式去了解這些系統的運行機制。
1.3. 通常需要解決的問題
- 結點的分類:預測給定結點的種類/顏色。
一個具體的例子:維基百科中的有一部分的文章是僞造的,通過文章之間的相互引用和關聯,可以推斷哪些文章是有問題的。 - 關係預測:預測兩個節點之間是否有聯繫
- 社區檢測:如何在只有少數點的情況下,預測整個網絡的作用/種類
- 網絡相似性:度量兩個節點或者是兩個網絡之間的相似性。
1.4. 建模步驟
主要包括以下幾個步驟:
- 如何描述網絡以及衡量網絡
- 設計網絡的原則以及模型方法
- 具體的算法以及如何使用模型去解決問題
1.5. 從圖中學什麼?
2. 網絡的概念
網絡和圖的區別:
網絡與圖的聯繫:
2.1 無向圖與有向圖
節點的度 - degree
在無向圖中:與目標節點A相連節點的數量稱爲度。
在有向圖中:根據Edge方向的不同分爲入度和出度。其中,在圖中具有這樣的一條性質:
in-degree的和與out-degree之和相等。原因是:在有向圖中有入必有出。
節點的平均度 - average degree
average degree = 邊的數量 除以 節點數。
multiple graphs
在上文中,我們規定了兩個node之間的edge只有一條,但是,如果有多條的情況下,我們成爲multi graphs
完全圖 - complete graph(集 - clique)
2.2 常見網絡與圖之間關係總結
2.3 二分圖
在下圖中,二分圖的意思是左邊的圖僅和右邊的圖有關聯,邊緣只出現在左右圖的連接中,而不出現在同側。
這種圖的一個具體的例子爲:文章作者和文章之間的聯繫或者是演員和電影之間的關係。
同樣的,有二分圖就意味着有三邊圖:如:演員、電影、電影類型之間的關係。
舉個具體的例子:
- 根據U、V圖推已知Project U和Project V。
-
推Project U
1、2、3均連接A
2、5連接B
4、5連C
5、6、7連D -
推Project V
A、B通過節點2連接
B、C、D通過節點5連接
-
- 已知Project U和Project V 推U、V圖。
項目U和項目V之間的關係可以用下圖中中間的圖進行表示。
note:在構建圖的過程中,需要完全連接的點才能對應右圖中新的節點。- 1、2、3三點互聯,因此對應右圖節點A;
- 1、2、5中1和5並未相連,故而與節點B相連的只有2、5兩個節點。)
2.4 圖的矩陣表示
利用矩陣計算圖的度
2.4 圖的鄰接表示
通過各個點之間邊的關係來表達圖。
這樣的表示方法適合較爲稀疏的圖。
2.5 鄰接列表
綜合矩陣表示和鄰接表示的方法,產生了鄰接列表。
3. 其他的圖網絡
3.1 權重網絡
3.2 循環圖網絡
3.3 多圖
此時,矩陣中表示的則是不同節點之間的連接次數
4. 圖的連通性
橋(bridge):若兩個節點之間僅由一條邊連接,則該邊稱爲橋。A、F。F、H不能稱作橋,若去掉F、H的邊,F仍然可以通過G到達H。
4.1 連通圖與非連通圖的矩陣表示
4.2 有向圖的強連接和弱連接
強連接:節點之間可以相互連接
弱連接:節點之間的關係往往都是有去無回的,F、G