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

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

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

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

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

Ekvivalence. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 5

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

Třída PTIME a třída NPTIME. NP-úplnost.

NP-úplnost problému SAT

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

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 Σ

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Čí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:

Složitost Filip Hlásek

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

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

Vyhněte se katastrofám pomocí výpočetní matematiky

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

AUTOMATY A GRAMATIKY

Turingovy stroje. Turingovy stroje 1 p.1/28

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

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Syntaxí řízený překlad

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.

Vztah jazyků Chomskeho hierarchie a jazyků TS

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

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

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

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

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

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

Základní datové struktury III: Stromy, haldy

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Cvičení 5. Přednášející: Mgr. Rudolf B. Blažek, Ph.D. prof. RNDr. Roman Kotecký, DrSc.

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

Struktura a architektura počítačů (BI-SAP) 5

Poznámky k přednášce NTIN090 Úvod do složitosti a vyčíslitelnosti. Petr Kučera

PLANARITA A TOKY V SÍTÍCH

PŘÍJMENÍ a JMÉNO: Login studenta: DATUM:

Řešení rekurentních rovnic 2. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 11

SIMULÁTOR TURINGOVÝCH STROJŮ POPSANÝCH POMOCÍ KOMPOZITNÍCH DIAGRAMŮ

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

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 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

Poznámky k přednášce NTIN090 Úvod do složitosti a vyčíslitelnosti. Petr Kučera

Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky.

Kapitola 2: Spojitost a limita funkce 1/20

Úvod do informatiky. Miroslav Kolařík

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.

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010

Jednoznačné a nejednoznačné gramatiky

Třída PTIME a třída NPTIME. NP-úplnost.

Od Turingových strojů k P=NP

Naproti tomu gramatika je vlastně soupis pravidel, jak

1.1 Existence a jednoznačnost řešení. Příklad 1.1: [M2-P1] diferenciální rovnice (DR) řádu n: speciálně nás budou zajímat rovnice typu

B A B A B A B A A B A B B

0.1 Úvod do matematické analýzy

Struktura a architektura počítačů (BI-SAP) 4

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

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

Explikace. Petr Kuchyňka

Matematická indukce. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 3

Spojitost a limita funkce

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

Lineární algebra : Násobení matic a inverzní matice

Řešení rekurentních rovnic 3. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 12

Rekurzivní algoritmy

2. LIMITA A SPOJITOST FUNKCE

Struktura a architektura počítačů (BI-SAP) 3

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

Algoritmy výpočetní geometrie

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

Tlačné pružiny. Všechny rozměry pružin uvedených v katalogu jsou standardizovány. Také jsou zde uvedena potřebná technická data.

Matematika (KMI/PMATE)

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

Konvolučníkódy. MI-AAK(Aritmetika a kódy)

Výroková a predikátová logika - XII

ZÁKLADY TEORETICKÉ INFORMATIKY

Automaty a gramatiky(bi-aag)

Z. Sawa (VŠB-TUO) Teoretická informatika 11. prosince / 63

Princip rozšíření a operace s fuzzy čísly

Formalisace intuitivního pojmu algoritmus

Aplikovaná numerická matematika

GRAFOVÉ MODELY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 1

Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE. Jan Vacek Universální Turingův stroj. Katedra algebry

Úvod do informatiky. Miroslav Kolařík

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Dynamické programování

Základy matematické analýzy

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Vyčíslitelnost a složitost 1. Mgr. Viktor PAVLISKA

Maloobchodní ceník motorů Honda 2016 Platnost od do

Matematická analýza III.

Násobení. MI-AAK(Aritmetika a kódy)

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

Drsná matematika III 1. přednáška Funkce více proměnných: křivky, směrové derivace, diferenciál

Transkript:

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ší budoucnosti Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 1 / 15 21

Turingovy stroje *) Seznámíme se s následujícími pojmy: struktura a chování Turingova stroje, konfigurace T.S.,přechod mezi konfiguracemi, jazyk rozhodovaný T.S., zobrazení počítané T.S. jazyk polorozhodovaný T.S., možná zobecnění T.S., nedeterministický T.S., univerzální T.S., nerozhodnutelné problémy Skripta odst. 11.2, str. 181-200 *) A.M. Turing: On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, Series 2, Vol.42 (1936-37) pp. 230 265 (zasláno 28. května 1936) Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 2 // 15 21

Turingovy stroje Turingovým cílem bylo vytvořit model vyčíslitelnosti / vypočitatelnosti tak, aby byl co nejjednodušší pro definici, popis a studium současně dostatečně obecný Konečná řídicí jednotka, V/V hlava a páska 4 a b a a b # # # řídicí jednotka Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 3 // 15 21

