Fakulta informačních technologií VUT v Brně

Detail předmětu

Teoretická informatika

TIN Ak. rok 2019/2020 zimní semestr 7 kreditů

Aplikace teorie formálních jazyků v informatice a informačních technologiích (překladače, modelování a analýza systémů, lingvistika, biologie atd.), modelovací a rozhodovací síla formálního modelu, regulární jazyky a jejich vlastnosti, minimalizace konečného automatu, bezkontextové jazyky a jejich vlastnosti, Turingovy stroje, vlastnosti rekurzivních a rekurzivně vyčíslitelných jazyků, vyčíslitelné funkce, nerozhodnutelnost, nerozhodnutelné problémy teorie formálních jazyků, úvod do výpočetní složitosti a Petriho  sítí.

Garant předmětu

Zástupce garanta předmětu

Jazyk výuky

česky

Zakončení

zápočet+zkouška (kombinovaná)

Rozsah

39 hod. přednášky, 26 hod. cvičení, 13 hod. projekty

Bodové hodnocení

60 zkouška, 25 půlsemestrální test, 15 projekty

Zajišťuje ústav

Přednášející

Cvičící

Stránky předmětu

Získané dovednosti, znalosti a kompetence z předmětu

Znalosti základních a pokročilejších pojmů, přístupů a výsledků teorie automatů a teorie vyčíslitelnosti a základů teorie výpočetní složitosti, vedoucí k hlubšímu pochopení povahy popisu a realizace výpočetních procesů. 

Dovednosti, znalosti a kompetence obecné

Student získává základní kompetence k teoretické výzkumné práci.

Cíle předmětu

Rozšíření znalostí teorie formálních jazyků a osvojení základů teorie vyčíslitelnosti a základních pojmů výpočetní složitosti.

Proč je předmět vyučován

Předmět seznámí studenty se základními principy, na kterých informatika stojí, a umožní jim chápat, kde leží meze počítání, jaká je cena řešení různých problémů na počítačích a kde jsou tedy meze toho, co lze od řešení problémů na výpočetních zařízeních - minimálně v té podobě, v jaké jsou v současné době chápány - čekat. Předmět studenty dále seznámí, a to výrazně hlouběji než předměty na bakalářském stupni, s řadou konkrétních konceptů, jako jsou různé typy automatů a gramatik, a konkrétních algoritmů nad nimi, které se běžně používají v celé řadě aplikačních oblastí (např. překladače, zpracování textu, analýza síťového provozu, optimalizace hardware i software, modelování a návrh systémů, statická i dynamická analýza a verifikace, umělá inteligence apod.). Hlubší znalosti z této oblasti umožní studentům nejen aplikovat existující algoritmy, ale také je dále rozvíjet a dolaďovat na míru konkrétních řešených problémů, jak je v praxi často zapotřebí. V neposlední řadě pak předmět buduje ve studentech schopnost abstraktního a systematického myšlení, schopnost číst a chápat formální zápisy (a být pak schopen pochopit a v praxi aplikovat průběžně publikované nové výsledky vědy a výzkumu) a také schopnost přesného vyjadřování.

Požadované prerekvizitní znalosti a dovednosti

Základní znalosti z binárních relací, algebraických struktur, matematické logiky, teorie grafů a formálních jazyků včetně konečných a zásobníkových automatů a pojmů algoritmické složitosti.

