Přidání dalších otázek ke zkoušce z DMA

This commit is contained in:
Filip Znachor 2023-06-20 19:14:45 +02:00
parent ec887112ad
commit 4d45e6be23
12 changed files with 303 additions and 0 deletions

View file

@ -0,0 +1,22 @@
# Modulární počítání
## 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$.
## Modulární aritmetika
Ekvivalence $\sim$ na množině $X$ je relace na $X$, která je reflexivní, symetrická a tranzitivní.
Ekvivalence, která zachovává operace definované na množině, se nazývá **kongruence**. Jedna z takových kongruencí je například kongruence modulo $p$.
**Definice**
- Nechť $p \geq 1$ je přirozené číslo. Definujme na množině všech celých čísel relaci $\equiv$ (kongruenci modulo $p$) předpisem $x \equiv y$, pokud $p$ dělí rozdíl $x - y$.
Zapisujeme $x \equiv y \quad (\text{mod } p)$.
Pro $a \in \mathbb{Z}_{n}$ rozumíme opačným prvkem prvek $x \in \mathbb{Z}_{n}$ takový, že řeší rovnici $a \cdot x \equiv 1 \quad (\text{mod } n)$. Značíme jej $-a$.
TODO

View file

@ -0,0 +1,61 @@
# Částečně uspořádané množiny
**Uspořádání** na množině $X$ je libovolná relace na $X$, která je **reflexivní**, slabě **antisymetrická** a **tranzitivní**.
Je-li $R$ uspořádání na množině $X$, pak dvojice $(X, R)$ se nazývá **uspořádaná množina**. Jsou-li prvky $x, y$ v relaci $R$ (tedy $x \, R \, y$), interpretujeme to slovy "**prvek x je menší nebo roven prvku y**".
Z uvedené definice se uspořádáním říká také **neostrá uspořádání**, protože pro každé $x$ platí $x \, R \, x$. (U ostrého uspořádání bychom místo reflexivity vyžadovali antireflexitu)
## Porovnatelnost prvků
Nechť $x, y$ jsou dva prvky uspořádané množiny $(X, \leq)$. Platí-li $x \leq y$ nebo $y \leq x$, jsou prvky $x, y$ **porovnatelné**, v opačném případě **neporovnatelné**.
Uspořádání $\leq$ se často označuje jako **částečné** (POSET), protože definice připouští existenci dvojic neporovnatelných prvků.
## Základní pojmy
**Největší prvek**
- $a \in X$, pokud pro každé $x \in X$ platí $x \leq a$
- musí být maximálním prvkem
- nemusí existovat, případně určen jednoznačně
**Nejmenší prvek**
- $a \in X$, pokud pro každé $x \in X$ platí $a \leq x$
- musí být minimálním prvkem
- nemusí existovat, případně určen jednoznačně
**Maximální prvek**
- $a \in X$, pokud pro žádné $x \in X$ není $a \leq x$
- prvky, které nejsou v relaci se žádným větším prvkem
- může jich být více
**Minimální prvek**
- $a \in X$, pokud pro žádné $x \in X$ není $x \leq a$
- prvky, které nejsou v relaci se žádným menším prvkem
- může jich být více
**Infimum**
- TODO
**Supremum**
- TODO
TODO
**Výška POSETu**
- označíme $\text{height}(\mathcal P)$, je největší $h$ takové, že existuje řetězec $h$ prvků v $\mathcal P$
**Šířka POSETu**
- označíme $\text{width}(\mathcal P)$, je největší $w$ takové, že existuje antiřetězec $w$ prvků v $\mathcal P$
**Duální POSET** $\mathcal P^{d} = (X, \mathcal P^d)$ k POSETu $\mathcal P$
- $P^d = \{ (x,y) \mid (x, y) \in \, \leq \}$
- Pokud pro POSET $\mathcal P$ existuje Hasseův diagram, pak Hasseův diagram pro $\mathcal P^d$ získáme jeho otočením "vzhůru nohama".
- Relace $\mathcal P^d$ je inverzní k relaci $\mathcal P$.
## Řetězce a antiřetězce
TODO
**Řetěz**
- Řetězem délky $k$ nad abecedou $\Gamma = \{ \sigma_{1}, \sigma_{2}, \dots, \sigma_{n} \}$ velikosti $n$ budeme rozumět posloupnost $$

View file

