unidad 4 teoria de la computacion

Upload: selene-alvarez

Post on 08-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Unidad 4 Teoria de La Computacion

    1/9

    4.1 Definicion formal de una maquina de Turing

    La mquina de Turng consta de un cabezal lector/escritor y una cinta infinita en la que el cabezal lee elcontenido, borra el contenido anterior y escribe un nuevo valor. Las operaciones que se pueden realizar eesta mquina se limitan a:

    y avanzar el cabezal lector/escritor para la derecha;y avanzar el cabezal lector/escritor para la izquierda.

    El Cmputo es determinado a partir de una tabla de estados de la forma:

    (estado, valor) - (\nuevo estado, \nuevo valor, direccin)

    Esta tabla toma como parmetros el estado actual de la mquina y el carcter ledo de la cinta, dando ladireccin para mover el cabezal, el nuevo estado de la mquina y el valor a ser escrito en la cinta.

    Con este aparato extremadamente sencillo es posible realizar cualquier cmputo que un computador digital sea capaz de realizar.

    La memoria se divide en espacios de trabajo denominados celdas, donde se pueden escribir y leer smbolos. Inicialmente todas las celdas contienen un smbolo especial denominado blanco. Lasinstrucciones que determinan el funcionamiento de la mquina tienen la forma, si estamos en el estado xleyendo la posicin y, donde hay escrito el smbolo z, entonces este smbolo debe ser reemplazado por este otro smbolo, y pasar a leer la celda siguiente, bien a la izquierda o bien a la derecha. La mquina dTuring puede considerarse como un autmata capaz de reconocer lenguajes formales. En ese sentido escapaz de reconocer los lenguajes recursivamente enumerables, de acuerdo a la jerarqua de Chomsky. Su potencia es, por tanto, superior a otros tipos de autmatas, como el autmata finito, o el autmata con pila, o igual a otros modelos con la misma potencia computacional.

    Una mquina de Turing con una sola cinta puede ser definida como una 6-tupla M = (Q, ,s,b,F, ), donde

    y Q es un conjunto finito de estadosy es un conjunto finito de smbolos de cinta, el alfabeto de cintay s es el estado inicialy b es un smbolo denominado blanco, y es el nico smbolo que se puede repetir un nmero

    infinito de vecesy F es el conjunto de estados finales de aceptaciny es una funcin parcial denominada funcin de transicin, donde L es un movimiento a la

    izquierda y R es el movimiento a la derechay

    Existen en la literatura un abundante nmero de definiciones alternativas, pero todas ellas tienen el mism poder computacional, por ejemplo se puede aadir el smbolo como smbolo de "no movimiento" en u paso de cmputo.

    4.2 Con st ruccin modular de una Mquina de Turing

  • 8/6/2019 Unidad 4 Teoria de La Computacion

    2/9

    Mediante esta tcnica se pueden desarrollar maquinas de Turing complejas a partir de bloques deelementales a partir de maquinas mas pequeas mediante diagramas de transiciones.

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

    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 dondiniciara la maquina compuesta.2.-Elimine las caractersticas de detencin de los estados de parada de todas la maquinas e introduzca unnuevo 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 de dicha construccin.

    Los diagramas compuestos para la construccin modular de una maquina de Turing,son aquellos en losque 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 untermine su ejecucin, la otra empiece. El contenido de la cinta cuando comienza la ejecucin de lasegunda mquina de Turing, est formado por todo lo que dej la primera mquina de Turing, y la cabezade l/e de la segunda se situar, al comienzo de la ejecucin, sobre la celda de la cinta sobre la que terminla primera.

    Un sist ema Turing comple to es aquel que puede simular el comportamiento de una mquina deTuring.Salvando los problemas de memoria, los ordenadores modernos y los lenguajes de programacinde uso general, son sistemas de Turing completos.

    Una mquina de Turing es un autmata que se mueve sobre una secuencia lineal de datos. En cadainstante la mquina puede leer un solo dato de la secuencia (generalmente un carcter) y realiza ciertasacciones en base a una tabla que tiene en cuenta su "estado" actual (interno) y el ltimo dato ledo. Entrelas acciones est la posibilidad de escribir nuevos datos en la secuencia; recorrer la secuencia en ambossentidos y cambiar de "estado" dentro de un conjunto finito de estados posibles.

  • 8/6/2019 Unidad 4 Teoria de La Computacion

    3/9

    M aquina s de Turing Compuesta.

    4.3 Lenguaje s acep t ado s por la MT

    Una mquina de Turing se puede comportar como un aceptador de un lenguaje. Si colocamos una cadenaw en la cinta, situamos la cabeza de lectura/escritura sobre el smbolo del extremo izquierdo de la cadenaw y ponemos en marcha la mquina a partir de su estado inicial. Entonces w es aceptada si, despus deuna secuencia de movimientos, la mquina de Turing llega a un estado final y para . Por tanto w esaceptada. Si qw * w1pw2 para algn estado final p y unas cadenas w1 y w2.

    Entonces, se obtiene la siguiente definicin: Sea M = (Q, S , G, q0=q1, B, F, d) una mquina de Turing.Entonces el lenguaje aceptado por M es: L(M) = {w S*q1w * w1pw2 para pF y wiG*}.

    Los lenguajes formales que son aceptados por una mquina de Turing son exactamente aquellos que pueden ser generados por una gramtica formal. El clculo Lambda es una forma de definir funciones.Las funciones que pueden se computadas con el clculo Lambda son exactamente aquellas que pueden scomputadas con una mquina de Turing. Estos tres formalismos, las mquinas de Turing, los lenguajesformales y el clculo Lambda son formalismos muy dismiles y fueron desarrollados por diferentes personas. Sin embargo, ellos son todos equivalentes y tienen el mismo poder de expresin. Generalmentese toma esta notable coincidencia como evidencia de que la tesis de Church-Turing es cierta, que laafirmacin de que la nocin intuitiva de algoritmo o procedimiento efectivo de cmputo corresponde a lanocin de cmputo en una mquina de Turing.

    Los computadores electrnicos, basados en la arquitectura Von Neumann as como las mquinascunticas tendran exactamente el mismo poder de expresin que el de una mquina de Turing sidispusieran de recursos ilimitados de tiempo y espacio. Como consecuencia, los lenguajes de programacin tienen a lo sumo el mismo poder de expresin que el de los programas para una mquina dTuring y en la prctica no todos lo alcanzan. Los lenguajes con poder de expresin equivalente al de unamquina de Turing se denominan Turing completos.

    Gramticas estructuradas por frases:

  • 8/6/2019 Unidad 4 Teoria de La Computacion

    4/9

    y Parte izquierda de las reglas: combinacin de smbolos terminales y no terminales,con al menos un no terminal.

    y Parte derecha de las reglas: combinacin de smbolos terminales y no terminales de cualquier longitud (incluso 0).

    Las mquinas de Turing aceptan lenguajes estructurados por frases.

    y Configuracin de una mquina de Turing:o Contenido de la cinta: entre corchetes.o A la izquierda del smbolo actual se incluye el estado.

    y - A ceptacin: secuencia de configuraciones de la mquina que empieza con [i( w( ] y terminacon [h( Y( ].

    Teorema: Todo lenguaje estructurado por frases es aceptado por una mquina de Turing.Demostracin: Para cada gramtica G existe una mquina de Turing no determinista M de 2 cintas queaceptas el lenguaje generado por G.

    Construccin de la mquina:

    1. Se copia la cadena de entrada en la primera cinta.2. Se escribe S (smbolo inicial) en la cinta 2.3. Se aplican las reglas de reescritura de forma no determinista a la cadena de la cinta 2.4. Si la cinta 2 contiene slo smbolos terminales, se compara con la cadena de la cinta 1. Si son igualesel proceso ha terminado. Si no, provocar una terminacin anormal.

    4.4.- Varian t es de una Mquina de Turing.

    Existen otras definiciones de las mquinas de Turing que son equivalentes.A lgunos de esos modelosalternativos son mucho ms complicados aunque todos tienen la misma potencia computacional (o declculo). Muchas de ellas dotan de mayor flexibilidad al diseo de una mquina de Turing que resuelvaun problema en particular.

    Mquina de Turing con Direc t iva de Permanecer

    Recurdese que la mquina de Turing sencilla sita la cabeza de lectura/escritura sobre el primer B quehaya a la izquierda de la posicin actual. Para hacerlo, busca fuera de la celda actual y retrocede. Esto esdebido a la definicin original que requiere que por cada transicin se mueva la cabeza de la cinta.

    La funcin de transicin estaba definida como: d: Q x G Q x G x {R, L} y puede ser modificada comod: Q x G Q x G x {R, L, S} donde S significa permanecer, es decir no mover la cabeza delectura/escritura. Por tanto d(q, s)=(p, s, S) significa que se pasa del estado q al p, se escribe s en lacelda actual y la cabeza se queda sobre la celda actual.

    Mquina de Turing Mul t ipi st a

    Es aquella mediante la cual cada celda de la cinta se divide en subceldas. Cada subcelda es capaz decontener smbolos de la cinta. La cinta tiene cada celda subdividida en tres subceldas. Se dice que estacinta tiene mltiples pistas. Puesto que cada celda de esta mquina de Turing contiene mltiplescaracteres, el contenido de las celdas de la cinta puede ser representado mediante n-tuplas ordenadas. Enel ejemplo anterior, las celdas de la cinta contienen (B, a, a), (b, a, a) y (b, b, B). Por tanto, los

  • 8/6/2019 Unidad 4 Teoria de La Computacion

    5/9

    movimientos que realice est mquina dependern de su estado actual y de la n-tupla que represente elcontenido de la celda actual.

    Una mquina de Turing multipista no tiene ms potencia que la mquina de Turing original. Pero, haceque sea ms fcil la construccin de mquinas de Turing que resuelvan ciertos problemas.

    Mquina de Turing de Cin ta infini t a en una Direccin

    Mquina de Turing que usa una cinta que se extiende infinitamente en una nica direccin. Generalmentse tiene una cinta que se extiende infinitamente hacia la derecha. No est permitido realizar ningnmovimiento hacia la izquierda a partir de la celda del extremo izquierdo. Cualquier mquina de Turing d

    esta forma puede ser simulada por una de las que responden a la definicin original. Para cadacomputacin, simplemente se marca una de las celdas de la cinta infinita por los dos lados, como la celdaque se encuentra en el lmite izquierdo.

    Mquina de Turing en Do s Direccione s

    Una mquina de Turing con una cinta infinita en un sentido puede simular una mquina de Turing con lacinta infinita en los dos sentidos pero con dos pistas. Sea M una mquina de Turing con una cinta infinitaen los dos sentidos. La mquina de Turing M , que tiene una cinta infinita en un sentido, puede simular a M si tiene una cinta con dos pistas. La cinta superior contiene la informacin correspondiente a la partederecha de la cinta M , a partir de un punto de referencia dado. La pista inferior contiene la parte izquierdade la cinta M (en orden inverso).

    Mquina de Turing Mul t icin ta

    La mquina de Turing multicinta tiene varias cintas, cada una de las cuales tiene su propia cabeza delectura/escritura. Las cabezas de lectura/escritura se controlan independientemente (es decir, al mismotiempo, no tienen que moverse en la misma direccin, ni realizar el mismo nmero de movimientos, niincluso, hacer nada a la vez).

    y Cambia de estado dependiendo del estado actual y del contenido de las celdas de todas las cintas,que estn analizando actualmente las cabezas de lectura/escritura.

    y Escriben un nuevo smbolo en cada una de las celdas barridas por sus cabezas de lectura/escrituray Mueve cada una de sus cabezas hacia la izquierda o hacia la derecha (de forma independiente al

    resto de las cabezas).y Por tanto, la funcin de transicin para una mquina de Turing con n cintas, es de la forma d: Q x

    G n Q x G n x {R, L} n donde una transicin de la forma d (q, (s1, s2,, sn)) = (p,(t1, t2, ,tn), (X1, X2, , Xn)) significa que cambia del estado q a p, reemplaza si por ti en la cintai ymueve la cabeza de la cinta i en la direccin Xi.

    Mquina de Turing Muldimen sional

  • 8/6/2019 Unidad 4 Teoria de La Computacion

    6/9

    La mquina de Turing multidimensional es aquella que permite que la cinta tenga muchas dimensiones.Por ejemplo, una cinta de dos dimensiones que se extienda hacia abajo y hacia arriba, al igual que hacia lderecha y hacia la izquierda. Dependiendo del estado actual de la mquina de Turing y del smboloanalizado, cambia de estado, escribe un smbolo en la celda actual y se mueve a la izquierda, al derecha,hacia arriaba o hacia abajo. Por tanto, la funcin de transicin para esta mquina de Turing ser de laforma:

    d: Q x G Q x G x {R, L, U, D}

    Una mquina de Turing multidimensional simula una mquina de Turing estndar. Simplementerealizando todas sus computaciones en una nica dimensin. Una mquina de Turing estndar tambin puede simular una mquina de Turing multidimensional y, por tanto, la complejidad y la flexibilidadadicional que se debe a la mltiple dimensin, no es una capacidad real. Para simular una mquina deTuring de dos dimensiones mediante una mquina de Turing estndar, primero se asociara una direccintodas las celdas de la cinta. Una forma de hacerlo es fijar, de forma arbitraria, un lugar en la cinta a partidel cual se asignarn las coordenadas a las celdas de la misma forma que se realiza en un plano decoordenadas.

    Entonces, se usara una cinta de dos pistas para simular la mquina de Turing. Una pista se encargar dealmacenar el contenido de las celdas y la otra las coordenadas, utilizando un smbolo (*) para separar losvalores de las coordenadas. Para simular un movimiento de una mquina de Turing de dos dimensiones,est mquina calcula la direccin de la celda a la que se mover la mquina de Turing dos dimensiones.

    Mquina de Turing No de termini st a

    La mquina de Turing No determinista es aquella que para un estado actual y el smbolo actual de lacinta, puede haber un nmero finito de movimientos a elegir. Por lo tanto, la regla de transicin d de dichmquina, satisface d(q, s) Q x G x {R, L}. Por ejemplo, si la mquina de Turing tiene una transicind(q1, a) = {(q1, b, R), (q2, a, L)} entonces los movimientos:

    {abbq1ab - abbbq1b y abbq1ab - abq2bab} son posibles.

    Ya que cualquier mquina de Turing determinista es tambin no determinista, es lgico que una mquinade Turing determinista se puede simular mediante una no determinista. Tambin una mquina de Turingdeterminista puede simular una no determinista. Por tanto, no se gana ninguna potencia adicional a causadel no determinismo.

    4.5.- Pro b lema s de Hil ber t

    Los problemas de Hilbert son una lista de 23 problemas matemticos compilados por el matemticoalemn David Hilbert .

    A lgunos se resolvieron en poco tiempo. Otros se han discutido durante todo el siglo XX, y actualmente s

    ha llegado a la conclusin de que unos pocos son irrelevantes o imposibles de cerrar.A lgunos continansiendo actualmente un reto para los matemticos

    Lo s vein t it r s pro b lema s de Hil ber t son:

  • 8/6/2019 Unidad 4 Teoria de La Computacion

    7/9

    y Pro b lema 1 . La hiptesis del continuo (esto es, no existe conjunto cuyo tamao estestrictamente entre el de los enteros y el de los nmeros reales) Se ha probado la imposibilidad de probarlo como cierto o falso mediante los axiomas de Zermelo-Fraenkel. No hay consenso alrespecto de considerar esto como solucin al problema.

    y Pro b lema 2 . Probar que los axiomas de la aritmtica son consistentes (esto es, que la aritmticaes un sistema formal que no supone una contradiccin). Parcialmente resuelto: hay quienessostienen que se ha demostrado imposible de establecer en un sistema consistente, finitista yaxiomtico Sin embargo, Gentzen prob en 1936 que la consistencia de la aritmtica se deriva de buen fundamento del ordinal 0, un hecho sujeto a la intuicin combinatoria.

    y Pro b lema 3 . Se puede probar que dos tetraedros tienen igual volumen (bajo ciertas asunciones)?Resuelto. Resultado: no, probado usando invariantes de Dehn

    y Pro b lema 4 . Construir todas las mtricas cuyas rectas sean geodsicas. Demasiado vago paradecidir si se ha resuelto o no.

    y Pro b lema 5 . Son los grupos continuos grupos diferenciales de forma automtica?. Resuelto por A ndrew Gleason

    y Pro b lema 6 . A xiomatizar toda la fsica. Sin resolver. No matemticoy Pro b lema 7 . Esa b trascendental, siendoa 0,1 algebraico yb irracional algebraico?. Resuelto.

    Resultado: s, ilustrado por el teorema de Gelfond o el teorema de Gelfond-Schneider y Pro b lema 8 . La hiptesis de Riemann (la parte real de cualquier cero no trivial de la funcin zeta

    de Riemann es ) y la conjetura de Goldbach (cada nmero par mayor que 2 se puede escribir como la suma de dos nmeros primos).A bierto

    y Pro b lema 9 . Encontrar la ley ms general del teorema de reciprocidad en cualquier cuerponumrico algebraico. Parcialmente resuelto

    y Pro b lema 10 . Encontrar un algoritmo que determine si una ecuacin diofntica polinmica dadacon coeficientes enteros tiene solucin entera. Resuelto. Resultado: no, el teorema deMatiyasevich implica que no existe tal algoritmo.

    y Pro b lema 11. Resolver las formas cuadrticas con coeficientes numricos algebraicos.Parcialmente resuelto

    y Pro b lema 12 . Extender el teorema de Kronecker sobre extensiones abelianas de los nmerosracionales a cualquier cuerpo numrico de base.A bierto

    y Pro b lema 13 . Resolver todas las ecuaciones de 7 grado usando funciones de dos parmetros.

    Resuelto. Lo prob posible Vladimir A

    rnold.y Pro b lema 14. Probar la finitud de ciertos sistemas completos de funciones. Resuelto. Resultado:no, en general, debido a un contraejemplo

    y Pro b lema 15. Fundamento riguroso del clculo enumerativo de Schubert. Parcialmente resueltoy Pro b lema 16 . Topologa de las curvas y superficies algebraicas.A biertoy Pro b lema 17 . Expresin de una funcin definida racional como cociente de sumas de cuadrados.

    Resuelto. Resultado: se estableci un lmite superior para el nmero de trminos cuadradosnecesarios

    y Pro b lema 18 . Existe un poliedro irregular y que construya otros poliedros? Cual es elapilamiento compacto ms denso?. Resuelto.

    y Pro b lema 19. Son siempre analticas las soluciones de los Lagrangianos? Resuelto. Resultado:s

    y Pro b lema 20. Tienen solucin todos los problemas variacionales con ciertas condiciones decontorno?. Resuelto. Ha supuesto un rea importante de investigacin durante el siglo XX,culminando con las soluciones al caso no lineal.

    y Pro b lema 21 . Probar la existencia de ecuaciones lineales diferenciales que tengan un grupomonodrmico prescrito Resuelto. Resultado: s o no, dependiendo de una formulacin msexacta del problema.

    y Pro b lema 22. Uniformizacin de las relaciones analticas por medio de funciones automrficas.Resuelto

  • 8/6/2019 Unidad 4 Teoria de La Computacion

    8/9

    y Pro b lema 23 . Extensin de los mtodos del clculo de variaciones Resuelto

    EXEMPLOS

    Ejemplo: Para una mquina de Turing que sume dos nmeros binarios. Primero se construye unmquina de Turing de tres pistas. La entrada sern dos nmeros binarios que ocupen las dos pistas superiores de la cinta. Suponiendo que sus dgitos se alinean por la derecha, que susrepresentaciones binarias son de la misma longitud (lo que se puede conseguir rellenndolas cotantos ceros como sea necesario) y que la cabeza de lectura/escritura se sita sobre la celda delextremo izquierdo de la cadena. Por tanto, si tuvieran que sumar 101 y 10, la cinta deberacontener

    La mquina de Turing realizar la suma en la tercera pista. Por tanto, el alfabeto de cinta estarformado por las ternas:(B, B, B) (1, 1, B) (1, 1, 0) (1, 1, 1)

    (0, 0, B) (0, 0, 0) (0, 0, 1) (B, B, 1)(0, 1, B) (0, 1, 0) (0, 1, 1)(1, 0, B) (1, 0, 0) (1, 0, 1)

    Esta mquina de Turing buscar primero hacia la derecha el extremo derecho de los nmeros quvan a ser sumados. Entonces sumar pares de dgitos, desde la derecha hacia la izquierda,llevando la cuenta de los resultados que se obtengan y sumando a quienes corresponda.

  • 8/6/2019 Unidad 4 Teoria de La Computacion

    9/9

    EJEMPLO 2