Lenguajes Turing

Click here to load reader

  • date post

    26-Oct-2015
  • Category

    Documents

  • view

    42
  • download

    0

Embed Size (px)

Transcript of Lenguajes Turing

Presentacin de PowerPoint

LENGUAJES Y AUTMATASPROF. ING. MAXIMILIANO SANTIAGO PREZINTEGRANTES DEL EQUIPO NUMERO 4:-LUIS ALBERTO CORTS ZACARAS-JORGE DAVID CASTILLEJOS RODRGUEZ-JOS GUADALUPE MORALES PREZ- JESS MANUEL TORRES BARAHONA4. MAQUINAS DE TURINGLa mquina de Turing nos proporciona muchas de las caractersticas comnmente asociadas con una computadora moderna. De hecho, la mquina de Turing fue el modelo utilizado para disear y construir la primer computadora de programa almacenado. Esta mquina utiliza una secuencia de operaciones elementales para acceder y alterar una posicin de memoria. A diferencia de una computadora, una mquina de Turing no tiene un lmite de memoria o de tiempo para realizar un clculo. Por ltimo, la mquina de Turing representa lo mximo dentro de los dispositivos de computacin abstractos.

DEFINICIN FORMALUna mquina de Turing, es un modelo computacional que realiza una lectura/escritura de manera automtica sobre una entrada llamada cinta, generando una salida en esta misma.Este modelo est formado por un alfabeto de entrada y uno de salida, un smbolo especial llamado blanco (normalmente b, \ 0), un conjunto de estados finitos y un conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una funcin de transicin, que recibe un estado inicial y una cadena de caracteres (la cinta, la cual puede ser infinita) pertenecientes al alfabeto de entrada. La mquina va leyendo una celda de la cinta en cada paso, borrando el smbolo en el que se encuentra posicionado su cabezal y escribiendo un nuevo smbolo perteneciente al alfabeto de salida, para luego desplazar el cabezal a la izquierda o a la derecha (solo una celda a la vez). Esto se repite segn se indique en la funcin de transicin, para finalmente detenerse en un estado final o de aceptacin, representando as la salida.NOTACIN PARA LA MQUINA DE TURINGPodemos visualizar una mquina de Turing como se muestra en la Figura. La mquina consta de una unidad de control, que puede encontrarse en cualquiera de un conjunto finito de estados. Hay una cinta dividida en cuadrados o casillas y cada casilla puede contener un smbolo de entre un nmero finito de smbolos.

Inicialmente, la entrada, que es una cadena de smbolos de longitud finita elegidos del alfabeto de entrada, se coloca en la cinta. Las restantes casillas de la cinta, que se extiende infinitamente hacia la izquierda y la derecha, inicialmente almacenan un smbolo especial denominado espacio en blanco. El espacio en blanco es un smbolo de cinta, pero no un smbolo de entrada, y pueden existir tambin otros smbolos de cinta adems de los smbolos de entrada y del espacio en blanco. Existe una cabeza de la cinta que siempre est situada en una de las casillas de la cinta. Inicialmente, la cabeza de la cinta est en la casilla ms a la izquierda que contiene la entrada.Un movimiento de la mquina de Turing es una funcin del estado de la unidad de control y el smbolo de cinta al que seala la cabeza. En un movimiento, la mquina de Turing:

Cambiar de estado. El siguiente estado puede ser opcionalmente el mismo que el estado actual.

2. Escribir un smbolo de cinta en la casilla que seala la cabeza. Este smbolo de cinta reemplaza a cualquier smbolo que estuviera anteriormente en dicha casilla. Opcionalmente, el smbolo escrito puede ser el mismo que el que ya se encontraba all.

3. Mover la cabeza de la cinta hacia la izquierda o hacia la derecha. En nuestro formalismo, exigiremos que haya un movimiento y no permitiremos que la cabeza quede estacionaria. Esta restriccin no limita lo que una mquina de Turing puede calcular, ya que cualquier secuencia de movimientos con una cabeza estacionaria podra condensarse, junto con el siguiente movimiento de la cabeza de la cinta, en un nico cambio de estado, un nuevo smbolo de cinta y un movimiento hacia la izquierda o hacia la derecha.Una mquina de Turing con una sola cinta puede definirse como una 7-tuplaM = (Q, , , ,q0,B,F)cuyos componentes tienen el siguiente significado:

Q = El conjunto finito de estados de la unidad de control. = El conjunto finito de smbolos de entrada. = El conjunto completo de smbolos de cinta; siempre es un subconjunto de . = La funcin de transicin. Los argumentos de (q,X) son un estado q y un smbolo de cinta X. El valor de (q,X), si est definido, es (p,Y,D), donde:1. p es el siguiente estado de Q.2. Y es el smbolo de , que se escribe en la casilla que seala la cabeza y que sustituye a cualquier smbolo que se encontrara en ella.3. D es una direccin y puede ser L o R, lo que que nos indica la direccin en que la cabeza se mueve, izquierda (L) o derecha (R), respectivamente.q0 = El estado inicial, un elemento de Q, en el que inicialmente se encuentra la unidad de control.B = es un smbolo denominado blanco, y es el nico smbolo que se puede repetir un nmero infinito de veces.F= El conjunto de los estados finales o de aceptacin, un subconjunto de Q.Extensiones de la Mquina de TuringExisten variaciones al modelo de la mquina de Turing standard. Cada variacin o extensin parece incrementar la capacidad de la mquina, pero la realidad es que los lenguajes aceptados por esas mquinas de Turing extendidas son tambin aceptados por mquinas de Turing Standard.

