Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

Rozměr: px
Začít zobrazení ze stránky:

Download "Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43"

Transkript

1 Zásobníkové automaty Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

2 Zásobníkový automat Chtěli bychom rozpoznávat jazyk L = {a i b i i 1} Snažíme se navrhnout zařízení (podobné konečným automatům), které přečte slovo, a sděĺı nám, zda toto slovo patří do jazyka L či ne. Při čtení symbolů a si musíme pamatovat jejich počet, at víme, kolik musí následovat symbolů b. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

3 Zásobníkový automat Chtěli bychom rozpoznávat jazyk L = {a i b i i 1} Snažíme se navrhnout zařízení (podobné konečným automatům), které přečte slovo, a sděĺı nám, zda toto slovo patří do jazyka L či ne. Při čtení symbolů a si musíme pamatovat jejich počet, at víme, kolik musí následovat symbolů b. Můžeme využít pamět typu zásobník. Každé přečtené a si na zásobník zapíšeme, za každé přečtené b jeden symbol ze zásobníku odstraníme. Pokud bude zásobník prázdný a podaří se přečíst celé slovo, tak patří do jazyka. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

4 Zásobníkový automat Slovo aaaabbbb patří do jazyka L = {a i b i i 1} a a a a b b b b q 1 Z Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

5 Zásobníkový automat Slovo aaaabbbb patří do jazyka L = {a i b i i 1} a a a a b b b b q 1 I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

6 Zásobníkový automat Slovo aaaabbbb patří do jazyka L = {a i b i i 1} a a a a b b b b q 1 I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

7 Zásobníkový automat Slovo aaaabbbb patří do jazyka L = {a i b i i 1} a a a a b b b b q 1 I I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

8 Zásobníkový automat Slovo aaaabbbb patří do jazyka L = {a i b i i 1} a a a a b b b b q 1 I I I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

9 Zásobníkový automat Slovo aaaabbbb patří do jazyka L = {a i b i i 1} a a a a b b b b q 2 I I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

10 Zásobníkový automat Slovo aaaabbbb patří do jazyka L = {a i b i i 1} a a a a b b b b q 2 I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

11 Zásobníkový automat Slovo aaaabbbb patří do jazyka L = {a i b i i 1} a a a a b b b b q 2 I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

12 Zásobníkový automat Slovo aaaabbbb patří do jazyka L = {a i b i i 1} Automat přečetl celé slovo a skončil s prázdným zásobníkem, takže slovo přijal. a a a a b b b b ANO q 2 Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

13 Zásobníkový automat Slovo aaaabbb nepatří do jazyka L = {a i b i i 1} a a a a b b b q 1 Z Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

14 Zásobníkový automat Slovo aaaabbb nepatří do jazyka L = {a i b i i 1} a a a a b b b q 1 I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

15 Zásobníkový automat Slovo aaaabbb nepatří do jazyka L = {a i b i i 1} a a a a b b b q 1 I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

16 Zásobníkový automat Slovo aaaabbb nepatří do jazyka L = {a i b i i 1} a a a a b b b q 1 I I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

17 Zásobníkový automat Slovo aaaabbb nepatří do jazyka L = {a i b i i 1} a a a a b b b q 1 I I I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

18 Zásobníkový automat Slovo aaaabbb nepatří do jazyka L = {a i b i i 1} a a a a b b b q 2 I I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

19 Zásobníkový automat Slovo aaaabbb nepatří do jazyka L = {a i b i i 1} a a a a b b b q 2 I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

20 Zásobníkový automat Slovo aaaabbb nepatří do jazyka L = {a i b i i 1} Automat přečetl celé slovo, ale nevyprázdnil zásobník, takže slovo nepřijal a a a a b b b NE q 2 I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

21 Zásobníkový automat Slovo aaaabbbbb nepatří do jazyka L = {a i b i i 1} a a a a b b b b b q 1 Z Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

22 Zásobníkový automat Slovo aaaabbbbb nepatří do jazyka L = {a i b i i 1} a a a a b b b b b q 1 I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

23 Zásobníkový automat Slovo aaaabbbbb nepatří do jazyka L = {a i b i i 1} a a a a b b b b b q 1 I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

24 Zásobníkový automat Slovo aaaabbbbb nepatří do jazyka L = {a i b i i 1} a a a a b b b b b q 1 I I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

25 Zásobníkový automat Slovo aaaabbbbb nepatří do jazyka L = {a i b i i 1} a a a a b b b b b q 1 I I I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

26 Zásobníkový automat Slovo aaaabbbbb nepatří do jazyka L = {a i b i i 1} a a a a b b b b b q 2 I I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

27 Zásobníkový automat Slovo aaaabbbbb nepatří do jazyka L = {a i b i i 1} a a a a b b b b b q 2 I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

28 Zásobníkový automat Slovo aaaabbbbb nepatří do jazyka L = {a i b i i 1} a a a a b b b b b q 2 I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

29 Zásobníkový automat Slovo aaaabbbbb nepatří do jazyka L = {a i b i i 1} Automat čte b, má smazat symbol na zásobníku a tam žádný není, takže slovo nepřijal. a a a a b b b b b NE q 2 Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

30 Zásobníkový automat Slovo aababbab nepatří do jazyka L = {a i b i i 1} a a b a b b a b q 1 Z Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

31 Zásobníkový automat Slovo aababbab nepatří do jazyka L = {a i b i i 1} a a b a b b a b q 1 I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

32 Zásobníkový automat Slovo aababbab nepatří do jazyka L = {a i b i i 1} a a b a b b a b q 1 I I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

33 Zásobníkový automat Slovo aababbab nepatří do jazyka L = {a i b i i 1} a a b a b b a b q 2 I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

34 Zásobníkový automat Slovo aababbab nepatří do jazyka L = {a i b i i 1} Automat přečetl a, ale již byl ve stavu, kdy maže, takže slovo nepřijal. a a b a b b a b NE q 2 I Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

35 Zásobníkový automat Uvedený zásobníkový automat měl vždy jasně určen další krok byl deterministický. Zásobníkový automat může být nedeterministický. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

36 Zásobníkový automat Uvedený zásobníkový automat měl vždy jasně určen další krok byl deterministický. Zásobníkový automat může být nedeterministický. Příklad: Uvažujme jazyk L = {w(w) R w {a,b} }. První půlku slova můžeme uložit na zásobník. Při čtení druhé půlky mažeme symboly ze zásobníku, pokud jsou stejné jako na vstupu. Pokud bude zásobník prázdný po přečtení celého slova, byla druhá půlka stejná jako první. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

37 Zásobníkový automat Slovo abaaba patří do jazyka L = {w(w) R w {a,b} } a b a a b a q 1 Z Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

38 Zásobníkový automat Slovo abaaba patří do jazyka L = {w(w) R w {a,b} } a b a a b a q 1 A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

39 Zásobníkový automat Slovo abaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, musí změnit stav na q 2 a uložit A na zásobník a b a a b a q 1 B A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

40 Zásobníkový automat Slovo abaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, musí změnit stav na q 2 a uložit A na zásobník a b a a b a q 2 A B A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

