Automaty Büchi ego i równoważne modele obliczeń

Wielkość: px
Rozpocząć pokaz od strony:

Download "Automaty Büchi ego i równoważne modele obliczeń"

Transkrypt

1 Politechnika Krakowska im. Tadeusza Kościuszki Wydział Fizyki, Matematyki i Informatyki Kierunek Matematyka Paulina Barbara Rozwód Automaty Büchi ego i równoważne modele obliczeń praca magisterska studia stacjonarne Promotor: dr Katarzyna Pałasińska Kraków 2012

2 Spis treści Wstęp 2 Spis symboli i podstawowe definicje 5 1. Automaty skończone Skończenie stanowe maszyny wykonujące obliczenia na skończonych słowach Pojęcie skończenie stanowej maszyny Obliczenia skończenie stanowej maszyny na skończonych słowach Pojęcie automatu skończonego Definicja automatu skończonego Języki rozpoznawane przez automaty skończone Równoważność automatów deterministycznych i niedeterministycznych Automat Büchi ego jako przykład ω-automatu Pojęcia wstępne Definicja Automatu Büchi ego Języki akceptowane przez AB Inne typy ω-automatów Automaty Müllera Automaty Rabina Automaty Streeta Równoważność NAB, NAM, NAR i NAS Twierdzenie o równoważności NAB, NAM, NAR, NAS Podsumowanie 47 Spis literatury 48 1

3 Wstęp Niniejsza praca magisterska poświęcona jest pojęciu automatu Büchi ego, wprowadzonemu przez szwajcarskiego matematyka Juliusa Richarda Büchi ego w 1962 r. Teoria automatów Büchi ego wyrosła z teorii automatów skończonych. Automat skończony to matematyczny model maszyny liczącej, która na zadanym skończonym ciągu symboli ma wykonać konkretne zadanie i zwrócić odpowiedni wynik. Automaty skończone dobrze nadają się do modelowania komputerów o bardzo małej pamięci. Tego typu komputery stanowią serce wielu urządzeń elektromechanicznych takich, jak kalkulatory, zegarki elektroniczne, czy automaty spotykane na co dzień, np. te do sprzedawania napojów. Są jednak procesy komputerowe, do modelowania których teoria automatów skończonych się nie nadaje. Np. systemy operacyjne dla komputerów, systemy bankowe, systemy ruchu lotniczego zostały tak zaprojektowane, aby działać bezustannie, niezależnie od tego co robi użytkownik. Przekładając na język matematyczny, obliczenie wykonywane przez taki system jest ciągiem nieskończonym, w odróżnieniu od skończonych obliczeń na skończonych ciągach symboli wykonywanych przez automaty skończone. J. R. Büchi był zainteresowany rozstrzygalnością pewnych teorii w logice. Zauważył przy tym, że istnieje związek między automatami prowadzącymi obliczenia na nieskończonych słowach, a rozstrzygalnością takich teorii. Z tego powodu opracował pierwszą definicję automatu nowego typu i tym samym stał się inicjatorem badań nad skończonymi maszynami wykonującymi nieskończone obliczenia. Wymagało to zdefiniowania pojęcia akceptowania słowa nieskończonego. W niedługim czasie po odkryciu Büchi ego także inni badacze podali nowe propozycje modeli nieskończonych. Różnią się one od definicji Büchi ego i między sobą tzw. czynnikami akceptującymi oraz definicją udanego obliczenia. Celem tej pracy jest przedstawienie pojęcia i teorii automatów Büchi ego oraz pewnych alternatywnych podejść do tematu obliczeń nieskończonych, a następnie porównanie ich między sobą. Praca składa się z czterech rozdziałów. Rozdział pierwszy poświęcono pojęciu 2

4 automatu skończonego. Na początku wprowadzono definicję skończenie stanowej maszyny i wyjaśniono, w jaki sposób wykonuje ona obliczenia na skończonych słowach. Następnie pojęcie skończenie stanowej maszyny rozszerzono do pojęcia automatu skończonego. Sformułowano definicje słowa akceptowanego oraz języka rozpoznawanego przez automat skończony, po czym zaprezentowano przykłady automatów skończonych i języków przez nie rozpoznawanych, opracowane przez autorkę samodzielnie. W ostatnim podrozdziale wykazano, że dla dowolnego niedeterministycznego automatu skończonego istnieje deterministyczny automat skończony, który rozpoznaje ten sam język (Twierdzenie 1.18). Twierdzenie odwrotne jest oczywiste. Rozdział drugi, poświęcony automatom Büchi ego, stanowi wstęp do rozważań nad skończonymi maszynami wykonującymi nieskończone obliczenia. W początkowym paragrafie wyjaśniono, w jaki sposób skończenie stanowa maszyna przeprowadza obliczenia na nieskończonych słowach. Następnie wprowadzono pojęcia deterministycznego i niedeterministycznego automatu Büchi ego oraz słowa akceptowanego i języka rozpoznawanego przez ten automat. Głównym rezultatem tego rozdziału jest Twierdzenie 2.21 mówiące o tym, że istnieją języki, które są akceptowane przez niedeterministyczne automaty Buchiego, ale których nie zaakceptuje żaden deterministyczny automat Büchi ego. Tak więc jest istotna różnica miedzy tymi dwoma pojęciami. W rozdziale trzecim przedstawiono propozycje Müllera, Rabina i Streeta alternatywnych definicji maszyny skończenie stanowej wykonującej nieskończone obliczenia. Podobnie jak automaty skończone i automaty Büchi ego, każdy z nich występuje w wersjach: deterministycznej i niedeterministycznej. Okazuje się, że w przeciwieństwie do automatów Büchi ego dla każdego z tych alternatywnych typów obie wersje są równoważne [...]. W rozdziale trzecim przedstawiono też pewne przekształcenia między różnymi typami automatów, wykorzystywane później w rozdziale czwartym w dowodzie głównego twierdzenia. Główny rezultat rozdziału czwartego, Twierdzenie 4.3, głosi, że dla dowolnych dwóch z podanych w tej pracy definicji automatów niedeterministycznych realizujących nieskończone obliczenia, automat pierwszego typu można przekształcić w automat drugiego typu rozpoznający ten sam język. Tak więc niedeterministyczne automaty Büchi ego, Müllera, Rabina i Streeta są wzajemnie równoważne pod względem mocy obliczeniowej. Przygotowując pracę magisterską korzystano przede wszystkim z [3, 1] pomocniczo używając pozostałych pozycji z literatury. Układ pracy oraz komentarze zostały opracowane przez autorkę w dyskusji z promotorem. Dowody twierdzeń zaczerpnięte z literatury znacząco dopracowano. Wymagało to przełożenia poglądowych opisów działania danych maszyn na twarde, logiczne rozumowanie matematyczne, oparte na znanych definicjach. 3

5 Wszystkie przykłady, za wyjątkiem maszyny A 1 z Przykładu 1.3, automatu Büchi ego B L1 (Przykład 2.18) oraz automatu Streeta S (Przykład 3.17), zostały opracowane samodzielnie. Pomocniczo, wprowadzono definicję maszyny skończenie stanowej (Definicja 1.1), ktora nie pochodzi z literatury. 4

6 Podstawowe definicje Poniższe definicje są ogólnie znane. Definicja 1. Alfabetem nazywamy dowolny, skończony zbiór symboli. Definicja 2. Niech Σ będzie alfabetem. Słowem nad alfabetem Σ nazywamy skończony ciąg symboli z tego alfabetu. Definicja 3. Niech Σ będzie alfabetem. Zbiór Σ = {σ 1 σ 2... σ m σ 1, σ 2,..., σ m Σ, m N {0}} jest zbiorem wszystkich możliwych słów nad alfabetem Σ. Definicja 4. Σ-językiem, bądź językiem nazywamy każdy podzbiór zbioru Σ wszystkich słów nad alfabetem Σ. Wprowadźmy następujące oznaczenia: ω - zbiór liczb naturalnych, ω + - zbiór liczb naturalnych bez zera. Definicja 5. Niech Σ będzie alfabetem. Zbiór Σ ω jest zbiorem wszystkich możliwych nieskończonych ciągów symboli z alfabetu Σ. Elementy tego zbioru nazywamy ω-słowami. Definicja 6. ω-językiem nazywamy każdy podzbiór zbioru Σ ω. Niech S będzie dowolnym zbiorem. Dla dowolnych dwóch ciągów r S i s S S ω piszemy r s, gdy r jest podciągiem s, tzn. ciąg s jest nie krótszy niż ciąg r oraz i {1,..., n} r i = s i. 5

7 Rozdział 1 Automaty skończone Głównym celem tego rozdziału jest zapoznanie czytelnika z pojęciem skończenie stanowej maszyny oraz wyjaśnienie idei determinizmu i niedeterminizmu. Automat skończony, jako maszyna o skończonej liczbie stanów, wykonująca obliczenia na skończonych słowach, jest najprostszym modelem obliczeń. Teoria automatów skończonych stanowi punkt wyjścia do rozważań teorii automatów Büchi ego. W ostatnim paragrafie tego rozdziału pokażemy, że klasy niedeterministycznych i deterministycznych automatów skończonych są sobie równoważne, tzn. że dla dowolnego deterministycznego automatu skończonego istnieje niedeterministyczny automat skończony, który rozpoznaje ten sam język i na odwrót. Ponadto przedstawimy proces determinizacji niedeterministycznego automatu skończonego. Jak zobaczymy w rozdziale drugim, analogiczny proces w przypadku automatów Büchi ego musi skończyć się porażką. W niniejszym rozdziale niektóre z podanych pojęć (Definicje 1.1, 1.2) zostały sformułowane na potrzeby tej pracy samodzielnie przez autorkę, w oparciu o literaturę. Pojęcie obliczenia maszyny skończenie stanowej na skończonym słowie (Definicja 1.5) nie występuje w literaturze lub pojawia się pod inną nazwą ([4]). Inne (1.10,1.11,1.12,1.13) można znaleźć w literaturze [3, 6, 2], a definicje tu podane są im równoważne. W rozdziałach późniejszych, formułując definicje pojęć wzorowanych na literaturze, wykorzystano te definicje z obecnego rozdziału Skończenie stanowe maszyny wykonujące obliczenia na skończonych słowach W tym podrozdziale przedstawimy pojęcie skończenie stanowej maszyny oraz zilustrujemy je na kilku przykładach. Następnie wyjaśnimy, jak skończenie stanowe maszyny wykonują obliczenia na skończonych słowach. 6

