Algebra grafów dr hab. Piotr Fronczak
Własności macierzy sąsiedztwa A A i = 1 eżeli istniee krawędź pomiędzy węzłami i oraz W ogólności A i = w, w R, oraz A i A i (grafy ważone i skierowane) Poniże rozważamy grafy proste k i = n =1 A i stopień węzła A ik A k = 1, eżeli istniee droga o długości 2 od węzła i do węzła przez k N i (2) = N i (3) = n k=1 n k,l=1 Aik A k = A 2 i Aik A kl A l = A 3 i N i (r) = A r i L r = n i=1 A r ii liczymy osobno) = Tr A r (pętle, które liczymy od innego punktu początkowego, Nakrótsza droga: namniesza wartość r taka, że A r i > 0. 2
Laplasan grafu L Dyfuza Niech i - wartość pewne wielkości w węźle i. C( - i ) tempo przepływu wielkości z węzła do i współczynnik dyfuzi W ciągu czasu dt przepływa C( - i )dt. dψ i dt = C A i(ψ ψ i ) Równanie dyfuzi dψ i dt = C A i ψ C ψ i A i = C A i ψ C ψ i k i = C (A i δ i k i )ψ W postaci macierzowe: dψ dt = C(A D)ψ macierz wektor D = k 1 0 0 0 k 2 0 0 0 k 3
dψ dt = C(A D)ψ L = D A laplasan grafu Rozwiązuąc równanie: dψ dt + CLψ = 0 ψ(t) = II prawo Ficka dn(x, t) CΔn x, t = 0 dt i a i t v i - liniowa kombinaca wektorów własnych dψ dt = i da i dt v i oraz CLψ = Ca i t Lv i = Cλ i a i t v i i i bo Lv i = λ i v i i da i dt + Cλ ia i t v i = 0 Wektory własne macierzy symetryczne są ortogonalne, zatem da i dt + Cλ ia i t = 0, dla każdego i. a i t = a i 0 e Cλ i t Czyli, maąc dane warunki początkowe a i (0) oraz wartości i wektory własne laplasanu, możemy rozwiązać zagadnienie dyfuzi na sieci.
Laplasan est macierzą symetryczną, więc ma rzeczywiste wartości własne Można pokazać, że i 0 dla każdego i. a i t = a i 0 e Cλ i t Rozważmy iloczyn L 1 L i 1 = δ i k i A i = k i A i = k i k i = 0 L 1 = 0 1 Zatem, eśli 1 2 n, to 1 = 0. Wyznacznik macierzy est iloczynem wartości własnych, zatem laplasan to macierz osobliwa.
Stwórzmy sieć złożoną z k komponentów. Każdy z komponentów ma własny laplasan. Zatem mamy macierz blokową 0 0 Możemy napisać k różnych wektorów własnych z = 0, np: v 1 = (,, ) v k = (,, ) komponent nr 1 komponent nr k komponent nr 1 komponent nr k Zatem mamy k wartości własnych = 0. Sieć est spóna tylko, gdy 2 0 2 spóność algebraiczna.
Podział spektralny grafu Cel: podzielić węzły w sieci na dwie rozłączne grupy X i Y 1 2 4 5 3 6 Jak podzielić dobrze? Minimalizumy liczbę połączeń między klastrami cut X, Y = 1 A 2 i X, X i Przykład: arg min X,Y cut(x, Y) cięcie optymalne cięcie minimalne
Cięcie normalizowane: ncut X, Y = cut(x,y) vol(x) + cut(x,y) vol(y) vol X = A i i X (liczba krawędzi rozpoczynaących się w grupie X) cięcie optymalne cięcie minimalne ncut X, Y = 1 33 + 1 1 ncut X, Y = 2 16 + 2 18
Zdefiniumy wektor s taki, że s i = +1 eżeli węzeł i należy do grupy 1 1 eżeli węzeł i należy do grupy 2 Wtedy 1 2 1 s is = 1 eżeli i oraz są w różnych grupach 0 eżeli i oraz są w te same grupie cut X, Y = 1 2 A i i X, X = 1 4 i A i (1 s i s ) i A i = i k i = i k i s i2 = i k i δ i s i s cut X, Y = 1 4 k i δ i A i s i s i = 1 4 i L i s i s = 1 4 st Ls Czyli znalezienie nalepszego cięcia = znalezienie wektora s, który minimalizue powyższe wyrażenie. Problem NP-trudny. Metoda relaksaci: s i = ±1 s i R By zapobiec trywialnemu rozwiązaniu s = 0, wprowadzamy dodatkowy wiąz i s i2 = n
Drugi wiąz: chcemy, by grupy były zbalansowane: i s i = ε, ε 0, 1 T s = ε, (1 wektor ednostkowy L 1 = 0) Metoda mnożników Lagrange a L s k s s k + λ n s 2 i k + 2μ ε s = 0 L i s = λs i + μ L s = λs + μ1 Mnożymy lewostronnie przez 1 T 1 T L s = λ1 T s + μ1 T 1, czyli μ = 0 0 0 L s = λs czyli s est wektorem własnym a λ wartością własną L
cut X, Y = 1 4 st Ls = 1 4 λst s Nalepsze cięcie da wektor s z namnieszą wartością własną λ λ 1 =0 odpada, bo wtedy s=1 Zatem wybieramy λ 2. Wektor s wektor Fiedlera Algorytm 1 3 2 4 6 5 1. Konstruuemy laplasan L grafu x 1 x 2 x 3 x 4 x 5 x 6 2. Znaduemy wartości i wektory własne L 0 1 1 1 1 1 1 1-2 -1-1 1 2 1 3 = V = 3 4 5 1-1 0-1 1 0 0-1 1-1 0 1 1-1 -1 1-1 1 0 1-1 -1 0 1 x 1 2-1 -1 0 0 0 x 2-1 3-1 -1 0 0 x 3-1 -1 3 0 0-1 x 4 0-1 0 3-1 -1 x 5 0 0 0-1 2-1 x 6 0 0-1 -1-1 3 3. Przypisuemy węzłom odpowiednie elementy wektora v 2 4. Dzielimy węzły na dwie grupy. Punkt podziału: 0, średnia, mediana. Możemy też wybrać punkt podziału minimalizuąc cięcie (przeszukiwanie ednowymiarowe). x 1-2 x 2-1 x 3-1 x 4 1 x 5 2 x 6 1
Jak podzielić graf na k grup? a) rekurencyna bisekca nieefektywna O(n 3 ), niestabilna b) wykorzystanie wielu wektorów własnych do stworzenia przestrzeni rozpinaące Algorytm 1. Konstruuemy laplasan L grafu. 2. Znaduemy k namnieszych niezerowych wartości własnych i odpowiadaących im wektorów. 3. Jak wybrać k? k = λ k+1 λ k - eigengap (przerwa własna?) k: max k Δ k 12 10 8 i 6 4 2 0 k=3 0 5 10 15 20 i
Algorytm c.d. 3. Tworzymy macierz n k zbudowaną z k wektorów własnych: u 1 (x 1 ) u 1 (x n ) U = u k (x 1 ) u k (x n ) 4. Każda kolumna i reprezentue współrzędne węzła x i w nowe przestrzeni. 5. Wykorzystuemy edną z metod grupowania danych, np. K-średnich.
Algorytm K-średnich 1. Wybierz K punktów ako początkowe centroidy 2. REPEAT 3. Utwórz K grup przypisuąc wszystkie punkty nabliższym centroidom. 4. Przelicz położenie centroidów dla każde grupy 5. UNTIL położenia centroidów nie zmieniaą się Przykład iteraca 0 iteraca 1 iteraca 2 iteraca 3 iteraca 4
DYGRESJA Metodę K-średnich i podobne inne metody można użyć do grupowania dowolnych danych (nie tylko węzłów w grafach) w oparciu o podobieństwa względem różnych cech. Nie zawsze to działa: Aby zadziałało, tworzymy sieć K-sąsiedztwa Dane Sieć K-sąsiedztwa Laplasan Spektrum Grupowanie
MODULARNOŚĆ Miara akości podziału Q Q = 1 m (# krawędzi w grupie i i oczekiwana # krawędzi w grupie i w grafie losowym o te same sekwenci stopni) Trywialny podział: wszystkie węzły w edne grupie Q = 0 Jeżeli c i grupa węzła i # = δ c i, c = 1 2 A i δ c i, c krawędzie i, i # = 1 2 i k i k 2m δ c i, c Q = 1 2m i A i k ik 2m δ c i, c = 1 2m i B i δ c i, c B i = A i k ik 2m macierz modularności
Własność macierzy B: B i = A i k i 2m k = k i k i 2m 2m = 0 Zdefiniumy wektor s taki, że s i = +1 eżeli węzeł i należy do grupy 1 1 eżeli węzeł i należy do grupy 2 Wtedy 1 2 s is + 1 = 1 eżeli i oraz są w te same grupie 0 eżeli i oraz są w różnych grupach δ c i, c = 1 2 s is + 1 Q = 1 2m i B i δ c i, c = 1 4m i B i s i s + 1 = 1 4m i B i s i s = 1 4m st Bs Przypomnienie: cut X, Y = 1 4 st Ls Działamy podobnie ale odwrotnie: szukamy podziału, który maksymalizue Q
Wprowadzamy tylko eden wiąz (grupy mogą być teraz różnoliczne) Równanie Lagrange a s T s = i s i2 = n B s k s s k + β n s 2 i k = 0 B i s B s = βs = βs i Q = 1 4m st Bs = 1 4m βst s = n 4m β Zatem szukamy wektora własnego o nawiększe wartości własne Przypomnienie z Metod Numerycznych: szybka Metoda Potęgowa znadowania nawiększe wartości własne i związanego z nią wektora własnego.
Podział na więce niż dwie grupy Problem NP. Wiele metod heurystycznych: wyżarzanie, algorytmy genetyczne Greedy algorithm : Początkowo umieszczamy każdy węzeł w inne grupie 1 2 4 5 3 6 Następnie sprawdzamy, połączenie których dwóch grup da nawiększy wzrost (lub namnieszy spadek) modularności
1 3 2 6 4 5 Q = 0 1 3 2 6 4 5 Q = 0.078 Q = 0.156 1 3 2 6 4 5 Q = 0.289 1 3 2 6 4 5 1 3 2 6 4 5 Q = 0.422 1 3 2 6 4 5 Q = 0.172 Q max
BŁĄDZENIE PRZYPADKOWE PO SIECI p i (t) prawdopodobieństwo, że cząstka (pakiet, osobnik) znadue się w węźle i w chwili t. Jeśli w chwili t-1 cząstka est w węźle, to p i t p i t A i = p k (t 1) p t = AD 1 p(t 1) Rozkład graniczny dla t p = AD 1 p I AD 1 p = D A D 1 p = LD 1 p = 0 D 1 p wektor własny laplasanu o wartości własne 0. Pamiętamy, że v 1 = α1, zatem p = αd1 oraz p i = αk i. Po unormowaniu p i = k i k = k i 2m = A i k p (t 1) D macierz diagonalna stopni węzłów
BŁĄDZENIE PRZYPADKOWE PO SIECI p i (t) prawdopodobieństwo, że cząstka (pakiet, osobnik) znadue się w węźle i w chwili t. Jeśli w chwili t-1 cząstka est w węźle, to p i t p i t A i = p k (t 1) p t = AD 1 p(t 1) Rozkład graniczny dla t p = AD 1 p I AD 1 p = D A D 1 p = LD 1 p = 0 D 1 p wektor własny laplasanu o wartości własne 0. Pamiętamy, że v 1 = α1, zatem p = αd1 oraz p i = αk i. Po unormowaniu p i = k i = k k 2m = A i k p (t 1) D macierz diagonalna stopni węzłów
Można pokazać, że dla błądzenia z preferencą k Zatem dla = -1 p i ~k i β+1
Można pokazać, że dla błądzenia z preferencą k Zatem dla = -1 p i ~k i β+1
SIECI REZYSTOROWE Prawo Kirchhoffa W naszym przypadku I i = A i V V i R +I I 0 + I i = 0 dla i = s dla i = t dla i s t Prąd dopływaący z zewnątrz s I t V i A i A i V = RI i k i V i A i V = RI i δ i k i A i L V = RI V = RI i L = D A
L V = RI Pamiętamy, że L macierz osobliwa, więc nie możemy znaleźć wektora V z powyższego równania. Napięcia są ustalone z dokładnością do stałe: L ( V + c1 ) = LV + cl1 = LV = RI Ustalmy potencał odniesienia. Możemy teraz usunąć kolumnę t z laplasanu (bo i tak mnożymy przez 0). A także wiersz t, bo znamy V t. Nowe równanie: L V = RI I teraz: V = RL 1 I bo L macierz nieosobliwa Tylko eden element niezerowy s I t V t =0
Przykład: Model grawitacyny w sieciach dystrybucynych i = G Q iq r i α Produkt kraowy brutto Wielkość przepływu odległość między kraami
log(observed flow) log(observed flow) Sieć połączeń lotniczych między kraami L V = RI L admit V = I macierz admitanci węzłowe L admit = S F diagonalna macierz sił węzłów I ab = 0 Q a Q b 0 ważona ilością pasażerów macierz sąsiedztwa (na podst. modelu graw.) F i = G Q iq r i α log(predicted flow) log(predicted flow)