Grafalgoritmer

Introduktion till nätverksanalys i Python

Eric Ma

Data Carpentry instructor and author of nxviz package

Hitta vägar

  • Vägfinnande är viktigt för
    • Optimering: t.ex. kortaste transportvägar
    • Modellering: t.ex. sjukdomsspridning, informationsflöde
  • Algoritm: Bredden-först-sökning
Introduktion till nätverksanalys i Python

Bredden-först-sökning (BFS)

  • Exempel: Kortaste vägen mellan två noder

En graf med ett dussintal noder. Två noder som är indirekt förbundna är markerade.

Introduktion till nätverksanalys i Python

Bredden-först-sökning (BFS)

  • Exempel: Kortaste vägen mellan två noder

Samma graf som tidigare, men grannoden till en av de markerade noderna är också markerad.

Introduktion till nätverksanalys i Python

Bredden-först-sökning (BFS)

  • Exempel: Kortaste vägen mellan två noder

Samma graf som tidigare, men grannoderna till alla markerade noder är också markerade.

Introduktion till nätverksanalys i Python

Bredden-först-sökning (BFS)

  • Exempel: Kortaste vägen mellan två noder

Samma graf som tidigare, men ytterligare grannoder till de redan markerade noderna är nu markerade, vilket innebär att målnoden har nåtts.

Introduktion till nätverksanalys i Python

Repetition: Grannar

G
<networkx.classes.graph.Graph at 0x10cc08828>
len(G.edges())
57
len(G.nodes())
20
Introduktion till nätverksanalys i Python

Repetition: Grannar

list(G.neighbors(1))
[10, 5, 14, 7]
list(G.neighbors(10))
[1, 19, 5, 17, 8, 9, 13, 14]
Introduktion till nätverksanalys i Python

Nu kör vi en övning!

Introduktion till nätverksanalys i Python

Preparing Video For Download...