Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
La máquina de Turing es un modelo computacional introducido por Alan Turing enel trabajo ―On computable numbers, with an a...
La traducción es como sigue: si la máquina se encuentra en el estado interno 0 ylee 1 en la cinta, entonces pasará al esta...
símbolo S como símbolo de ―no movimiento‖ en un paso de cómputo o el símboloΣ para indicar el alfabeto de entrada.Ejemplo ...
10                       s3                   1001          11                       s3                   10010          1...
COMIENZA TRABAJO EQUIPO 1(:includeurl http://docs.google.com/EmbedSlideshow?docid=dgddvf6t_1f98pdpcm&amp :)Presentacion in...
Es un símbolo denominado blanco, y es el único símbolo que se puede repetir unnúmero infinito de veces. Es el conjunto de ...
si empieza o acaba en 1 respectivamente. Así por ejemplo, el número 13 que enbinario es 1101 es en binario expandido 10100...
a razón de una casilla cada vez. Este dispositivo cuenta con un cabezal capaz deleer un símbolo escrito en la cinta, o de ...
PASO                   ESTADO                  CINTA          1                       s1                    11          2 ...
(:includeurl http://www.youtube.com/watch?v=v1on9D3Fkus&feature=related :)―EQUIPO 1″ MATEMATICAS PARA COMPUTADORA. grupo:3...
construyó un modelo formal de computador, la máquina de Turing, y demostróque existían problemas que una máquina no podía ...
La idea subyacente es el concepto de que una máquina de Turing es una personaejecutando un procedimiento efectivo definido...
Ejemplo Definimos una máquina de Turing sobre el alfabeto {0,1}, donde 0representa el símbolo blanco. La máquina comenzará...
12                       s4                  10011          13                       s4                  10011          14...
cualquiera de las ramas del árbol finaliza en un estado de aceptación, se dice quela máquina acepta la entrada.La capacida...
el comportamiento o la salida de una máquina de Turing es un problemaindecidible.                          Máquina de Turi...
Aqui termina el trabajo elaborado por:      Landeros Labrada Lizzet;      Mendoza Torres Nayeli;      Ontiveros Amaya Bren...
Video traducido:―La maquina tiene basicamente 3 componentes, el primero es una cinta, que comose puede ver esta dividida e...
En realidad la máquina de Turing es más una abstracción matemática que undispositivo físico o mecánico. El hecho que se le...
Una secuencia finita de símbolos de un determinado alfabeto, se conoce comopalabra sobre dicho alfabeto. Cada símbolo de u...
incrementar el componente semántico de acuerdo con la teoría a formalizar. •Lasintaxis produce oraciones no ambiguas, en l...
Debido a su falta de voluntad para esforzarse con la misma intensidad en elestudio de los clásicos que en el de la ciencia...
Durante la Segunda Guerra Mundial fue uno de los principales artífices de lostrabajos del Bletchley Park para descifrar lo...
Trabajó junto a Norbert Wiener en el desarrollo de la cibernética. Esta rama deestudios se genera a partir de la demanda d...
divide en espacios de trabajo denominados celdas, donde se pueden escribir y leersímbolos. Inicialmente todas las celdas c...
proceso por medio de un bucle, en el estado inicial s1, reemplaza el primer 1 conun 0, y pasa al estado s2, con el que ava...
Una máquina de Turing computa una determinada función parcial de carácterdefinido, y unívoca, definida sobre las secuencia...
Upcoming SlideShare
Loading in …5
×

Maquinas de turing

14,906 views

Published on

Maquinas de turing

  1. 1. La máquina de Turing es un modelo computacional introducido por Alan Turing enel trabajo ―On computable numbers, with an application to theEntscheidungsproblem‖, publicado por la Sociedad Matemática de Londres, en elcual se estudiaba la cuestión planteada por David Hilbert sobre si las matemáticasson decidibles, es decir, si hay un método definido que pueda aplicarse a cualquiersentencia matemática y que nos diga si esa sentencia es cierta o no. Turingconstruyó un modelo formal de computador, la máquina de Turing, y demostróque existían problemas que una máquina no podía resolver. La máquina de Turinges un modelo matemático abstracto que formaliza el concepto de algoritmo. Unamáquina de Turing con una sola cinta puede ser definida como una 6-tupla , dondeQ es un conjunto finito de estados Γ es un conjunto finito de símbolos de cinta, elalfabeto de cinta es el estado inicial es un símbolo denominado blanco, y es el único símbolo que se puederepetir un número infinito de veces es el conjunto de estados finales de aceptación es una función parcial denominada función de transición, donde L esun movimiento a la izquierda y R es el movimiento a la derecha.Existen en la literatura un abundante número de definiciones alternativas, perotodas ellas tienen el mismo poder computacional, por ejemplo se puede añadir elsímbolo como símbolo de ―no movimiento‖ en un paso de cómputo.¿Como funciona una maquina de turing?Una máquina de Turing es un dispositivo que transforma un INPUT en un OUTPUTdespués de algunos pasos. Tanto el INPUT como el OUPUT constan de números encódigo binario (ceros y unos). En su versión original la máquina de Turing consisteen una cinta infinitamente larga con unos y ceros que pasa a través de una caja.La caja es tan fina que solo el trozo de cinta que ocupa un bit (0 ó 1) está en suinterior. La máquina tiene una serie de estados internos finitos que también sepueden numerar en binario.Para llevar a cabo algún algoritmo, la máquina se inicializa en algún estado internoarbitrario. A continuación, se pone en marcha y la máquina lee el bit que seencuentra en ese momento en su interior y ejecuta alguna operación con ese bit(lo cambia o no, dependiendo de su estado interno). Después se mueve hacia laderecha o hacia la izquierda, y vuelve a procesar el siguiente bit de la mismamanera. Al final se para, dejando el resultado al lado izquierdo por ejemplo.Una instrucción típica podría ser: 01 11011i
  2. 2. La traducción es como sigue: si la máquina se encuentra en el estado interno 0 ylee 1 en la cinta, entonces pasará al estado interno 1101 (13), escribirá 1 y semoverá hacia la izquierda un paso (la cinta se moverá hacia la derecha).A continuación es conveniente inventar una notación para la secuencia del INPUT.Esta notación se llama notación binaria expandida. Consiste en cambiar lasecuencia original binaria por otra construida de la siguiente forma: el 0 se cambiapor 0 y el 1 por 10 y se ponen un cero a la izquierda y/o a la derecha del resultadosi empieza o acaba en 1 respectivamente. Así por ejemplo, el número 13 que enbinario es 1101 es en binario expandido 1010010 con un cero delante por estaúltima regla 01010010. Para volver al original hay que contraer el binarioexpandido con la siguiente regla:Empezamos a leer por la izquierda el bianrio expandido. Cuando encontremos un 0tomamos nota de cuántos 1 hay hasta llegar al siguiente 0 y lo escribimos. Siencontramos que hay dos 0 seguidos, apuntaríamos un 0 porque no habría ningún1.Veamos con el 13 cómo se haría. El primer 0 se encuentra en la primera posicióny el siguiente 0 está en la posición 3. Entre los dos solo hay un 1. Lo anotamos.Seguidamente hay un 1, y después un 0, entonces apuntamos 1 porque hay un 1entre medias de ellos. Esto es lo que se hace sucesivamente y encontramos: 1101que es el número original.Descripción La máquina de Turing consta de un cabezal lector/escritor y unacinta infinita en la que el cabezal lee el contenido, borra el contenido anterior yescribe un nuevo valor. Las operaciones que se pueden realizar en esta máquinase limitan a:Avanzar el cabezal lector/escritor para la derecha; • avanzar el cabezallector/escritor para la izquierda. El cómputo es determinado a partir de una tablade estados de la forma: (Estado, valor)-→(nuevo estado, nuevo valor, dirección)Definición Una máquina de Turing con una sola cinta puede ser definida comouna 6-tupla M=(Q,L,s,b,F,o) , donde •Q es un conjunto finito de estados. •L es unconjunto finito de símbolos de cinta, el alfabeto de cinta. •s E Q es el estadoinicial. •b E L es un símbolo denominado blanco, y es el único símbolo que sepuede repetir un número infinito de veces. •F _C Q es el conjunto de estadosfinales de aceptación. •o : Q x L → Q x L x {L,R} es una función parcialdenominada función de transición, donde L es un movimiento a la izquierda y R esel movimiento a la derecha.Existen en la literatura un abundante número de definiciones alternativas, perotodas ellas tienen el mismo poder computacional, por ejemplo se puede añadir el
  3. 3. símbolo S como símbolo de ―no movimiento‖ en un paso de cómputo o el símboloΣ para indicar el alfabeto de entrada.Ejemplo Definimos una máquina de Turing sobre el alfabeto {0,1}, donde 0representa el símbolo blanco. La máquina comenzará su proceso situada sobre unsímbolo ―1″ de una serie. La máquina de Turing copiará el número de símbolos ―1″que encuentre hasta el primer blanco detrás de dicho símbolo blanco. Es decir,situada sobre el 1 situado en el extremo izquierdo, doblará el número de símbolos1, con un 0 en medio. Así, si tenemos la entrada ―111″ devolverá ―1110111″, con―1111″ devolverá ―111101111″, y sucesivamente.El conjunto de estados es {s1,s2,s3,s4,s5} y el estado inicial es s1. La tabla quedescribe la función de transición es la siguiente:ESTADO S.LEIDO S.ESCRITO MOV. ESTADO SIG. s1 1 0 R s2 s2 1 1 R s2 s2 0 0 R s3 s3 0 1 L s4 s3 1 1 R s3 s4 1 1 L s4 s4 0 0 L s5 s5 1 1 L s5 s5 0 1 R s1El funcionamiento de una computación de esta máquina se puede mostrar con elsiguiente ejemplo (en negrita se resalta la posición de la cabeza lectora/escritora):PASO ESTADO CINTA 1 s1 11 2 s2 01 3 s2 010 4 s3 0100 5 s4 0101 6 s5 0101 7 s5 0101 8 s1 1101 9 s2 1001
  4. 4. 10 s3 1001 11 s3 10010 12 s4 10011 13 s4 10011 14 s5 10011 15 s1 11011 PARADALa máquina realiza su proceso por medio de un bucle, en el estado inicial s1,reemplaza el primer 1 con un 0, y pasa al estado s2, con el que avanza hasta laderecha, saltando los símbolos 1 hasta un 0 (que debe existir), cuando loencuentra pasa a ser s3, con este estado avanza saltando los 1 hasta encontrarotro 0 (la primera vez no habría ningún 1). Una vez en el extremo derecho, añadeun 1. Después comienza el proceso de retorno; con s4 vuelve a la izquierdasaltando los 1, cuando encuentra un 0 (en el medio de la secuencia), pasa a s5que continúa a la izquierda saltando los 1 hasta el 0 que se escribió al principio. Sereemplaza de nuevo este 0 por 1, y pasa al símbolo siguiente, si es un 1, se pasa aotra iteración del bucle, pasando al estado s1 de nuevo. Si es un símbolo 0, será elsímbolo central, con lo que la máquina se detiene al haber finalizado su cómputo.Máquina de Turing Cuántica En 1985, Deutsch presentó el diseño de la primeraMáquina Cuántica basada en una máquina de Turing. Con este fin enunció unanueva variante la tesis de Church dando lugar al denominado ―Principio de Church-Turing-Deutsch‖. La estructura de una máquina de Turing cuántica es muy similara la de una máquina de Turing clásica. Está compuesta por los tres elementosclásicos: •Una cinta de memoria infinita en que cada elemento es un Qu Bit? •Unprocesador finito •Un cursorDiagrama de transición para la maquina de turingLas transiciones de una maquina de turing pueden representarse visualmente, undiagrama de transición esta formado por un conjunto de nodos que nodos quecorresponde a los estados de la MT. En un arco que vaya del estado q al esta p,apareceran una o varias etiquetas de la forma X/YS, donde X e Y son símbolos decintan y S indica un sentido, que puede se I o D. es decir, si δ(q,X) = (p,Y,S),en elarco que va de q a p se encontrara la etiqueta X/YS.QUIROZ MONTES KAREN PATRICIA
  5. 5. COMIENZA TRABAJO EQUIPO 1(:includeurl http://docs.google.com/EmbedSlideshow?docid=dgddvf6t_1f98pdpcm&amp :)Presentacion informativa sobre la maquina de turing→ http://www.megaupload.com/?d=3CJJ7CLO LA MAQUINA DE TURING Alan Mathison Turing (1912–1954) http://es.wikipedia.org/wiki/Alan_TuringLa máquina de Turing es un modelo computacional introducido por Alan Turing enel trabajo ―On computable numbers, with an application to theEntscheidungsproblem‖, publicado por la Sociedad Matemática de Londres, en elcual se estudiaba la cuestión planteada por David Hilbert sobre si las matemáticasson decidibles, es decir, si hay un método definido que pueda aplicarse a cualquiersentencia matemática y que nos diga si esa sentencia es cierta o no. Turingconstruyó un modelo formal de computador, la máquina de Turing, y demostróque existían problemas que una máquina no podía resolver. La máquina de Turinges un modelo matemático abstracto que formaliza el concepto de algoritmo. Unamáquina de Turing con una sola cinta puede ser definida como una 6-tupla , dondeQ es un conjunto finito de estados Γ es un conjunto finito de símbolos de cinta, elalfabeto de cinta es el estado inicial .
  6. 6. Es un símbolo denominado blanco, y es el único símbolo que se puede repetir unnúmero infinito de veces. Es el conjunto de estados finales de aceptación. Es unafunción parcial denominada función de transición, donde L es un movimiento a laizquierda y R es el movimiento a la derecha.Existen en la literatura un abundante número de definiciones alternativas, perotodas ellas tienen el mismo poder computacional, por ejemplo se puede añadir elsímbolo como símbolo de ―no movimiento‖ en un paso de cómputo. ¿COMO FUNCIONA UNA MAQUINA DE TURING?Una máquina de Turing es un dispositivo que transforma un INPUT en un OUTPUTdespués de algunos pasos. Tanto el INPUT como el OUPUT constan de números encódigo binario (ceros y unos). En su versión original la máquina de Turing consisteen una cinta infinitamente larga con unos y ceros que pasa a través de una caja.La caja es tan fina que solo el trozo de cinta que ocupa un bit (0 ó 1) está en suinterior. La máquina tiene una serie de estados internos finitos que también sepueden numerar en binario. Para llevar a cabo algún algoritmo, la máquina seinicializa en algún estado interno arbitrario. A continuación, se pone en marcha yla máquina lee el bit que se encuentra en ese momento en su interior y ejecutaalguna operación con ese bit (lo cambia o no, dependiendo de su estado interno).Después se mueve hacia la derecha o hacia la izquierda, y vuelve a procesar elsiguiente bit de la misma manera. Al final se para, dejando el resultado al ladoizquierdo por ejemplo.11011i→Una instrucción típica podría ser: 01 VARIANTES DE LA MAQUINA DE TURINGLa traducción es como sigue: si la máquina se encuentra en el estado interno 0 ylee 1 en la cinta, entonces pasará al estado interno 1101 (13), escribirá 1 y semoverá hacia la izquierda un paso (la cinta se moverá hacia la derecha). Acontinuación es conveniente inventar una notación para la secuencia del INPUT.Esta notación se llama notación binaria expandida. Consiste en cambiar lasecuencia original binaria por otra construida de la siguiente forma: el 0 se cambiapor 0 y el 1 por 10 y se ponen un cero a la izquierda y/o a la derecha del resultado
  7. 7. si empieza o acaba en 1 respectivamente. Así por ejemplo, el número 13 que enbinario es 1101 es en binario expandido 1010010 con un cero delante por estaúltima regla 01010010. Para volver al original hay que contraer el binarioexpandido con la siguiente regla: Empezamos a leer por la izquierda el bianrioexpandido. Cuando encontremos un 0 tomamos nota de cuántos 1 hay hasta llegaral siguiente 0 y lo escribimos. Si encontramos que hay dos 0 seguidos,apuntaríamos un 0 porque no habría ningún 1.Veamos con el 13 cómo se haría. Elprimer 0 se encuentra en la primera posición y el siguiente 0 está en la posición 3.Entre los dos solo hay un 1. Lo anotamos. Seguidamente hay un 1, y después un0, entonces apuntamos 1 porque hay un 1 entre medias de ellos. Esto es lo que sehace sucesivamente y encontramos: 1101 que es el número original.Descripción La máquina de Turing consta de un cabezal lector/escritor y unacinta infinita en la que el cabezal lee el contenido, borra el contenido anterior yescribe un nuevo valor. Las operaciones que se pueden realizar en esta máquinase limitan a: Avanzar el cabezal lector/escritor para la derecha; • avanzar elcabezal lector/escritor para la izquierda. El cómputo es determinado a partir deuna tabla de estados de la forma: (Estado, valor)-→(nuevo estado, nuevo valor,dirección) .Definición Una máquina de Turing con una sola cinta puede ser definida comouna 6-tupla M=(Q,L,s,b,F,o) , donde;•Q es un conjunto finito de estados.•L es un conjunto finito de símbolos de cinta, el alfabeto de cinta.•s E Q es el estado inicial.•b E L es un símbolo denominado blanco, y es el único símbolo que se puederepetir un número infinito de veces.•F _C Q es el conjunto de estados finales de aceptación.•o : Q x L → Q x L x {L,R} es una función parcial denominada función detransición, donde L es un movimiento a la izquierda y R es el movimiento a laderecha. ¿QUE SON Y COMO FUNCIONAN?Una máquina de Turing consiste, básicamente, en una cinta infinita, dividida encasillas. Sobre esta cinta hay un dispositivo capaz de desplazarse a lo largo de ella
  8. 8. a razón de una casilla cada vez. Este dispositivo cuenta con un cabezal capaz deleer un símbolo escrito en la cinta, o de borrar el existente e imprimir uno nuevoen su lugar. Por último, contiene además un registro capaz de almacenar unestado cualquiera, el cual viene definido por un símbolo. Los símbolos que definenel estado del dispositivo no tienen por que coincidir con los símbolos que sepueden leer o escribir en la cinta. En los programas presentados en el artículo, losposibles símbolos a leer o escribir en la cinta son el 0 y el 1, y los posibles estadosse representan con letras mayúsculas. En el emulador, existe un cambio en larepresentación del estado, usando para ello los números del 0 al 99, para permitirun mayor número de ellos. La máquina tiene un funcionamiento totalmentemecánico y secuencial. Lo que hace es leer el símbolo que hay en la casilla quetiene debajo. Después toma el símbolo del estado en que se encuentra. Con estosdos datos accede a una tabla, en la cual lee el símbolo que debe escribir en lacinta, el nuevo estado al que debe pasar y si debe desplazarse a la casillaizquierda o derecha.Ejemplo Definimos una máquina de Turing sobre el alfabeto {0,1}, donde 0representa el símbolo blanco. La máquina comenzará su proceso situada sobre unsímbolo ―1″ de una serie. La máquina de Turing copiará el número de símbolos ―1″que encuentre hasta el primer blanco detrás de dicho símbolo blanco. Es decir,situada sobre el 1 situado en el extremo izquierdo, doblará el número de símbolos1, con un 0 en medio. Así, si tenemos la entrada ―111″ devolverá ―1110111″, con―1111″ devolverá ―111101111″, y sucesivamente.El conjunto de estados es {s1,s2,s3,s4,s5} y el estado inicial es s1. La tabla quedescribe la función de transición es la siguiente:ESTADO S.LEIDO S.ESCRITO MOV. ESTADO SIG. s1 1 0 R s2 s2 1 1 R s2 s2 0 0 R s3 s3 0 1 L s4 s3 1 1 R s3 s4 1 1 L s4 s4 0 0 L s5 s5 1 1 L s5 s5 0 1 R s1El funcionamiento de una computación de esta máquina se puede mostrar con elsiguiente ejemplo (en negrita se resalta la posición de la cabeza lectora/escritora):
  9. 9. PASO ESTADO CINTA 1 s1 11 2 s2 01 3 s2 010 4 s3 0100 5 s4 0101 6 s5 0101 7 s5 0101 8 s1 1101 9 s2 1001 10 s3 1001 11 s3 10010 12 s4 10011 13 s4 10011 14 s5 10011 15 s1 11011 PARADAVemos que esta máquina no hace gran cosa. Sin embargo, una máquina de Turingpuede hacer cosas útiles, tales como sumar dos números, multiplicarlos, copiarlos,etc. Disponiendo de una máquina con el suficiente número de estados, podríamoshacer con ella cualquier operación que un ordenador normal pudiese realizar. Lasmáquinas de Turing plantean una deducción bastante curiosa: dado que en ellas sepuede realizar cualquier trabajo computable, es posible programarlas para quesimulen el comportamiento de un potente ordenador. Y como una máquina deTuring puede ser codificada en CUALQUIER ordenador, por pequeño que sea, seríaposible (si disponemos de memoria suficiente, claro) emular en nuestro ordenadorde casa una máquina de Turing que simule un superordenador. Esto significa quetodos los ordenadores pueden realizar exactamente el mismo tipo de tareas, y quelos cálculos que pueda realizar el más grande los puede llevar a cabo también elmás pequeño. La única diferencia sería, obviamente, la velocidad. VIDEO (TURING Y SU MAQUINA).El siguiente video es muy interesante habla sobre Turing y su maquina. Un pocode historia sobre Alan Turing y un poco sobre su maquina como la invento y paraque se utilizo o con que proposito. esperamos sea de su agrado.
  10. 10. (:includeurl http://www.youtube.com/watch?v=v1on9D3Fkus&feature=related :)―EQUIPO 1″ MATEMATICAS PARA COMPUTADORA. grupo:302 lic.informatica. Castro Cevallos Manuel Antonio. Cortes Cortes Lizbeth Alondra. Cruz Torres Maritza Jeaninne. Ferrer Ramirez Ernesto.―AQUI TERMINA NUESTRO TRABAJO‖(continuamos editando)…….Presentacion sobre la maquina de Turing(:includeurl http://docs.google.com/EmbedSlideshow?docid=dcc347mh_19cqgnf7fz:)Aquí empieza el Trabajo elaborado por: Landeros Labrada Lizzet; Mendoza Torres Nayeli; Ontiveros Amaya Brenda; Rangel Cortes Guadalupe; Suarez Castellanos Iris y Schwuchow Alfaro BiancaLic.Informática 301 *La Maquina de Turing*La máquina de Turing es un modelo computacional introducido por Alan Turing enel trabajo ―On computable numbers, with an application to theEntscheidungsproblem‖, publicado por la Sociedad Matemática de Londres, en elcual se estudiaba la cuestión planteada por David Hilbert sobre si las matemáticasson decidibles, es decir, si hay un método definido que pueda aplicarse a cualquiersentencia matemática y que nos diga si esa sentencia es cierta o no. Turing
  11. 11. construyó un modelo formal de computador, la máquina de Turing, y demostróque existían problemas que una máquina no podía resolver. La máquina de Turinges un modelo matemático abstracto que formaliza el concepto de algoritmo.DIAGRAMA ARTISTICO DE UNA MAQUINA DE TURING ¿Cómo es la Máquina Turing?La máquina de Turing consta de un cabezal lector/escritor y una cinta infinita en laque el cabezal lee el contenido, borra el contenido anterior y escribe un nuevovalor. Las operaciones que se pueden realizar en esta máquina se limitan a:avanzar el cabezal lector/escritor hacia la derecha. avanzar el cabezallector/escritor hacia la izquierda. El cómputo es determinado a partir de una tablade estados de la forma:(estado, valor) (nuevo estado, nuevo valor, dirección)Esta tabla toma como parámetros el estado actual de la máquina y el carácterleído de la cinta, dando la dirección para mover el cabezal, el nuevo estado de lamáquina y el valor a ser escrito en la cinta.Con este aparato extremadamente sencillo es posible realizar cualquier cómputoque un computador digital sea capaz de realizar.Mediante este modelo teórico y el análisis de complejidad de algoritmos, fueposible la categorización de problemas computacionales de acuerdo a sucomportamiento, apareciendo así, el conjunto de problemas denominados P y NP,cuyas soluciones en tiempo polinómico son encontradas según el determinismo yno determinismo respectivamente de la máquina de Turing.De hecho, se puede probar matemáticamente que para cualquier programa decomputadora es posible crear una máquina de Turing equivalente. Esta pruebaresulta de la Tesis de Church-Turing, formulada por Alan Turing y Alonzo Church,de forma independiente a mediados del siglo XX.
  12. 12. La idea subyacente es el concepto de que una máquina de Turing es una personaejecutando un procedimiento efectivo definido formalmente, donde el espacio dememoria de trabajo es ilimitado, pero en un momento determinado sólo una partefinita es accesible. La memoria se divide en espacios de trabajo denominadosceldas, donde se pueden escribir y leer símbolos. Inicialmente todas las celdascontienen un símbolo especial denominado ―blanco‖. Las instrucciones quedeterminan el funcionamiento de la máquina tienen la forma, ―si estamos en elestado x leyendo la posición y, donde hay escrito el símbolo z, entonces estesímbolo debe ser reemplazado por este otro símbolo, y pasar a leer la celdasiguiente, bien a la izquierda o bien a la derecha‖. La máquina de Turing puedeconsiderarse como un autómata capaz de reconocer lenguajes formales. En esesentido es capaz de reconocer los lenguajes recursivamente enumerables, deacuerdo a la jerarquía de Chomsky. Su potencia es, por tanto, superior a otrostipos de autómatas, como el autómata finito, o el autómata con pila, o igual aotros modelos con la misma potencia computacional. DefiniciònUna máquina de Turing con una sola cinta puede ser definida como una 6-tuplaM=(Q,T,s,b,F,S) , donde:•Q es un conjunto finito de estados.•T es un conjunto finito de símbolos de cinta, el alfabeto de cinta.•s E Q es el estado inicial.•b E L es un símbolo denominado blanco, y es el único símbolo que se puederepetir un número infinito de veces.•F _C Q es el conjunto de estados finales de aceptación.•S : Q x L → Q x L x {L,R} es una función parcial denominada función detransición, donde L es un movimiento a la izquierda y R es el movimiento a laderecha.Existen en la literatura un abundante número de definiciones alternativas, perotodas ellas tienen el mismo poder computacional, por ejemplo se puede añadir elsímbolo S como símbolo de ―no movimiento‖ en un paso de cómputo o el símboloΣ para indicar el alfabeto de entrada.
  13. 13. Ejemplo Definimos una máquina de Turing sobre el alfabeto {0,1}, donde 0representa el símbolo blanco. La máquina comenzará su proceso situada sobre unsímbolo ―1″ de una serie. La máquina de Turing copiará el número de símbolos ―1″que encuentre hasta el primer blanco detrás de dicho símbolo blanco. Es decir,situada sobre el 1 situado en el extremo izquierdo, doblará el número de símbolos1, con un 0 en medio. Así, si tenemos la entrada ―111″ devolverá ―1110111″, con―1111″ devolverá ―111101111″, y sucesivamente.El conjunto de estados es {s1,s2,s3,s4,s5} y el estado inicial es s1. La tabla quedescribe la función de transición es la siguiente:ESTADO S.LEIDO S.ESCRITO MOV. ESTADO SIG. s1 1 0 R s2 s2 1 1 R s2 s2 0 0 R s3 s3 0 1 L s4 s3 1 1 R s3 s4 1 1 L s4 s4 0 0 L s5 s5 1 1 L s5 s5 0 1 R s1El funcionamiento de una computación de esta máquina se puede mostrar con elsiguiente ejemplo (en negrita se resalta la posición de la cabeza lectora/escritora):PASO ESTADO CINTA 1 s1 11 2 s2 01 3 s2 010 4 s3 0100 5 s4 0101 6 s5 0101 7 s5 0101 8 s1 1101 9 s2 1001 10 s3 1001 11 s3 10010
  14. 14. 12 s4 10011 13 s4 10011 14 s5 10011 15 s1 11011 PARADALa máquina realiza su proceso por medio de un bucle, en el estado inicial s1,reemplaza el primer 1 con un 0, y pasa al estado s2, con el que avanza hasta laderecha, saltando los símbolos 1 hasta un 0 (que debe existir), cuando loencuentra pasa a ser s3, con este estado avanza saltando los 1 hasta encontrarotro 0 (la primera vez no habría ningún 1). Una vez en el extremo derecho, añadeun 1. Después comienza el proceso de retorno; con s4 vuelve a la izquierdasaltando los 1, cuando encuentra un 0 (en el medio de la secuencia), pasa a s5que continúa a la izquierda saltando los 1 hasta el 0 que se escribió al principio. Sereemplaza de nuevo este 0 por 1, y pasa al símbolo siguiente, si es un 1, se pasa aotra iteración del bucle, pasando al estado s1 de nuevo. Si es un símbolo 0, será elsímbolo central, con lo que la máquina se detiene al haber finalizado su cómputo. Máquinas de Turing deterministas y no deterministasLa entrada de una máquina de Turing viene determinada por el estado actual y elsímbolo leído, un par [estado, símbolo], siendo el cambio de estado, la escriturade un nuevo símbolo y el movimiento las acciones a tomar en función de unaentrada. En el caso de que para cada par estado y símbolo posible exista a losumo una posibilidad de ejecución, se dirá que es una máquina de Turingdeterminista, mientras que en el caso de que exista al menos un par [estado,símbolo] con más de una posible combinación de actuaciones se dirá que se tratade una máquina de Turing no determinista.La función de transición δ en el caso no determinista, queda definida como sigue:S: Q X T→ P(QX T X {L,R})¿Cómo sabe una máquina no determinista cuál de las varias actuaciones tomar?Hay dos formas de verlo: una es decir que la máquina es ―el mejor adivinoposible‖, esto es, que siempre elige la transición que eventualmente la llevará a unestado final de aceptación. La otra es imaginarse que la máquina se ―clona‖,bifurcándose en varias copias, cada una de las cuales sigue una de las posiblestransiciones. Mientras que una máquina determinista sigue un solo ―caminocomputacional‖, una máquina no determinista tiene un ―árbol computacional‖. Si
  15. 15. cualquiera de las ramas del árbol finaliza en un estado de aceptación, se dice quela máquina acepta la entrada.La capacidad de cómputo de ambas versiones es equivalente; se puede demostrarque dada una máquina de Turing no determinista existe otra máquina de Turingdeterminista equivalente, en el sentido de que reconoce el mismo lenguaje, yviceversa. No obstante, la velocidad de ejecución de ambos formalismos no es lamisma, pues si una máquina no determinista M reconoce una cierta palabra detamaño n en un tiempo O(t(n)), la máquina determinista equivalente reconocerá lapalabra en un tiempo O(2t(n)). Es decir, el no determinismo permitirá reducir lacomplejidad de la solución de los problemas, permitiendo resolver, por ejemplo,problemas de complejidad exponencial en un tiempo polinómico. Máquina Universal de TuringUna máquina de Turing computa una determinada función parcial de carácterdefinido, y unívoca, definida sobre las secuencias de posibles cadenas de símbolosde su alfabeto. En este sentido se puede considerar como equivalente a unprograma de ordenador, o a un algoritmo. Sin embargo es posible realizar unacodificación de la tabla que representa a una máquina de Turing, a su vez, comouna secuencia de símbolos en un determinado alfabeto; por ello, podemosconstruir una máquina de Turing que acepte como entrada la tabla que representaa otra máquina de Turing, y, de esta manera, simule su comportamiento.En 1947, Turing indicó:Se puede demostrar que es posible construir una máquina especial de este tipoque pueda realizar el trabajo de todas las demás. Esta máquina especial puede serdenominada máquina universal.Esta fue, posiblemente, la idea germinal del concepto de Sistema Operativo, unprograma que puede, a su vez, ejecutar en el sentido de controlar otrosprogramas, demostrando su existencia, y abriendo camino para su construcciónreal.Con esta codificación de tablas como cadenas, se abre la posiblidad de que unasmáquinas de Turing se comporten como otras máquinas de Turing. Sin embargo,muchas de sus posibilidades son indecidibles, pues no admiten una soluciónalgorítmica. Por ejemplo, un problema interesante es determinar si una máquinade Turing cualquiera se parará en un tiempo finito sobre una determinada entrada;problema conocido como Problema de la parada, y que Turing demostró que eraindecidible. En general, se puede demostrar que cualquier cuestión no trivial sobre
  16. 16. el comportamiento o la salida de una máquina de Turing es un problemaindecidible. Máquina de Turing CuánticaEn 1985, Deutsch presentó el diseño de la primera Máquina Cuántica basada enuna máquina de Turing. Con este fin enunció una nueva variante la tesis deChurch dando lugar al denominado ―Principio de Church-Turing-Deutsch‖.La estructura de una máquina de Turing cuántica es muy similar a la de unamáquina de Turing clásica. Está compuesta por los tres elementos clásicos: Una cinta de memoria infinita en que cada elemento es un Qu Bit Un procesador finito Un cursorEl procesador contiene el juego de instrucciones que se aplica sobre el elementode la cinta señalado por el cursor. El resultado dependerá del Qu Bit de la cinta ydel estado del procesador. El procesador ejecuta una instrucción por unidad detiempo.La cinta de memoria es similar a la de una máquina de Turing tradicional. La únicadiferencia es que cada elemento de la cinta de la máquina cuántica es un Qu Bit. Elalfabeto de esta nueva máquina está formado por el espacio de valores del Qu Bit.El cursor es el elemento que comunica la unidad de memoria y el procesador. Suposición se representa con una variable entera. Presentacion de La Màquina de Turing(:includeurl http://docs.google.com/EmbedSlideshow?docid=dg297hmk_8fw2bt5dd&amp:) Video sobre la Maquina de Turing(:includeurl http://www.youtube.com/watch?v=DnBsndE1IkA:)
  17. 17. Aqui termina el trabajo elaborado por: Landeros Labrada Lizzet; Mendoza Torres Nayeli; Ontiveros Amaya Brenda; Rangel Cortes Guadalupe; Suarez Castellanos Iris y Schwuchow Alfaro BiancaLic.Informática 301Aqui empieza el trabajo del equipo numero 7 Carrera: Lic. en Iformaica. Docente:Alberto Lomeli. Salon y grupo: 302Integrantes: Sergio Zamora Blancarte. Beltran Loez Hirwin Arturo. Pacheco Lara Arturo.http://docs.google.com/Presentation?docid=df973fmc_3cg94qggz&hl=enAqui termina el trabajo del equipo 7.Aqui empieza el trabajo del equipo 8.Lic. en Informatica 302, Profesor: Alberto LomeliIntegrantes:*Arellano Juarez Aaron.*Contreras Ramos Imelda.*Perez Dorado Martin.*Hernandez Velasco Keren.*Ramos Hurtado Alejandra.(:includeurl http://docs.google.com/Present?docid=dhbfs52_33gm2gscdr:)(:youtube Sbury 0 Ak 2 Tg:)
  18. 18. Video traducido:―La maquina tiene basicamente 3 componentes, el primero es una cinta, que comose puede ver esta dividida en cuadros y tiene un cabezal lector/escritor o unscanner, y basicamente tiene la funcion de escanear un simbolo a la vez. Estobasicamente significa que cada cuadro puede contener un simbolo, por ejemplo uncero, o un uno, o cualquier otro simbolo diferente en la cinta. Esto de aqui es elcabezal lector/escritor, o lo pueden llamar escaner, cualquiera que prefieran. Asique, basicamente esta la cinta y el escaner, y la cinta se mueve atravez delescaner en intervalos de un paso, puede ir uno hacia arriba, o uno hacia abajo, oquedarse donde esta. Tambien esta una caja conectada, a la que yo le llamocontrolador. Este esta conectado al cabezal lector/escritor, y dependiendo de loque el escaner este leyendo en un tiempo exacto y el estado del controlador,puede ir de un estado a otro siguiendo un set predeterminado de pre-condicionesque existen dentro del controlador. El controlador tiene dos partes principales,tiene Estado principal; en el que tiene reglas que le dice como moverse de unestado a otro. Y tiene un Estado transitivo; lo que sucede es que la maquinaempieza en algun estado inicial y leera el simbolo y el simbolo ira al controlador yel controlador dira ‗estoy en este estado y lei este simbolo‘ y va haber una reglaque va a encontrar, basado en esa regla podria bajar uno, e ir al estado dos.Basicamente se va a mover atraves de la cinta y puede leer, escribir o moverse. Yesa es, la formalizacion basica de la maquina de turing y es usada basicamentecomo una calculador universal asi que esto es como una formalizacion teorica deuna computadora personal, se puede imaginar que esto es la computadora, estopodria ser la memoria y su leector de memoria, algo asi como un cpu, y elcontrolador que podria ser como un ejecutador binaro o, no, no como unejecutador binario, mejor como las instrucciones que estan disponibles en elproceso para procesar los datos, y pues basicamente esto es lo que es unamaquina de turing, estaremos introduciendo lo que es la definicion matematicamas rigorista de lo que es, peroe esto solo es una definicion pictorica (ilustrada,grafica) para que tengan la representacion de lo que es mas o menos y sepan delo que estamos hablando…‖(:youtube v1on9D3Fkus:)Una máquina de Turing es un autómata que se mueve sobre una secuencia linealde datos. En cada instante la máquina puede leer un solo dato de la secuencia(generalmente un carácter) y realiza ciertas acciones en base a una tabla quetiene en cuenta su ―estado‖ actual (interno) y el último dato leído. Entre lasacciones está la posibilidad de escribir nuevos datos en la secuencia; recorrer lasecuencia en ambos sentidos y cambiar de ―estado‖ dentro de un conjunto finitode estados posibles.
  19. 19. En realidad la máquina de Turing es más una abstracción matemática que undispositivo físico o mecánico. El hecho que se le denomine ―máquina‖ se debe aque su funcionamiento puede ser descrito en términos de operaciones individualesmuy sencillas que sugieren una implementación real muy simple, lo que hamotivado que existan muchas versiones prácticas del mismo.Aqui termina el trabajo del equipo 8Aqui comienza el trabajo del equipo 3Trabajo: unidad 6Integrantes: Cruz Reyes Cuautemoc Lopez Salas Miguel Salazar Gutierrez GustavoSolis Covarrubias Alejandro Verdugo Cota Luis MiguelGrupo: 302 Lic.Informaticaintroduccion de la unidad 6El lenguaje formal es aquel que el hombre ha desarrollado para expresar lassituaciones que se dan en especifico en cada área del conocimiento científico. Laspalabras y oraciones de un lenguaje formal son perfectamente definidas(unapalabra mantiene su el mismo significado prescindiendo de su contexto o uso. Loslenguajes formales son exentos de cualquier componente semántico fuera de susoperadores y relaciones. Los lenguajes formales pueden ser utilizados paramodelar una teoría de la mecánica, fisica, matemática, ingeniería eléctrica, o deotra naturaleza, con la ventaja de que en estos toda ambigüedad es eliminada. Laidea básica es considerar a un lenguaje como un conjunto compuesto por cadenasde longitud finita formadas por símbolos tomados de un alfabeto. Los lenguajesformales como las matemáticas y la lógica, fueron desarrollados generalmente através del establecimiento de una teoría, la cual le da las bases para dichoslenguajes. Empezaremos por ver lo que es la definición de lenguaje. LENGUAJE Laslenguas son sistemas más o menos complejos, que asocian contenidos depensamiento y significación a manifestaciones simbólicas tanto orales comoescritas. El lenguaje sería la capacidad humana para comunicarse mediantelenguas como los idiomas o los creados con fines específicos (los lenguajes deprogramación, los lenguajes de la lógica, los lenguajes de la aritmética…).Definiremos el lenguaje como un conjunto de palabras, cada lenguaje estácompuesto por secuencias de símbolos tomados de alguna colección finita. lacolección finita es el conjunto de las letras del alfabeto junto con los símbolos quese usan para construir palabras De forma similar, la representación de enteros,son secuencias de caracteres del conjunto de los dígitos {0,1,2,3,4,5,6,7,8,9}.
  20. 20. Una secuencia finita de símbolos de un determinado alfabeto, se conoce comopalabra sobre dicho alfabeto. Cada símbolo de un alfabeto, es una cadena sobredicho alfabeto. La cadena vacía, es una palabra sobre cualquier alfabeto. Lapalabra vacía, es una secuencia vacía de símbolos, tomados de cualquiera que seael alfabeto en cuestión. Los lenguajes pueden ser bastante grandes, como lo es elcaso de todas las palabras ―correctas‖ que se pueden formar en castellano sobre elalfabeto castellano, dado que un lenguaje es un conjunto de cadenas. LENGUAJESFORMALES El calificativo ―formal‖, determina un lenguaje que es construidoestableciendo una teoría y se le llamaría artificial. Un lenguaje formal como lalógica consiste de un conjunto de oraciones llamadas fórmulas o expresiones bienformadas. ―lenguaje artificial‖ se refiere al hecho de que se forma por medio dereglas de formación, ―formal‖ se refiere específicamente al hecho de que lasoraciones de estos lenguajes consisten de una lista de símbolos sujetos a diversasinterpretaciones. Una de las metas en computación es poder especificarrigurosamente los significados por los métodos de interpretación de los sistemasformales, estos métodos constituyen las semánticas del lenguaje formal. Elproceso de generación y desarrollo de un lenguaje formal es mediante las palabrasy las oraciones que son perfectamente definidas: una palabra mantiene el mismosignificado prescindiendo del contexto en el que se encuentre. Como resultado deeste proceso, obtendremos las llamadas gramáticas libres del contexto. En adición,el significado de símbolos es determinado exclusivamente por la sintaxis, sinreferencia a ningún contenido semántico. Una función y una fórmula, puededesignar cualquier cosa, solamente los operadores y relaciones que nos permitenescribir una fórmula como por ejemplo la igualdad, desigualdad, pertenencia, nopertenencia, conectivos lógicos, etc., y operadores algebraicos +, -,*, /, tienensignificados especiales. Los lenguajes formales son, por todo esto, necesariamenteexentos de cualquier componente semántico fuera de sus operadores y relaciones,y es gracias a esta ausencia de significado especial, que los lenguajes formalespueden ser usados para modelar una teoría de la mecánica, de la ingenieríaelectrónica, etc., en la lingüística u otra naturaleza, la cual asume el estatus delcomponente semántico de tal lenguaje. No podemos evitar mencionar laimportancia de los números en lenguajes formales. En un sistema numérico, asícomo en un sistema de cálculo, los números siempre tienen el potencial de referirun cierto ―contenido‖ el cual pertenecerá entonces al componente semántico dellenguaje: los objetos posibles cuando son contables o medibles. La asociación deun significado con un número o con un cálculo no siempre es obvio, sin embargo,es útil recordar que en física cuando se completa un cálculo y se busca unainterpretación del mismo solamente se mantienen los números positivos de losresultados ya que las soluciones negativas o imaginarias a las ecuaciones que sesupone describen la realidad son la mayoría de las veces rechazadas porque nocorresponden con la ―realidad física‖. En resumen, los lenguajes formales, secaracterizan con las siguientes propiedades: •Se desarrollan a partir de una teoríaestablecida. •Tienen un componente semántico mínimo. •Posibilidad de
  21. 21. incrementar el componente semántico de acuerdo con la teoría a formalizar. •Lasintaxis produce oraciones no ambiguas, en lo que respecta al significado de suspalabras •Completa formalización, y por esto, el potencial de la construccióncomputacional.GRAMATICALa gramática de un lenguaje es el conjunto de reglas capaces de generar todas lasposibilidades combinatorias de ese lenguaje, ya sea éste un lenguaje formal o unlenguaje natural.Tema elegido: la maquina de turing La máquina de Turing es un modelo computacional introducido porAlan Turing en el trabajo “On computable numbers, with an applicationto the Entscheidungsproblem”, publicado por la Sociedad Matemática deLondres, en el cual se estudiaba la cuestión planteada por DavidHilbert sobre si las matemáticas son decidibles, es decir, si hay unmétodo definido que pueda aplicarse a cualquier sentencia matemática yque nos diga si esa sentencia es cierta o no. Turing construyó unmodelo formal de computador, la máquina de Turing, y demostró queexistían problemas que una máquina no podía resolver. La máquina deTuring es un modelo matemático abstracto que formaliza el concepto dealgoritmo.Alan Mathison Turing (23 de junio de 1912 - 7 de junio de 1954). Fue unmatemático, informático teórico,criptógrafo y filósofo inglés. Se le considera unode los padres de la Ciencia de la computación siendo el precursor de la informáticamoderna. Proporcionó una influyente formalización de los conceptos de algoritmoy computación: lamáquina de Turing. Formuló su propia versión de la hoyampliamente aceptada Tesis de Church-Turing, la cual postula que cualquiermodelo computacional existente tiene las mismas capacidades algorítmicas, o unsubconjunto, de las que tiene una máquina de Turing. Durante la Segunda GuerraMundial, trabajó en romper los códigos nazis, particularmente los de la máquinaEnigma; durante un tiempo fue el director de la sección Naval Enigma delBletchley Park. Tras la guerra diseñó uno de los primeros computadoreselectrónicos programables digitales en el Laboratorio Nacional de Física del ReinoUnido y poco tiempo después construyó otra de las primeras máquinas en laUniversidad de Manchester. Entre otras muchas cosas, también contribuyó deforma particular e incluso provocativa al enigma de si las máquinas puedenpensar, es decir a la Inteligencia Artificial.La Universidad y sus estudios sobre computabilidad
  22. 22. Debido a su falta de voluntad para esforzarse con la misma intensidad en elestudio de los clásicos que en el de la ciencia y las matemáticas, Turing suspendiósus exámenes finales varias veces y tuvo que ingresar en la escuela universitariaque eligió en segundo lugar, King‘s College, Universidad de Cambridge, en vez deen la que era su primera elección, Trinity. Recibió las enseñanzas de GodfreyHarold Hardy, un respetado matemático que ocupó la cátedra Sadleirian enCambridge y que posteriormente fue responsable de un centro de estudios einvestigaciones matemáticas de 1931 a 1934. En 1935 Turing fue nombradoprofesor del King‘s College.En su memorable estudio ―Los números computables, con una aplicación alEntscheidungsproblem‖ (publicado en 1936), Turing reformuló los resultadosobtenidos por Kurt Gödel en 1931 Máquina de Turing, unos dispositivos formales ysimples. Demostró que dicha máquina era capaz de implementar cualquierproblema matemático que pudiera representarse mediante un algoritmo. Lasmáquinas de Turing siguen siendo el objeto central de estudio en la teoría de lacomputación. Llegó a probar que no había ninguna solución para el problema dedecisión, Entscheidungsproblem, demostrando primero que el problema de laparada para las máquinas de Turing es irresoluble: no es posible decidiralgorítmicamente si una máquina de Turing dada llegará a pararse o no. Aunquesu demostración se publicó después de la demostración equivalente de AlonzoChurch respecto a su cálculo lambda, el estudio de Turing es mucho más accesiblee intuitivo. También fue pionero con su concepto de ―Máquina Universal (deTuring)‖, con la tesis de que dicha máquina podría realizar las mismas tareas quecualquier otro tipo de máquina. Su estudio también introduce el concepto denúmeros definibles. sobre los límites de la demostrabilidad y la computación,sustituyendo al lenguaje formal universal descrito por Gödel por lo que hoy seconoce comoLa mayor parte de 1937 y 1938 la pasó en la Universidad de Princeton, estudiandobajo la dirección de Alonzo Church. En 1938 obtuvo el Doctorado en Princeton; ensu discurso introdujo el concepto de hipercomputación, en el que ampliaba lasmáquinas de Turing con las llamadas máquinas oráculo, las cuales permitían elestudio de los problemas para los que no existe una solución algorítmica.Tras su regreso a Cambridge en 1939, asistió a las conferencias de LudwigWittgenstein sobre las bases de las matemáticas. Ambos discutieron ymantuvieron un vehemente desencuentro, ya que Turing defendía el formalismomatemático y Wittgenstein criticaba que las matemáticas estaban sobrevaloradasy no descubrían ninguna verdad absoluta.Análisis criptográfico (ruptura de códigos) Réplica de una máquina bombe
  23. 23. Durante la Segunda Guerra Mundial fue uno de los principales artífices de lostrabajos del Bletchley Park para descifrar los códigos nazis. Sus perspicacesobservaciones matemáticas contribuyeron a romper los códigos de la máquinaEnigma y de los codificadores de teletipos FISH (máquinas de teletipos codificadosque fabricaron conjuntamente Lorenz Electric y Siemens&Halske). Sus estudios delsistema Fish ayudarían al desarrollo posterior de la primera computadoraprogramable electrónica digital llamada Colossus, la cual fue diseñada por MaxNewman y su equipo, y construida en la Estación de Investigaciones Postales deDollis Hill por un equipo dirigido por Thomas Flowers en 1943. Dicha computadorase utilizó para descifrar los códigos Fish (en concreto las transmisiones de lamáquina Lorenz).Para romper los códigos de la máquina Enigma, Turing diseñó la bombe, unamáquina electromecánica —llamada así en reconocimiento de la diseñada por lospolacos bomba kryptologiczna— que se utilizaba para eliminar una gran cantidadde claves enigma candidatas. Para cada combinación posible se implementabaeléctricamente una cadena de deducciones lógicas. Era posible detectar cuándoocurría una contradicción y desechar la combinación. La bombe de Turing, con unamejora añadida que sugirió el matemático Gordon Welchman, era la herramientaprincipal que usaban los criptógrafos aliados para leer las transmisiones Enigma.Los trabajos de ruptura de códigos de Turing han sido secretos hasta los años1970; ni siquiera sus amigos más íntimos llegaron a tener constancia.Estudios sobre las primeras computadoras; la prueba de TuringDe 1945 a 1948 trabajó en el Laboratorio Nacional de Física en el diseño del ACE(Máquina de Computación Automática). En 1949 fue nombrado director delegadodel laboratorio de computación de la Universidad de Manchester y trabajó en elsoftware de una de las primeras computadoras reales — la Manchester Mark I.Durante esta etapa también realizó estudios más abstractos y en su artículo―Máquinas de computación e inteligencia‖ (octubre de 1950) Turing trató elproblema de la inteligencia artificial y propuso un experimento que hoy se conocecomo la prueba de Turing, con la intención de definir una prueba estándar por elque una máquina podría catalogarse como ―sensible‖ o ―sentiente‖.En 1952 Turing escribió un programa de ajedrez. A falta de una computadora losuficientemente potente como para ejecutarlo, él simulaba el funcionamiento de lacomputadora, tardando más de hora y media en efectuar un movimiento. Una delas partidas llegó a registrarse; el programa perdió frente a un amigo de Turing.
  24. 24. Trabajó junto a Norbert Wiener en el desarrollo de la cibernética. Esta rama deestudios se genera a partir de la demanda de sistemas de control que exige elprogresivo desarrollo de las técnicas de producción a partir del siglo XX. Lacibernética pretende establecer un sistema de comunicación entre el hombre y lamáquina como premisa fundamental para administrar los sistemas de control. Susestudios profundizaron en esta relación estableciendo el concepto de interfaz ycuestionando los límites de simulación del razonamiento humano.Estudios sobre la formación de patrones y la biología matemáticaTuring trabajó desde 1952 hasta que falleció en 1954 en la biología matemática,concretamente en la morfogénesis. Publicó un trabajo sobre esta materia titulado―Fundamentos Químicos de la Morfogénesis‖ en 1952. Su principal interés eracomprender la filotaxis de Fibonacci, es decir, la existencia de los números deFibonacci en las estructuras vegetales. Utilizó ecuaciones de reacción-difusión queactualmente son cruciales en el campo de la formación de patrones. Sus trabajosposteriores no se publicaron hasta 1992 en el libro ―Obras Completas de A. M.Turing‖.Diagrama artístico de una máquina de Turing. DescripciónLa máquina de Turing consta de un cabezal lector/escritor y una cinta infinita en laque el cabezal lee el contenido, borra el contenido anterior y escribe un nuevovalor. Las operaciones que se pueden realizar en esta máquina se limitan a:avanzar el cabezal lector/escritor hacia la derecha. avanzar el cabezallector/escritor hacia la izquierda. El cómputo es determinado a partir de una tablade estados de la forma: (estado, valor) (nuevo estado, nuevo valor, dirección)Esta tabla toma como parámetros el estado actual de la máquina y el carácterleído de la cinta, dando la dirección para mover el cabezal, el nuevo estado de lamáquina y el valor a ser escrito en la cinta. Con este aparato extremadamentesencillo es posible realizar cualquier cómputo que un computador digital sea capazde realizar. Mediante este modelo teórico y el análisis de complejidad dealgoritmos, fue posible la categorización de problemas computacionales de acuerdoa su comportamiento, apareciendo así, el conjunto de problemas denominados P yNP, cuyas soluciones en tiempo polinómico son encontradas según el determinismoy no determinismo respectivamente de la máquina de Turing. De hecho, se puedeprobar matemáticamente que para cualquier programa de computadora es posiblecrear una máquina de Turing equivalente. Esta prueba resulta de la Tesis deChurch-Turing, formulada por Alan Turing y Alonzo Church, de formaindependiente a mediados del siglo XX. La idea subyacente es el concepto de queuna máquina de Turing es una persona ejecutando un procedimiento efectivodefinido formalmente, donde el espacio de memoria de trabajo es ilimitado, peroen un momento determinado sólo una parte finita es accesible. La memoria se
  25. 25. divide en espacios de trabajo denominados celdas, donde se pueden escribir y leersímbolos. Inicialmente todas las celdas contienen un símbolo especial denominado―blanco‖. Las instrucciones que determinan el funcionamiento de la máquina tienenla forma, ―si estamos en el estado x leyendo la posición y, donde hay escrito elsímbolo z, entonces este símbolo debe ser reemplazado por este otro símbolo, ypasar a leer la celda siguiente, bien a la izquierda o bien a la derecha‖. La máquinade Turing puede considerarse como un autómata capaz de reconocerlenguajesformales. En ese sentido es capaz de reconocer los lenguajes recursivamenteenumerables, de acuerdo a la jerarquía de Chomsky. Su potencia es, por tanto,superior a otros tipos de autómatas, como el autómata finito, o el autómata conpila, o igual a otros modelos con la misma potencia computacional. DefiniciónUna máquina de Turing con una sola cinta puede ser definida como una 6-tupla ,donde es un conjunto finito de estados. es un conjunto finito de símbolos de cinta, el alfabeto de cinta. es el estado inicial. es un símbolo denominado blanco, y es el único símbolo que se puederepetir un número infinito de veces. es el conjunto de estados finales de aceptación. es una función parcial denominada función de transición, donde L esun movimiento a la izquierda y R es el movimiento a la derecha.Existen en la literatura un abundante número de definiciones alternativas, perotodas ellas tienen el mismo poder computacional, por ejemplo se puede añadir elsímbolo como símbolo de ―no movimiento‖ en un paso de cómputo o el símbolo Σpara indicar el alfabeto de entrada. EjemploDefinimos una máquina de Turing sobre el alfabeto {0,1}, donde 0 representa elsímbolo blanco. La máquina comenzará su proceso situada sobre un símbolo ―1″de una serie. La máquina de Turing copiará el número de símbolos ―1″ queencuentre hasta el primer blanco detrás de dicho símbolo blanco. Es decir, situadasobre el 1 situado en el extremo izquierdo, doblará el número de símbolos 1, conun 0 en medio. Así, si tenemos la entrada ―111″ devolverá ―1110111″, con ―1111″devolverá ―111101111″, y sucesivamente. El conjunto de estados es{s1,s2,s3,s4,s5} y el estado inicial es s1. La tabla que describe la función detransición es la siguiente: Estado Símbolo leído Símbolo escrito Mov. Estado sig. s11 0 R s2 s2 1 1 R s2 s2 0 0 R s3 s3 0 1 L s4 s3 1 1 R s3 s4 1 1 L s4 s4 0 0 L s5 s51 1 L s5 s5 0 1 R s1 El funcionamiento de una computación de esta máquina sepuede mostrar con el siguiente ejemplo (en negrita se resalta la posición de lacabeza lectora/escritora): Paso Estado Cinta 1 s1 11 2 s2 01 3 s2 010 4 s3 0100 5s4 0101 6 s5 0101 7 s5 0101 8 s1 1101 9 s2 1001 10 s3 1001 11 s3 10010 12 s410011 13 s4 10011 14 s5 10011 15 s1 11011 Parada La máquina realiza su
  26. 26. proceso por medio de un bucle, en el estado inicial s1, reemplaza el primer 1 conun 0, y pasa al estado s2, con el que avanza hasta la derecha, saltando lossímbolos 1 hasta un 0 (que debe existir), cuando lo encuentra pasa al estado s3,con este estado avanza saltando los 1 hasta encontrar otro 0 (la primera vez nohabría ningún 1). Una vez en el extremo derecho, añade un 1. Después comienzael proceso de retorno; con s4 vuelve a la izquierda saltando los 1, cuandoencuentra un 0 (en el medio de la secuencia), pasa a s5 que continúa a laizquierda saltando los 1 hasta el 0 que se escribió al principio. Se reemplaza denuevo este 0 por 1, y pasa al símbolo siguiente, si es un 1, se pasa a otra iteracióndel bucle, pasando al estado s1 de nuevo. Si es un símbolo 0, será el símbolocentral, con lo que la máquina se detiene al haber finalizado su cómputo. Máquinasde Turing deterministas y no deterministasLa entrada de una máquina de Turing viene determinada por el estado actual y elsímbolo leído, un par [estado, símbolo], siendo el cambio de estado, la escriturade un nuevo símbolo y el movimiento las acciones a tomar en función de unaentrada. En el caso de que para cada par estado y símbolo posible exista a losumo una posibilidad de ejecución, se dirá que es una máquina de Turingdeterminista, mientras que en el caso de que exista al menos un par [estado,símbolo] con más de una posible combinación de actuaciones se dirá que se tratade una máquina de Turing no determinista. La función de transición δ en el casono determinista, queda definida como sigue:¿Cómo sabe una máquina no determinista cuál de las varias actuaciones tomar?Hay dos formas de verlo: una es decir que la máquina es ―el mejor adivinoposible‖, esto es, que siempre elige la transición que eventualmente la llevará a unestado final de aceptación. La otra es imaginarse que la máquina se ―clona‖,bifurcándose en varias copias, cada una de las cuales sigue una de las posiblestransiciones. Mientras que una máquina determinista sigue un solo ―caminocomputacional‖, una máquina no determinista tiene un ―árbol computacional‖. Sicualquiera de las ramas del árbol finaliza en un estado de aceptación, se dice quela máquina acepta la entrada. La capacidad de cómputo de ambas versiones esequivalente; se puede demostrar que dada una máquina de Turing no deterministaexiste otra máquina de Turing determinista equivalente, en el sentido de quereconoce el mismo lenguaje, y viceversa. No obstante, la velocidad de ejecuciónde ambos formalismos no es la misma, pues si una máquina no determinista Mreconoce una cierta palabra de tamaño n en un tiempo O(t(n)), la máquinadeterminista equivalente reconocerá la palabra en un tiempo O(2t(n)). Es decir, elno determinismo permitirá reducir la complejidad de la solución de los problemas,permitiendo resolver, por ejemplo, problemas de complejidad exponencial en untiempo polinómico.Máquina Universal de Turing
  27. 27. Una máquina de Turing computa una determinada función parcial de carácterdefinido, y unívoca, definida sobre las secuencias de posibles cadenas de símbolosde su alfabeto. En este sentido se puede considerar como equivalente a unprograma de ordenador, o a un algoritmo. Sin embargo es posible realizar unacodificación de la tabla que representa a una máquina de Turing, a su vez, comouna secuencia de símbolos en un determinado alfabeto; por ello, podemosconstruir una máquina de Turing que acepte como entrada la tabla que representaa otra máquina de Turing, y, de esta manera, simule su comportamiento. En 1947,Turing indicó: Se puede demostrar que es posible construir una máquina especialde este tipo que pueda realizar el trabajo de todas las demás. Esta máquinaespecial puede ser denominada máquina universal. Esta fue, posiblemente, la ideagerminal del concepto de Sistema Operativo, un programa que puede, a su vez,ejecutar en el sentido de controlar otros programas, demostrando su existencia, yabriendo camino para su construcción real. Con esta codificación de tablas comocadenas, se abre la posiblidad de que unas máquinas de Turing se comportencomo otras máquinas de Turing. Sin embargo, muchas de sus posibilidades sonindecidibles, pues no admiten una solución algorítmica. Por ejemplo, un problemainteresante es determinar si una máquina de Turing cualquiera se parará en untiempo finito sobre una determinada entrada; problema conocido como Problemade la parada, y que Turing demostró que era indecidible. En general, se puededemostrar que cualquier cuestión no trivial sobre el comportamiento o la salida deuna máquina de Turing es un problema indecidible. Máquina de Turing CuánticaEn 1985, Deutsch presentó el diseño de la primera Máquina Cuántica basada enuna máquina de Turing. Con este fin enunció una nueva variante la tesis deChurch dando lugar al denominado ―Principio de Church-Turing-Deutsch‖. Laestructura de una máquina de Turing cuántica es muy similar a la de una máquinade Turing clásica. Está compuesta por los tres elementos clásicos: Una cinta dememoria infinita en que cada elemento es un Qu Bit Un procesador finito Un cursorLa siguiente ilustración muestra el esquema de una máquina cuántica:El procesador contiene el juego de instrucciones que se aplica sobre el elementode la cinta señalado por el cursor. El resultado dependerá delQuBit de la cinta y delestado del procesador. El procesador ejecuta una instrucción por unidad detiempo. La cinta de memoria es similar a la de una máquina de Turing tradicional.La única diferencia es que cada elemento de la cinta de la máquina cuántica esun Qu Bit. El alfabeto de esta nueva máquina está formado por el espacio devalores del Qu Bit. El cursor es el elemento que comunica la unidad de memoria yel procesador. Su posición se representa con una variable entera.

×