Documente Academic
Documente Profesional
Documente Cultură
Sir Alan Mathison Turing, OBE (Order of the Britsh Empire), FRS (Fellow of the Royal Society) (n. 23 iunie 1912, Londra, Regatul Unit d. 7 iunie 1954, Wilmslow, Cheshire, Regatul Unit) a fost un matematician, logician, criptanalist i informatician britanic. Turing este adesea considerat a fi printele informaticii moderne. Cu maina Turing, el a adus o formalizare a conceptului de algoritm i calcul. n 1999, Time Magazine l-a numit pe Turing unul dintre cei mai importani 100 de oameni din secolul XX pentru rolul su n crearea calculatorului modern, afirmnd: Rmne faptul c oricine tasteaz la un calculator, oricine deschide o foaie de calcul sau un program de procesare a textului lucreaz pe o form de main Turing. n timpul celui de-al Doilea Razboi Mondial, Turing a lucrat pentru GC&CS (Government Code and Cypher Schoool) la Bletchley park, centrul britanic de criptanaliz i a condus pentru o perioad Hut 8, seciunea responsabil cu criptanaliza comunicaiilor navale germane. El a conceput i dezvoltat o serie de tehnici pentru spargerea codurilor germane, printre care i Bomba, o main electro-mecanic ce putea gsi combinaiile mainii de criptat germane, Enigma. ntre timp, cu testul Turing, a adus o contribuie semnificativ la dezbaterea privind inteligena artificial: dac va fi vreodat posibil s spunem c o main este contient i poate gndi. Ulterior, el a lucrat la Laboratorul Naional de Fizic, crend unul dintre primele proiecte de calculator cu program stocat, ACE, dei acesta nu a fost niciodat implementat ntr-o form complet. n 1948, s-a mutat la Universitatea Manchester unde a lucrat la Manchester Mark 1, unul dintre primele calculatoare adevrate din lume. Mainile Turing sunt nite mecanisme extrem de elementare de dispozitive de prelucrare a simbolurilor care n ciuda simplitii lor pot fi adaptate pentru a simula logica oricrui calculator ce poate fi construit. Modelele au fost descrise n 1936
Pagina 2 din 8
de ctre Alan Turing. Dei modelele erau proiectate iniial pentru a fi fezabile din punct de vedere tehnic, mainile Turing nu au fost gndite pentru a fi tehnologii practice de calcul, ci un experiment mental despre limitele calculului mecanic; astfel, ele nu a fost niciodat construite. Studiul proprietilor lor abstracte este util n informatic i teoria complexitii. Conjectura Church-Turing postuleaz c orice problem de calcul bazat pe o procedur algoritmic poate fi rezolvat de ctre o main Turing. Aceast "conjectur" nu are o formulare matematic, deoarece nu se bazeaz pe o definiie precis a conceptului de procedur algoritmic. n schimb, este posibil de a se defini o noiune de "sistem acceptabil de programare" i de a se demonstra c "puterea de calcul" a unui asemenea sistem este echivalent cu cea a unei maini Turing (se vorbete n acest caz de un limbaj de programare Turing-complet). O main Turing capabil de a simula orice alt main Turing se numete main Turing universal - utm (sau main universal). O definiie mai orientat matematic a fost introdus de Alonzo Church, ale crui lucrri din domeniul calculului lambda s-au mpletit cu cele ale lui Turing ntr-o teorie formal a calculului cunoscut sub numele de Conjectura Church-Turing. Aceasta postuleaz c orice problem de calcul bazat pe o procedur algoritmic poate fi rezolvat de ctre o main Turing.
Descriere informal
La origine, conceptul de main Turing reprezenta o persoan virtual executnd o procedur bine definit, schimbnd coninutul csuelor unui tablou infinit (vizualizat sub forma unei "benzi" infinite), plasnd n aceste csue simboluri luate dintr-un ansamblu finit de simboluri. Pe de alt parte, aceast persoan trebuie s memoreze "starea" n care se afl sistemul (sistemul "persoan" poate ocupa un numr finit de "stri"). Procedura poate fi exemplificat de o manier foarte simpl printr-o list de instruciuni, de genul : dac suntei n starea 42 i dac simbolul din csua pe care o privii este '0', atunci nlocuii acest simbol printr-un '1', trecei n starea 17, i privii csua alturat (dreapta sau stnga) . O main Turing este echivalent cu un automat cu stiv modificat prin relaxarea constrngerii de last-in-first-out a stivei acestuia. (Interesant este c aceast relaxare aparent minor permite mainii Turing s execute o larg varietate de calcule, astfel nct ea poate servi ca model pentru capabilitile computaionale ale tuturor software-urilor moderne.)
Pagina 3 din 8
Mai exact, o main Turing const din: 1. O band mprit n celule aflate una lng cealalt. Fiecare celul conine un simbol dintr-un alfabet finit. Alfabetul conine un simbol special vid (notat aici cu '0') i unul sau mai multe alte simboluri. Banda se presupune ca fiind extensibil arbitrar la stnga i la dreapta, adic maina Turing are ntotdeauna suficient band pentru a-i efectua calculele. Celulele care nu au fost scrise anterior se presupune c sunt ocupate cu simbolul vid. 2. Un cap care poate scrie i citi simboluri pe sau de pe band, i care se poate deplasa la stnga sau la dreapta 3. Un registru de stare care stocheaz starea mainii Turing. Numrul strilor diferite este ntotdeauna finit i exist o stare iniial cu care este iniializat registrul de stare. 4. O tabel de aciuni (sau funcie de tranziie) care spune mainii ce simbol s scrie, cum s deplaseze capul ('L' pentru stnga, i 'R' pentru dreapta) i care va fi noua sa stare, date fiind simbolul citit de pe band i starea curent. Dac nu exist intrare n tabela de aciuni pentru combinaia curent de simbol citit i stare a sistemului, atunci maina se oprete. De notat c toate componentele mainii sunt finite; doar cantitatea nelimitat de band i d acesteia un volum nelimitat de spaiu.
Definiie formal
Main Turing cu o singur band
este starea iniial este simbolul vid (singurul simbol care are voie s existe pe band n numr nelimitat i singurul care poate fi pe band n orice moment)
este o funcie parial numit funcia de tranziie, unde L este deplasarea la stnga i R este deplasarea la dreapta. Definiiile din literatura de specialitate difer uneori, pentru a face demonstraiile mai uoare sau mai clare, dar aceasta se face ntotdeauna de aa natur nct maina s-i pstreze puterea computaional. De exemplu, schimbarea mulimii {L,R} n {L,R,S}, unde S permite mainii s stea pe aceeai celul a benzii n loc s se deplaseze la stnga sau la dreapta, nu mrete puterea computaional a mainii. Main Turing cu k benzi O main Turing cu k benzi poate fi i ea descris ca un 6-tuplu M = (Q,,s,b,F,), unde
este o mulime finit de stri este alfabetul finit al simbolurilor de pe band este starea iniial este simbolul vid este mulimea strilor finale (sau acceptante)
este o funcie parial numit funcia de tranziie, unde L este deplasarea la stnga, R este deplasarea la dreapta, iar S nseamn nici o deplasare. De notat c o main Turing cu k benzi nu este mai puternic dect o main Turing standard.
Pagina 5 din 8
conine mai multe intrri pentru cel puin o combinaie simbol-stare atunci maina este o main Turing nedeterminist (MTND sau MTN). Cele dou sunt computaional echivalente, adic orice MTND se poate transforma ntr-o MTD (i invers).
Pagina 6 din 8
Wolfram descrie n cartea sa, A New Kind of Science, o main Turing universal cu 2 states i doar 5 simboluri, care emuleaz un automat celular de asemenea considerat universal, fcnd aceasta cea mai simpl main Turing universal cunoscut. O main Turing universal este Turing-complet. Poate calcula orice funcie recursiv, decide orice limbaj recursiv, i accepta orice limbaj recursiv enumerabil. Conform conjecturii Church-Turing, problemele rezolvabile de o main Turing universal sunt exact acele probleme rezolvabile de un algoritm sau de o metod efectiv de calcul, pentru orice definiie rezonabil a acestor termeni. O versiune abstract a mainii Turing universale este funcia universal, o funcie calculabil care poate fi utilizat pentru a calcula orice alt funcie calculabil. Teorema utm demonstreaz existena acestei funcii.
Pagina 7 din 8
Bibliografie
http://www-groups.dcs.st-and.ac.uk/history/Biographies/Turing.html http://en.wikipedia.org/wiki/Alan_Turing http://en.wikipedia.org/wiki/Turing_machine http://mathworld.wolfram.com/TuringMachine.html http://aturingmachine.com/ http://www.alanturing.net/turing_archive/pages/reference%20articles/what%20is%2 0a%20turing%20machine.html
Pagina 8 din 8