Cvičení 5: Analýza reálných sítí

Vykreslování grafů funkcí pomocí matplotlib

K vyřešení následující úlohy budeme potřebovat nakreslit histogram. To můžeme udělat poměrně jednoduše pomocí knihovny matplotlib.

V grafu si můžeme nastavit i další parametry, viz https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.bar.html?highlight=bar#matplotlib.axes.Axes.bar.

Úloha 1: Napiš funkci, která pro zadaný graf vykreslí histogram distribuce jeho stupňů.

Počítání clusterovacího koeficientu a průměrné délky cest

NetworkX má zabudováno mnoho funkcí na počítání parametrů sítí. Na výpočet klusterovacího koeficientu je implementována fukce clustering(G), která vrátí slovník vrcholů a jejich klusterovacího koeficientu, podrobnosti viz https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.cluster.clustering.html#networkx.algorithms.cluster.clustering. Existuje dokonce i funkce average_clustering(G), která spočítá průměrný clusterovací koeficient v grafu: https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.cluster.average_clustering.html#networkx.algorithms.cluster.average_clustering

Stejně tak je v NetworkX implementována funkce average_shortest_path_length(G), která pro zadaný graf spočítá průměrnou délku nejkratších cest. Více viz dokumentace: https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.shortest_paths.generic.average_shortest_path_length.html?#networkx.algorithms.shortest_paths.generic.average_shortest_path_length

Úloha 4: Následující reálné sítě převeď do vhodného formátu

a proveď nad nimi následující analýzy

U nesouvislých grafů analyzujte jejich největší komponentu souvislosti.

Úloha 5: Porovnej výsledky s diskuzí z druhého cvičení.

parametry-siti.png