@ -0,0 +1,7 @@
# Mirskyho a Dilworthova věta
**Věta** (Dilworthova)
- Nechť $\mathcal P = (X, P)$ POSET a $\text{width}(\mathcal P) = w$. Pak existuje rozklad množiny $X, X = C_{1} \cup C_{2} \cup \dots \cup C_{w}$, kde $C_{i}, i = 1 \dots, w$ je řetězec. Navíc, neexistuje rozklad množiny $X$ na méně než $w$ řetězců.
**Věta** (Mirskyho, duální Dilworthova)
- Nechť $\mathcal P = (X, P)$ POSET a $\text{height}(\mathcal P) = h$. Pak existuje rozklad množiny $X, X = A_{1} \cup A_{2} \cup \dots \cup A_{h}$, kde $A_{i}, i = 1\dots,h$ je antiřetězec. Navíc, neexistuje rozklad množiny $X$ na méně než $h$ antiřetězců.

View file

@ -4,6 +4,8 @@
Operace spojení $\wedge$ se značí symbolem $+$, operace průsek symbolem $\cdot$.
Obsahuje $2^n$ prvků. (2, 4, 8, 16, ...)
## Booleovský kalkulus
Nechť $X$ je Booleova algebra, $a, b, c \in X$. Potom platí:

View file

@ -0,0 +1,9 @@
# Stoneova věta
**Isomorfismus** uspořádaných množin $(X, \leq)$ a $(Y, \subseteq)$ je bijekce $f: X \to Y$ taková, že pro každé $a, b \in X$ platí $a \leq b$ právě když $f(a) \subseteq f(b)$. Tyto uspořádané množiny jsou isomorfní (psáno $(X, \leq 0) \simeq (Y, \subseteq)$), pokud mezi nimi existuje isomorfismus.
- zachovává uvedené operace
- průsek, spojení, komplement a význačné prvky
Každá konečná Booleova algebra je izomorfní Booleově algebře $(2^X, \leq)$ pro nějakou množinu $X$.
- $X = \text{At}(B)$ - množina atomů

View file

@ -0,0 +1,51 @@
# Minimalizace Booleovských funkcí
K minimalizaci Booleovských funkcí se využívá Quineho-McCluskeyho metoda minimalizace.
## Metoda minimalizace
**Implikantem** Booleovy funkce $f$ se nazývá **každý součin** literálů proměnných, který implikuje $f$.
- $f(x, y, z) = x \overline z + \overline y$
- cíl: vynechání některých součinů tak, že výsledek je stále roven funkci $f$
- součin literálů $p$ je implikantem funkce $f$, pokud $p \leq f$
- implikant je prostý, pokud součin vzniklý odstraněním libovolného literálu z $p$ přestane být implikantem funkce $f$
## Postup
Mějme Booleovskou funkci $f$ zadanou tabulkou.
1. Vybereme řádky, kde je hodnota $f$ rovna 1.
2. Z těchto řádků vybereme ty, které je možné dát do dvojic, ve kterých se budou lišit pouze v jedné pozici.
3. Dvojice vypíšeme a lišící se pozici nahradíme symbolem $-$.
4. Prosté implikanty nevybrané ve 2. kroce a také ty upravené zapíšeme pod sebe a přiřadíme k nim součinové klauzule podle tabulky níže.
| řádek | x | y | z | klauzule |
| ------ | --- | --- | --- | ------------------------- |
| 2. | 0 | 1 | 0 | $\overline xy\overline z$ |
| 1., 5. | - | 0 | 1 | $\overline yz$ |
| 5., 7. | 1 | - | 1 | $xz$ |
Máme vyjádření $f(x, y, z) = \overline xy\overline z + \overline yz + xz$.
### Tabulka pokrytí
Hledáme nezkratitelné vyjádření, které stále bude rovno funkci $f$.
Sloupce odpovídají jednotlivým původním vstupům, pro něž $f$ nabývá hodnoty 1, řádky odpovídají získaným prostým implikantům.
| x | y | z | 1. | 2. | 5. | 7. |
| --- | --- | --- | --- | --- | --- | --- |
| - | 0 | 1 | [ ] | | [ ] | |
| 1 | - | 1 | | | [ ] | [ ] |
| 0 | 1 | 0 | | [ ] | | |
Každý ze sloupců v tabulce musí být pokryt nějakým prostým implikantem. Vybereme nejprve ty sloupce, které jsou pokrytelné pouze jedním prostým implikantem a k nim vždy příslušný implikant.
| x | y | z | 1. | 2. | 5. | 7. | implikant |
| --- | --- | --- | --- | --- | --- | --- | -------------- |
| - | 0 | 1 | [x] | | [ ] | | $\overline yz$ |
| 1 | - | 1 | | | [ ] | [x] | $xz$ |
| 0 | 1 | 0 | | [x] | | | $\overline xy\overline z$ |
Pokrytí existuje jediné. Celkem máme tak jedno výsledné řešení, minimální
disjunktivní formu $f(x, y, z) = \overline xy\overline z + \overline yz + xz$.

