圖演算法

Python 網路分析入門

Eric Ma

Data Carpentry instructor and author of nxviz package

尋找路徑

  • 尋路用途:
    • 最佳化:如最短運輸路徑
    • 建模:如疾病擴散、資訊傳遞
  • 演算法:Breadth-first search(BFS)
Python 網路分析入門

廣度優先搜尋(BFS)

  • 範例:兩節點間的最短路徑

含十餘節點的圖。兩個間接相連的節點被標示。

Python 網路分析入門

廣度優先搜尋(BFS)

  • 範例:兩節點間的最短路徑

與前一張相同的圖,但其中一個標示節點的鄰居也被標示。

Python 網路分析入門

廣度優先搜尋(BFS)

  • 範例:兩節點間的最短路徑

與前一張相同的圖,但所有已標示節點的鄰居也都被標示。

Python 網路分析入門

廣度優先搜尋(BFS)

  • 範例:兩節點間的最短路徑

與前一張相同的圖,但再往外一層的鄰居也被標示,代表已到達目標節點。

Python 網路分析入門

回顧:鄰居(Neighbors)

G
<networkx.classes.graph.Graph at 0x10cc08828>
len(G.edges())
57
len(G.nodes())
20
Python 網路分析入門

回顧:鄰居(Neighbors)

list(G.neighbors(1))
[10, 5, 14, 7]
list(G.neighbors(10))
[1, 19, 5, 17, 8, 9, 13, 14]
Python 網路分析入門

一起來練習吧!

Python 網路分析入門

Preparing Video For Download...