Top Banner
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA EDUCACIÓN SUPERIOR UNIVERSIDAD NACIONAL EXPERIMENTAR SIMÓN RODRÍGUEZ. NUCLEO: VALLES DEL TUY CURSO: ALGEBRA LINEAL MÁQUINA DE TURING Y OPERACIONES BINARIAS INTEGRANTES: Jonathan Peñaloza. C.I: 14.609.982
60

Maquina de Turing

Oct 03, 2015

Download

Documents

Matematica
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

REPBLICA BOLIVARIANA DE VENEZUELAMINISTERIO DEL PODER POPULAR PARA EDUCACIN SUPERIORUNIVERSIDAD NACIONAL EXPERIMENTAR SIMN RODRGUEZ.NUCLEO: VALLES DEL TUY CURSO: ALGEBRA LINEAL

MQUINA DE TURING Y OPERACIONES BINARIAS

INTEGRANTES: Jonathan Pealoza. C.I: 14.609.982

FACILITADOR: Lic. Ernesto M. Aquino.

Santa Teresa de Tuy, 25 Octubre 2013 INDICE Pp

NDICE..02

MQUINAS DE TURING......................................................................04

MQUINAS DE TURING COMO ACEPTADORAS DE LENGUAJES04SUBRUTINAS O MACROS...........................................14MQUINAS DE TURING COMO GENERADORAS DE LENGUAJES18VARIACIONES DEL MODELO ESTNDAR DE MT.20ESTADO DE ACEPTACIN NICO....20MQUINA DE TURING CON CINTA DIVIDIDA EN PISTAS...21MQUINAS DE TURING NO-DETERMINISTAS (MTN)...25SIMULACIN DE AUTMATAS POR MEDIO DE MQUINAS DE TURING.28SIMULACIN DE AUTMATAS............................28SIMULACIN DE AUTMATAS CON PILA..29PROPIEDADES DE CLAUSURA DE LOS LENGUAJES RE Y DE LOS LENGUAJE RECURSIVOS33MQUINAS DE TURING COMO CALCULADORAS DE FUNCIONES.................................39LA TESIS DE CHURCH-TURING41OPERACIONES BINARIAS...42

PROPIEDAD CONMUTATIVA..44PROPIEDAD ASOCIATIVA...45

BIBLIOGRAFA47

MQUINAS DE TURING

En este captulo se presenta la Maquina de Turing (MT) que es el modelo de autmata con mxima capacidad computacional: la unidad de control puede desplazarse a izquierda o a derecha y sobre escribir smbolos en la cinta de entrada.

MQUINAS DE TURING COMO ACEPTADORAS DE LENGUAJES

Una mquina de Turing (MT), M = (Q, q0, F,, , b, ), consta de siete componentes:1. Q es el conjunto (finito) de estados.2. q0 2 Q es el estado inicial.3. F es el conjunto de estados finales o de aceptacin? 6= F Q.4. es el alfabeto de entrada.5. es el alfabeto de cinta, que incluye a , es decir, .6. b 2 es el smbolo blanco (el smbolo b no puede hacer parte del alfabeto de entrada ).7. 7. es la funcin de transicin de la mquina:

es una funcin parcial, es decir, puede no estar definida en algunos elementos del dominio. La flecha denota desplazamiento a izquierda mientras que! denota desplazamiento a la derecha. La transicin

Significa: estando en el estado q, escaneando el smbolo a, la unidad de control borra a, escribe b y se mueve en el estado p, ya sea a la izquierda (si el desplazamiento D es ) o a la derecha (si D es!).

Una mquina de Turing M procesa cadenas de entrada w 2 colocadas sobre una cinta infinita en ambas direcciones. Para procesar una cadena de entrada w, la unidad de control de M est en el estado inicial q0 escaneando el primer smbolo de w. Las dems celdas o casillas de la cinta contienen el smbolo blanco b.

Descripcin o configuracin instantnea. Es una expresin de la forma

Donde los smbolos a1, . . . , an pertenecen al alfabeto de cinta y q 2 Q. Esta expresin representa el estatus actual del cmputo:

Es decir, la descripcin instantnea a1a2 ai1qai an indica que la unidad de control de M est en el estado q escaneando el smbolo a1. Se supone que las casillas en las que no aparecen aes contienen el smbolo blanco, b. Ejemplos concretos de descripciones instantneas son:

La configuracin o descripcin instantnea inicial, o simplemente configuracin inicial, es

Siendo w la cadena de entrada, la cual se coloca en cualquier parte de la cinta de entrada. Paso computacional. El paso de una descripcin instantnea a otra, por medio de una transicin definida por , se denomina un paso computacional y se denota por

Aqu u1, u2, v1, v2 2 y p, q 2 Q. Un ejemplo concreto es

En la cual la mquina utiliz la transicin (q2, b) = (q1, c,). La notacin

Significa que M puede pasar de la descripcin instantnea u1qu2 a la descripcin instantnea v1pv2 en cero, uno o ms pasos computacionales.

Cmputos especiales. Durante el cmputo o procesamiento de una cadena de entrada hay dos situaciones especiales que se pueden presentar:1. El cmputo termina porque en determinado momento no hay transicin definida.2. El cmputo no termina; esto es lo que se denomina un bucle infinito. Esta situacin se representa con la notacin

La cual indica que el cmputo que se inicia en la descripcin instantnea u1qu2 no se detiene nunca.

Un detalle para tener en cuenta es que las transiciones con smbolo b,(q, b) = (p, s,D), no son las mismas transiciones usadas para autmatas en captulos anteriores. Una transicin en un autmata tiene lugar independientemente del smbolo ledo y la unidad de control permanece estacionaria, mientras que una transicin (q, b) = (p, s,D) en una MT requiere} que el smbolo blanco b est escrito en la casilla escaneada; adems, la unidad de control sobre-escribe el blanco y realiza un desplazamiento D.

Lenguaje aceptado por una MT. Una cadena de entrada w es aceptada por una MT M si el cmputo que se inicia en la configuracin inicial q0w

Termina en una configuracin instantnea w1pw2, p estado de aceptacin, en la cual M se detiene completamente. El lenguaje L(M) aceptado por una MT M se define entonces como

La nocin de aceptacin para mquinas de Turing es ms flexible que para autmatas: una cadena de entrada no tiene que ser leda en su totalidad para que sea aceptada; slo se requiere que la mquina se detenga completamente, en un momento determinado, en un estado de aceptacin.

Para simplificar los argumentos sobre mquinas de Turing, en el modelo estndar se supone que la unidad de control siempre se detiene al ingresar a en un estado de aceptacin. Es decir, no se permiten transiciones (q, a) cuando q 2 F.

Las mquinas de Turing originan las siguientes clases de lenguajes:1. L es un lenguaje recursivamente e numerable (RE) si existe una MTM tal que L(M) = L.2. L es un lenguaje recursivo si existe una MT M tal que L(M) = L y M se detiene con todas las cadenas de entrada. Las denominaciones lenguaje recursivamente e numerable y lenguaje recursivo pueden parecer un tanto extraas; esta terminologa es anterior a la aparicin de las mquinas de Turing y se ha mantenido vigente hasta el presente. En el Teorema 6.6.3 se justificar a la denominacin recursivamente e numerable (RE) al establecerse que para todo lenguaje RE se puede construir una MT que enumere secuencialmente sus cadenas.

Obviamente, todo lenguaje recursivo es recursivamente e numerable, pero la afirmacin reciproca no es (en general) valida, como se demostrar a en la seccin 7.5.

Diagrama de estados o diagrama de flujo de una MT. La funcin de transicin de una MT se puede presentar como un diagrama de estados o diagrama de flujo. As, la transicin (q, a) = (p, b,!) se representa por

Unidad de control estacionaria. Para simplificar la descripcin del modelo estndar, se ha exigido que la unidad de control se desplace hacia la izquierda o hacia la derecha en cada transicin. No obstante, se puede permitir que la unidad de control no se mueva en un determinado paso computacional, es decir, que no realice ningn desplazamiento. Este tipo de transicin lo escribimos en la forma:

Donde a, b 2 ; p, q 2 Q y significa que la unidad de control no se mueve. Tal transicin se puede simular por medio de un movimiento a la derecha seguido de un retorno a la izquierda. As, para simular la transicin (q, a) = (p, b,) utilizamos un estado auxiliar nuevo q0 y las transiciones:

La directriz de no-desplazamiento tambin se puede simular con un movimiento a la izquierda seguido de un retorno a la derecha. En cualquier caso, concluimos que las MT en las que hay transiciones estacionarias, (q, a) = (p, b,), aparte de las transiciones normales, aceptan los mismos lenguajes que las MT estndares. Ntese que las transiciones estacionarias se asemejan a las transiciones en autmatas, excepto por el hecho de que las mquinas de Turing tienen la capacidad de sobre-escribir los smbolos escaneados.

Como se demostr en la seccin 4.11; es decir, L no puede ser aceptado por ningn autmata con pila. Sea M la MT con parmetros

Y cuya funcin de transicin est representada por el siguiente diagrama:

La idea utilizada para el diseo de esta MT se puede describir as: la unidad de control cambia la primera a por X y se mueve a la derecha hasta encontrar la primera b, la cual se sobre-escribe por una Y. Luego se mueve hacia la derecha hasta encontrar la primera c, la cual se cambia por Z. El control retrocede entonces hacia la izquierda en busca de la primera X que encuentre en su camino; este retorno se hace en el estado q3. La mquina avanza luego hacia la derecha, hasta la primera a que quede en la cinta, y todo el proceso anterior se repite. Si la cadena de entrada tiene la forma requerida, todas las aes sern reemplazadas por Xs, las bes por Y s y las ces por Zs. Una vez terminada la transformacin, el control se mueve hacia la derecha, en el estado q4, hasta encontrar la primera celda marcada con el smbolo blanco b. La MT est diseada de tal forma que si la cadena de entrada no tiene la forma requerida, el procesamiento terminara en un estado diferente del estado de aceptacin q5. A continuacin procesamos la cadena de entrada w = aabbcc E L.

La cadena de entrada w = aaabbcc, que no est en L, se procesa as:

Por otro lado, la cadena abbbcc, que tampoco est en L, se procesara as:

Ejemplo: Disear MT que acepten los siguientes lenguajes sobre el alfabeto dado. Escribir explcitamente la idea utilizada en el diseo de la mquina y hacer su diagrama de estados.1. L = {a2ibi : i 1}. Alfabeto: = {a, b}.2. L = {aib2i : i 1}. Alfabeto: = {a, b}.3. L = {aibjai+j : i 0, j 1}. Alfabeto: = {a, b}.4. L = {w 2 : w tiene el mismo nmero de ceros que de unos}. Alfabeto: = {0, 1}.5. L = {w 2 : w = wR}. Alfabeto: = {0, 1}.6. L = {wwR : w 2 }. Alfabeto: = {0, 1}.

SUBRUTINAS O MACROS

Hay procedimientos intermedios, como copiar o trasladar cadenas, que se repiten frecuentemente en el diseo de mquinas de Turing. Es til identificar algunos de estos procedimientos, llamados subrutinas o macros, para simplificar el diseo de mquinas ms complejas. Los macros se pueden considerar como mquinas de Turing con estado inicial pero sin estados de aceptacin.

Ejemplo: Macro TI, traslacin a la izquierda. Este macro toma una cadena de entrada y la traslada una casilla hacia la izquierda. Si la entrada es la cadena a1a2 ak, la accin de TI se puede representar en la forma.

La flecha l indica que las casillas sealadas sobre la cinta coinciden. Los smbolos subrayados en las dos cintas representan los smbolos ledos por la unidad de control al iniciar y al terminar el macro, respectivamente. La MT que aparece a continuacin sirve para implementar el macro TI cuando el alfabeto de entrada es {a, b, c}:

A continuacin definimos algunos otros macros tiles; se solicita al lector disear MT que los implementen. Macro TD, traslacin a la derecha. Traslada la cadena de entrada una casilla a la derecha:

Macro BI, primer blanco a la izquierda. Busca el primer smbolo b a la izquierda de una cadena w que no posee blancos:

Macro BD, primer blanco a la derecha. Busca el primer smbolo b a la derecha de una cadena w que no posee blancos:

Macro NBI, primer smbolo no-blanco a la izquierda. Busca el primer smbolo diferente de b a la izquierda de una cadena de blancos:

Macro NBD, primer smbolo no-blanco a la derecha. Busca el primer smbolo diferente de b a la derecha de una cadena de blancos:

Macro COPD, copia a la derecha. Copia la cadena w a la derecha de s misma, separando las dos w por un blanco b. La cadena w no posee blancos:

Macro COPI, copia a la izquierda. Copia la cadena w a la izquierda de s misma, separando las dos w por un blanco b. La cadena w que no posee blancos:

Macro INT, intercambio. Intercambia las cadenas u y v (estas cadenas no poseen blancos y no necesariamente son de la misma longitud):

Ejercicios:1. Disear MT que implementen los macros TD, BI, BD, NBI, NBD, COPD, COPI e INT cuando el alfabeto de entrada es {a, b}.2. Disear MT que implementen los macros TD, BI, BD, NBI, NBD, COPD, COPI e INT cuando el alfabeto de entrada es {0, 1, 2}.3. Sea = {a, b}. Disear MT para los siguientes macros: TI2. Traslada la cadena de entrada 2 casillas a la izquierda. TD2. Traslada la cadena de entrada 2 casillas a la derecha TIk. Traslada la cadena de entrada k casillas a la izquierda (k es un entero fijo 1). TDk. Traslada la cadena de entrada k casillas a la derecha (k es un entero fijo 1).

MQUINAS DE TURING COMO GENERADORAS DE LENGUAJES

Otra faceta importante de las MT es su capacidad para generar lenguajes, tarea para la cual no son necesarios los estados de aceptacin. Concretamente, una MT M = (Q, q0,, , b, ) genera el lenguaje L si1. M comienza a operar con la cinta en blanco en el estado inicial q0.2. Cada vez que M retorna al estado inicial q0, hay una cadena u perteneciente al lenguaje L escrita sobre la cinta.3. Todas las cadenas de L son, eventualmente, generadas por M.

Ejemplo: La siguiente MT genera cadenas con un nmero par de aes sobre el alfabeto = {a}, o sea, el lenguaje L = {a2i : i 1}.

Ejemplo: La siguiente MT genera todas cadenas de ceros y unos en el orden lexicogrfico (las cadenas se ordenan por longitud y las cadenas de la misma longitud se ordenan ortogrficamente de izquierda a derecha, considerando 0 < 1): 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, 101, 110, 111, 0000, 0001

Ejercicios:1. Disear MT que generen los siguientes lenguajes:

2. Modificar la MT del ltimo ejemplo de esta seccin para disear una MT que genere todas las cadenas de {a, b, c} en orden lexicogrfico. Ayuda: no se necesitan ms estados.3. Sea un alfabeto de n smbolos, = {a1, a2, . . . , an}. Modificar la MT del ltimo ejemplo de esta seccin para disear una MT que genere en orden lexicogrfico. Ayuda: no se necesitan ms estados.

VARIACIONES DEL MODELO ESTNDAR DE MT

El modelo estndar de MT es susceptible de varias modificaciones que no alteran la clase de lenguajes aceptados. Las variaciones que estudiaremos aaden recursos computacionales a las mquinas, individualmente consideradas, pero la capacidad de cmputo no se incrementa en general: los modelos son equivalentes al modelo estndar. Indicaremos como se pueden simular los nuevos modelos por medias mquinas estndares.

Recurdese que en el modelo estndar, una MT siempre se detiene cuando la unidad de control ingresa en un estado de aceptacin. Es decir, no se permiten transiciones (q, a) cuando q 2 F.

ESTADO DE ACEPTACIN NICO

Toda MT se puede convertir, sin alterar el lenguaje aceptado, en una mquina con un nico estado de aceptacin. Esto se consigue fcilmente aadiendo transiciones desde los estados de aceptacin originales hasta el nico estado de aceptacin qf , el cual es un estado nuevo. Las transiciones necesarias son de la forma:

