Sunteți pe pagina 1din 10

1. Noiuni de baz pentru maini Turing Privite ca limbaj de progr. mainile T. au o singur struct.

de baze i pot primi la intrare doar iruri de simboluri iar operaiile executate sunt de micare stnga sau dreapta a unui cursor n circuitul de intrare mpreun cu scanarea simbolului din poziia curent a cursorului i posibilitatea de a scrie n poziia curent. Ramificrile operaiilor sunt fcute conform cu starea n care se afl maina i cu simbolul curent scanat.Este o main f. simpl, primitiv, care dei prezint slbiciuni evidente, are o mare putere de calcul i este f. util n analiza algoritmilor. Conceptul de main T. corespunde mainii cu mai multe benzi care const din: 1. o mulime finit de stri ca n cazul automatului finit; stri de control ale mainii 2. din una sau mai multe benzi de lucru semiinfinite care sunt mprite n celule i fiecare band este echipat cu un cap de citire-scriere care se poate mica spre stnga/dreapta scannd (citind) celulele benzii, n modul o celul la un moment dat (capul este echivalent cursorului). Nr. de benzi este fixat pt. main. 3. o extraband cu capul de citire-scriere coresp. numit band de intrare. Termenul de band semiinfinit nseamn ca exist o prim celul (cea mai din stnga) si nu exist cea mai din dreapta celul.De asemenea, cnd capul de citire-scriere scaneaz cea mai din stnga celul, nu se mai poate mica spre stnga.n orice mom. disp. se afl ntr-una din strile lui.Disp. poate citi coninutul unei celule scanate, poate schimba con. celulei scanate pe o band de lucru prin scrierea unui nou simbol, poate muta capul de citire/scriere spre stnga/dr. i i poate schimba starea intern.Toate aceste op. formeaz un pas i sunt definite n mod unic de o fc de tranziie care depinde de starea curent intern i de simbolul citit de pe band. Nu se permite s se schimbe con. benzii de intrare. O main T. M incepe prelucrarea unui cuvnt de intrare W aflat pe banda de intrare w pe care l conine prin scanarea primei celule.Cuvntul w e urmat de de un simbol numit spaiu (blank).La nceput fiecare celul de pe benzile de lucru conin blank. Se cons. c starea iniial este notat cu S.Dup ac. mom. de start maina continu prelucrarea conferind funcia de tranziie atta timp ct este posibil s lucreze, adic at. cnd fc. de tranziie este nedefinit, maina se oprete.Dac dup o secven de pai, maina se oprete ntr-o stare final de acceptare, at. se spune ca maina M accept cuv. w.n caz contrar, maina M rejecteaz cuv. w.Se obs. c exist 2 noduri de rejectare a unui cuv.; fie maina se oprete ntr-o stare diferit de cea de ateptare, fie maina nu se oprete din lucru. Def.: O main T este un cuadruplu M=(K,sum,delta,s),unde K este o mulime finit de stri(numite instruciuni), s aparine lui K se numete starea iniial, sum este o mul. finit de simboluri numit alfabetul mainii M Funcia delta s.n. programul mainii T, ea specific pt. fiecare combinaie sau pereche (q,sigma), unde q este o stare din K i sigma este simbolul curent din sum, un triplet astfel : (p,ro,D) delta(q,sigma)=(p,ro,D). P=noua stare; ro=simb care se descrie n locul lui sigma;D=direcia de micare. Iniial maina se afl n stare s, capul de citire/scriere este iniializat la simb iniial, n acest caz x se consider intrare pentru maina T. Deci cursorul se afl la nceput pe primul simb al intr care este simb iniial, apoi ma continu s lucreze n concordan cu funcia de tranziie D schimbndu-i starea scriind un simbol ntr-o celul i mutnd cursorul dup care se cons. un alt pas continund cu fc. de tranz. .a.m.d. Cerina pentru delta(q,D) arat c irul de intr va ncepe ntot cu simb iniial i n plus cursorul nu se va deplasa niciodat spre stnga irului. Pt a se detecta unde este sfritul irului de intr se cons. c la orice ir ultimul elem e un blank care marcheaz sfritl dreapta.Celulele care conin blank-uri pot primi alte simboluri.Acesta este modul de lungire a irului de intrare.irul de intrare nu devine niciodat mai scurt. Deoarece fc de tranz a fost complet specificat i s-a asigurat faptul ca niciodat cursorul nu depete limita stng a intrrii, exist doar un singur motiv pt care ma T nu poate s continue lucru, i anume se afl ntr-una din cele 3 stri h,yes,no. Dac ma accept intr =>M(x)=yes, altfel M(x)=no, iar dac ma a ajuns n stare h=> M(x)=rez prelucrarii.Deoarece calculul e dat de un nr finit de pai, iar prelucrarea reprez cit simbolului iniial urmat de un nr finit de simb n care ultimul simb al irului e definit de blank (intrarea va fi urmat) de un ir de blankuri, se poate cons c M(x)=y, unde y=ir ce reprezint rezultatul prelucrrii.

2.Masinile Turing private ca algoritmi Mas T par instrumental ideal pt rez anumitor tipuri specializate de peobl care prelucr siruri de simb.Ac lucru se mai num calculul de functii de siruri.In urma calculului se accepta sau se decide un anumt limbaj.Ac lucruri sunt def in mod formal in urm def * Situatia acceptarii unui limbaj nu este def algorithmic ci este numai un mod de a carac anumite probleme. Prop 1: daca L este un limbaj recursive =>L recursive enumerabil. Dem: se pp ca exista o mas T. M care decide limbajul L, se va constr din mas T o alta mas T M care accepta L astfel M se comporta exact ca mas M, exceptand cazul in care mas M tinde sa se opreasca sis a intre in stare no si in acest caz mas M va funct la nesfarsit (capul de citire/scriere se muta spre dr si mas nu se mai opreste). Notiunile de recursivitate sau rec enumerabila deriva din notiunile matematice si au aparut inaintea sistemelor de calcul si a algoritmilor de rez a problemelor pt acest sist de calcul.O mas T e echivalenta in putere cu progr de calcul in general. Astfel, mas T poate fi gandita ca fiind un algoritm de rez a unei anumite probleme.Algoritmii primesc la intrare obiecte mat (grafuri,retele,nume,etc)-dar nu notiuni abstracte.Pt a rez cu o mas T aceeasi problema se pune in discutie modul de reprez a obiectelor de intrare pentru algoritmi.Dupa ce s-a fixat un mod de reprez a intrarilor pt un alg de rez a unei probl de decizie, at se poate discuta despre o mas T care poate rez acea probl, in sensul ca decide limbajul coresp intrarii.Mas T accepta limbajul daca intrarea reprez un sir care duce masina in stare yes.Similar se pune probl in care iesirile alg sunt de un anumit tip. Orice obiect matematic finit poate fi reprez printr-un sir finit de simboluri intr-un alfabet adecvat.Deci, exista o mare varietate de reprez acceptate sub forma numerica a obiectelor elementelor.Aceste reprez pot sa difere in forma sau lungime.Se pune insa cond ca aceasta codificare sa fie de tip polinomial, adica pt A si B 2 reprez acceptabile ale aceluiasi set de obiecte de intrare pt un algoritm al mas T, iar reprez A este data de un sir cu n simboluri, at reprez B are o lungime de cel mult p(n) simboluri unde p-polinom.

