Varianty Turingova stroje Výpočet funkcí pomocí TS

Slides:



Advertisements
Podobné prezentace
Grafové algoritmy.
Advertisements

Rozhodnutelnost.
NEJKRATŠÍ CESTY MEZI VŠEMI UZLY
Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
Teorie vyčíslitelnosti
Red-Black Stromy Binární Vyhledávací Stromy, u kterých je časová složitost operací v nejhorším případě rovná O(log n)
Aplikace teorie grafů Základní pojmy teorie grafů
Algebra.
Teorie čísel Nekonečno
ENVIRONMENTÁLNÍ INFORMATIKA A REPORTING
Principy překladačů Mezikód Jakub Yaghob.
ADT Strom.
Úvod do Teorie množin.
LOGISTICKÉ SYSTÉMY 7/14.
Vícevrstvé neuronové sítě.  Neuronové sítě jsou složeny z neuronů tak, že výstup jednoho neuronu je vstupem jednoho nebo více neuronů  Propojení neuronů.
Základní škola a mateřská škola Bzenec Číslo projektu: CZ.1.07/1.4.00/ Číslo a název šablony klíčové aktivity: III/2: využívání ICT – inovace Vypracoval/a:
1IT S ÍŤOVÝ DATOVÝ MODEL Ing. Jiří Šilhán. S ÍŤOVÝ DATOVÝ MODEL Je historicky nejstarším datovým modelem. Jeho základem jsou vzájemně propojené množiny.
Jazyk vývojových diagramů
Seminář – Základy programování
Informatika I 7.a 8. hodina 4. týden.
Church-Turingova teze Univerzální Turingův stroj Diagonalizace
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
ORIENTOVANÉ GRAFY V této části se seznámíme s následujícími pojmy:
 Diskrétní  Abstraktní  Sekvenční  Deterministický  Dynamický.
Formální jazyky a gramatiky
Abeceda a formální jazyk
Sémantická analýza Jakub Yaghob
Příklady jazyků Příklad 1: G=({S}, {0,1}, P, S)
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Složitost.
Kruhový registr. Kruhový registr zpracovává načtenou informaci do registru. Charakteristikou kruhového registru je, že se na rozdíl od předchozích typů.
Stromy.
Jazyk vývojových diagramů
KIV/PPA1 cvičení 7 Cvičící: Pavel Bžoch. Osnova cvičení Zadání samostatné práce –Vysvětlení nejasností –Způsob odevzdání –Hodnocení Řazení Vyhledávání.
Modelování a simulace MAS_02
Predikátová logika.
JavaScript Podmínky, cykly a pole.
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
Kruhový registr.
Algebra II..
AUTOMATY Bori · Brkos Formální jazyk {a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb} nad abecedou {a, b}
Úvod do předmětu Opakování
Vztah bezkontextových jazyků a ZA
Regulární výrazy Regulární výrazy představují další možnost popisu regulárních jazyků (právě od nich dostaly své jméno). Definice: Množina všech regulárních.
Algoritmizace a programování Vývojové diagramy - 03
Složitost II TIN063 Ondřej Čepek. 2 Sylabus 1.Výpočetní model – DTS a NTS 2.Časová a prostorová složitost výpočtu 3.Technické pomůcky: lineární komprese,
doc. RNDr. Zdeněk Botek, CSc.
P-těžké, np-těžké a np-úplné problémy
Turingův stroj.
Úvod do teorie konečných automatů
Automaty a gramatiky.
Barvení grafů Platónská tělesa
Mlhavost Fuzzy logika, fuzzy množiny, fuzzy čísla
13.
Jak může Turingův stroj řešit úlohu? Mám rozhodnout, zda posloupnost znaků 0 a 1 obsahuje dvě 0 za sebou.
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce 12 1 / 21 TURINGOVY.
Úvod do programování Vyučující: Mgr. Vítězslav Jersák
Kurzy s programováním na FAI
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
STROMY A KOSTRY Stromy a kostry - odst. 3.2.
Překladače 5. Syntaktická analýza
Zoner Callisto – křivky
Vytváření dokumentace algoritmů
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
1 Lineární (vektorová) algebra
Geografické informační systémy
Lineární funkce a její vlastnosti
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
AVL a B-stromy cvičení Radek Mařík.
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Varianty Turingova stroje Výpočet funkcí pomocí TS

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– {qA, qR})×Γ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

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

Nedeterministický Turingův stroj V každém kroku má více možností Přechodová funkce δ: (Q– {qA, qR})×Γ  2QΓ{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, snb(), n+1)   (q,b,R)  (p,n) (q, snb(), 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

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

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 obsahuje vstupní slovo a její obsah se v průběhu výpočtu nemění slouží k simulaci aktuálního výpočtu stroje N 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.

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:N0k N0 právě tehdy, když akceptuje každé vstupní slovo tvaru vstupní páska na konci výpočtu obsahuje řetězec Funkce f:N0k N0 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

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

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

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 S1 obsahuje vše, co je od čtecí hlavy nalevo Zásobník S2 obsahuje vše, co je od čtecí hlavy napravo a na vrcholu má právě čtený symbol Počáteční konfigurace: S1 je prázdný S2 obsahuje vstupní řetězec Krok výpočtu Posun hlavy doleva: push(S2, pop(S1)) Posun hlavy doprava: push (S1, pop(S2)) Výpočetně ekvivalentní Používá se při implementaci TS

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