Mquinas de Turing de MultipistasEn este tipo de mquinas la cinta es dividida en varias pistas. Una posicin en la multipista-cinta contiene n smbolos del alfabeto de la cinta. qjPISTA 1PISTA 2Una posicin en la cinta en una mquina de 2 pistas es representada por un par ordenado [x,y] donde x es el smbolo en pista 1 y y en pista 2. Una transicin lee y escribe la posicin completa de la cinta y se escribe como:

d(qi,[x,y]) = [qj,[z,w],d] donde d es {L,R}

La entrada es puesta en la pista 1. Todas las posiciones en la pista 2 estn en blanco. Aceptacin en este tipo de mquinas de Turing es por medio de estado final. Este tipo de mquinas de Turing, al ser equivalentes a la mquina de Turing standard, acepta lenguajes recursivamente enumerables. Mquinas de Turing de dos direcciones (two-way)Este tipo de mquinas es identico a una mquina de Turing standard excepto que la cinta se extiende indefinidamente en ambas direcciones (izquierda y derecha). En este tipo de mquinas la cadena de entrad puede ser puesta en cualquier lugar de la cinta. Todas las dems posiciones de la cinta se asume que estn en blanco. q0..Se puede colocar un smbolo especial (#) en una posicin para que sea el lmite de la izquierda (como en una mquina standard). Este tipo de mquinas es tambin equivalente al de la mquina standard (aceptan Lenguajes Rec. Enumerables).Mquinas de Mltiple CintasConsiste de k cintas y k cabezas de cintas independientes. Los estados y alfabetos son los mismos que en la mquina standard. La mquina lee las cintas simultneamente pero solo tiene un estado.CINTA 1

CINTA 2

CINTA 3qiUna transicin es determinada por el estado y el smbolo ledo por cada cabeza de cinta. Una transicin puede cambiar el estado escribir un smbolo en cada cinta independientemente reposicionar cada cabeza de cinta.

El reposicionamiento consiste de mover la cabeza de la cinta un cuadro a la izquierda o la derecha o incluso dejar la cabeza en su posicin actual. La entrada a la mquina es puesta en la cinta 1. Todas las dems cintas estarn en blanco.Al igual que en las mquinas anteriores este tipo de mquinas acepta lenguajes Rec. Enumerables.4.2 Construccin modular de una MT CONSTRUCCIN MODULAR DE MQUINAS DE TURING

Mediante esta tcnica se puedan desarrollarse maquinas de Turing complejas a partir de bloques de elementales a partir de maquinas mas pequeas mediaste diagramas de transiciones.

La construccin de maquinas de Turing se lleva a cabo mediante los diagramas de transicin y combinarlos de manera parecida a lo que se realiza en la formacin de la unin y concatenacin de los autmatas finitos.

- Construccin de mquinas de Turing complejas a partir de bloques elementales.

- Transferencia de control entre mquinas: M1 M2

Pasos para la construccin de una mquina de Turing

1.-Elimine las caractersticas de inicio de los estados iniciales de las maquinas, excepto la de aquel donde iniciara la maquina compuesta.2.-Elimine las caractersticas de detencin de los estados de parada de todas la maquinas e introduzca un nuevo estado de parada que nos se encuentre en ninguno de los diagramas que se combinan.3.-Para cada uno de los antiguos estados de parada p y cada x en y.

Ejemplificacin dedicha construccin

Los diagramas compuestos para la construccin modular de una mquina de Turing son aquellos en los que cada uno de los bloques de construccin se representa como un nodo, con flechas entre dichos nodos para indicar las transiciones entre bloques. Se puede combinar dos mquinas de Turing permitiendo que compartan la misma cinta y, que cuando una termine su ejecucin, la otra empiece. El contenido de la cinta cuando comienza la ejecucin de la segunda mquina de Turing, est formado por todo lo que dej la primera mquina de Turing, y la cabeza de l/e de la segunda se situar, al comienzo de la ejecucin, sobre la celda de la cinta sobre la que termin la primera.Unsistema Turing completoes aquel que puede simular el comportamiento de una mquina de Turing. Es evidente que salvando los problemas de memoria, los ordenadores modernos y los lenguajes de programacin de uso general, son sistemas de Turing completos. Tambin es evidente, que con independencia de su forma concreta, cualquier dispositivo que se comporte como un sistema de Turing completo, puede en principio ejecutar cualquier clculo que realice cualquier computador.Nota: Observe que la anterior afirmacin no menciona para nada la posible dificultad de escribir el programa o del tiempo que pueda emplear en realizar el clculo (cualquier clculo que pueda hacer un ordenador puede tericamente efectuarse con papel y lpiz).

Una mquina de Turing es