41 Zásobníkový automat Slovo abaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, musí změnit stav na q 2 a uložit A na zásobník a b a a b a q 2 B A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

42 Zásobníkový automat Slovo abaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, musí změnit stav na q 2 a uložit A na zásobník a b a a b a q 2 A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

43 Zásobníkový automat Slovo abaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, musí změnit stav na q 2 a uložit A na zásobník a b a a b a ANO q 2 Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

44 Zásobníkový automat Slovo abaaaaba patří do jazyka L = {w(w) R w {a,b} } a b a a a a b a q 1 Z Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

45 Zásobníkový automat Slovo abaaaaba patří do jazyka L = {w(w) R w {a,b} } a b a a a a b a q 1 A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

46 Zásobníkový automat Slovo abaaaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, nemění stav a uloží A na zásobník a b a a a a b a q 1 B A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

47 Zásobníkový automat Slovo abaaaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, nemění stav a uloží A na zásobník a b a a a a b a q 1 A B A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

48 Zásobníkový automat Slovo abaaaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, nemění stav a uloží A na zásobník a b a a a a b a q 2 A A B A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

49 Zásobníkový automat Slovo abaaaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, nemění stav a uloží A na zásobník a b a a a a b a q 2 A B A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

50 Zásobníkový automat Slovo abaaaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, nemění stav a uloží A na zásobník a b a a a a b a q 2 B A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

51 Zásobníkový automat Slovo abaaaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, nemění stav a uloží A na zásobník a b a a a a b a q 2 A Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

52 Zásobníkový automat Slovo abaaaaba patří do jazyka L = {w(w) R w {a,b} } Při čtení a, stavu q 1 a vrcholu zásobníku B, nemění stav a uloží A na zásobník a b a a a a b a ANO q 2 Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

53 Zásobníkový automat Uvedený zásobníkový automat se nemůže jednoznačně rozhodnout, jak má pokračovat. Musí uhádnout, kde je půlka slova. Dá se dokázat, že neexistuje žádný deterministický zásobníkový automat rozpoznávající daný jazyk. Na rozdíl od konečných automatů je deterministická verze zásobníkových slabší než nedeterministická rozpoznává méně jazyků. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

54 Zásobníkový automat Definice Zásobníkový automat (ZA) je uspořádaná šestice M = (Q,Σ,Γ,δ,q 0,Z 0 ), kde Q je konečná neprázdná množina stavů Σ je konečná neprázdná množina zvaná vstupní abeceda Γ je konečná neprázdná množina zvaná zásobníková abeceda δ : Q (Σ {ε}) Γ P(Q Γ ) je (nedeterministická) přechodová funkce q 0 Q je počáteční stav Z 0 Γ je počáteční zásobníkový symbol Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

55 Zásobníkový automat Vezměme si zásobníkový automat M = (Q,Σ,Γ,δ,q 0,Z 0 ). Konfigurace automatu M: Konfigurace ZA je trojice (q,w,α) kde q Q, w Σ a α Γ. Konfiguraci (q 0,w,Z 0 ), kde w Σ, nazýváme počáteční. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

56 Zásobníkový automat Kroky vykonané automatem M: Binární relace na konfiguracích M reprezentuje možné kroky výpočtu, které může ZA M provést. To, že M může přejít jedním krokem z konfigurace (q,w,α) do konfigurace (q,w,α ), zapisujeme (q,w,α) (q,w,α ). Tato relace je definována následovně: (q,aw,xβ) (q,w,αβ) (q,α) δ(q,a,x) kde q,q Q, a (Σ {ε}), w Σ, X Γ, α,β Γ. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