Para todo q estado de aceptacin original y todo a 2 . De esta manera, se puede considerar que toda MT tiene un nico estado inicial y un nico estado de aceptacin. Este es un hecho importante para la codificacin binaria de mquinas de Turing.

MQUINA DE TURING CON CINTA DIVIDIDA EN PISTAS

En el modelo multi-pista, la cinta est dividida en un nmero finito k de pistas, como se muestra en la siguiente figura:

La funcin de transicin adquiere la siguiente forma:

Donde los ai y los bi son smbolos del alfabeto de cinta y D es , ! o . En un paso computacional, la unidad de control cambia simultneamente el contenido de las k pistas de la celda escaneada y realiza luego uno de los desplazamientos!, o .

Simulacin. Las mquinas de Turing que actan sobre una cinta dividida en k pistas aceptan los mismos lenguajes que las MT estndares. Para concluir tal afirmacin, basta considerar el modelo multi-pistas como una MT normal en la que el alfabeto de cinta est formado por el conjunto de k-uplas (s1, s2, . . . , sk), donde los si 2 . Es decir, el nuevo alfabeto de cinta es el producto cartesiano k = (k veces).

Ejemplo: Las pistas se usan por lo general para sealar con marcas o marcadores ciertas posiciones en la cinta. La MT diseada en el ejemplo de la seccin 6.1 para aceptar el lenguaje L = {aibici : i 1} utiliza implcitamente la idea de marcadores: reemplazar las as por Xs, las bes por Y s y las ces por Zs no es otra cosa que colocar las marcas X, Y y Z en las posiciones deseadas. Estas marcas se pueden colocar en una pista diferente, sin necesidad de sobre-escribir los smbolos de la cadena de entrada.

Mquina de Turing con mltiples cintas En el modelo multi-cintas hay k cintas diferentes, cada una dividida en celdas o casillas, como se muestra en la figura que aparece en la parte superior de la pgina siguiente.

Inicialmente, la cadena de entrada se coloca en la primera cinta y las dems cintas estn llenas de blancos. En un paso computacional, la unidad de control cambia el contenido de la casilla escaneada en cada cinta y realiza luego uno de los desplazamientos!, o . Esto se hace de manera independiente en cada cinta; el control tiene entonces k visores que actan independientemente en cada cinta. La funcin de transicin tiene la siguiente forma: Donde los ai y los bi son smbolos del alfabeto de cinta , y cada Di es un desplazamiento !, o .

Simulacin. A pesar de que el modelo multi-cinta parece, a primera vista, ms poderoso que el modelo estndar, resulta que una MT con mltiples cintas se puede simular con una MT multi-pista. A continuacin bosquejaremos el procedimiento de simulacin.

Una MT con k cintas se simula con una MT que acta sobre una nica cinta dividida en 2k + 1 pistas. Cada cinta de la mquina multi-cinta da lugar a 2 pistas en la mquina simuladora: la pista superior simula la cinta propiamente dicha y la inferior tiene todas sus celdas en blanco, excepto una, marcada con un smbolo especial X, que indica la posicin actual del visor de la mquina original en dicha cinta. La pista adicional de la mquina simuladora se utiliza para marcar, con un smbolo especial Y , las posiciones ms a la izquierda y ms a la derecha de la unidad de control en la mquina original. Para simular un solo paso computacional, la nueva mquina requiere hacer mltiples recorridos a izquierda y a derecha, actualizando el contenido de las pistas y la posicin de los marcadores X y Y .

Ejemplo: Disear una MT con dos cintas que acepte el lenguaje L = {aibici : i 0}.

Solucin: Una MT con dos cintas es ms fcil de disear que la MT estndar presentada en el segundo ejemplo de la seccin 6.1. La idea es copiar en la segunda cinta una X por cada a leda y, al aparecer las bes, avanzar hacia la derecha en la primera cinta y hacia la izquierda en la segunda. Al aparecer las ces se avanza hacia la derecha en ambas cintas. Si la cadena de entrada tiene la forma aibici, se detectara simultneamente el smbolo en blanco b en ambas cintas.

La funcin de transicin requerida para implementar esta idea es:

Se han utilizado cuatro estados, siendo q4 el nico estado de aceptacin.

MQUINAS DE TURING NO-DETERMINISTAS (MTN)

En el modelo no-determinista se permite que, en un paso computacional, la unidad de control escoja aleatoriamente entre varias transiciones posibles. La funcin tiene la siguiente forma:

Donde los ai y los bi son smbolos del alfabeto de cinta , los pi son estados y cada Di es un desplazamiento !, o .

La nocin de aceptacin en una MTN es similar a la de los modelos no deterministas de autmatas considerados antes: una cadena de entrada w es aceptada si existe por lo menos un cmputo a partir de la configuracin inicial q0w, y que termina en la configuracin u1pu2, con p 2 F. Como antes, los cmputos en los cuales la mquina se detiene en un estado de no aceptacin, o en los cuales no se detiene, son irrelevantes para la aceptacin.

