JAO - lematy o pompowaniu dla jezykow bezkontekstowy

Podobne dokumenty
JAO - Wprowadzenie do Gramatyk bezkontekstowych

Języki, automaty i obliczenia

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

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

Matematyczne Podstawy Informatyki

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

Języki formalne i automaty Ćwiczenia 1

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

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

Języki formalne i automaty Ćwiczenia 2

Definiowanie języka przez wyrażenie regularne(wr)

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

3.4. Przekształcenia gramatyk bezkontekstowych

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)

Imię, nazwisko, nr indeksu

10110 =

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}

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

11 Probabilistic Context Free Grammars

Gramatyki rekursywne

Hierarchia Chomsky ego

Wprowadzenie do analizy składniowej. Bartosz Bogacki.

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

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

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

0.1 Lewostronna rekurencja

Hierarchia Chomsky ego Maszyna Turinga

GRAMATYKI BEZKONTEKSTOWE

Metodologie programowania

Nierówność Krafta-McMillana, Kodowanie Huffmana

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

1 Automaty niedeterministyczne

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

ALGORYTMY I STRUKTURY DANYCH

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

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Paradygmaty dowodzenia

Algorytmy zwiazane z gramatykami bezkontekstowymi

Efektywna analiza składniowa GBK

Języki formalne i automaty Ćwiczenia 3

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

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Jaki język zrozumie automat?

JIP. Analiza składni, gramatyki

Analiza semantyczna. Gramatyka atrybutywna

JĘZYKIFORMALNE IMETODYKOMPILACJI

Rachunek logiczny. 1. Język rachunku logicznego.

Porządek symetryczny: right(x)

Języki i gramatyki formalne

Języki formalne i automaty Ćwiczenia 4

Języki, automaty i obliczenia

Języki, automaty i obliczenia

JĘZYKI FORMALNE I METODY KOMPILACJI

Twierdzenie spektralne

Kompresja bezstratna. Entropia. Kod Huffmana

Metody Kompilacji Wykład 7 Analiza Syntaktyczna

1 Działania na zbiorach

Gramatyki (1-2) Definiowanie języków programowania. Piotr Chrząstowski-Wachjtel

LX Olimpiada Matematyczna

Zad.3. Jakub Trojgo i Jakub Wieczorek. 14 grudnia 2013

Fale biegnące w równaniach reakcji-dyfuzji

- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S.

Zagadnienia stacjonarne

Kompresja danych. Tomasz Jurdziński. Wykład 6: kodowanie gramatykowe

Zagadnienia brzegowe dla równań eliptycznych

Języki formalne i automaty Ćwiczenia 9

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

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

Wykład 1 Wybrane problemy algorytmiki

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

Poprawność semantyczna

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 = θ.

Metody Kompilacji Wykład 3

Równanie przewodnictwa cieplnego (II)

Złożoność obliczeniowa

Gramatyka operatorowa

Efektywność Procedur Obliczeniowych. wykład 5

10. Translacja sterowana składnią i YACC

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

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

Matematyka dyskretna. Andrzej Łachwa, UJ, 2019 Zadania 1-100

Definicja i własności wartości bezwzględnej.

Analizator syntaktyczny

Schematy Piramid Logicznych

Matematyka dyskretna - 7.Drzewa

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

Konstrukcja liczb rzeczywistych przy pomocy ciągów Cauchy ego liczb wymiernych

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

Efektywny parsing języka naturalnego przy użyciu gramatyk probabilistycznych

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Języki formalne i automaty Ćwiczenia 8

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Każdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.

Rozdział 6. Ciągłość. 6.1 Granica funkcji

Dystrybucje, wiadomości wstępne (I)

Maksymalne powtórzenia w tekstach i zerowa intensywność entropii

Metoda Tablic Semantycznych

28 maja, Problem Dirichleta, proces Wienera. Procesy Stochastyczne, wykład 14, T. Byczkowski, Procesy Stochastyczne, PPT, Matematyka MAP1126

System BCD z κ. Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna. Semestr letni 2009/10

Teoria układów logicznych

Transkrypt:

JAO - lematy o pompowaniu dla jezykow bezkontekstowych

Postać normalna Chomsky ego Gramatyka G ze zbiorem nieterminali N i zbiorem terminali T jest w postaci normalnej Chomsky ego wtw gdy każda produkcja (reguła) gramatyki jest jednej z dwóch postaci A B C, gdzie A, B, C N; A a, gdzie A N, a T. (Postać normalna jest wygodna w dowodach wykorzystujących drzewa wyprowadzenia, gdyż drzewa stają się prawie binarne). Twierdzenie Jeśli ɛ / L(G) to można przekształcić G do postaci normalnej Chomsky ego. Transformacja polega na usunięciu symboli pustych z produkcji gramatyki oraz produkcji postaci A B. Produkcję postaci A A 1 A 2 A 3... A k, gdzie A i N zastępujemy przez zbiór: A A 1 D 1, D 1 A 2 D 2, D 2 A 3 D 3,... D k 1 A k 1 A k.

Lemat o pompowaniu Lemat Jeśli L bezkontekstowy, to dla z L dostatecznie dużych (większych od pewnej stałej c) istnieje rozkład z = uvwxy, vx ɛ spełniający [ ( i ) uv i wx i y L ] & vwx c.

Zastosowania Lematu o pompowaniu Z lematu o pompowaniu natychmiast wynika, że następujące języki nie są bezkontekstowe: L1 = { a n b n c n : n 1 }, L2 = { a i b j a i b j : i, j 1 } Nieskończony język nie zawierający słów postaci x 3, nie jest bezkontekstowy ( nie ma pompowania ). Tak więc zbiory prefiksów/podsłów słowa Thue-Morse a i Fibonacciego nie są bezkontekstowe ponieważ słowo T nie zawiera x 3, a słowo F nie zawiera x 4. Język L3 słów binarnych typu xx nie jest bezkontekstowy, gdyż L3 a + b + a + b + = L2 Dla L = {a i b j a i b k : k 1} {a k b j a i b j : k 1} mamy L = L2. Zatem operacja wyprowadza poza klasę języków bezkontekstowych.

Twierdzenie Klasa języków bezkontekstowych nie jest zamknięta na dopełnienie i przecięcie teoriomnogościowe. Dopełnienie L1 jest bezkontekstowe, a L1 nie jest bezkontekstowy, dowodzi to niezamkniętości na dopełnienie. Języki {a i b i c j : i, j 1}, {a j b i c i : i, j 1} są bezkontekstowe, ich przecięcie, równe L1, nie jest językiem bezkontekstowym: L1 = {a i b i c j : i, j 1}, {a j b i c i : i, j 1} Twierdzenie Klasa języków bezkontekstowych jest zamknięta na operacje,,, konkatencję, odwracanie słów, oraz branie wszystkich przesunięć cyklicznych.

Lemat Ogdena Dla języka a bc {a p ba n ca n : p liczba pierwsza, n 1} zwyczajny lemat o pompowaniu nie chwyta, wzmocnijmy go. Lemat (Lemat o pompowaniu kontrolowanym, uproszczony lemat Ogdena) Istnieje taka stała c, że jeśli zaznaczymy co najmniej c pozycji w słowie z L to jedna z części pompujących (v, x w dekompozycji uvwxy) zawiera wyróżnioną pozycję Uzasadnienie. Tym razem rozważamy tylko istotne wierzchołki drzewa wyprowadzenia, tzn. te z których wychodzą co najmniej dwie różne krawędzie będące początkami ścieżek do liścia (pozycji w słowie terminalnym) wyróżnionego. Istnieje ścieżka na której są dwa istotne wierzchołki o tej samej etykiecie (nieterminalu). Teraz drzewo pączkuje tak jak poprzednio.

Zastosowania lematu o pompowaniu kontrolowanym Lemat o pompowaniu kontrolowanym zastosujemy do języka {a i b j a k : i j i k j k} Niech c będzie stałą z lematu. Weźmy słowo a c b c! a 2c!. Zaznaczamy prefiks długości c, wymuszamy by jedna z części pompujących była w pierwszej grupie liter a. Podobnie dla języka {a i b j c k : ( i = j lub j = k ) & i k } Korzystając z Lematu Ogdena można udowodnić, że zbiór słów bez nietrywialnego okresu oraz jego dopełnienie nie są bezkontekstowe. Natomiast język słów zawierających pewne podsłowo typu xx, x ɛ, dla alfabetu ternarnego, nie jest bezkontekstowy, ale nie widać jak wykorzystać tutaj lemat Ogdena.

Jednoznaczność języków bezkontekstowych Gramatyka bezkontekstowa G jest jednoznaczna jeśli dla każdego słowa w L(G) istnieje tylko jedno drzewo wyprowadzenia w tej gramatyce. Na przykład gramatyka dla D 1 : S ( S ) S S ( ) jest niejednoznaczna, natomiast jest jednoznazna gramatyka: S ( S ) ( S ) S ( ) Język bezkontekstowy nazywamy jednoznacznym jeśli jest generowany przez pewną gramatykę jednoznaczną. Tak więc język D 1 jest językiem jednoznacznym (jak również języki nawiasowe D k z k typami nawiasów).

Istnienie języka niejednoznacznego Twierdzenie Język { a i b i c j : i, j 1 } { a i b j c j : i, j 1 } jest niejednoznaczny. Stosujemy takie rozumowanie jak w dowodzie lematu o pompowaniu kontrolowanym. Przypuśćmy, że gramatyka jednoznaczna G generuje nasz język, niech p będzie stałą z lematu. Weźmy słowo a p b p c p+p! i wyróżnijmy wszystkie a. Wtedy pierwsza częśc pompująca musi bć w bloku a (na rysunku żółta), a druga w bloku symboli b (czerwony na rysunku). Po podpompowaniu otrzymujemy wyyprowadzenie słowa a p+p! b p+p! c p+p! w którym pewne poddrzewo T 1 zaczyna się w bloku liter a i w bloku liter b, nie dalej niż p symboli od prawego końca tego bloku (kolor czerwony).

Dowod twierdzenia o niejednoznacznosci Stosując symetryczne rozumowanie dla słowa a p+p! b p c p, w którym wyróżniamy ostatni blok, otrzymamy drzewo wyprowadzenia słowa a p+p! b p+p! c p+p! w którym pewne poddrzewo T 2 zaczyna się w bloku liter b, nie dalej niż p pozycji od lewego końca tego bloku, a kończy w bloku liter c.

Niejednoznaczność Drzewa T 1, T 2 nie mogą być poddrzewami tego samego drzewa, ponieważ się przecinają (patrz rysunek). Zatem mamy więcej niż jedno drzewo wyprowadzenia (niejednoznaczność).

Twierdzenie Parikha dla języków bezkontekstowych Przypomnienie: Ψ jest funkcją Parikha. Następujące twierdzenie jest również konsekwencją własności pompujących dla języków bezkontekstowych. Twierdzenie Jeśli L jest językiem bezkontekstowym to istnieje język R regularny taki, że Ψ(L) = Ψ(R). (Szkic dowodu) Załóżmy, że gramatyka bezk. G jest w postaci normalnej Chomsky ego i ma k nieterminali. Niech N będzie taką stałą, że w każdym drzewie wyprowadzenia słowa długości co najmniej N istnieje ścieżka na której pewien nieterminal pojawia się co najmniej k + 2 razy.

Szkic dowodu twierdzenia Parikha Niech Q będzie podzbioremz zbioru nieterminali i niech L Q będzie zbiorem słów mających drzewo wyprowadzenia zawierające dokładnie wszystkie nieterminale z Q i żadnych innych. Niech F Q będzie zbiorem słów z L Q o długości co najwyżej N, a T Q będzie zbiorem słow xy takich, że xy N oraz istnieje wyprowadzenie A xay w którym występują jedynie nieterminale z Q. Wtedy Ψ(L q ) = Ψ(F Q T Q ) Zatem L Q = Q L Q jest w sensie Parikha równoważny językowi który jest regularny, gdyż zbiory F Q i T q są skończone. Mamy Ψ(L) = Ψ(F Q TQ ) Q

Lemat o pompowaniu dla języków liniowych Lemat Jeśli L jest liniowym językiem bezkontekstowym, to dla z L dostatecznie dużych (większych od pewnej stałej c) istnieje rozkład z = uvwxy, vx ɛ spełniający [ ( i ) uv i wx i y L ] & u v x y c Części pompujące są blisko brzegów słowa. Wynika stąd Fakt Istnieją języki bezkontekstowe, które nie są liniowe, na przykład język { a i b i a j b j : i, j 1 }