Petra Schreiberová
Předměty    

Program cvičení:

  1. Procvičení základních jazykových operací; speciálně pak operace kvocientu. Návrh konečných automatů pro jednoduché jazyky a konstrukce složitějších automatů z jednodušších.
  2. Procvičení algoritmů pro převod do normovaného tvaru a zjišťování izomorfismu automatů. Procvičení algoritmu minimalizace. Důkazy neregularity konkrétních jazyků.
  3. Návrh nedeterministických konečných automatů, převod na deterministické. Procvičení regulárních výrazů jako prostředku popisu regulárních jazyků.
  4. Převody mezi konečnými automaty, regulárními výrazy a regulárními gramatikami. Procvičení uzávěrových vlastností třídy regulárních jazyků.
  5. Návrh konkrétních bezkontextových gramatik. Převod konkrétních (nejednoznačných) gramatik na jednoznačné. Procvičení algoritmů redukce a odstranění epsilon-pravidel.
  6. Konstrukce zásobníkových automatů. Převody mezi bezkontextovými gramatikami a zásobníkovými automaty. Návrhy deterministických zásobníkových automatů. Procvičení uzávěrových vlastností třídy bezkontextových jazyků.
  7. Převod gramatik do Chomského normální formy. Důkazy nebezkontextovosti jazyků pomocí pumping lemmatu. Konstrukce Turingových strojů.
  8. Procvičení porovnání asymptotického růstu konkrétních funkcí. Návrh a analýza složitosti konkrétních (polynomiálních) algoritmů.
  9. Procvičení několika obecných metod návrhu polynomiálních algoritmů. Návrh vzájemné simulace mezi konkrétními výpočetními modely.
  10. Návrh nedeterministických polynomiálních algoritmů. Prokázání polynomiální převeditelnosti mezi konkrétními problémy.
  11. Prokazování příslušnosti jednotlivých problémů k PTIME, NPTIME, PSPACE, NPSPACE a prokazování NP- a PSPACE-obtížnosti.
  12. Konstrukce částí univerzálního Turingova stroje. Důkazy nerozhodnutelnosti problémů. Aplikace Riceovy věty.
  13. Procvičení vybraných témat z aproximačních a pravděpodobnostních algoritmů.
  14. Rezerva.


Odkazy: