Está en la página 1de 5

Modelos de Computación II Tema 5

Ejercicios Tema 5
Máquinas de Turing

Leonardo Rubio Navarro 75145049-R

1- Sea T una máquina de Turing con la siguientes cuadruplas

q1 B R q 2
q2 1 R q 3
q3 B R q 4
q 4 1 B q1
q4 B R q 4

Para cada entero x, sea g(x) el número de 1 en la cinta cuando y solo cuando
la máquina para. Siendo la configuración inicial una serie de x unos, y la casilla
activa la inmediatamente a la izquierda de esta serie, ¿Cuál es la función g(x)?

La configuración inicial de la cinta para un parámetro X = 11…1n sería la


siguiente:

B 11 … 1n B

q1

La máquina de Turing pasaría a ejecutar la instrucción q1 B R q 2

Una vez en el estado q2, existen dos posibles caminos:

- Que tengamos un valor 1 en la cinta:

Si se produce este caso, se pasará al estado q3 y volveríamos a tener otros


dos posibles caminos:

· Que tengamos un valor 1 en la cinta:

En este caso nuestro programa parará su ejecución

Máquinas de Turing Leonardo Rubio Navarro 75145049-R


Modelos de Computación II Tema 5

· Que tengamos un valor B en la cinta:

Que halla un valor B en la cinta quiere decir que la variable X no


tiene más unos y el resto de la cinta estará relleno de B (cinta
infinita).
Por lo tanto si del estado q3 pasamos al estado q4. Como solo
existe B en la cinta se pasaría a ejecutar la instrucción
q 4 B R q 4 , que crearía un bucle infinito. Por tanto el programa
nunca pararía.

- Que tengamos un valor B en la cinta:

Al no existir una instrucción para este caso el programa pararía llegado a


este punto.

Por lo tanto este programa solo pararía en el caso de que el número de unos
indicado por X fuera distinto de 1.

La función g(x) queda definida de la siguiente forma:

x si # X  1
g ( x) 
 si # X  1

2- Dar definiciones precisas de configuración, cálculo y cálculo de un función f


por una máquina de Turing M.

-Configuración:
Es la situación de la cinta en un momento dado de la ejecución del
programa. Cuando se habla de configuración inicial se refiere a la
disposición de la cinta en el momento antes de ejecutar el programa.

-Cálculo:
Consiste en el algoritmo asociado a unas entradas determinadas mediante
el cual se llega al resultado de la función que estamos calculando.

-Cálculo de función f por una maquina de Turing M:


Significa que el algoritmo para calcular la función f es realizado por una
maquina de Turing M.
La configuración inicial de la cinta contiene las variables de la función.
Quedan introducidas de la siguiente forma:
B X1 B X 2 B ... B X n B
La solución final para la función queda introducida en la cinta de la
siguiente forma:
B Y B

Máquinas de Turing Leonardo Rubio Navarro 75145049-R


Modelos de Computación II Tema 5

3- Describir una máquina de Turing que acepte todas las palabras del alfabeto
{a, b} de forma aibai.

Estados {q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11}
Alfabeto {a,b}

q1 B R q 2
q 2 B R q11
q 2 b R q10
q10 a R q11
q11 b R q11
q2 a B q 3
q3 B R q 4
q4 a R q 4
q4 b R q 5
q 4 B R q11
q5 b R q11
q5 a R q 5
q5 B L q 6
q6 a B q 7
q6 b L q 8
q7 a L q 7
q7 b L q 9
q8 a R q11
q9 a L q 9
q9 B R q 2
q11 B R q11
q11 a R q11
q11 b R q11

Máquinas de Turing Leonardo Rubio Navarro 75145049-R


Modelos de Computación II Tema 5

4- Demostrar que el conjunto *


A  A* del corolario anterior es un lenguaje r.e.

Como tenemos en la demostración del corolario *


A L es r.e, al ser L un
subconjunto de A* al igual que A* ya que
*
A  A*  L
Por lo tanto si para todo conjunto tal que A*  S con S es r.e,
*
 A
podemos afirmar que el conjunto A*  A* es r.e.

5- Demostrar que no existe ninguna máquina de Turing m tal que no existe


ningún algoritmo que pueda determinar si M parará con una cinta
completamente blanca en una entrada dada.

No puede existir una máquina de Turing capaz de resolver el problema de


la parada ya que si fuésemos capaces de resolverlo seriamos capaces de hallar el
programa P en un lenguaje L que realizara un comportamiento equivalente a la
máquina Turing diseñada. Es un problema irresoluble independientemente del
lenguaje en que se implemente ya que el problema está en que no existe un
algoritmo capaz de resolverlo.

Sin la entrada del programa es una cinta completamente blanca siguie


siendo un problema irresoluble.

6- Demostrar que existe una máquina de Turing m con alfabeto {s1, s2} tal que
no existe ningún algoritmo que pueda determinar ante una entrada dada, si
esta máquina imprimirá alguna vez el símbolo s2.

Suponemos que existe un algoritmo capaz de determinar si una máquina


de Turing M llega a imprimir un símbolo determinado. Esto sería equivalente a
decir que existe un algoritmo capaz de calcular si ante una entrada dada, se
puede llegar a un estado que imprima el símbolo deseado

qn B Sa q n 1
qn Si S a q n 1

Tomando Si como cualquier símbolo aceptado por la máquina y Sa como


el símbolo a imprimir.

Pero si fuésemos capaces de calcular si llegamos al estado qn y si qn fuese


el estado final de la máquina, seriamos capaces entonces de resolver mediante
ese algoritmo el problema de la parada. Por lo tanto no puede existir dicho
algoritmo.

7- ¿Se podría realizar un programa que siempre pare y tal que aceptase
programas en Pascal y nos dijese si están libres o no de bucles infinitos?

Máquinas de Turing Leonardo Rubio Navarro 75145049-R


Modelos de Computación II Tema 5

Que un programa este libre de bucles infinitos quiere decir que el programa
termina su ejecución, es decir, que el programa pare.
La caracterización de la función sería la siguiente:
Tomando p como la codificación el programa en pascal.

1 Si el programa no tiene bucles


f (p)  
0 Si el programa tiene bucles
Pero si fuésemos capaces de realizar el programa que realice la función f,
significaría estamos calculando si el programa p para o no, es decir, estamos
resolviendo el problema de la parada, por lo tanto no puede existir tal programa.

8- Sea L el conjunto de todas las palabras del alfabeto {a, b} que contengan al
menos dos b consecutivas, Construir una máquina de Turing no
determinístaca que nunca se mueva a la izquierda y que acepte el lenguaje
L.

Estados {q1, q2, q3, q4, q5}


Lenguaje {a, b}

q1 B R q 2
q2 a R q 2
q2 B B q 2
q2 B B q r
q2 b R q 3
q3 a R q 2
q3 b R q 4
q5 B B q 2

Máquinas de Turing Leonardo Rubio Navarro 75145049-R

También podría gustarte