Nazwa modułu: Teoria automatów i języków Rok akademicki: 2013/2014 Kod: AMA-2-044-BS-s Punkty ECTS: 6 Wydział: Matematyki Stosowanej Kierunek: Matematyka Specjalność: (bez wyboru specjalności) Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne Język wykładowy: Polski Profil kształcenia: Ogólnoakademicki (A) Semestr: 0 Strona www: Osoba odpowiedzialna: dr Mielczarek Dominik (dmielcza@wms.mat.agh.edu.pl) Osoby prowadzące: dr Mielczarek Dominik (dmielcza@wms.mat.agh.edu.pl) Opisy efektów kształcenia dla modułu Kod EKM Student, który zaliczył moduł wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń) Wiedza M_W001 Zna podstawowe pojęcia z teorii liczb. Potrafi sprawdzić równoliczność pewnych zbiorów. Poznaje własności funkcji liczbowych takich jak funkcja Eulera. MA2A_W02 Umiejętności M_U001 Umie rozpoznać język regularny. Potrafi skonstruować minimalny automat, który rozpoznaje podany język regularny. Umie zastosować w praktyce lemat o pompowaniu. MA2A_U01 M_U002 Wie, że matematyki należy uczyć się ze zrozumieniem; potrafi wyartykułować, czego nie rozumie; stara się doskonalić swoje kwalifikacje matematyczne MA2A_U01 Kompetencje społeczne M_K001 Nabiera dużej intuicji matematycznej. Potrafi określić potencjalną złożoność problemu. MA2A_K07 Aktywność na zajęciach 1 / 5
Matryca efektów kształcenia w odniesieniu do form zajęć Kod EKM Student, który zaliczył moduł wie/umie/potrafi Forma zajęć Wykład audytoryjne laboratoryjne projektowe Konwersatori um Zajęcia seminaryjne Zajęcia praktyczne Inne E-learning Wiedza M_W001 Umiejętności M_U001 M_U002 Zna podstawowe pojęcia z teorii liczb. Potrafi sprawdzić równoliczność pewnych zbiorów. Poznaje własności funkcji liczbowych takich jak funkcja Eulera. Umie rozpoznać język regularny. Potrafi skonstruować minimalny automat, który rozpoznaje podany język regularny. Umie zastosować w praktyce lemat o pompowaniu. Wie, że matematyki należy uczyć się ze zrozumieniem; potrafi wyartykułować, czego nie rozumie; stara się doskonalić swoje kwalifikacje matematyczne Kompetencje społeczne M_K001 Nabiera dużej intuicji matematycznej. Potrafi określić potencjalną złożoność problemu. Treść modułu kształcenia (program wykładów i pozostałych zajęć) Wykład 1. Przypomnienie następujących zagadnień (1 wykład): -Kodowanie liczb naturalnych i całkowitych. Kodowanie Goedla, kodowanie wielomianowe. -Przypomnienie podstawowych pojęć z teorii liczb tzn. podzielności, największy wspólny dzielnik, najmniejsza wspólna wielokrotna i ich własności. - Małe twierdzenie Fermata i wnioski z tego twierdzenia np. twierdzenie Wilsona. (z dowodem) - Funkcje rekurencyjne i funkcje prymitywnie rekurencyjne. Podstawowe własności. Metody generowania nowych funkcji prymitywnie rekurencyjnych z innych funkcji prymitywnie rekurencyjnych. (przypomnienie z ZO) 2. Relacje prymitywnie rekurencyjnie i semirekurencyjne. (3 wykłady) - Relacje rekurencyjne i prymitywnie rekurencyjnie. Podstawowe własności. (przypomnienie z ZO) - Twierdzenie o wykresie funkcji rekurencyjnej. ( z dowodem) - Relacje prymitywnie rekurencyjnie. Twierdzenie Kleenego. (bez dowodu, bo był na ZO) 2 / 5
- Definicja relacji semirekurenycjnej. - Suma, przecięcie relacji semirekurencyjnych. - Funkcja maksymalizująca i minimalizująca relację semirekurencyjną. - Twierdzenie Kleenego z dowodem. - Twierdzenie o wykresie relacji semirekurencyjnej z dowodem. 3. Funkcje Ackermanna i Sudana. (1 wykład) - Dowód rekurencyjności funkcji Ackermanna. - Dowód faktu, że funkcja Ackermanna nie jest prymitywnie rekurencyjna. 4. Automat deterministyczny skończony definicja i przykłady (DFA). (2 wykłady) - Definicja DFA. Przykłady. - Domkniętość klasy języków regularnych. - Konstrukcja automatu minimalnego. - Algorytm konstrukcji automatu minimalnego. - Izomorfizm automatów. - Istnienie z dokładnością do izomorfizmu automatu minimalnego. - Relacja Myhill-Nerode. - Twierdzenie Myhill-Nerode (z dowodem). - Związek pomiędzy relacją MN a automatem minimalnym. - Automaty na termach. - Twierdzenie Myhill-Nerode dla automatów na termach. - Two Way Finite Automaty. Podstawowe właśności. 5. Niedeterministyczny automat skończony (NFA). (1 wykład) - Język generowany przez DFA. Rozszerzona funkcja przejścia dla automatu. Własności tej funkcji. - Automat potęgowy. - Dowód faktu, że automat potęgowy generuje język regularny. - Równoważność DFA i NFA. 6. Automaty ze stosem. (2 wykłady) - Podstawowe twierdzenia związane z tym pojęciem. - Charakterystyka języków generowanych przez automaty ze stosem. - Akceptacja słów przez automat ze stosem. Równoważność z dowodem. - Deterministyczny automat ze stosem. 7. Gramatyki bezkontekstowe. (1 wykład) - Podstawowe własności. - Postać normalna Chomskiego (z dowodem). - Postać normalna Greinbacha (z dowodem). - Lemat o pompowaniu dla gramatyk bezkontekstowych z dowodem. - Gramatyka generująca poprawne nawiasowanie. - Parsery. - Gramatyki na termach. - Równoważność języków generowanych przez automaty ze stosem i języków bezkontekstowych. 8. Lemat o pompowaniu dla języków regularnych. (1 wykład) - Algorytm Cockera-Younga-Kasami. Dowód poprawności algorytmu. - Przykłady języków, które nie są regularne. - Gra z demonem. - Twierdzenie Chomksiego-Schutzenberga z dowodem. - Twierdzenie Parikh s z dowodem. 9. Wyrażenie regularne i wzorce. (1 wykład) - Proste przykłady wzorców. - Twierdzenie Kleenego i wstęp do algebr Kleenego. (z dowodem) - Algorytm tworzenia z DFA wzorca. 3 / 5
- Wyrażenia regularne jako przykład algebry Kleenego. - Homomorfizmy algebr Kleenego. 10. Maszyna Turinga definicja-przypomnienie z ZO. (2 wykłady) - Problem stopu i należenie do zbioru (przypomnienie z ZO). - Twierdzenia o redukcji. (z dowodem) - Problem Total. - Twierdzenie Rica z dowodami. audytoryjne -- zgodne z programem wykładu Sposób obliczania oceny końcowej Warunkiem koniecznym uzyskania pozytywnej oceny końcowej OK jest otrzymanie pozytywnej oceny z ćwiczeń i z egzaminu. Przy czym warunkiem dopuszczenia do egzaminu jest posiadanie oceny pozytywnej z ćwiczeń. Po obliczeniu oceny średniej ważonej według wzoru SW = 0,49SOC+0,51SOE, gdzie SOC jest średnią arytmetyczną ocen uzyskanych we wszystkich terminach zaliczeń z ćwiczeń, a SOE jest średnią arytmetyczną ocen uzyskanych we wszystkich terminach z egzaminu, ocena końcowa OK jest obliczana według zależności: if SW >4.75 then OK:=5.0 (bdb) else if SW >4.25 then OK:=4.5 (ins>db) else if SW >3.75 then OK:=4.0 (db) else if SW >3.25 then OK:=3.5 (/ins>dst) else OK:=3 (dst) Wymagania wstępne i dodatkowe Podstawowa znajomość teorii mnogości i logiki. Praktyczna znajomość pojęć z algebry liniowej tzn. macierz, odwzorowanie liniowe. Znajomość podstawowych twierdzeń z Matematyki Dyskretnej. Znajomość i zrozumienie twierdzeń i definicji z przedmiotu Złożoność Obliczeniowa. Zalecana literatura i pomoce naukowe 1. Dexter C. Kozen Automata and Computability. 2. George S. Boolos Computability and Logic. 3. Paweł Pilarczyk Funkcja Ackermanna - materiał w wersji elektronicznej. 4. Materiały z wykładu Złożoność Obliczeniowa. 5. Maria Foryś, Wit Foryś Teoria automatów i języków. 6. Maria Foryś, Adam Roman Zbiór zadań z teorii języków formalnych i automatów. Informacje dodatkowe 4 / 5
Nakład pracy studenta (bilans punktów ECTS) Forma aktywności studenta Udział w wykładach Udział w ćwiczeniach audytoryjnych Przygotowanie do ćwiczeń audytoryjnych Samodzielne studiowanie tematyki wykładów Przygotowanie do egzaminu Przygotowanie do kolokwium zaliczeniowego Egzamin Sumaryczne obciążenie pracą studenta Punkty ECTS za moduł Obciążenie studenta 20 godz 20 godz 2 godz 162 godz 6 ECTS 5 / 5