Вы находитесь на странице: 1из 34

Mquina de Turing

Definiciones previas
Definicin. Alfabeto: Diremos que un conjunto finito es un alfabeto si y (x)(x x es un smbolo indivisible) Ejemplos ={a,b}, ={0,1}, ={a,b,z} son alfabetos ={0,1,00,01} ={sa,ca,casa} no lo son

Definiciones previas
Definicion. Palabra: Se dice que w es una palabra (cadena o string) sobre si w es una secuencia finita de smbolos de Ejemplos: si ={0,1}, entonces: 0011, 101, 1 son palabras sobre

Definiciones previas
Definicion. Longitud de una palabra: Se denota |w|, es el nmero de smbolos que contiene w. Por ejemplo: |perro|=5 |010|=3 Nota: notaremos con * al conjunto de todas las palabras formadas por smbolos de includa la cadena nula (o vaca) que tiene longitud cero y denotaremos con . (| | = 0) Ejemplo: = {a,b} * = {,a,b,aa,ab,ba,bb,aaa}

Definiciones previas
Concatenacin: La notacin utilizada para denotar la concatenacin de dos palabras w y v es w.v (o simplemente wv). La concatenacin es asociativa pero no conmutativa: (v.w).x = v.(wx) v.w w.v Se cumple que: |v.w|=|v|+|w| La cadena vaca es el elemento neutro para la concatenacion .w = w. = w

Definiciones previas
Definicin. Sea una cadena w y un nmero natural i, se define la potencia i-sima de w como: w0 = w(i+1) = w.w i (i) (i 0 )

Ejemplo: si w = ab, w3 = ababab

Definiciones previas
Definicin. Se denomina lenguaje definido sobre a cualquier subconjunto de * Ejemplo: si = {0,1} * {} {w * / w comienza con 1} {1w0 / w * } Son lenguajes sobre

Caractersticas del proceso de clculo de una persona


Se concentra en una porcin restringida del papel Trabaja con un nmero finito de smbolos Puede cambiar la seccin de papel en que se concentra (de acuerdo al smbolo que observa y a sus estado mental) Pasa por un nmero finito de estados mentales distinguibles Se asume que siempre contar con el papel suficiente para sus clculos (se asume infinito)

Mquina de Turing

En cada instante, la mquina se encuentra en algn estado qi, perteneciente al conjunto finito Q de todos los estados posibles Q={q0,q1,q2, qn}

Configuracin inicial

La cinta inicialmente se encuentra en blanco (smbolo especial B en cada celda), la mquina comienza en un estado inicial q0 apuntando al primer smbolo del string escrito sobre la cinta (si es que ste existe). Obsrvese que dicho string estar limitado por infinitos B a izquierda y derecha.

Comportamiento de la mquina de Turgin


El comportamiento de la mquina est definido por una fucin de transicin (programa) Dependiendo del smbolo en la celda actual y del estado corriente, la mquina efecta las siguientes acciones
1. Cambia de estado (o vuelve a elegir el actual) 2. Escribe un smbolo en la celda actual, reemplazando lo que all haba (puede escribir el mismo smbolo que estaba) 3. Mueve el cabezal a la izaquierda o la derecha, exactamente una celda

Ejemplos

Comportamiento de la mquina de Turgin


El programa de la MT no es un programa secuencial sino que es una funcin matemtica de transicin. La mquina trabaja haciendo pattern matching, es decir, busca en la memoria del programa cul es la lnea (transicin) que debe aplicar. Debe existir slo una lnea que haga pattern matching (si hubiese ms no sera una funcin matemtica). Si no existe ninguna transicin definida para el estado actual y el smbolo ledo en la cinta la mquina se detiene.

Ejemplos

Ejemplos

Actividades
Escribir smbolos 1 a la derecha indefinidamente Escribir smbolos 0 a la izquierda indefinidamente Escribir la palabra casa Escribir indefinidamente casa casa casa casa hacia la izquierda Escribir 1 hacia la derecha y 0 hacia la izquierda en zigzag indefinidamente, es decir me voy a izquierda para escribir un 1 al final, y cambio el sentido hacia la izquierda para escribir un 0, y cambio sentido hacia la derecha, as indefinidamente

Ejercicio
Construir una mquina de Turing que agregue un bit de paridad a una secuencia binaria para que la cantidad de 1 sea par. ={0,1,} El conjunto es el conjunto de smbolos que pueden encontrarse en la cinta. Este dato es importante porque la mquina se detiene cuando se encuentra en una situacin indefinida.

Ejercicio

Qu hacen las siguientes mquinas de Turing?

Ejercicio
Sumar 1 al nmero unario existente en la cinta = {1,B}. En unario, el nmero n se representa como una cadena de n smbolos 1 (el cero es un string vaco). Construir una mquina de Turing que haga un corrimiento a derecha del string binario en la cinta, marcando con un smbolo especial # la cinta que corresponda al primer smbolo desplazado. = {B,#,0,1}. (5 minutos para hacerlo en clase)

Mquina de Turing como reconocedoras de cadenas de smbolos


Alcanza con identificar los estados que se consideran finales (aceptadores). Se dice que una mquina de Turing M acepta un string w M se detiene en un estado final.

Mquina de Turing como reconocedoras de cadenas de smbolos

Mquina de Turing como reconocedoras de cadenas de smbolos

Modelo Estndar de mquina de Turing


Definicin. Una mquina de Turing es una 6-tupla M = <Q, , , , q0, F> tal que: Q es un conjunto finito de estados de M es el alfabeto de la entrada es el alfabeto de la cinta. y B ( ) q0 es el estado inicial de M (q0 Q) F es el conjunto de estados finales de M. (F Q) es la funcin de transicin de M. Se define : Q x Q x x {D, I}, D e I representan el movimiento del cabezal a derecha e izquierda respectivamente.

Modelo Estndar de mquina de Turing

Ejemplo (revisitado)

Ejemplo (revisitado)

Descripcin instantnea de una mquina de Turing

Movimiento de una mquina de Turing

Movimiento de una mquina de Turing

Lenguaje aceptado por una mquina de Turing

Lenguaje aceptado por una mquina de Turing

Lenguaje aceptado por una mquina de Turing

Вам также может понравиться