Grafy a sítě

Zde jsou mé poznámky z přednášky, kterou vede docent David Hartman (kompletní výčet všech jeho titulů najdete na jeho stránkách). Během semestru je budu postupně aktualizovat.

View source

Motivace a příklady

Chceme reálný svět/systém modelovat grafem/sítí, se kterou se pracuje lépe. Z této sítě pak spočítáme nějaký reálný vektor (např. pravděpodobnostní distribuce), který nám říká něco o reálném světě.

Příklad: (Twitter) Reprezentujeme sítí G=(V,E)G = (V,E): Vrcholy VV reprezentují uživatele/profily/stránky a orientovaná hrana uvEuv \in E představuje vztah, že uživatel uu sleduje vv.

Small-world

Problém: modely reálných systémů mohou být obrovské

Příklad: (Milgram experiment) Vzdálenost mezi dvěma lidmi skrze hrany reprezentující přátelství je malá.

Vague Definice: (small-world) Síť je označovaná za small-world (SW), pokud má tendence tvořit clustery vrcholů (husté podgrafy) a zároveň vzdálenost každých dvou vrcholů je malá.

Metody modelování

Příklad: (autoregresivní systémy) Máme velmi složitý systém a my se jej pokusíme modelovat lineárním modelem

Příklad: (klinické studie) Pacientovi uděláme MRI (nebo EEG) a z dat sestrojíme graf představující jak dobře jsou propojené jednotlivé komponenty mozku – tzv. temporální síť

Příklad: (interakce proteinů) Máme graf protein-protein interakcí (PPIN) a pro každý protein známe jeho funkci. Chceme najít chování dvou proteinů v jejich společné interakci.

  1. Neighborhood metody:
    • pro každý vrchol vv je funkce daná nejčastější funkcí proteinu v jeho okolí
  2. Community metody:
    • pro každý vrchol vv je funkce daná nejčastější funkcí proteinu v jeho komunitě
    • problém: hledání komunit je NP-těžký problém (dá se ale docela dobře aproximovat)

Příklad: (Internet) Vrcholy jsou IP adresy, hrany jsou jejich „spojení po internetu”

Small-world

Clustering

Definice: (clustrovací koeficient) Pro graf GG a vrchol vV(G)v \in V(G) definujeme jeho (lokální) clustrovací koeficient jako

Cv(G)=E(G[NG(v)])(degG(v)2) C_v(G) = \frac{|E(G[N_G(v)])|}{{\deg_G(v)}\choose2}

a pokud je stupeň vv roven 0 nebo 1, pak definujeme Cv(G)=0C_v(G) = 0.

Definice: (průměrný clustrovací koeficient) Pro graf GG, kde n=V(G)n = |V(G)|, definujeme průměrný clustrovací koeficient jako

C(v)=1nvV(G)Cv(G) C(v) = \frac 1 n \sum_{v \in V(G)} C_v(G)

Definice: (Turánův graf) graf Tr(n)T_r(n) je úplný rr-partitní graf na nn vrcholech, kde n=qr+sn = q \cdot r + s pro 0s<r0 \le s < r. V grafu má ss partit velikost nr=q+1\lceil \frac n r \rceil = q + 1 a zbytek (tedy rsr-s partit) má velikost nr=q\lfloor \frac n r \rfloor = q.

Definice: (počet hran Tr(n)T_r(n)) definujme tr(n):=E(Tr(n))t_r(n) := |E(T_r(n))|

v Tr(n)T_r(n) je každý vrchol spojen s každým dalším vrcholem, který není ve stejné partitě

Dohromady tak máme tr(n)=(n2)s(q+12)(rs)(q2)t_r(n) = {n\choose2} - s{q+1\choose2} - (r-s){q\choose2}. Tento výraz je maximalizován pro nn takové, že rnr | n, tedy když s=0s = 0. To nám dává horní odhad na tr(n)r1rn22t_r(n) \le \frac{r-1}r \cdot \frac{n^2}2

