Úvod do teoretické informatiky (01UTI/01UTIZ)

poslední změna: 22-05-2017

Anotace

Základní oblasti teoretické informatiky: 1) Jazyky a automaty – konečné automaty, regulární jazyky a vyhledávání, zásobníkové automaty, bezkontextové jazyky. 2) Složitost algoritmů – algoritmus, výpočetní složitost, třída P, základy NP-úplnosti.

Podrobný sylabus a příklady k procvičení

Pozn. příklady v každém souboru jsou rozdělené na dvě části. První část příkladů jsou základní typy příkladů ověřující vaše pochopení látky dané přednášky. Příklady označené vykřičníkem jsou o něco složitější, předkládané k zamyšlení.
Písemná záverečná zkouška z předmětu bude z 80% tvořena příklady prvního typu, ze 20% příklady druhého typu.

datum náplň předášky
22.2. Množiny a operace s nimi. Abeceda a jazyk. Operace s formálními jazyky.
Příklady k procvičení: cv1.pdf
1.3. Definice konečného automatu, jazyk rozpoznávaný automatem.
Příklady k procvičení: cv2.pdf
8.3. Sjednocení, průnik a doplněk regulárních jazyků. Nedeterministické automaty.
Příklady k procvičení: cv3.pdf
15.3. Regulární výrazy. Zřetězení a iterace regulárních jazyků. Kleenova věta. Převod regulárního výrazu na automat a naopak.
Příklady k procvičení: cv4.pdf
22.3.
29.3. Minimalizace konečného automatu. Rozhodování regularity jazyka (Pumping lemma, Myhillova-Nerodeova věta).
Příklady k procvičení: cv5.pdf
5.4. Bezkontextové jazyky a zásobníkové automaty.
Příklady k procvičení: cv6.pdf
12.4. Matematické základy složitosti. Asymptotické značení funkcí, rekurentní vztahy, kódování slov a problémů.
Příklady k procvičení: cv7.pdf
19.4. Formalizace pojmu algoritmus. Turingův stroj. Problém zastavení TS.
Příklady k procvičení: cv8.pdf
26.4.
3.5. Výpočetní složitost algoritmů a problémů
10.5. Základy NP-úplnosti

Literatura

  • J. Mareš. Jazyky, gramatiky a automaty. Skriptum ČVUT, 2011.
  • V. Majerech. Úvod do složitosti a NP-úplnosti. link
  • O. Carton. Langages formels, calculabilité et complexité. Vuibert, 1993.