57 Zásobníkový automat Výpočty M: Na konfiguracích M definujeme binární relaci jako reflexivní a tranzitivní uzávěr relace, tj., (q,w,α) (q,w,α ) jestliže existuje posloupnost konfigurací (q 0,w 0,α 0 ), (q 1,w 1,α 1 ),..., (q n,w n,α n ) taková, že (q,w,α) = (q 0,w 0,α 0 ), (q,w,α ) = (q n,w n,α n ), (q i,w i,α i ) (q i+1,w i+1,α i+1 ) pro každé i = 0,1,...,n 1, tj. (q 0,w 0,α 0 ) (q 1,w 1,α 1 ) (q n,w n,α n ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

58 Zásobníkový automat Používají se dvě různé definice toho, kdy automat přijímá dané slovo: Jestliže zásobníkový automat M přijímá prázdným zásobníkem, příjme slovo w tehdy, jestliže existuje výpočet automatu M nad slovem w takový, že automat přečte celé slovo w a po jeho přečtení má prázdný zásobník. Jestliže zásobníkový automat M přijímá pomocí přijímajících stavů, příjme slovo w tehdy, jestliže existuje výpočet automatu M nad slovem w takový, že automat přečte celé slovo w a po jeho přečtení je řídící jednotka automatu M v některém z přijímajících stavů z množiny F. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

59 Zásobníkový automat Slovo w Σ je přijímáno ZA M prázdným zásobníkem právě tehdy, když (q 0,w,Z 0 ) (q,ε,ε) pro nějaké q Q. Definice Jazyk L(M) přijímaný ZA M prázdným zásobníkem je definován jako množina všech slov přijímaných ZA M prázdným zásobníkem, tj. L(M) = {w Σ ( q Q)((q 0,w,Z 0 ) (q,ε,ε))}. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

60 Zásobníkový automat Rozšiřme definici ZA M o množinu přijímajících stavů F (kde F Q). Slovo w Σ je přijímáno ZA M přijímajícím stavem právě tehdy, když (q 0,w,Z 0 ) (q,ε,α) pro nějaké q F a α Γ. Definice Jazyk (M) přijímaný ZA M přijímajícím stavem je definován jako L(M) = {w Σ ( q F)( α Γ )((q 0,w,Z 0 ) (q,ε,α))}. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

61 Zásobníkový automat Příklad: L = {a i b i i 1} M = (Q,Σ,Γ,δ,q 1,Z), kde Q = {q 1,q 2 } Σ = {a,b} Γ = {Z,I} δ(q 1,a,Z) = {(q 1,I)} δ(q 1,b,Z) = δ(q 1,a,I) = {(q 1,II)} δ(q 1,b,I) = {(q 2,ε)} δ(q 2,a,I) = δ(q 2,b,I) = {(q 2,ε)} δ(q 2,a,Z) = δ(q 2,b,Z) = Poznámka: Často se uvádí jen ty přechody přechodové funkce, které nejsou do prázdné množiny, tedy kdy je skutečně nějaký přechod definován. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

62 Zásobníkový automat Pro zápis přechodové funkce budeme též používat způsob zápisu, kdy se na přechodovou funkci díváme jako na sadu pravidel: Každému q,q Q, a Σ {ε}, X Γ a α Γ, kde odpovídá jedno pravidlo (q,α) δ(q,a,x) qx a q α. Příklad: Pokud δ(q 5,b,C) = {(q 3,ACC), (q 5,BB), (q 13,ε)} můžeme to reprezentovat jako tři pravidla: q 5 C b q 3 ACC q 5 C b q 5 BB q 5 C b q 13 Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

63 Zásobníkový automat Příklad: Dříve popsaný zásobníkový automat rozpoznávající jazyk L = {a i b i i 1}: M = (Q,Σ,Γ,δ,q 1,Z), kde Q = {q 1,q 2 } Σ = {a,b} Γ = {Z,I} q 1 Z a q 1 I a q 1 I q 1 II b q 1 I q 2 b q 2 I q 2 Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

64 Zásobníkový automat Příklad: L = {w(w) R w {a,b} } M = (Q,Σ,Γ,δ,q 1,Z), kde Q = {q 1,q 2 } Σ = {a,b} Γ = {Z,A,B} δ(q 1,a,Z) = {(q 1,A)} δ(q 1,b,Z) = {(q 1,B)} δ(q 1,a,A) = {(q 1,AA),(q 2,AA)} δ(q 1,b,A) = {(q 1,BA),(q 2,BA)} δ(q 1,a,B) = {(q 1,AB),(q 2,AB)} δ(q 1,b,B) = {(q 1,BB),(q 2,BB)} δ(q 2,a,A) = {(q 2,ε)} δ(q 2,b,A) = δ(q 2,a,B) = δ(q 2,b,B) = {(q 2,ε)} δ(q 2,a,Z) = δ(q 2,b,Z) = δ(q 1,ε,Z) = {(q 1,ε)} δ(q 2,ε,Z) = δ(q 1,ε,A) = δ(q 2,ε,A) = δ(q 1,ε,B) = δ(q 2,ε,B) = Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

65 Zásobníkový automat Příklad: L = {w(w) R w {a,b} } M = (Q,Σ,Γ,δ,q 1,Z), kde Q = {q 1,q 2 } Σ = {a,b} Γ = {Z,A,B} q 1 Z a q 1 A q 1 A a q 1 AA q 1 A a q 2 AA q 1 B a q 1 AB q 1 B a q 2 AB q 2 A a q 2 q 1 Z ε q 1 q 1 Z b q 1 B q 1 A b q 1 BA q 1 A b q 2 BA q 1 B b q 1 BB q 1 B b q 2 BB q 2 B b q 2 Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

66 Zásobníkové automaty V případě nedeterministických zásobníkových automatů není z hlediska jazyků, jaké jsou schopny tyto automaty rozpoznávat, rozdíl mezi rozpoznáváním prázdným zásobníkem a rozpoznáváním přijímajícím stavem. Snadno sestrojíme: K danému (nedeterministickému) zásobníkovému automatu rozpoznávajícímu nějaký jazyk L prázdným zásobníkem ekvivalentní (nedeterministický) zásobníkový automat rozpoznávající jazyk L pomocí přijímajících stavů. K danému (nedeterministickému) zásobníkovému automatu rozpoznávajícímu nějaký jazyk L pomocí přijímajících stavů ekvivalentní (nedeterministický) zásobníkový automat rozpoznávající jazyk L prázdným zásobníkem. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

67 Deterministické zásobníkové automaty Zásobníkový automat M = (Q,Σ,Γ,δ,q 0,Z 0 ) je deterministický, jestliže: Pro každé q Q, a (Σ {ε}) a X Γ platí: δ(q,a,x) 1 Pro každé q Q a X Γ platí nejvýše jedna z následujících dvou možností: Existuje pravidlo qx ε q α pro nějaké q Q a α Γ. Existuje pravidlo qx a q α pro nějaké a Σ, q Q a α Γ. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

68 Deterministické zásobníkové automaty Všimněme si, že deterministické zásobníkové automaty přijímající prázdným zásobníkem jsou schopny rozpoznávat jen bezprefixové jazyky, tj. jazyky L, kde: pokud w L, pak neexistuje žádné slovo w L takové, že w je vlastním prefixem slova w. Poznámka: Místo jazyka L Σ, který může a nemusí být bezprefixový, můžeme vzít bezprefixový jazyk L = L { } nad abecedou Σ { }, kde Σ je speciální zarážka označující konec slova. Tj. místo zjišt ování, zda w L, kde w Σ, můžeme zjišt ovat, zda (w ) L. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

69 Deterministické zásobníkové automaty Ke každému deterministickému zásobníkovému automatu přijímajícímu prázdným zásobníkem je možné snadno sestrojit ekvivalentní deterministický zásobníkový automat přijímající pomocí přijímajících stavů. Ke každému deterministickému zásobníkovému automatu přijímajícímu jazyk L (kde L Σ ) pomocí přijímajících stavů je možné snadno sestrojit deterministický zásobníkový automat přimající prázdným zásobníkem jazyk L { }, kde Σ. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

70 Věta Ke každé bezkontextové gramatice G lze sestrojit nedeterministický zásobníkový automat M přijímající prázdným zásobníkem takový, že L(M) = L(G). Důkaz: Pro BG G = (Π,Σ,S,P) vytvoříme M = ({q 0 },Σ,Γ,δ,q 0,S), kde Γ = Π Σ Pro každé pravidlo (X α) P z bezkontextové gramatiky G (kde X Π a α (Π Σ) ) přidáme do přechodové funkce δ zásobníkového automatu M odpovídající pravidlo q 0 X ε q 0 α. Pro každý symbol a Σ přidáme do přechodové funkce δ zásobníkového automatu M pravidlo q 0 a a q 0. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

71 Příklad: Uvažujme bezkontextovou gramatiku G = (Π, Σ, S, P), kde Π = {S,E,T,F} Σ = {a,+,*,(,), } Množina P obsahuje následující pravidla: S E E T E+T T F T*F F a (E) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

72 K dané gramatice G = (Π,Σ,S,P) s pravidly S E E T E+T T F T*F F a (E) sestrojíme zásobníkový automat M = ({q 0 },Σ,Γ,δ,q 0,S), kde Σ = {a,+,*,(,), } Γ = {S,E,T,F,a,+,*,(,), } Přechodová funkce δ obsahuje následující pravidla: q 0S ε q 0E q 0E ε q 0T q 0E ε q 0T ε q 0F q 0T ε q 0T*F q 0F ε q 0a q 0a a q 0 q 0( ( q 0 q 0F ε q 0(E) q 0+ + q 0 q 0) ) q 0 q 0 q 0 q 0 q 0E+T q 0* * Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

73 q 0 S Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

74 q 0 E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

75 q 0 T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

76 q 0 T * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

77 q 0 F * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

78 q 0 ( E ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

79 q 0 E ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

80 q 0 E + T ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

81 q 0 T + T ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

82 q 0 F + T ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

83 q 0 a + T ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

84 q 0 + T ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

85 q 0 T ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

86 q 0 F ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

87 q 0 a ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

88 q 0 ) * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

89 q 0 * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

90 q 0 F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

91 q 0 ( E ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

92 q 0 E ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

93 q 0 E + T ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

94 q 0 T + T ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

95 q 0 T * F + T ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

96 q 0 F * F + T ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

97 q 0 a * F + T ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

98 q 0 * F + T ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

99 q 0 F + T ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

100 q 0 a + T ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

101 q 0 + T ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

102 q 0 T ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

103 q 0 F ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

104 q 0 a ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

105 q 0 ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

106 q 0 Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

107 q 0 Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

108 Z předchozího příkladu je vidět, že zásobníkový automat M během výpočtu v zásadě provádí levou derivaci v gramatice G. Snadno se ukáže, že: Každé levé derivaci v gramatice G odpovídá nějaký výpočet automatu M. Každému výpočtu automatu M odpovídá nějaká levá derivace v gramatice G. Poznámka: Výše uvedený postup odpovídá syntaktické analýze shora dolů. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

109 Alternativně lze při syntaktické analýze postupovat též zdola nahoru. Tomu odpovídá následující konstrukce nedeterministického zásobníkového automatu M = (Q,Σ,Γ,δ,q 0,Z 0 ) k dané gramatice G = (Π,Σ,S,P), kde: Γ = Π Σ { }, kde (Π Σ) Z 0 = Q obsahuje stavy odpovídající všem sufixům pravých stran pravidel z P a dále speciální stav S (kde S Π je počáteční neterminál gramatiky G) a speciální stav q acc. Stav odpovídající suffixu α (kde α (Π Σ) ) budeme označovat zápisem α. Speciálním případem je stav odpovídající sufixu ε. Tento stav budeme označovat. q 0 = Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

110 Pro každý vstupní symbol a Σ a každý zásobníkový symbol Z Γ přidáme do δ následující pravidlo: Z a az Pro každé pravidlo X Y 1 Y 2 Y n z gramatiky G (kde X Π, n 0 a Y i (Π Σ) pro 1 i n) přidáme do přechodové funkce δ automatu M následující sadu pravidel: ε Y n Y n ε Y n Y n 1 Y n 1 Y n ε Y n 1 Y n Y n 2 Y n 2 Y n 1 Y n. Y 2 Y 3...Y n Y 1 ε Y 1 Y 2 Y 3 Y n a dále pro každé Z Γ pravidla Y 1 Y 2 Y n Z ε XZ Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

111 Pokud například bude gramatika G obsahovat pravidlo B CaADb bude přechodová funkce δ automatu M obsahovat pravidla a dále pro každé Z Γ pravidlo b ε b b D ε Db Db A ε ADb ADb a ε aadb aadb C ε CaADb CaADb Z ε BZ Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

112 Speciálně pro ε-pravidla z gramatiky G budou přidaná pravidla vypadat následovně: ε-pravidlu X ε z gramatiky G, kde X Π, budou odpovídat pravidla v δ tvaru kde Z Γ. Z ε XZ Nakonec přidáme do δ dvě speciální pravidla (kde S Π je počáteční neterminál gramatiky G): S ε S S ε q acc Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

113 Příklad: Vezměme si opět stejnou gramatiku G jako v předchozím příkladě: S E E T E+T T F T*F F a (E) K ní sestrojíme zásobníkový automat M = (Q,Σ,Γ,δ,q 0,Z 0 ), kde Σ = {a,+,*,(,), } Γ = {S,E,T,F,a,+,*,(,),, } Q = {,, E, T, +T, E+T, F, *F, T*F, a, ), E), (E), S, q acc } q 0 = Z 0 = Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

