그래프 알고리즘

Python으로 시작하는 네트워크 분석

Eric Ma

Data Carpentry instructor and author of nxviz package

경로 찾기

  • 경로 탐색의 활용
    • 최적화: 예) 최단 운송 경로
    • 모델링: 예) 질병 전파, 정보 전달
  • 알고리즘: 너비 우선 탐색(BFS)
Python으로 시작하는 네트워크 분석

너비 우선 탐색(BFS)

  • 예: 두 노드 간 최단 경로

노드가 여러 개 있는 그래프. 간접적으로 연결된 두 노드가 강조되어 있습니다.

Python으로 시작하는 네트워크 분석

너비 우선 탐색(BFS)

  • 예: 두 노드 간 최단 경로

앞과 같은 그래프이며, 한쪽 강조 노드의 이웃 노드도 강조되어 있습니다.

Python으로 시작하는 네트워크 분석

너비 우선 탐색(BFS)

  • 예: 두 노드 간 최단 경로

앞과 같은 그래프이며, 모든 강조 노드의 이웃 노드들도 강조되어 있습니다.

Python으로 시작하는 네트워크 분석

너비 우선 탐색(BFS)

  • 예: 두 노드 간 최단 경로

앞과 같은 그래프이며, 기존 강조 노드들의 또 다른 이웃들이 강조되어 목표 노드에 도달했습니다.

Python으로 시작하는 네트워크 분석

복습: 이웃 노드

G
<networkx.classes.graph.Graph at 0x10cc08828>
len(G.edges())
57
len(G.nodes())
20
Python으로 시작하는 네트워크 분석

복습: 이웃 노드

list(G.neighbors(1))
[10, 5, 14, 7]
list(G.neighbors(10))
[1, 19, 5, 17, 8, 9, 13, 14]
Python으로 시작하는 네트워크 분석

Let's practice!

Python으로 시작하는 네트워크 분석

Preparing Video For Download...