networkx その4

networkx

networkx その2

networkx その3

の続き.319~325ページ.

%matplotlib inline
import matplotlib.pyplot as plt
import networkx as nx


G = nx.watts_strogatz_graph(10, 2, 0.3)
nx.draw_networkx(G)
plt.axis('off')

FireShot Capture 202 - JupyterLab Alpha Preview - http___localhost_8888_lab

nx.maximal_matching(G)

{(0, 1), (2, 3), (4, 5), (6, 7), (8, 9)}

nx.max_weight_matching(G)

{0: 1, 1: 0, 2: 3, 3: 2, 4: 5, 5: 4, 6: 7, 7: 6, 8: 9, 9: 8}

G[4][9]['weight'] = 10
nx.maximal_matching(G), nx.max_weight_matching(G)

({(0, 1), (2, 3), (4, 5), (6, 7), (8, 9)},
{0: 1, 1: 0, 2: 3, 3: 2, 4: 9, 6: 7, 7: 6, 9: 4})

nx.draw_networkx(nx.contracted_edge(G, (1, 2)))
plt.axis('off')

FireShot Capture 203 - JupyterLab Alpha Preview - http___localhost_8888_lab

nx.draw_networkx(nx.contracted_edge(G, (4, 9)))
plt.axis('off')

FireShot Capture 204 - JupyterLab Alpha Preview - http___localhost_8888_lab

nx.draw_networkx(nx.contracted_edge(G, (8, 9)))
plt.axis('off')

FireShot Capture 205 - JupyterLab Alpha Preview - http___localhost_8888_lab

「contracted_nodes」はcontracted_edge(G, tuple)に対して,contracted_nodes(G, *tuple)の違いだけ.

G = nx.path_graph(5)
nx.draw_networkx(G)
plt.axis('off')

FireShot Capture 206 - JupyterLab Alpha Preview - http___localhost_8888_lab

nx.maximal_independent_set(G)

[0, 4, 2] or [1, 3] or [1, 4] or [3, 0]

nx.maximal_independent_set(G, [2])

[2, 4, 0]

G=nx.cycle_graph(4)
G.add_edge(0, 3, weight=3)
width = [d[2] if d[2] is not None else 1 for d in G.edges_iter(data='weight')]
nx.draw_networkx(G, width=width)
plt.axis('off')

FireShot Capture 207 - JupyterLab Alpha Preview - http___localhost_8888_lab

T=nx.minimum_spanning_tree(G)
T.edge

{0: {1: {}}, 1: {0: {}, 2: {}}, 2: {1: {}, 3: {}}, 3: {2: {}}}

list(nx.minimum_spanning_edges(G))

[(0, 1, {}), (1, 2, {}), (2, 3, {})]

import random

G=nx.cycle_graph(10)
for u, v, d in G.edges(data=True):
    d['weight'] = random.randrange(1, 4)
width = [d[2] if d[2] is not None else 1 for d in G.edges_iter(data='weight')]
nx.draw_networkx(G, width=width)
plt.axis('off')

FireShot Capture 208 - JupyterLab Alpha Preview - http___localhost_8888_lab

nx.draw_networkx(nx.minimum_spanning_tree(G))
plt.axis('off')

FireShot Capture 209 - JupyterLab Alpha Preview - http___localhost_8888_lab

広告
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中