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

Podobne dokumenty
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)

Języki formalne i automaty Ćwiczenia 7

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

1 Automaty niedeterministyczne

Jaki język zrozumie automat?

Języki, automaty i obliczenia

Imię, nazwisko, nr indeksu

Języki, automaty i obliczenia

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

Matematyczne Podstawy Informatyki

Języki, automaty i obliczenia

Algorytmiczne aspekty teorii gier: Wykład 5

Obliczenia inspirowane Naturą

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

Maszyna Turinga języki

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

10110 =

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

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

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

Bisymulacja. Niezawodność systemów współbieżnych i obiektowych. Grzegorz Maj Grzegorz Maj Bisymulacja

Hierarchia Chomsky ego Maszyna Turinga

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}

Teoria obliczeń czyli czego komputery zrobić nie mogą

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, δ)

ZLOŻONOŚĆ OBLICZENIOWA - WYK. 2

Problemy Decyzyjne dla Systemów Nieskończonych

Języki formalne i automaty Ćwiczenia 1

Obliczenia inspirowane Naturą

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

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

Teoretyczne podstawy informatyki

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Wyrażenia regularne.

Teoretyczne podstawy informatyki

JAO - lematy o pompowaniu dla jezykow bezkontekstowy

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Maszyny Turinga. Jerzy Pogonowski. Funkcje rekurencyjne. Zakład Logiki Stosowanej UAM

Aproksymacja diofantyczna

JAO - Wprowadzenie do Gramatyk bezkontekstowych

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

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

Języki, automaty i obliczenia

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura

D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO

Wykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ

G. Plebanek, MIARA I CAŁKA Zadania do rozdziału 1 28

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Matematyczne Podstawy Informatyki

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

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

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Języki, automaty i obliczenia

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

TEORETYCZNE PODSTAWY INFORMATYKI

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

BOGDAN ZARĘBSKI ZASTOSOWANIE ZASADY ABSTRAKCJI DO KONSTRUKCJI LICZB CAŁKOWITYCH

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

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:

Drugie kolokwium z Rachunku Prawdopodobieństwa, zestaw A

(j, k) jeśli k j w przeciwnym przypadku.

Bisymulacja. Niezawodność systemów współbieżnych i obiektowych. Grzegorz Maj Grzegorz Maj Bisymulacja

Języki formalne i automaty Ćwiczenia 9

Wykład 11: Martyngały: definicja, twierdzenia o zbieżności

Języki formalne i automaty Ćwiczenia 2

Algebry skończonego typu i formy kwadratowe

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

Zbiory, relacje i funkcje

zbiorów domkniętych i tak otrzymane zbiory domknięte ustawiamy w ciąg. Oznaczamy

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

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

Zadania do Rozdziału X

TEORETYCZNE PODSTAWY INFORMATYKI

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

26 marzec, Łańcuchy Markowa z czasem ciągłym. Procesy Stochastyczne, wykład 7, T. Byczkowski, Procesy Stochastyczne, PPT, Matematyka MAP1136

Matematyczne Podstawy Informatyki

Efektywność Procedur Obliczeniowych. wykład 5

Równoważność automatów wielotaśmowych

Matematyczne Podstawy Informatyki

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

ALGEBRA Z GEOMETRIĄ CIAŁO FUNKCJI WYMIERNYCH

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

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

Rachunek prawdopodobieństwa- wykład 2

KOMBINATORYKA. Problem przydziału prac

Dystrybucje, wiadomości wstępne (I)

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

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Teoretyczne podstawy informatyki

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka

Definicja 2. Twierdzenie 1. Definicja 3

Logika stosowana. Ćwiczenia Złożoność obliczeniowa problemu spełnialności. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski

Teoria liczb. Wykład nr 9: Przybliżanie liczb rzeczywistych. Ułamki łańcuchowe (cz.1) Semestr letni 2018/2019

Partition Search i gry z niezupełną informacją

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

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

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Przykładowe zadania z teorii liczb

Transkrypt:

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 syntaktyczna L na słowach (w L v jeżeli z Σ wz L vz L) istnienie: automat A L, którego stanami są klasy abstrakcji L jest automatem minimalnym dla L (automatem o minimalnej liczbie stanów spośród automatów deterministycznych rozpoznających L) jednoznaczność: każdy automat minimalny rozpoznający język L Σ jest izomorficzny z automatem A L (różnią się tylko nazwami stanów) efektywność: istnieje efektywny algorytm wyznaczania A L z dowolnego automatu deterministycznego rozpoznającego L 2. Niedeterministyczne automaty na słowach skończonych (NFA) 2.1. Trudności z minimalizacją NFA na słowach skończonych: 2.1.1. Niejednoznaczność Na poniższym rysunku przedstawiono dwa nieizomorficzne minimalne NFA rozpoznające język L = {ab, ac, ba, bc, ca, cb} (rysunek pochodzi z [ADN]). Rysunek 1. 2.1.2. Nieefektywność W [JR, tw.3.2] wykazano, że następujący problem jest PSPACE-zupełny: Dane: DFA M i liczba naturalna k Pytanie: czy istnieje NFA o k stanach rozpoznający dokładnie L(M) 1