Turingovy stroje DF: Turingův stroj M = Q, A, δ, s, H Q - konečná množina stavů A - abeceda obsahující # (prázdný symbol) a 4 (symbol konce pásky), A neobsahuje symboly a s - počáteční stav H - množina koncových stavů H Q δ : (Q-H) A Q (A {, }) je přechodové zobrazení pro všechna q Q-H platí: δ(q,4) = (p, ) pro všechna q Q-H, a A platí: δ(q,a) = (p,b) b 4 (tzn. symbol 4 na levém konci se nikdy nepřepíše symbol 4 se nezapíše nikam dovnitř pásky) Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 4 // 15 21

Turingovy stroje Interpretace přechodového zobrazení δ : je-li pro q Q-H, a A, δ(q,a) = (p,b) b A... stroj přepíše symbol a na pásce symbolem b b {, }... stroj posune hlavu vlevo/vpravo Př.: M 1 = Q, A, δ 1, s, {h} M 2 = Q, A, δ 2, s, {h} stav znak δ 1 s a (r, #) s # (h, #) s 4 (s, ) r a (s,a) r # (s, ) r 4 (r, ) stav znak δ 2 s a (s, ) s # (r, ) s 4 (r, ) r a (r, ) r # (s, ) r 4 (h, ) Jak funguje M 1 / M 2?? Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 5 // 15 21

Formalizace činnosti T.S. Konfigurace T.S. M = Q, A, δ, s, H je prvek kartézského součinu Q 4A* (A*(A-{#}) {ε}) stav páska zleva k hlavě páska vpravo konfigurace poloha hlavy zkratka (q,4a, baa) 4 a b a a (q, 4abaa) (q,4 ###, #a) 4 # # # # a # # (q, 4####a) (q,4#a##, ε) 4 # a # # (q, 4#a##) Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 6 // 15 21

Přechod mezi konfiguracemi M výchozí konfigurace (q, wau) přepis symbolu na pásce pro δ(q,a) = (p,b), b A (q, wau) M (p, wbu) posun vlevo pro δ(q,a) = (p, ), w = w'a' je-li a # nebo u ε (q, wau) = (q, w'a'au) M je-li a = # a současně u = ε (q, w#) = (q, w'a'#) M (p, w'a'au) (p, w'a') posun vpravo pro δ(q,a) = (p, ), w = w'a' je-li u = a'u', a' A (q, wau) = (q, waa'u') M (p, waa'u') je-li u = ε (q,wa) M (p, wa#) Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 7 // 15 21

Výpočet délky n Výpočet délky n : C 0 M C 1 M... M C n M = K, A, δ, s, H, H = {y,n}, w (A - {4,#})* počáteční konfigurace T.S. M při vstupu w... (s, 4#w) přijímající / odmítající konfigurace (y,4w') / (n,4w') M přijímá / odmítá vstup w (A - {4,#})*, pokud platí (s,4#w) (y,4w') M (s,4#w) (n,4w'') M (přijímá) (odmítá) Označme A 0 (A - {4,#}) - vstupní abeceda M rozhoduje jazyk L A 0* : pro každé w A 0* platí je-li w L, pak M přijímá w je-li w L, pak M odmítá w * * Jazyk L je rekurzivní existuje T.S. M, který jej rozhoduje. Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 8 // 15 21

Zjednodušený popis Turingových strojů Základní stroje (předpokládáme pevnou abecedu A) stroj píšící jeden znak - označení M a (zjednodušeně a) M a = {s,h}, A, δ, s, {h}, a A - {#} δ(s,x) = (h,a) pro všechna x 4 δ(s,4) = (h, ) stroj provádějící krok vlevo/vpravo M = L, M = R L = {s,h}, A, δ, s, {h} R = {s,h}, A, δ, s, {h} δ(s,x) = (h, ) pro vš. x 4 δ(s,x) = (h, ) pro vš. x 4 δ(s,4) = (h, ) δ(s,4) = (h, ) Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 9 // 15 21

Pravidla kompozice M : M 1 a M 2 b M 3 M 1 pracuje do zastavení, pak pro a začne M 2 od s 2 pro b začne M 3 od s 3?Odpovídá kompozice definici Turingova stroje? M 1 = K 1, A, δ 1, s 1, H 1 M 2 = K 2, A, δ 2, s 2, H 2 K i K j = M 3 = K 3, A, δ 3, s 3, H 3 Výsledkem kompozice je T.S. M = K, A, δ, s, H určený takto: Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 10 // 15 21

Pravidla kompozice K = K 1 K 2 K 3, s = s 1, H = H 2 H 3 δ : pro x A, q K-H položíme δ(q,x) = δ 1 (q,x) pro q K 1 -H 1 δ(q,x) = δ 2 (q,x) pro q K 2 -H 2 δ(q,x) = δ 3 (q,x) pro q K 3 -H 3 pro q H 1 δ(q,a) = (s 2,a) δ(q,b) = (s 3,b) δ(q,x) = (h,x), h H pro x a,b Kompozice je tedy korektní! Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 11 // 15 21

Využití kompozice a další zkratky a R b # R R a,b, #, R R R RR R 2 4 R # R x # R # "postupuj vpravo až k mezeře" # # # # R L R L R # L # R # L # najde nejbližší mezeru vpravo od aktuelní pozice (mezeru vlevo, nemezeru vpravo, nemezeru vlevo) Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 12 // 15 21

Příklad Př.: kopírovací Turingův stroj, w (A - {#})* # w # # w # w # L # R x # # R #2 x L #2 x # R # 4#011##... L # 4#011##... R 4##11#0...... 4#011#0#... R 4#011#01#...... 4#011#01#... R 4#011#011#...... 4#011#011#... R 4#011#011#... R # Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 13 // 15 21

Příklad Př.: Co dělá následující Turingův stroj?? L x # # R # x L # x 4# w #??? # R # Př.: Jak udělat Turingův stroj S L, který posune obsah pásky vlevo o jedno políčko?? A co posun vpravo S R? (w neobsahuje mezeru) 4# w # 4w # 4# w # 4##w # Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 14 // 15 21

Příklad Př.: Turingův stroj rozhodující jazyk {a n b n c n : n 0} d a,d b,d R a dr b dr c dl # # b,c #,c #,a y n FSA a T.S. pracují při rozpoznávání jazyka různým způsobem (FSA se vždy zastaví) Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 15 // 15 21

Počítající Turingův stroj Df.: Nechť M = K, A, δ, s, {h}, A 0 A - {4,#}, w A 0 * z je výstup M na vstup w (píšeme z = M(w)) M se zastaví pro vstup w a platí (s,4#w) M (h,4#z) M počítá zobrazení f : A 0 * A 0 * pro každé w A 0 * platí f(w) = M(w) f je rekurzivní existuje T.S. M, který počítá f Přechod od řetězů na čísla - kódování, např. binární Př.: R # 1 L 0 # 0 Turingův stroj, který počítá funkci succ(n) = n+1 1S R 1L # Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 16 // 15 21

Polorozhodující Turingův stroj Df.: Nechť M = K, A, δ, s, {h}, A 0 A - {4,#}, L A 0 * M polorozhoduje jazyk L pokud pro lib. w A 0 * platí w L M se zastaví pro vstup w L je rekurzivně spočetný existuje Turingův stroj M, který polorozhoduje L V.: Nechť L je rekurzivní jazyk. Potom platí L je rekurzivně spočetný doplněk L = A 0 * - L je rekurzivní Zobecnění T.S.: vícepáskové oboustranně nekonečná páska více hlav dvojrozměrná páska s náhodným přístupem nedeterministický Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 17 // 15 21

Nerozhodnutelné problémy?? Kde jsou meze Turingových strojů?? (zatím jsou podobné pevně naprogramovanému počítači) Univerzální T.S. U - je schopen simulovat libovolný T.S. M "M" = zakódování stroje M pomocí řetězu "w" = zakódování vstupu w U("M" "w") = "M(w)" kódování stavů qxx...x kódování symbolů ayy...y x,y {0,1}? Jak pracuje univerzální Turingův stroj? Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 18 // 15 21

Problém zastavení Turingova stroje U má 3 pásky simuluje pásku stroje M zakódování struktury stroje M zakódování akt. stavu stroje M U se zastaví na vstup "M" "w" právě když se M zastaví na vstup w a vrátí i stejný výsledek Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 19 // 15 21

Problém zastavení Turingova stroje Pro T.S. zadaný kódem "M" a vstup zadaný kódem "w" rozhodnout, zda se M zastaví pro vstup w. Zjednodušená varianta: Pro T.S. zadaný kódem "M" rozhodnout, zda se M zastaví pro vstup "M". Předpokládejme, že T.S. A rozhoduje tento problém. Doplníme T.S. A na stroj B tak, že přidáme nový stav a necháme B cyklit, jakmile se dostane do původního stavu y. Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 20 // 15 21

Problém zastavení Turingova stroje B A y A y z n n δ(y,a)=(z, ) δ(z,a)=(y, ) pro vš. a A?? Jak se chová B?? B se zastaví (ve stavu n), když M se na vstup "M" nezastaví B se nezastaví, když M se na vstup "M" zastaví?? Co se stane, když dáme "B" na vstup stroje B?? Problém zastavení je nerozhodnutelný Doc. Josef Kolář (ČVUT) Prohledávání Turingovy stroje grafů GRA, LS 2010/11, Lekce 12 4 21 // 15 21