Języki, automaty i obliczenia/Ćwiczenia 12: Języki kontekstowe i automat liniowo ograniczony. Maszyna Turinga: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Arek (dyskusja | edycje)
Nie podano opisu zmian
Arek (dyskusja | edycje)
Linia 165: Linia 165:
|+ <span style="font-variant:small-caps">Uzupelnij tytul</span>
|+ <span style="font-variant:small-caps">Uzupelnij tytul</span>
|-  
|-  
|  
| <math>\displaystyle (s_0,0)\mapsto (s_0,0,1)</math>  ||  <math>\displaystyle (s_0,1)\mapsto (s_0,1,1)</math>  ||  <math>\displaystyle (s_0,\clubsuit)\mapsto (s_1,\clubsuit,1)</math>
<math>\displaystyle (s_0,0)\mapsto (s_0,0,1)</math>  ||  <math>\displaystyle (s_0,1)\mapsto (s_0,1,1)</math>  ||  <math>\displaystyle (s_0,\clubsuit)\mapsto (s_1,\clubsuit,1)</math>
||  <math>\displaystyle (s_0,\sharp)\mapsto (s_R,\sharp,0)</math>
||  <math>\displaystyle (s_0,\sharp)\mapsto (s_R,\sharp,0)</math>
|-
|-
|  
| <math>\displaystyle (s_1,0)\mapsto (s_1,0,1)</math>  ||  <math>\displaystyle (s_1,1)\mapsto (s_1,1,1)</math>  ||  <math>\displaystyle (s_1,\clubsuit)\mapsto (s_R,\clubsuit,0)</math>  ||  
<math>\displaystyle (s_1,0)\mapsto (s_1,0,1)</math>  ||  <math>\displaystyle (s_1,1)\mapsto (s_1,1,1)</math>  ||  <math>\displaystyle (s_1,\clubsuit)\mapsto (s_R,\clubsuit,0)</math>  ||  
<math>\displaystyle (s_1,\sharp)\mapsto (s_A,\sharp,0)</math>
<math>\displaystyle (s_1,\sharp)\mapsto (s_A,\sharp,0)</math>
|-
|-
|  
| ||  ||  <math>\displaystyle (s_R,\clubsuit)\mapsto (s_R,\clubsuit,0)</math>  ||  <math>\displaystyle (s_R,\sharp)\mapsto (s_R,\sharp,0)</math>
||  ||  <math>\displaystyle (s_R,\clubsuit)\mapsto (s_R,\clubsuit,0)</math>  ||  <math>\displaystyle (s_R,\sharp)\mapsto (s_R,\sharp,0)</math>
|-
|-
|  
| ||  ||  ||  <math>\displaystyle (s_A,\sharp)\mapsto (s_A,\sharp,0)</math>
||  ||  ||  <math>\displaystyle (s_A,\sharp)\mapsto (s_A,\sharp,0)</math>
|-
|
 
|}
|}



Wersja z 18:34, 22 sie 2006

{Języki kontekstowe i automat liniowo ograniczony. Maszyna Turinga}

ĆWICZENIA 12

Ćwiczenie

Rozważmy maszynę Turinga TM2 z wykładu (Przykład 1.2) akceptującą język palindromów, czyli:

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle L=\left\{w \overleftarrow{w} \: : \: w\in \left\{0,1\right\}^*\right\} }

Sprawdź, że

  1. 101101L(TM2) oraz, że
  2. 1010101∉L(TM2).
Wskazówka
Rozwiązanie

Ćwiczenie

Niech będzie dany alfabet ΣI={0,1,}. Zaprojektuj maszynę Turinga akceptująca język postaci:

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle L=\left\{u\clubsuit w\: : \: u,w\in \left\{0,1\right\}^*\right\} }

Zaprojektuj maszynę Turinga =(ΣT,S,f,s0,SF) która akceptuje język L. Następnie:

  1. Wypisz elementy składowe maszyny , tzn. zbiory ΣT,S,SF oraz funkcję przejścia f

(zapewnij aby s0S).

  1. Wykonaj symulację maszyny na słowie w1=110011
  2. słowie w2=01
  3. oraz słowie w3=0000110.
Wskazówka
Rozwiązanie

Ćwiczenie

W trakcie wykładu rozważaliśmy język

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle L=\left\{3^k\: : \: k=i\cdot j } dla pewnych Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle i,j> 1\right\} }

wykazując, że L NP .

Uzasadnij, że także
L P .
Wskazówka
Rozwiązanie

Ćwiczenie

Uzasadnij że funkcja s(n)=3n jest konstruowalna pamięciowo.

Wskazówka
Rozwiązanie

Ćwiczenie

Uzasadnij że funkcja s(n)=3n jest konstruowalna pamięciowo.

Wskazówka
Rozwiązanie

Zadania domowe

Ćwiczenie

Skonstruuj maszynę Turinga 𝒯 akceptującą język:

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle L_1=\left\{www\: : \: w\in \left\{\circ,\bullet,\star\right\}^*\right\} }

Ćwiczenie

Uzasadnij, że język

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle L_2=\left\{w_1 w_1 w_2 w_2 \dots w_n w_n \: : \: w_i \in \left\{\circ,\bullet\right\}^+, n>0 \right\} }

jest rozpoznawany przez pewną niedeterministyczna maszynę Turinga 𝒩𝒯.

Podpowiedź: wykorzystaj konstrukcję z wyrocznią. Dla słowa wejściowego w przeprowadź weryfikację w trzech etapach: konstrukcja słów w1,,wn gdzie n<|w| (wyrocznia), sklejanie, weryfikacja czy w=w1w1w2w2wnwn.