Simulacin. Una MTN no tiene mayor poder computacional que una MT estndar, es decir, una MTN se puede simular con una MT, como lo explicaremos a continuacin. Sea M una MTN; se bosquejara la construccin de una MT M0 tal que L(M) = L(M0). Sea n el nmero mximo de transiciones en los conjuntos (q, a), considerando todo smbolo a 2 y todo estado q 2 Q. Para cada a 2 y q 2 Q, las transiciones contenidas en (q, a) se pueden enumerar entre 1 y n. Si hay menos de n transiciones en un (q, a) particular, se repite arbitrariamente una de ellas hasta completar n. De esta manera, cada una de las transiciones (q, a) se puede considerar como un conjunto de n opciones indexadas:

En algunos (q, a) habr opciones repetidas, pero esta repeticin no altera el lenguaje aceptado.

La MT M0 que simulara a M tendr tres cintas. La primera cinta almacena la entrada, la segunda genera de forma sistemtica todas las secuencias finitas de nmeros entre 1 y n: primero las secuencias de longitud 1, luego las secuencias de longitud 2, luego las de longitud 3 y as sucesivamente (para esto se puede usar una subrutina como la construida en el ejercicio 3 de la seccin 6.3).

Para cada secuencia i1i2 ik generada en la cinta 2, M0 copia la cadena de entrada sobre la cinta 3 y simula la computacin de k pasos que hace sobre ella la mquina original M, utilizando en el paso j la opcin con ndice j en el (q, a) correspondiente. Si M0 se detiene en un estado de aceptacin, entonces tanto M como M0 aceptan la entrada. Si el cmputo simulado no termina en la aceptacin, M0 borra el contenido de las cintas 2 y 3, genera otra secuencia en la cinta 2, copia de nuevo la entrada en la cinta 3 e inicia una nueva simulacin. Si la entrada es aceptada por la mquina original, existir un cmputo que se detiene en un estado de aceptacin y, eventualmente,M0 encontrara y simulara tal cmputo.

Ejercicios: Disear mquinas de Turing multi-pistas que acepten los siguientes lenguajes. Escribir explcitamente la idea utilizada en el diseo.

Disear mquinas de Turing multi-cintas que acepten los siguientes lenguajes. Escribir explcitamente la idea utilizada en el diseo.

SIMULACIN DE AUTMATAS POR MEDIO DE MQUINAS DE TURING

En esta seccin veremos que los autmatas simples (AFD, AFN o AFN-) y los autmatas con pila (AFPD o AFPN) se pueden simular con mquinas de Turing: dado un autmata M se puede construir una MT que acepte el mismo lenguaje que M. Usando estas simulaciones se podr concluir que tanto los lenguajes regulares como los independientes del contexto son recursivos.

SIMULACIN DE AUTMATAS

Un autmata (sin pila) se puede simular con una mquina de Turing: primero se convierte en un AFDM = (Q, q0, F,, ) equivalente, usando las tcnicas del Captulo 2. Luego se construye una MT M0 tal que L(M) = L(M0) aadiendo un nuevo estado qf , que ser el nico estado de aceptacin de M0, y transiciones desde los estados de F hasta qf , en presencia del smbolo blanco b. Es decir, M0 = (Q0, q0, F0,, , b, 0) donde.

Ntese que la MT M0 as construida se detiene con cualquier entrada w. n Puesto que los lenguajes regulares son precisamente los aceptados por los AFD, hemos establecido el siguiente teorema. Teorema. Todo lenguaje regular es recursivo.

SIMULACIN DE AUTMATAS CON PILA

Sea M = (Q, q0, F,, , s0, ) un autmata con pila. Para simular a M se puede construir una MT M0 que acte sobre dos cintas: la primera cinta simula la cinta de entrada y la segunda simula la pila del autmata. M0 ser una MT determinista o no-determinista dependiendo de si el autmata dado es un AFPD o un AFPN. Se define M0 = (Q0, q0, F0,, 0, b, ) por medio de.

La MT M0 coloca inicialmente el smbolo inicial de pila sobre la cinta 2:

Una transicin de la forma (q, a, s) = (p, ) se simula con varias transiciones: se trata de lograr que M sobre-escriba el smbolo s en la cinta 2, que representa el tope de la pila, por la cadena . Por ejemplo, la transicin (q, a, s) = (p, a1a2a3) se simula aadiendo un estado auxiliar qe junto con las transiciones.

Para no alterar el lenguaje aceptado, cada transicin de este tipo requiere la adicin de un estado especial qe diferente. Una transicin del autmata M, (q, , s) = (p, ), se simula de manera similar: la posicin de la unidad de control y el contenido de la primera cinta no cambian durante el procedimiento. Finalmente, se debe aadir la transicin.

Lo anterior muestra que el comportamiento del autmata M se simula completamente con la MT M0 y se tiene que L(M) = L(M0). Ntese que la MT as construida no necesariamente se detiene con todas las cadenas de entrada ya que el autmata original M puede ingresar a un bucle infinito con transiciones que inserten y extraigan indefinidamente smbolos en la pila. Por consiguiente, para concluir que todo LIC es recursivo es necesario restringir primero las transiciones del autmata. En la demostracin del siguiente teorema se indica cmo hacerlo.

Demostracin. Sabemos que un LIC L dado se puede generar con una GIC G en FNC en la que la variable inicial no sea recursiva. En G no hay transiciones , excepto posiblemente S! . A partir de G podemos construir un AFPN M tal que L(G) = L(M) = L usando el procedimiento del Teorema 5.4.1, y luego una MTM0 que simule aM, en la forma indicada arriba. Se puede observar que M y M0 siempre se detienen al procesar una cadena de entrada cualquiera: no ingresan nunca en bucles infinitos debido al tipo restringido de las transiciones que surgen de la gramtica G. Con ayuda de los teoremas 6.5.1 y 6.5.2, podemos establecer las relaciones de contenencia entre las colecciones de lenguajes estudiadas hasta ahora (sobre un alfabeto dado): Regulares & LIC $ Recursivos $ Recursivamente Enumerables $ .

