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.

Slides:



Advertisements
Podobné prezentace
Grafové algoritmy.
Advertisements

DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Rozhodnutelnost.
Dynamické systémy.
Teorie vyčíslitelnosti – věta o rekurzi
Teorie vyčíslitelnosti
Algebra.
Teorie čísel Nekonečno
Základy informatiky přednášky Kódování.
Varianty Turingova stroje Výpočet funkcí pomocí TS
Implementace konečného automatu v Prologu Tato část popisuje strukturu konkrétního automatu a bude se lišit pro každý automat. 1.Definice přechodové funkce:
Lexikální a syntaktická analýza Jakub Yaghob
Úvod do Teorie množin.
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód.
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Church-Turingova teze Univerzální Turingův stroj Diagonalizace
Fakulta životního prostředí Katedra informatiky a geoinformatiky
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Teorie informace.
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:
Formální jazyky a gramatiky
Abeceda a formální jazyk
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.
Teorie vyčíslitelnosti
V matematice existují i seskupení objektů, které nejsou množinami.
Jazyk XML Jazyk pro tvorbu strukturovaných dokumentů Syntaxí velmi podobný HTML Hlavní cíle návrhu: Snadná editace - jazyk je textový Snadné strojové zpracování.
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.
Formální modely výpočtu Tomáš Vaníček Katedra inženýrské informatiky Stavební fakulta ČVUT Thákurova 7, Praha 6 Dejvice, b407
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,
P-těžké, np-těžké a np-úplné problémy
Rozpoznávání v řetězcích
Turingův stroj.
Množiny.
Úvod do teorie konečných automatů
Automaty a gramatiky.
Mlhavost Fuzzy logika, fuzzy množiny, fuzzy čísla
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Konečné automaty a vyhledávání
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)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11.
Algoritmicky nerozhodnutelný problém Věta: Problém přijetí prázdného slova Turingovým strojem je algoritmicky nerozhodnutelný. A TM ={  M,e  | M je TS.
String-distributing systems Top-Down / Bottom-Up Ing. Zbyněk Křivka Školitel: Doc. Alexander Meduna.
Planarita a toky v sítích
Kombinační logické funkce
Radim Farana Podklady pro výuku
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)NP-úplné problémyGRA, LS 2012/13, Lekce 13 1 / 14 NP-ÚPLNÉ.
VLASTNOSTI GRAFŮ Doc. RNDr. Josef Kolář, CSc
Formální definice Konečná množina vnitřních stavů Q Konečná vstupní abeceda A Počáteční stav q 0 Množina přijímacích stavů K.
Turingův stroj c qiqi Konečná množina vnitřních stavů Q Pásková abeceda P Počáteční stav q 0 Množina koncových stavů K Přechodová funkce.
KURZ ZÁKLADY PRÁCE S POČÍTAČEM 1 Pohyb kurzoru a označování textu
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 1 / 35 TOKY V.
Množiny Matematika Autor: Mgr. Karla Bumbálková
DNA počítače Řešení NP-úplných problémů za použití DNA počítačů Jaromír Malenko 2001.
Úvod do databázových systémů
ALGEBRAICKÉ STRUKTURY
STROMY A KOSTRY Stromy a kostry - odst. 3.2.
Vstup a zpracování speciálních znaků v UIS
Teorie vyčíslitelnosti – věta o rekurzi
Predikátová logika (1. řádu).
Matematická logika 5. přednáška
Sémantika PL1 Interpretace, modely
Predikátová logika.
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

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 STROJE Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2012/2013, Lekce 12 Doc. Josef Kolář (ČVUT)Turingovy stroje

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 2 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce 12 2 / 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 *) A.M. Turing: On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, Series 2, Vol.42 ( ) pp. 230 – 265 (zasláno 28. května 1936)

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 3 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce 12 3 / 21 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ý  abaab### řídicí jednotka Konečná řídicí jednotka, V/V hlava a páska Turingovy stroje

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 4 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce 12 4 / 21 DF: Turingův stroj M =  Q, A, , s, H  Q - konečná množina stavů A - abeceda obsahuje # (prázdný symbol) a  (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,  ) = (p, ⇨ ) –pro všechna q  Q-H, a  A platí:  (q,a) = (p,b)  b   (tzn. symbol  na levém konci se nikdy nepřepíše symbol  se nezapíše nikam dovnitř pásky) Turingovy stroje

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 5 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce 12 5 / 21 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 stavznak 11 s a (r, # ) s # (h, # ) s  (s, ⇨ ) r a (s, a ) r # (s, ⇨ ) r  (r, ⇨ ) stavznak 22 s a (s, ⇨ ) s # (r, ⇦ ) s  (r,⇨)(r,⇨) r a r # (s, ⇨ ) r  (h, ⇨ ) Jak funguje M 1 / M 2 ?? Př.: M 1 =  Q, A,  1, s, {h}  M 2 =  Q, A,  2, s, {h}  Turingovy stroje

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 6 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce 12 6 / 21 Formalizace činnosti T.S. konfiguracepoloha hlavyzkratka (q,  a, baa )  a b a a (q,  abaa ) (q,  ###, #a )  # # # # a # # (q,  ####a ) (q,  #a##,  )  # a # # (q,  #a## ) Konfigurace Turingova stroje M =  Q, A, , s, H  je prvek kartézského součinu Q   A*  (A*(A-{ # })  {  }) stavpáska zleva k hlavěpáska vpravo

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 7 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce 12 7 / 21 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’ x –je-li a  # nebo u   (q, wau) = (q, w‘xau) ⊢ M (p, w‘xau) –je-li a = # a současně u =  (q, w # ) = (q, w‘x # ) ⊢ M (p, w‘x) posun vpravo pro  (q,a) = (p, ⇨ ), –je-li u = x u', a'  A (q, wau) = (q, wax'u') ⊢ M (p, waxu') –je-li u =  (q,wa) ⊢ M (p, wa # ) Přechod mezi konfiguracemi ⊢ M

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 8 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce 12 8 / 21 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 - { , # })* počáteční konfigurace T.S. M při vstupu w... (s,  # w) přijímající / odmítající konfigurace (y,  w') / (n,  w') M přijímá / odmítá vstup w  (A - { , # })*, pokud platí (s,  # w) (y,  w') (přijímá) (s,  # w) (n,  w'')(odmítá) Označme A 0  (A - { , # }) - 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. M * M * Výpočet délky n

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 9 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce 12 9 / 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    (s,  ) = (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    (s,x) = (h, ⇨ ) pro vš. x    (s,  ) = (h, ⇨ )

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 10 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce / 21 Pravidla kompozice ?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: M1M1 M2M2 M3M3 M : a b M 1 pracuje do zastavení, pak pro a začne M 2 od s 2 pro b začne M 3 od s 3

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 11 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce / 21 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í ! Pravidla kompozice

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

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

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 14 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce / 21 Př.: Co dělá následující Turingův stroj ?? L R#R# # R# x L# x# R# x L# x x  # #  # w # ??? 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)  # w #  w #  # w #  ## w # Příklad

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

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 16 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce / 21 Df.: Nechť M =  K, A, , s, {h} , A 0  A - { ,#}, 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,  #w) ⊢ M (h,  #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#R# 1S R L0 1 #0 1L#1L# Turingův stroj, který počítá funkci succ(n) = n+1 Počítající Turingův stroj

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 17 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce / 21 Df.: Nechť M =  K, A, , s, {h} , A 0  A - { ,#}, 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ý Polorozhodující Turingův stroj

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 18 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce / 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...yx,y  {0,1} ? Jak pracuje univerzální Turingův stroj ?

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

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 20 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce / 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í grafůGRA, LS 2010/11, Lekce 4 21 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce / 21 ?? 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ý y n A y n A B z  (y,a)=(z, ⇨ )  (z,a)=(y, ⇦ ) pro vš. a  A Problém zastavení Turingova stroje