Języki, automaty i obliczenia/Ćwiczenia 7: Twierdzenie Kleene'ego. Własności języków i gramatyk regularnych: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu – „ </math>” na „</math>”
m Zastępowanie tekstu – „<math> ” na „<math>”
Linia 74: Linia 74:
Dane są dwa automaty nad tym samym alfabetem <math>A</math><br>
Dane są dwa automaty nad tym samym alfabetem <math>A</math><br>
<math>\mathcal{A}=(S,f,s_{0},T)</math> i <math>\mathcal{B}=(Q,g,t_{0},F)</math>. Udowodnij,
<math>\mathcal{A}=(S,f,s_{0},T)</math> i <math>\mathcal{B}=(Q,g,t_{0},F)</math>. Udowodnij,
że istnieje liczba <math> p\in{\Bbb N}_{0}</math> taka, że jeśli dla każdego słowa <math>w</math> o długości <math>|w|\leq p</math> spełniona jest implikacja
że istnieje liczba <math>p\in{\Bbb N}_{0}</math> taka, że jeśli dla każdego słowa <math>w</math> o długości <math>|w|\leq p</math> spełniona jest implikacja
<math>w\in L(\mathcal{A})\Rightarrow w\in L(\mathcal{B})</math>,
<math>w\in L(\mathcal{A})\Rightarrow w\in L(\mathcal{B})</math>,
to  
to  
Linia 99: Linia 99:
L(\mathcal{B})</math>,
L(\mathcal{B})</math>,


:(b) <math> f(s_0,v_1v_2)\in T</math>, co oznacza  <math>v_1v_2 \in L(\mathcal{A})</math>. <br>
:(b) <math>f(s_0,v_1v_2)\in T</math>, co oznacza  <math>v_1v_2 \in L(\mathcal{A})</math>. <br>
: Jeśli <math>|v_1v_2|<p</math>, to <math>v_1v_2 \in L(\mathcal{B})</math>, <math>w \in L(\mathcal{B})</math>.<br>
: Jeśli <math>|v_1v_2|<p</math>, to <math>v_1v_2 \in L(\mathcal{B})</math>, <math>w \in L(\mathcal{B})</math>.<br>
: Jeśli <math>|v_1v_2|>p</math>, to powtarzamy punkt 2.
: Jeśli <math>|v_1v_2|>p</math>, to powtarzamy punkt 2.
Linia 135: Linia 135:


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  
uzupełnienie, to  <math> L \notin \mathcal{REG}</math>.
uzupełnienie, to  <math>L \notin \mathcal{REG}</math>.
</div></div>
</div></div>
<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 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">Rozwiązanie punktu 2</span><div class="mw-collapsible-content" style="display:none">
Linia 143: Linia 143:


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  
uzupełnienie i przecięcie, to  <math> L \notin \mathcal{REG}</math>.
uzupełnienie i przecięcie, to  <math>L \notin \mathcal{REG}</math>.
</div></div>
</div></div>
<center>ZADANIA DOMOWE</center>
<center>ZADANIA DOMOWE</center>

Wersja z 10:28, 5 wrz 2023

Ćwiczenia 7

Ćwiczenie 1

Niech A={a,b}. Dla automatów
=(S,A,f,s,F),𝒞=(S𝒞,A,f𝒞,s𝒞,F𝒞)
S={s,s1,s2},F={s2},S𝒞={s𝒞,s},F𝒞={s},

gdzie

fss1s2as2s1s2bs1s1s2f𝒞s𝒞sassbs𝒞s𝒞
skonstruuj automat 𝒜 taki, że
L(𝒜)=L()L(𝒞),
Rozwiązanie

Ćwiczenie 2

Niech A={a,b}. Dla automatu
=(S,A,f,s,F),

gdzie

S={s,s1,s2},F={s1},

a funkcja przejść zdefiniowana jest następująco:

fss1s2as1s2s2bs1ss1

skonstruuj automat deterministyczny 𝒜 taki, że

L(𝒜)=L()*.
Wskazówka
Rozwiązanie

Ćwiczenie 3

Dane są dwa automaty nad tym samym alfabetem A
𝒜=(S,f,s0,T) i =(Q,g,t0,F). Udowodnij, że istnieje liczba p0 taka, że jeśli dla każdego słowa w o długości |w|p spełniona jest implikacja wL(𝒜)wL(), to

L(𝒜)L()
Rozwiązanie

Ćwiczenie 4

Niech A będzie dowolnym alfabetem, a LA* językiem regularnym. Udowodnij, że język L={a|w|:wL} jest też językiem regularnym.

Rozwiązanie

Ćwiczenie 5

Udowodnij, że następujące języki nie są regularne:

  1. L={an:nnie jest liczbą pierwszą;},
  2. L={anbm:0n,m;nm}.
Rozwiązanie punktu 1
Rozwiązanie punktu 2
ZADANIA DOMOWE

Ćwiczenie 6

Niech A={a,b}. Skonstruuj automat 𝒜, taki że

1. L(𝒜)=L()L(𝒞), gdzie
=(S,A,f,s,F),𝒞=(S𝒞,A,f𝒞,s𝒞,F𝒞),
S={s,s1,s2},F={s2},S𝒞={s𝒞,s1,s2},F𝒞={s2},


fss1s2as2s1s2bs1s1s2f𝒞s𝒞s1s2as1s1s2bs2s1s2
2. L(𝒜)=L()*, gdzie
=(S,A,f,s,F),
S={s,s1,s2,s3},F={s2},


fss1s2s3as1s3s3s3bs3s2s3s3

Podaj dwie konstrukcje:

  1. opartą na dowodzie twierdzenia Kleene'ego,
  2. z wykorzystaniem automatu z pustymi przejściami.

Ćwiczenie 7

Skonstruuj minimalny automat 𝒜, taki że L(𝒜)=L()*, gdzie opisany jest

poniższym grafem:
Rysunek 5


Ćwiczenie 8

Udowodnij, że następujące języki nie są regularne:

  1. L={anbmcn:0<n,m},
  2. L={(ab)n(bc)n:n0}.
Wskazówka do punktu 2

Ć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.

Wskazówka