Języki, automaty i obliczenia: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Gracja (dyskusja | edycje)
Gracja (dyskusja | edycje)
Linia 46: Linia 46:
# [[ZASD Moduł 4|Automat skończenie stanowy II]] ([[Języki, automaty i obliczenia/Ćwiczenia 4|ćwiczenia]])
# [[ZASD Moduł 4|Automat skończenie stanowy II]] ([[Języki, automaty i obliczenia/Ćwiczenia 4|ćwiczenia]])
# [[Języki, automaty i obliczenia/Wykład 5: Algorytmy konstrukcji automatu minimalnego|Algorytmy konstrukcji automatu minimalnego]] ([[Języki, automaty i obliczenia/Ćwiczenia 5: Algorytmy konstrukcji automatu minimalnego|ćwiczenia]])
# [[Języki, automaty i obliczenia/Wykład 5: Algorytmy konstrukcji automatu minimalnego|Algorytmy konstrukcji automatu minimalnego]] ([[Języki, automaty i obliczenia/Ćwiczenia 5: Algorytmy konstrukcji automatu minimalnego|ćwiczenia]])
# [[Języki, automaty i obliczenia/Wykład 6: Automat niedeterministyczny; lemat o pompowaniu|Automat niedeterministyczny; lemat o pompowaniu]] ([[Języki, automaty i obliczenia/Ćwiczenia 6: Automat niedeterministyczny; lemat o pompowaniućwiczenia]])
# [[Języki, automaty i obliczenia/Wykład 6: Automat niedeterministyczny; lemat o pompowaniu|Automat niedeterministyczny; lemat o pompowaniu]] ([[Języki, automaty i obliczenia/Ćwiczenia 6: Automat niedeterministyczny; lemat o pompowaniućwiczenia|ćwiczenia]])
# [[Języki, automaty i obliczenia/Wykład 7: Twierdzenie Kleene’ego; gramatyki regularne|Twierdzenie Kleene’ego; gramatyki regularne]] ([[Języki, automaty i obliczenia/Ćwiczenia 7: Twierdzenie Kleene’ego; gramatyki regularne|ćwiczenia]])
# [[Języki, automaty i obliczenia/Wykład 7: Twierdzenie Kleene’ego; gramatyki regularne|Twierdzenie Kleene’ego; gramatyki regularne]] ([[Języki, automaty i obliczenia/Ćwiczenia 7: Twierdzenie Kleene’ego; gramatyki regularne|ćwiczenia]])
# [[Języki, automaty i obliczenia/Wykład 8: Gramatyka regularna i wyrażenia - algorytmy; rozstrzygalność|Gramatyka regularna i wyrażenia - algorytmy; rozstrzygalność]] ([[Języki, automaty i obliczenia/Ćwiczenia 8: Gramatyka regularna i wyrażenia - algorytmy; rozstrzygalność|ćwiczenia]])
# [[Języki, automaty i obliczenia/Wykład 8: Gramatyka regularna i wyrażenia - algorytmy; rozstrzygalność|Gramatyka regularna i wyrażenia - algorytmy; rozstrzygalność]] ([[Języki, automaty i obliczenia/Ćwiczenia 8: Gramatyka regularna i wyrażenia - algorytmy; rozstrzygalność|ćwiczenia]])

Wersja z 17:49, 6 sie 2006

Forma zajęć

Wykład (30 godzin) + ćwiczenia (30 godzin)

Opis

Teoria jezyków formalnych, automatów i gramatyk w zakresie hierarchii Chomsky'ego.

