Języki, automaty i obliczenia/Ćwiczenia 4: Wyrażenia regularne. Automat minimalny
ĆWICZENIA 4
Ćwiczenie [Uzupelnij]
Pokaż, że każdy skończony zbiór słów nad dowolnym alfabetem jest regularny, tzn. jest określony przez pewne wyrażenie regularne.
ROZWIĄZANIE. Niech będzie skończonym zbiorem słów nad pewnym alfabetem . Wtedy wyrażenie regularne
jest wyrażeniem regularnym określającym
zbiór .
Ćwiczenie [Uzupelnij]
Sprawdź, czy język ciągów binarnych, w których sekwencja 11 występuje dokładnie raz, da się określić wyrażeniem regularnym.
ROZWIĄZANIE. Przykładowym wyrażeniem regularnym opisującym ten język
jest wyrażenie
Ćwiczenie [Uzupelnij]
Udowodnij równoważności wyrażeń regularnych (, i są dowolnymi wyrażeniami regularnymi).
- ,
- ,
- ,
- ,
- ,
- .
ROZWIĄZANIE punktu 1. Należy pokazać, że
. Obliczamy:
ROZWIĄZANIE punktu 2.
Skorzystaliśmy tu z
przemienności sumy mnogościowej.
ROZWIĄZANIE punktu 3.
Zauważ, że druga równość jest prawdziwa dlatego, że po obu stronach operatora katenacji występuje wyrażenie . Równość ta nie zachodzi w dowolnym przypadku, tzn. .
ROZWIĄZANIE punktu 4. Niech będzie językiem złożonym ze słów postaci takich, że każde należy do języka opisanego wyrażeniem regularnym lub . W oczywisty sposób opisany jest wyrażeniem regularnym . Zapiszmy teraz elementy w inny sposób: dla każdego "pogrupujmy" wszystkie podsłowa należące do języka opisywanego wyrażeniem , które w słowie występują obok siebie. To samo zróbmy ze słowami należącymi do języka opisywanego wyrażeniem . Zatem , gdzie każde należy do , a każde należy do , gdyż każde ( może być katenacją dowolnej ilości słów należących do języka opisywanego wyrażeniem (odpowiednio: ). W szczególności niektóre oraz mogą być słowami pustymi. Ponadto może być dowolnie duże. Zbiór słów jest więc opisywany wyrażeniem , przy czym wyrażenie w nawiasie "odpowiada" pojedynczej sekwencji , a gwiazdka przy nawiasie "odpowiada" konkatenacji dowolnej ilości takich słów. Ale ten zbiór słów to język . Otrzymujemy zatem . Zatem wyrażenia są równoważne.
ROZWIĄZANIE punktu 5. Równość wynika z faktu, że .
ROZWIĄZANIE punktu 6. Użyj rozumowania podobnego do tego z rozwiązania punktu 4.
Ćwiczenie [Uzupelnij]
Udowodnij, że dla dowolnych wyrażeń regularnych , i wyrażenia
nie są równoważne.
ROZWIĄZANIE
, natomiast należy do dwóch pozostałych wyrażeń.
i
Ćwiczenie [Uzupelnij]
Sprawdź, czy następujące wyrażenia regularne są równoważne ( oraz są dowolnymi wyrażeniami regularnymi.)
- ,
- ,
- ,
ROZWIĄZANIE punktu 1. Każde słowo opisane wyrażeniem po lewej stronie równości zapisać można jako słowo opisane wyrażeniem , gdzie lub i czynników postaci może być dowolnie dużo, w zależności od postaci słowa (w szczególności może nie występować ani jeden; wtedy wyrażenie przyjmie postać ). Każde słowo opisane wyrażeniem stojącym po prawej stronie równości można zapisać jako słowo opisane wyrażeniem , gdzie lub i tak jak w poprzednim przypadku, zależnie od słowa czynników może być dowolnie dużo. Usuwając nawiasy widzimy, że dla każdego słowa wyrażenia te są sobie równe, zatem .
ROZWIĄZANIE punktu 2. Wyrażenia nie są równoważne, gdyż to stojące po lewej stronie równości rozpoczyna się od , a to stojące po prawej stronie równości - od .
ROZWIĄZANIE punktu 3. Wyrażenie opisuje słowa postaci , gdzie , a każde jest postaci , gdzie . Słowa opisywane są wyrażeniem , każde opisywane jest wyrażeniem , a każde - wyrażeniem . Wyrażenie opisuje natomiast słowa postaci lub gdzie , opisywane jest wyrażeniem , a każde jest słowem opisywanym wyrażeniem lub .
Jeśli słowo jest postaci , to widać, że opisane jest także przez wyrażenie stojące po prawej stronie równości, gdyż może być reprezentowane przez słowo złożone z podsłów postaci , przyjmując , , , natomiast każde może być reprezentowane przez słowo przyjmując .
Na odwrót, każde słowo postaci można opisać wyrażeniem stojącym po lewej stronie równości, grupując wszystkie występujące obok siebie i opisywane wyrażeniem i każdą taką grupę reprezentować jako pewne , a każde opisywane wyrażeniem reprezentować jako pewne .
Ćwiczenie [Uzupelnij]
Określ za pomocą wyrażeń regularnych następujące języki:
- wszystkie czteroliterowe słowa nad alfabetem
,
- wszystkie trzyliterowe słowa nad alfabetem
, w których występuje dokładnie jedna litera ,
- wszystkie słowa o dowolnej długości nad alfabetem
, w których występuje dokładnie jedna litera ,
- język poprawnych adresów stron www, jeśli założymy, że poprawny adres strony www składa
się ze słowa "http:Parser nie mógł rozpoznać (nieznana funkcja „\slash”): {\displaystyle \slash \slash} www.", a następnie ciągu liter i cyfr zawierającego przynajmniej jedną kropkę, przy czym ostatnim znakiem tego ciągu nie może być kropka.
- ogół sekwencji binarnych, w których liczba zer jest podzielna
przez 3,
ROZWIĄZANIE punktu 1. .
ROZWIĄZANIE punktu 2. .
ROZWIĄZANIE punktu 3. .
ROZWIĄZANIE punktu 4. Wyrażenie opisujące zbiór wszystkich takich adresów może mieć postać:
ROZWIĄZANIE punktu 5.
Dla uproszczenia, zgodnie z umową przyjętą na wykładzie, jeśli język dla pewnego wyrażenia regularnego , to będziemy zapisywać jako .
Ćwiczenie [Uzupelnij]
Niech będzie językiem określonym przez wyrażenie regularne nad alfabetem . Określ prawą kongruencję syntaktyczną i kongruencję syntaktyczną dla tego języka.
ROZWIĄZANIE. Widać, że dwa słowa będą należały do tej samej klasy
abstrakcji relacji , jeśli będą miały taką samą ilość liter
. Zatem Parser nie mógł rozpoznać (nieznana funkcja „\slash”): {\displaystyle L \slash P_L^r = \{[1],[b],[bb]\}}
, gdzie
,
,
Dla języka jest .
Ćwiczenie [Uzupelnij]
Wykorzystując ciąg relcji zdefiniowanych w twierdzeniu Uzupelnic lekcja4-w-tw3.3 | określ prawą kongruencję syntaktyczną dla następujących języków.
ROZWIĄZANIE punktu 1.
: ,
ROZWIĄZANIE punktu 2.
- ,
- ,
,
,
,
Ćwiczenie [Uzupelnij]
Zdefiniuj minimalny automat akceptujący następujące języki:
ROZWIĄZANIE. Zgodnie z wnioskiem lekcja4-w wniosek 3.1 automat minimalny rozpoznający język ma postać
gdzie . Korzystając z ćwiczenia Uzupelnic 4.7|. dostajemy
- , gdzie
a działanie automatu określone jest poprzez graf
RYSUNEK ja-lekcja4-c-rys1.JPG
- , gdzie
a działanie automatu określone jest poprzez graf
RYSUNEK ja-lekcja4-w-rys2.pdf
ZADANIA DOMOWE
Ćwiczenie [Uzupelnij]
Udowodnij równoważności wyrażeń regularnych (, i są dowolnymi wyrażeniami regularnymi).
- ,
- ,
- ,
- ,
Ćwiczenie [Uzupelnij]
Sprawdź, czy następujące wyrażenia regularne są równoważne ( oraz są dowolnymi wyrażeniami regularnymi.)
- .
- ,
- ,
- ,
- .
Ćwiczenie [Uzupelnij]
Określ za pomocą wyrażeń regularnych następujące języki:
- ogół sekwencji binarnych, w których występują co najwyżej trzy zera,
- ogół sekwencji binarnych, w których występują co najwyżej dwa zera obok siebie,
- ogół sekwencji binarnych, w których liczba zer jest podzielna
przez dwa, a liczba jedynek przez 3,
- język poprawnych adresów e-mail. Dla uproszczenia przyjmujemy,
że poprawny adres e-mailowy składa się z niepustego identyfikatora złożonego z samych liter (maksymalnie z czterech), znaku "małpy", niepustej nazwy serwera złożonej z samych liter (maksymalnie czterech), kropki oraz dwuliterowej nazwy domeny. Alfabet składa się tylko z liter , i .
Ćwiczenie [Uzupelnij]
Wykorzystując ciąg relcji zdefiniowanych w twierdzeniu lekcja4-w-tw? określ prawą kongruencję syntaktyczną dla następujących języków.
Ćwiczenie [Uzupelnij]
Zdefiniuj minimalny automat akceptujący następujące języki: