Hierarchia Chomsky ego

Podobne dokumenty
2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Hierarchia Chomsky ego Maszyna Turinga

Języki formalne i automaty Ćwiczenia 1

Języki, automaty i obliczenia

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

Matematyczne Podstawy Informatyki

Maszyna Turinga języki

Języki, automaty i obliczenia

Języki, automaty i obliczenia

Imię, nazwisko, nr indeksu

Języki formalne i automaty Ćwiczenia 9

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

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

JAO - Wprowadzenie do Gramatyk bezkontekstowych

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

Obliczenia inspirowane Naturą

Matematyczne Podstawy Informatyki

Jaki język zrozumie automat?

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

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}

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

Języki, automaty i obliczenia

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:

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

Języki formalne i automaty Ćwiczenia 7

Obliczenia inspirowane Naturą

Języki formalne i automaty Ćwiczenia 3

1 Automaty niedeterministyczne

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

Języki formalne i automaty Ćwiczenia 4

JIP. Analiza składni, gramatyki

Parsery LL(1) Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

3.4. Przekształcenia gramatyk bezkontekstowych

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

GRAMATYKI BEZKONTEKSTOWE

JAO - lematy o pompowaniu dla jezykow bezkontekstowy

1 Działania na zbiorach

10110 =

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

Języki formalne i automaty Ćwiczenia 2

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Wprowadzenie do analizy składniowej. Bartosz Bogacki.

Gramatyki rekursywne

PROBLEMY NIEROZSTRZYGALNE

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin

Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT

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

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

Wyrażenia regularne.

R O Z D Z I A Ł V I. Automaty skończenie-stanowe

Turing i jego maszyny

Języki i gramatyki formalne

Rodzinę F złożoną z podzbiorów zbioru X będziemy nazywali ciałem zbiorów, gdy spełnione są dwa następujące warunki.

Języki formalne i automaty Ćwiczenia 6

Efektywna analiza składniowa GBK

Obliczenia inspirowane Naturą

1. Maszyna Turinga, gramatyki formalne i ONP

Matematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń

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)

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

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

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

0.1 Lewostronna rekurencja

Obliczenia inspirowane Naturą

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Jȩzyki, automaty, zlożoność obliczeniowa

Maszyna Turinga (Algorytmy Część III)

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

Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań

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

Metody Kompilacji Wykład 7 Analiza Syntaktyczna

Lista 5 Gramatyki bezkontekstowe i automaty ze stosem

Teoretyczne podstawy informatyki

Efektywność Procedur Obliczeniowych. wykład 5

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

Gramatyka operatorowa

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

Złożoność obliczeniowa

Struktury formalne, czyli elementy Teorii Modeli

Elementy Teorii Obliczeń

Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994]

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)

F t+ := s>t. F s = F t.

Topologia zbioru Cantora a obwody logiczne

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

Symbol, alfabet, łańcuch

Definicja 2. Twierdzenie 1. Definicja 3

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

n=0 Dla zbioru Cantora prawdziwe są wersje lematu 3.6 oraz lematu 3.8 przy założeniu α = :

Języki formalne i automaty Ćwiczenia 5

020 Liczby rzeczywiste

R O Z D Z I A Ł V I I

1 X-gramatyki, Hierarchia Chomsky ego

R O Z D Z I A Ł V I I I

Transkrypt:

Hierarchia Chomsky ego Gramatyki nieograniczone Def. Gramatyką nieograniczoną (albo typu 0) nazywamy uporządkowaną czwórkę G=<V,Σ,P,S> gdzie: % Σ - skończony alfabet symboli końcowych (alfabet, nad którym tworzymy język), % V - skończony alfabet zmiennych gramatyki, rozłączny z Σ, % P - skończony zbiór reguł produkcji, tj napisów postaci β# γ, gdzie β*(v(σ) +, γ*(v(σ)*, % wyróżniona zmienna S nazywana symbolem początkowym. A zatem słowo α G β dla α,β*v* (słowo β daje się wyprowadzić w jednym kroku z α), gdy α=xyz i β=xsz dla pewnych słów s,x,y,z*(v(σ)* oraz y#s jest regułą produkcji. Tradycyjnie przez G * oznaczymy domknięcie zwrotnoprzechodnie relacji G. Def. em generowanym przez gramatykę nieograniczoną G jest zbiór: L(G) = {w*σ*: S * G w}. Def. generowane przez gramatyki nieograniczone nazywamy językami rekurencyjnie przeliczalnymi (RP). 1