Sylabus

  • Słowa, katenacja - elementy teorii półgrup; półgrupy i monoidy wolne
  • Gramatyki – model obliczeń; hierarchia Chomsky' ego
  • Języki regularne; automat skończenie stanowy; automat minimalny i algorytmy; automaty deterministyczne i niedeterministyczne; algorytm determinizacji; własności języków regularnych; lemat o pompowaniu i języki nieregularne; wyrażenia regularne i algorytmy; tw. Kleene; rozstrzygalność
  • Języki bezkontekstowe; własności, gramatyka - postać Chomsky'ego i Greibach i algorytmy do upraszczania; automat ze stosem; równoważność gramatyki bezkontekstowej i automatu ze stosem - algorytmy; lemat o pompowaniu; jednoznaczność, problem przynależności i algorytm CYK; rozstrzygalność
  • Języki kontekstowe i typu (0); własności; automat liniowo ograniczony; maszyna Turinga; inne modele obliczeń; Podstawowe klasy złożoności w języku MT; języki rekurencyjnie przeliczalne i rekurencyjne; teza Churcha
  • Problemy złożoności i problemy rozstrzygalności w teorii języków

Autorzy

  • Maria Foryś
  • Wit Foryś
  • Adam Roman

Wymagania wstępne

  • Logika i teoria mnogości
  • Algebra liniowa z geometrią analityczną
  • Matematyka dyskretna
  • Algorytmy i struktury danych

Zawartość

  • Elementy teorii półgrup, półgrupy i monoidy wolne, podmonoidy monoidów wolnych
  • Gramatyki – model obliczeń, hierarchia Chomsky' ego
  • Języki regularne, automat skończenie stanowy, automat minimalny–algorytm konstrukcji, automaty deterministyczne i niedeterministyczne, lemat o pompowaniu i języki nieregularne, wyrażenia regularne, tw. Kleene
  • Języki bezkontekstowe, gramatyka - postać Chomsky'ego i Greibach, automat ze stosem, równoważność gramatyki bezkontekstowej i automatu ze stosem - algorytmy, lemat o pompowaniu, jednoznaczność
  • Równania dla języków - algorytm rozwiązywania
  • Języki kontekstowe i typu (0), automat liniowo ograniczony, maszyna Turinga, języki rekurencyjnie przeliczalne i rekurencyjne, teza Churcha
  • Problemy rozstrzygalne i nierozstrzygalne w teorii języków

Literatura

  1. M.Foryś, W.Foryś, Teoria automatów i języków formalnych, AOW EXIT, Warszawa 2005
  2. J.Gruska, Foundations of computing, Thompson, 1997
  3. J.E.Hopcroft, J.D.Ulman, Introduction to automata theory, languages and computing, Addison-Wesley, 1979
  4. A.Salomaa, Computation and Automata, Cambridge Univ.Press, 1985
  5. M.Sipser, Introduction to the theory of computation, PWS Publishing Company, Boston 1997

Moduły

  1. Słowa, katenacja - elementy teorii półgrup, półgrupy i monoidy wolne (ćwiczenia)
  2. Gramatyki - modele obliczeń, hierarchia Chomsky' ego (ćwiczenia)
  3. Automat skończenie stanowy I (ćwiczenia)
  4. Automat skończenie stanowy II (ćwiczenia)
  5. Algorytmy konstrukcji automatu minimalnego (ćwiczenia)
  6. Automat niedeterministyczny; lemat o pompowaniu (ćwiczenia)
  7. Twierdzenie Kleene’ego; gramatyki regularne (ćwiczenia)
  8. Gramatyka regularna i wyrażenia - algorytmy; rozstrzygalność (ćwiczenia)
  9. Języki i gramatyki bezkontekstowe (ćwiczenia)
  10. Automat ze stosem (ćwiczenia)
  11. Lemat o pompowaniu dla języków bezkontekstowych; jednoznaczność (ćwiczenia)
  12. Języki kontekstowe i typu 0; maszyna Turinga (ćwiczenia)
  13. Problemy rozstrzygalne i nierozstrzygalne w teorii języków (ćwiczenia)
  14. Lemat o pompowaniu (ćwiczenia)
  15. Wyrażenia regularne (ćwiczenia)
  16. Gramatyki regularne (ćwiczenia)
  17. Języki bezkontekstowe I (ćwiczenia)
  18. Języki bezkontekstowe II (ćwiczenia)
  19. Automat ze stosem (ćwiczenia)
  20. Lemat o pompowaniu, jednoznaczność (ćwiczenia)
  21. Równania dla języków (ćwiczenia)
  22. Języki kontekstowe i typu 0 (ćwiczenia)