8 Pojęcie skończenie stanowej maszyny Niech Σ będzie alfabetem. Definicja 1.1. Niedeterministyczną skończenie stanową maszyną nad alfabetem Σ nazywamy trójkę uporządkowaną A = (S, I, T ), gdzie 1. S jest niepustym, skończonym zbiorem, 2. I S, 3. T : S Σ P(S). W dalszym ciągu niniejszej pracy magisterskiej niedeterministyczną skończenie stanową maszynę będziemy nazywać krótko maszyną. Zgodnie z definicją, maszyna jest układem złożonym z trzech elementów: skończonego zbioru S - zwanego zbiorem stanów maszyny, jego podzbioru I tzw. zbioru stanów początkowych - tzn. takich stanów, od których maszyna rozpoczyna działanie. Ostatnim elementem układu jest funkcja przejścia T. Można ją traktować jako zbiór reguł przechodzenia od stanu do stanu. Przejścia te zachodzą w warunkach, gdy maszyna znajduje się w konkretnym stanie s S i czyta konkretny symbol σ Σ. Istotą niedeterminizmu jest to, że dla dowolnego symbolu wejściowego σ czytanego w danym stanie s, może być wiele albo i żaden dopuszczalnych stanów, do których maszyna czytając ten symbol może przejść. Stanowią one zbiór T (s, σ). Tak więc informację T (s, σ) = S, gdzie s S, σ Σ, S P(S) interpretuje się następująco: jeśli maszyna A znajduje się w stanie s i czyta symbol σ, to może ona przejść do jednego ze stanów należących do S. Szczególnym przypadkiem niedeterministycznej skończenie stanowej maszyny jest tzw. deterministyczna skończenie stanowa maszyna. Definicja 1.2. Deterministyczną skończenie stanową maszyną nazywamy trójkę uporządkowaną à = (S, {s 0}, T ) taką, że 1. S jest skończonym, niepustym zbiorem, 2. s 0 S, 3. T : S Σ S. Maszyna deterministyczna składa się ze skończonego, niepustego zbioru stanów S, jednego stanu początkowego s 0 oraz funkcji przejścia T. Tym razem dla dowolnego symbolu wejściowego istnieje dokładnie jedno przejście z każdego stanu odpowiadające temu symbolowi. Zatem T (s, σ) = s, gdzie s, s S, σ Σ, interpretujemy następująco: jeśli maszyna deterministyczna à znajduje się w stanie s i czyta symbol σ to wchodzi w stan s. Z każdą maszyną wiążemy diagram przejść. Diagram przejść to graf skierowany zdefiniowany w następujący sposób: wierzchołki grafu odpowiadają stanom 7

9 maszyny; jeśli w maszynie istnieje przejście ze stanu s do stanu s przy wejściu a, to diagram przejść zawiera łuk prowadzący ze stanu s do s opatrzony etykietą a. Przy rysowaniu diagramu używa się następujących oznaczeń: 1. Stany maszyny oznaczamy okręgiem. 2. Przejścia są reprezentowane przez zaetykietowane krawędzie skierowane pomiędzy wierzchołkami (stanami). Jedna krawędź może mieć kilka etykiet, np. jeśli t T (s, a) i t T (s, b), to krawędź z s do t ma dwa podpisy: a i b. 3. Dołączając strzałkę po lewej stronie okręgu symbolizującego stan wskazujemy, że dany stan jest stanem początkowym. Przykład 1.3. Niech Σ = {a, b} będzie alfabetem. Oto przykłady maszyn niedeterministycznych oraz ich diagramów przejść. 1. [3, zmodyfikowany przez autorkę] A 1 = (S 1, I 1, T 1 ), gdzie S 1 = {s 0, s 1, s 2, s 3, s 4, s 5 }; I 1 = {s 0 }; przejścia maszyny A 1 opisuje diagram przedstawiony na poniższym rysunku. Niedeterminizm maszyny A 1 objawia się tym, że nie dla wszystkich stanów oraz symboli alfabetu istnieją przejścia tej maszyny. 8

10 2. A 2 = (S 2, I 2, T 2 ) gdzie S 2 = {s 0, s 1, s 2, s 3, s 4 }; I 2 = {s 0 }; funkcję przejścia T 2 opisuje diagram zilustrowany na poniższym rysunku. W tym przypadku niedeterminizm objawia się tym, że dla pewnych stanów oraz symboli alfabetu istnieje więcej niż jeden stan w który maszyna A 2 może wejść. Przykład 1.4. Niech teraz Σ = {0, 1}. Rozważmy maszynę Ã3 = (S, {s 0 }, T ), gdzie: S = {s 0, s 1 }; funkcję T zilustrowano przy pomocy diagramu przedstawionego na rysunku: Maszyna A 3 jest przykładem maszyny deterministycznej Obliczenia skończenie stanowej maszyny na skończonych słowach Niech A = (S, I, T ) będzie niedeterministyczną skończenie stanową maszyną nad alfabetem Σ oraz niech u = σ 0 σ 1... σ m Σ będzie skończonym słowem. Takie słowo, gdy poddane zostaje maszynie A do odczytania, nazywamy też wejściem (ang. input). 9

11 Definicja 1.5. Obliczeniem maszyny A na słowie u = σ 0 σ 1... σ m Σ nazywamy dowolny ciąg stanów s 0 s 1... s m+1 taki, że s 0 I oraz dla wszystkich i m, s i+1 T (s i, σ i ). Zastanówmy się nad intuicyjnym sensem Definicji 1.5. Otóż przebieg obliczenia maszyny można oddać w następujący sposób. Etap 0. Maszyna A wybiera dowolny element s 0 I. Etap 1. Jeśli nie istnieje s 1 S taki, że s 1 T (s 0, σ 0 ), to wówczas maszyna zatrzymuje się. W przeciwnym wypadku A wybiera w sposób losowy stan s 1 T (s 0, σ 0 ). Maszyna A dopisuje s 1 do ciągu odwiedzonych stanów - - na tym etapie obliczenie składa się z dwóch stanów: s 0 s 1. Etap k., gdzie k m. Przypuśćmy, że maszyna A utworzyła już ciąg s 0 s 1... s k 1. Jeśli nie istnieje stan s k S taki, że s k T (s k 1, σ k 1 ), to maszyna nie zdoła przeczytać słowa u. W przeciwnym przypadku A wybiera w sposób losowy stan s k T (s k 1, σ k 1 ). Jeśli na pewnym etapie k maszyna zatrzyma się, to A nie przeczyta całego słowa tworząc ciąg s 0 s 1 s 2... s k 1. W przeciwnym razie maszyna odczyta całe wejście i utworzy ciąg s 0 s 1... s m s m+1 który jest obliczeniem maszyny A na wejściu u. Przykład 1.6. Rozważmy ponownie maszynę A 1 z Przykładu 1.3. Niech słowo u 1 = aaabbb Σ będzie słowem wejściowym tej maszyny. Obliczeniem A 1 na u 1 jest ciąg stanów s 0 s 1 s 2 s 2 s 3 s 4 s 5. To obliczenie jest jedynym obliczeniem A 1 na u 1. Niedeterminizm maszyny oznacza, że podczas wykonywania obliczeń musi ona dokonać wyboru spośród wielu możliwych przejść z danego stanu, gdy czyta konkretny symbol wejściowy. Wybory te są losowe. Stąd maszyna A może mieć kilka obliczeń na tym samym słowie. Zauważmy również, że nie każde słowo zostanie przeczytane przez maszynę. Stanie się tak, gdy dla pewnego symbolu ze 10

12 słowa wejściowego nie będzie istnieć przejście maszyny ze stanu, w którym będzie się ona akurat znajdowała czytając ten symbol. Przykład 1.7. Rozważmy znowu maszynę A 1 z Przykładu 1.3. Niech u 2 = abbbbba będzie słowem wejściowym tej maszyny. A 1 nie ma obliczenia na słowie u 2. Istotnie, działanie maszyny zakończy się już po przeczytaniu pierwszego symbolu b, bowiem nie istnieje przejście maszyny A 1 ze stanu s 1 poprzez symbol b. Przykład 1.8. Niech teraz u 3 = aaabbbbaba będzie słowem wejściowym automatu A 2 z Przykładu 1.3. Ciągi stanów s 0 s 1 s 1 s 1 s 2 s 3 s 3 s 3 s 4 s 2 oraz s 0 s 1 s 2 s 0 s 0 s 0 s 0 s 0 s 1 s 2 są przykładowymi obliczeniami A 2 na słowie u 3. Maszyna deterministyczna wykonuje obliczenia bardzo podobnie jak jej niedeterministyczny odpowiednik, z tą różnicą, że obliczenie maszyny deterministycznej na danym słowie zawsze istnieje i jest jedyne. Przykład 1.9. Rozważmy deterministyczną skończenie stanową maszynę Ã3 z Przykładu 1.4. Niech u 4 = będzie słowem wejściowym tej maszyny. Ciąg stanów s 0 s 1 s 1 s 0 s 1 s 0 s 0 s 1 jest jedynym obliczeniem Ã3 na słowie u Pojęcie automatu skończonego W tym podrozdziale przedstawimy definicje niedeterministycznego i deterministycznego automatu skończonego, wprowadzimy pojęcia akceptacji oraz języka rozpoznawanego przez automat skończony. Pokażemy też, że klasa języków rozpoznawanych przez skończone automaty deterministyczne i klasa języków rozpoznawanych przez skończone automaty niedeterministyczne pokrywają się. 11

13 Definicja automatu skończonego Niech Σ będzie alfabetem. Definicja Niedeterministycznym automatem skończonym (w skrócie NFA, od słów Nondeterministic Finite Automaton ) nad alfabetem Σ nazywamy parę K = (A, F ), gdzie: 1. A jest niedeterministyczną skończenie stanową maszyną, 2. F S. Zgodnie z powyższą definicją niedeterministyczny automat skończony jest układem złożonym z maszyny A oraz zbioru F. Zbiór F jest tzw. zbiorem stanów końcowych (akceptujących). Od tej pory zamiast niedeterministyczny automat skończony będziemy mówić automat skończony. Definicja Deterministycznym automatem skończonym (w skrócie DFA, od słów Deterministic Finite Automaton ) nazywamy parę K = (Ã, F ), gdzie 1. à jest deterministyczną skończenie stanową maszyną, 2. F S. Używając oznaczeń z paragrafu 1.1.1, możemy przedstawić automaty skończone na diagramie. Aby wskazać, że dany stan jest stanem końcowym, oznaczamy go podwójnym okręgiem: Definicja Niech K = (A, F ) będzie automatem skończonym nad alfabetem Σ. Obliczeniem automatu K na słowie u Σ nazywamy obliczenie maszyny A na u. Podobnie obliczeniem deterministycznego automatu skończonego K = (Ã, F ) na u nazywamy obliczenie maszyny deterministycznej à na u. Przedmiotem naszych rozważań będą szczególne rodzaje słów słowa akceptowane przez automat skończony, tzn. takie, na których przeprowadza on udane obliczenie. Udane, czyli rozpoczynające się w stanie początkowym i kończące w stanie akceptującym. Formalna definicja słowa akceptowanego przez K (odpowiednio K) jest następująca. Definicja Mówimy, że automat skończony K = (A, F ) nad alfabetem Σ akceptuje słowo u = σ 0 σ 1... σ m Σ 12

14 jeśli istnieje obliczenie s 0 s 1... s m+1 maszyny A na słowie u takie, że s m+1 F. Oto przykłady automatów skończonych i słów przez nie akceptowanych. Przykład Niech Σ = {a, b}. Rozważmy automat skończony K = (A, F ), gdzie 1. A = ({s 0, s 1, s 2 }, {s 0 }, T ). 2. Funkcja przejścia T jest zilustrowana na diagramie F = {s 1, s 2 } Rysunek 1.1: Diagram przejść automatu K. Niech u = ababaa Σ będzie słowem wejściowym automatu skończonego K. Ciąg stanów s 0 s 1 s 0 s 1 s 0 s 1 s 2 jest obliczeniem K na u takim, że s 2 F. Zatem słowo u jest akceptowane przez automat skończony K. Przykład że Rozważmy automat skończony K = (A, F ) nad alfabetem Σ = {a, b} taki, 1. A = {s 0, s 1, s 2, s 3, s 4, s 5 }, {s 0 }, T ). 2. Funkcję przejścia T opisuje diagram na rysunku F = {s 0, s 2 }. Rysunek 1.2: Diagram przejść automatu K. Niech u = aaaaaabb Σ będzie słowem wejściowym automatu skończonego K. Obliczeniem, poprzez które K akceptuje słowo u jest: s 0 s 1 s 2 s 0 s 1 s 2 s 3 s 5 s 0. 13

15 Języki rozpoznawane przez automaty skończone Niech K = (A, F ) będzie automatem skończonym. Rozważmy zbiór wszystkich skończonych słów akceptowanych przez K. Niech L(K) := {u Σ K akceptuje u}. Definicja Mówimy, że język L jest rozpoznawany przez automat skończony, jeśli istnieje automat skończony K taki, że L = L(K). Przykład Oto przykłady automatów skończonych nad alfabetem Σ = {a, b} oraz języków przez nie rozpoznawanych. 1. K 1 = (({s 0, s 1 }, {s 0 }, T 1 ), {s 1 }). Funkcję przejścia T 1 opisuje poniższy diagram. Wtedy L(K 1 ) = Σ. 2. K 2 = (({s 0, s 1, s 2 }, {s 0 }, T 2 ), {s 2 }). Funkcję przejścia T 2 opisuje poniższy diagram. Wówczas L(K 2 ) = {u Σ u zaczyna się symbolem a i kończy symbolem b}. 3. K 3 = (({s 0, s 1, s 2 }, {s 0 }, T 3 ), {s 1 }). Funkcję przejścia T 3 opisuje poniższy diagram : Wtedy L(K 3 ) = {u Σ u kończy się symbolem a}. 14

16 4. K 4 = (({s 0, s 1, s 2, s 3, s 4 }, {s 0 }, T 4 ), {s 4 }). Funkcję przejścia T 4 opisuje poniższy diagram. Wówczas L(K 4 ) = {u Σ u zawiera ciąg aabb}. 5. K 5 = (({s 0, s 1, s 2, s 3, s 4, s 5 }, {s 0 }, T 5 ), {s 5 }). Funkcję przejścia T 5 opisuje poniższy diagram. Wtedy L(K 5 ) = {u Σ długość u jest wielokrotnością liczby 5} Równoważność automatów deterministycznych i niedeterministycznych Na każdy automat deterministyczny można spojrzeć jak na automat niedeterministyczny. W związku z tym klasa języków rozpoznawanych przez DFA zawiera się w klasie języków rozpoznawanych przez NFA. Okazuje się, że zachodzi również zawieranie w drugą stronę. Dowód tego faktu sprowadza się do pokazania, że każdy niedeterministyczny automat skończony może byś symulowany przez pewien deterministyczny automat skończony, tzn. że dla dowolnego NFA możemy zbudować DFA rozpoznający ten sam język. Oba modele obliczeń są więc równoważne w tym sensie, że klasy języków przez nie rozpoznawanych są takie same. Ta własność jest bardzo użyteczna, bowiem czasem o wiele łatwiej jest opisać NFA akceptujący dany język niż DFA. Twierdzenie 1.18 ([3]). Dla dowolnego niedeterministycznego automatu skończonego K = (A, F ) istnieje deterministyczny automat skończony K taki, że L(K) = L( K). Dowód. ([3]) Niech K = (A, F ) będzie niedeterministycznym automatem skończonym, A = (S, I, T ). Definiujemy: K = (Ã, F ), Ã = (S, {I}, T ) gdzie : 15

17 1. S = P(S); 2. T : S Σ S jest taka, że dla dowolnego X S, σ Σ, kładziemy T (X, σ) := s X T (s, σ); 3. F = {X S X F }. Dla wszystkich X i σ, T (X, σ) istnieje i jest jedyne, więc T jest rzeczywiście funkcją: T : S Σ S. Ponadto, ponieważ zbór stanów początkowych ma jeden element, to zdefiniowany przez nas automat jest DFA. Pokażemy, że L(K) = L( K). ( ) Niech u = σ 0 σ 1... σ m Σ będzie słowem akceptowanym przez K. Istnieje zatem obliczenie r = s 0 s 1 s 2... s m+1 niedeterministycznego automatu skończonego K na u takie, że s m+1 F (1.1) oraz i {0,..., m} s i+1 T (s i, σ i ). (1.2) Definiujemy indukcyjnie zbiory S i, i = 0,..., m + 1: S 0 := I S i+1 := T (S i, σ i ) = s S i T (s, σ i ) dla i m (1.3) Indukcyjnie pokażemy, że i = 0,..., m + 1 s i S i. Ponieważ r jest obliczeniem, to s 0 I = S 0. Załóżmy, że dla pewnego i < m s i S i. Wtedy 1) s i+1 T (s i, σ i ), na mocy (1.2); 2) T (s i, σ i ) T (s, σ i ) (1.3) = S i+1. s S i Stąd s i+1 S i+1. Na mocy zasady indukcji matematycznej i m s i S i, a zatem s m+1 S m+1. Ponieważ s m+1 F, to S m+1 F. Stąd S m+1 F. Ciąg S 0... S m+1 spełnia definicję obliczenia akceptującego automatu K na słowie u, a zatem u L( K). ( ) Niech teraz słowo u = σ 0 σ 1... σ m L( K) oraz niech ciąg stanów z S S 0 S 1... S m+1 16

18 będzie obliczeniem K na u takim, że S m+1 F. (1.4) Z definicji obliczenia, i {0,..., m} T (S i, σ i ) = S i+1. Indukcyjnie, indukcją na i {0,..., m + 1} zdefiniujemy ciąg stanów z S s k s k+1... s m+1, gdzie k = m + 1 i taki, że: 1) s m+1 F oraz 2) s j+1 T (s j, σ j ) dla dowolnego j {k, k + 1,..., m} i 3) s j S j, dla dowolego j {k,..., m + 1}. Gdy taki ciąg zostanie zdefiniowany dla każdego i {0,..., m + 1}, to dla i = m + 1, otrzymamy: k = 0 i ciąg s 0... s m+1 spełnia warunki 1) 2), mianowicie: s m+1 F, j {0,..., m} s j+1 T (s j, σ j ). Będzie więc to obliczenie akceptujące słowo u przez K, co zakończy dowód, że u L(K). Aby uzupełnić dowód wystarczy więc teraz podać indukcyjną definicję ciągu s k... s m+1, dla k = m + 1 i, spełniającego warunki 1) 3). Zauważmy najpierw, że skoro na mocy (1.4) S m+1 F, to z definicji F, S m+1 F. Niech więc, dla i = 0, s m+1 będzie dowolnym elementem niepustego zbioru S m+1 F. Wtedy warunek 1) jest oczywisty, jak również warunek 3) dla j = m + 1. Ponieważ k = m + 1, to warunek 2) jest pusto spełniony. Przypuśćmy teraz, że dla pewnego i {0,..., m} i dla k = m + 1 i ciąg s k... s m+1 spełniający 1) 3) został już zdefiniowany. Zdefiniujemy stan s k 1. Zauważmy, że k 1 = m + 1 i 1 = m i m. Z 3), s k S k. Ale, ponieważ k 1 m, to z definicji K, S k = T (s, σ k 1 ). s S k 1 Stąd s k T (s, σ k 1 ), więc s S k 1 taki, że s k T (s, σ k 1 ). s S k 1 Niech s k 1 będzie takim s. Wtedy s k T (s k 1, σ k 1 ) oraz s k 1 S k 1. Zatem ciąg s k 1... s m+1 spełnia warunki 1) i 2). Warunek 3) pozostaje spełniony, z założenia indukcyjnego. Przykład

19 Prześledźmy działanie procedury z dowodu twierdzenia 1.18 przekształcającej niedeterministyczny automat skończony w deterministyczny automat skończony na przykładzie automatu K 2 z przykładu Przypomnijmy, że K 2 ma następujący diagram przejść: Zgodnie z konstrukcją przedstawioną w dowodzie twierdzenia 1.18, deterministyczny automat skończony równoważny niedeterministycznemu automatowi skończonemu K 2 jest następujący: K = (Ã, F ), gdzie: 1. Ã = (S, {I}, T ). 2. S = {, {s 0 }, {s 1 }, {s 2 }, {s 0, s 1 }, {s 0, s 2 }, {s 1, s 2 }, {s 0, s 1, s 2 }}. 3. I S jest stanem początkowym. 4. Funkcja przejścia T jest opisana za pomocą diagramu 1.3. Rysunek 1.3: Proces tworzenia diagramu 1.3 zilustrujemy na kilku przykładach. Ze stanu {s 0 } poprzez symbol a automat K 2 przechodzi do stanu {s 1 }, ponieważ w K 2 strzałki z etykietą a od stanu s 0 prowadzą tylko do stanu s 1. Dla automatu K 2 nie istnieje przejście poprzez symbol b od stanu s 0 zatem w 18

20 K 2 będąc w stanie {s 0 } i czytając b następuje przejście do stanu. Ze stanu {s 1 } automat K 2 przechodzi do stanu {s 1, s 2 }, czytając symbol wejściowy b, gdyż K 2 będąc w stanie s 1 i czytając b może wejść w stan s 2, bądź pozostać w s 1. Ponieważ automat K 2 będąc w stanie s 1 i czytając symbol a może tylko pozostać w s 1 oraz nie istnieje przejście tego automatu ze stanu s 2 poprzez a, automat deterministyczny K 2 znajdujący się aktualnie w {s 1 }, po przeczytaniu a pozostanie w {s 1 }. Będąc w stanie {s 1, s 2 } po przeczytaniu b, K 2 nie zmieni stanu, bowiem w automacie K 2 nie istnieje przejście od stanu s 2 poprzez b oraz będąc w stanie s 1 automat K 2 może pozostać w s 1 lub wejść w s 2. Z kolei będąc w stanie {s 1, s 2 } i czytając symbol a nastąpi przejście K 2 do {s 1 }, ponieważ w K 2 nie istnieje przejście od stanu s 2 poprzez a oraz będąc w s 1 i czytając a, automat K 2 może tylko pozostać w s 1. Postępując dalej w podobny sposób, dostaniemy kompletny diagram 1.3 dla K 2. Otrzymany automat deterministyczny możemy uprościć, zauważając, że nie ma krawędzi prowadzących do stanów {s 2 }, {s 0, s 1 }, {s 0, s 2 } i {s 0, s 1, s 2 }. Po usunięciu wspomnianych stanów otrzymamy nowy automat (Rysunek 1.4.), ale będzie on nadal rozpoznawał ten sam język co automat K 2. Rysunek 1.4: 19

21 Rozdział 2 Automat Büchi ego jako przykład ω-automatu W poprzednim rozdziale zajmowaliśmy się skończonymi obliczeniami maszyn skończenie stanowych na słowach dowolnej skończonej długości. Na wejściu skończenie stanowej maszyny może się jednak znaleźć słowo nieskończone. Wtedy maszyna wykonuje na nim obliczenie tak samo, jak na słowie skończonej nieznanej długości; tyle, że takie obliczenie, jeśli się udaje je przeprowadzić, nigdy się nie kończy. Skończony automat nigdy nie zaakceptuje więc takiego słowa chyba, że inaczej zdefiniujemy kryterium akceptacji. Najogólniej, modelem obliczeń nieskończonych nazywać będziemy parę (A, Acc), gdzie Acc częściowo koduje pewne kryterium akceptacji i nazywane jest czynnikiem akceptującym. Pierwszy historycznie czynnik akceptujący został zaproponowany przez R. J. Büchi ego i z tej racji automat wyposażony w ten czynnik, nazywa się automatem Büchi ego. W tym rozdziale wprowadzimy definicję automatu Büchi ego oraz pojęcia słowa i języka akceptowanego przez ten automat. W ostatnim paragrafie zbadamy, czy podobnie jak dla automatów skończonych, deterministyczne oraz niedeterministyczne automaty Büchi ego są sobie równoważne. Odpowiedź okaże się negatywna. W rozdziale kolejnym omówimy inne przykłady czynników akceptujących Pojęcia wstępne Niech Σ będzie alfabetem. Definicja 2.1 ([3]). ω-ciągiem nad alfabetem Σ nazywamy funkcję σ prowadzącą ze zbioru ω liczb naturalnych w alfabet Σ. Niech α : ω Σ będzie ω-ciągiem. Wtedy dla każdego i ω α(i) Σ. Niech 20

22 σ i := α(i). Wówczas piszemy α = σ 0 σ 1... σ m σ m+1... na oznaczenie ω-ciągu α. 21

23 Przykład 2.2. Niech Σ będzie jednoznakowym alfabetem, powiedzmy Σ = {a}. Wówczas istnieje tylko jeden ω-ciąg nad Σ: aaaaaaaaaaaaaaaaaaaaaa.... Powyższy ω-ciąg, w którym występuje tylko znak a oznacza się krótko symbolem a ω. Przykład 2.3. Niech Σ = {a, b}. Wtedy babababababababababababababa... oraz bbabbabbabbabbabbabbabbabbabba... są ω-ciągami. Taki ω-ciąg, w którym jedna po drugiej, nieskończenie wiele razy, powtarza się sekwencja u, gdzie u jest skończonym słowem oznaczamy u ω. Wtedy ω-ciągi z przykładu 2.3 to odpowiednio (ba) ω i (bba) ω. Rozważmy zbiór wszystkich ω-ciągów α nad alfabetem Σ, tzn. zbiór Σ ω = {α α : ω Σ}. Elementy zbioru Σ ω będziemy nazywać ω-słowami, bądź krótko słowami. Od tej pory przyjmujemy małe litery greckie σ, α, β, γ na oznaczenie ω-słow. Definicja 2.4 ([3]). ω-językiem nazywamy dowolny podzbiór zbioru Σ ω. Teraz zdefiniujemy pojęcie obliczenia skończenie stanowej maszyny na ω- słowie. Niech A będzie maszyną niedeterministyczną. Definicja 2.5 ([1]). Obliczeniem maszyny A na ω-słowie α = σ 0 σ 1 σ 2... jest ω-ciąg stanów ρ(0)ρ(1)ρ(2)ρ(3)... taki, że 1. ρ : ω S 2. ρ(0) I 3. ρ(i) T (ρ(i 1), σ i 1 ) dla i 1. 22

24 Zastanówmy się nad intuicyjnym sensem definicji 2.5. Otóż działanie maszyny jest procesem wieloetapowym. Jego przebieg można oddać w następujący sposób. Etap 0. Maszyna A wybiera dowolny element s 0 I. Etap 1. Jeśli nie istnieje s 1 S taki, że s 1 T (s 0, σ 0 ), wówczas maszyna zatrzymuje się. W przeciwnym wypadku A wybiera w sposób losowy stan s 1 T (s 0, σ 0 ). Maszyna A dopisuje s 1 do ciągu odwiedzonych stanów na tym etapie mamy: s 0 s 1. Etap k. Przypuśćmy, że maszyna A utworzyła już ciąg s 0 s 1... s k 1. Jeśli nie istnieje stan s k S taki, że s k T (s k 1, σ k 1 ), to maszyna nie zdoła przeczytać słowa α. W przeciwnym przypadku A wybiera w sposób losowy stan s k T (s k 1, σ k 1 ). Jeśli na każdym etapie k został wybrany stan s k, to maszyna zwróci nam ciąg stanów s 0 s 1 s 2..., który jest obliczeniem maszyny A na wejściu α. W przypadku maszyny deterministycznej obliczenie na danym ω-słowie zawsze istnieje i jest jedyne. Definicja 2.6 ([1]). Obliczeniem maszyny deterministycznej à = (S, {s 0}, T ) na ω-słowie α = σ 0 σ 1 σ 2... jest ω-ciąg stanów ρ(0)ρ(1)ρ(2)ρ(3)... taki, że 1. ρ : ω S 2. ρ(0) = s 0 3. ρ(i) = T (ρ(i 1), σ i 1 ) dla i 1. Przykład 2.7. Rozważmy maszynę A 1 z przykładu 1.3. Przypuśćmy, że słowem wejściowym tej maszyny jest słowo α = (aaabbb) ω Wówczas obliczeniem maszyny A 1 na α będzie ciąg stanów ρ = s 0 s 1 s 2 s 2 s 3 s 4 s 5 (s 0 s 1 s 2 s 3 s 4 s 5 ) ω 23

25 Przykładem słowa, na którym A 1 nie ma obliczenia jest β = b ω Istotnie, maszyna zatrzyma się już po przeczytaniu pierwszego znaku b. Zgodnie z diagramem przejść, nie istnieje przejście maszyny A 1, gdy znajduje się ona w stanie s 0 i czyta symbol b. Przykład 2.8. Rozważmy maszynę A 2 z przykładu 1.3. Niech γ = aaabbbbaba(b) ω. będzie słowem wejściowym maszyny A 2. Maszyna ta ma więcej niż jedno obliczenie na słowie γ. Przykładowo ρ 1 = s 0 s 1 s 1 s 1 s 2 s 3 s 3 s 3 s 4 s 2 (s 0 ) ω oraz ρ 2 = s 0 s 1 s 2 s 0 s 0 s 0 s 0 s 0 s 1 s 2 (s 0 ) ω są obliczeniami A 2 na γ. Powiemy, że stan s występuje nieskończenie wiele razy w obliczeniu ρ wtedy i tylko wtedy, gdy zbiór {i : s = ρ(i)} jest nieskończony. Definicja 2.9 ([3]). Niech ρ będzie obliczeniem maszyny A. Symbolem In(ρ) oznaczmy zbiór tych wszystkich stanów, które wystąpiły w ρ nieskończenie wiele razy. Zbiór In(ρ) nazywamy nieskończonym zbiorem obliczenia ρ. Przykład Przyjrzyjmy się ponownie maszynom A 1, A 2 i ich obliczeniom, odpowiednio ρ oraz ρ 1, ρ 2. Dla tych obliczeń In(ρ) = {s 0, s 1, s 2, s 3, s 4, s 5 }, In(ρ 1 ) = {s 0 }, In(ρ 2 ) = {s 0 }. Wprowadźmy teraz definicję automatu Büchi ego Definicja Automatu Büchi ego Niech Σ będzie alfabetem. Definicja Niedeterministycznym automatem Büchi ego (w skrócie NAB) nad alfabetem Σ nazywamy parę B = (A, F ) taką, że: 24

26 1. A = (S, I, T ) jest skończenie stanową niedeterministyczną maszyną. 2. F S. Zgodnie z powyższą definicją automat Büchi ego jest układem złożonym z maszyny A oraz zbioru F. Zbiór F, podobnie jak dla automatów skończonych, jest zbiorem stanów końcowych. Od tej pory zamiast niedeterministyczny automat Büchi ego będziemy mówić automat Büchi ego w skrócie AB. Definicja Deterministycznym automatem Büchi ego (w skrócie DAB) nad alfabetem Σ nazywamy parę B = (Ã, F ) taką, że 1. Ã jest skończenie stanową deterministyczną maszyną. 2. F S. W podobny sposób jak automaty skończone, automaty Büchi ego można przedstawić za pomocą diagramu. Definicja Niech B = (A, F ) będzie automatem Büchi ego nad alfabetem Σ. Obliczeniem automatu B na ω-słowie α Σ ω nazywamy obliczenie maszyny A na α. Przedmiotem naszych dalszych rozważań będą słowa akceptowane przez automat Büchi ego. Definicja 2.14 ([3]). Niech B = (A, F ) będzie automatem Büchi ego nad alfabetem Σ, α Σ ω. Niech R będzie zbiorem wszystkich obliczeń automatu B na α. Mówimy, że α jest akceptowane przez B, jeżeli ρ R In(ρ) F. Intuicyjny sens powyższej definicji jest następujący: dane ω-słowo α jest akceptowane przez automat Büchi ego B jeśli istnieje obliczenie tego automatu na α w którym pewien stan końcowy występuje nieskończenie wiele razy. Oto przykłady automatów Büchi ego oraz słów przez nie akceptowanych. Przykład Rozważmy automat Büchi ego B = (A 4, F ), F = {s 2 }. Diagram przejść automatu B wygląda następująco: 25

27 Niech α = aaabbb(a) ω będzie słowem wejściowym dla B. Wówczas obliczeniem AB na tym słowie jest ciąg ρ 4 = s 0 s 0 s 0 s 0 s 1 s 0 s 1 (s 2 ) ω Automat Büchiego B akceptuje słowo α, ponieważ stan końcowy s 2 występuje w obliczeniu ρ 4 nieskończenie wiele razy. Przykład Rozważmy automat Büchi ego B = (A 2, F ), gdzie A 2 jest automatem z przykładu 1.3, F = {s 0 }. Ponieważ funkcja przejścia dla B i A 2 są takie same, to diagram przejść dla B (rysunek 2.1) różni się od diagramu przejść dla A 2 zaznaczeniem stanów końcowych. Rysunek 2.1: Diagram przejść automatu Büchi ego B Automat B akceptuje słowo β = aaabbbbaba(b) ω Weźmy obliczenie ρ 1 automatu A 2 na tym słowie. Stan akceptujący s 0 występuje tu nieskończenie wiele razy Języki akceptowane przez AB Niech B będzie AB. Rozważmy zbiór L(B) wszystkich ω-słów akceptowanych przez automat B: L(B) = {α Σ ω B akceptuje α}. 26

28 Definicja 2.17 ([3]). Powiemy, że ω-język L jest rozpoznawany przez AB, jeśli istnieje automat Büchi ego B taki, że L = L(B). W tym wypadku mówimy, że automat B akceptuje język L. Przykład 2.18 ([5]). Niech teraz Σ = {a, b}. Rozważmy język L 1 = {α Σ ω : {n : α(n) = b} jest zbiorem skończonym}. Przykładem AB akceptującego język L 1 jest AB postaci: B L1 = (({s 0, f}, {s 0 }, T, {f}} Funkcję przejścia T automatu B L1 opisuje poniższy diagram. Wszystkie słowa należące do L 1 są postaci α = u(a) ω, u Σ. Załóżmy, że słowo u jest długości k, k ω. Wówczas przykładowymi obliczeniami automatu B L1 na α, poprzez które α zostanie zaakceptowane są: ρ = (s 0 ) k f ω (gdy ostatnim symbolem w u jest a ), ρ = (s 0 ) k+1 f ω (gdy ostatnim symbolem w u jest b ). ρ = f ω, gdy u jest słowem pustym. Definicja Niech à = (S, {s 0}, T } będzie maszyną deterministyczną oraz niech u = σ 1 σ 2... σ m Σ będzie słowem skończonym nad alfabetem Σ. Powiemy, że słowo skończone u przekształca stan s S na stan s S, jeśli istnieje ciąg stanów s 1 s 2... s m+1 taki, że s 1 = s, s m+1 = s oraz T (s i, σ i ) = s i+1 dla i m. Będziemy wtedy mówić, że stan s jest osiągalny od stanu s poprzez słowo u. Zbiór wszystkich stanów osiągalnych od stanu s oznaczmy symbolem O(s). Wprowadźmy funkcję T : S Σ S; T (s, u) = s dla s, s S, u Σ wtedy i tylko wtedy gdy stan s jest osiągalny od s poprzez słowo u. Udowodnimy teraz następujący lemat. 27

29 Lemat 2.20 ([5]). Nie istnieje deterministyczny automat Büchi ego, który rozpoznaje L 1 = {α Σ ω : {n : α(n) = b} jest zbiorem skończonym}. Dowód. ([5]) Dla dowodu nie wprost przypuśćmy, że B jest deterministycznym automatem Büchi ego takim, że L( B) = L 1. Z definicji L 1 α Σ ω α L( B) u Σ α = ua ω. (2.1) Pokażemy, że s O(s 0 ) m = m s T (s, a m ) F. (2.2) Istotnie, niech s będzie osiągalny z s 0. Wtedy u Σ : s = T (s 0, u). Dla tego słowa u zdefiniujmy α := ua ω. Wtedy z (2.1), α L( B). Zatem m ω T (s 0, ua m ) F. Stąd T (s, a m ) F. Niech m s będzie najmniejszą taką liczbą m ω, że T (s, a m ) F. Wykazaliśmy: s O(s 0 ) T (s, a ms ) F. (2.3) Niech m := max{m s : s O(s 0 )}. Takie m istnieje, bo zbiór O(s 0 ) S jest skończony. Wtedy dla dowolnego u Σ, T (s 0, ua ms ) F (na mocy (2.3)). Ponieważ m s < m, to obliczenie r automatu B na słowie ua m zawiera stan T (s 0, ua ms ), a więc zawiera pewien stan końcowy. Mamy więc: u Σ f F : obliczenie automatu à na słowie ua m przechodzi przez f. (2.4) Niech r (1) będzie obliczeniem à na słowie a(bam ). Wtedy na mocy (2.4), r (1) zawiera pewien stan końcowy. (2.5) Niech dla k 1, r (k) oznacza obliczenie à na słowie skończonym a(bam ) k. Rozważmy ciąg r (k+1) \r (k). Jest on obliczeniem na słowie skończonym (ba m ), które zaczyna się od stanu osiągniętego przez r (k). Na mocy (2.4) ciąg stanów r ( k + 1) \ r ( k) zawiera pewien stan końcowy, a więc k f F : f występuje w r (k+1) \ r (k). (2.6) Stąd i z (2.5), r (k) zawiera co najmniej k stanów końcowych. Niech ρ będzie obliczeniem automatu à na nieskończonym słowie a(bam ) ω. Wtedy dla każdego k, ρ... r k+1 r (k) r (1). (2.7) 28

30 Zatem z (2.7) i (2.6), zbiór {i : ρ(i) F } jest nieskończony. (2.8) Chcemy uzasadnić, że f In F. Niech dla f F R f = {i : ρ(i) = f}. Wtedy R f = {i : ρ(i) F }. f F Ponieważ F jest zbiorem skończonym, to powyższa suma ma skończoną ilość składników. Na mocy (2.8), musi istnieć więc f F taki, że R f jest nieskończony. Zatem f F {i : ρ(i) = f} jest nieskończony. Niech f będzie takim właśnie stanem. Wtedy f In(ρ) F. Stąd In(ρ) F. ω-słowo a(ba m ) ω jest więc akceptowane przez B, a więc a(ba m ) ω L( B). Nie jest ono jednak postaci ua ω, dla żadnego u Σ. Tak więc otrzymaliśmy sprzeczność z (2.1). Ta sprzeczność kończy dowód lematu. Jako wniosek z Lematu 2.20 i Przykładu 2.18 otrzymujemy natychmiast: Twierdzenie Istnieją języki, które są akceptowane przez pewne niedeterministyczne automaty Büchi ego, a przez deterministyczne automaty Büchi ego nie. Widzimy zatem, że niedeterministyczne automaty Büchi ego są silniejsze od ich deterministycznej wersji, tzn. że klasa języków rozpoznawanych przez DAB zawiera się w sposób właściwy w klasie języków rozpoznawanych przez NAB. 29

31 Rozdział 3 Inne typy ω-automatów Celem tego rozdziału jest przedstawienie kolejnych typów ω-automatów. Prezentowane tu modele obliczeń nieskończonych zaproponowane przez Müllera, Rabina oraz Streeta stanowią pewną modyfikację automatu Büchi ego. Różnica dotyczy postaci czynnika akceptującego, który w przypadku automatów Müllera będzie zadany jako zbiór podzbiorów stanów G P(S), natomiast dla automatów Rabina i Streeta jako zbiór skończonych par podzbiorów Ω = {(N i, P i ) S S : i = 1, 2,..., n}. Wprowadzenie nowych czynników akceptujących wymagało zmiany definicji słowa akceptującego przez odpowiednie automaty Automaty Müllera Niech Σ będzie alfabetem. Definicja 3.1. Niedeterministycznym automatem Müllera (w skrócie NAM) nad alfabetem Σ nazywamy parę M = (A, G), gdzie 1. A = (S, I, T ) jest skończenie stanową niedeterministyczną maszyną, 2. G P(S). W dalszym ciągu niedeterministyczne automaty Müllera będziemy nazywać automatami Müllera. Według powyższej definicji automat Müllera jest układem złożonym z dwóch elementów maszyny A oraz tzw. rodziny zbiorów końcowych G. Elementami G będą pewne podzbiory zbioru S. Używając takich samych oznaczeń jak w przypadku skończenie stanowych maszyn, AM możemy zilustrować za pomocą diagramu. Pojęcie automatu Müllera ma też swoją deterministyczną wersję. 30

32 Definicja 3.2. Deterministycznym automatem Müllera (w skrócie DAM) nad alfabetem Σ nazywamy parę M = (Ã, G) taką, że: 1. Ã jest skończenie stanową deterministyczną maszyną, 2. G P(S). W jaki sposób automaty Müllera wykonują obliczenia i akceptują słowa? Definicja 3.3. Obliczeniem automatu Müllera M na ω słowie α Σ ω nazywamy obliczenie maszyny A na α. Definicja 3.4 ([3]). Niech ρ będzie obliczeniem automatu Müllera M na pewnym ω-słowie α. Mówimy, że ω-słowo α jest akceptowane przez automat M jeśli In(ρ) G. Niech L(M) będzie zbiorem wszystkich ω-słów akceptowanych przez automat Müllera M. Definicja 3.5 ([3]). Powiemy, że ω-język L Σ ω jest rozpoznawany (akceptowany) przez AM, jeśli istnieje automat Müllera M taki, że L = L(M). Przykład 3.6. Rozważmy automat Müllera M = (Ã, G) nad alfabetem Σ = {a, b}. Poniższy rysunek pokazuje diagram przejść maszyny Ã. W zależności od tego jak zdefiniujemy zbiór G, zmieni się język rozpoznawany przez M. I tak, jeśli G 1 = {s 0 }, to wówczas automat M 1 = (Ã, G 1) akceptuje wszystkie słowa, w których symbol b występuje skończenie wiele razy; G 2 = {f}, to wtedy M 2 = (Ã, G 2) rozpoznaje język złożony ze wszystkich słów, w których a występuje skończenie wiele razy; G 3 = {{s 0 }, {s 0, f}} - w tym wypadku M 3 = (Ã, G 3) akceptuje wszystkie słowa w których albo a i b występują nieskończenie wiele razy, albo b - skończenie wiele razy; G 4 = {{f}, {s 0, f}}, to wówczas M 4 = (Ã, G 4) akceptuje wszystkie słowa w których albo a i b występują nieskończenie wiele razy, albo a - skończenie wiele razy. 31

33 G 5 = {s 0, f}, to M 5 = (Ã, G 5) akceptuje wszystkie słowa w których a i b występują nieskończenie wiele razy. Powyższy przykład automatu M 1 pokazuje, że deterministyczne automaty Müllera mogą rozpoznawać języki, których nie rozpozna żaden deterministyczny automat Büchi ego. Mianowicie język rozpoznawany przez M 1 z Przykładu 3.6 to dokładnie ten sam język L 1 = {α Σ ω : {n : α(n) = b} jest zbiorem skończonym}, o którym w Lemacie 2.20 wykazano, że nie jest on rozpoznawany przez żaden DAB. Jaka jest więc relacja pomiędzy DAM i DAB? Otóż klasa języków rozpoznawanych przez DAM zawiera klasę języków rozpoznawanych przez DAB. Mówi o tym następujące twierdzenie. Twierdzenie 3.7 ([1]). Niech B = (Ã, F ) będzie deterministycznym automatem Büchi ego. Wówczas istnieje deterministyczny automat Müllera M taki, że L( B) = L( M). Dowód. ([1]) Niech B = (Ã, F ) będzie DAB. Konstrukcja żądanego automatu Müllera jest następująca: Wykażemy, że L( B) = L( M). ( ) Niech α L( B) oraz M = (Ã, G), gdzie G = {G P(S) G F }. r = s 0 s 1 s 2..., będzie obliczeniem automatu B na α takim, że In(r) F. Z konstrukcji automatu M, wynika, że r jest również obliczeniem automatu M na α. Ponadto z definicji G, In(r) G. Zatem r jest obliczeniem automatu M na α, poprzez które słowo α jest akceptowane przez M. Stąd α L( M). ( ) Niech teraz α L( M). Każde obliczenie automatu M na α,jest również obliczeniem DAB na tym samym słowie. Niech r 1 będzie obliczeniem automatu M, poprzez które α jest akceptowane, tzn. takim, że In(r 1 ) G. Skoro In(r 1 ) G to In(r 1 ) F. Zatem α L( B). Znamy już związek pomiędzy DAM i DAB. Pójdźmy o krok dalej i zastanówmy się nad relacją między NAB i NAM. Okazuje się, że te dwa pojęcia są sobie równoważne. Fakt ten udowonimy w rozdziale czwartym Automaty Rabina Niech Σ będzie alfabetem. 32

34 Definicja 3.8. Niedeterministycznym automatem Rabina nad alfabetem Σ (w skrócie NAR), nazywamy parę R = (A, Ω), gdzie 1. A jest skończenie stanową niedeterministyczną maszyną, 2. t ω + Ω = {(N 1, P 1 ),..., (N t, P t )}; i {1,..., t} N i S, P i S. (3.1) Podobnie jak w przypadku automatów Müllera, automat Rabina jest układem, w którym pierwszym elementem jest pewna maszyna niedeterministyczna. Nowym komponentem jest zbiór Ω złożony z par podzbiorów zbioru stanów S. Każda para (N i, P i ) Ω zawiera w sobie informację o stanach, których pojawienie się podczas obliczeń automatu jest uznawane za rzecz negatywną (elementy N i ), bądź pozytywną (elementy P i ). Tzn. stany wchodzące w skład zbioru N i symbolizują możliwość wystąpienia niepożądanych zjawisk, np. zawieszenie maszyny; natomiast stany należące do P i zdarzenia, które uważamy za sprzyjające. Definicja 3.9. Deterministycznym automatem Rabina (w skrócie DAR) nad alfabetem Σ nazywamy parę R = (Ã, Ω) taką, że 1. Ã jest skończenie stanową deterministyczną maszyną, 2. Ω = {(N 1, P 1 ),..., (N t, P t )}; N i S, P i S, i {1,..., t}. Analogicznie jak w przypadku automatów Müllera definiuje się pojęcie obliczenia dla automatów Rabina. Tymczasem definicja słowa akceptowanego przez AR brzmi następująco. Definicja 3.10 ([1]). Niech R = (A, Ω), gdzie Ω jest postaci (3.1), będzie automatem Rabina oraz niech ρ będzie obliczeniem tego automatu na pewnym ω-słowie α. Mówimy, że R akceptuje słowo α jeżeli 1 i t ( In(ρ) N i = In(ρ) P i ). Intuicyjnie, NAR R akceptuje ω-słowo α, jeśli podczas obliczenia R na α pewne sprzyjające zdarzenia występują nieskończenie wiele razy, podczas gdy pewne związane z nimi zdarzenia niepożądane po jakimś czasie przestają występować. Niech L(R) będzie zbiorem wszystkich ω słów akceptowanych przez automat Rabina R. Definicja 3.11 ([3]). Powiemy, że ω-język L Σ ω jest rozpoznawany (akceptowany) przez AR, jeśli istnieje automat Rabina R taki, że L = L(R). Przykład

35 Rozważmy automat Rabina R = (Ã, Ω) nad alfabetem Σ = {a, b}; à maszyną deterministyczną z przykładu 3.6. Jeśli jest Ω 1 = {({s 0 }, {f})}, to R 1 = (Ã, Ω 1) akceptuje wszystkie słowa, które zawierają skończenie wiele symboli a i nieskończenie wiele symboli b, przyjmując Ω 2 = {, {f}} otrzymamy automat R 2 = (Ã, Ω 2) rozpoznający język L = {α Σ ω α zawiera nieskończenie wiele znaków b}. Okazuje się, że moc obliczeniowa DAR i DAM jest taka sama, tzn. oba automaty rozpoznają te same ω-języki. Świadczą o tym kolejne dwa twierdzenia. Twierdzenie 3.13 ([1]). Dla dowolnego deterministycznego automatu Rabina R = (Ã, Ω) istnieje deterministyczny automat Müllera M taki, że L( R) = L( M). Dowód. ([1]) Niech R = (Ã, Ω) będzie automatem Rabina, gdzie à = (S, {s 0}, T ), Ω jak w (3.1). Konstrukcja szukanego automatu Müllera jest następująca. M = (Ã, G), gdzie G = {G P(S) (N, P ) Ω (G N = G P )} Pokażemy, że L( R) = L( M). ( ) Niech α L( R) oraz niech ρ będzie obliczeniem R na α poprzez które α jest akceptowane. Zatem 1 i t ( In(ρ) N i = In(ρ) P i. (3.2) Z konstrukcji automatu M, ρ jest również obliczeniem M na α. Z (3.2) i definicji G mamy, że In(ρ) G. Stąd α L( M). ( ) Niech teraz α L( M). Każde obliczenie M na α jest obliczeniem DAR R na tym słowie. Niech ρ 1 będzie obliczeniem M, poprzez które α jest akceptowane. Stąd In(ρ 1 ) G. Skoro In(ρ 1 ) G, to Zatem α L( R). (N, P ) Ω ( In(ρ 1 ) N = In(ρ 1 ) P ). Twierdzenie 3.14 ([3]). Dla dowolnego deterministycznego automatu Müllera M = (Ã, G) istnieje deterministyczny automat Rabina R taki, że L( M) = L( R). Dowód. ([3]) Niech M = (Ã, G), gdzie 34

36 1. Ã = (S, {s 0}, T ), s 0 S, 2. G P(S); t ω + G = {Q 1,..., Q t }, i {1,..., t} Q i S. będzie automatem Müllera akceptującym język L. Konstrukcja żądanego automatu Rabina R = (Ã, Ω) jest następująca. 1. Ã = (S, s 0, T ) 2. S = P(Q 1 ) P(Q 2 )... P(Q t ) S. 3. s 0 = (,,...,, s } {{ } 0 ) t 4. T : S Σ S ; ((S 1, S 2,..., S t, s), σ, (S 1, S 2,..., S t, s )) T wtedy i tylko wtedy, gdy: a) T (s, σ) = s b) jeśli S i = Q i, wówczas S i = ; c) jeśli S i Q i, to S i = (S i {s }) Q i, i = 1,..., t. 5. P i = {(S 1,..., S i,..., S t, s) S i = Q i }, i = 1,..., t. 6. N i = {(S 1,..., S i,..., S t, s) s / Q i }, i = 1,..., t. Pokażemy, że L( M) = L( R) ( ) Niech α Σ ω oraz niech ρ będzie obliczeniem deterministycznego automatu Müllera M na α. Natomiast niech ρ będzie obliczeniem automatu Rabina R na α. Twierdzimy, że ρ i ρ wzajemnie się wyznaczają. Istotnie, zauważmy, że ciąg ostatnich współrzędnych obliczenia ρ wyznacza ciąg ρ. Twierdzimy, że ρ jest obliczeniem akceptującym wtedy i tylko wtedy, gdy ρ jest obliczeniem akceptującym. Przypuśćmy, że ρ jest obliczeniem akceptującym słowo α. Wówczas i 0 Q i0 = In(ρ). Wtedy od pewnego miejsca j 0 jako ρ(j) pojawiają się tylko elementy z Q i0 i wszystkie te elementy pojawiają się cyklicznie. Niech (S 1,..., S t, s) = ρ (j 0 ). Wtedy po pewnej ilości kroków, n, obliczenie ρ zawiera wszystkie elementy z Q i0 : S i0 {ρ(j 0 ), ρ(j 0 + 1),..., ρ(j 0 + n)} = Q i0. Wtedy ρ (j 0 + n) = (S 1,..., S i0 1, Q i0,..., S t, ρ(j 0 + n)) powtarza się cyklicznie. Stan ten należy do P i0. A zatem In(ρ ) P i0. Ponieważ dla j j 0 na ostatniej współrzędnej ρ (j 0 ) pojawiają się tylko elementy z Q i0, to s In(ρ) s Q i0. Stąd (S 1,..., S t, s) In(ρ ) s In(ρ) s Q i0 (S 1,..., S t, s) / N i0. Stąd N i0 In(ρ ) =. 35