4. Margini de spatiu Spatiul utilizat de o m.t. pt prelucrarea unei intrari poate fi definit ca spatial utilizat de un calcul al unei mT cu k benzi exprimat astfel: (S,D,,,D, ) (N,v1,u1,,wk,uk).??? Deoarece sirurile nu pot deveni mai mici in modelul cons => lungimile sirurilor finale wiui , i=1,k dam cantitatea de spatiu necesar calculului de mai sus. Pt a caract sp de lucru se poate proceda in 2 moduri: fie se aduna toate ac lungimi de siruri, fie se consum max acoperitor al ac. Exista argumente in favoarea ambelor abordari, dar se noteaza faptul ca cele 2 estimari difera cel mult prin const k a nr de benzi. Din ac motiv se va cons ca sp utilizate de M = (k , z , , s) pt prelucrarea unei intrari x este dat de suma lungimii; SUMA|W iUi| ; de la i=1 la k (***) Ex1. Se cons prbe det dc un sir de caract este palindrom mai mic decat f(n)=n. In modul de def al sp utiliz mai sus in care avem suma lungimilor sirurilor ??? ??? ??? ??? este ca nu putem avea un spatiu mai mare pt ca intrarea va fi cel putin ???, unde n=|x| si din faptul ca avem primul simbol. Dc. se considera doar sp de lucru, se va lua urmat mT. Cu 3 benzi fol pt rez??? ac?? Prob??. Prima banda va contine sirul de intrari si pe ea nu se va scrie niciodata. Masina lucreaza in stagiu: in stagiul i, cea de-a doua banda contine intregul i in binar. In stagiul i se incearca identificarea si memorarea a al i-ilea simbol al intrarii x; pt ac se cons indicele j pe a 3-a banda. La inceput j=1 si se va compara i si j. Compararile a 2 siruri se fac simplu prin mutarea cursoarelor de pe benzile respective. Daca j<i, se incrementeaza j in binar si se avanseaza primul cursor spre dr pt a scana urmat simbol din intrare. Daca j=i, se mem in starea masinii simbolul curent scanat din intrare si se reinitializeaza j cu 1, dupa care se incearca identificarea al i-ilea simbol de la sfarsitul intrarii x. Ac lucru este facut in ac maniera, doar ca primul cursor merge de la dreapta la stanga pornind de la sfarsitul intrarii x. Daca cele 2 simboluri nu sunt egale algoritmul se opreste in starea no; daca sunt egale, se incrementeaza i cu o unitate si se incepe un nou stagiu. Daca la final, in timpul unui stagiu, se alege al j-lea simbol din x si acesta este blank, atunci i>n si s-a terminat prelucrarea si x este un palindrom si masina se opreste in starea yes. Se poate calcula acum spatiul necesar prelucrarii. Deoarece se folosesc reprezentari binare ai indicilor i si j => spatiul de lucru pentru cele 2 benzi (a doua si a treia) este o(log n)?. Ac masina foloseste intrarea in maniera READ-ONLY, adica nu se scrie nimic pe prima banda; celelalte doua benzi cantin sirurile care au lungimea cel mult 1+log n. Definitie: Fie k>2, k Z si M cu k benzi care are banda de intrare si banda de iesire. Progr? al masinii M are urmatoarele restrictii: (q,1, ..., 1)=(?,f1D1,....fk,Dk) a) fi= i ; b) Dk ??<-; c)daca k =???????????? Cerinta a) arata ca la fiec misc, simb scris pe prima banda este intot ac cu vechiul simb si deci mas are banda de intr de tipul Read-Only. Cerinta b) arata ca ultima banda (cea de iesire) are un cursor care nu se misca niciodata spre st si banda de iesrie este de tipul WriteOnly.Cerinta c)garanteaza faptul ca in banda de intr cursorul nu merge mai departe de blancurile dupa sf intrarii. Aceste restrictii conduc la definitea spatiului de lucru pt un calcul al unei mT cu banda de I si O, iar aceste restrictii fac posibila studierea masinii care foloseste un spatiu de lucru <m. Prop1 Fie M cu k benzi care opereaza intr-un timp de lucru <f(n)=1 exista M -(k+2) benzi care va lucra intr-un timp marginit de o(f(n)) Def: Se ???ca pt o m.T.->M cu k benzi se executa un calcul asupra intrarii x de forma:(S,D,, M* ,D, ) (H,w1,u1,,wk,uk).??? H= starea de oprire, H e{h,yes,no} A ?? spatiului necesar prelucrarii intrarii x de catre masina M este dat de ***. Daca, in plus, M este banda de I si banda de O, atunci spatiul necesar prelucrarii intrarii x este dat de *** ; Se pp ca exista o fct f(n) daca pt oricare intrare x mas M necesita un spatiu de lucru cel mult f(|x|). Fie L un limbaj; se spune ca L este in clasa de complexitate spatiala f(n) si se scrie :(L e SPACE (f(n)). daca exista o mT cu banda de I si banda de O care divide limbajul L si lucreaza intr-un spatiu marginit de f(n). Reuniunea ac? clase cand f(n) este polinomial este notata cu?L=USpace(nk);k apartN Ex: Limbajele pt alg? care det palindromul se gasesc in cl de complex SPACE(log n) OBS: Se poate stabili o? analoaga cu teorema data la complex temp? care determina ca si in cazul complex spatiale nu trebuie luate in considerare Teorema1 Fie L e Space (f(n)) si >0 o const oarecare, => L e SPACE(2+*f(n)) ?
M*

5. MASINI TURING IN ACCES DIRECT

S-au descris o serie de tipuri de mT si s-a aratat ca in ciuda struct de date f simple, si in ciuda unui set sarac de instructiuni ac mas au o mare putere de calcul. Se pune problema daca mT pot implementa (rezolva) algoritmi arbitrari. Prin consens s-a afirmat ca orice algoritm poate fi implementat cu o mT. Acest lucru nu poate fi insa dem riguros deoarece notiunea de algoritm arbitrar nu poate fi def in mod precis. Versiunea clasica a afirmat ca o mT care poate implementa orice algoritm arbitrar este cunoscuta sub numele de Teza lui Church?? Aceasta teza isi gaseste suportul in experimentele facute de matematicieni cand au incercat sa formalizeze notiunea de alg arbitrar. In mod independent si pornind de la ??? pct de vedere si diferite domenii, matematicienii au gasit un model de calcul care in ultima instanta este echivalent modelului de calcul dat de mT. Aceste investigatii s-au largit prin particicparea celor care se ocupa de stiinta calc si s-au gasit unele formalizari cantitative legate de teza lui Church. Acestea sunt in legatura cu modelul matematic dat pt alg care sunt implementati de sist de calcul numerice. Marimile cu aspect cantitativ se refera la timpul de lucru, respectiv la spatiul folosit pt rez??? unuia din algoritmi. Toate ac au putut fi puse in legatura cu modelul de mT discutat pana acum. S-a aratat ca o mT cu mai multe benzi poate fi simulata de o mT de baza (cu o banda) si acest lucru se face cu o pierdere a eficientei (dpdv al complex?? de timp) de ordin patratic. Sau prezentat si alte argumente in sprijinul tezei lui Church si s-a definit un model de calcul care reflecta cu mai mare acuratete ??? din aspectele actuale ale algoritmilor implementati pe sistemele de calcul numerice. O m? in acces direct (RAM) este un dispozitiv de calcul analog mT care consta dintr-un program care actioneaza asupra unei structuri de date. Structura de date a acestei masini este de fapt un masiv de reg ???, fiecare ??? fiind capabil sa contina intregi arbitrar de mari (chiar si neg). Instructiunile in RAM simuleaza pe undeva si ???? de instructiuni dintr-un sistem de calcul. In afara celor 4 instr de salt care il modifica pe k in functie de continutul acumulatorului, ultima instructiune, cea de halt, opreste procesul de calcul. Se poate costatat ca orice instructiune semantic gresita va conduce la instructiunea HALT. Calculul facut de o m RAM poate fi foemalizat definind in mod analog o configurare a masinii. Astfel o configurare a m RAM este o pereche C=(k,R), unde k indica instr ce urmeaza sa fie executata, iar R este multime finita de perechi de forma: R={(j1r1),(j2r2),...., (jkrk)}. Fiecare pereche arata valoarea curenta a registrului ? astfel multimea R arata valorile curente pt toti registrii care au fost modificati in cursul procesului de calcul. S considera o m RAM cu program si se noteaza cu D o multime de secvente finite de intregi care reprezinta intrari pt mT. Fie :D->N. Se spune ca programul calculeaza functia f daca pt orice intrare I e D avem: (1, ) (0, R) unde (0,f(I))eR. Programul se opreste dupa un numar de pasi si la iesire avem f(I). Se pune problema gasiri timpului de lucru necesar pt programul m Ram. Se noteaza faptul ca operatorii aritmetici implica utilizarea unor intregi arbitrari mari. Se va constata totusi ca fiecare operatie a masinii se realizeaza intr-un singur pas. Acest lucru poate fi generalizare destul de larga, deoarece de ex operatia ADD, care implica intregi foarte mari, are timpul de lucru mult mai mare decat la altor operatii. Desigur ca instructiunile aritmetice mai complexe necesita un timp mai mare ceea ce va conduce la o subestimare a timpului de lucru necesar. Setul de instructiuni asigura ca unitatea de timp de lucru presupusa reprezinta o simplificare a modului de lucru pt aceasta masina (in particular lipseste de ex instructiunea de inmultire). Justificarea matematica a acestui model de abordare este data de urmatoarea teorema care afirma ca orice program al unei m RAM poate fi simulat de o mT cu o pierdere a eficientei de tip polinomial. De mare importanta este si dimensiunea intrarii
,I

6.MASINI TURING NEDETERMINISTE Se va introduce un model nerealist de calcul care este numit mT nedeterminista si se va arata ca ea poate fi simulata de orice alt model de mT dar cu o pierdere de eficienta exponentiala. O mT nedeterm e un cuadruplu N=(K,,D,S); K,,D au ac semnif ca si in cazul mT de baza. Faptul ca avem nedet. e dat de posibilit de cont a calc la un moment dat. In caz determinist exista o alegere pt cont calculelor. Din ac motiv, D nu mai este o fct ca in cazul determinist ci o relatie: D c (k*)*[(k*{h,yes,no}*E*{<-,->,-}], deci pentru fiecare perechi (stare, simbol) pot exista mai multe posibilitati pt pasul urmator. Descrierea calculului poate fi facuta sub forma arborescenta, intr-un nod putand fi legate in mai multe posibilitati de cont???) Se cons o mT nedet. N??si o conf: N=(q,w,h) care trece in config (q,w,u) intr-un singur pas dc exista o reg in relatia D a.i. sa fie legata o astfel de tranzitie:(q,w,u)
N (q ' , w ' , u ' ) < = > q, ), (q ' , , D )) D ((

Daca avem: a)D= -> atunci w=w, ultimul simbol -> j? si primul simbol din u adaugat la w ; u=u cu primul element sters; b) D= <- atunci w=w cu simbolul sters de la sfarsit, u=u cu simbolul ?(y sau j) atasat la inceput. c) D= - atunci w=w cu simbolul inlocuit de ? (totusi cred ca e j aici da ar putea sa fie si y, nu sunt sigur ce kkt scrie aici), u=u. Ceia ce face ca mT nedet sa fie atat de diferite si de puternice este dat de notiunea rezolvarea unei problemne. Fie L un limbaj si H o mT nedet. Atunci se spune ca h decide L oricare ar fi x apartine Z* intrare avem x apartine L (S,D,x) (Yes,w,u), unde w,u sunt siruri de simboluri. Aceast def este foarte importanta pt determinarea mT nedet de celelalte modele. Adica o intrare este acceptata daca exista o secventa de alegeri nedeterministe de actiuni care conduc spre starea s. Alte secvente de actiuni pot conduce la rejectarea intarrii, dar este de ajuns ca o singura secventa sa fie acceptata. Cu alte cuvinte o sceventa de simboluri este rejectata numai daca nici o secventa de alegeri de actiuni nu poate conduce la starea de acceptare. Pe langa faptul ca se cere sa se decida limbajul L, se mai cere ca drumul de calcul sa nu depaseasca val f(n), n= lung intr. In acest mod se adauga la calculul nedeterminist o durata care poate fi cons nerealist de mica. Ac activit poate fi privita ca drumul intr-un arbore si durata pt efect unui calcul poate fi privita ca adancimea in arbore. Multitudinea limbajelor decise de mT nedeterministe intr-un timp f(n) formuleaza o noua clasa de complexitate NTIME(f(n)). In cazul in care functia f(n) este polinom, atunci reuniunea tuturor acestor clase NP=UNTIME(nk). Deci clasa mT determinista formeaza o submultime a claselor nedeterministe. acest lucru este dat si de faptul ca D din def masinii M este o relatie care devine functie in caz determinist. Teorema: Se presupune ca limbajul L este decis de o mT nedet H in timpul f(n) atunci acest limbaj este decis de o mT det M intr-un timp O(cf(n)), c>1 constanta care depinde de M. Aceasta teorema poate fi scrisa utilizand notatiile pt clasa de complexitate astfel: NTIME(f(n)) U TIME (c ) .
Nx
f (n) c >1