Teorema. Todo LIC es un lenguaje recursivo.

Sabemos que hay lenguajes recursivos que no son LIC y lenguajes LIC que no son regulares. En el prximo captulo se mostrara que existen lenguajes RE que no son recursivos y lenguajes que no son RE. Por tal razn, todas las contenencias anteriores son estrictas. En la siguiente tabla se muestra, a manera de resumen, la relacin entre los lenguajes estudiados y las mquinas que los aceptan.

Ejercicios: Simular el siguiente AFD por medio de una MT M y hacer el diagrama de estados de la mquina M.

Simular por medio de una MT M el autmata de pila del primer ejemplo de la seccin 5.1, el cual acepta el lenguaje {aibi : i 1} sobre el alfabeto = {a, b}, y cuya funcin de transicin es:

PROPIEDADES DE CLAUSURA DE LOS LENGUAJES RE Y DE LOS LENGUAJE RECURSIVOS

En esta seccin presentaremos algunas propiedades de clausura de los lenguajes recursivos y de los RE; en los ejercicios del final de la seccin aparecen otras propiedades similares.

Teorema. 1. El complemento de un lenguaje recursivo tambin es recursivo.2. La unin de dos lenguajes recursivos es recursivo.3. La unin de dos lenguajes RE es RE.

Demostracin.

1. Sea L un lenguaje recursivo aceptado por la MT M. La mquina M se detiene con cualquier entrada, ya sea en un estado de aceptacin o en uno de rechazo. Se puede construir una MT M0 que acepte a L, haciendo que los estados de aceptacin de M dejen de serlo en M0. De esta forma, las cadenas aceptadas por M sern rechazadas por M0. Adicionalmente, desde los estados de no-aceptacin en los cuales M se detiene, definimos transiciones a un estado (nuevo) de aceptacin de M0. De esta forma, las cadenas no aceptadas por M si sern aceptadas por M0. Por consiguiente, L(M0) = L.

2. Sean L1 y L2 dos lenguajes recursivos aceptados por las MT M1 y M2, respectivamente. Construimos una MT M con dos cintas que simule a M1 en la primera cinta y a M2 en la segunda. M procesa inicialmente la entrada en la primera cinta; si M1 acepta, M tambin aceptara. Si M1 se detiene en un estado de no-aceptacin, M proceder a procesar la entrada en la segunda cinta, simulando a M2. Si M2 acepta, M tambin aceptara pero si M2 se detiene en un estado de rechazo, M tambin se detendr y no aceptara. Puesto que tanto M1 como M2 siempre se detienen, L(M) = L1 [ L2.

3. El procedimiento del numeral anterior ya no sirve en este caso porque es posible que M1 o M2 nunca se detengan al procesar una entrada particular. En lugar de una simulacin consecutiva de las mquinas dadas, se necesita que M simule simultneamente a M1 y a M2. Para lograrlo utilizamos tambin dos cintas, la primera para simular a M1 y la segunda para simular a M2. En cada paso computacional, M simula un paso de M1 y uno de M2.

Resulta muy instructivo presentar explcitamente una maquina M que implemente la anterior idea intuitiva. Aparte de los estados especiales qe y qf , definidos ms adelante, los estados de M son parejas de la forma (p, q), donde p es un estado de M1 y q un estado de M2. Cada par de transiciones

Da lugar a la siguiente transicin en la mquina M:

Si alguno de los estados q1 o q2 es un estado de aceptacin de M1o M2, respectivamente, hacemos que M ingrese y se detenga en un estado qf (estado nuevo), que ser el nico estado de aceptacin de M. Esto se consigue con la transicin.

Tambin hay que permitir que M siga operando en una de las cintas incluso si se ha detenido en la otra cinta en un estado de no aceptacin. Por ejemplo, si 1(q1, s1) no est definida en M1, pero 2(q2, s2) = (p2, r2,D2) es una transicin de M2, definimos

Donde qe es un estado especial (nuevo). Por medio de esta transicin, cuando M ingrese en el estado qe en alguna de las cintas, se detendr en dicha cinta pero contina la simulacin en la otra. Si M ingresa al estado (qe , qe), se detendr sin aceptar.

El siguiente teorema establece una importantsima conexin entre las nociones de lenguaje recursivo y lenguaje RE, la cual se puede demostrar como consecuencia del Teorema.

Teorema. Un lenguaje L es recursivo si y slo si L y su complemento L son RE. Demostracin. En la direccin izquierda a derecha, la conclusin es directa: si L es recursivo, obviamente es RE. L es tambin recursivo (parte 1 del Teorema.) y por lo tanto RE.

La parte esencial de este teorema es la otra direccin: si L y L son RE, entonces L debe ser recursivo. Para verlo, partimos de dos mquinas M1 y M2 que acepten a L y L, respectivamente. Construimos luego una MT M que simule simultneamente a M1 y M2, tal como se hizo en la parte 3 del Teorema. Puesto que para una entrada w slo hay dos posibilidades, w 2 L o w 2 L, entonces la mquina M eventualmente se detendr en la cinta 1 o en la cinta 2. En el primer caso, M acepta la entrada y en el segundo caso la rechaza. Como M se detiene con toda entrada, L es recursivo.

El siguiente teorema justifica la denominacin recursivamente enumerable para los lenguajes aceptados por mquinas de Turing.

Teorema. Para todo lenguaje L aceptado por una MT M, se puede construir una MT M0 que enumere secuencialmente las cadenas de L.

Bosquejo de la demostracin. La MT M0 tendr tres cintas. Las cadenas de L sern enumeradas secuencialmente en la cinta 1 usando el smbolo & como separador: w1&w2&w3& . La cinta 2 se usa para generar todas las cadenas de en el orden lexicogrfico, utilizando la subrutina construida en el ejercicio 3 de la seccin, modificada de tal manera que las cadenas queden separadas entre s por el separador &. En la cinta 2 tambin se escribe, a la izquierda de la lista de cadenas, un contador que registra del nmero de cadenas generadas. La cinta 3 se usa para simular el procesamiento de M sobre las cadenas que se generan en la cinta 2.

Para precisar, M0 procede segn las siguientes acciones:

1. Accin 1. M0 genera sobre la cinta 2 la primera cadena de (o sea, ) y simula en la cinta 3 un movimiento de la accin de M sobre .2. Accin 2. M0 genera sobre la cinta 2 la segunda cadena de y simula, en la cinta 3, dos movimientos de la accin de M sobre dicha cadena, as como un movimiento ms del procesamiento de la cadena .3. Accin i, (i 1). M0 genera sobre la cinta 2 la i-exima cadena de y simula, en la cinta 3, i movimientos de la accin de M sobre dicha cadena, as como un movimiento ms del procesamiento de las i 1 cadenas previamente generadas en la cinta 2. Se incrementa luego, en la cinta 2, el contador i de cadenas generadas (este es tambin el contador del nmero de movimientos simulados para cada cadena generada).

Al concluir la accin i se han generado en la segunda cinta las i primeras cadenas de y se han simulado, en la cinta 3, los i primeros movimientos que M realiza sobre esas cadenas. Si durante la simulacin, alguna cadena es aceptada por M, M0 la copia en la cinta 1. Las casillas ocupadas en la cinta 3 por las simulaciones de cadenas ya aceptadas se tachan (es decir, se marcan con un smbolo especial), de tal manera que M0 no tenga que procesarlas en los pasos subsiguientes. Para acomodar las simulaciones, cada vez ms extensas, puede ser necesario usar en la cinta 3 subrutinas de desplazamiento de cadenas, a izquierda o a derecha. En todo caso, al terminar la accin i, M ha utilizado una porcin finita en cada una de las tres cintas.

Ejercicios:1. Utilizando razonamientos similares a los del teorema demostrar lo siguiente: (i) Si L1 y L2 son recursivos, L1 \ L2 es recursivo. (ii) Si L1 y L2 son RE, L1 \ L2 es RE.2. Demostrar o refutar:(i) Los lenguajes recursivos son cerrados para la concatenacin, es decir, si L1 y L2 son recursivos, L1L2 tambin es recursivo.(ii) (ii) Los lenguajes RE son cerrados para la concatenacin.(iii) iii) Los lenguajes recursivos son cerrados para la estrella de Kleene, es decir, si L es recursivo, L tambin es recursivo.(iv) (iv) Los lenguajes RE son cerrados para la estrella de Kleene.

3. Sea L un lenguaje recursivo pero no RE, demostrar que para toda MT M que acepte a L hay infinitas cadenas de entrada con las cuales M no se detiene nunca.

MQUINAS DE TURING COMO CALCULADORAS DE FUNCIONES

Como las mquinas de Turing pueden transformar las cadenas de entrada, se pueden utilizar como mecanismos para calcular funciones. Formalmente, una MT M = (Q, q0, qf ,, , b, ) calcula una funcin f : ! (Total o parcial) si para toda entrada w se tiene.

El modelo de MT aqu utilizado coincide con el estndar, pero no hay estados de aceptacin. El estado qf , llamado estado final, se usa para terminar el procesamiento de la entrada y producir la salida. No se permiten transiciones desde el estado final qf . Ntese que M debe terminar el procesamiento en la configuracin qf v, o sea, la unidad de control debe estar escaneando el primer smbolo de la salida v.

Una MT que calcula una funcin puede utilizar cintas auxiliares, es decir, se puede usar el modelo multi-cintas. En tal caso, la primera cinta se usa como la cinta entrada-salida.

Ejemplo: Disear una MT M que calcule la funcin suma, en el sistema de numeracin unitario. Con entrada 1n01m, M debe producir como salida 1n+m. Aqu, el 0 se usa como separador entre 1n y 1m, que representan los nmeros naturales n y m, respectivamente.

Solucin: M va a transformar 1n01m en 1n+m trasladando la cadena 1m una casilla hacia la izquierda. El separador 0 se sobre-escribe por 1 y el ultimo 1 de 1m se sobre-escribe por el smbolo b. La funcin de transicin necesaria para implementar esta idea es:

Ejercicios: Disear MT que calculen las siguientes funciones. Las entradas numricas se dan en el sistema de numeracin unitario, como en el ejemplo de esta seccin.1. f(n) = 2n, para todo nmero natural n.2. La funcin de paridad de los nmeros naturales:

3. La funcin mayor que truncada:

