second update

This commit is contained in:
AdamOsiowy123 2022-06-21 15:31:06 +02:00
parent 72da71900e
commit 3e62ecc3e8
5 changed files with 71 additions and 5 deletions

BIN
images/adjacency.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
images/adjacency_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
images/graf_skierowany.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
images/klastry.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

View File

@ -18,14 +18,21 @@
"\n",
"#### Przykład jednowymiarowego spaceru losowego zaczynającego się w punkcie 0, po osi liczb całkowitych:\n",
"![r_w_1d_1](./images/random_walk_1d_1.png)\n",
"\n",
"Obiekt w każdym kroku może poruszać się z równym prawdopodobieństwem w dwóch kierunkach: lewo lub prawo.\n",
"W pierwszym kroku prawdopodobieństwo że obiekt znajdzie się w pozycji -1 lub 1 wynosi 1/2.\n",
"\n",
"![r_w_1d_2](./images/random_walk_1d_2.png)\n",
"\n",
"W drugim kroku obiekt może znaleźć się na pozycjach -2, 0 i 2. Prawdopodobieństwo że obiekt znajdzie się w położeniu -2 lub 2 jest równe i wynosi 1/4,\n",
"do punktu 0 obiekt może dotrzeć z punktów -1 i 1 to znaczy że prawdopowdopodobieństwa należy zsumować i wtedy 1/4 + 1/4 = 1/2.\n",
"\n",
"![r_w_1d_3](./images/random_walk_1d_3.png)\n",
"\n",
"W trzecim kroku obiekt może znaleźć się w pozycjach -3, -1, 1, 3. Prawdopodobieństwo że obiekt znajdzie się w pozycji 3 lub -3 jest równe 3/8, a pozycjach 1 lub -1 jest równe 1/8.\n",
"\n",
"![r_w_1d_4](./images/random_walk_1d_4.png)\n",
"\n",
"Łatwo zauważyć, że gdy liczba wykonanych kroków jest nieparzysta, to wszystkich możliwych pozycji w jakich może znależć się obiekt również jest nieparzysta liczba. Podobnie w przypadku parzystej liczby wykonanych kroków, ilość możliwych pozycji jest parzysta.\n",
"\n",
"#### Dwuwymiarowy spacer losowy\n",
@ -79,7 +86,69 @@
{
"cell_type": "markdown",
"source": [
"### Klastry\n"
"### Spacer losowy po grafie\n",
"\n",
"Spacer losowy po grafie skierowanym lub nieskierowanym G jest losową sekwencją wierzchołków v1, v2, . . . . , vk takich, że v<sub>i</sub>, v<sub>i+1</sub> jest krawędzią w G.\n",
"\n",
"Zakładamy, że A jest macierzą sąsiedztwa grafu G oraz że v<sub>i</sub> jest wierzchołkiem.\n",
"\n",
"Macierz sąsiedztwa to macierz definiowana:\n",
"A = (a<sub>i,j</sub>) gdzie a<sub>i,j</sub> = { 1 jeśli (v<sub>i</sub>, v<sub>j</sub>) jest krawędzią w grafie G lub 0 w przeciwnym przypadku }\n",
"\n",
"Liczba spacerów o długości k, które zaczynają się w v<sub>i</sub> i kończą w v<sub>j</sub>, jest dana przez element z i-tego wiersza i j-tej kolumny w A<sup>k</sup>. W szczególności całkowita\n",
"liczba spacerów o długości k, które zaczynają się w punkcie v<sub>i</sub>, jest sumą i-tego wiersza macierzy A<sup>k</sup>, tzn. jeśli A<sup>k</sup> = (b<sub>i,j</sub>), to liczba ta wynosi\n",
"b<sub>i,1</sub> + b<sub>i,2</sub> + ... + b<sub>i,m</sub>. Podobnie, całkowita liczba spacerów o długości k, które kończą się w v<sub>j</sub>, jest sumą j-tej kolumny macierzy A<sup>k</sup>.\n",
"\n",
"**Twierdzenie**:\n",
"\n",
"Jeśli A jest macierzą sąsiedztwa grafu lub digrafu G o wierzchołkach {v1, ... . . vn}, to pozycja i, j\n",
"w A<sup>k</sup> jest liczbą przejść o długości k od v<sub>i</sub> do v<sub>j</sub>.\n",
"\n",
"**Dowód na podstawie k**:\n",
"\n",
"Widać, że przypadek, gdy k = 1, jest prawdziwy.\n",
"\n",
"Załóżmy zatem, że wynik jest prawdziwy dla dowolnego k > 1. Rozważmy dowolny spacer o długości k + 1 od v<sub>i</sub>\n",
"do v<sub>j</sub> . Wówczas na tym przejściu musi istnieć wierzchołek v<sub>l</sub> taki, że v<sub>l</sub> jest sąsiadujący z v<sub>j</sub>. Jeśli usuniemy v<sub>j</sub> z tej ścieżki,\n",
"to pozostała droga jest drogą o długości k od v<sub>i</sub> do v<sub>l</sub>. Liczba takich spacerów jest określona przez element (i,j) w macierzy A<sup>k</sup>. Teraz każdemu takiemu wierzcholkowi v<sub>l</sub> odpowiada 1 na pozycji (l, j) w macierzy A. Wynik ten wynika z rozważenia elementu (i, j) w macierzy A<sup>k+1</sup> = A<sup>k</sup>A.\n",
"\n",
"Przykład:\n",
"\n",
"![graf_skierowany](./images/graf_skierowany.png)\n",
"\n",
"Macierz sąsiedztwa dla tego grafu:\n",
"\n",
"![macierz1](./images/adjacency.png)\n",
"\n",
"Macierz sąsiedztwa podniesiona do szóstej potęgi:\n",
"\n",
"![macierz2](./images/adjacency_6.png)\n",
"\n",
"Liczba spacerów o długości 6 jest równa sumie wszystkich elementów macierzy A<sup>6</sup>, czyli 122. Spośród nich liczba tych, które kończą się\n",
"w v<sub>4</sub> jest równa sumie pozycji z kolumny 4 w A<sup>6</sup>, czyli 19. Zatem prawdopodobieństwo, że spacer losowy o długości 6 zakończy się w punkcie\n",
"v<sub>4</sub> jest równe 19/122.\n",
"\n",
"Liczba spacerów długości 6, które zaczynają się w punkcie v<sub>1</sub>, jest równa sumie wartości pierwszego wiersza A6, czyli 15. Spośród spacerów\n",
"długości 6, które zaczynają się w punkcie v<sub>1</sub>, są 4, które kończą się w punkcie v<sub>5</sub>. Zatem prawdopodobieństwo, że spacer losowy o długości 6\n",
"zaczynający się w punkcie v<sub>1</sub>, zakończy się w punkcie v<sub>5</sub>, wynosi 4/15."
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"### Klastrowanie grafów\n",
"\n",
"Klastrowanie jest klasycznym zadaniem eksploracji danych, polegającym na organizowaniu danych wejściowych w grupy (klastry) w taki sposób, że punkty danych w obrębie grupy są bardziej podobne do siebie niż poza nią. Zadanie to różni się od klasyfikacji nadzorowanej, w której przykłady różnych klas są znane a priori i są wykorzystywane do trenowania modelu obliczeniowego w celu przypisania innych obiektów do znanych grup. Celem klasteryzacji jest natomiast znalezienie naturalnych, wewnętrznych podklas w danych, bez zakładania a priori liczby lub rodzaju klastrów.\n",
"\n",
"W przypadku grafów, klastrowanie to proces grupowania węzłów grafu w klastry, uwzględniający strukturę krawędziową grafu w taki sposób, aby w każdym klastrze występowało kilka krawędzi, a niewiele pomiędzy klastrami. Klastrowanie grafu ma na celu podzielenie węzłów grafu na rozłączne grupy.\n",
"\n",
"![klastry](./images/klastry.png)"
],
"metadata": {
"collapsed": false,
@ -118,10 +187,7 @@
"\n",
"$P(X_{n+1} = x|X_{n}=x_n,\\ldots X_{1}=x_{1}) = P(X_{n+1}=x | X_{n}=x_n)$\n",
"\n",
"Oznacza to, że zmienna w ciągu \n",
"X\n",
"n\n",
" ''pamięta'' tylko swój stan z poprzedniego kroku i wyłącznie od niego zależy."
"Oznacza to, że zmienna w ciągu (X<sub>n</sub>) ''pamięta'' tylko swój stan z poprzedniego kroku i wyłącznie od niego zależy."
]
},
{