7. MASINI TURING UNIVERSALE

Se poate extinde modelul de baza al mas T pt al face compatibil cu Sc numerice actuale. Se va descrie o mas T universala not U care primeste la intrare descrierea unei mas T concatenata cu descrierea intrarii in acea mas T. Deci intrarea unei astfel de masini univ va fi notata M ;x Functionarea mas T univ repr simularea functionarii Turing M care prelucreaza intrarea x. Deci sa poate scrie U(M;x)=M(x) . Deoarece mas T univ treb sa simuleze o mas T arbitrara nu exista nici o marginire a nr de stari si de simboluri pt mas univ. Pt simplificare se va considera ca starile tuturor mas T sunt intregi. Daca mas T este descrisa de M=(k,,,s) at ={1,2, ||}, k= {||+1 ; ||+2 ;.... ||+ ||} , deci starea initiala este repr prin s ||+ 1 . Nr |k| + || +1 ; |k| + ||+2 ;... ; |k| + ||+6 codif simb speciale : , , _ , h , yes , no Ac nr vor firepr in binar , deci se vor folosi log(|k| + ||+6) biti pt fiec si se vor completa cu zerouri ca toate nr sa aiba aceeasi lung. O descriere a unei mas T N va incepe cu nr !k! in binar, urmat de ne || in binar, urmata de descrierea fct ||. Descrierea mas M ca intrare pt mas univ este urmata de ; si e urmata de descrierea intrarii x pe mas M. Simb din intrarea x sunt codificate ca intregi binari separate de , . Mas T univ U actioneaza asupra intrarii M;x simuland activitatea mas N care prelucreaza intrarea x. Simularea se face pp ca mas U are 2 benzi. Initial, cea de-a 2a banda contine doar primul simbol, urmat de codif starii initiale s, urmata de codif intrarii x . Pt simularea unui pas facut de mas N , mas U scanraza cea de-a doua banda pana cand gaseste repe binara a unui untreg coresp unei stari (e un nr<= |k|). Apoi cauta pe prima bandapt a gasi o regula in fct care sase potriveasca starii curente. Daca o astfel de regula e gasita, mas se muta spre stanga in cea de-a doua banda pt a compara simbolul scanat cucel gasit de regula fct . Daca nu exista o potrivire se cauta o noua regula. Daca exista o potrivire se implem acea regula care inseamna schimbarea simb crt si starii curente de pe cea dea 2a banda si modificarea deplasarii. Toate starile si simbolurike sunt nr codificate in binar care au acelasi ni de biti, ceea ce face mai usor acest proces de cautere si verif conditia mas N se opreste si se va opri si mas univ. Exista mai multe moduri in care mas univ U descopera in procesul ei de calcul ca o codif a intrarii e incorecta sau ca o intrare intr-o mas T e codif imcorect

8.MASINI TURING UNIVERSALE (Nedicidabilitate)

Exista o slabiciune a modelelor de calcul introduce pana acum fata de sistemele numerice actuale; astfel un system de calcul numeric programat adecvat poate rezolva o mare varietate de probleme. in contrast cu el, masinile T sunt specializate, adica rezolva o problema. se poate extinde modelul de baza pt a il face compatibil cu sistemele de calcul numerice actuale. Se va descrie o m T univ. notata U care va primi la intrare descrierea unei mT concatenate cu descrierea intrarii in acea mT. deci intrarea unei astfel de m univ va fi notata M;X. functionarea mmT. univ reprezinta simularea functionarii m T care prelucreaza intrarea X. se poate scrie U(M;X)=M(X) deoarece m. T univ tb sa simuleze o m T arbitrara nu exista nici o marginire a nr. de stari si de simboluri pt masina univ. pt se va considera ca starile tuturor m. T. sunt intregi si de asemenea, simbolurile folosite de toate m T sunt intregi. daca m. T e descrisa de: M=(k,,,s) atunci ={1, 2, , | |}, k={| |+1, | |+2,,| |+| |}, deci starea initiala de reprezentata: s=| |+1; | |+| |+1; | |+| |+2;;| |+| |+6 codif simb speciale: ???- , h, yes, no daca aceste numere vor fi reprezentate in binary, deci se vor folosi log(|k|+| |+6) biti pt fiecare si se vor completa cu zerouri ca toate sa aiba aceeasi lungime. o descriere a unei mT, M, va incepe cu nr |k| in binary urmat de || in binary(ac. 2 nr. sunt suficiente) datorita conventiei (k, ) urmata de descrierea fct. . descrierea masinii M ca intrare pt. masina univ. este urmata de ; si este urmata de descrierea intrarii X pt masina M. simbolurile din intrarea x sunt codificate ca intregi binary, separate de virgule. m.t. univ, u, actioneaza asupra intrarii (M; x) simuland activitatea masinii M care prelucreaza intrarea X. simularea se face presupunand ca mas U are 2 benzi (se stie ca mas cu 2 benzi poate fi simulate de o mas cu o banda) cea de-a doua banda este utilizata pt. mem. config. (w, g, u), ceea ce inseamna ca se memoreaza codificarea sirului w, urmat de virgule, urmat de codif. starii s, apoi virgule apoi codif. starii u. initial cea de-a doua banda contine primul symbol, urmat de codificarea starii initiale s, urmat de codif. intrarii x. pt simularea unui pas facut de m. M, m, U. scaneaza cea de-a doua banda pana cand gaseste reprezentarea binara a unui intreg corespunzator unei stari (un nr. <= |k|), apoi cauta pe prima banda pt. a gasi o regula in fct. care sa se potriveasca starii curente. daca o astfel de regula este gasita, masina muta cursorul spre stanga in cea de-a doua banda pt a compara simbolul scanat cu cel gasit de regula fct . daca nu exista potrivire, se cauta o noua regula, daca exista potrivire, se implementeaza acea regula care inseamna schimbarea simbolului current si a starii curente pe cea de-a doua banda si modif. deplasarii. toate st. si simb. sunt nr codif in binary care au acelasi nr de biti, ceea ce face mai usor acest process de cautare si verificare. cand masina \m se opreste se va opri si U. toate ac completeaza descrierea modului de operare a m univ U care prelucr. intr (M,x). exista mai multe moduri in care m. univ.U descopera in procesul ei de calcul ca o codificare a intrarii e incorecta sau ca o intrare intr-o mT e codificata incorrect. in cazul de fata, daca acest lucru se intampla, se pp ca m.U. intra intr-o stare care reprez. miscarea spre dr mereu. dar se va pp ca la intrare exista doar descrieri corecte.

