Você está na página 1de 17

Definicin de una MT

Una Mquina de Turing (MT) es una tupla


donde:

24/06/2015

FCC

Conceptos clave
Mquinas de Turing

Complejidad

Configuracin de una MT.

Tiempo de ejecucin.

Relacin lleva en un paso.

Clases P y NP.

Computacin.

Reduccin polinomial.

Lenguaje decidible.

Problemas NP-completos.

Lenguaje aceptable.

Protocolo de uso.

Mquina Universal de Turing.

Tesis de Church.

Problema indecidible.

24/06/2015

FCC

Ejemplos de mquinas de Turing

Han sido usados como ejemplo o propuestos en el apunte


utilizado como gua.

Los ejercicios a continuacin fueron presentados en clase.

Se han recolectado para disponer de un repositorio nico.

24/06/2015

FCC

MT que borra la entrada

Mquina de Turing que borra todas las as que hay desde el


cabezal hacia atrs, hasta encontrar otro #.
24/06/2015

FCC

MT que computa f () =
Ejemplo 4.4, pg. 79

Se solicita:

24/06/2015

FCC

Formalice MT.
Escriba la tabla de
transiciones.
Describir
funciona
miento, en palabras.
Mostrar ejecucin con
strings de prueba.

MT que calcula f() = R


Ejemplo 4.5, pg. 79

Para esta MT se solicita:

24/06/2015

Escribirla de manera formal.


Describir funcionamiento.
Mostrar ejecucin con strings de prueba.
Encontrar el nmero de pasos que ejecuta.
FCC

MT que decide { {a, b}*, w tiene una


cantidad impar de b's}
Ejemplo 6.1

Formalice
esta
mquina y determine
cuntos
pasos
requiere para una
entrada de largo n.

24/06/2015

FCC

Ejercicios propuestos
1. Escriba una MT que decida si un lenguaje L sobre el alfabeto
{0, 1} tiene igual nmero de 0s y 1s.
2. Escriba una MT que, dado una cadena , compute .
3. Escriba una MT que, dado , calcule + 1.
4. Explique cmo se adapta, si es que es posible, una MT para
que simule un autmata finito.
5. Explique cmo se adapta, si es que es posible, una MT para
que simule un autmata con pila.
6. Para los problemas 1, 2 y 3 anteriores, encuentre una
expresin para el tiempo que utilizar una MT en resolverlo.

24/06/2015

FCC

Ejercicios propuestos
7.Investigue tcnicas de solucin aproximada para algn problema
NP-completo.
8.En los cursos de programacin se estudian tcnicas de
construccin de algoritmos (algoritmos voraces (greedy), dividir
para reinar, etc.) Investigue si existe alguna relacin entre estas
tcnicas y los problemas NP-completos.
9.Un proveedor le ofrece un programa que, dice, puede detectar
ciclos infinitos (loops) en programas sin necesidad de
ejecutarlos. Cual es su respuesta y cmo la justifica?
10.Modifique la MT de la pgina 4 para el caso de un alfabeto de
ceros y unos.

24/06/2015

FCC

Soluciones

24/06/2015

FCC

10

MT que calcula f() = R


Ejemplo 4.5, pg. 79

Para esta MT se solicita:

24/06/2015

Escribirla de manera formal.


Describir funcionamiento.
Mostrar ejecucin con strings de prueba.
Encontrar el nmero de pasos que ejecuta.
FCC

11

La MT M construye la cadena R en forma incremental, copiando


a continuacin de su propia imagen invertida. Para ello:

Marca la posicin actual con un #


Desplaza la cabeza lectograbadora hasta encontrar un # en el
extremo derecho de la cadena en formacin.
Graba en ese punto el mismo smbolo que haba reemplazado
con #.
Retrocede el cabezal hasta encontrar el mismo # grabado
originalmente.
Repone el smbolo que se haba superpuesto con el # para
volver la parte a su estado original.
Desplaza el cabezal a la izquierda para reiniciar el ciclo.

24/06/2015

FCC

12

Primeros movimientos de la MT con la cadena aabb:

Configuracin inicial

^
#

b
^

#
^

^
#

b
^

La cadena se ha ampliado
con el smbolo de ms a la
derecha y el cabezal est
listo para reiniciar el ciclo

24/06/2015

#
^

b
^

^
FCC

13

Formalmente: la MT es una tupla (K, , , s) donde

K = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

= {a, b}

s=0

se representa por la tabla siguiente:


0

2,#

a
b
#

1,

10,

3,

10

3,

4,

1,

3,

4,

10,

4, a

5, a

h, #

10,

La tabla est incompleta. Se deja el completarla como ejercicio.

24/06/2015

FCC

14

MT que decide { {a, b}*, w tiene una


cantidad impar de b's}
Ejemplo 6.1
0

Formalice esta m
quina y determine
cuntos pasos re
quiere
para
una
entrada de largo n.

24/06/2015

FCC

15

El primer paso fue identificar los estados de la mquina. As:

K = {0, 1, 2, 3, 4, 5, 6, 7}

= {a, b} U {S, N}

s=0

se representa por la tabla siguiente:


0

0, #

2, #

2, #

0, #

1,

4,

3,

7,

5, N

6, S
h,

S
h,

N
24/06/2015

FCC

16

Revisando el funcionamiento de la MT se concluye que, apartir


de su configuracin inicial, mueve el cabezal hacia la izquierda
borrando la entrada. Los estados sirven para establecer si la
cantidad de bs es impar o no.
Al terminar, en la cinta quedar una S o una N segn si la
cuenta de las bs es impar o par.
Una forma rpida de estimar el nmero de pasos es observar
que la mquina recorre slo una vez la entrada lo que da un
costo proporcional a n. El costo fijo mnimo ocurre para la
cadena vaca y es 4. Por lo tanto, el tiempo de ejecucin de la
mquina es proporcional a n (lineal).

24/06/2015

FCC

17

Você também pode gostar