Języki, automaty i obliczenia/Ćwiczenia 7: Twierdzenie Kleene'ego. Własności języków i gramatyk regularnych: Różnice pomiędzy wersjami
m Zastępowanie tekstu - "\hspace{2cm} " na "" |
|||
Linia 135: | Linia 135: | ||
Udowodnij, że następujące języki nie są regularne: | Udowodnij, że następujące języki nie są regularne: | ||
# <math>\displaystyle L = \{a^n : n \; \text{nie jest liczbą pierwszą | # <math>\displaystyle L = \{a^n : n \ ; \text{nie jest liczbą pierwszą;} \}</math>, | ||
# <math>\displaystyle L=\left\{ a^{n}b^{m}:0\leq n,m;\;n\neq m\right\} </math>. | # <math>\displaystyle L=\left\{ a^{n}b^{m}:0\leq n,m;\;n\neq m\right\} </math>. | ||
Linia 208: | Linia 208: | ||
# <math>\displaystyle L=\left\{ a^{n}b^{m}c^n:0<n,m\right\}</math>, | # <math>\displaystyle L=\left\{ a^{n}b^{m}c^n:0<n,m\right\}</math>, | ||
# <math>\displaystyle L = \{(ab)^n(bc)^n : n \geq 0 \}</math>. <br> | # <math>\displaystyle L = \{(ab)^n(bc)^n : n \geq 0 \}</math>. <br> | ||
}} | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Wskazówka do punktu 2 </span><div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Wskazówka do punktu 2 </span><div class="mw-collapsible-content" style="display:none"> | ||
Wykorzystaj fakt, że język <math>\displaystyle \left\{ a^{n}b^{n}:n \geq 0\right\} </math> nie jest regularny oraz | Wykorzystaj fakt, że język <math>\displaystyle \left\{ a^{n}b^{n}:n \geq 0\right\} </math> nie jest regularny oraz | ||
domkniętość klasy języków regularnych ze względu na homomorfizm. | domkniętość klasy języków regularnych ze względu na homomorfizm. | ||
</div></div> | </div></div> | ||
{{cwiczenie|9|| | {{cwiczenie|9|| | ||
Linia 218: | Linia 219: | ||
binarnych, w których liczba zer jest podzielna przez dwa, a liczba | binarnych, w których liczba zer jest podzielna przez dwa, a liczba | ||
jedynek przez 3, a następnie gramatykę generującą ten język. | jedynek przez 3, a następnie gramatykę generującą ten język. | ||
}} | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Wskazówka </span><div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Wskazówka </span><div class="mw-collapsible-content" style="display:none"> | ||
Stany automatu niech będą postaci <math>\displaystyle (x,y)</math>, gdzie <math>\displaystyle x \in | Stany automatu niech będą postaci <math>\displaystyle (x,y)</math>, gdzie <math>\displaystyle x \in | ||
Linia 226: | Linia 227: | ||
w stanie <math>\displaystyle (k \mod 2, l \mod 3)</math>. Zastanów się, który stan będzie | w stanie <math>\displaystyle (k \mod 2, l \mod 3)</math>. Zastanów się, który stan będzie | ||
stanem końcowym. Na podstawie automatu określ gramatykę. | stanem końcowym. Na podstawie automatu określ gramatykę. | ||
</div></div> | </div></div> |
Wersja z 21:22, 24 wrz 2020
Ćwiczenia 7
Ćwiczenie 1
gdzie
Zauważ, że otrzymany automat nie jest minimalny. Jakie języki akceptują automaty , i ?
Ćwiczenie 2
gdzie
a funkcja przejść zdefiniowana jest następująco:
skonstruuj automat deterministyczny taki, że
Aby skonstruować automat akceptujący język , wystarczy dodać przejście (dlaczego?). Automat z pustymi przejściami akceptujący pokazany jest na rysunku 3.
<flash>file=ja-lekcja07-c-rys3.swf|width=250|height=150</flash>
<div.thumbcaption>Rysunek 3Po usunięciu pustych przejść otrzymujemy automat z rysunku 4:
<flash>file=ja-lekcja07-c-rys4.swf|width=250|height=250</flash>
<div.thumbcaption>Rysunek 4Teraz wystarczy skonstruować równoważny automat deterministyczny.
Ćwiczenie 3
Dane są dwa automaty nad tym samym alfabetem
i . Udowodnij,
że istnieje liczba taka, że jeśli dla każdego słowa o długości spełniona jest implikacja
,
to
Ćwiczenie 4
Niech będzie dowolnym alfabetem, a językiem regularnym. Udowodnij, że język jest też językiem regularnym.
Ćwiczenie 5
Udowodnij, że następujące języki nie są regularne:
- ,
- .
Ćwiczenie 6
Niech . Skonstruuj automat , taki że
1. gdzie
Podaj dwie konstrukcje:
- opartą na dowodzie twierdzenia Kleene'ego,
- z wykorzystaniem automatu z pustymi przejściami.
Ćwiczenie 7
Skonstruuj minimalny automat , taki że , gdzie opisany jest
poniższym grafem:<flash>file=ja-lekcja07-c-rys5.swf|width=250|height=250</flash>
<div.thumbcaption>Rysunek 5
Ćwiczenie 8
Udowodnij, że następujące języki nie są regularne:
- ,
- .
Ćwiczenie 9
Zbuduj automat akceptujący język będący ogółem skończonych sekwencji binarnych, w których liczba zer jest podzielna przez dwa, a liczba jedynek przez 3, a następnie gramatykę generującą ten język.