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 – „\displaystyle ” na „” |
m Zastępowanie tekstu – „.</math>” na „</math>.” |
||
Linia 42: | Linia 42: | ||
skonstruuj automat deterministyczny <math>\mathcal A</math> taki, że | skonstruuj automat deterministyczny <math>\mathcal A</math> taki, że | ||
<center><math>L({\mathcal A}) = L({\mathcal B})^* | <center><math>L({\mathcal A}) = L({\mathcal B})^*</math>.</center> | ||
}} | }} | ||
Linia 84: | Linia 84: | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </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">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | ||
Niech <math>\mathcal{C}</math> będzie automatem takim, że <math>L(\mathcal{C})=L(\mathcal{A})\cup L(\mathcal{B})</math>. Wówczas, | Niech <math>\mathcal{C}</math> będzie automatem takim, że <math>L(\mathcal{C})=L(\mathcal{A})\cup L(\mathcal{B})</math>. Wówczas, | ||
<center><math>L(\mathcal{C})\subseteq L(\mathcal{B})\Leftrightarrow L(\mathcal{A})\subseteq L(\mathcal{B}) | <center><math>L(\mathcal{C})\subseteq L(\mathcal{B})\Leftrightarrow L(\mathcal{A})\subseteq L(\mathcal{B})</math>.</center> | ||
Udowodnimy więc inkluzję <math>L(\mathcal{C})\subseteq L(\mathcal{B})</math>, gdzie | Udowodnimy więc inkluzję <math>L(\mathcal{C})\subseteq L(\mathcal{B})</math>, gdzie | ||
<center><math>\mathcal{C}=(S\times Q,f\times g,(s_0,t_0), (S\times F \cup T\times Q)) | <center><math>\mathcal{C}=(S\times Q,f\times g,(s_0,t_0), (S\times F \cup T\times Q))</math>.</center> | ||
Przyjmijmy <math>p=|S| \cdot |Q|</math>. Niech <math>w \in L(\mathcal{C})</math> | Przyjmijmy <math>p=|S| \cdot |Q|</math>. Niech <math>w \in L(\mathcal{C})</math> | ||
Linia 140: | Linia 140: | ||
Język <math>L'=\left\{ a^{n}b^{n}:0\leq n \right\} </math> nie jest akceptowany | Język <math>L'=\left\{ a^{n}b^{n}:0\leq n \right\} </math> nie jest akceptowany | ||
(patrz [[Języki, automaty i obliczenia/Wykład 6: Automat niedeterministyczny. Lemat o pompowaniu#przyklad_3_1|3.1. z wykładu 6]]), a więc nie jest regularny. | (patrz [[Języki, automaty i obliczenia/Wykład 6: Automat niedeterministyczny. Lemat o pompowaniu#przyklad_3_1|3.1. z wykładu 6]]), a więc nie jest regularny. | ||
<center><math>a^*b^* =L \cup L',L\cap L' = \emptyset,\;\text {a więc}\;L'=a^* b^* \cap\overline{L} | <center><math>a^*b^* =L \cup L',L\cap L' = \emptyset,\;\text {a więc}\;L'=a^* b^* \cap\overline{L}</math>.</center> | ||
Ponieważ klasa języków regularnych jest zamknięta ze względu na | Ponieważ klasa języków regularnych jest zamknięta ze względu na |
Wersja z 09:11, 5 wrz 2023
Ćwiczenia 7
Ćwiczenie 1
gdzie
Ćwiczenie 2
gdzie
a funkcja przejść zdefiniowana jest następująco:
skonstruuj automat deterministyczny taki, że
Ć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:
Ć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.