Twierdzenie. Dla każdego alfabetu Σ istnieje język nie należący do klasy rekurencyjnie przeliczalnych. Dowód. Jest to prosty wniosek z twierdzenia o nieopisywalności wszystkich języków. Wystarczy zauważyć, że każdą gramatykę nieograniczoną można prosto zakodować używając np. alfabetu Γ=Σ({,,1, (, ),A,#}. Gramatyki kontekstowe Przypuśćmy, że na produkcje α# β gramatyki typu 0 nałożymy warunek, że β ma być co najmniej tak długie, jak α. Wtedy gramatykę tę nazywamy gramatyką kontekstową, a generowany przez nią język językiem kontekstowym (CS). Def. Gramatyką kontekstową nazywamy gramatykę typu 0, w której: % dla każdej reguły α# β zachodzi warunek α " β (reguły są nieskracające), % celem umożliwienia wyprowadzenia słowa pustego dopuszczamy istnienie jednego wyjątku w postaci reguły pustej S# ε (S jest symbolem początkowym), o ile S nie występuje w prawej stronie żadnej reguły. Fakt. Każdą gramatykę kontekstową można algorytmicznie sprowadzić do postaci normalnej, w której wszystkie reguły (być może poza pustą) są postaci α 1 Aα 2 # α 1 βα 2, przy czym β& ε oraz α 1,β,α 2 *(V(Σ)*. 2

Produkcje w postaci normalnej wyglądają jak produkcje bezkontekstowe, których możliwość zastosowania jest warunkowana wystąpieniem po obu stronach zmiennej A słów α 1 i α 2. (lewy i prawy kontekst). Gramatyka bezkontekstowa w postaci normalnej jest więc gramatyką kontekstową z kontekstami pustymi. Twierdzenie. Problem słowa dla języków kontekstowych jest rozstrzygalny. Dowód. Jeśli w=ε, to wystarczy sprawdzić istnienie reguły S# ε. W przeciwnym razie w digrafie o wierzchołkach α*(σ(v) + z α " w i łukach zgodnych z relacją α G β sprawdzamy istnienie drogi z wierzchołka S do w (jest ona wyprowadzeniem słowa w). Twierdzenie. Problemy pustości i skończoności są dla języków kontekstowych nierozstrzygalne. Dowody niebawem... Prawie każdy język, jaki możemy sobie wyobrazić, jest językiem kontekstowym. Przykład. Gramatyka kontekstowa dla języka L={a n b n c n :n*n} 3

Mamy więc Σ={a,b,c} oraz V={S,B,C,F} oraz reguły: (1) S#aSF, (2) S#aF, (3) F#BC, (4) CB#BC, (5) ab#ab, (6) bb#bb, (7) bc#bc, (8) cc#cc Wyprowadzenie dowolnego słowa z L: (n-1) n-1 n-1 n n (n) n n (n-1)n/2 S (1) # a SF (2) # a F (3) # a (BC) (4) # n n n (5) n n-1 n (6)(n-1) n n n (7) n n n! 1 (8)(n-1) n n a B C # a bb C # a b C # a b cc # a b c Należy jeszcze pokazać, że gramatyka nie tworzy żadnych innych słów nad Σ. n Rozważmy wyprowadzenie słowa. Możemy zauważyć że na pewno należy po regule (1) zastosować (2), gdyż inaczej nie zniknie zmienna S. Tyle ile razy zastosowaliśmy reguły (1) i (2), trzeba zastosować regułę (3) celem zlikwidowania zmiennej F. Teraz jedyną szansą na usunięcie zmiennych B i C jest ich zamiana na b i c odpowiednio regułami (5),...,(8) wśród nich oczywiście pierwsza zostanie zastosowana (5), generująca pierwszą literę różną od a. Równolegle można stosować regułę (4) przemieszczającą zmienne B w lewo i C w prawo. Należy zauważyć, że ewentualne pierwsze wygenerowanie przedrostka postaci a n b m c..., gdzie n>m oznacza, że w dalszej części frazy istnieje zmienna B, której w żaden sposób nie da się zamienić na literę. 4

Automaty liniowo ograniczone Automatem liniowo ograniczonym (LBA) nazywamy pewną modyfikację niedeterministycznego dwukierunkowego automatu skończonego, który może w trakcie chodzenia po taśmie zapisywać dodatkowe symbole pomocnicze w odwiedzanych komórkach. + S ł o w o, Automat % Automat posiada zestaw dodatkowych symboli Γ rozłączny z Σ i zawierający ograniczniki. % Początkowo stawiamy automat na pierwszej komórce taśmy wejściowej. % Automat może "podróżować" po taśmie dowolnie długo, może też z niej spaść. % Akceptacja słowa następuje wtedy, gdy maszyna może trafić w trakcie drogi do stanu akceptującego. % W każdym ruchu automat może zastąpić oglądany właśnie symbol innym z Σ(Γ tj. formalnie funkcja przejścia jest funkcją częściową postaci: δ:q$(σ(γ)# P fin (Q${Lewo,Stój,Prawo}$(Σ(Γ)). W stanie q widząc symbol a automat niedeterministycznie wybiera z δ(q,a) trójkę postaci: (nowy stan, kierunek ruchu na taśmie, symbol pozostawiany w opuszczanej komórce). Można przyjąć, że ograniczniki są "niezamazywalne". 5

% Klasa języków kontekstowych = klasa języków akceptowanych przez automaty liniowo ograniczone. % Gramatyki kontekstowe i automaty liniowo ograniczone możemy traktować jak równoważne opisy języków kontekstowych i efektywnie tłumaczyć jeden zapis na drugi. Właściwości zamkniętości języków kontekstowych Twierdzenie. Klasa języków kontekstowych jest efektywnie zamknięta na operacje teoriomnogościowe (,', c. Dowód. % Suma mając dane gramatyki G 1 i G 2 w postaci normalnej o rozłącznych zbiorach zmiennych tworzymy nową dodając symbol początkowy S i produkcje S#S 1, S#S 2. % Dopełnienie trudny (oparty na automacie), więc pomijamy... % Przekrój - L'M=((L c )((M c )) c 6

Hierarchia Chomsky ego Cztery klasy języków, generowane przez gramatyki klasy 0 o coraz słabszych ograniczeniach (nazywane odpowiednio językami typu 3, 2, 1, 0): % języki regularne (Reg) gramatyki lewostronnie liniowe (A#w lub A#wB, gdzie w*σ* i A,B*V) % języki bezkontekstowe (CF) gramatyki bezkontekstowe (A# γ, gdzie A*V a γ*(v(σ)*), % języki kontekstowe (CS) gramatyki kontekstowe (α# β, gdzie α,β*(v(σ) +, α " β, ew. S# ε), % języki rekurencyjnie przeliczalne gramatyki nieograniczone (α# β, gdzie α*(v(σ) +, β*(v(σ)*). Def. Powyższe cztery klasy języków są nazywane hierarchią Chomsky ego, który zdefiniował te klasy jako potencjalne modele dla języków naturalnych Twierdzenie o hierarchii. Dla każdego alfabetu Σ o co najmniej dwóch literach zachodzi: Reg ) CF ) CS ) RP przy czym każda z inkluzji jest właściwa. Dowód. Zachodzenie inkluzji jest oczywiste, bowiem każda gramatyka klasy wcześniejszej (ew. w postaci normalnej) jest gramatyką klasy późniejszej. Zawierania są ścisłe, bowiem znamy przykłady języków bezkontekstowych nieregularnych oraz kontekstowych niebezkontekstowych. Przykładem języka rekurencyjnie przeliczalnego niekontekstowego będzie język z nierozstrzygalnym problemem słowa. 7

Klasy języków: Klasa regularne bezkontekstowe kontekstowe rekurencyjnie przeliczalne Typ 3 2 1 0 Rodzaj gramatyki Gramatyka liniowa Gramatyka bezkontekstowa Gramatyka kontekstowa Gramatyka nieograniczona Typ Deterministyczny Niedeterm. Deterministyczna maszyny automat automat ze maszyna akceptującej skończony stosem Turinga Niedeterm. automat liniowo ograniczony Zamkniętość klas na operacje: - oznacza, że klasa nie jest zamknięta na operację, + - że jest i można tę operację przeprowadzić efektywnie. regularne bezkontekstowe kontekstowe rekurencyjnie przeliczalne Suma ( + + + + Przekrój ' + - + + Dopełnienie c + - + - Problemy decyzyjne: + oznacza rozstrzygalność, - - nierozstrzygalność Problemy: regularne bezkontekstowe kontekstowe rekurencyjnie przeliczalne Słowa + + + - Pustości + + - - Skończoności + + - - Zawierania języków Równości języków + - - - + - - - 8