Języki, automaty i obliczenia

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

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

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}

Imię, nazwisko, nr indeksu

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

Języki, automaty i obliczenia

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

Jaki język zrozumie automat?

Języki, automaty i obliczenia

10110 =

Języki, automaty i obliczenia

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

JAO - lematy o pompowaniu dla jezykow bezkontekstowy

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

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

Hierarchia Chomsky ego

JAO - Wprowadzenie do Gramatyk bezkontekstowych

Języki formalne i automaty Ćwiczenia 1

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)

Hierarchia Chomsky ego Maszyna Turinga

1 Automaty niedeterministyczne

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

Języki formalne i automaty Ćwiczenia 7

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

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Języki formalne i automaty Ćwiczenia 9

Maszyna Turinga języki

Matematyczne Podstawy Informatyki

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:

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

Obliczenia inspirowane Naturą

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

Języki formalne i automaty Ćwiczenia 2

Złożoność obliczeniowa

Języki, automaty i obliczenia

Wyrażenia regularne.

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

Gramatyki rekursywne

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

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

JĘZYKIFORMALNE IMETODYKOMPILACJI

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

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

Obliczenia inspirowane Naturą

Teoretyczne Podstawy Informatyki

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.

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

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

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

JĘZYKI FORMALNE I METODY KOMPILACJI

Opisy efektów kształcenia dla modułu

Teoretyczne podstawy informatyki

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

Lista zadań - Relacje

Matematyczne Podstawy Informatyki

ZALICZENIE WYKŁADU: 30.I.2019

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

Kombinowanie o nieskończoności. 3. Jak policzyć nieskończone materiały do ćwiczeń

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

Języki formalne i automaty Ćwiczenia 3

Symbol, alfabet, łańcuch

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

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

Języki formalne i automaty Ćwiczenia 4

1 Zbiory. 1.1 Kiedy {a} = {b, c}? (tzn. podać warunki na a, b i c) 1.2 Udowodnić, że A {A} A =.

Definicja 2. Twierdzenie 1. Definicja 3

Podstawy logiki i teorii mnogości Informatyka, I rok. Semestr letni 2013/14. Tomasz Połacik

Jȩzyki, Automaty i Obliczenia. Zadania. Damian Niwiński i Wojciech Rytter. 21 lutego 2015

Topologia zbioru Cantora a obwody logiczne

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

Teoria ciała stałego Cz. I

Matematyka dyskretna. 1. Relacje

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

Topologia - Zadanie do opracowania. Wioletta Osuch, Magdalena Żelazna, Piotr Kopyrski

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

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

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

(b) Suma skończonej ilości oraz przekrój przeliczalnej ilości zbiorów typu G α

Rekurencyjna przeliczalność

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

1 Działania na zbiorach

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

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

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

R O Z D Z I A Ł V I I

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

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

TEORETYCZNE PODSTAWY INFORMATYKI

Zadania do Rozdziału X

1. ZBIORY PORÓWNYWANIE ZBIORÓW. WYKŁAD 1

Problemy Decyzyjne dla Systemów Nieskończonych

Języki formalne i automaty Ćwiczenia 6

Systemy algebraiczne. Materiały pomocnicze do wykładu. przedmiot: Matematyka Dyskretna 1 wykładowca: dr Magdalena Kacprzak

Zbiory liczbowe widziane oczami topologa

Podstawowe własności grafów. Wykład 3. Własności grafów

GRAMATYKI BEZKONTEKSTOWE

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

