mpsic_project_2_random_walks/matma2nowy.ipynb
2022-06-20 19:45:07 +02:00

4.8 KiB
Raw Blame History

Spacery losowe po grafach: algorytm wyszukiwania klastrów


Spacery losowe

Graf G = (V, E) składa się ze zbioru wierzchołków V oraz zbioru krawędzi E, gdzie E zbiorem nieuporządkowanych par wierzchołków:

$E ⊂\{(x, y) : x, y ∈ V, x ≠ y\} $

Je»eli (x, y) ∈ E, to wierzchołki x, y nazywamy sąsiadami i oznaczamy x y. Stopniem wierzchołka x ∈ V nazywamy liczbę jego sąsiadów i oznaczamy deg(x). Na danym grafie G = (V, E) definiujemy prosty spacer losowy. Jest to łańcuch Markowa na przestrzeni stanów V z macierzą przejścia

$P(x, y) = \frac{1}{deg(x)}$ jeżeli y x

$P(x, y) = 0$ w przeciwnym razie

Gdy łańcuch znajduje się w wierzchołku x, to wybiera losowo (jednostajnie) jednego z jego sąsiadów i przechodzi do niego.

Łancuch markova


Proces Markowa ciąg zdarzeń, w którym prawdopodobieństwo każdego zdarzenia zależy jedynie od wyniku poprzedniego. W ujęciu matematycznym, procesy Markowa to takie procesy stochastyczne, które spełniają własność Markowa.

$P(X_{n+1} = x|X_{n}=x_n,\ldots X_{1}=x_{1}) = P(X_{n+1}=x | X_{n}=x_n)$

Oznacza to, że zmienna w ciągu X n ''pamięta'' tylko swój stan z poprzedniego kroku i wyłącznie od niego zależy.

Podgrafy silnie ze sobą powiązane

Najprościej będzie to zaobserować na przykładzie:

Jak widać a powyższym obrazku silnie ze sobą powiążane podgrafy to po prostu podgrafy których wierzchołki posiadają między sobą znacznie więcej krawędzi niż z pozostałymi wierzchołkami grafu, trochę inaczej wygląd asytuacja z grafami skierowanymi, w przypadku grafów skierowanych, podgraf silnie powiązany to podgraf z którym z każdego wierzchołka można osiągnąć inny wierzchołek, jak na poniższym obrazku

Wierzchołki krytyczne rozspójniające graf

Graf spójny - graf w którym dowolne dwa wierzchołki łączy pewna ścieżka

Wierzchołkiem krytycznym powyższego grafu jest wierzchołek numer 4, usunięcie go spowoduje odłączenie wierzchołka numer 6 od reszty grafu.

Więc wierzchołek krytyczny to taki którego usunięcie sprawi że graf przestaje być grafem spójnym Niektóre grafy nie posiadają wierzchołków krytycznych są ta np

cykle:

grafy pełne:

Zastosowanie spacerów losowych w klastrowaniu grafów.


Spacery losowe na grafach nadają się do klastrowania ponieważ istnieje znacznie większeprawdopodobieństwo że poruszając się losowo zostaniemy w obrębie danego klastru. klastry są wewnątrz gęste a wyjścia z klastru są rzadkie. Do klastrowania można wykorzystać algorytm MCL(Markov Cluster Algorithm)

  1. Obliczamy dla każdej pary wezłów u i v prawdopodobieństwo rozpoczęcia od węzła u i zakończenia w węźle v po przejściu k kroków.
  2. Otrzymaną macierz normalizujemy do wartości z przedziału 0-1
  3. Mnożymy macierz k razy przez siebie
  4. Wzmacniamy obserwacje z punktu 3 stosując inflacje z parametrem r ma to wpływ na ziarnistość klastrów

  1. Kroki 3 i 4 powtarzamy do momeentu gdy sumy w kolumnach będą równe
  2. Z otrzymanej macierzy odczytujemy klastry np: {1}, {3}, {2,4}