37 Zatem ρ jest obliczeniem deterministycznego automatu Rabina R akceptującym ω-słowo α. ( ) Niech α L( R) oraz niech r 1 będzie obliczeniem automatu R na α, poprzez które α jest akceptowane. Zatem i 0 In(ρ 1) P i0 In(ρ 1) N i0 =. Oznaczmy przez ρ 1 obliczenie deterministycznego automatu Müllera M na słowie α. Skoro (S 1,..., S i0 1, Q i0, S i0 +1,..., S t, s) In(rho 1), to wtedy Q i0 = In(ρ 1 ). Zatem ρ 1 jest obliczeniem deterministycznego automatu Müllera M na ω-słowie α. Wiemy już że DAR i DAM są sobie równoważne. Co więcej w rozdziale czwartym udowodnimy równoważność NAM, NAR i NAB Automaty Streeta Kolejnym rodzajem ω-automatu, który przedstawimy, jest tzw. automat Streeta. Niedeterministyczny automat Streeta (w skrócie NAS) jest parą S = (A, Ω), gdzie A oraz Ω są zdefiniowane w ten sam sposób jak dla automatów Rabina. Podobnie definicja deterministycznego automatu Streeta pokrywa się z definicją deterministycznego automatu Rabina. Warunek określający kiedy dane słowo zostanie zaakceptowane przez automat Streeta, jest dualny do warunku przyjętego dla automatów Rabina. Brzmi on następująco. Definicja 3.15 ([1]). Niech S = (A, Ω) będzie automatem Streeta oraz niech ρ będzie obliczeniem maszyny A na pewnym ω-słowie α. Mówimy, że S akceptuje słowo α jeżeli i ( In(ρ) N i In(ρ) P i = ) ( równoważnie: i jeśli In(ρ) P i to In(ρ) N i ). Niech L s (S) będzie zbiorem wszystkich ω-słów akceptowanych przez automat Streeta S. Indeks,, s został wprowadzony dla odróżnienia języka akceptowanego przez automat Streeta, od języka akceptowanego przez automat Rabina o tych samych składowych. Definicja Powiemy, że ω-język L Σ ω jest rozpoznawany (akceptowany) przez automat Streeta, jeśli istnieje automat Streeta S taki, że L = L s (S). 36

1 Automaty niedeterministyczne

1 Automaty niedeterministyczne Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów

Bardziej szczegółowo

Imię, nazwisko, nr indeksu

Imię, nazwisko, nr indeksu Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za

Bardziej szczegółowo

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11} Języki Ustalmy pewien skończony zbiór symboli Σ zwany alfabetem. Zbiór Σ zawiera wszystkie skończone ciagi symboli z Σ. Podzbiór L Σ nazywamy językiem a x L nazywamy słowem. Specjalne słowo puste oznaczamy

Bardziej szczegółowo

Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych

Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych Szczepan Hummel Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych 24.11.2005 1. Minimalizacja automatów deterministycznych na słowach skończonych (DFA) [HU] relacja

Bardziej szczegółowo

Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia)

Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia) Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia) Kamil Matuszewski 20 lutego 2017 22 lutego 2017 Zadania, które

Bardziej szczegółowo

złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa

złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa Zadanie 1. Rozważmy jezyk złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa równe. Narysować diagram minimalnego automatu deterministycznego akceptujacego

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 7

Języki formalne i automaty Ćwiczenia 7 Języki formalne i automaty Ćwiczenia 7 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Automaty... 2 Cechy automatów... 4 Łączenie automatów... 4 Konwersja automatu do wyrażenia

Bardziej szczegółowo

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga

Bardziej szczegółowo

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204 Opracował: prof. dr hab. inż. Jan Kazimierczak KATEDA INFOMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 204 Temat: Hardware'owa implementacja automatu skończonego pełniącego

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka

Bardziej szczegółowo

Maszyna Turinga języki

Maszyna Turinga języki Maszyna Turinga języki Teoria automatów i języków formalnych Dr inż. Janusz Majewski Katedra Informatyki Maszyna Turinga (1) b b b A B C B D A B C b b Q Zależnie od symbolu obserwowanego przez głowicę

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 10b: Wzorce i automaty. http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Wzorce i automaty Problematyka wzorców

Bardziej szczegółowo

domykanie relacji, relacja równoważności, rozkłady zbiorów

domykanie relacji, relacja równoważności, rozkłady zbiorów 1 of 8 2012-03-28 17:45 Logika i teoria mnogości/wykład 5: Para uporządkowana iloczyn kartezjański relacje domykanie relacji relacja równoważności rozkłady zbiorów From Studia Informatyczne < Logika i

Bardziej szczegółowo

Jaki język zrozumie automat?

Jaki język zrozumie automat? Jaki język zrozumie automat? Wojciech Dzik Instytut Matematyki Uniwersytet Śląski Katowice wojciech.dzik@us.edu.pl 7. Forum Matematyków Polskich, 12-17 września 2016, Olsztyn Prosty Automat do kawy Przemawiamy

Bardziej szczegółowo

Wyrażenia regularne.

Wyrażenia regularne. Teoretyczne podstawy informatyki Wykład : Wyrażenia regularne. Prof. dr hab. Elżbieta Richter-Wąs.2.202 Wyrażenia regularne Wyrażenia regularne (ang. regular expressions) stanowią algebraiczny sposób definiowania

Bardziej szczegółowo

AUTOMATY SKOŃCZONE. Automat skończony przedstawiamy formalnie jako uporządkowaną piątkę:

AUTOMATY SKOŃCZONE. Automat skończony przedstawiamy formalnie jako uporządkowaną piątkę: AUTOMATY SKOŃCZONE DETERMINISTYCZNY AUTOMAT SKOŃCZONY - DAS Automat skończony jest modelem matematycznym systemu o dyskretnych wejściach i wyjściach. System taki w danej chwili może znajdować się w jednym

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 10: Opis wzorców - wyrażenia regularne. http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Wyrażenia regularne Wyrażenia

Bardziej szczegółowo

Dopełnienie to można wyrazić w następujący sposób:

Dopełnienie to można wyrazić w następujący sposób: 1. (6 punktów) Czy dla każdego regularnego L, język f(l) = {w : każdy prefiks w długości nieparzystej należy do L} też jest regularny? Odpowiedź. Tak, jęsli L jest regularny to też f(l). Niech A będzie

Bardziej szczegółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA I TEORIA ZBIORÓW LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 9

