7.5. EXTENSIONES AL MODELO 127Nótese que al simular la MT con cinta infinita en ambas direcciones por una MT con cinta infinita sólohacia la <strong>de</strong>recha, la simulación fue movida por movida. En la que se acaba <strong>de</strong> presentar, cada movida <strong>de</strong> M 1requiere <strong>de</strong> varias <strong>de</strong> M 2 para ser simulada. De hecho, para simular N movidas <strong>de</strong> M 1 , se requieren O(N 2 )movidas <strong>de</strong> M 2 .7.5.3 Movidas No DeterminísticasUna máquina <strong>de</strong> Turing no <strong>de</strong>terminística es un dispositivo con un control finito y una cinta infinita sólohacia la <strong>de</strong>recha. Dado un estado y símbolo bajo la cabeza, la máquina tiene un número finito <strong>de</strong> movidasposibles. Cada opción consiste <strong>de</strong> un nuevo estado, un símbolo para escribir y una dirección <strong>de</strong> movimiento<strong>de</strong> la cabeza. La máquina acepta un input si hay una secuencia <strong>de</strong> movidas que la lleve a un estado final.Como en el caso <strong>de</strong> los autómatas finitos, el agregar no <strong>de</strong>terminismo a la máquina <strong>de</strong> Turing no permiteaceptar nuevos lenguajes. De hecho, la combinación <strong>de</strong> no <strong>de</strong>terminismo con las otras extensiones <strong>de</strong> estasección, no le aña<strong>de</strong>n po<strong>de</strong>r adicional.Teorema 36 Si L es aceptado por una MT no <strong>de</strong>terminística M 1 , entonces L es aceptado por una MT<strong>de</strong>terminística M 2 .Demostración : Para cada estado y símbolo <strong>de</strong> la cinta <strong>de</strong> M 1 hay un número finito <strong>de</strong> opciones para lapróxima movida. Sea r el número máximo <strong>de</strong> opciones para todos los pares estado-símbolo.Luego, cualquier secuencia finita <strong>de</strong> elecciones pue<strong>de</strong> representarse por una secuencia <strong>de</strong> los dígitos 1 ar. Es posible que no todas dichas secuencias representen elecciones <strong>de</strong> movidas, ya que pue<strong>de</strong> haber menos<strong>de</strong> r opciones en algunas situaciones.M 2 tendrá tres cintas. La primera contendrá el input; en la segunda M 2 generará secuencias <strong>de</strong> dígitos<strong>de</strong> 1 a r en forma sistemática. Específicamente, las secuencias serán generadas con las más cortas primero.Secuencias <strong>de</strong>l mismo largo son generadas en or<strong>de</strong>n numérico.Por cada secuencia generada en la segunda cinta, M 2 copia el input a la tercera cinta y simula a M 1sobre la cinta 3; usando la secuencia <strong>de</strong>finida en la cinta 2 para dictar las movidas <strong>de</strong> M 1 . Si M 1 entra aun estado <strong>de</strong> aceptación, M 2 también acepta. Si existe una secuencia <strong>de</strong> opciones que lleve a M 1 a aceptar,ella será eventualmente generada en la cinta 2. Cuando sea simulada, M 2 aceptará. Si no hay secuencia <strong>de</strong>elecciones que haga que M 1 acepte, M 2 no aceptará.7.5.4 Máquinas MultidimensionalesConsidérese otra modificación a las máquinas <strong>de</strong> Turing que tampoco les da po<strong>de</strong>r adicional. Este dispositivotiene un control finito, pero la cinta consiste <strong>de</strong> un arreglo k-dimensional <strong>de</strong> celdas infinitas en las 2kdirecciones, para algún k fijo. Dependiendo <strong>de</strong>l estado y símbolo, la máquina cambia <strong>de</strong> estado, escribe unsímbolo y mueve la cabeza en alguna <strong>de</strong> las 2k direcciones. Inicialmente, el input está a lo largo <strong>de</strong> un eje yla cabeza en su primer símbolo a la izquierda.En cualquier instante, sólo un número finito <strong>de</strong> filas en cualquier dimensión contiene símbolos no-blancos y<strong>de</strong> ellas cada una tiene sólo un número finito <strong>de</strong> estos símbolos. Se probará que una máquina uni-dimensionalpue<strong>de</strong> simular una MT <strong>de</strong> 2 dimensiones. La generalización se <strong>de</strong>ja como ejercicio.Teorema 37 Si L es aceptado por una máquina <strong>de</strong> Turing <strong>de</strong> dos dimensiones, M 2 , entonces L es aceptadopor una MT <strong>de</strong> una dimensión, M 1 .Demostración : M 1 representa la cinta <strong>de</strong> M 2 <strong>de</strong> la siguiente manera (ver Figura 7.5)M 1 : ∗ ∗ BBBA 1 BBB ∗ BBa 2 a 3 a 4 a 5 B ∗ a 6 a 7 a 8 a 9 a 10 B ∗ . . . ∗ ∗✷✷
128ACEPTACIÓN Y GENERACIÓN DE L. ENUMERABLES RECURSIVAMENTE Y RECURSIVOSM : B B B A B B B21BBa a a a2 3 4 5Ba a a a B a6 7 8 9 10BBa a a B a a11 12 13 14 15BBa a16 17BBBFigure 7.5: Representación <strong>de</strong> M 2 usando M 1M 1 también tendrá una segunda cinta, ambas infinitas por ambos lados. Si M 2 hace una movida queno la saca <strong>de</strong>l rectángulo ya representado en la cinta <strong>de</strong> M 1 , si la movida es horizontal, M 1 simplementemueve el marcador <strong>de</strong> la cabeza un lugar; si es vertical, M 1 usa su segunda cinta para contar el número<strong>de</strong> celdas entre la posición <strong>de</strong> la cabeza y el * a su izquierda. Luego M 1 se mueve al * a la <strong>de</strong>recha, si lamovida es hacia abajo, o al * <strong>de</strong> la izquierda si la movida es hacia arriba, y pone la cabeza en la posicióncorrespondiente <strong>de</strong>l nuevo bloque (región entre *’s), usando el contador <strong>de</strong> la segunda cinta.Considérese ahora la situación cuando la cabeza <strong>de</strong> M 2 se mueve fuera <strong>de</strong>l rectángulo representado porM 1 . Si la movida es vertical, se agrega un nuevo bloque <strong>de</strong> blancos a la izquierda o <strong>de</strong>recha, usando lasegunda cinta para contar el largo actual <strong>de</strong> los bloques. Si la movida es horizontal, M 1 usa la técnica <strong>de</strong>correr símbolos para agregar un blanco en el extremo izquierdo o <strong>de</strong>recho <strong>de</strong> cada bloque. Como ** marcael final <strong>de</strong> la región usada para los bloques, M 1 sabe cuándo ha crecido todos los bloques. Luego <strong>de</strong> hacer elespacio necesario, M 1 simula la movida <strong>de</strong> M 2 como ya se ha <strong>de</strong>scrito.7.5.5 Máquinas <strong>de</strong> Varias CabezasUna MT <strong>de</strong> k-cabezas tiene un número fijo, k, <strong>de</strong> cabezas numeradas <strong>de</strong> 1 a k. Una movida <strong>de</strong>pen<strong>de</strong> <strong>de</strong>lestado y <strong>de</strong>l símbolo leído por cada cabeza. En una movida, las cabezas se pue<strong>de</strong>n mover in<strong>de</strong>pendientementehacia la izquierda, <strong>de</strong>recha o permanecer estacionaria.Teorema 38 Si L es aceptado por una MT <strong>de</strong> k cabezas, M 1 , es aceptado por una MT <strong>de</strong> una cabeza, M 2 .Demostración : La prueba es similar a la hecha para el caso <strong>de</strong> máquinas <strong>de</strong> varias cintas. M 2 tiene K + 1pistas en su cinta; la última tiene el contenido <strong>de</strong> la cinta <strong>de</strong> M 1 . La i-ésima pista (1 ≤ i ≤ k) tiene unamarca indicando la posición <strong>de</strong> la i-ésima cabeza.7.5.6 Máquinas Off-LineUna MT off-line es una MT <strong>de</strong> varias cintas, cuya cinta con el string <strong>de</strong> entrada es sólo leíble (read-only).Usualmente se encierra el string <strong>de</strong> entrada entre los símbolos ̸ C (a la izquierda) y $ (a la <strong>de</strong>recha). Lamáquina no pue<strong>de</strong> mover la cabeza fuera <strong>de</strong> la región entre ̸ C y $. Debería ser claro que éste es sólo un caso✷✷