Màquina de Turing alternant

En teoria de la computació, una Màquina de Turing alternant (ATM) és una màquina de Turing no determinista amb una regla per acceptar computacions que generalitzen les regles usades en la definició de les classes de complexitat NP i co-NP.[1][2][1]

Definició

modifica

Descripció informal

modifica

La definició de la classe NP usa el mode de computació existencial: si qualsevol elecció porta cap un estat que accepta, llavors tota la computació s'accepta. La definició de co-NP usa el mode universal per la computació: només si totes les eleccions porten cap a un estat que accepta, llavors la computació s'accepta. Una màquina de Turing alternant va alternant entre els dos modes.

Una màquina de Turing alternant és una màquina de Turing no determinista els estats de la qual està dividida en dos conjunts: estats existencials i estats universals. Un estat existencial accepta si alguna transició porta cap a un esta que accepta. Un estat universal accepta si totes les transicions porten a un estat que accepta. La màquina com un tot accepta si l'estat inicial accepta.

Definició formal

modifica

Formalment, una màquina de Turing alternant és una 5-tupla  on

  •  és el conjunt finit d'estats
  •  és l'alfabet finit de la cinta
  •  és la funció de transició (L mou el capçal cap a l'esquerra, R cap a la dreta)
  •  és l'estat inicial
  •  especifica el tipus de cada estat

Si M és a l'estat  amb  llavors la configuració es diu que accepta, i si  la configuració es diu que rebutja. Una configuració amb  es diu que accepta si totes les configuracions que es pot arribar en un pas accepten, o rebutja si alguna de les configuracions rebutja. M es diu que accepta la cadena d'entrada w si la configuració inicial de M (l'estat de M és  . el capçal és al final de la cinta i la cinta conté w) accepta i que rebutja si la configuració inicial rebutja.

Límit de recursos

modifica

Una ATM decideix un llenguatge formal en temps  si, per qualsevol entrada de longitud n, si les configuracions necessiten com a molt  passes per marcar la configuració inicial com acceptant o rebutjant. Un ATM decideix un llenguatge en espai  si les configuracions necessiten escriure menys de  cel·les de la cinta per marcar la configuració inicial com acceptant o rebutjant.

Un llenguatge que es decidible per una ATM en temps  per alguna constant  és dins la classe ATIME( ), i un llenguatge decidible per una ATM en espai  està dins de SPACE( ).

Referències

modifica
  1. 1,0 1,1 Chandra, Ashok K.; Kozen, Dexter C.; Stockmeyer, Larry J. «Alternation». J. ACM, 28, 1, 1981-1, pàg. 114–133. DOI: 10.1145/322234.322243. ISSN: 0004-5411.
  2. Chandra, A. K.; Stockmeyer, L. J. «Alternation». Proc. 17th IEEE Symp. on Foundations of Computer Science., 1976-10, pàg. 98–108. DOI: 10.1109/SFCS.1976.4.