9. CLASE DE COMPLEXITATE

O cl de complex e o mult de obiecte specificata de mai multi parametri ; in primul rand avem un model de calcul care fixeaza M T cu mai multe benzi, apoi o cl de complex e caract de un mod de calcul. Sund 2 moduri de calcul : determinist si nedeterminist. Treb fixate resursele care vor fi fol de mas pt a rez o probl. Clasa de complexitate e definita de o multime de limbaje care sunt decise de mas T cu > benzi care opereaza intr-un mod adecvat a.i. oricare x intrare , mas T nu fol > decat f(|x|) unitati specificate dintr-o anumita resursa. Se pot alege fct si mai complicate care sa fie greu de evaluat intr-un spatiu si timp dat deci e util sa se def o mult de fct care sa fie fol pt clasele de complex avute in vedere. Fie f :N N . Se spune ca f e o fct de complex proprie daca f e o fct crescatoare f (n+1)>= f(n) oricare n apartine N. DEF. Se va spune ca o mas T M (determnista sau nedeterminista, cu sau fara banda de I/O) e o mas precisa daca exista f,g a.i. pt. oricare n apartine N si oricare |x| =n calculul executat de mas M se opreste dupa un nr precis de f(n) pasi si toate sisrurile fol pt benzile de lucru cu exceptia sirului de pe banda de intrare si de iesire sunt la oprire de o lungime precisa = cu g(n). Se cons cl de complex de forma TIME(f) pt timp det si SPACE (f) pt sp det, NTIME(f) si NSPACE(f) pt timp si sp nedet. In toate cazurile fct f e de complex proprie.Uneori e util sa se inloc fct f printr-o fam de fct care depinde de un parametru

10. TEOREMA DE IERARHIZARE In multe rez din teor calculului se face apel la propr modelului de calcul adoptat pana acum. Ac model poate fi inbunatatit prin adaugarea unor noi propr(de ex : masina cu siva, posibilitatea de a scrie in banda de iesire, nedeterminism etc). Se poate da un rezult cantitati pt ierarhizarea datelor de complex, adica prin alocarea unei perioade suficient de mari de timp, mas T sunt capabile sa rezolve cele mai complexe sarcini. Masina M rerea mas T deterministe cu mai multe benzi. Se pp ca desi o mas poate avea un alfabet arbitrar, imbajul asociat masinii contine simbolurile care codifica mas T (pe langa simbolurile intrarii x). Ac lucru nu e o pierdere de generalitate deoarece limbajele in diferite alfabete au propr identice de complex atata timp cat alfabetul are cel putin 2 simb. Lema :Hf apartineTIME(f 3(n)) Se cons o m T not Uf care are 4 benzi. Uf se bazeaza pe modelul dat pt m T univ U, stiindu-se ca oricare mas cu 1 banda poate simula o mas cu > benzi. Teorema de crestere a vit de lucru face ca sa se elimine const din fct care margineste timpul de lucru si termenii de ordin inferior. Se cons o m T Mf care realiz un calcul pt intrarea x fol o masura de lungime f(n) pt marginirea timpului de lucru. Ac masini nu prez probl conceptuale, dar treb puse in evidenta cateva detali : M fol Mf in procedura de prelucrare a intrarii x pt a initializa cea de-a 4 banda cu un sistem de alarma care e dat de un sir de cvasiblancuri. Ac sist de alarma e utiliz in proc de simulare al mas M sin descrierea Hf. Mf are cel mult 4 benzi. Uf copiaza descrierea mas M care treb sa fie simulate pe cea de-a 3 banda si converteste intr x . Cea dea 2 banda va primi codificarea starii initiale. Se poate verif daca sirul de simboluri descrie o mas T M rejecteaza intr de ac cerinta nu e indeplinita. Uf simuleaza pas cu pas op M care prelucr intr x. Fiec pas al M e simulat prin 2 scanari succesive ale primei benzi a mas T Uf . In prima scanare mas corecteaza inf relevante cu privire la simbolutile care descriu M si scrie ac simbpe banda 2. Apoi Uf verif daca cont benzii 2 se potriveste cu ceea ce se afla pe banda 3 pt a se vedea care e starea urm. Mas Uf cont prelucrarea facand schimbari adecvate pe prima banda in pasul 2 si incrementeaza sist de alarma cu o unitate pt a masura timpul de lucru. Progr P(I,K) poate fi decisa prin simularea masinilor de indice I care act asupra intr de lung i. Se def val fct f(i) pt i>=0 si se cons urm secv de val pt intregul K: Ki=2*i , Kj=2Kj-1 , j=2 Fct f are o rata de crestere f mare desi a fost def in ac mod mai putin natural.