View file

@ -0,0 +1,49 @@
# Grafy
**Graf** $G$ je dvojice $G = (V, E)$, kde $V$ je konečná množina a $E \subset \left({V \atop 2}\right)$, přičemž
- $\left({V \atop 2}\right) = \{\{x,y\}: x,y\in V\text{ a } x\neq y\}$
je množina všech dvouprvkových množin (neuspořádaných dvojic) prvků množiny $V$.
- $V(G)$ - prvky množiny $V$ - vrcholy (uzly) grafu $G$
- $V(E)$ - prvky množiny $E$ - hrany grafu $G$
Vrcholy $x,y \in V$ jsou sousední, pokud $\{x,y\}\in E$.
**Faktor grafu** $G$ je libovolný jeho podgraf, jehož množina vrcholů je $V(G)$. Faktor je vlastní, je-li různý od grafu $G$.
**Rovnost grafů** $G_{1} = G_{2}$
- $G_{1} = (V_{1}, E_{1}), G_{2} = (V_{2}, E_{2})$, pokud $V_{1} = V_{2}, E_{1} = E_{2}$
## Stupeň vrcholu
**Stupeň vrcholu** v grafu $G$ je počet gran grafu $G$, které obsahují vrchol $v$. Značí se $d_{G}(v)$.
- V grafu o n vrcholech je stupeň každého vrcholu nejvýše $n-1$.
## Neorientovaný graf
- hrany jsou definovány jako neuspořádané dvojice vrcholů
- odpovídá relaci na V, která je antireflexivní a symetrická
## Orientovaný graf
- Orientovaný graf je dvojice $G = (V, E)$, kde $V$ je množina vrcholů a $E \subseteq V \times V$ je množina hran. (hrany jsou nyní prvky kartézského součinu, tedy uspořádané dvojice vrcholů)
- orientované grafy odpovídají binárním relacím
- graf může obsahovat dvojici protichůdných hran
- má upravené definice některých pojmů
## Základní grafy
### Bipartitní graf
**Biparitní (sudý) graf** $K_{m, n}$ má množinu vrcholů rozdělitelnou na dvě **disjunktní množiny** $A, B$ tak, že žádné dva **vrcholy ze stejné množiny nejsou spojeny** hranou.
- $V = A \cup B, A \cap B = \emptyset$
- $E \subseteq \{ \{a,b\} \mid a \in A, b \in B \}$
### Úplný graf
**Úplný graf** na n vrcholech (značený $K_{n}$) obsahuje jako hrany všechny neuspořádané dvojice prvků $[n]$, takže $V(K_{n}) = [n], E(K_{n}) = \left({[n] \atop 2}\right)$.
### Diskrétní graf
**Diskrétní graf** $D_{n}$ na n vrcholech nemá žádné hrany: $V(D_n) = [n], E(D_{n}) = \emptyset$.

View file

@ -0,0 +1,14 @@
# Stromy
**Strom** je **souvislý graf**, který **neobsahuje** žádnou **kružnici**. List stromu $T$ je libovolný vrchol, jehož stupeň v $T$ je 1.
Má-li strom alespoň dva vrcholy, pak má alespoň dva listy.
**Les** - graf, jehož každá komponenta je stromem.
Graf $G$ je strom právě, když pro každé dva vrcholy $u, v \in V(G)$ existuje v grafu $G$ právě jedna cesta z $u$ do $v$.
Graf $G$ je strom, právě když je souvislý a má $n-1$ hran.
Graf $G$ je strom, právě když je souvislý a nemá žádný souvislý vlastní
faktor (podgraf jiný, než je graf $G$).

View file

