10
Tiuringo skaičiavimo mašinos samprata Parengė prof. dr. Dalė Dzemydienė Mykolo Romerio universitetas [email protected] 2008 09 29

Tiuringo skai č iavimo mašinos samprata

Embed Size (px)

DESCRIPTION

Tiuringo skai č iavimo mašinos samprata. Parengė prof. dr. Dal ė Dzemydienė Mykolo Romerio universitetas daledz @ mruni.lt 2008 09 29. Alan Mathison Turing. Alan Mathison Turing ( Alanas Tiuringas ) - PowerPoint PPT Presentation

Citation preview

Page 1: Tiuringo skai č iavimo  mašinos samprata

Tiuringo skaičiavimo mašinos samprata

Parengė prof. dr. Dalė DzemydienėMykolo Romerio [email protected] 09 29

Page 2: Tiuringo skai č iavimo  mašinos samprata

Alan Mathison Turing

Alan Mathison Turing (Alanas Tiuringas)

1912 06 23 – 1954 06 07 – žymus britų matematikas, logikas, kriptografas ir karo didvyris, laikomas informatikos mokslo tėvu.

Antrojo pasaulinio karo metu vadovavo darbo grupei, iššifravusiai Enigmos kodą, naudotą vokiečių karo laivyno. Alanas Tiuringas (Alan

Mathison Turing)

Page 3: Tiuringo skai č iavimo  mašinos samprata

Tiuringo mašina

tai automatas, vykdantis begalinę rūšiuotų instrukcijų seką, bei įsimenantis būseną. Skirtingų instrukcijų bei būsenų kiekiai – baigtiniai.

Page 4: Tiuringo skai č iavimo  mašinos samprata

Tiuringo mašiną sudaro:

Juosta, padalinta į langelius, kuriuose gali būti vienas iš naudojamos abėcėlės simbolių. Abėcėlę sudaro tuščias simbolis ('0') ir vienas ar daugiau kitų simbolių. Į neužpildytus langelius žiūrima kaip užpildytus tuščiu simboliu.

Galvutė, kuri skaito ir rašo į langelį, taip pat gali judėti į abi puses.

Būsenų registras, saugantis automato būseną. Būsenų skaičius baigtinis, pradinė būsena visada apibrėžta.

Veiksmų lentelė, nusakanti kokį simbolį rašyti, į kurią pusę per vieną langelį pajudėti ('K' į kairę, 'D' į dešinę), taip pat kokia bus nauja būsena priklausomai nuo esamos būsenos ir perskaitytos langelio reikšmės. Jei veiksmų lentelėje nėra aprašyto veiksmo dabartinei būsenai ir langelio reikšmei, mašina baigia darbą.

Page 5: Tiuringo skai č iavimo  mašinos samprata

Formalus aprašymasVienos juostos Tiuringo mašina

Vienos juostos Tiuringo mašiną galima aprašyti kaip M = (Q,Γ,Σ,s,b,F,δ), kur:

Q yra baigtinė būsenų aibė; Γ yra baigtinė juostos abėcėlės aibė; Σ baigtinė pradinė abėcėlė () ; yra pradinė būsena; b yra tuščias simbolis (); yra aibė galutinių arba priimamų būsenų; yra dalinė funkcija, nusakanti perėjimą; K yra

postūmis kairėn, D – dešinėn.

Page 6: Tiuringo skai č iavimo  mašinos samprata

Tiuringo mašinos rūšys

Jei kiekvienai simbolio ir būsenos porai yra daugiausiai viena reikšmė veiksmų lentelėje, Tiuringo mašina vadinama deterministine, priešingu atveju – nedeterministine.

Kiekviena Tiuringo mašina skaičiuoja dalinę suskaičiuojamą funkciją pagal paduotą pradinę simbolių seką, t.y. elgiasi kaip kompiuterio programa.

Įrodyta, kad kiekvienos Tiuringo mašinos veiksmų lentelę galima užrašyti kaip simbolių seką. Taigi galima sukonstruoti tokią Tiuringo mašiną, kuri, gavusi kitos Tiuringo mašinos veiksmų lentelę ir pradinius duomenis kaip simbolių eilutę, suskaičiuos duotosios Tiuringo mašinos funkcijos rezultatą. Tokia mašina vadinama universaliąja Tiuringo mašina.

Page 7: Tiuringo skai č iavimo  mašinos samprata

Nedeterministinė vienajuostė Tiuringo mašina

Nedeterministinę vienajuostę Tiuringo mašiną, kuri baigusi darbą sustoja ties pirma iš kairės tuščia ląstele, vadiname standartine Tiuringo mašina. Tokios mašinos abėcėle, būna aibė

Page 8: Tiuringo skai č iavimo  mašinos samprata

Tiuringo mašinos sustojimo problema

Ar egzistuoja algoritmas, kuris per baigtinį laiką nustatytų, ar bet kuri Tiuringo mašina su žinoma pradine juosta sustos?

Šis klausimas ekvivalentus klausimui Ar egzistuoja algoritmas, kuris per baigtinį laiką nustatytų, ar sustos universalioji Tiuringo mašina su žinoma pradine juosta?

Įrodoma, kad toks algoritmas neegzistuoja.

Page 9: Tiuringo skai č iavimo  mašinos samprata

Tiuringo tezė

Tiuringo bei Churcho nepriklausomai suformuluota tezė, dar vadinama Churcho-Tiuringo teze ar Tiuringo teze:

Bet kuris procesas, kurį natūraliai būtų galima pavadinti efektyvia procedūra, gali būti realizuotas Tiuringo mašina.

Kai kada minima, jog ta ar kita kalba „atitinka Tiuringo standartą“. Tai reiškia, jog ja įmanoma užprogramuoti visas užduotis, kurias galėtų atlikti Tiuringo mašina.

Pavyzdžiui, Asembleris, nors ir sunki kalba, Tiuringo standartą atitinka, tuo tarpu SQL – ne.

Page 10: Tiuringo skai č iavimo  mašinos samprata

Determinuota vienajuostė Turingo mašina