ĆWICZENIA 4
Ćwiczenie 1.1
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 1.2
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 1.3
Udowodnij równoważności wyrażeń regularnych (,
i są dowolnymi wyrażeniami regularnymi).
- (1) ,
- (2) ,
- (3) ,
- (4) ,
- (5) ,
- (6) .
Rozwiązanie punktu 1
Należy pokazać, że . Obliczamy:
Rozwiązanie punku 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 1.4
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 1.5
Sprawdź, czy następujące wyrażenia regularne są równoważne ( oraz są
dowolnymi wyrażeniami regularnymi.)
- (1) ,
- (2) ,
- (3) ,
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 1.6
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ć:
Parser nie mógł rozpoznać (nieznana funkcja „\slash”): {\displaystyle \gamma=http:\slash \slash www.(a+b+...+z+0+...+9)^+(.(a+b+...+z+0+...+9)^+)^+}
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: