4.8 KiB
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)
- 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.
- Otrzymaną macierz normalizujemy do wartości z przedziału 0-1
- Mnożymy macierz k razy przez siebie
- Wzmacniamy obserwacje z punktu 3 stosując inflacje z parametrem r ma to wpływ na ziarnistość klastrów
- Kroki 3 i 4 powtarzamy do momeentu gdy sumy w kolumnach będą równe
- Z otrzymanej macierzy odczytujemy klastry np: {1}, {3}, {2,4}