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

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

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.

Podobné prezentace


Prezentace na téma: "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."— Transkript prezentace:

1 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 https://edux.fit.cvut.cz/courses/BI-GRA Doc. Josef Kolář (ČVUT)Turingovy stroje

2 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)

3 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

4 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

5 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

6 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

7 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

8 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

9 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, ⇨ )

10 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

11 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

12 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)

13 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

14 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

15 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

16 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

17 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

18 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 ?

19 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

20 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.

21 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


Stáhnout ppt "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."

Podobné prezentace


Reklamy Google