Věta: (Turán 1940) Každý graf GG na nn vrcholech s více než tr(n)t_r(n) hranami obsahuje Kr+1K_{r+1} jako podgraf

Důkaz: Idea – ukážeme, že graf bez podgrafu Kr+1K_{r+1} s maximálním počtem hran je přesně Tr(n)T_r(n).

Mějme graf GG bez podgrafu Kr+1K_{r+1} a vezměme vv s maximálním deg(v)\deg(v). Označme A=N(v)A = N(v), B=V(A{v})B = V \setminus (A \cup \{v\}). Nyní sestrojme nový graf GG' z grafu GG odstraněním všech hran v BB a přidáme všechny hrany mezi AA a BB. To nám dává e(G)e(G)=ABe(A,B)e(B)e(G') - e(G) = |A|\cdot|B| - e(A,B) - e(B). Nyní si všimněme:

  1. deg(x)deg(v),xB\deg(x) \le \deg(v), \forall x \in B
  2. deg(x)=degA(x)+degB(x)A\deg(x) = \deg_A(x) + \deg_B(x) \le |A| jelikož máme prázdné BB a x≁vx \not\sim v

Součtem těchto dvou přes všechna xx dostaneme xBdeg(x)=xBdegA(x)+xBdegB(x)AB\sum_{x\in B} \deg(x) = \sum_{x \in B} \deg_A(x) + \sum_{x\in B}\deg_B(x) \le |A|\cdot|B|. Jelikož e(A,B)+e(B)e(A,B)+2e(B)=xBdeg(x)e(A,B) + e(B) \le e(A,B) + 2e(B) = \sum_{x \in B} \deg(x), pak dosazením výsledku výše dostáváme

e(G)e(G)=AB(e(A,B)+e(B))ABAB=0 e(G') - e(G) = |A|\cdot|B| - (e(A,B) + e(B)) \ge |A|\cdot|B| - |A|\cdot|B| = 0

To znamená, že touto operací jsme jenom zvýšili počet hran. Konstrukce GG' navíc zaručuje, že pokud GG neobsahoval Kr+1K_{r+1}, pak jej neobsahuje ani GG'.

Tento proces můžeme opakovat a nakonec dostaneme Tr(n)T_r(n).

Průměrná délka cesty

Definice: (průměrná délka cesty) pro metriku d(u,v)d(u,v) na grafu GG definujeme průměrnou délku cesty v GG

L(G)=2n(n1){u,v}V,uvd(u,v)=1n(n1)u,vV,uvd(u,v) L(G) = \frac 2 {n(n-1)} \sum_{\{u,v\} \subseteq V, u\ne v} d(u,v) = \frac 1 {n(n-1)} \sum_{u,v \in V, u \ne v} d(u,v)

Definice: (hustota grafu) pro graf GG s n=V(G)n = |V(G)| a m=E(G)m = |E(G)| definujeme jeho hustotu jako

ρ(G)=m(n2) \rho(G) = \frac m {n \choose 2}

Určování small-world grafů

Definice: (ring-lattice) TODO

Definice: (Erdős-Renyi graf) Erdős-Renyi graf Gn,pG_{n,p} je náhodný graf konstruovaný následovně:

  1. Mějme vrcholy V={1,2,,n}V = \{1,2,\dots,n\}
  2. Pro každou dvojici různých vrcholů i,jV{i,j} \in V přidáme hranu ijij do EE s pravděpodobností pp

Místo toho abychom přímo požadovali po grafech specifické vlastnosti, použijeme Erdős-Renyi graf jako „referenční model:”

Definice: (small-world) graf GG je small-world, pokud L(G)L(RG)L(G) \gtrsim L(R_G) a C(G)C(RG)C(G) \gg C(R_G) pro referenční náhodný graf RGR_G.