... [a n,b n ] kn [M 1,M 2 ], gdzie a i M 1, b i M 2, dla i {1,..., n}. Wówczas: [a 1,b 1 ] k [a n,b n ] kn =(a 1 b 1 a 1

Matematyka dyskretna

Teoria automatów i języków formalnych. Określenie relacji

Transkrypt:

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 przemienne języków bezkontekstowych są semiliniowe

Pompowanie idea Przykład W W + W P W W b P W + W a P a P P a b a b + a a a b + a L(G) b + a a a a a a b + a + a L(G) b+ b L(G)

Pompowanie Lemat o pompowaniu Dla każdego języka bezkontekstowego L istnieje n takie, że każde słowo x L, x n, można przedstawić jako i dla każdego m N, w y m u z m v L. x = w y u z v, gdzie y z > 0 i y u z n L bezkontekstowy = n x x=wyuzv m. w y m u z m v L Wniosek L jest niebezkontekstowy, jeśli dla każdego n, istnieje słowo x L, x n takie, że dla każdego przedstawienia x jako istnieje m N takie, że w y m u z m v L. x = w y u z v, gdzie y z > 0 i y u z n, L niebezkontekstowy = n x x=wyuzv m. w y m u z m v L

Pompowanie dowód Lemat o pompowaniu Dla każdego języka bezkontekstowego L istnieje n takie, że każde słowo x L, x n, można przedstawić jako i dla każdego m N, w y m u z m v L. x = w y u z v, gdzie y z > 0 i y u z n Dowód: Niech G = (A, N, S, α) gramatyka w postaci Chomskiego dla L {ε}. Niech n takie, że każde drzewo wyprowadzenia dla słowa długości n ma ścieżkę dłuższą niż N. W W W a W W P P W W a a b a

Pompowanie przykłady pozytywne L niebezkontekstowy = n x x=wyuzv m. w y m u z m v L Przykład Pokażemy, że język L = { w w : w {a, b} } nie jest bezkontekstowy. Dla dowolnego n N rozważmy słowo x n = a n b n a n b n L. Rozważmy dowolne słowa w, y, u, z, v takie, że x n = w y u z v, gdzie y z > 0 i y u z n. Dwa przypadki: albo obydwie litery a, b występują w którymś ze słów y, z, albo nie. Przykład Język nie jest bezkontekstowy. { a n b n c n : n N }

Pompowanie przykład negatywny L niebezkontekstowy = n x x=wyuzv m. w y m u z m v L Przykład Spróbujmy pokazać, że język L = { a i b j c k : i, j, k parami różne } nie jest bezkontekstowy. Dla dowolnego n N rozważmy słowo... x n = a f (n) b g(n) c h(n) L. B.u.o. h(n) > f (n), g(n). Wtedy niech w a f (n) b g(n) c, y u z v c +, yz = h(n) f (n), h(n) g(n). Dla każdego m N, w y m u z m v L. Pompowanie nie działa...

Pompowanie dla zaawansowanych :) Rozważmy słowa z zaznaczonymi pozycjami. Np. słowo ma zaznaczone 3 pozycje. a a a b a a a b Niech w oznacza liczbę zaznaczonych pozycji w słowie w. Lemat o pompowaniu (Ogden 1968) Dla każdego języka bezkontekstowego L istnieje n takie, że każde słowo x L, x n, można przedstawić jako i dla każdego m N, w y m u z m v L. x = w y u z v, gdzie y z > 0 i y u z n L bezkontekstowy = n x x=wyuzv m. w y m u z m v L Dowód: Tak samo.

Pompowanie dla zaawansowanych przykład L niebezkontekstowy = n x x=wyuzv m. w y m u z m v L Przykład Pokażemy, że język L = { a i b j c k : i, j, k parami różne } nie jest bezkontekstowy. Dla dowolnego n N rozważmy słowo x n = a n b n+n! c n+2n! L. Rozważmy dowolne słowa w, y, u, z, v takie, że x n = w y u z v, gdzie y z > 0 i y u z n. Wtedy któreś ze słów y, z musi zawierać przynajmniej jedno a. Trzy przypadki: albo yz a +, albo y a +, z b, albo y a +, z c.

Plan 1 Pompowanie języków bezkontekstowych 2 Własności domknięcia 3 Obrazy przemienne języków bezkontekstowych są semiliniowe