114 Pro každé Z Γ přidáme do δ následující pravidla: Z a az Z + +Z Z * *Z Z ( (Z Z ) )Z Z Z S ε S S ε q acc ε E ε E T ε T T + ε +T +T E ε E+T F ε F F * ε *F *F T ε T*F a ε a ) ε ) ) E ε E) E) ( ε (E) E Z ε SZ T Z ε EZ E+T Z ε EZ F Z ε TZ T*F Z ε TZ a Z ε FZ (E) Z ε FZ Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

115 Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

116 ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

117 ( a Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

118 a ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

119 ( F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

120 F ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

121 ( T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

122 T ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

123 ( E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

124 ( E + Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

125 ( E + a Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

126 a ( E + Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

127 ( E + F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

128 F ( E + Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

129 ( E + T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

130 T ( E + Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

131 +T ( E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

132 E+T ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

133 ( E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

134 ( E ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

135 ) ( E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

136 E) ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

137 (E) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

138 F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

139 F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

140 T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

141 T * Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

142 T * ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

143 T * ( a Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

144 a T * ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

145 T * ( F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

146 F T * ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

147 T * ( T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

148 T * ( T * Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

149 T * ( T * a Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

150 a T * ( T * Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

151 T * ( T * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

152 F T * ( T * Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

153 *F T * ( T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

154 T*F T * ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

155 T * ( T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

156 T T * ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

157 T * ( E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

158 T * ( E + Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

159 T * ( E + a Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

160 a T * ( E + Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

161 T * ( E + F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

162 F T * ( E + Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

163 T * ( E + T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

164 T T * ( E + Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

165 +T T * ( E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

166 E+T T * ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

167 T * ( E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

168 T * ( E ) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

169 ) T * ( E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

170 E) T * ( Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

171 (E) T * Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

172 T * F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

173 F T * Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

174 *F T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

175 T*F Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

176 T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

177 T Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

178 E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

179 E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

180 E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

181 E Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

182 S Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

183 S Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

184 q acc Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

185 Jak je vidět z předchozího příkladu, zásobníkový automat M v zásadě provádí pravou derivaci v gramatice G pozpátku. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

186 Věta Ke každému zásobníkovému automatu M s jedním stavem lze sestrojit bezkontextovou gramatiku G tž. L(G) = L(M). Důkaz: Pro ZA M = ({q 0 },Σ,Γ,δ,q 0,Z 0 ), kde Σ Γ =, vytvoříme BG G = (Γ,Σ,Z 0,P), kde (A aα) P (q 0,α) δ(q 0,a,A) pro každé A Γ, a Σ {ε}, α Γ. Indukcí můžeme dokázat Z 0 uα (v M) (q 0,u,Z 0 ) M (q 0,ε,α) (v G) kde u Σ a α Γ. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

187 Věta Ke každému zásobníkovému automatu M lze sestrojit zásobníkový automat M s jedním stavem tž. L(M ) = L(M). Myšlenka důkazu: Stav automatu M si budeme pamatovat na zásobníku. Pro δ(q,a,x) = {(q,ε)} musíme kontrolovat nejen, že jsme ve stavu q, ale také, že se dostaneme do stavu q. (Další případy jsou přímočaré.) Každý zásobníkový symbol automatu M je tedy trojice, kde si pamatujeme zásobníkový symbol, aktuální stav a aktuální stav ze symbolu o jedna níže na zásobníku. ZA M nedeterministicky hádá řídící stavy, do kterých se dostane M v okamžiku, kdy se daný zásobníkový symbol ocitne na vrcholu zásobníku. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

188 Tvrzení K libovolné bezkontextové gramatice G je možné sestrojit (nedeterministický) zásobníkový automat M takový, že L(G) = L(M). Tvrzení K libovolnému zásobníkovému automatu M je možné sestrojit bezkontextovou gramatiku G takovou, že L(M) = L(G). Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

189 Omezení bezkontextových jazyků Ani bezkontextové gramatiky a zásobníkové automaty nejsou dostatečně silné, aby se pomocí nich daly popsat všechny jazyky. Příklady jazyků, pro které se dá ukázat, že nejsou bezkontextové (tj. není možné vytvořit bezkontextovou gramatiku, která by je generovala): L 1 = {a i b i c i i 0} L 2 = {ww w {a,b} } Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

190 Pumping lemma pro bezkontextové jazyky Lemma Jestliže je jazyk L bezkontextový, pak existuje n N takové, že pro každé z L, kde z n, existují slova u,v,w,x,y Σ taková, že z = uvwxy, vx 1, vwx n, a pro všechna i N platí, že uv i wx i y L. Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

191 Pumping lemma pro bezkontextové jazyky Lemma Jestliže je jazyk L bezkontextový, pak existuje n N takové, že pro každé z L, kde z n, existují slova u,v,w,x,y Σ taková, že z = uvwxy, vx 1, vwx n, a pro všechna i N platí, že uv i wx i y L. Toto je opět možné formulovat jako hru: 1 Hráč I zvoĺı n N. 2 Hráč II zvoĺı slovo z L takové, že z n. 3 Hráč I zvoĺı slova u,v,w,x,y Σ taková, že z = uvwxy, vx 1, vwx n. 4 Hráč II zvoĺı i N. 5 Jestliže uv i wx i y L, pak vyhrál Hráč I, jinak vyhrál Hráč II. Jestliže je jazyk L bezkontextový, Hráč I má v této hře vyhrávající strategii. (Takže pokud má vyhrávající strategii Hráč II, tak jazyk L není bezkontextový.) Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

Zásobníkový automat. SlovoaaaabbbbpatřídojazykaL={a i b i i 1} a a a a b b b b

Zásobníkový automat. SlovoaaaabbbbpatřídojazykaL={a i b i i 1} a a a a b b b b ChtělibychomrozpoznávatjazykL={a i b i i 1} Snažíme se navrhnout zařízení(podobné konečným automatům), které přečte slovo, a sdělí nám, zda toto slovo patřídojazykalčine. Při čtení a-ček si musíme pamatovat

Více

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory Plán přednášky Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory Obecný algoritmus pro parsování bezkontextových jazyků dynamické programování 1 Zásobníkový

Více

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je 28 [181105-1236 ] 2.7 Další uzávěrové vlastnosti třídy regulárních jazyků Z předchozích přednášek víme, že třída regulárních jazyků je uzavřena na sjednocení, průnik, doplněk, zřetězení, Kleeneho operaci

Více

Syntaxí řízený překlad

Syntaxí řízený překlad Syntaxí řízený překlad Překladový automat Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 27. listopadu 2008 Zobecněný překladový automat Překladový automat

Více

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/31

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/31 Bezkontextové jazyky Bezkontextové jazyky 1 p.1/31 Jazyky typu 2 Definice 4.1 Gramatika G = (N, Σ, P, S) si nazývá bezkontextovou gramatikou, jestliže všechna pravidla z P mají tvar A α, A N, α (N Σ) Lemma

Více

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ Abecedou se rozumí libovolná konečná množina Σ. Prvky abecedy nazýváme znaky (symboly) Slovo (řetězec) v nad abecedou Σ je libovolná konečná posloupnost znaků této abecedy. Prázdné posloupnosti znaků odpovídá

Více

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

Turingovy stroje. Teoretická informatika Tomáš Foltýnek Turingovy stroje Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Jaké znáte algebraické struktury s jednou operací? Co je to okruh,

Více

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo. Kapitola 6 LL gramatiky 6.1 Definice LL(k) gramatik Definice 6.1. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo. Definujme funkci FIRST G k : (N Σ) + P({w Σ w k}) předpisem FIRST G k (α) = {w Σ (α w

Více

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 2/22 Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 4/22 Automaty a gramatiky(bi-aag)

Více

Čísla značí použité pravidlo, šipka směr postupu Analýza shora. Analýza zdola A 2 B 3 B * C 2 C ( A ) 1 a A + B. A Derivace zleva:

Čísla značí použité pravidlo, šipka směr postupu Analýza shora. Analýza zdola A 2 B 3 B * C 2 C ( A ) 1 a A + B. A Derivace zleva: 1) Syntaktická analýza shora a zdola, derivační strom, kanonická derivace ezkontextová gramatika gramatika typu 2 Nechť G = je gramatika typu 1. Řekneme, že je gramatikou typu 2, platí-li: y

Více

Formální jazyky a automaty Petr Šimeček

Formální jazyky a automaty Petr Šimeček Formální jazyky a automaty Petr Šimeček Úvod Formální jazyky a automaty jsou základním kamenem teoretické informatiky. Na počátku se zmíníme o Chomského klasifikaci gramatik, nástroje, který lze aplikovat

Více

Vlastnosti regulárních jazyků

Vlastnosti regulárních jazyků Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro

Více

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27 Bezkontextové jazyky 2/3 Bezkontextové jazyky 2 p.1/27 Transformace bezkontextových gramatik Bezkontextové jazyky 2 p.2/27 Ekvivalentní gramatiky Definice 6.1 Necht G 1 a G 2 jsou gramatiky libovolného

Více

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, [161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p

Více

Naproti tomu gramatika je vlastně soupis pravidel, jak

Naproti tomu gramatika je vlastně soupis pravidel, jak 1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen

Více

Vztah jazyků Chomskeho hierarchie a jazyků TS

Vztah jazyků Chomskeho hierarchie a jazyků TS Vztah jazyků Chomskeho hierarchie a jazyků TS Jan Konečný; (přednáší Lukáš Havrlant) 15. října 2013 Jan Konečný; (přednáší Lukáš Havrlant) Chomskeho hierarchie a jazyky TS 15. října 2013 1 / 23 Rychlé

Více

AUTOMATY A GRAMATIKY

AUTOMATY A GRAMATIKY AUTOMATY A 1 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Stručný přehled přednášky Automaty Formální jazyky, operace

Více

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T. BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 2/41 Formální překlady BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 4/41 Automaty a gramatiky(bi-aag) 5. Překladové konečné

Více

Automaty a gramatiky

Automaty a gramatiky Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Co bylo minule Úvod do formálních gramatik produkční systémy generativní gramatika G=(V N,V T,,P) G =

Více

Regulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20

Regulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20 Regulární výrazy M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března 2007 1/ 20 Regulární výrazy Jako například v aritmetice můžeme pomocí operátorů + a vytvářet výrazy jako (5+3)

Více

/1: Teoretická informatika(ti) přednáška 4

/1: Teoretická informatika(ti) přednáška 4 456-330/1: Teoretická informatika(ti) přednáška 4 prof. RNDr Petr Jančar, CSc. katedra informatiky FI VŠB-TUO www.cs.vsb.cz/jancar LS 2009/2010 Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010

Více

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 2/29 Hodnocení předmětu BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 4/29 Automaty a gramatiky(bi-aag) 1. Základní pojmy Jan Holub Katedra teoretické

Více

Základy teoretické informatiky Formální jazyky a automaty

Základy teoretické informatiky Formální jazyky a automaty Základy teoretické informatiky Formální jazyky a automaty Petr Osička KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Outline Literatura Obsah J.E. Hopcroft, R. Motwani, J.D. Ullman Introduction to

Více

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: IB102 Automaty, gramatiky a složitost, 6. 10. 2014 1/29 Regulární výrazy Definice 2.58. Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: 1 ε, a a pro každé a

Více

Jednoznačné a nejednoznačné gramatiky

Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 2/36 Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 4/36 Automaty a gramatiky(bi-aag) 11.

Více

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39 Bezkontextové jazyky Bezkontextové jazyky 1 p.1/39 Jazyky typu 2 Definice 4.1 Gramatika G = (N, Σ, P, S) si nazývá bezkontextovou gramatikou, jestliže všechna pravidla z P mají tvar A α, A N, α (N Σ) Lemma

Více

Automaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem

Automaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem 11 Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Uzávěrové vlastnosti v kostce Sjednocení Průnik Průnik s RJ Doplněk Substituce/ homomorfismus Inverzní

Více

Univerzální Turingův stroj a Nedeterministický Turingův stroj

Univerzální Turingův stroj a Nedeterministický Turingův stroj 27 Kapitola 4 Univerzální Turingův stroj a Nedeterministický Turingův stroj 4.1 Nedeterministický TS Obdobně jako u konečných automatů zavedeme nedeterminismus. Definice 14. Nedeterministický Turingův

Více

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace AUTOMATY A 11 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně

Více

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března / 50

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března / 50 Formální jazyky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března 2013 1/ 50 Abeceda a slovo Definice Abeceda je libovolná neprázdná konečná množina symbolů(znaků). Poznámka: Abeceda se často

Více

Fakulta informačních technologií. Teoretická informatika

Fakulta informačních technologií. Teoretická informatika Vysoké učení technické v Brně Fakulta informačních technologií Teoretická informatika Třetí úkol 2 Jan Trávníček . Tato úloha je řešena Turingovým strojem, který je zobrazen na obrázku, který si můžeme

Více

Bezkontextové jazyky 3/3. Bezkontextové jazyky 3 p.1/27

Bezkontextové jazyky 3/3. Bezkontextové jazyky 3 p.1/27 Bezkontextové jazyky 3/3 Bezkontextové jazyky 3 p.1/27 Vlastnosti bezkontextových jazyků Bezkontextové jazyky 3 p.2/27 Pumping teorém pro BJ Věta 6.1 Necht L je bezkontextový jazyk. Pak existuje konstanta

Více

Postův korespondenční problém. Meze rozhodnutelnosti 2 p.1/13

Postův korespondenční problém. Meze rozhodnutelnosti 2 p.1/13 Postův korespondenční problém Meze rozhodnutelnosti 2 p.1/13 Postův korespondenční problém Definice 10.1 Postův systém nad abecedou Σ je dán neprázdným seznamem S dvojic neprázdných řetězců nadσ, S = (α

Více

Teoretická informatika

Teoretická informatika Teoretická informatika TIN 2017/2018 prof. RNDr. Milan Češka, CSc. ceska@fit.vutbr.cz prof. Ing. Tomáš Vojnar, Ph.D. vojnar@fit.vutbr.cz sazba dr. A. Smrčka, Ing. P. Erlebach, Ing. P. Novosad Vysoké učení

Více

Formální jazyky a gramatiky Teorie programovacích jazyků

Formální jazyky a gramatiky Teorie programovacích jazyků Formální jazyky a gramatiky Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Připomenutí základních pojmů ABECEDA jazyk je libovolná podmnožina

Více

Teoretická informatika TIN 2013/2014

Teoretická informatika TIN 2013/2014 Teoretická informatika TIN 2013/2014 prof. RNDr. Milan Češka, CSc. ceska@fit.vutbr.cz doc.ing. Tomáš Vojnar, Ph.D. vojnar@fit.vutbr.cz sazba Ing. A. Smrčka, Ing. P. Erlebach, Ing. P. Novosad Vysoké učení

Více

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE.

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE. PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNAKICKÁ ANALÝZA DOKONČENÍ, IMPLEMENACE. VLASNOSI LL GRAMAIK A JAZYKŮ. 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Gramatika

Více

/01: Teoretická informatika(ti) přednáška 5

/01: Teoretická informatika(ti) přednáška 5 460-4005/01: Teoretická informatika(ti) přednáška 5 prof. RNDr Petr Jančar, CSc. katedra informatiky FEI VŠB-TUO www.cs.vsb.cz/jancar LS 2010/2011 Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS

Více

Naproti tomu gramatika je vlastně soupis pravidel, jak

Naproti tomu gramatika je vlastně soupis pravidel, jak 1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen

Více

Teoretická informatika - Úkol č.1

Teoretická informatika - Úkol č.1 Teoretická informatika - Úkol č.1 Lukáš Sztefek, xsztef01 18. října 2012 Příklad 1 (a) Gramatika G 1 je čtveřice G 1 = (N, Σ, P, S) kde, N je konečná množina nonterminálních symbolů N = {A, B, C} Σ je

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška pátá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní

Více

Konečný automat Teorie programovacích jazyků

Konečný automat Teorie programovacích jazyků Konečný automat Teorie programovacích jazyků oc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@menelu.cz Automaty v běžném životě Konečný automat Metoy konstrukce konečného automatu

Více

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března / 32

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března / 32 Formální jazyky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března 2017 1/ 32 Abeceda a slovo Definice Abeceda je libovolná neprázdná konečná množina symbolů(znaků). Poznámka: Abeceda se často

Více

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška desátá Miroslav Kolařík Zpracováno dle R. Bělohlávek, V. Vychodil: Diskrétní matematika 2, http://phoenix.inf.upol.cz/esf/ucebni/dm2.pdf P. Martinek: Základy teoretické informatiky,

Více

Bezkontextové gramatiky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května / 49

Bezkontextové gramatiky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května / 49 Bezkontextové gramatiky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května 2018 1/ 49 Bezkontextové gramatiky Příklad: Chtěli bychom popsat jazyk aritmetických výrazů obsahující výrazy jako například:

Více

Spojitost a limita funkce

Spojitost a limita funkce Spojitost a ita funkce Okolí bodu Značení: a R ε > 0 označujeme O ε (a) = (a ε, a + ε) ε-ové okolí bodu a O + ε (a) = a, a + ε) pravé okolí, O ε (a) = (a ε, a levé okolí P ε (a) = O ε (a) \ {a} x a ε-ové

Více

Překladač sestrojující k regulárnímu výrazu ekvivalentní konečný automat Připomeňme si jednoznačnou gramatiku G pro jazyk RV({a, b})

Překladač sestrojující k regulárnímu výrazu ekvivalentní konečný automat Připomeňme si jednoznačnou gramatiku G pro jazyk RV({a, b}) Teoretická informatika průběh výuky v semestru 1 Týden 4 Přednáška Ukázali jsme jednoduchý převod konečného automatu na bezkontextovou gramatiku, čímž jsme prokázali, že každý regulární jazyk je bezkontextovým

Více

Automaty a gramatiky. Roman Barták, KTIML. Chomského normální forma

Automaty a gramatiky. Roman Barták, KTIML. Chomského normální forma 10 Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Chomského normální forma Podívejme se nyní na derivační stromy. Jak odhadnout výšku stromu podle délky

Více

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31 Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31 IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu

Více

Minimalizace KA - Úvod

Minimalizace KA - Úvod Minimalizace KA - Úvod Tyto dva KA A,A2 jsou jazykově ekvivalentní, tzn. že rozpoznávají tentýž jazyk. L(A) = L(A2) Názorně lze vidět, že automat A2 má menší počet stavů než A, tudíž našim cílem bude ukázat

Více

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA BAKALÁŘSKÁ PRÁCE 2002 SEDLÁK MARIAN - 1 - OSTRAVSKÁ UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA KATEDRA INFORMATIKY A POČÍTAČŮ Vizualizace principů výpočtu konečného

Více

TURINGOVY STROJE. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

TURINGOVY STROJE. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze TURINGOVY STROJE Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 12 Evropský sociální fond Praha & EU: Investujeme do vaší

Více

Definice. Necht M = (Q, T, δ, q 0, F ) je konečný automat. Dvojici (q, w) Q T nazveme konfigurací konečného automatu M.

Definice. Necht M = (Q, T, δ, q 0, F ) je konečný automat. Dvojici (q, w) Q T nazveme konfigurací konečného automatu M. BI-AAG (20/202) J. Holu: 2. Deterministické nedeterministické konečné utomty p. 2/3 Konfigurce konečného utomtu BI-AAG (20/202) J. Holu: 2. Deterministické nedeterministické konečné utomty p. 4/3 Automty

Více

Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy

Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy Metody a nástroje syntaktické analýzy Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 14. října 2011 Vlastnosti syntaktické analýzy Úkoly syntaktické

Více

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R... Kapitola 1 Úvod 1.1 Značení N... přirozená čísla (1, 2, 3,...). Z... celá čísla ( 3, 2, 1, 0, 1, 2,...). Q... racionální čísla ( p, kde p Z a q N) q R... reálná čísla C... komplexní čísla 1.2 Výroky -

Více

PŘEDNÁŠKA 2 POSLOUPNOSTI

PŘEDNÁŠKA 2 POSLOUPNOSTI PŘEDNÁŠKA 2 POSLOUPNOSTI 2.1 Zobrazení 2 Definice 1. Uvažujme libovolné neprázdné množiny A, B. Zobrazení množiny A do množiny B je definováno jako množina F uspořádaných dvojic (x, y A B, kde ke každému

Více

NP-úplnost problému SAT

NP-úplnost problému SAT Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška šestá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika

Více

Na rozšiřující přednášce minulý týden jsme se věnovali zejména. algoritmu, který k zadanému konečnému automatu sestrojí ekvivalentní regulární výraz

Na rozšiřující přednášce minulý týden jsme se věnovali zejména. algoritmu, který k zadanému konečnému automatu sestrojí ekvivalentní regulární výraz Teoretická informatika průběh výuky v semestru 1 Týden 5 Přednáška Na rozšiřující přednášce minulý týden jsme se věnovali zejména algoritmu, který k zadanému konečnému automatu sestrojí ekvivalentní regulární

Více

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie. Zpracoval: hypspave@fel.cvut.cz 5. Výroková logika, formule výrokové logiky a jejich pravdivostní ohodnocení, splnitelné formule, tautologie, kontradikce, sémantický důsledek, tautologicky ekvivalentní

Více

Teoretická informatika

Teoretická informatika Teoretická informatika Ladislav Lhotka lhotka@cesnet.cz 2011-12 Zdroje LINZ, P. Formal Languages and Automata, Fourth Edition. Sudbury: Jones and Bartlett, 2006, 415+xiii s. ISBN 07-63-73798-4. CHYTIL,

Více

Lineární algebra Kapitola 1 - Základní matematické pojmy

Lineární algebra Kapitola 1 - Základní matematické pojmy Lineární algebra Kapitola 1 - Základní matematické pojmy 1.1 Relace a funkce V celém textu budeme používat následující označení pro číselné množiny: N množina všech přirozených čísel bez nuly, N={1, 2,

Více

ZÁKLADY TEORETICKÉ INFORMATIKY

ZÁKLADY TEORETICKÉ INFORMATIKY KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO ZÁKLADY TEORETICKÉ INFORMATIKY PAVEL MARTINEK VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM

Více

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16 Predikátová logika - přednáška 3 6. 1. 2015 () Predikátová logika - přednáška 3 6. 1. 2015 1 / 16 Věta (o dedukci) Bud L jazyk, T teorie pro L, ϕ L-sentence a ψ L-formule. Pak Věta (o kompaktnosti) T ϕ

Více

Složitost Filip Hlásek

Složitost Filip Hlásek Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,

Více

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α 1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny

Více

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel Matematická analýza IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel na množině R je definováno: velikost (absolutní hodnota), uspořádání, aritmetické operace; znázornění:

Více

Automaty a gramatiky. Na zopakování X*/~ Roman Barták, KTIML. Iterační (pumping) lemma. Pravidelnost regulárních jazyků

Automaty a gramatiky. Na zopakování X*/~ Roman Barták, KTIML. Iterační (pumping) lemma. Pravidelnost regulárních jazyků 2 utomaty a gramatiky Roman Barták, KTML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Na zopakování Víme, co je konečný automat = (Q,X,δ,q,F) Umíme konečné automaty charakterizovat (Myhill-)Nerodova

Více

Teoretická informatika průběh výuky v semestru 1

Teoretická informatika průběh výuky v semestru 1 Teoretická informatika průběh výuky v semestru 1 Týden 7 Přednáška (Výpočetní) problémy, rozhodovací(ano/ne) problémy,... Připomněli jsme si obecné definice a konkrétní problémy, jako např. SAT[problém

Více

EKO-KOLONIE. Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě 24.

EKO-KOLONIE. Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě 24. EKO-KOLONIE OBHAJOBA DISERTAČNÍ PRÁCE RNDr. Šárka Vavrečková Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě sarka.vavreckova@fpf.slu.cz 24. dubna 2008 Obsah 1 Eko-kolonie

Více

PŘEDNÁŠKA 7 Kongruence svazů

PŘEDNÁŠKA 7 Kongruence svazů PŘEDNÁŠKA 7 Kongruence svazů PAVEL RŮŽIČKA Abstrakt. Definujeme svazové kongruence a ukážeme jak pro vhodné binární relace svazu ověřit, že se jedná o svazové kongruence. Popíšeme svaz Con(A) kongruencí

Více

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad 1.3. Cíle Cílem kapitoly je seznámení čtenáře s axiomy číselných oborů a jejich podmnožin (intervalů) a zavedení nových pojmů, které nejsou náplní středoškolských osnov. Průvodce studiem Vývoj matematiky

Více

2. LIMITA A SPOJITOST FUNKCE

2. LIMITA A SPOJITOST FUNKCE . LIMITA A SPOJITOST FUNKCE Průvodce studiem Funkce y = je definována pro ( ) (>. Z grafu funkce (obr. 3) a z tabulky (a) je vidět že čím více se hodnoty blíží k -3 tím více se funkční hodnoty blíží ke

Více

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky.

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky. PŘÍJMENÍ a JMÉNO: Login studenta: DATUM: Písemná zkouška z předmětu Teoretická informatika (UKÁZKA) Doba trvání: 90 minut Max. zisk: 65 bodů Minimální bodový zisk nutný k uznání: 25 bodů (jak je ovšem

Více

LIMITA A SPOJITOST FUNKCE

LIMITA A SPOJITOST FUNKCE PŘEDNÁŠKA 5 LIMITA A SPOJITOST FUNKCE 5.1 Spojitost funkce 2 Řekneme, že funkce f(x) je spojitá v bodě a D f, jestliže ke každému ε > 0 existuje δ > 0 takové, že pro každé x (a δ, a + δ) D f platí nerovnost:

Více

BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS MASTER S THESIS AUTHOR

BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS MASTER S THESIS AUTHOR VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS SYSTÉMY FORMÁLNÍCH

Více

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice I. Funkce dvou a více reálných proměnných 1. Úvod Značení: V textu budeme používat označení: N pro množinu všech přirozených čísel; R pro množinu všech reálných čísel; R n pro množinu všech uspořádaných

Více

Katedra počítačů FEL

Katedra počítačů FEL TIS 311 1. Navrhněte KMP vyhledávací stroj pro vzorek v = kakadu, 2. Pro stejný vzorek navrhněte deterministický konečný automat. 3. Simulujte činnost obou strojů na textu T = dukakakaduka, porovnejte

Více

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13. Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy

Více

Učební texty k státní bakalářské zkoušce Programování Základy teoretické informatiky. študenti MFF 15. augusta 2008

Učební texty k státní bakalářské zkoušce Programování Základy teoretické informatiky. študenti MFF 15. augusta 2008 Učební texty k státní bakalářské zkoušce Programování Základy teoretické informatiky študenti MFF 15. augusta 2008 1 1 Základy teoretické informatiky Požadavky Logika - jazyk, formule, sémantika, tautologie

Více

2 Formální jazyky a gramatiky

2 Formální jazyky a gramatiky 2 Formální jazyky a gramatiky 2.1 Úvod Teorie formálních gramatik a jazyků je důležitou součástí informatiky. Její využití je hlavně v oblasti tvorby překladačů, kompilátorů. Vznik teorie se datuje přibližně

Více

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Úvod do informatiky přednáška čtvrtá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Pojem relace 2 Vztahy a operace s (binárními) relacemi

Více

Třídy složitosti P a NP, NP-úplnost

Třídy složitosti P a NP, NP-úplnost Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není

Více

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39 Algoritmy Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna 2018 1/ 39 Algoritmy Příklad: Popis algoritmu pomocí pseudokódu: Algoritmus 1: Algoritmus pro nalezení největšího prvku v poli 1 Find-Max(A,n):

Více

Přednáška 11, 12. prosince Část 5: derivace funkce

Přednáška 11, 12. prosince Část 5: derivace funkce Přednáška 11, 12. prosince 2014 Závěrem pasáže o spojitých funkcích zmíníme jejich podtřídu, lipschitzovské funkce, nazvané podle německého matematika Rudolfa Lipschitze (1832 1903). Fukce f : M R je lipschitzovská,

Více

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

Modely Herbrandovské interpretace

Modely Herbrandovské interpretace Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší

Více

Matematika 2 Úvod ZS09. KMA, PřF UP Olomouc. Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 25

Matematika 2 Úvod ZS09. KMA, PřF UP Olomouc. Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 25 Matematika 2 Úvod Jiří Fišer KMA, PřF UP Olomouc ZS09 Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 25 Studijní materiály web předmětu: aix-slx.upol.cz/ fiser St. Trávníček: Matematická analýza kag.upol.cz/travnicek/1-matan.

Více

Turingovy stroje. Turingovy stroje 1 p.1/28

Turingovy stroje. Turingovy stroje 1 p.1/28 Turingovy stroje Turingovy stroje 1 p.1/28 Churchova teze Churchova (Church-Turingova) teze: Turingovy stroje (a jim ekvivalentní systémy) definují svou výpočetní silou to, co intuitivně považujeme za

Více

Matematická analýza 1

Matematická analýza 1 Matematická analýza 1 ZS 2019-20 Miroslav Zelený 1. Logika, množiny a základní číselné obory 2. Limita posloupnosti 3. Limita a spojitost funkce 4. Elementární funkce 5. Derivace 6. Taylorův polynom Návod

Více

Automaty a gramatiky. Roman Barták, KTIML. Separované gramatiky. Kontextové gramatiky. Chomského hierarchie

Automaty a gramatiky. Roman Barták, KTIML. Separované gramatiky. Kontextové gramatiky. Chomského hierarchie Chomského hierarchie Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak gramatiky typu 0 (rekurzivně spočetné jazyky L 0 ) pravidla v obecné formě gramatiky

Více

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky.

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky. PŘÍJMENÍ a JMÉNO: Login studenta: DATUM: Písemná zkouška z předmětu Teoretická informatika (UKÁZKA struktury) Doba trvání: 90 minut Max. zisk: 62 bodů Minimální bodový zisk nutný k uznání: 25 bodů jealenutnétakédocílitalespoňminima11bodůseparátněukaždézedvoučástípísemky

Více

Popište a na příkladu ilustrujte(rychlý) algoritmus testující, zda dané dva automaty jsou izomorfní.

Popište a na příkladu ilustrujte(rychlý) algoritmus testující, zda dané dva automaty jsou izomorfní. Teoretická informatika referáty 1 Referátč.1 Vysvětlete, co znamená tvrzení, že operace levého kvocientu je asociativní. Pak toto tvrzení pečlivě dokažte či vyvraťte. Dálevysvětlete,pročprokonečnýautomat

Více

α β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace

α β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace Monotónní a Lineární Funkce 1. Relace předcházení a to Uvažujme dva vektory hodnot proměnných α = α,, 1 αn ( ) a β = ( β β ) 1,, n x,, 1 xn. Říkáme, že vekto r hodnot α předchází vektor hodnot β (značíme

Více

Úvod do teorie her

Úvod do teorie her Úvod do teorie her 2. Garanční řešení, hry s nulovým součtem a smíšené strategie Tomáš Kroupa http://staff.utia.cas.cz/kroupa/ 2017 ÚTIA AV ČR Program 1. Zavedeme řešení, které zabezpečuje minimální výplatu

Více

p 2 q , tj. 2q 2 = p 2. Tedy p 2 je sudé číslo, což ale znamená, že

p 2 q , tj. 2q 2 = p 2. Tedy p 2 je sudé číslo, což ale znamená, že KAPITOLA 1: Reálná čísla [MA1-18:P1.1] 1.1. Číselné množiny Přirozená čísla... N = {1,, 3,...} nula... 0, N 0 = {0, 1,, 3,...} = N {0} Celá čísla... Z = {0, 1, 1,,, 3,...} Racionální čísla... { p } Q =

Více

Konečný automat. Jan Kybic.

Konečný automat. Jan Kybic. Konečný automat Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2017 1 / 33 Konečný automat finite state machine Konečný automat = výpočetní model, primitivní počítač Řídící jednotka s

Více

Množiny, relace, zobrazení

Množiny, relace, zobrazení Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,

Více

Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování.

Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování. 9.5 Třída NP Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování. Příklad. Uvažujme problém IND a následující

Více