11.Metoda atingerii Teorema de ierarhizare arate rel care exista intre clasele de complex cand se cons diferite functii pt marginea timpului de lucru. Teorema: se pp ca f(n) este o functie de complex proprie f(n)>n at avem: a)SPACE(f(n)<NSPACE(f(n));TIME(f(n))<NTIME(f(n)); b)NTIME(f(n))<SPACE (f(n)) c) NSPACE(f(n))<TIME(Klogn+f(n)) DEM: a) e imediat deoarece oric ar fi mas T determinarea poate fi cons nedetminata, dar la fiecare pas exista o posibilit de continuare, deci oricare ar fi limbajul din clasa SPACE(f(n)) se afla in clasa NSPACE(f(n)).Analog pt clasele de complex de timp. b) fie L apartine NTIME(f(n))=>exista o mas T nedeterminata M care decide limbajul L in f(n).Se va cons o mas T determinata M care va decide L intr-un spatiu f(n).M genereaza o secventa de alegere nedet pt M adica o secventa cu lung f(n) de intregi cu valori intre 0-(d1), unde d=nr max de alegeri pt orice combinatie a M. M simuleaza modul de lucru al M considerand alegerile pt tranz date.Ac simulare poate fi exec intr-un spatiu f(n) deoarece numai f(n) simb pot fi scrise.Totusi exista un nr f mare de astfel de simulari care trebuie incercate pentru a vedea daca o secventa de alegeri date va conduce la starea de acceptare a intrarii.Ac incercari se vor face pas cu pas intot stergand incercarea/simularea ant si refolosind spatiul. La fiecare incercare se va considera doar secventa de alegeri curente de simulat si deci de fiec data prelucrarea se va realiza intr-un spatiu f(n).Faptul ca functia f e de complex proprie, se va lua in cons at cand se genereaza prima secventa de alegeri. c) Ac parte implica o met generala de sim a mas care au sp de lucru marginit numita met atingerii.Se cons o mas T nedet M cu K benzi, banda de I/O care decide L intr-un sp f(n).Tre sa se gaseasca o met de det pt simularea unui calcul nedet al M, care prelucreaza o intr x intr-un timp clogn+f(n),n=lung intr si c=const care depinde de M. Pt o mas cu banda de I/O cum este mas M benzile 2 si 3 contin siruri din configuratie care sunt de forma Dx.Pt o mas care decide un limbaj cum este M banda de O este de tip writeonly.Toate cele K-2 siruri vor fi de lung cel mult f(n). Deci se va putea cons config ca fiind de lung(2K-2) fara banda de O/I de forma: (q,i,w2,u2, ,wK-1,uK-1), i=0,n, este un intreg care da pozitia capului de citire/scriere de pe banda fe intr care cont Dx.Se pune problema gasirii nr de conf existente.Pot sa existe alegeri pentru prima componenta-starile q.Pot sa sexiste n+1 alegeri pt intregul i, exista un nr <|suma|(2K-2)*f(n) alegeri pt toate sirurile.Deci nr total de config pt M cand prelucreaza o intr de lung n este cel mult n*c1f(n)=cKlogn+f(n), c1-depinde de M. Se def acum graful de config al M care prelucreaza intrarea x si se va nota prin G(M,x).Ac graf contine o mult de noduri care reprez toate config posibile si va exista o muchie intre 2 noduri a si b =>exista o tranzitie intre config a si b.Rezulta graful de config de la config initiala c0=(s,0,D, ,, ) la o config de forma c=(yes,i..).Cu alte cuv s-a redus problema de a decide daca x apartine L la problema atingerii in graful de config care are ca nr c1logn+f(n) noduri. Deoarece se stie ca exista un alg polinomial cu complex polinom de tip, pt problema atingerii, rez ca simularea va fi executata in c2*c12(logn+f(n)) pasi, unde marginea polinomiala pt problema conectivitatii este data de forma c2*n2.Daca c=c2*c12 => marginea de timp ceruta.Ramane sa se specifice exact cum lucreaza alg pt problema atingerii in graful de config. Se poate constr explicit matricea de adiacenta pt graful G(M,x) si se poate codifica acesta ca un sir de simboluri dupa care se executa alg probl, sau se poate fol descrierea grafului sub forma listelor de adiacenta, in acesta caz pt a vedea daca exista o muchie in graful de config (a,b), trebuie sa se vada daca avem o config b care sa rezulte din config a.Acest lucru se vede implicit din intrarea x si prelucrarea ei.Deci dandu-se 2 config este nevoie de simbolurile scanate in fiecare banda in config a pt a se det daca intradevar config b poate rezulta din a.Acest lucru este usor de facut pentru mas T cu exceptia cazului initial cand se cons sirul de intrare, unde se stie numai pozitia i pornind de la stanga spre dreapta si incrementand un contor codificat in binar(pt a separa cele 2 siruri wi si ui).Combinand aceste informatii se obtine uramtorul corolar de incluziune: L NL P NP PSPACE