Aqu la entrada (n,m) se presenta en la forma 1n01m.LA TESIS DE CHURCH-TURING

Histricamente, el modelo de mquina de Turing fue presentado en 1936 como un mecanismo abstracto de cmputo capaz de ejecutar algoritmos paso a paso. La mquina de Turing antecedi en varias dcadas a la implementacin fsica de los computadores digitales y se ha usado desde entonces como el modelo terico fundamental de la nocin de computacin secuencial.

Hay varias razones por las cuales la mquina de Turing sigue siendo un formalismo til y ampliamente utilizado:

1. La nocin de paso computacional est claramente definida. Esto permite precisar sin ambigedades el concepto de tiempo de computacin.2. La nocin de lugar de almacenamiento est tambin claramente presentada, por medio de las casillas individuales en la cinta.3. Estos dos recursos, tiempo y espacio, aparecen en la mquina de Turing de una manera muy realista y permiten analizar los efectos de imponer limitaciones sobre ellos, lo cual es muy adecuado en las investigaciones sobre complejidad computacional.

OPERACIONES BINARIAS

Se conoce una operacin binaria aquella que al operar dos nmeros (de ah su nombre) se obtiene un tercero.

Ejemplo 1: El smbolo + representa la operacin binaria de suma; ahora para la operacin binaria especfica de 3 + 5 = 8. Podemos definir una operacin binaria de la siguiente manera: Una operacin binaria (lase crculo) en un conjunto A es una regla que asigna a cada para ordenado de elementos (a1, a2) un elemento b. Esto equivale a decir que la operacin binaria de los elementos que pertenecen al conjunto A (dominio), generan al conjunto B (codominio).

Ejemplo 2: Considere la operacin de suma, +, para el conjunto Aformado por los elementos {0, 1, 2, 3, 4}.

Esta operacin para los elementos del conjunto A NO ES CERRADA bajo la suma, o en otras palabras no es una operacin interna. Ya que la operacin de suma puede generar nmeros fuera del conjunto A.

Ejemplo 3: Considere el conjunto A compuesto por los elementos {0,1} determine si la operacin binaria de suma es una operacin interna (operacin cerrada) o externa (operacin abierta). Solucin, dado que es un conjunto pequeo podemos crear la siguiente tabla.

Es una operacin externa o ABIERTA bajo la operacin de suma, ya que el valor 2 no se encuentra en el conjunto original A.

Ejemplo 4. Considere el conjunto A compuesto por {0, 1} determine si la operacin de multiplicacin es una operacin interna o externa para el conjunto A. [el estudiante propondr la solucin a este problema]. En general una operacin binaria para el conjunto A es una funcin definida f: AxA A.

Las propiedades que deben cumplir las operaciones binarias son:

Es decir, al tomar un elemento del conjunto A y realizarle la operacin x (operacin binaria) a otro nmero del mismo conjunto A, todos los resultados de dicha operacin deben esta definidos; es decir, debe existir un resultado para toda operacin.

Como la operacin binaria es una funcin, solo se le asigna un elemento o resultado a una operacin binaria dada. Ejemplo 5. Sea A ; determinar si la operacin para el conjunto de los nmeros reales ser una operacin binaria; operacin binaria abierta o cerrada. Solucin: No cumple, dado que la divisin entre cero no est definida.

Ejemplo 6. Sea A ; determinar si la operacin entre los nmeros del conjunto A considerarse una operacin abierta o cerrada bajo dicha operacin binaria.

PROPIEDAD CONMUTATIVA

Una operacin binaria es conmutativa nmeros a y b: a*b = b * a (cuidado, el * para estos casos multiplicacin una operacin binaria cualquiera).

Ejemplo 7. Identificar si para el conjunto de los binaria de suma definida como a + b es conmutativa. Solucin: si es conmutativa, dado que:a + b = b + a1 + 2 = 2 + 1 Ejemplo 8. Identificar si para el conjunto de los binaria de resta definida como a - b es conmutativa.

Ejemplo 9. Para las operaciones binarias descritas por las reglas de la siguiente tabla mostrada a continuacin:

Casos: a) y b) identifique en cada caso sin son conmutativas.

Nota: Para realizar una operacin por ejemplo: a * c; lo primero que debe hacerse es buscar el rengln que contenga la a y despus la columna que contenga el valor b; la interseccin o la parte de adentro representa el resultado de la operacin, en este caso en el inciso a) a * c = b

PROPIEDAD ASOCIATIVA

Una operacin binaria es asociativa si cumple con la condicin siguiente:

a*(b*c) = (a*b)*c

(Recordar: el * para estos casos no es una multiplicacin, sino una operacin binaria cualquiera).

Ejemplo 10. Identificar si para el conjunto de los enteros Z la operacin binaria de suma definida como a + b es asociativa.

Solucin: si es asociativa, dado que:

a+ (b + c) = (a + b) + c1+ (2+3) = (1+2) + 3

BIBLIOGRAFA

http://books.google.com.mx/books?id=ELjhXQgM5e0C&lpg=PA40&dq=operaci%C3%B3n%20binaria&pg=PA39#v=onepage&q=operaci%C3%B3n%20binaria&f=false

http://books.google.com.mx/books?id=7GJXRsNkglIC&lpg=PA334&dq=operaci%C3%B3n%20binaria&pg=PA330#v=onepage&q=operaci%C3%B3n%20binaria&f=false

http://es.wikipedia.org/wiki/Operaci%C3%B3n_binaria

8

2