Operacje boolowskie, konkatenacja, iteracja Fakt Języki bezkontekstowe są zamknięte na sumy, konkatenacje, iteracje (gwiazdkę). Dowód: Gramatyki. Fakt Języki bezkontekstowe nie są zamknięte na przecięcia. Dowód: Język { a n b n c m : n, m N } { a n b m c m : n, m N } nie jest bezkontekstowy. Wniosek Języki bezkontekstowe nie są zamknięte na dopełnienia. Na przykład języki { w w : w {a, b} } { a i b j c k : i, j, k parami różne } nie są bezkontekstowe, a ich dopełnienia są (dlaczego?).

Podstawienia, (przeciw)obrazy homomorficzne Fakt (języki bezkontekstowe są zamknięte na podstawienia) L A bezkontekstowy h : A P(B ), a A. h(a) bezkontekstowy = ĥ(l) bezkontekstowy. W szczególności języki bezkontekstowe są zamknięte na obrazy homomorficzne: L A bezkontekstowy h : A B homomorfizm = h(l) bezkontekstowy. Fakt (języki bezkontekstowe są zamknięte na przeciwobrazy homomorficzne) L B bezkontekstowy h : A B homomorfizm = h 1 (L) bezkontekstowy.

Operacje boolowskie (języki deterministyczne) Twierdzenie Deterministyczne języki bezkontekstowe są zamknięte na dopełnienia. Na przykład dopełnienia języków { a n b n : n N } { w $ w R : w A } są deterministycznymi językami bezkontekstowymi, a następujący język nie: L = { a i b j c k : i = j j = k i = k }. Fakt Deterministyczne języki bezkontekstowe nie są zamknięte na przecięcia. Dowód: Język { a n b n c m : n, m N } { a n b m c m : n, m N } nie jest bezkontekstowy. Wniosek Deterministyczne języki bezkontekstowe nie są zamknięte na sumy.

Zestawienie własności domknięcia deterministyczne operacja języki języki bezkontekstowe bezkontekstowe konkatenacja iteracja (gwiazdka) suma przecięcie dopełnienie różnica podstawienie/obraz przeciwobraz

Dopełnienie języków deterministycznych (idea dowodu) Niech A = (A, Q, q 0, F, S, s 0, δ) deterministyczny automat ze stosem. Skonstruujemy automat deterministyczny A t.że L(A ) = A L(A). Bez u.o. załóżmy, że symbol początkowy s 0 nie jest nigdy zdejmowany ze stosu. Pytanie Niech Ā będzie identyczny z A, ale stany akceptujące to Q F. Czy L(Ā) to dopełnienie L(A)? Nie możemy pozbyć się pustych przejść! ε Konfigurację (q, w) nazywamy niestabilną jeśli (q, w), a w p.p. stabilną. Niech L s(a) = { w A : c 0 w c dla jakiejś stabilnej konfiguracji akceptującej c } Mówimy, że automat A nie pętli się, jeśli L s(a) L s(ā) = A. Idea dowodu: A niepętlący się A A (L(A ) = L s(a ))