Literatura studijní

  • Češka, M. a kol.: Vyčíslitelnost a složitost, Nakl. VUT Brno, 1993. ISBN 80-214-0441-8
  • Češka, M., Rábová, Z.: Gramatiky a jazyky, Nakl. VUT Brno, 1992. ISBN 80-214-0449-3
  • Kozen, D.C.: Automata and Computability, Springer-Verlag, New Yourk, Inc, 1997. ISBN 0-387-94907-0
  • Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 2nd ed., 2000. ISBN 0-201-44124-1
  • Meduna, A.: Formal Languages and Computation. New York, Taylor & Francis, 2014.
  • Češka, M., Vojnar, T.: Studijní  text k předmětu Teoretická informatika (http://www.fit.vutbr.cz/study/courses/TIN/public/Texty/TIN-studijni-text.pdf), 165 str.
  • Češka, M.: Petriho sítě, Akad.nakl. CERM, Brno, 1994. ISBN: 8-085-86735-4

Literatura referenční

  • Kozen, D.C.: Automata and Computability, Springer-Verlag, New Yourk, Inc, 1997. ISBN 0-387-94907-0
  • Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 2. vydání, 2000. ISBN 0-201-44124-1
  • Martin, J.C.: Introduction to Languages and the Theory of Computation, McGraw-Hill, Inc., 3. vydání, 2002. ISBN 0-072-32200-4
  • Brookshear, J.G. : Theory of Computation: Formal Languages, Automata, and Complexity, The Benjamin/Cummings Publishing Company, Inc, Redwood City, California, 1989. ISBN 0-805-30143-7
  • Meduna, A.: Formal Languages and Computation. New York, Taylor & Francis, 2014.
  • Reisig, W.: Petri Nets, An Introduction, Springer Verlag, 1985. ISBN: 0-387-13723-8

Osnova přednášek

  1. Úvod do teorie formálních jazyků, způsoby specifikace jazyků, regulární jazyky a gramatiky, konečné automaty, regulární výrazy.
  2. Bezkontextové jazyky a gramatiky, zásobníkové automaty.
  3. Regulární jazyky jako množinová Booleova algebra, Kleeneho algebra, Kleenova věta, minimalizace konečného automatu.
  4. Věta o vkládání (Pumping theorem), Nerodova věta, rozhodnutelné problémy regulárních jazyků. Transformace a normální tvary bezkontextových gramatik. 
  5. Pokročilé vlastnosti bezkontextových jazyků, věta o vkládání pro bezkontextové jazyky, rozhodnutelné problémy bezkontextových jazyků. Deterministické bezkontextové jazyky. 
  6. Turingovy stroje (TS), definice TS a jazyka přijímaného TS, rekurzivně vyčíslitelné a rekurzivní jazyky a problémy, TS a funkce, metody konstrukce TS. 
  7. Modifikace TS, TS s obousměrně nekonečnou páskou, s více páskami, nedeterministický TS, stroj se dvěma zásobníky, stroje s čítači. 
  8. TS a jazyky typu 0, diagonalizace, vlastnosti rekurzivních a rekurzivně vyčíslitelných jazyků, lineárně ohraničené automaty a jazyky typu 1. 
  9. Church-Turingova téze, univerzální TS, nerozhodnutelnost, problém zastavení TS, redukce, Postův korespondenční problém. Nerozhodnutelné problémy teorie formálních jazyků. 
  10. Vyčíslitelné funkce, počáteční funkce, primitivně rekurzivní funkce, mí-rekurzivní funkce, vztah vyčíslitelných funkcí a Turingových strojů. 
  11. Úvod do výpočetní složitosti, Turingovská složitost, asymptotická složitost.
  12. Třída P a NP problémů, problémy mimo třídu NP, polynomiální redukce, úplnost.
  13. Úvod do Petriho sití, motivace, definice P/T Petriho sítě, metody analýzy, třídy Petriho sítí.
[Úvodní dvě přednášky opakují a formalizují předpokládané znalosti získané v bakalářském studiu (v předmětu IFJ na FIT VUT), přednášky 3-5 prohlubují znalosti z oblasti regulárních a bezkontextových jazyků, přednášky 6-12 se věnují základním principům a konceptům z oblasti vyčíslitelnosti a složitosti formálních jazyků a problémů, poslední přednáška představuje základní principy v oblasti matematického popisu, modelování a analýzy paralelních a distribuovaných dynamických systémů s využitím Petriho sítí.]

Osnova numerických cvičení

  1. Množiny a relace. Řetězce, jazyky, operace nad nimi. Gramatiky, Chomského hierarchie jazyků a gramatik. 
  2. Regulární jazyky a konečné automaty, determinizace a minimalizace automatů, převod regulárních výrazů na konečné automaty. 
  3. Kleeneho algebra. Pumping lemma, důkaz neregularity jazyků. 
  4. Bezkontextové jazyky a gramatiky. Transformace bezkontextových gramatik. 
  5. Operace nad bezkontextovými jazyky a uzavřenost vůči nim. Pumping lemma bezkontextových jazyků. 
  6. Zásobníkové automaty, (nedeterministická) syntaktická analýza shora dolů a zdola nahoru. Deterministické zásobníkové jazyky. 
  7. Turingovy stroje. 
  8. Jazyky rekurzívní a rekurzívně vyčíslitelné a jejich vlastnosti. 
  9. Rozhodnutelnost, částečná rozhodnutelnost a nerozhodnutelnost problémů, redukce problémů. 
  10. Vyčíslitelné funkce. Další Turingovsky úplné výpočetní mechanismy (automaty s více zásobníky, automaty s čítači). 
  11. Třídy složitosti. Vlastnosti prostorových a časových tříd složitosti. 
  12. NP problémy. Polynomiální redukce. 
  13. Petriho sítě.

Osnova ostatní - projekty, práce

  1. Řešení problému z oblasti regulárních a bezkontextových jazyků. 
  2. Řešení problému z oblasti Turingových strojů a teorie nerozhodnutelnosti. 
  3. Řešení problému z oblasti vyčíslitelných funkcí, složitosti a Petriho sítí.

Průběžná kontrola studia

Bodové hodnocení výsledků zkoušky ve 3. týdnu (max 10 bodů), zkoušky ve 9. týdnu (max 15 bodů), vypracovaných projektů (max. 3-krát 5 bodů) a závěrečné semestrální zkoušky (max 60 bodů).

Kontrolovaná výuka

Písemná zkouška ve 3. týdnu výuky zaměřená na základní znalosti z oblasti regulárních a bezkontextových jazyků, písemná zkouška v 9. týdnu výuky zaměřená na pokročilejší znalosti z oblasti regulárních a bezkontextových jazyků a na Turingovy stroje, průběžná kontrola a hodnocení projektů, závěrečná semestrální zkouška. Pro získání bodů ze závěrečné semestrální zkoušky je nutné tuto zkoušku složit tak, aby byla hodnocena nejméně 25 body. V opačném případě bude zkouška hodnocena 0 body.

Podmínky zápočtu

Celkový zisk minimálně 15 bodů z prvních dvou úkolů a ze zkoušek v 3. a 9. týdnu (tj. celkem z 35 bodů).

Rozvrh

DenTypTýdnyMístn.OdDoPSKSkupInfo
Pocvičenívýuky D0207 12:0013:50 1MIT 2MIT xx
Pocvičenívýuky D0207 18:0019:50 1MIT 2MIT xx
Útpřednáškavýuky D0206 D105 15:0017:50 1MIT 2MIT MBI - MSK xx
Útcvičenívýuky D0207 18:0019:50 1MIT 2MIT xx
Čtcvičenívýuky A113 08:0009:50 1MIT 2MIT xx
cvičenívýuky D0206 D105 14:0016:50 1MIT 2MIT MBI - MSK xx
cvičenívýuky D0207 16:0017:50 1MIT 2MIT xx

Zařazení předmětu ve studijních plánech

Nahoru