Test GR3
Wyrażenia regularne
Definicja 1.1
Niech będzie skończonym alfabetem. Rodzina języków regularnych nad alfabetem to najmniejsza, w sensie inkluzji, rodzina języków zawartych w taka, że:
- (1) ,
- (2) jeśli , to
- (3) jeśli , to
Wprost z definicji wynika, że oraz że dla dowolnego języka regularnego zachodzi równość jest
Wprowadzona w ten sposób definicja rodziny języków regularnych wymaga uzasadnienia faktu, iż definiowany obiekt, definiowana rodzina, istnieje. Zauważmy więc, że warunki 1-3 definicji 1.1 spełnia na przykład rodzina wszystkich podzbiorów , a zatem klasa takich rodzin nie jest pusta. Ponadto łatwo możemy stwierdzić, że jeśli rodziny Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathcal{R}_{1},\: \mathcal{R}_{2} } spełniają warunki 1-3 powyższej definicji, to rodzina również spełnia te warunki. Stąd możemy wyprowadzić wniosek, że najmniejsza rodzina spełniającą te warunki, to przecięcie
po wszystkich rodzinach spełniających warunki 1-3 definicji 1.1. Zauważmy, że w świetle powyższej definicji fakt, że oznacza, że można uzyskać z liter alfabetu i zbioru pustego poprzez zastosowanie wobec tych "elementarnych klocków" skończonej liczby działań: sumy, katenacji i gwiazdkowania. Na odwrót, każdy zbiór otrzymany w ten sposób jest elementem rodziny . Ta obserwacja prowadzi do pojęcia wyrażeń regularnych, formalnego zapisu języków regularnych.
Definicja 1.2
Niech będzie alfabetem, a zbiór alfabetem rozłącznym z . Słowo jest wyrażeniem regularnym nad alfabetem wtedy i tylko wtedy, jeśli:
- (1)
- (2) jest literą)
- (3) jest w postaci , gdzie są wyrażeniami regularnymi nad alfabetem .
Przyjmujemy oznaczenia:
Rodzinę wyrażeń regularnych nad alfabetem oznaczamy symbolem . Łatwo zauważyć związek pomiędzy wyrażeniami regularnymi oraz wprowadzoną wcześniej rodziną , regularnych języków wolnego monoidu . Związek ten ustala poniższa definicja. Definicja 1.3
Wartościowaniem wyrażenia regularnego nazywamy odwzorowanie
określone następująco:
- (1)
- (2)
- (3)
Odwzorowanie określające wartość wyrażenia regularnego nie jest, jak można zauważyć, iniekcją. Oznacza to, że różne wyrażenia regularne mogą mieć tę samą wartość, czyli określać ten sam język regularny. Prostym przykładem tego faktu są wyrażenia regularne oraz . Zwróćmy uwagę na wartość wyrażenia regularnego oznaczonego symbolem .
Jest mianowicie
Wprowadza się następującą relację równoważności w rodzinie wyrażeń regularnych.
Definicja 1.4
Wyrażenia regularne nazywamy równoważnymi i oznaczamy , jeśli .
Problem równoważności wyrażeń regularnych jest rozstrzygalny i jest PSPACE-zupełny. Wrócimy do tego problemu w kolejnych wykładach.
Oto przykłady równoważnych wyrażeń regularnych
gdzie .
Wprost z definicji wyrażenia regularnego wynika następujaca równoważność:
Fakt 1.1
dla pewnego .
Wyrażenia regularne dają bardzo wygodne narzędzie zapisu języków należących do rodziny .
Np. język nad alfabetem złożony ze wszystkich słów zaczynających się lub kończących na literę zapisujemy jako .
Z kolei wyrażenie regularne oznacza język .
Dla dalszego uproszczenia zapisu przyjmiemy w naszym wykładzie następującą umowę. Jeśli język jest wartością wyrażenia regularnego , czyli , to będziemy zapisywać ten fakt jako . Będziemy zatem mówić w dalszym ciągu wykładu o języku . Z tych samych powodów, dla dowolnego alfabetu będziemy używać zapisu w miejsce .
Zauważmy na koniec rozważań o wyrażeniach regularnych, że dość prosty w zapisie język nie należy do rodziny i nie można go zapisać przy pomocy wyrażeń regularnych.
Prawa kongruencja syntaktyczna i kongruencja syntaktyczna
Opis języka regularnego za pomocą wyrażeń regularnych jest bardzo wygodny, ale nie jedyny. W kolejnych wykładach będziemy wprowadzać inne reprezentacje języków regularnych, takie jak automaty czy gramatyki. Pojęcia, które wprowadzimy teraz są również narzędziami dla opisu i badań własności języków regularnych. W szczególności służą do konstrukcji możliwie najprostszego automatu rozpoznającego dany język regularny, zwanego automatem minimalnym.
Niech będzie dowolnym językiem. W monoidzie wprowadzamy następujące dwie relacje:
- prawą kongruencję syntaktyczną przyjmując
dla dowolnych słów {}
Parser nie mógł rozpoznać (błąd składni): {\displaystyle u \; P_L^r \; v \;\; \mbox{ wtedy i tylko wtedy, gdy spełniony jest warunek}}
- kongruencję syntaktyczną przyjmując
dla dowolnych {}
Łatwo stwierdzić, że nazwy wprowadzonych relacji pokrywają się z ich własnościami, to znaczy relacja jest rzeczywiście prawą kongruencją, a kongruencją.
Ćwiczenie [Uzupelnij]
Niech będzie alfabetem.
- Dla języka relacja
- ma klasy równoważności:
- ma klas równoważności:
- Dla języka obie relacje mają nieskończony indeks
- dla klasami równoważności są zbiory
- dla klasami równoważności są zbiory
dla ,
- dla klasami równoważności są zbiory
- dla klasami równoważności są zbiory
dla ,
dla
Udowodnimy następujące własności relacji oraz .
Prawa kongruencja syntaktyczna jest największą w sensie inkluzji spośród wszystkich
prawych kongruencji
takich, że
Kongruencja syntaktyczna jest największą w sensie inkluzji spośród wszystkich
kongruencji
takich, że
Dowód przeprowadzimy dla prawej kongruencji syntaktycznej. Uzasadnienie tezy dla kongruencji przebiega podobnie. Niech będzie dowolną prawą kongruencją spełniającą założenia i niech . Zatem dla każdego jest
W konsekwencji W
szczególności więc dla dowolnego ma miejsce inkluzja Zatem .
Aby udowodnić inkluzję w stronę przeciwną ustalmy dowolne i niech
Przyjmując w definicji Uzupelnic d1| relacji otrzymamy równoważność
A więc
Jeśli język jest regularny, to relacja jest największą w sensie inkluzji spośród wszystkich prawych kongruencji takich, że język jest sumą jej pewnych klas równoważnosci a relacja jest największą w sensie inkluzji spośród wszystkich kongruencji spełniających analogiczny warunek. Obie relacje mają skończony indeks, czyli dzielą wolny monoid na skończoną liczbę klas równoważności.
dla dociekliwych - start ----
Pojęcie, które wprowadzimy teraz - monoid syntaktyczny języka - wiąże teorię języków formalnych, a w szczególności teorię języków rozpoznawalnych, z teorią półgrup. Związek ten stanowi podstawę dla bardziej zaawansowanych problemów teorii języków i automatów wykraczających poza ramy tego wykładu.
Niech będzie dowolnym językiem. Monoidem syntaktycznym języka nazywamy strukturę ilorazową
Dualnie, tworząc iloraz wprowadza się pojęcie półgrupy syntaktycznej języka . Oba wprowadzone tu pojęcia zilustrowane bedą w trakcie dalszych rozważań.
dla dociekliwych - end ----
AUTOMAT MINIMALNY
Określenie języka rozpoznawalnego postuluje istnienie automatu o skończonej liczbie stanów działającego w odpowiedni sposób. Należałoby zatem wskazać algorytm budowy takiego automatu dla języka rozpoznawalnego. Oczywiście interesuje nas algorytm prowadzący do automatu o możliwie najprostszej postaci. Najprostsza postać, w tym kontekście, oznacza najmniejszą liczbę stanów.
Automat
= (S,A,f,s_0,T) Parser nie mógł rozpoznać (błąd składni): {\displaystyle rozpoznający język } LParser nie mógł rozpoznać (błąd składni): {\displaystyle na\-zy\-wa\-my \textbf{automatem minimalnym}\index{automat minimalny}, jeśli posiada najmniejszą licz\-bę stanów spośród wszystkich automatów rozpoznają\-cych język } L. Parser nie mógł rozpoznać (nieznana funkcja „\enddefin”): {\displaystyle \enddefin Kwestią istnienia takiego automatu minimalnego zajmujemy się teraz. W kolejnym wykładzie przedstawimy algorytmy konstrukcji automatu minimalnego. W poniższym twierdzeniu występuje automat ilorazowy } {A}_{P^{r}_{L}} Parser nie mógł rozpoznać (błąd składni): {\displaystyle określony przez prawą kongruencję } P_L^rParser nie mógł rozpoznać (nieznana funkcja „\begintheor”): {\displaystyle . \begintheor Dla dowolnego automatu } {A}
język istnieje jedyny epimorfizm taki, że
Prawa kongruencja automatowa ma skończony indeks i . Zatem z twierdzenia Uzupelnic trr2| wynika, że
Istnienie epimorfizmu wynika z twierdzenia 1.1, wykład 3. Epimorfizm ten określony jest dla dowolnego stanu równością gdzie jest słowem takim, że .
Jest to jedyny epimorfizm spełniający warunki tezy dowodzonego twierdzenia. Dla każdego epimorfizmu takiego, że i
mamygdzie Tak więc
Zatem udowodnione twierdzenie zapewnia nas o istnieniu automatu minimalnego, co formułujemy w następującym wniosku.
Niech będzie dowolnym językiem. Automat
gdzie jest automatem minimalnym rozpoznającym język . Oznaczać go będziemy symbolem .
dla dociekliwych - start ----
Następne twierdzenie charakteryzuje monoid przejść automatu minimalnego i podaje kolejny warunek równoważny na to, żeby język był rozpoznawany przez automat.
Niech będzie dowolnym językiem.{}{}
1. Dla dowolnego języka monoid przejść automatu minimalnego jest izomorficzny z monoidem syntaktycznym języka , czyli
{}{}
2. (tw. J.Myhill'a) Język jest rozpoznawalny wtedy i tylko wtedy, gdy jest monoidem skończonym.
Dla dowodu punktu 1, wykażemy, że
gdzie zgodnie z definicją dla dowolnych
Korzystamy teraz z twierdzenia o rozkładzie epimorfizmu, które w tym przypadku
ma postać:
RYSUNEK ja-lekcja4-w-rys1.pdf
czyli .
Dla dowodu punktu 2 załóżmy, że język jest rozpoznawalny.
Zatem
Z twierdzenia Uzupelnic trr2| wnioskujemy, że Oznacza to, że indeks relacji jest niewiększy od indeksu a co za tym idzie, jest monoidem skończonym.
Dla dowodu implikacji w stronę przeciwną rozważmy epimorfizm kanonicznyPokażemy, że spełnia on warunki z punktu 4 twierdzenia 1.2 z wykładu 3. jest skończony, więc pozostaje do wykazania równość
.
Czyli i .
dla dociekliwych - end ----
Z twierdzenia Uzupelnic 3.1| wynika, że określenie klas abstrakcji prawej kongruencji syntaktycznej prowadzi do określenia minimalnego automatu rozpoznającego język . Prezentowane poniżej twierdzenia wskazują sposób konstrukcji prawej kongruencji syntaktycznej dla języka .
Niech będzie dowolnym językiem,
a relacją
równoważności o dwóch klasach równoważności i .
Przez dla oznaczmy zstępujący ciąg relacji określony następująco:
a dla przyjmijmy
{ Wtedy . }
Na początku uzasadnimy, że jest prawą kongruencją na . Załóżmy więc, że słowa są w relacji . Wybierzmy dowolne słowo i niech oznacza długość tego słowa. Z założenia wynika, iż , co w świetle definicji ciągu relacji implikuje, że Parser nie mógł rozpoznać (błąd składni): {\displaystyle xz\: \rho _{i}\: yz. } Ponieważ jest dowolne wnioskujemy ostatecznie, że co kończy dowód faktu, że jest prawą kongruencją.
Dowiedziemy teraz równościDla uzasadnienia inkluzji zauważmy, że jeśli to dla dowolnego mamy , a w szczególności Z definicji relacji dla dowolnego prawdziwa
jest równoważnośćA więc . Inkluzję w stronę przeciwną pokażemy, dowodząc indukcyjnie ze względu na , że dla dowolnych prawdziwa jest następująca implikacja
Załóżmy zatem, że Z definicji wynika, że dla dowolnego prawdziwa jest równoważność
żądaną własność dla Załóżmy teraz, że prawdziwa jest implikacja
dla oraz dla dowolnych Stąd, że jest prawą kongruencją, wnioskujemy, że dla dowolnego spełniona jest relacja Korzystając z założenia indukcyjnego mamy dla dowolnego . A to oznacza z definicji , że i kończy dowód.
Kolejne twierdzenie charakteryzuje relację dla języka rozpoznawalnego i orzeka, iż w przypadku języka rozpoznawalnego ciąg relacji , aproksymujacych , jest skończony. Równoważność dwóch pierwszych warunków poniższego twierdzenia nazywana bywa często w literaturze twierdzeniem A.Nerode.
Następujące warunki są równoważne:
- Język jest rozpoznawalny
- Relacja ma skończony indeks
- Ciąg relacji stabilizuje się, co oznacza, że istnieje takie, że
Dla najmniejszego takiego prawdziwa jest równość
Dowód poprowadzimy według następujacego schematu:
{ Uzupelnic u1| Uzupelnic u2|Uzupelnic u3| }
{ jest największą w sensie inkluzji relacją spełniająca warunki punktu 2 z twierdzenia 1.2, wykład 3. Z tego samego twierdzenia wynika skończoność indeksu. }
Relacja jest prawą kongruencją, ma skończony indeks oraz
Dowód poprowadzimy nie wprost. Załóżmy więc, że dla każdego jest Oznacza to, że dla każdego indeksy relacji tworzą ciąg silnie rosnący, to znaczy spełniają zależność Ponieważ to dla każdego prawdziwa jest nierówność A to prowadzi do wniosku, że dla dowolnego
Udowodnimy indukcyjnie ze względu na , że każda z relacji dla ma skończony indeks. Oczywiście Załóżmy teraz, że relacja ma skończony indeks. Z definicji relacji wynika, że jej klasy równoważności powstają przez podział klas równoważności na skończoną liczbę klas relacji (skończona jest liczba możliwych do spełnienia warunków prowadzących do podziału). Oznacza to, że indeks relacji jest również skończony, a więc relacja ma również skończony indeks.
Wykorzystamy powyżej udowodnione własności do konstrukcji automatu minimalnego rozpoznającego język . Warto zauważyc, iż punktem wyjścia dla tej konstrukcji jest język zadany, na przykład, poprzez wyrażenie regularne.
Ćwiczenie [Uzupelnij]
Niech do języka należą wszystkie słowa nad alfabetem zaczynające się lub kończące literą . Skonstruujemy minimalny automat akceptujący język .
Ponieważ , to i automat minimalny ma stany.
Przyjmujemy , , ,
oraz , a automat minimalny
przedstawiony jest przy pomocy grafu:
RYSUNEK ja-lekcja4-w-rys2.JPG
Ćwiczenie [Uzupelnij]
Dla języka określimy ciąg relacji , a
następnie relację . Umożliwi nam to, w świetle
powyższych rozważań, zbudowanie automatu minimalnego rozpoznającego
ten język. Poniżej wypisane są klasy równoważności relacji oraz , , co
kończy proces obliczania relacji i daje równość .
- , gdzie
Przyjmując , , , oraz automat minimalny przedstawiony jest przy pomocy grafu:
RYSUNEK ja-lekcja4-w-rys3.JPG
dla dociekliwych - start ----
Powyższe twierdzenia podają również sposób konstrukcji monoidu syntaktycznego języka .
dla dociekliwych - end ----