Dopełnienie języków deterministycznych (dowód, krok 1) A niepętlący się A A Mówimy, że para (q, s) Q S pętli się, jeśli automat A ma nieskończony bieg: ε ε ε (q, s) (p 1, w 1 ) (p 2, w 2 )... Stany {q, p 1, p 2,...} nazwijmy osiągalnymi z (q, s). Automat A otrzymujemy przez eliminację pętlących się par (q, s): { δ (q (q, s, ε) = tak, s) jeśli jakiś stan akceptujący jest osiągalny z (q, s) (q nie, s) w p.p. L(A ) = L(A). Czy A nie pętli się? Gdyby się pętlił, to v ε ε ε (q 0, s 0 ) (p 0, w 0 ) (p 1, w 1 ) (p 2, w 2 )... a wtedy para (p i, w i ), gdzie w i jest najkrótsze spośród wszystkich w j, pętliłaby się.

Dopełnienie języków deterministycznych (dowód, krok 2) A niepętlący się A A Q = Q {t, n,?} q 0 = (q 0,?) (bez u.o. zakładamy, że q 0 F ) F = { (q, n) : q Q } S = S s 0 = s 0 jeśli δ (q, s, ε) = (p, w), to δ ((q, t), s, ε) = ((p, t), w) { δ ((p,?), w) o ile p F ((q,?), s, ε) = ((p, t), w) o ile p F jeśli δ (q, s, a) = (p, w), dla a A, to δ ((q,?), s, ε) = ( (q, n), w) { δ ((p,?), w) o ile p F ((q, t), s, a) = ((p, t), w) o ile p F { δ ((p,?), w) o ile p F ((q, n), s, a) = ((p, t), w) o ile p F

Język bezkontekstowy z regularnym Fakt Jeśli L jest (deterministycznym) językiem bezkontekstowym a R jest regularny, to L R L R L 1 R R 1 L L R jest (deterministycznym) językiem bezkontekstowym. Dowód: Produkt automatu ze stosem i automatu skończonego. Przykład Gdyby język L = { a i b j c k : i = j j = k i = k }. był deterministyczny bezkontekstowy, to język ({a, b, c} L) a b c musiałby być bezkontekstowy.

Plan 1 Pompowanie języków bezkontekstowych 2 Własności domknięcia 3 Obrazy przemienne języków bezkontekstowych są semiliniowe

Obraz przemienny języka Dla w = a 1... a n A, zdefiniujmy funkcję (multizbiór nad A) P(w) : A N P(w)(a) = { i {1... n} : a i = a }. Obraz przemienny języka L nad A to: P(L) = { P(w) : w L }. Dla ustalonego liniowego porządku na alfabecie A = {b 1,... b k }, b 1 < b 2 <... < b k, obraz przemienny języka L można utożsamiać z podzbiorem N k : P(w)(i) = P(w)(b i ). Przykład Niech A = {a, b}, a < b. P({ a n b n a : n N }) = P((a b) a) = { (n + 1, n) : n N } P(palindromy) = { (n, m) : przynajmniej jedno spośród n, m parzyste }

Zbiory semiliniowe Dla P N k, zdefiniujmy P = { p 1 + p 2 +... + p m : p 1, p 2,..., p m P }. Zbiór liniowy X N k to dowolny zbiór postaci X = b + P = { b + p 1 +... + p m : p 1,..., p m P }, dla b N k, P fin N k. b baza, P okresy Przykład Dla b = (1, 2), P = {(2, 0), (0, 3)}, b + P = { (n, m) N 2 : n 1 (mod2), m 2 (mod3) }. Zbiór semiliniowy X N k to dowolna skończona suma zbiorów liniowych: b 1 + P 1 b 2 + P 2... b n + P n Pytanie Niech B, P fin N k. Czy B + P jest zbiorem (semi)liniowym? Dla k = 1, zbiory semiliniowe to zbiory prawie okresowe.

Obraz przemienny jest semiliniowy Twierdzenie (Parikh 1961) Obrazy przemienny języka bezkontekstowego jest semiliniowy. Wniosek Dla każdego języka bezkontekstowego L istnieje język regularny R t.że P(L) = P(R). Dowód: b 1 + P 1... b n + P n v + {v 1,..., v m} N k w + (w 1 +... + w m) A Wniosek Dla alfabetów jednoliterowych, (języki bezkontekstowe) = (języki regularne).

Obraz przemienny jest semiliniowy (dowód) Niech L = L(G), gdzie G = (A, N, S, α). Pokażemy, że P(L) jest semiliniowy. Dla M N, niech L M L zawiera słowa posiadające M-drzewo wyprowadzenia, tz. takie, w którym pojawiają się wszystkie nieterminale z M (i żadne inne). Ponieważ L = M N L M, wystarczy pokazać, że P(L M ) jest semiliniowy, dla dowolnego M N. Drzewo wyprowadzenia nazwijmy płytkim, jeśli na żadnej ścieżce żaden nieterminal nie pojawia się więcej niż N razy. Pokażemy, że P(L M ) = B M + P M, gdzie B M = { P(w) : w ma płytkie M-drzewo wyprowadzenia } P M = { P(wv) : wxv ma płytkie M-drzewo wyprowadzenia o korzeniu X, dla pewnego X N }. rysunek

W następnym odcinku: