diff --git a/KMA DMA/Otázky ke zkoušce/14. Neorientované a orientované grafy (základní vlastnosti).md b/KMA DMA/Otázky ke zkoušce/14. Neorientované a orientované grafy (základní vlastnosti).md index 8c9c30c..28bcdbd 100644 --- a/KMA DMA/Otázky ke zkoušce/14. Neorientované a orientované grafy (základní vlastnosti).md +++ b/KMA DMA/Otázky ke zkoušce/14. Neorientované a orientované grafy (základní vlastnosti).md @@ -21,7 +21,9 @@ Mějme graf $G$, kde graf $H$ je - graf $G$ s odebranými vrcholy a všemi hranamy k nim připojeným ### Faktor grafu -**Faktor grafu** $G$ je libovolný jeho podgraf $H$, pro který platí, že množina vrcholů $V(G) = V(H)$ a množina hran $E(G) \subseteq E(H)$. Faktor $H$ je **vlastní**, je-li různý od grafu $G$. +**Faktor grafu** $G$ je libovolný jeho podgraf $F$, pro který platí, že množina vrcholů $V(G) = V(F)$ a množina hran $E(G) \subseteq E(F)$. Faktor $F$ je **vlastní**, je-li různý od grafu $G$. + +Řekneme, že faktor $F$ je **sudý**, má-li v něm každý vrchol sudý stupeň. ### Rovnost grafů $G_{1} = G_{2}$ diff --git a/KMA DMA/Otázky ke zkoušce/15. Stromy.md b/KMA DMA/Otázky ke zkoušce/15. Stromy.md index 3c32559..3e7d960 100644 --- a/KMA DMA/Otázky ke zkoušce/15. Stromy.md +++ b/KMA DMA/Otázky ke zkoušce/15. Stromy.md @@ -22,4 +22,6 @@ faktor (podgraf jiný, než je graf $G$). Faktor grafu $G$ (podgraf se stejnými vrcholy ale s odebranými stranami), který je stromem, se nazývá **kostra grafu** $G$. **Věta**: Každý souvislý graf má alespoň jednu kostru. -- najdu kružnici - odstraním hranu - opakuji (reverzní mazací algoritmus) \ No newline at end of file +- najdu kružnici - odstraním hranu - opakuji (reverzní mazací algoritmus) + +Zjištění počtu koster grafu ve 21. otázce. \ No newline at end of file diff --git a/KMA DMA/Otázky ke zkoušce/18. Eulerovské grafy.md b/KMA DMA/Otázky ke zkoušce/18. Eulerovské grafy.md index 114a348..de94b72 100644 --- a/KMA DMA/Otázky ke zkoušce/18. Eulerovské grafy.md +++ b/KMA DMA/Otázky ke zkoušce/18. Eulerovské grafy.md @@ -1,6 +1,6 @@ # Eulerovské grafy -Tah z $u$ do $v$ v grafu $G$ je sled $(u = v_{0}, v_{1}, \dots, v_{k} = v)$, ve kterém se **mohou opakovat vrcholy**, ale **hrany** $v_{i−1}v_i$ **jsou** pro různá $i$ **různé**. +Tah z $u$ do $v$ v grafu $G$ je sled $(u = v_{0}, v_{1}, \dots, v_{k} = v)$, ve kterém se **mohou opakovat vrcholy**, ale **hrany** $v_{i-1}v_i$ **jsou** pro různá $i$ **různé**. - Tahem nazveme sled, ve kterém se neopakují hrany. **Uzavřený tah** je tah, který je uzavřeným sledem (začíná a končí stejným vrcholem). diff --git a/KMA DMA/Otázky ke zkoušce/19. Prostor kružnic neorientovaného grafu.md b/KMA DMA/Otázky ke zkoušce/19. Prostor kružnic neorientovaného grafu.md index 7d0ab75..5083d15 100644 --- a/KMA DMA/Otázky ke zkoušce/19. Prostor kružnic neorientovaného grafu.md +++ b/KMA DMA/Otázky ke zkoušce/19. Prostor kružnic neorientovaného grafu.md @@ -5,3 +5,26 @@ **Uzavřený tah** v grafu $G$ je tah $(v_{0}, \dots, v_{k})$, ve kterém platí $v_{0}= v_{k}$. **Kružnice** v grafu $G$ je uzavřený sled délky alespoň 3, ve kterém se vrchol $v_{0}$ objevuje právě dvakrát a každý ostatní vrchol grafu nejvýše jednou. Číslo $k$ je délka dané kružnice. + +# Prostor kružnic grafu + +- $G = (V, E), \vert E\vert = m$ +- každému faktoru grafu $G$ lze přiložit charakteristický vektor $x \in \mathbb{Z}^m_{2}$ + +**Věta**: Množina sudých faktorů (jejich char. vektorů) tvoří lineární podprostor vektorového prostoru $\mathbb{Z}^m_{2}$. + +**Prostor kružnic** $\mathcal C(G)$ neorientovaného grafu $G$ je lineární prostor sudých faktorů (charakteristických vektorů). + +- ? báze, dimenze $\mathcal C(G)$, počet prvků $\mathcal C(G)$ (počet sudých faktorů) + +Konstrukce báze $\mathcal C(G)$ +1) kostra grafu G ... T (lib. ale pevná) +2) systém fundamentálních kružnic + - pro každou hranu e grafu G, která není na T vezmeme kružnici v T + e - fundamentální kružnice příslušného e vzhledem ke kostře T + - počet fund. kružnic $= m-n+1$ +3) $\dim(\mathcal C(G)) = m-n+1$ (G souvislý) + +Věta: fundamentální kružnice tvoří bázi $\mathcal C(G)$ +- $\dim(\mathcal C(G)) = m-n+1$ (G souvislý) +- počet prvků $\mathcal C(G)$ = počet sudých faktorů G = počet podmnožin fundamentálních kružnic = $2^{m-n+1}$ + diff --git a/KMA DMA/Otázky ke zkoušce/20. Incidenční matice grafu, totální unimodularita.md b/KMA DMA/Otázky ke zkoušce/20. Incidenční matice grafu, totální unimodularita.md index 66cef99..75f5fe8 100644 --- a/KMA DMA/Otázky ke zkoušce/20. Incidenční matice grafu, totální unimodularita.md +++ b/KMA DMA/Otázky ke zkoušce/20. Incidenční matice grafu, totální unimodularita.md @@ -8,6 +8,8 @@ $m_{i,j} = \begin{cases} 1, & \text{jestliže } v_{i} \in e_{j}, \\ 0 & \text{ji se nazývá **vrcholově-hranová incidenční matice** grafu $G$. +**Poznámka**: S incidenční maticí neorientovaného grafu je potřeba pracovat nad tělesem $\mathbb{Z}_{2}$. + ## Pro orientovaný graf **Definice**: Nechť $\vec{G}$ je **orientovaný graf** s vrcholy $V = \{v_{1}, \dots, v_{n}\}$ a hranami $E = \{e_{1}, \dots, e_{m}\}$. Předpokládáme, že graf $\vec{G}$ **neobsahuje smyčky** (hrany $x, x$). Matice $M(\vec{G})$ typu $n/m$ definovaná předpisem @@ -15,7 +17,7 @@ se nazývá **vrcholově-hranová incidenční matice** grafu $G$. $m_{i,j} = \begin{cases} 1 & \text{pokud hrana } e_{j} \text{ začíná ve vrcholu } v_{i}\\-1 & \text{pokud hrana } e_{j} \text{ končí ve vrcholu } v_{i}\\0 & \text{jinak (} e_{j} \text{ nekoliduje s } v_{i}\text{)} \end{cases}$ se nazývá **vrcholově-hranová incidenční matice** orientovaného grafu $\vec{G}$. -- n-tý řádek je n-tý vrchol a jednotlivé sloupce určují začátek ($+1$) nebo konec ($-1$) hrany v tomto vrcholu +- i-tý řádek je i-tý vrchol a j-tý sloupec určuje začátek ($+1$) nebo konec ($-1$) j-té hrany v i-tém vrcholu ### Vlastnosti diff --git a/KMA DMA/Otázky ke zkoušce/21. Laplaceova matice a počítání koster.md b/KMA DMA/Otázky ke zkoušce/21. Laplaceova matice a počítání koster.md new file mode 100644 index 0000000..d077178 --- /dev/null +++ b/KMA DMA/Otázky ke zkoušce/21. Laplaceova matice a počítání koster.md @@ -0,0 +1,24 @@ +# Počet koster + +**Cauchy-Binetova věta**: Nechť $B$ je matice o rozměrech $r\times s$, kde $r \leq s$. Potom platí, že + +- $\displaystyle\det(B\cdot B^T) = \sum_{I} (\det B_{I})^2,$ + +kde $I$ probíhá všechny $r$-prvkové množiny sloupců a $B_I$ je čtvercová podmatice matice $B$, určená sloupci z množiny $I$. + +**Věta**: Nechť $\vec{G}$ je slabě souvislý orientovaný graf bez smyček a $A = M_{R}(\vec{G})$. Potom **počet koster** grafu $\vec{G}$ **je roven determinantu** matice $A \cdot A^T$. + +# Laplaceova matice + +Nechť $G$ je neorientovaný graf s vrcholy $V = \{v_{1}, \dots, v_{n}\}$ a $\vec{G}$ nějaké jeho orientace bez smyček a násobných hran. Dále položme +- $L = M(\vec{G}) \cdot (M(\vec{G}))^T \quad$ (tzv. **Laplaceova matice** grafu $G$). + +Potom pro prvky čtvercové matice $L = (l_{ij})$ řádu $n$ platí: + +$l_{ij} = \begin{cases} \text{d}(v_{i}) & \text{pokud } i=j, \\ -1 & \text{pokud } v_{i}v_{j} \in E(G), \\ 0 & \text{jinak.} \end{cases}$ + +Navíc platí, že matici $L' = M_{R}(\vec{G}) \cdot (M_{R}(\vec{G}))^T$ získáme vypuštěním posledního řádku a sloupce z matice $L$. + +Kolik koster má úplný graf na $n$ vrcholech? +- Úplný graf na $n \geq 2$ vrcholech má $n^{n-2}$ různých koster. + diff --git a/KMA DMA/Otázky ke zkoušce/23. Vzdálenost a vážená vzdálenost v grafech, metrika.md b/KMA DMA/Otázky ke zkoušce/23. Vzdálenost a vážená vzdálenost v grafech, metrika.md index 391b2c9..b87de3f 100644 --- a/KMA DMA/Otázky ke zkoušce/23. Vzdálenost a vážená vzdálenost v grafech, metrika.md +++ b/KMA DMA/Otázky ke zkoušce/23. Vzdálenost a vážená vzdálenost v grafech, metrika.md @@ -79,4 +79,5 @@ Mějme orientovaný graf $\vec{G}$ s vrcholy $v_{1}, \dots, v_{n}$. Potom matici **Tvrzení**: Nechť $G$ je neorietovaný graf. Potom pro každé $x, y, z \in V(G)$ platé 1) $d^w(x, y) \geq 0, \quad d^w(x, y) = 0 \iff x = y,$ 2) $d^w(x, y) = d^w(y, x),$ -3) $d^w(x, z) \leq d^w(x, y) + d^w(y, z).$ \ No newline at end of file +3) $d^w(x, z) \leq d^w(x, y) + d^w(y, z).$ +- tj. $\text{d}^w$ je metrika na $G$ \ No newline at end of file diff --git a/KMA DMA/Otázky ke zkoušce/25. Úloha minimální kostry.md b/KMA DMA/Otázky ke zkoušce/25. Úloha minimální kostry.md new file mode 100644 index 0000000..143f0d1 --- /dev/null +++ b/KMA DMA/Otázky ke zkoušce/25. Úloha minimální kostry.md @@ -0,0 +1,30 @@ +# Úloha minimální kostry + +Nechť $G$ je souvislý ohodnocený neorientovaný graf a nechť $T$ je kostra grafu $G$. Potom číslo + +$\displaystyle w(T) = \sum_{e \in E(T)} w(e)$ + +nazveme **vahou kostry $T$ v grafu $G$**. Kostru $T'$ takovou, že $w(T') = \min\{ w(T); T \text{ je kostra } G \}$, nazveme **minimální kostrou grafu $G$**. + +**Algoritmus** na hledání minimální kostry - **O. Borůvka**. + +- Vstup: souvislý ohodnocený neorientovaný graf. +1. $F$ je faktor grafu $G$ s $E(F) = \emptyset$ (nemá žádné hrany). +2. Existuje hrana $e \in E(G) - E(F)$ taková, že faktor $F' = (V(G), E(F) \cup \{e\})$ neobsahuje kružnici? + - Pokud ne - KONEC, pokud ano, pokračuj na 3. +3. Ze všech takových hran vyber hranu $e'$ s minimální váhou a polož $F = (V(G), E(F) \cup \{e'\})$ a jdi na 2. + +**Věta**: Nechť $G$ je souvislý ohodnocený neorientovaný graf. Potom faktor $F$ nalezený předchozím algoritmem je minimální kostra grafu $G$. + +**Algoritmus** na hledání minimální kostry - **V. Jarník**. + +- Vstup: souvislý ohodnocený neorientovaný graf. +1. Zvolme libovolný vrchol $x \in V(G)$, položme $i := 1$ a $G_{1} = (\{x\}, \emptyset)$. +2. Je $V(G_{i}) = V(G)$? + - ANO - $G_{i}$ je minimální kostrou grafu $G$, konec + - NE - zvolme hranu $e_{i}$ s nejmenší vahou takovou, že má jeden konec v $G_{i}$ a druhý $x_{i}$ mimo $G_{i}$ (ze souvislosti grafu $G$ taková hrana existuje), krok 3 +3. Označme $G_{i+1}$ graf vzniklý z grafu $G_{i}$ přidáním hrany $e_{i}$ včetně jejího koncového vrcholu $x_{i}$ + - $V(G_{i+1}) = V(G_{i} \cup \{x_{i}\}), \quad E(G_{i+1}) = E(G_{i}) \cup \{h_{i}\}$ + - krok 2 + +TODO: kritická cesta \ No newline at end of file diff --git a/KMA DMA/Otázky ke zkoušce/26. Úloha minimální cesty.md b/KMA DMA/Otázky ke zkoušce/26. Úloha minimální cesty.md new file mode 100644 index 0000000..19c2b64 --- /dev/null +++ b/KMA DMA/Otázky ke zkoušce/26. Úloha minimální cesty.md @@ -0,0 +1,11 @@ +# Úloha minimální cesty + +**Algoritmus**: Minimální cesta z vrcholu $x$ do vrcholu $y$ - **E. W. Dijkstra**. + +- Vstup: ohodnocený orientovaný graf $\vec{G}$, vrcholy $x$ a $y$. +1. Vrcholu $x$ přiřaď trvalou hodnotu $t(x) = 0$, ostatním vrcholům dočasnou hodnotu $\infty$ - horní hranice délky. +2. Je-li $u$ poslední vrchol. jemuž byla přiřazena trvalá hodnota $t(u)$, pak všem vrcholům $v$, pro něž $(u, v) \in E(\vec{G})$ a které ještě nemají trvalou hodnotu, přiřaď novou dočasnou hodnotu $d(v) = min\{ d(v), t(u) + w(u, v) \}$ +3. Pro vrchol $w$ s nejmenší dočasnou hodnotou polož $t(w) = d(w)$. +4. Má vrchol $y$ trvalou hodnotu? Pokud ne, jdi na krok 2. Pokud ano, $t(y)$ je délka minimální cesty z $x$ do $y$, konec. + +**Poznámka**: Hrany, na nichž $w(x, y) = t(y) - t(x)$ určují minimální cestu. \ No newline at end of file