12. SPATIU NEDETERMINIST Metoda atingerii pentru simularea spatiului nedeterminist are alte 2 aplicatii. Prima se refera la un rezultat surprinzator cu privire la simularea unui spatiu nederminist intr-un spatiu dat si rezulta din th.4c NSPACE(f(n))inclus SPACE(kla puterea logn+f(n)) Se pune problema dc. Exista un mod mai efficient decat cel expus de similare a unui spatiu nedeterm.intr-un spatiu determinist(sau dc. Spatial nedeterm.e expus mai puternic decat cel determinist).Se poate demonstra ca simularea spatiului det. Necesita doar o putere patratica si se va folosi met. atingerii.. Pt. acest lucru avem nevoie de un rezultat intrmediar care sa arate ca metoda atingerii se rezolva intr-un spatiu det.limitat. Se stie ca algor. de parcurgere a unui graf in adincime sau latime necesita in cel mai nefavorabil caz cel putin un spatiu O(n).exista o alta met.de parcurgere (met mediana) care consuma un timp de lucru mult mai mare dar care are nevoie de un spatiu mai mic. Teorema 5(Savitch) REACHABILITY C SPACE(log n) Dem: Fie G=(V,E)un graf cu n noduri .Fie x si y 2 noduri si fie i >0 ,iN. Se va spune ca PATH(x,y,i)e adev. dc. exista un drum de la x la y in G de lungime cel mult 2la i. Se noteaza ca un drum in G are lung. cel mult n si deci se poate rezolva probl atingerii in graf daca se evalueaza predicatul PATH(x,y,[log n]).Pt. aceasta se va proiecta o masina Turing cu 2 benzi de lucru si cu banda de intrare care sa decida dc. predicatul PATH(x,y,i)e adevarat .La intrare se da matricea de adiacenta a grafului. Pe prim abanda de lucru sunt nodurile x,y si intregul i toate in binar .Prima banda contine mai multe triplete de forma (x,y,i). Cealalta banda de lucru va fi utilizata ca spatiu de operare si va fi suficient un spatiu O(log n).Se va descrie modul in care masina tiring decide predicatul PATH(x,y,i).Daca i=0 se poate spune dc. avem un drum intre x si y cu lungimea 2=1verificand dc. avem o muchie intre x si y cautand in maticea de adiacenta de pe banda de intrare(sau dc. xy). Dc.i 1calc.predicatul PATH(x,y,i)cu alg. Recursive, toate nodurile Z se testeaza PATH (x,z,i-1) si PATH(z,y,i-1). Se poate acest lucru pt. ca pt. orice drum de lungime 2 la i , intre x si y exista un nod z intre x si y a. i. intre ac. Nod si capetele drumului sa avem drumuri de lungime cel mult 2 la i-1.Pt. a implementa acest alg. recursive se genereaza toate nodurile z si se prelucreaza pt. fiecare , reutilizand spatiul At. cand nou nod z e generat se adauga un triplet (x,z ,i-1)la banda de lucru si se prelucreaza recursive. Dc. se obt. un raspuns negativ pt.PATH(x,z,i-1)acesta se sterge si se considera un nou nod z.Dc. se obt. Un raspuns pozitiv din. prel.recursiva a tripletului(x,z,i-1)se va sterge ac. triplet si se va scrie (z,y,i-1) in locul lui si se prel. ac. calculand recursiv PATH(z,y,i-1). Dc. raspunsul e negativ se sterge si se ia un nou nod z, dc. avem un raspums pozitiv se compara tripletul (x,y,i) la stanga si la dreapta si se va da un raspuns pozitiv pt. PATH(x,y,i).Se observa ca prima banda de lucru a masinii functionale ca o stiva pt. impementarea alg. recursive .Ac. alg.calc. correct predicatul PATH(x,y,i) si se utiliz un spatiu de lucru [log n] deoarece nodurile au fost exprimate in binary. Deci problema atingerii face parte din clasa SPACE (logn)pt. ca avem un nr.de cel mult [logn] triplete ,fiecare avand lungimea 3logn.

. ELEMENTE DE BAZA ALE MASINII TURING (curs/manual) 2. MASINI TURING PRIVITE CA ALGORITMI.(curs) 3. MASINILE TURING CU MAI MULTE BENZI (curs/manual) 4. MASINILE TURING IN ACCES DIRECT (RAM) (curs) 5. MASINA TURING UNIVERSALA (curs) 6. MASINI TURING NEDETERMINISTE. (curs/manual) 7. MASINILE TURING SI LIMBAJELE. (curs/manual) 8. PROBLEMA OPRIRII (HALTING) (curs) 9. CLASA P, CLASA NP (manual) 10. TEHNICI DE IERARHIZARE (curs) 11 .METODA ATINGERII (curs) 12. REDUCERI (curs) 13 CLASA CO-NP (manual)

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