diff --git a/.gitignore b/.gitignore
index 17a304b..f4844c2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
.obsidian
.trash
+*.excalidraw.md
diff --git a/KIV TI/Cvičení/Cviceni01.md b/KIV TI/Cvičení/Cviceni01.md
new file mode 100644
index 0000000..f6b9ceb
--- /dev/null
+++ b/KIV TI/Cvičení/Cviceni01.md
@@ -0,0 +1,57 @@
+## Rozklad množiny
+
+Rozklad množin je množina podmnožin, které jsou
+- neprázdné,
+- vzájemně disjunktní,
+- sjednocením je celá množina.
+
+## Kartézský součin
+
+- značí se $A \times B$
+- $\{ (a, b) \mid a \in A \wedge b \in B \}$
+
+Vlastnosti
+- není komutativní ($A \times B \neq B \times A$)
+- je asociativní
+ - $A = \{ 1, 2 \}, B = \{ a, b \}, C = \{ 3, 4 \}$
+ - $(A \times B) \times C = \{ ((1, a), 3), ((1, a), 4), \dots, ((2, b), 4) \}$
+ - $A \times (B \times C) = \{ (1, (a, 3)), (1, (a, 4)), \dots, (2, (b, 4)) \}$
+ - pro nás není podstatná struktura
+ - $A \times B \times C = \{(1, a, 3), (1, a, 4), (2, b, 4)\}$
+
+## Binární relace
+
+Binární relace je libovolnou podmnožinou Kartézského součinu.
+
+Inverzní relace
+- $b \, R^{-1}\, a \iff a \, R \, b$
+
+Složená relace (kompozice)
+- $\alpha \subseteq A \times B$
+- $\beta \subseteq B \times C$
+- $\gamma = \alpha \circ \beta \subseteq A \times C$
+
+## Příklad
+
+- $A = \{ 1, 2, 3 \}$
+- $B = \{ 2, -3 \}$
+- $C = \{ a, b, c \}$
+
++ $R \subseteq A \times B = \{ (1, 2), (1, -3), (2, 2), (2, -3) \}$
++ $S \subseteq B \times C = \{ (2, a), (-3, c) \}$
+
+- $R \circ S = \{ (1, a), (2, a), (1, c), (2, c) \}$
+
+## Relace na množině
+
+$R \subseteq A \times A$
+- množina $A = \{ 1, 2, 3 \}$
+- relace $R = \{ (1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3) \}$
+
+## Funkce
+
+$F: A \to B \quad f \subseteq A \times B$
+- $\forall \, a \in A : \exists! \, b \in B : a \, f \, b$
+
+Je inverzní relace k funkci také funkcí?
+- pouze v případě, že je funkce injektní
\ No newline at end of file
diff --git a/KIV TI/Cvičení/Cviceni02.excalidraw.svg b/KIV TI/Cvičení/Cviceni02.excalidraw.svg
new file mode 100644
index 0000000..f3538ad
--- /dev/null
+++ b/KIV TI/Cvičení/Cviceni02.excalidraw.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/KIV TI/Cvičení/Cviceni02.md b/KIV TI/Cvičení/Cviceni02.md
new file mode 100644
index 0000000..90f83df
--- /dev/null
+++ b/KIV TI/Cvičení/Cviceni02.md
@@ -0,0 +1,67 @@
+$\sum = \{ a,b \}$
+
+$L_{1} = \{ w \mid w \text{ obsahuje lichý počet } a \text{ a sudý počet } b \}$
+- 4 stavy
+ - sasb - vstupní
+ - salb
+ - lasb - koncový
+ - lalb
+
+$L_{2} = \{ w \mid w \text{ obsahuje lichý počet } a \text{ a 0 nepovažujeme za sudé číslo} \}$
+- 3 stavy
+ - 0 - vstupní
+ - l
+ - s - koncový
+
+$L_{3} = \{ w \mid w \text{ obsahuje právě dva znaky } a \}$
+- 4 stavy
+ - 0 - vstupní
+ - 1
+ - 2 - koncový
+ - \>2 - absorbční stav (zamítací), nedá se z něj dostat
+
+$L_{4} = \{ w \mid w \text{ obsahuje alespoň 2 znaky } a \}$
+- 3 stavy
+ - 0 - vstupní
+ - 1
+ - \>=2 - koncový a absorbční
+
+$L_{5} = \{ w \mid w \text{ začíná podřetězcem } bba- \}$
+- 5 stavů
+ - e - vstupní
+ - b
+ - bb
+ - bba - koncový akceptující absorbční
+ - špatný - zamítací absorbční
+
+$L_{6} = \{ w \mid w \text{ obsahuje méně než 2 znaky } a \}$
+- opak $L_{4}$, stačí prohodit koncové stavy
+- 4 stavy
+ - 0 - koncový
+ - 1 - koncový
+ - \>=2
+- $L = \left( Q, \sum, \delta, q_{0}, F\right)$
+- $\overline L = \left( Q, \sum, \delta, q_{0}, \overline F\right)$
+
+$L_{7} = \{ w \mid w \text{ obsahuje podřetězec } -bbab- \}$
+- 5 stavů
+ - e
+ - b
+ - bb
+ - bba
+ - bbab
+
+$L_{8} = \{ w \mid w \text{ obsahuje podřetězec } -abba- \}$
+
+$L_{9} = \{ w \mid w \text{ končí na } -abba \}$
+
+$L_{10} = \{ w \mid w \text{ současně splňuje} \}$
+- nezačíná bba-
+- obsahuje -babb-
+- nekončí -aa
+
+$L_{11} = \{ w \mid w \text{ současně splňuje } \}$
+- obsahuje -aaba-
+- neobsahuje -bba-
+- **Kartézský součin automatu**
+ - u zkoušky jsou na tom stavěny příklady!
\ No newline at end of file
diff --git a/KIV TI/Cvičení/Cviceni03.excalidraw.svg b/KIV TI/Cvičení/Cviceni03.excalidraw.svg
new file mode 100644
index 0000000..55345d3
--- /dev/null
+++ b/KIV TI/Cvičení/Cviceni03.excalidraw.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/KIV TI/Cvičení/Cviceni03.md b/KIV TI/Cvičení/Cviceni03.md
new file mode 100644
index 0000000..11b072e
--- /dev/null
+++ b/KIV TI/Cvičení/Cviceni03.md
@@ -0,0 +1,84 @@
+Příklad z minulého cvičení
+
+| | 0 | 1 |
+| ----- | --- | --- |
+| <-> A | B | A |
+| <-- B | C | A |
+| <-- C | C | D |
+| D | D | D |
+
+| | 0 | 1 |
+| ----- | --- | --- |
+| --> 0 | 0 | 1 |
+| 1 | 0 | 2 |
+| 2 | 3 | 2 |
+| 3 | 0 | 4 |
+| <-- 4 | 4 | 4 |
+
+| | 0 | 1 |
+| ---------- | --- | --- |
+| **A0** | B0 | A1 |
+| **B0** | C0 | A1 |
+| **A1** | B0 | A2 |
+| **C0** | C0 | D1 |
+| **A2** | B3 | A2 |
+| **D1** | D0 | D2 |
+| **B3** | C0 | A4 |
+| **D0** | D0 | D1 |
+| **D2** | D3 | D2 |
+| <-- **A4** | B4 | A4 |
+| **D3** | D0 | D4 |
+| <-- **B4** | C4 | A4 |
+| **D4** | D4 | D4 |
+| <-- **C4** | C4 | D4 |
+
+**Př. 1**: L je množina všech řetězců, které splňují právě jednu z podmínek:
+- $w$ obsahuje $-babb-$
+- počet znaků $b$ ve $w$ je dělitelný 3
+
+viz. excalidraw
+
+**Př. 2**: Navrhněte konečně automatový model algoritmu pro softwarovou implementaci vstupní konverze textového řetězce reprezentujícího zápis konstanty typu integer do vnitřní reprezentace PC. (formát v pevné řádové čárce)
+
+| | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
+| --- | --- | --- | --- | --- | --- | --- | --- | --- | ---- |
+| MAX | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 127 |
+| MIN | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -128 |
+
+314 = 256 + 32 + 16 + 8 + 2
+
+`0000 0001 0011 1010`
+
+| číslo | zobrazení |
+| ----- | ------------- |
+| 314 | `00 00 01 3A` |
+| | `33 31 34 20` |
+| -314 | `FF FF FE C6` |
+
+**Př. 3**: Navrhněte RKA akceptující syntakticky správné řetězce reprezentující konstantu integer.
+- správné: 0, 121, -15, +6, ...
+- nesprávné: +-3
+- $\sum = \{D, +, -, x\}$
+ - \\ je koncový znak
+
+Pomocné stavové proměnné
+
+| | počáteční hodnota |
+| ----------- | ----------------- |
+| znam. INT | 1 |
+| hodnota INT | 0 |
+
+transformace PSP
+- 0: nic
+- 1: $\text{znam} \leftarrow 1$
+- 2: $\text{hodnota} \leftarrow \text{hodnota} \cdot 10 + \text{cislice}$
+ - znak je v ASCII kódu $\to$ odečíst '0' (30)
+- 3: $\text{hodnota} \leftarrow \text{znak} \cdot \text{hodnota}$
+
+$(3x^2 + x + 4) x = 10$
+- 314
+
+viz. excalidrawPř. 1
+
+1: $\text{hodnota} \leftarrow \text{hodnota} \cdot 10 + (\text{vstup} - \text{'0'})$
+2: $\text{hodnota} \leftarrow \text{hodnota} \cdot 10 - (\text{vstup} - \text{'0'})$
\ No newline at end of file
diff --git a/KIV TI/Cvičení/Cviceni04.excalidraw.svg b/KIV TI/Cvičení/Cviceni04.excalidraw.svg
new file mode 100644
index 0000000..a26b5b5
--- /dev/null
+++ b/KIV TI/Cvičení/Cviceni04.excalidraw.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/KIV TI/Cvičení/Cviceni04.md b/KIV TI/Cvičení/Cviceni04.md
new file mode 100644
index 0000000..c0fc2ea
--- /dev/null
+++ b/KIV TI/Cvičení/Cviceni04.md
@@ -0,0 +1,45 @@
+Jedna množina
+- $A = \{ 0, 1, 2 \}$
+- $A^2 = A \cdot A = \{ 00, 01, 02, 10, 11, 12, 20, 21, 22 \}$
+- $A^+ = \{ 0, 1, 2, 00, 01, 02, \dots, 22, 000, 001, \dots, 222, \dots \}$
+- $A^* = A^+ \cup \{e\}$
+
+Dvě množiny
+- $A = \{ 0, 1, 2 \}, \quad B = \{ a, b \}$
+- $A^* \cup B^* = \{ e, 0, 1, 2, a, b, 00, 01, \dots, 22, aa, ab, ba, bb, \dots \}$
+- $(A \cup B)^* = \{e, 0, 1, 2, a, b, 00, 01, 02, 0a, 0b, \dots, 2b, ab, bb, \dots\}$
+- $A \cdot (B \cup B^2) = \{0a, 0b, 0aa, 0ab, 0ba, \dots, 2bb\}$
+
+### Návrh gramatiky
+
+**Př. 1**: Nad abecedou $0-9$ vymyslete gramatiku představující sudá čísla. Připouštíme i neplatné nuly na začátku řetězce.
+- musí končit sudou číslicí $\{ 0, 2, 4, 6, 8 \}$
+
+Gramatika:
+- $S \to AB$
+- $B \to 0|2|4|6|8$
+- $A \to e|0A|1A|2A|3A|4A|5A|6A|7A|8A|9A$
+
+316
+- $S \to AB \to 3AB \to 31AB \to 31B \to 316$
+
+**Př. 2**: Jako př. 1, ale nepřipouštíme nevýznamné nuly na začátku.
+- nesmí začínat nulou
+
+Gramatika:
+- $S \to CAB | B$
+- $B \to 0|2|4|6|8$
+- $A \to e|0A|1A|2A|3A|4A|5A|6A|7A|8A|9A$
+- $C \to 1|2|3|4|5|6|7|8|9$
+
+**Př. 3**: Vytvořte gramatiku, která bude generovat všechny řetěze reprezentující korektní identifikační čísla studentů ZČU, kteří zahájili studium v roce 2020/21 a později.
+
+Gramatika:
+- $\text{} \to \text{}$
+- $\text{} \to A|E|K|S|P|F|R|U|Z$
+- $\text{} \to 20|21|22|23$
+- $\text{} \to B|N|P|M$
+- $\text{} \to \text{}$
+- $\text{} \to 0|1|2|\dots|9$
+- $\text{} \to P|K$
+
diff --git a/KIV TI/Cvičení/Cviceni05.excalidraw.svg b/KIV TI/Cvičení/Cviceni05.excalidraw.svg
new file mode 100644
index 0000000..17f285c
--- /dev/null
+++ b/KIV TI/Cvičení/Cviceni05.excalidraw.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/KIV TI/Cvičení/Cviceni05.md b/KIV TI/Cvičení/Cviceni05.md
new file mode 100644
index 0000000..f25e4f6
--- /dev/null
+++ b/KIV TI/Cvičení/Cviceni05.md
@@ -0,0 +1,68 @@
+**Př. 1**: Vytvořte gramatiku, která bude nad abecedou $\{0, 1\}$ generovat řetězec obsahující lichý počet 0 a sudý počet 1.
+- $\{0, 1\} \quad w \dots \text{lichý počet } 0 \text{, sudý počet } 1$
+- 4 stavy
+
+**Př. 2**:
+- $S \to abA \mid bS \mid aa \mid A$
+- $A \to abA$
+- $B \to aS \mid baA \mid a$
+
+a) Najděte $G'$ typu G3R takovou, že $L(G') = L(G)$.
++ $S \to bS | aS_{1} | aS_{2} \mid aS | bB_{1} | aB_{2} \mid aA_{1}$
++ $A \to aA_{1} \mid aS | bB_{1} | aB_{2}$
++ $B \to aS | bB_{1} | aB_{2}$
+- $S_{1} \to bA$
+- $B_{1} \to aA$
+- $A_{1} \to bA$
+- $S_{2} \to aS_{3}$
+- $S_{3} \to e$
+- $B_{2} \to e$
+
+b) Vytvořte tabulku popisující nedeterministický konečný automat A takový, že platí $L(A) = L(G') = L(G)$.
+
+| | a | b |
+| ------------------ | ----------------------------------- | -------------- |
+| $\to S$ | $\{S, S_{1}, S_{2}, A_{1}, B_{2}\}$ | $\{S, B_{1}\}$ |
+| $S_{1}$ | - | $\{A\}$ |
+| $S_{2}$ | $\{S_{3}\}$ | - |
+| $\leftarrow S_{3}$ | - | - |
+| $A$ | $\{S, A_{1}, B_{2}\}$ | $\{B_{1}\}$ |
+| $A_{1}$ | - | $\{A\}$ |
+| $B$ | $\{S, B_{2}\}$ | $\{B_{1}\}$ |
+| $B_{1}$ | $\{A\}$ | - |
+| $\leftarrow B_{2}$ | - | - |
+
+c) Vytvořte tabulku popisující deterministický konečný automat A' takový, že platí $L(A') = L(G') = L(G)$.
+
+| | a | b |
+| -------------------------------------------------------- | ---------------------------------------------- | --------------------- |
+| $\to S$ (0) | $\{S, S_{1}, S_{2}, A_{1}, B_{2}\}$ (1) | $\{S, B_{1}\}$ (2) |
+| $\leftarrow \{S, S_{1}, S_{2}, A_{1}, B_{2}\}$ (1) | $\{S, S_{1}, S_{2}, S_{3}, A_{1}, B_{2}\}$ (3) | $\{S, A, B_{1}\}$ (4) |
+| $\{S, B_{1}\}$ (2) | $\{S, S_{1}, S_{2}, A, A_{1}, B_{2}\}$ (5) | $\{S, B_{1}\}$ (2) |
+| $\leftarrow\{S, S_{1}, S_{2}, S_{3}, A_{1}, B_{2}\}$ (3) | $\{S, S_{1}, S_{2}, S_{3}, A_{1}, B_{2}\}$ (3) | $\{S, A, B_{1}\}$ (4) |
+| $\{S, A, B_{1}\}$ (4) | $\{S, S_{1}, S_{2}, A, A_{1}, B_{2}\}$ (5) | $\{S, B_{1}\}$ (2) |
+| $\leftarrow\{S, S_{1}, S_{2}, A, A_{1}, B_{2}\}$ (5) | $\{S, S_{1}, S_{2}, S_{3}, A_{1}, B_{2}\}$ (3) | $\{S, A, B_{1}\}$ (4) |
+
+**Př. 3**: Sestrojte NKA $A$, kde platí $L(A) = L(G_{1})^R \cup L(G_{2})$.
+- $G_{1}$
+ - $S \to aS | bbA$
+ - $A \to aaA | B$
+ - $B \to bbB | e$
+- $G_{2}$
+ - $S \to Aba | Ab | B$
+ - $A \to Aaa | B$
+ - $B \to Bbb | e$
+- G3L -> reverze -> G3P -> NKA -> reverze -> NKA
+
+Plán
+1) $A_{1} \qquad L(A_{1}) = L(G_{1})$
+2) $A_{1}^R \qquad L(A_{1}^R) = L(A_{1})^R = L(G_{1})^R$
+3) $G_{2}^R \qquad L(G_{2}^R) = L(G_{2})^R$
+4) $A_{2}^R \qquad L(A_{2}^R) = L(G_{2}^R) = L(G_{2})^R$
+5) $A_{2} \qquad A_{2} = (A_{2}^R)^R \quad L(A_{2}) = \dots = L(G_{2})$
+6) $A \qquad L(A) = L(A_{1}^R) \cup L(A_{2}) = L(G_{1})^R \cup L(G_{2})$
+
+$G_{2}^R$
+- $S \to abA | bA | B$
+- $A \to aaA | B$
+- $B \to bbB | e$
\ No newline at end of file