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

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

Vyčíslitelnost a složitost Tomáš Foltýnek Varianty Turingova stroje Výpočet funkcí pomocí TS.

Podobné prezentace


Prezentace na téma: "Vyčíslitelnost a složitost Tomáš Foltýnek Varianty Turingova stroje Výpočet funkcí pomocí TS."— Transkript prezentace:

1 Vyčíslitelnost a složitost Tomáš Foltýnek Varianty Turingova stroje Výpočet funkcí pomocí TS

2 Vyčíslitelnost a složitost Vícepáskový Turingův stroj TS má k nezávislých pásek Na každé pásce samostatná čtecí hlava –každá z hlav se může posunout doleva, doprava, nebo zůstat na místě Přechodová funkce δ: (Q– {q A, q R })×Γ k  Q  Γ k  {L,R,S} k Simulace k-páskového TS M jednopáskovým TS J –na pásce k-tice symbolů, na každé pásce i značka určující pozici čtecí hlavy –stroj prochází páskou, hledá značky a zaznamená čtené symboly do svého stavu –poté zjistí, jakou akci by stroj M vykonal a vrátí čtecí hlavu na začátek –při druhém průchodu páskou upraví označkovaná políčka a posune značky na jednotlivých stopách pásky strana 2

3 Vyčíslitelnost a složitost Turingův stroj s oboustranně nekonečnou páskou Páska nekonečná doprava i doleva Lze snadno simulovat dvoupáskovým strojem –jedna páska obsahuje pravou část –druhá páska obsahuje levou část –každá z pásek je tedy nekonečná do jednoho směru strana 3

4 Vyčíslitelnost a složitost Nedeterministický Turingův stroj V každém kroku má více možností Přechodová funkce δ: (Q– {q A, q R })×Γ  2 Q  Γ  {L,R} Konfigurace je definována stejně jako u DTS Relace krok výpočtu  M je definována předpisem (p, , n)  M { –(q, s n b (  ), n+1)   (q,b,R)   (p,  n ) –(q, s n b (  ), n-1)   (q,b,L)   (p,  n ) Výpočet NTS je strom –vnitřní uzly představují nekoncové stavy, z nichž existuje více možností –koncové stavy jsou listy strana 4

5 Vyčíslitelnost a složitost Akceptování NTS NTS akceptuje vstupní slovo právě tehdy, když existuje výpočet vedoucí do akceptujícího stavu NTS zamítne vstupní slovo právě tehdy, když všechny větve výpočtu jsou konečné a vedou do zamítajícího stavu NTS cyklí nad vstupním slovem právě tehdy, když žádná z konečných výpočetních větví nekončí v akceptujícím stavu a existuje alespoň jedna nekonečná výpočetní větev strana 5

6 Vyčíslitelnost a složitost Ekvivalence DTS a NTS DTS je zvláštní případ NTS Simulace NTS N pomocí DTS D –prohledávání výpočtového stromu stroje N Stroj D má 3 pásky 1.obsahuje vstupní slovo a její obsah se v průběhu výpočtu nemění 2.slouží k simulaci aktuálního výpočtu stroje N 3.obsahuje informace o dosud prozkoumaných možnostech posloupnost přirozených čísel; pro každý stav určují, kolikátý následník byl zvolen Narazí-li D v průběhu výpočtu na akceptující konfiguraci stroje N, pak akceptuje. Pokud stroj N při všech výpočtech zamítne, zamítne i stroj D. strana 6

7 Vyčíslitelnost a složitost Výpočet funkcí pomocí TS Doposud jsme se zabývali pouze tím, v jakém stavu TS skončí (skončí-li) bez ohledu na stav pásky v koncové konfiguraci Řekneme, že TS M počítá funkci f:N 0 k  N 0 právě tehdy, když –akceptuje každé vstupní slovo tvaru –vstupní páska na konci výpočtu obsahuje řetězec Funkce f:N 0 k  N 0 se nazývá –částečně rekursivní právě tehdy, když existuje TS M počítající funkci f –rekursivní právě tehdy, když existuje úplný TS M počítající funkci f strana 7

8 Vyčíslitelnost a složitost Enumerátor TS obsahující kromě vstupní pásky obsahuje i výstupní pásku (tiskárnu), na níž lze pouze sekvenčně zapisovat pouze jiná varianta předávání výstupu Výpočetně ekvivalentní TS strana 8

9 Vyčíslitelnost a složitost TS s oddělenou vstupní páskou Vstupní a pracovní páska jsou odděleny Ze vstupní pásky lze pouze číst Na pracovní pásku lze zapisovat i číst Zřejmě výpočetně ekvivalentní TS strana 9

10 Vyčíslitelnost a složitost 10 Stroj se dvěma zásobníky Představme si TS, který má namísto vstupní pásky dva zásobníky –Zásobník S 1 obsahuje vše, co je od čtecí hlavy nalevo –Zásobník S 2 obsahuje vše, co je od čtecí hlavy napravo a na vrcholu má právě čtený symbol Počáteční konfigurace: –S 1 je prázdný –S 2 obsahuje vstupní řetězec Krok výpočtu –Posun hlavy doleva: push(S 2, pop(S 1 )) –Posun hlavy doprava: push (S 1, pop(S 2 )) Výpočetně ekvivalentní Používá se při implementaci TS

11 Vyčíslitelnost a složitost Stroj s k počitadly Turingův stroj obsahující – vstupní pásku (nelze na ni zapisovat) –k pracovních pásek (jsou prázdné, pozice čtecí hlavy určuje nesené číslo) Jeden zásobník lze simulovat dvěma počitadly Pracovní páska = 2 zásobníky = 4 počitadla Libovolný počet počitadel lze simulovat 2 počitadly strana 11


Stáhnout ppt "Vyčíslitelnost a složitost Tomáš Foltýnek Varianty Turingova stroje Výpočet funkcí pomocí TS."

Podobné prezentace


Reklamy Google