Sunteți pe pagina 1din 14

Tema:

Maina Turing si
aplicaiile algoritmice
Elaborat de
Studenii grupei CIB-112:

Burleai Daria
Dumbrava Marin
Verificat de conf.universitar:
Tutunaru Sergiu

Scurt istoric
Fondatorul Mainii Turing-Alan Turing(1912-1954)

A descifrat codurile folosite de armata german,


fapt care, potrivit multor istorici, ar fi salvat vieile a
milioane de oameni, prin scurtarea duratei
rzboiului, i a fost foarte aproape de a rezolva o
enigm biologic care i pasioneaz i n zilele
noastre pe oamenii de tiin.
n 1936, Alan Turing, care anunase c vrea s
"construiasc un creier", a publicat un articol n
care a descris "maina universal Turing".

Scurt istoric
Apariia mainii care-i poart numele este dat de ncercarea
de a rezolva una dintre problemele celebre propuse de David
Hilbert, Entscheidungsproblem este matematica decidabil?
Exist un algoritm care, pornind de la o descriere formal a
unei probleme matematice, s poat determina valoarea de
adevr a problemei.
n construcia teoretic a acestei maini, a pornit de la o idee
inspirat de maina de scris; astfel, maina de scris poate fi
considerat ca avnd o memorie de lungime infinit (prin
schimbarea continu a foilor), se poate mica nainte i napoi
la o csu de memorie, poate scrie n aceste csue.

Noi faciliti
introduse
de Turing

tergerea unui
simbol
din memorie
Simbolul Blank

Citirea
simbolurilor
din csue

Numr mare
de configuraii
Stri interne

Maina Turing este compus din urmtoarele piese:


o band infinit de hrtie cu ptrele - n fiecare ptrel se poate scrie exact un
caracter din alfabetul nostru;
un cap de citire-scriere - se poate mica deasupra benzii, la stnga sau la
dreapta;
o unitate de control- conine un numr finit de reguli care indic mainii ce s
fac la fiecare micare n funcie de litera curent de pe band i starea n care

maina se afl.

Fig.1 Schema Mainii Turing

Funcionarea

O main Turing funcioneaz cu un set finit de stri


S={s1,.sn; sn+1=stop} un alfabet finit de simboluri
A={a1aA; aA+1= blank} i un set finit de instruciuni , la care
se adaug o band infinit de lung de memorie.
Strile corespund la moduri de funcionare a mainii, astfel nct
maina Turing este n exact una dintre aceste stri la orice moment
de timp.
Simbolurile din A codeaz informaia prelucrat de main: codeaz
datele de intrare/ieire i pstreaz rezultatele operaiilor
intermediare.
Instruciunile sunt asociate cu stri din S i spun mainii ce aciune
s efectueze dac ntlnete un simbol dat, i n ce stare s fie dup
efectuarea acestei aciuni.
Exist o stare stop n urma creia nu se efectueaz nici o
instruciune, aceast stare nefiind inclus n numrul total de stri.

Capul de citire/scriere poate efectua trei


aciuni:
1) scrierea sau tergerea de pe band a
coninutului celulei care este scanat.
2) schimbarea strii interne a mainii
3) micarea capului cu o celul la stanga
sau dreapta.

In ciuda faptului c este nepractic, maina Turing este un concept


matematic esenial pentru dezvoltarea calculatoarelor. Din fericire,
operaiile mainii Turing pot fi nlocuite de pori logice.

O poart logic este un circuit electronic care implementeaz, n


calculatoarele clasice, o operaie logic care transform o stare n-bit
de la intrare ntr-o ieire m-bit.

Operaia logic este numit Boolean dac acioneaz doar asupra


valorilor logice 0 i 1.

Echivalena ntre mainile Turing i circuitele logice clasice este


susinut de urmatoarea propoziie (n sens matematic):
O problem din clasa polinomial P, se poate rezolva pentru date de
lungime n de o main Turing n timp polinomial p(n) dac i numai
dac i este asociat o familie de circuite cu un numr de pori de
ordinul p(n)logp(n).

Ipoteza : orice funcie ce se presupune n


mod natural c poate fi calculat,
poate fi executat i pe o main Turing.

n consecin, o funcie se numete


calculabil dac poate fi calculat pe o
main Turing i necalculabil n rest.

Turing afirma c aceast main,


denumit maina Turing, este
capabila sa cuprinda tot ce s-ar putea
intelege prin metoda bine definita din
problema deciziei, metoda care definete
de fapt un algoritm.

Se cuvine de menionat faptul c ideea de a


descrie un program folosind un limbaj (i nu prin
conexiuni ntre uniti funcionale) este mai
veche;
n 1936 Alan Turing folosise noiunea de
``main Turing universal'' pentru a descrie un
calculator universal, care poate executa orice
program. Programele erau stocate n memoria
calculatorului, reprezentate ca iruri de numere.

Dac gndirea uman nu este o main


Turing, atunci nu este algoritmic i nu se
bazeaz pe sisteme formale. Ca atare ea
NU este supus limitrilor sistemelor
formale .
n aceste condiii orice calculator (maina
Turing) va putea cel mult simula
inteligena umana, dar NU va putea s o
egaleze.

Bibliografie

http://vimeo.com/46913004
http://115dag.blogspot.com/2008/09/alan-turinggeniul-binar.html
http://www.math.uaic.ro/~gonti/Cursuri/CursLF/C
ursLF12.pdf
http://inf.ucv.ro/~bazavan/courses/CB1103/Sinte
ze%201.pdf
Limbaje Formale si Tehnici de Compilare
Dragan Mircea
Mai, 2007

Mulumim pentru atenie!

S-ar putea să vă placă și