@ -0,0 +1,48 @@
# Souvislost neorientovaného grafu
Graf $G$ je **souvislý**, pokud pro každé dva vrcholy $x, y$ existuje v grafu $G$ cesta z $x$ do $y$. V opačném případě je graf $G$ nesouvislý.
## Sled, cesta, tah
**Sled** (z vrcholu $u$ do vrcholu $v$) v grafu $G$ je **libovolná posloupnost** ($u = v_{0}, v_{1}, \dots, v_{k} = v$), kde $v_{i}$ jsou **vrcholy grafu** $G$ a pro každé $i = 1, \dots, k$ je $v_{i-1}v_{i}$ hranou grafu $G$. Číslo $k$ je délka tohoto sledu. Říkáme, že sled prochází vrcholy $v_{0}, \dots, v_{k}$ nebo že na něm tyto vrcholy leží.
- Sled může procházet **vícekrát** **stejným vrcholem** i **stejnou hranou**.
**Cesta** z $u$ do $v$ v grafu $G$ je sled $(u = v_{0}, v_{1}, \dots, v_{k} = v)$, ve kterém se **každý vrchol** $v_{i}$ objevuje **pouze jednou**.
**Tah** z $u$ do $v$ v grafu $G$ je sled $(u = v_{0}, v_{1}, \dots, v_{k} = v)$, ve kterém se **každá hrana** objevuje **pouze jednou**.
**Relace na množině vrcholů** $V(G)$
- Relace $\sim$ s předpisem $u \sim v$, pokud v grafu $G$ existuje sled (sledová relace).
- vlastnosti sledové relace
- a) **reflexivní** - triviální sled nulové délky $(u)$
- b) **symetrická**
- c) **tranzitivní** - složením sledů získáme opět sled
- reflexivní a tranzitivní = **ekvivalence** - rozklad množiny $V(G)$ na třídy ekvivalence
### Komponenta grafu
**Komponenty grafu** $G$ jsou všechny indukované podgrafy grafu $G$ na jednotlivých třídách ekvivalence $\sim$.
- značí se $K$
- $K$ je maximální souvislý podgrafy grafu $G$
- nejde jej rozšířit o další vrchol, nemá-li ztratit souvislost
Zjištění souvislosti grafu (komponenty grafu)
- lze využít Dijkstrův algoritmus
## Kružnice
**Uzavřený sled** v grafu $G$ je sled $(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.
## Vlastnosti
Nechť $v$ je vrchol grafu $G$. Graf $G-v$, vzniklý odstraněním vrcholu $v$, je definován jako indukovaný podgraf grafu $G$ na množině $V(G)-\{v\}$.
- Souvislý graf vždy **obsahuje vrchol**, jehož **odstraněním** graf **neztratí souvislost**.
V souvislém grafu je $m \geq n-1$.
- $n$ - počet vrcholů
- $m$ - počet hran
Pokud $n \geq 2$, pak v grafu $G$ existuje $u, v \in V(G)$ tak, že $G-u$ a $G-v$ jsou souvislé.

View file

@ -0,0 +1,25 @@
# Souvislost orientovaného grafu
Pojmy **podgraf** a **indukovaný podgraf** jsou definovány stejně jako u neorientovaných grafů.
## Symetrizace grafu
Z orientovaného grafu můžeme snadno vyrobit neorientovaný graf tím, že "zapomeneme" orientaci všech hran. Případné smyčky odstraníme a násobné hrany nahradíme jednoduchými.
## Slabá souvislost
Řekneme, že orientovaný graf $G$ je (**slabě**) **souvislý**, je-li jeho symetrizace souvislá.
## Silná souvislost
Pro orientované grafy lze snadno upravit definice sledů, cest a kružnicí v grafu.
**Orientovaný sled** z vrcholu $x$ do vrcholu $y$ v orientovaném grafu $G$
je posloupnost vrcholů $(x = v_{0}, v_{1}, \dots, v_{k} = y)$, ve které je pro každé $i = 1, \dots, k$
dvojice $v_{i1}v_{i}$ hranou grafu $G$.
**Orientovaná cesta** v $G$ je orientovaný sled, který obsahuje každý vrchol nejvýše jednou.
**Cyklus** v $G$ je orientovaný sled, ve kterém je $v_{0} = v_{k}$, tento vrchol je v něm obsažen právě dvakrát a všechny ostatní nejvýše jednou.
Orientovaný graf $G$ je **silně souvislý**, pokud v něm pro každou dvojici vrcholů $x, y$ existuje **orientovaná cesta** z $x$ do $y$ i orientovaná cesta z $y$ do $x$.

View file

@ -0,0 +1,4 @@
# 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_{i1}v_i$ jsou pro různá $i$ různé. Uzavřený tah je tah, který je uzavřeným sledem. Uzavřený tah je eulerovský, pokud používá každou hranu grafu $G$.
- Za jakých podmínek existuje sled, který používá každou hranu daného grafu právě jednou?

View file

@ -0,0 +1,11 @@
# Incidenční matice
Nechť $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 $G$ neobsahuje smyčky.
**Incidenční matice** $M(G)$ orientovaného grafu $G$ je reálná matice o rozměrech $n\times m$, definovaná vztahem $M(G) = (m_{ij})$, kde:
$m_{ij} \begin{cases} 1 \quad \text{pokud hrana } e_{j} \text{ začíná ve vrcholu } v_{i}\\-1 \quad \text{pokud hrana } e_{j} \text{ končí ve vrcholu } v_{i}\\0 \quad \text{ jinak (} e_{j} \text{ nekoliduje s } v_{i}\text{)} \end{cases}$
# Totální unimodularita