Języki formalne i automaty Ćwiczenia 9 Języki formalne i automaty Ćwiczenia 9 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Maszyna Mealy'ego... 2 Maszyna Moore'a... 2 Automat ze stosem... 3 Konwersja gramatyki bezkontekstowej

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 10: Maszyny Turinga Sławomir Lasota Uniwersytet Warszawski 29 kwietnia 2015 Plan Maszyny Turinga (Niedeterministyczna) maszyna Turinga M = (A, Q, q 0, F, T, B, δ) A

Bardziej szczegółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka

Bardziej szczegółowo

Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym.

Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym. Wyrażenie nawiasowe Wyrażeniem nawiasowym nazywamy dowolny skończony ciąg nawiasów. Każdemu nawiasowi otwierającemu odpowiada dokładnie jeden nawias zamykający. Poprawne wyrażenie nawiasowe definiujemy

Bardziej szczegółowo

Kolorowanie płaszczyzny, prostych i okręgów

Kolorowanie płaszczyzny, prostych i okręgów Kolorowanie płaszczyzny, prostych i okręgów Jadwiga Czyżewska Pisane pod kierunkiem W.Guzickiego W 2013 roku na II etapie VIII edycji Olimpiady Matematycznej Gimnazjalistów pojawiło się zadanie o następującej

Bardziej szczegółowo

Języki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne

Języki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne Języki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne Automat skończony (AS), ang. Finite Automaton (FA) Automat skończony (automat czytający, maszyna Rabina-Scotta)

Bardziej szczegółowo

LX Olimpiada Matematyczna

LX Olimpiada Matematyczna LX Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia drugiego 13 lutego 2009 r. (pierwszy dzień zawodów) Zadanie 1. Liczby rzeczywiste a 1, a 2,..., a n (n 2) spełniają warunek a 1

Bardziej szczegółowo

Indukcja matematyczna

Indukcja matematyczna Indukcja matematyczna 1 Zasada indukcji Rozpatrzmy najpierw następujący przykład. Przykład 1 Oblicz sumę 1 + + 5 +... + (n 1). Dyskusja. Widzimy że dla n = 1 ostatnim składnikiem powyższej sumy jest n

Bardziej szczegółowo

JAO - Języki, Automaty i Obliczenia - Wykład 2. JAO - Języki, Automaty i Obliczenia - Wykład 2

JAO - Języki, Automaty i Obliczenia - Wykład 2. JAO - Języki, Automaty i Obliczenia - Wykład 2 Dowodzenie nieregularności języka [lemat o pompowaniu] Jeśli L regularny to istnieje stała c spełniająca : jeżeli z L, z c to istnieje dekompozycja w = u v x tak, że uv i x L dla każdego i 0 [lemat o skończonej

Bardziej szczegółowo

Zbiory, relacje i funkcje

Zbiory, relacje i funkcje Zbiory, relacje i funkcje Zbiory będziemy zazwyczaj oznaczać dużymi literami A, B, C, X, Y, Z, natomiast elementy zbiorów zazwyczaj małymi. Podstawą zależność między elementem zbioru a zbiorem, czyli relację

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 9: Własności języków bezkontekstowych Sławomir Lasota Uniwersytet Warszawski 27 kwietnia 2016 Plan 1 Pompowanie języków bezkontekstowych 2 Własności domknięcia 3 Obrazy

Bardziej szczegółowo

Hierarchia Chomsky ego Maszyna Turinga

Hierarchia Chomsky ego Maszyna Turinga Hierarchia Chomsky ego Maszyna Turinga Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G = V skończony zbiór

Bardziej szczegółowo

Elementy Teorii Obliczeń

Elementy Teorii Obliczeń Wykład 2 Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 10 stycznia 2009 Maszyna Turinga uwagi wstępne Maszyna Turinga (1936 r.) to jedno z najpiękniejszych i najbardziej intrygujacych

Bardziej szczegółowo

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem (1) dno stosu Stos wierzchołek stosu Wejście # B B A B A B A B a b b a b a b $ q i Automat ze

Bardziej szczegółowo

Korzystając z własności metryki łatwo wykazać, że dla dowolnych x, y, z X zachodzi

Korzystając z własności metryki łatwo wykazać, że dla dowolnych x, y, z X zachodzi M. Beśka, Wstęp do teorii miary, Dodatek 158 10 Dodatek 10.1 Przestrzenie metryczne Niech X będzie niepustym zbiorem. Funkcję d : X X [0, ) spełniającą dla x, y, z X warunki (i) d(x, y) = 0 x = y, (ii)

Bardziej szczegółowo

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu Problem Hilberta: 9 Czy istnieje ogólna mechaniczna procedura, która w zasadzie pozwoliłaby nam po kolei rozwiązać wszystkie matematyczne problemy (należące do odpowiednio zdefiniowanej klasy)? 2 Przykłady

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i A (symbol F i oznacza ilość argumentów funkcji F i ). W rozważanych przez nas algebrach

Bardziej szczegółowo

Lista zadań - Relacje

Lista zadań - Relacje MATEMATYKA DYSKRETNA Lista zadań - Relacje Zadania obliczeniowe Zad. 1. Która z poniższych relacji jest funkcją? a) Relacja składająca się ze wszystkich par uporządkowanych, których poprzednikami są studenci,

Bardziej szczegółowo

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ) Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też L = {vw : vuw L dla pewnego u A takiego, że u = v + w } Rozwiązanie. Niech A =

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /15 Matematyka dyskretna Andrzej Łachwa, UJ, 2015 andrzej.lachwa@uj.edu.pl 3/15 Indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 11: Obliczalność i nieobliczalność Sławomir Lasota Uniwersytet Warszawski 6 maja 2015 Plan 1 Problemy częściowo rozstrzygalne 2 Problemy rozstrzygalne 3 Funkcje (częściowo)

Bardziej szczegółowo

1 Działania na zbiorach

1 Działania na zbiorach M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej

Bardziej szczegółowo

ZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4

ZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4 ZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4 Dla każdego zadania określić: graf przejść tablicę stanów automatu skończonego akceptującego określoną klasę słów podać dwa przykłady ilustrujące parę AS

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 1

Języki formalne i automaty Ćwiczenia 1 Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...

Bardziej szczegółowo

Problemy Decyzyjne dla Systemów Nieskończonych

Problemy Decyzyjne dla Systemów Nieskończonych Problemy Decyzyjne dla Systemów Nieskończonych Ćwiczenia 1 17 lutego 2012 Na tych ćwiczeniach zajmiemy się pojęciem well quasi-ordering (WQO) bardzo przydatnym do analizy nieskończonych ciągów. Definicja

Bardziej szczegółowo

Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń

Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 4 kwietnia 2019 1 Dodajmy kontekst! Rozważaliśmy

Bardziej szczegółowo

Wykład z równań różnicowych

Wykład z równań różnicowych Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.

Bardziej szczegółowo

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których

Bardziej szczegółowo

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ 1 Inferencyjna równoważność formuł Definicja 9.1. Formuła A jest

Bardziej szczegółowo

B jest liniowo niezależny V = lin (B) 1. Układ pusty jest bazą przestrzeni trywialnej {θ}. a i v i = i I. b i v i, (a i b i ) v i = θ.

B jest liniowo niezależny V = lin (B) 1. Układ pusty jest bazą przestrzeni trywialnej {θ}. a i v i = i I. b i v i, (a i b i ) v i = θ. 8 Baza i wymiar Definicja 8.1. Bazą przestrzeni liniowej nazywamy liniowo niezależny układ jej wektorów, który generuję tę przestrzeń. Innymi słowy, układ B = (v i ) i I wektorów z przestrzeni V jest bazą

Bardziej szczegółowo

Matematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d

Matematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d C. Bagiński Materiały dydaktyczne 1 Matematyka Dyskretna /008 rozwiązania 1. W każdym z następujących przypadków podać jawny wzór na s n i udowodnić indukcyjnie jego poprawność: (a) s 0 3, s 1 6, oraz

Bardziej szczegółowo

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW NIEDETERMINISTYCZNE MASZYNY TURINGA Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 NIEDETERMINISTYCZNE MASZYNY TURINGA DEFINICJA: NIEDETERMINISTYCZNA

Bardziej szczegółowo

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1 W. Guzicki Próbna matura, grudzień 01 r. poziom rozszerzony 1 Próbna matura rozszerzona (jesień 01 r.) Zadanie 18 kilka innych rozwiązań Wojciech Guzicki Zadanie 18. Okno na poddaszu ma mieć kształt trapezu

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Matematyka dyskretna. Andrzej Łachwa, UJ, /10 Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji

Bardziej szczegółowo

Indukcja matematyczna. Zasada minimum. Zastosowania.

Indukcja matematyczna. Zasada minimum. Zastosowania. Indukcja matematyczna. Zasada minimum. Zastosowania. Arkadiusz Męcel Uwagi początkowe W trakcie zajęć przyjęte zostaną następujące oznaczenia: 1. Zbiory liczb: R - zbiór liczb rzeczywistych; Q - zbiór

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Matematyka dyskretna. Andrzej Łachwa, UJ, /10 Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 3/10 indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej

Bardziej szczegółowo

Elementy logiki matematycznej

Elementy logiki matematycznej Elementy logiki matematycznej Przedmiotem logiki matematycznej jest badanie tzw. wyrażeń logicznych oraz metod rozumowania i sposobów dowodzenia używanych w matematyce, a także w innych dziedzinach, w

Bardziej szczegółowo

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych Opracował: dr inż. Zbigniew Buchalski KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów

Bardziej szczegółowo

Dwa równania kwadratowe z częścią całkowitą

Dwa równania kwadratowe z częścią całkowitą Dwa równania kwadratowe z częścią całkowitą Andrzej Nowicki Wydział Matematyki i Informatyki Uniwersytet M. Kopernika w Toruniu anow @ mat.uni.torun.pl 4 sierpnia 00 Jeśli r jest liczbą rzeczywistą, to

Bardziej szczegółowo

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki Andrzej Wiśniewski Logika II Materiały do wykładu dla studentów kognitywistyki Wykład 5. Wprowadzenie do semantyki teoriomodelowej cz.5. Wynikanie logiczne 1 Na poprzednim wykładzie udowodniliśmy m.in.:

Bardziej szczegółowo

Logika dla socjologów Część 3: Elementy teorii zbiorów i relacji

Logika dla socjologów Część 3: Elementy teorii zbiorów i relacji Logika dla socjologów Część 3: Elementy teorii zbiorów i relacji Rafał Gruszczyński Katedra Logiki Uniwersytet Mikołaja Kopernika 2011/2012 Spis treści 1 Zbiory 2 Pary uporządkowane 3 Relacje Zbiory dystrybutywne

Bardziej szczegółowo

Dlaczego nie wystarczają liczby wymierne

Dlaczego nie wystarczają liczby wymierne Dlaczego nie wystarczają liczby wymierne Analiza zajmuje się problemami, w których pojawia się przejście graniczne. Przykładami takich problemów w matematyce bądź fizyce mogą być: 1. Pojęcie prędkości

Bardziej szczegółowo

1. Wykład NWD, NWW i algorytm Euklidesa.

1. Wykład NWD, NWW i algorytm Euklidesa. 1.1. NWD, NWW i algorytm Euklidesa. 1. Wykład 1 Twierdzenie 1.1 (o dzieleniu z resztą). Niech a, b Z, b 0. Wówczas istnieje dokładnie jedna para liczb całkowitych q, r Z taka, że a = qb + r oraz 0 r< b.

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 4/14 Indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej

Bardziej szczegółowo

Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech

Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech anagram(l) = {w : w jest anagaramem v dla pewnego v L}. (a) Czy jeśli L jest

