diff --git a/KMA DMA/Příklady/00. Písemná část.md b/KMA DMA/Příklady/00. Písemná část.md index 24df36d..b54bfbb 100644 --- a/KMA DMA/Příklady/00. Písemná část.md +++ b/KMA DMA/Příklady/00. Písemná část.md @@ -2,16 +2,16 @@ 4 úlohy z témat + 4 definice nebo znění vět (90 minut). (Z pojmové části je nutné získat alespoň jeden bod.) -Homogenní rekurentní rovnice (stanovení řešení) +**Homogenní rekurentní rovnice** (stanovení řešení) -Modulární počítání (hodnost matice, soustava rovnic, Eukleidův algoritmus, stanovení inverzního prvku) +**Modulární počítání** (hodnost matice, soustava rovnic, Eukleidův algoritmus, stanovení inverzního prvku) -Relace (vlastnosti, reflexívně-tranzitivní uzávěr) +**Relace** (vlastnosti, reflexívně-tranzitivní uzávěr) -Uspořádání, svazy, Booleovy algebry (suprema, infima, distributivita, komplementarita, Hasseův diagram) +**Uspořádání, svazy, Booleovy algebry** (suprema, infima, distributivita, komplementarita, Hasseův diagram) -Počet koster grafu (Laplaceova matice, incidenční matice orientace grafu) +**Počet koster grafu** (Laplaceova matice, incidenční matice orientace grafu) -Booleovské funkce (ÚDNF, ÚKNF, Quineho-McCluskeyho algoritmus) +**Booleovské funkce** (ÚDNF, ÚKNF, Quineho-McCluskeyho algoritmus) -(Vážená) vzdálenost v grafech (mocninná metoda, Dijkstrův algoritmus, Floydův-Warshallův algoritmus) \ No newline at end of file +**(Vážená) vzdálenost v grafech** (mocninná metoda, Dijkstrův algoritmus, Floydův-Warshallův algoritmus) \ No newline at end of file diff --git a/KMA DMA/Příklady/01. Homogenní rekurentní rovnice.md b/KMA DMA/Příklady/01. Homogenní rekurentní rovnice.md new file mode 100644 index 0000000..f113954 --- /dev/null +++ b/KMA DMA/Příklady/01. Homogenní rekurentní rovnice.md @@ -0,0 +1,11 @@ +# Homogenní rekurentní rovnice + +**Příklad**: +- Fibonacciho čísla - $1, 1, 2, 3, 5, 8, 13, ...$ +- $F_{n} = F_{n-1} + F_{n-2}$ + +Jak zjistit 1000. člen? + +$F_n$ jako funkce $n$ +- $F_{n-1} = F_{n-1}$ +- $f_{n} = (F_{n}, F_{n-1})^T, \quad f_{n-1} = (F_{n-1}, F_{n-2})^T$ \ No newline at end of file diff --git a/KMA DMA/Příklady/02. Modulární počítání.md b/KMA DMA/Příklady/02. Modulární počítání.md new file mode 100644 index 0000000..25decc3 --- /dev/null +++ b/KMA DMA/Příklady/02. Modulární počítání.md @@ -0,0 +1,89 @@ +# Hodnost matice + +Počet nenulových řádků matice po provedení GEM (Gaussova eliminační metoda), kterou dostaneme matici s nenulovými čísly nad diagonálou a na ní. + +Při použítí GEM můžeme: +- přičíst libovolný nenulový násobek řádku k jinému řádku, +- libovolně násobit jednotlivé řádky (ne nulou). + +# Soustava rovnic + +Soustava $m$ rovnic pro $n$ neznámých: + +$$ +\begin{matrix} +a_{11}x_{1} + a_{12}x_{2} + a_{13}x_{3} + \dots + a_{1n}x_{n} = b_{1} \\ +a_{21}x_{1} + a_{22}x_{2} + a_{23}x_{3} + \dots + a_{2n}x_{n} = b_{2} \\ +\vdots \qquad\qquad\qquad \vdots \\ +a_{m1}x_{1} + a_{m2}x_{2} + a_{m3}x_{3} + \dots + a_{mn}x_{n} = b_{n} +\end{matrix} +$$ + +Soustavu zapíšeme maticově: + +$$ +A = \begin{bmatrix} +a_{11} & a_{12} & \dots & a_{1n} \\ +a_{21} & a_{22} & \dots & a_{2n} \\ +\vdots & \vdots & \vdots & \vdots \\ +a_{m1} & a_{m2} & \dots & a_{mn} +\end{bmatrix}, \qquad \vec{x} = \begin{bmatrix} +x_{1} \\ +x_{2} \\ +\vdots \\ +x_{n} +\end{bmatrix}, \qquad \vec{b} = \begin{bmatrix} +b_{1} \\ +b_{2} \\ +\vdots \\ +b_{m} +\end{bmatrix} +$$ + +Potom A je **matice soustavy** (typu $m/n$), $\vec{x}$ je **vektor (sloupec) neznámých** a $\vec{b}$ je **vektor (sloupec) pravých stran**. + +Soustavu zapisujeme jako $A\vec{x} = \vec{b}$. + +Dvě soustavy se nazývají **ekvivalentní**, jestliže mají stejnou množinu řešení. + +### Rozšířená matice soustavy + +Zápis soustavy do matice, kde svislá čára značí $=$, značíme ji jako $A^R = [A \mid \vec{b}]$. + +### Frobeniova podmínka řešitelnosti + +Nehomogenní soustava rovnic $A\vec{x} = \vec{b}$ má řešení právě tehdy, když $hod(A^R) = hod(A)$. + +### Typy soustav + +- **homogenní** + - s nulovým sloupcem vpravo (nemusí se psát) +- **nehomogenní** + - s čísly vpravo oddělenými svislou čárou (značí $=$) + +### Řešení soustavy + +1. přepíšu do matice a vyřeším pomocí GEM/GJEM +2. najdu pivoty (první nenulové číslo v řádku) a ke sloupcům bez pivota přiřadím parametry (např.: $x_3 = t, t \in R$) +3. řádky zapíšu jako rovnice (např.: $2x_1 + 3x_2 + x_4 = 0$) +4. z rovnic vyjádřím jednotlivá x + +#### Možná řešení + +- soustava nemá řešení +- soustava má jedno řešení +- soustava má nekonečně mnoho řešení + +# Eukleidův algoritmus + +Algoritmus pro nalezení největšího společného dělitele čísel $a$ a $b$. Největšího společného dělitele označíme jako $\gcd(a, b)$. + +Mějme $a = 57, b = 27$. Platí, že $c = \gcd(a, b)$ dělí $a$ a rovněž $b$, dělí tedy i rozdíl $a-b = 30$. Pokud nyní najdeme $\gcd(30, 27)$, získáme i $\gcd(57, 27)$. Aplikacím tohoto postupu dostaneme postupně $\gcd(30, 27) = \gcd(3, 27) = 3$, tedy i $\gcd(57, 27) = 3$. + +TODO: Rozšířený euklidův algoritmus + +# Stanovení inverzního prvku + +Prvek $a^{-1}$, pro který platí $a \oplus a^{-1} = 0$. + +**Příklad**: Pokud máme modulo 5, tak inverzní prvek k prvku $4$ bude $1$, protože $4 + 1 = 0$. \ No newline at end of file diff --git a/KMA DMA/Příklady/03. Relace.md b/KMA DMA/Příklady/03. Relace.md new file mode 100644 index 0000000..c94e3c4 --- /dev/null +++ b/KMA DMA/Příklady/03. Relace.md @@ -0,0 +1,17 @@ +# Relace + +## Určení vlastností + +TODO + +## Reflexívně-tranzitivní uzávěr + +Nechť $R$ je relace na množině $X$. Pro reflexivní uzávěr $R^x$ relace $R$ platí +- $R^x = R \cup E_{x}$ ($E_{x}$ je identická relace na $X$) +- $R^x$ je nejmenší nadrelace $R$, takže $R^x$ je reflexivní + +**Příklad**: Mějme relaci $R$ na množině $X = \{ a, b \}$. +- $R = (b, a)$ +- $E_{x} = \{ (a, a), (b, b) \}$ +- $R^x = R \cup E_{x}$ +- přidají se reflexivní relace všech prvků $X$ \ No newline at end of file diff --git a/KMA DMA/Příklady/04. Uspořádání, svazy, Booleovy algebry.md b/KMA DMA/Příklady/04. Uspořádání, svazy, Booleovy algebry.md new file mode 100644 index 0000000..d120254 --- /dev/null +++ b/KMA DMA/Příklady/04. Uspořádání, svazy, Booleovy algebry.md @@ -0,0 +1,4 @@ +# Uspořádání, svazy, Booleovy algebry + +suprema, infima, distributivita, komplementarita, Hasseův diagram +- viz příslušné otázky \ No newline at end of file diff --git a/KMA DMA/Příklady/05. Počet koster grafu.md b/KMA DMA/Příklady/05. Počet koster grafu.md new file mode 100644 index 0000000..502c18c --- /dev/null +++ b/KMA DMA/Příklady/05. Počet koster grafu.md @@ -0,0 +1,5 @@ +# Počet koster grafu + +Počet koster grafu je roven determinantu matice $L' = M_{R}(G) \cdot M_{R}(G)^T$. + +Je tedy potřeba sestavit buď incidenční matici nebo Laplaceovu matici grafu $G$ a z ní vytvořit redukovanou incidenční matici (vyškrtnutím posledního řádku) nebo matici $L'$ (vyškrtnutím posledního řádku a sloupce). \ No newline at end of file diff --git a/KMA DMA/Příklady/07. Booleovské funkce.md b/KMA DMA/Příklady/06. Booleovské funkce.md similarity index 52% rename from KMA DMA/Příklady/07. Booleovské funkce.md rename to KMA DMA/Příklady/06. Booleovské funkce.md index b130c82..3bde84b 100644 --- a/KMA DMA/Příklady/07. Booleovské funkce.md +++ b/KMA DMA/Příklady/06. Booleovské funkce.md @@ -32,3 +32,57 @@ Zkusíme získat i ÚDNF: $f(x, y) = (\overline{y} \wedge \overline{x}) \vee y = (\overline{y} \wedge \overline{x}) \vee (y \wedge 1) = (\overline{y} \wedge \overline{x}) \vee [y \wedge (\overline{x} \vee x)] = (\overline{y} \wedge \overline{x}) \vee (\overline{x} \wedge y) \vee (x \wedge y)$ - máme spojení 3 průsekových klauzulí, jedná se tedy o ÚDNF + +# Quineho-McCluskeyho metoda + +- minimální disjunktivní forma, součet co nejmenšího počtu součinů + +**Příklad** + +ÚDNF: $\overline{x} \overline{y} \overline{z} + \overline{x} \overline{y} z + x \overline{y} \overline{z} + x \overline{y} z + x y \overline{z}$ + +| $x$ | $y$ | $z$ | $f(x,y,z)$ | +| --- | --- | --- | ---------- | +| 0 | 0 | 0 | 1 | +| 0 | 0 | 1 | 1 | +| 0 | 1 | 0 | 0 | +| 0 | 1 | 1 | 0 | +| 1 | 0 | 0 | 1 | +| 1 | 0 | 1 | 1 | +| 1 | 1 | 0 | 1 | +| 1 | 1 | 1 | 0 | + +Z tabulky vybereme koeficienty tam, kde vychází funkce $1$: +1. 0 0 0 +2. 0 0 1 +3. 1 0 0 +4. 1 0 1 +5. 1 1 0 + +Z těchto vybraných kombinací vybereme všechny dvojice, které se liší o jednu pozici a tu nahradíme pomlčkou: +- 1, 2: **0 0 -** +- 1, 3: **- 0 0** +- 2, 4: **- 0 1** +- 3, 4: **1 0 -** +- 3, 5: **1 - 0** + +Pokračujeme stejným způsobem: +- 1, 2, 3, 4: **- 0 -** ($\overline{y}$) +- 1, 3, 2, 4: **- 0 -** (máme dvě stejné, jednu vyškrtneme) ++ pro 3, 5 nezbyla žádná dvojice, přepíšeme tedy do klauzule $x \overline{z}$ + +Výsledek je $f(x, y, z) = x \overline{z} + \overline{y}$ (součet prostých implikantů). +- vynechání některých součinů, takže výsledek je stále roven funkci $f$ + +Mějme Booleovy polynomy $f, p$. Součin literálů je implikantem funkce $f$, pokud $p \leq f$. Implikant je prostý, pokud součin vzniklý odstraněním libovolných literálů z $p$ přestane být implikantem $f$. + +## Tabulka pokrytí + +| | $x$ | $y$ | $z$ | 1 | 2 | 3 | 4 | 5 | výsledek | +| ---------- | --- | --- | --- | --- | --- | --- | --- | --- | ---------------- | +| 1, 2, 3, 4 | - | 0 | - | [o] | o | o | o | | $\overline{y}$ | +| 4, 5 | 1 | - | 0 | | | o | | [o] | $x \overline{z}$ | + +Každý prvek množiny $\{ 1, 2, 3, 4, 5 \}$ musí být obsažen alespoň v jedné množině vybraných podmnožin. +- minimalizace počtu pokrývajících podmnožin +- například jedna množina $\{ 1, 2, 3, 4 \}$ a druhá $\{ 5 \}$, využijeme tedy oba výsledky v tabulce \ No newline at end of file diff --git a/KMA DMA/Příklady/07. Vzdálenost v grafech.md b/KMA DMA/Příklady/07. Vzdálenost v grafech.md new file mode 100644 index 0000000..e69de29