Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Vyčíslitelnost a složitost Tomáš Foltýnek Turingův stroj.

Podobné prezentace


Prezentace na téma: "Vyčíslitelnost a složitost Tomáš Foltýnek Turingův stroj."— Transkript prezentace:

1 Vyčíslitelnost a složitost Tomáš Foltýnek Turingův stroj

2 Vyčíslitelnost a složitost Neformální popis Turingova stroje 1936 Alan Turing Konečný automat s nekonečnou páskou –na pásce je napsaný vstup –symbolay na pásce lze libovolně přepisovat –po pásce se lze pohybovat oběma směry –je možné měnit vnitřní stav Konečný automat neměl žádnou paměť –jen konečný počet stavů Zásobníkový automat měl nekonečný zásobník s přístupem pouze k symbolu na vrcholu Turingův stroj má nekonečnou pásku s přístupem kamkoliv. strana 2 Zdroj:

3 Vyčíslitelnost a složitost Proč zavádíme Turingův stroj Je to zjednodušený model počítače –tzv. “výpočetní model” –model jakéhokoliv možného výpočtu Má jasnou formální definici umožňující dokazovat (ne)řešitelnost problémů Je formálním ekvivalentem vágně definované “algoritmické řešitelnosti” Cílem je ukázat, že existují problémy neřešitelné pomocí počítače strana 3

4 Vyčíslitelnost a složitost 4 Definice Turingova stroje Turingův stroj je devítice M = (Q, , , , , , q 0, q A, q R ), kde –Q je konečná množina vnitřních stavů –  je konečná množina vstupních symbolů ,   –  je konečná množina páskových symbolů , ,   –   (  –  ) je počáteční symbol pásky –  (  –  ) je prázdný symbol –  : (Q – {q A, q R })   Q  {L,R} je přechodová funkce –q 0  Q je počáteční stav –q A  Q je koncový akceptující stav –q R  Q je koncový zamítající stav

5 Vyčíslitelnost a složitost 5 Výpočet Turingova stroje I. Turingův stroj čte symboly ze vstupní pásky Na základě vnitřního stavu a čteného symbolu TS podle přechodové funkce –změní svůj vnitřní stav –zapíše na pásku nový symbol –posune čtecí hlavu doleva, nebo doprava Vstupní páska je jednosměrně nekonečná –Zaplněno je vždy jen konečně mnoho políček –Ostatní políčka obsahují prázdný symbol  Výpočet TS končí, jestliže se stroj dostane do některého ze stavů q A, q R.

6 Vyčíslitelnost a složitost 6 Konfigurace Turingova stroje Konfigurace je jednoznačně určena –vnitřním stavem –obsahem pásky –pozicí čtecí hlavy Může být obsah pásky „nekonečný“? Konfiguraci tedy lze popsat trojicí –K = (q  Q,  *, n)  Q   *  N 0 Počáteční konfigurace (q 0, w, 0) –počáteční stav –na pásce je vstupní slovo –čtecí hlava se nachází na počátečním políčku pásky

7 Vyčíslitelnost a složitost 7 Akceptující a zamítající konfigurace Výpočet TS končí, dostane-li se do některého ze stavů q A, q R. Akceptující konfigurace je tedy konfigurace tvaru (q A, , n) Zamítající konfigurace je pak konfigurace tvaru (q R, , n)

8 Vyčíslitelnost a složitost 8 Krok výpočtu TS Na množině všech konfigurací TS definujeme binární relaci krok výpočtu označovanou  M (p, , n)  M { –(q, s n b (  ), n+1) pro  (p,  n ) = (q,b,R) –(q, s n b (  ), n-1) pro  (p,  n ) = (q,b,L) Reflexivní a tranzitivní uzávěr relace  M značíme  M * a definujeme jako k-násobný součin relace  M pro všechna k  N 0 –tedy přechod přes 0-k kroků

9 Vyčíslitelnost a složitost Zkrácený zápis konfigurace Konfiguraci (q,X 1 X 2 …X k,n) lze zapsat jako řetězec X 1 X 2 …X n-1 qX n X n+1 …X k –označení stavů nesmí být páskovými symboly –pozice stavu jednoznačně určuje pozici čtecí hlavy Krok výpočtu pak lze psát jako –X 1 …X n-1 pX n …X k  M X 1 …X n-1 bqX n+1 …X k pro  (p,X n ) = (q,b,R) –X 1 …X n-1 pX n …X k  M X 1 …X n-2 qX n-1 bX n+1 …X k pro  (p,X n ) = (q,b,L) strana 9

10 Vyčíslitelnost a složitost 10 Výpočet Turingova stroje Výpočet TS je posloupnost konfigurací K 0, K 1, K 2, … K 0 je počáteční konfigurace TS K i  M K i+1  i≥0 Výpočet může být buď konečný, nebo nekonečný. Je-li konečný, pak poslední konfigurací ve výpočtu je akceptující, nebo zamítající konfigurace.

11 Vyčíslitelnost a složitost 11 TS akceptuje, zamítá, cyklí Řekneme, že TS M daný vstupní řetězec w  * –akceptuje, jestliže výpočet M je konečný a poslední konfigurace je akceptující, tedy (q 0,  w  *, 0)  M * (q A, z, n) –zamítá, jestliže výpočet M je konečný a poslední konfigurace je zamítající, tedy (q 0,  w  *, 0)  M * (q R, z, n) Řekneme, že TS M pro daný vstupní řetězec w  * cyklí, jestliže výpočet TS M na slově w je nekonečný. Jestliže TS M dané slovo w akceptuje, nebo zamítá, pak říkáme, že nad daným slovem zastaví. TS, který zastaví pro každý vstup, se nazývá úplný.

12 Vyčíslitelnost a složitost 12 Jazyk akceptovaný a rozhodovaný TS Jazyk akceptovaný TS M označujeme L(M) a definujeme jako množinu slov, které TS M akceptuje: L(M) = {w  * | M akceptuje w} Je-li M navíc úplný TS, říkáme, že M rozhoduje jazyk L.

13 Vyčíslitelnost a složitost 13 Rekursivní a rekursivně spočetné jazyky Jazyk L  * nazýváme –rekursivně spočetný právě tehdy, když L = L(M) pro nějaký TS M –rekursivní právě tehdy, když L = L(M) pro nějaký úplný TS M Tedy –Ke každému rekursivnímu jazyku existuje TS, který jej rozhoduje, tj. jeho výpočet je konečný –Ke každému rekursivně spočetnému jazyku musí existovat TS, který akceptuje každé slovo w  L, ale pro slova nepatřící do L buď zamítá, nebo cyklí.

14 Vyčíslitelnost a složitost 14 Příklady Navrhněte TS rozhodující jazyk L = {xux| x  {0,1}, u  {0,1} * } Navrhněte TS rozhodující jazyk L = {cdwcd | c,d  {0,1}, w  {0,1} * } Navrhněte TS rozhodující jazyk L = {a n b n c n | n >= 0} Navrhněte TS rozhodující jazyk L = {w | w  {a}*, |w| = 2 n, n ≥ 1} Navrhněte TS rozhodující jazyk “dominových kostek” L = {w| w  {a..z} 2, w i [2] = w i+1 [1]  i }

15 Vyčíslitelnost a složitost 15 Metody konstrukce TS Zapamatování v řídicí jednotce –Navrhněte TS rozhodující jazyk L = {xux| x  {a,b}, u  {a,b} * }  {a,b} Tedy jazyk všech slov, které začínají a končí stejným symbolem Označování symbolů –Navrhněte TS rozhodující jazyk L = {w | w  {a} *, |w| = 2 n, n ≥ 1} Tedy jazyk všech slov nad jednoprvkovou abecedou, jejichž délka je mocninou dvojky Používání více pásek


Stáhnout ppt "Vyčíslitelnost a složitost Tomáš Foltýnek Turingův stroj."

Podobné prezentace


Reklamy Google