Sunteți pe pagina 1din 3

Subiectul 1

Masini Turing Deterministe si Nedeterministe:


Definitii:
==========
1. Masinia Turing determinista cu o banda: M = (Q, V, U, d, q0, F, B)
Q, V, U si F sunt multimi. Toate sunt finite
Q - Multimea starilor. Include F.
V - Alfabetul de intrare al masinii. Inclus in U.
U - Alfabetul intern al masinii.
U trebuie sa il includa pe V pentru a putea recunoaste fiecare
caracter. Insa, poate avea caractere in plus, de exemplu separatori
cum ar fi "#".
q0 - Starea initiala. Evident, unica si apartine lui Q.
F - Starile finale. Evident, aceasta multime face parte din Q.
B - Caracterul "blank".
d - Functia de tranzitie. d : (Q\F) x U -> Q x (U\{B}) x {L,R}
2. Masina Turing nedeterminista cu o banda: M = (Q, V, U, d, q0, F, B)
Singura diferenta apare la functia de tranzitie:
Q x (U\{B}) x {L,R}
d : (Q\F) x U -> 2
3. Masina Turing determinista cu n benzi: M = (n, Q, V, U, d, q0, F, B)
n
n
n
d : (Q\F) x U -> Q x (U\{B}) x {L,R}
4. Masina Turing nedeterminista cu n benzi: M = (n, Q, V, U, d, q0, F, B)
n
n
n Q x (U\{B}) x {L,R}
d : (Q\F) x U -> 2
Relatii:
1. Toate cele 4 modele de calcul prezentate sunt echivalente.
Formal, acest lucru inseamna:
1. Oricare din aceste masini, privite ca dispozitive de acceptare,
recunosc limbaje generate de aceeasi gramatica:
Limbaje recursiv enumerabile, generate de gramatica de tipul 0.
2. Oricare din aceste masini, privite ca dispozitive de calcul,
pot calcula orice functie din clasa R ( probleme decidabile,
echivalenta cu limbajele recursive, adica pentru orice intrare
finita, masina se va opri ).
2. Teoreme care arata relatiile intre masinile Turing.

1. Orice masina Turing, M, cu n benzi, poate fi simulata cu o masina


Turing, M`, cu o singura banda. In plus, daca M este determinista
atunci si M` este determinista.
2. Orice masina Turing nedeterminista cu o banda poate fi simulata
de o masina Turing cu 3 benzi.
Demonstratii:
Teorema 1: Orice masina Turing, M, cu n benzi, poate fi simulata cu o masina
Turing, M`, cu o singura banda. In plus, daca M este determinista
atunci si M` este determinista.
Idee: Se construieste o masina M`, cu o banda "foarte lata".
Fiecare celula a acestei benzi poate fi vazuta ca un vector,
asezat pe verticala ( dar vectorul este de fapt un singur
simbol! ). Acest "vector" are 2*n elemente, unde n este
numarul de benzi ale masinii initiale, M. Elementele de
index par din vector reprezinta simbolul de pe banda aferenta,
iar elementele de pe pozitiile impare sunt 0 sau 1 si
reprezinta pozitia capului de citire ( marcat priin 1 ).
Aceasta notatie ne permite sa "mimam" M cu M`.
Exista un numar finit de vectori, adica de simboluri ale lui M`
Pentru fiecare miscare a lui M, M` face urmatoarele lucrui:
Faza 1:
1. Pozitionam capul de citire pe prima celula ( vazuta ca vector )
2. Memoreaza starea si apoi simbolurile de pe pistele de ordin par,
care sunt deasupra lui 1 pe pistele de ordin impar ( adica
simbolurile curente a lui M ).
Faza 2:
3. Aplicand functia de tranzitie, M`, prin mai multe miscari isi va
modifica banda astfel incat sa devina identica cu a lui M.
Teorema 2: Orice masina Turing nedeterminista cu o banda poate fi simulata
de o masina Turing cu 3 benzi.
Idee: Practic, efectuez backtracking.
Consider M o masina Turing nedeterminsta.
Notez cu w multimea configuratiilor posibile ale lui M:
w = {(q,a,s,b,d) | q stare nefinala, s stare, a simbol, b simbol
diferit de blank, d directia, L sau R }
(q,a,s,b,d) - Din starea q, citind a, trec in starea s, scriu b
si merg in directia d.

Evident, w este o multime finita si poate fi ordonata lexicografic.


Ce va face M`:
- Pe banda 1, are sirul de intrare, configuratia initiala.
- Copiaza continutul lui B1 pe B3
- Scrie pe B2 primul element din w.
1. Citeste simbolul curent de pe B2 ( va fi ceva de genul qaq`bd )
2. Verifica daca se afla in starea q`.
2.1. Daca nu, efectureaza R, adica pasul de retur.
3. Verifica daca simbolul citit de pe B1 este a.
4. Scrie b peste a.
5. Schimba starea in q`.
6. Deplaseaza capul de pe B1 in directia d.
7. Deplaseaza capul de citire de pe B2 la dreapta.
Se va relua de la pasul 1 daca exista un simbol pe B2. Daca nu, se
efectueaza R, pasul de intoarcere.
R. Copiaza w de pe B3 pe B1.
Scrie pe B2 succesorul elementului aflat pe banda.
Intra in q0.

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