Bardziej szczegółowo

Temperatura w atmosferze (czy innym ośrodku) jako funkcja dł. i szer. geogr. oraz wysokości.

Temperatura w atmosferze (czy innym ośrodku) jako funkcja dł. i szer. geogr. oraz wysokości. Własności Odległości i normy w Będziemy się teraz zajmować funkcjami od zmiennych, tzn. określonymi na (iloczyn kartezja/nski egzemplarzy ). Punkt należący do będziemy oznaczać jako Przykł. Wysokość terenu

Bardziej szczegółowo

Algorytmiczne aspekty teorii gier: Wykład 5

Algorytmiczne aspekty teorii gier: Wykład 5 Algorytmiczne aspekty teorii gier: Wykład 5 Wykład prowadził dr hab. Igor Walukiewicz Notatki przygotował Dymitr Pszenicyn 02-04-2003 1 Spis treści 1 Przypomnienie 3 1.1

Bardziej szczegółowo

Topologia zbioru Cantora a obwody logiczne

Topologia zbioru Cantora a obwody logiczne Adam Radziwończyk-Syta Michał Skrzypczak Uniwersytet Warszawski 1 lipca 2009 http://students.mimuw.edu.pl/~mskrzypczak/dokumenty/ obwody.pdf Zbiór Cantora Topologia Definicja Przez zbiór Cantora K oznaczamy

Bardziej szczegółowo

Rozwiązania, seria 5.

Rozwiązania, seria 5. Rozwiązania, seria 5. 26 listopada 2012 Zadanie 1. Zbadaj, dla jakich wartości parametru r R wektor (r, r, 1) lin{(2, r, r), (1, 2, 2)} R 3? Rozwiązanie. Załóżmy, że (r, r, 1) lin{(2, r, r), (1, 2, 2)}.

Bardziej szczegółowo

Notatki przygotowawcze dotyczące inwersji na warsztaty O geometrii nieeuklidesowej hiperbolicznej Wrocław, grudzień 2013

Notatki przygotowawcze dotyczące inwersji na warsztaty O geometrii nieeuklidesowej hiperbolicznej Wrocław, grudzień 2013 Notatki przygotowawcze dotyczące inwersji na warsztaty O geometrii nieeuklidesowej hiperbolicznej Wrocław, grudzień 013 3.4.1 Inwersja względem okręgu. Inwersja względem okręgu jest przekształceniem płaszczyzny

Bardziej szczegółowo

Zasada indukcji matematycznej

Zasada indukcji matematycznej Zasada indukcji matematycznej Twierdzenie 1 (Zasada indukcji matematycznej). Niech ϕ(n) będzie formą zdaniową zmiennej n N 0. Załóżmy, że istnieje n 0 N 0 takie, że 1. ϕ(n 0 ) jest zdaniem prawdziwym,.

Bardziej szczegółowo

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami.

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami. M. Beśka, Wstęp do teorii miary, rozdz. 3 25 3 Miara 3.1 Definicja miary i jej podstawowe własności Niech X będzie niepustym zbiorem, a A 2 X niepustą rodziną podzbiorów. Wtedy dowolne odwzorowanie : A

Bardziej szczegółowo

Przykładami ciągów, które Czytelnik dobrze zna (a jeśli nie, to niniejszym poznaje), jest ciąg arytmetyczny:

Przykładami ciągów, które Czytelnik dobrze zna (a jeśli nie, to niniejszym poznaje), jest ciąg arytmetyczny: Podstawowe definicje Definicja ciągu Ciągiem nazywamy funkcję na zbiorze liczb naturalnych, tzn. przyporządkowanie każdej liczbie naturalnej jakiejś liczby rzeczywistej. (Mówimy wtedy o ciągu o wyrazach

Bardziej szczegółowo

Paradygmaty dowodzenia

Paradygmaty dowodzenia Paradygmaty dowodzenia Sprawdzenie, czy dana formuła rachunku zdań jest tautologią polega zwykle na obliczeniu jej wartości dla 2 n różnych wartościowań, gdzie n jest liczbą zmiennych zdaniowych tej formuły.

Bardziej szczegółowo

Matematyka Dyskretna Zestaw 2

Matematyka Dyskretna Zestaw 2 Materiały dydaktyczne Matematyka Dyskretna (Zestaw ) Matematyka Dyskretna Zestaw 1. Wykazać, że nie istnieje liczba naturalna, która przy dzieleniu przez 18 daje resztę 13, a przy dzieleniu przez 1 daje

Bardziej szczegółowo

Ciągi Podzbiory Symbol Newtona Zasada szufladkowa Dirichleta Zasada włączania i wyłączania. Ilość najkrótszych dróg. Kombinatoryka. Magdalena Lemańska

Ciągi Podzbiory Symbol Newtona Zasada szufladkowa Dirichleta Zasada włączania i wyłączania. Ilość najkrótszych dróg. Kombinatoryka. Magdalena Lemańska Kombinatoryka Magdalena Lemańska Literatura Matematyka Dyskretna Andrzej Szepietowski http://wazniak.mimuw.edu.pl/ Discrete Mathematics Seymour Lipschutz, Marc Lipson Aspekty kombinatoryki Victor Bryant

Bardziej szczegółowo

jest ciągiem elementów z przestrzeni B(R, R)

jest ciągiem elementów z przestrzeni B(R, R) Wykład 2 1 Ciągi Definicja 1.1 (ciąg) Ciągiem w zbiorze X nazywamy odwzorowanie x: N X. Dla uproszczenia piszemy x n zamiast x(n). Przykład 1. x n = n jest ciągiem elementów z przestrzeni R 2. f n (x)

Bardziej szczegółowo

Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011).

Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011). Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011). Poprzedniczka tej notatki zawierała błędy! Ta pewnie zresztą też ; ). Ćwiczenie 3 zostało zmienione, bo żądałem, byście dowodzili czegoś,

Bardziej szczegółowo

W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1

W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1 W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1 Zadanie IV. Dany jest prostokątny arkusz kartony o długości 80 cm i szerokości 50 cm. W czterech rogach tego arkusza wycięto kwadratowe

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 9: Wzorce, automaty, wyrażenia regularne. Prof. dr hab. Elżbieta Richter-Wąs 1 Wzorce i automaty Problematyka wzorców stanowi bardzo rozwiniętą dziedzinę wiedzy.

Bardziej szczegółowo

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW RELACJE MIEDZY KLASAMI ZŁOŻONOŚCI Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 KLASY ZŁOŻONOŚCI KLASE ZŁOŻONOŚCI OPISUJE SIE PODAJAC: Model

Bardziej szczegółowo

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33 Klasyczne i kwantowe podejście do teorii automatów i języków formalnych mgr inż. Olga Siedlecka olga.siedlecka@icis.pcz.pl Zakład Informatyki Stosowanej i Inżynierii Oprogramowania Instytut Informatyki

Bardziej szczegółowo

Struktury formalne, czyli elementy Teorii Modeli

Struktury formalne, czyli elementy Teorii Modeli Struktury formalne, czyli elementy Teorii Modeli Szymon Wróbel, notatki z wykładu dra Szymona Żeberskiego semestr zimowy 2016/17 1 Język 1.1 Sygnatura językowa Sygnatura językowa: L = ({f i } i I, {P j

Bardziej szczegółowo

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: Ciągi rekurencyjne Zadanie 1 Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: w dwóch przypadkach: dla i, oraz dla i. Wskazówka Należy poszukiwać rozwiązania w postaci, gdzie

Bardziej szczegółowo

Szeregi o wyrazach dodatnich. Kryteria zbieżności d'alemberta i Cauchy'ego

Szeregi o wyrazach dodatnich. Kryteria zbieżności d'alemberta i Cauchy'ego Szeregi o wyrazach dodatnich. Kryteria zbieżności d'alemberta i Cauchy'ego Przy założeniu, że wszystkie składniki szeregu jest rosnący. Wynika stąd natychmiast stwierdzenie: są dodatnie, ciąg jego sum

Bardziej szczegółowo

Część wspólna (przekrój) A B składa się z wszystkich elementów, które należą jednocześnie do zbioru A i do zbioru B:

Część wspólna (przekrój) A B składa się z wszystkich elementów, które należą jednocześnie do zbioru A i do zbioru B: Zbiory 1 Rozważmy dowolne dwa zbiory A i B. Suma A B składa się z wszystkich elementów, które należą do zbioru A lub do zbioru B: (x A B) (x A x B). Część wspólna (przekrój) A B składa się z wszystkich

Bardziej szczegółowo

Sumy kwadratów kolejnych liczb naturalnych

Sumy kwadratów kolejnych liczb naturalnych Sumy kwadratów kolejnych liczb naturalnych Andrzej Nowicki 24 maja 2015, wersja kk-17 Niech m < n będą danymi liczbami naturalnymi. Interesować nas będzie równanie ( ) y 2 + (y + 1) 2 + + (y + m 1) 2 =

Bardziej szczegółowo

Liczby pierwsze. Kacper Żurek, uczeń w Gimnazjum nr 1 im. Jana Pawła II w Giżycku.

Liczby pierwsze. Kacper Żurek, uczeń w Gimnazjum nr 1 im. Jana Pawła II w Giżycku. Liczby pierwsze Kacper Żurek, uczeń w Gimnazjum nr 1 im. Jana Pawła II w Giżycku. Liczbą pierwszą nazywany każdą taką liczbę naturalną, która posiada dokładnie dwa dzielniki naturalne, czyli jest podzielna

Bardziej szczegółowo

10110 =

10110 = 1. (6 punktów) Niedeterministyczny automat skończony nazwiemy jednoznacznym, jeśli dla każdego akceptowanego słowa istnieje dokładnie jeden bieg akceptujący. Napisać algorytm sprawdzający, czy niedeterministyczny

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Od maszyn Turinga do automatów komórkowych Jarosław Miszczak IITiS PAN Gliwice 03/03/2016 1 / 16 1 2 3 Krótka historia Znaczenie 2 / 16 Czego dowiedzieliśmy się

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Teoria automatów

Wstęp do Techniki Cyfrowej... Teoria automatów Wstęp do Techniki Cyfrowej... Teoria automatów Alfabety i litery Układ logiczny opisywany jest przez wektory, których wartości reprezentowane są przez ciągi kombinacji zerojedynkowych. Zwiększenie stopnia

Bardziej szczegółowo

Wprowadzenie do maszyny Turinga

Wprowadzenie do maszyny Turinga Wprowadzenie do maszyny Turinga Deterministyczna Maszyna Turinga (DTM) jest pewną klasą abstrakcyjnych modeli obliczeń. W tej instrukcji omówimy konkretną maszynę Turinga, którą będziemy zajmować się podczas

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/

Bardziej szczegółowo

Przykładowe zadania z teorii liczb

Przykładowe zadania z teorii liczb Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 10, part I 2 Wzorce, automaty Definicja Grafy reprezentujące maszyny stanów Symulacje automatów Automaty

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI TEORETYCZNE PODSTAWY INFORMATYKI Podstawowe pojęcia teorii automatów i języków Zbiór grupa obiektów, nazywanych elementami zbioru, traktowana jako całość {0,5,7,21,57,12,18} Ciąg lista obiektów nazywanych

Bardziej szczegółowo

Rachunek prawdopodobieństwa- wykład 2

Rachunek prawdopodobieństwa- wykład 2 Rachunek prawdopodobieństwa- wykład 2 Pojęcie dyskretnej przestrzeni probabilistycznej i określenie prawdopodobieństwa w tej przestrzeni dr Marcin Ziółkowski Instytut Matematyki i Informatyki Uniwersytet

Bardziej szczegółowo