2.2. Dolne ograniczenie na liczbę stanów NFA Twierdzenie 2.2.1 Jeżeli dla danego języka L Σ istnieje zbiór par P = {(x i, w i ) Σ Σ : 1 i n} taki, że: (a) x i w i L dla 1 i n; (b) x i w j / L dla i j oraz 1 i, j n. Wtedy każdy NFA rozpoznający L ma co najmniej n stanów. 2.2.1. Powyższe twierdzenie daje często dobre oszacowanie Przykład 1: Niech L k = {0 i 1 i 2 i : 0 i < k}. Wtedy P = {(0 i 1 j, 1 (i j) 2 i ) : 0 j i < k} spełnia założenia twierdzenia, P = k(k+1) 2 i istnieje NFA o k(k+1) 2 + 1 stanach rozpoznający L k : Rysunek 2. NFA rozpoznający L 5 (rysunek pochodzi z [GS]). Przykład 2: Dla języka L z punktu 2.1.1 można znaleźć 4 takie pary, a jak widać na rysunku 1 istnieją automaty o 5 stanach go rozpoznające. 2.2.2. W ogólności to oszacowanie może być dowolnie niedokładne Przykład: Rozważmy język H k = (0 k ) + Żaden zbiór par złożony z więcej niż dwóch elementów nie spełnia założeń twierdzenia 2.2.1. Natomiast korzystając z pojęcia minimalnego DFA można udowodnić, że NFA rozpoznający ten język musi mieć co najmniej log (k + 1) stanów. 3. Automaty na słowach nieskończonych 3.1. Języki ω-regularne Definicja 3.1.1 Automatem Büchiego nazwiemy A = (Q, Σ, I,, F ) gdzie: Q jest skończonym zbiorem stanów, Σ jest skończonym alfabetem, I Q jest zbiorem stanów początkowych, Q Σ Q jest relacją przejścia, F Q jest zbiorem stanów akceptujących. Bieg ρ Q ω automatu A na słowie w Σ ω jest to nieskończony ciąg stanów definiowany analogicznie jak dla słów skończonych. Bieg ρ jest akceptujący jeżeli pewien stan z F pojawia się w nim nieskończenie często (warunek Büchiego). 2

Powiemy, że automat A akceptuje słowo w jeżeli istnieje akceptujący bieg A na w. Definicja 3.1.2 (jedna z wielu równoważnych) Języki rozpoznawane przez automaty Büchiego nazywamy językami regularnymi słów nieskończonych. Przykład 1: Rysunek 3 przedstawia automat Büchiego rozpoznający język słów nad {a, b}, w których sekwencja abba występuje nieskończenie często. Rysunek 3. Przykład 2: Niech K będzie językiem słów w {a, b, c} ω spełniających warunek: jeżeli a występuje nieskończenie często w w to b też. Jak będzie wyglądał automat Büchiego rozpoznający ten język? Rozwiązanie można zobaczyć na rysunku 5. 3.2. Problemy z minimalizacją 3.2.1. Odziedziczone z przypadku słów skończonych niejednoznaczność niech L będzie językiem z punktu 2.1.1. Wtedy L ω ma również dwa nieizomorficzne automaty minimalne (automaty z punktu 2.1.1 z utożsamionymi stanami akceptującymi i początkowymi). nieefektywność NFA są jakby szczególnym przypadkiem automatów Büchiego (na słowa skończone można patrzeć jak na słowa nieskończone, które od pewnego momentu mają B) więc tutaj sytuacja na pewno nie będzie prostsza niż dla NFA. 3.2.2. Niedeterminizowalność Moc deterministycznych automatów z warunkiem Büchiego jest mniejsza niż niedeterministycznych, tak więc nawet gdybyśmy umieli minimalizować deterministyczne automaty Büchiego to nie miało by to zastosowania w ogólniejszym przypadku. 3.3. Uczciwa symulacja [GBS] 3.3.1. Koncepcja Aby zmniejszyć liczbę stanów automatu będziemy chcieli utożsamiać pary stanów, które są w pewnym sensie równoważne. Dwa stany możemy utożsamić np. kiedy mają dokładnie te same strzałki wchodzące i strzałki wychodzące. W prezentowanym tutaj podejściu będziemy chcieli doprowadzić właśnie do takiej sytuacji za pomocą usunięć i dodawań strzałek (przejść). Najpierw będziemy wybierać kandydatów do usunięcia lub dodania, a potem będziemy sprawdzać czy rozważana zmiana nie zmienia języka rozpoznawanego przez automat. Ponieważ nie umiemy efektywnie sprawdzać równości języków (jest to problem PSPACE-zupełny) to posłużymy się właśnie koncepcją symulacji (a konktretnie uczciwej symulacji). Intuicyjnie mówiąc automat symuluje drugi automat jeżeli potrafi symulować każdy jego akceptujący bieg. 3

Jeżeli automaty się wzajemnie symulują to rozpoznają te same języki (ale nie koniecznie na odwrót). 3.3.2. Uczciwa symulacja jako gra Definicja 3.3.1 Niech A 1 = (Q 1, Σ, I 1, 1, F 1 ) i A 2 = (Q 2, Σ, I 2, 2, F 2 ) będą automatami Büchiego. Zdefiniujemy nieskończoną grę G A1,A 2 = (V a, V p, δ, W in) w następujący sposób: V a = {[q 1, q 2 ] q 1 Q 1, q 2 Q 2 } węzły, w których rusza się antagonista, V a = {(q 1, q 2 ) σ q 1 Q 1, q 2 Q 2, σ Σ} węzły protagonisty, δ = {([q 1, q 2 ], (q 1, q 2 ) σ ) (q 1, σ, q 1) 1 } {((q 1, q 2 ) σ, [q 1, q 2 ]) (q 2, σ, q 2 ) 2} antagonista rusza się na pierwszej wspójrzędnej, a protagonista na drugiej, W in to warunek wygranej protagonisty określony następująco: jeżeli w rozgrywce w stanach [q 1, q 2 ] nieskończenie często pojawia się pewne q 1 F 1 to pojawia się w niej też nieskończenie często pewne q 2 F 2. Definicja 3.3.2 Powiemy, że stan q z automatu A jest uczciwie symulowany przez stan q z automatu A jeżeli [q 1, q 1 ] jest wygrywający dla protagonisty w G A,A (protagonista ma strategię wygrywającą w rozgrywce zaczynającej się od [q 1, q 1 ]). Powiemy, że automat A jest uczciwie symulowany przez automat A jeżeli dla każdego q I istnieje takie q I, że q uczciwie symuluje q. Fakt 3.3.3 Jeżeli A uczciwie symuluje A to L(A ) L(A) 3.3.3. Przykłady i rozważania w kierunku algorytmu minimalizacji Narysujmy graf gry G A,A dla przedstawionego na rysunku 4 automatu A rozpoznającego język słów o nieskończonej liczbie liter a (rozwiązanie na rysunku 6). Rysunek 4. W tym automacie stany 1 i 2 się wzajemnie symulują (strategia protagonisty jest zaznaczona na rysunku 7), więc możemy spróbować pousuwać pewne przejścia. Modyfikacja 1: Ponieważ stan 2 symuluje stan 1 to można przypuszczać, że nie potrzebne jest przejście przy a ze stanu 2 do 1. Przekonajmy się czy rzeczywiście tak jest obliczając grę G A,A gdzie A to automat A bez tego przejścia (rozwiązanie na rysunku 8). Modyfikacja 2. Ale z tego samego powodu co w modyfikacji 1. można przypuszczać, że sprawdźmy czy nie można usunąć przejścia przy a z 2 do 2 (rozwiązanie na rysunku 9). 4

Literatura [HU] Hopcroft John E., Ullman Jeffrey D., Wprowadzenie do teorii automatów, języków i obliczeń, tłum. Beata Konikowska, Wydawnictwo Naukowe PWN, Warszawa 2003. [GS] Glaister Ian, Shallit Jeffrey, A Lower Bound Technique for the Size of Nondeterministic Finite Automata, 1996, http://www.cs.uwaterloo.ca/ shallit/papers/nfa.ps [ADN] Arnold André, Dicky Anne, Nivat Maurice, A note about minimal non-deterministic automata, 1992, http://dept-info.labri.fr/ dicky/recherche/auto-mini.ps [GBS] Gurumurthy Sankar, Bloem Roderick, Somenzi Fabio, Fair Simulation Minimization, 2002, http://vlsi.colorado.edu/ rbloem/papers/fairsm.ps [JR] Jiang Tao, Ravikumar Bala, Minimal NFA Problems are Hard, SIAM J. Comput. 22(6): 1117-1141 (1993) Rysunek 5. Automat rozpoznający język K z przykładu 2 z punktu 3.1. Rysunek 6. Gra G A,A dla automatu z rysunku 4. 5

Rysunek 7. Krawędzie należące do strategii protagonisty są zaznaczone trójkątnymi grotami. Rysunek 8. Tutaj antagonista ma strategię więc modyfikacja 1. nie zachowuje rozpoznawanego języka. 6

Rysunek 9. Modyfikacja 2. może być zaakceptowana bo w odpowiednio zmodyfikowanej grze protagonista nadal ma strategię. 7