Maquina de Turing

download Maquina de Turing

of 66

description

MAQUINA DE TURING

Transcript of Maquina de Turing

UNIVERSIDAD TECNOLGICA DEL VALLE DE TOLUCA

DIRECCIN DE CARREARA DE MECATRNICA Y SISTEMAS PRODUCTIVOS

TEMA: "MAQUINA DE TURING"

PRIMER CUATRIMESTREPOR

JAIRO ROMERO NOVOA

ING. ELEAZAR BARRUETA GONZALEZ

PERIODO ENERO ABRIL 2015MAQUINA DE TURINGQu significa esto en lo que se refiere al universo fsico? La respuesta de Wheeler a esta pregunta es tan asombrosa como profunda. Concluye que ya no podemos seguir considerando el universo como un hardware que existe "ah fuera", sino que debemos empezar a verlo como compuesto por un "software 'significativo'" y situado, como dice Wheeler, "quin sabe dnde". En otras palabras, hemos empezado a ver el universo como constituido en definitiva no por materia y energa, sino por pura informacin". Michael Talbot. "Ms all de la Teora Cuntica". Edit. Gedisa 3 Edicin 1995 Barcelona.

Qu es?Es un dispositivo de reconocimientos de lenguaje, es ms general que cualquier autmata finito y cualquier autmata de pila, debido a que ellas pueden reconocer tanto los lenguajes regulares, como los lenguajes independientes de contexto y adems muchos otros tipos de lenguajes.La mquina de Turing (abreviado MT) tiene, un control finito, una cabeza lectora y una cinta donde puede haber caracteres, y donde eventualmente viene la palabra de entrada. La cinta es de longitud infinita hacia la derecha, hacia donde se extiende indefinidamente, llenndose los espacios con el carcter blanco (que representaremos con t). La cinta no es infinita hacia la izquierda, por lo que hay un cuadro de la cinta que es el extremo izquierdo, la MT la cabeza lectora es de lectura y escritura, por lo que la cinta puede ser modificada en curso de ejecucin. Adems, en la MT la cabeza se mueve bidireccionalmente (izquierda y derecha), por lo que puede pasar repetidas veces sobre un mismo segmento de la cinta.

Este modelo est conformado por un alfabeto de entrada y uno de salida, un smbolo especial llamado blanco (normalmente b, o 0), un conjunto de estados finitos y un conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una funcin de transicin, que recibe un estado inicial y una cadena de caracteres (la cinta, la cual es finita por la izquierda) pertenecientes al alfabeto de entrada. Luego va leyendo una celda de la cinta, borrando el smbolo, escribir el nuevo smbolo perteneciente al alfabeto de salida y finalmente avanza a la izquierda o a la derecha (solo una celda a la vez), repitiendo esto segn se indique en la funcin de transicin, para finalmente detenerse en un estado final o de aceptacin, representando as la salida.

La mquina de Turing consta de un cabezal lector/escritor y una cinta infinita en la que el cabezal lee el contenido, borra el contenido anterior y escribe un nuevo valor. Las operaciones que se pueden realizar en esta mquina se limitan a: avanzar el cabezal lector/escritor hacia la derecha. Avanzar el cabezal lector/escritor hacia 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 la direccin 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.

Mediante este modelo terico y el anlisis de complejidad de algoritmos, fue posible la categorizacin de problemas computacionales de acuerdo a su comportamiento, apareciendo as, el conjunto de problemas denominados P y NP, cuyas soluciones en tiempo polinmico son encontradas segn el determinismo y no determinismo respectivamente de la mquina de Turing.

De hecho, se puede probar matemticamente que para cualquier programa de computadora es posible crear una mquina de Turing equivalente. Esta prueba resulta de la Tesis de Church-Turing, formulada por Alan Turing y Alonzo Church, de forma independiente a mediados del siglo XX.DEFINICIN FORMAL DE UNA MQUINA DE TURING La Mquina de Turing (MT) fue introducida por Alan M. Turing en 1936, y puede considerarse como un modelo abstracto que formaliza la idea Intuitiva de algoritmo.

(MT) Es un modelo computacional que realiza una lectura/escritura de manera automtica sobre una entrada llamada cinta, generando una salida en esta misma. Este modelo est conformado por un alfabeto de entrada y uno de salida, un smbolo especial llamado blanco (normalmente b, o 0), un conjunto de estados finitos y un conjunto de transiciones entre dichos estados.

Su funcionamiento se basa en una funcin de transicin, que recibe un estado inicial y una cadena de caracteres (la cinta, la cual es finita por la izquierda) pertenecientes al alfabeto de entrada. Luego va leyendo una celda de la cinta , borrando el smbolo , escribir el nuevo smbolo perteneciente al alfabeto de salida y finalmente avanza a la izquierda o a la derecha (solo una celda a la vez), repitiendo esto segn se indique en la funcin de transicin, para finalmente detenerse en un estado final o de aceptacin, representando as la salida.

Una mquina de Turing con una sola cinta puede ser definida como una 7-tupla ;

donde:

es un conjunto finito de estados.

es un conjunto finito de smbolos distinto del espacio en blanco, denominado alfabeto de mquina o de entrada.

es un conjunto finito de smbolos de cinta, denominado alfabeto de cinta.

es el estado inicial.

es un smbolo denominado blanco, y es el nico smbolo que se puede repetir un nmero infinito de veces.

es el conjunto de estados finales de aceptacin.

Es una funcin parcial denominada funcin de transicin, donde es un movimiento a la izquierda y es el movimiento a la derecha.

La mquina de Turing puede considerarse como un autmata capaz de reconocer lenguajes formales. En ese sentido es capaz 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. Las maquinas de Turing se pueden representar mediante grafos particulares, tambin llamados diagramas de estados finitos, de la siguiente manera:

Esta Mquina de Turing est definido sobre el alfabeto ={a,b,c}, posee el conjunto de estados

Q={qo,q1,q2,q3,q4,q5,q6}, con las transiciones que se pueden ver. Su estado inicial es q1 y el estado final es q0, el lenguaje de salida ={X,Y,Z,B} siendo B el smbolo denominado Blanco.

Esta Mquina reconoce la expresin regular de la forma {a^n b^n c^n,n>=0} .

*Los estados se representan como vrtices, etiquetados con su nombre en el interior.

*Una transicin desde un estado a otro, se representa mediante una arista dirigida que une a estos vrtices, y esta rotulada por smbolo que lee el cabezal/smbolo que escribir el cabezal, movimiento del cabezal .

*El estado inicial se caracteriza por tener una arista que llega a l, proveniente de ningn otro vrtice.

*El o los estados finales se representan mediante vrtices que estn encerrados a su vez por otra circunferencia.

COMO FUNCIONA UNA MAQUINA DE TURING?

Una mquina de Turing es un dispositivo que transforma un INPUT en un OUTPUT despus de algunos pasos. Tanto el INPUT como el OUPUT constan de nmeros en cdigo binario (ceros y unos). En su versin original la mquina de Turing consiste en una cinta infinitamente larga con unos y ceros que pasa a travs de una caja.

La caja es tan fina que solo el trozo de cinta que ocupa un bit (0 1) est en su interior. La mquina tiene una serie de estados internos finitos que tambin se pueden numerar en binario. Para llevar a cabo algn algoritmo , la mquina se inicializa en algn estado interno arbitrario. A continuacin , se pone en marcha y la mquina lee el bit que se encuentra en ese momento en su interior y ejecuta alguna operacin con ese bit (lo cambia o no, dependiendo de su estado interno). Despus se mueve hacia la derecha o hacia la izquierda, y vuelve a procesar el siguiente bit de la misma manera. Al final se para, dejando el resultado al lado izquierdo por ejemplo.

11011iUna instruccin tpica podra ser: 01

VARIANTES DE LA MAQUINA DE TURING

La traduccin es como sigue: si la mquina se encuentra en el estado interno 0 y lee 1 en la cinta, entonces pasar al estado interno 1101 (13), escribir 1 y se mover hacia la izquierda un paso (la cinta se mover hacia la derecha). A continuacin es conveniente inventar una notacin para la secuencia del INPUT. Esta notacin se llama notacin binaria expandida. Consiste en cambiar la secuencia original binaria por otra construida de la siguiente forma: el 0 se cambia por 0 y el 1 por 10 y se ponen un cero a la izquierda y/o a la derecha del resultado si empieza o acaba en 1 respectivamente. As por ejemplo, el nmero 13 que en binario es 1101 es en binario expandido 1010010 con un cero delante por esta ltima regla 01010010. Para volver al original hay que contraer el binario expandido con la siguiente regla: Empezamos a leer por la izquierda el binario expandido. Cuando encontremos un 0 tomamos nota de cuntos 1 hay hasta llegar al siguiente 0 y lo escribimos. Si encontramos que hay dos 0 seguidos , apuntaramos un 0 porque no habra ningn 1.Veamos con el 13 cmo se hara. El primer 0 se encuentra en la primera posicin y el siguiente 0 est en la posicin 3. Entre los dos solo hay un 1. Lo anotamos. Seguidamente hay un 1, y despus un 0, entonces apuntamos 1 porque hay un 1 entre medias de ellos. Esto es lo que se hace sucesivamente y encontramos: 1101 que es el nmero original.

QUE SON Y COMO FUNCIONAN?

Una mquina de Turing consiste, bsicamente, en una cinta infinita, dividida en casillas. Sobre esta cinta hay un dispositivo capaz de desplazarse a lo largo de ella a razn de una casilla cada vez. Este dispositivo cuenta con un cabezal capaz de leer un smbolo escrito en la cinta, o de borrar el existente e imprimir uno nuevo en su lugar. Por ltimo, contiene adems un registro capaz de almacenar un estado cualquiera, el cual viene definido por un smbolo. Los smbolos que definen el estado del dispositivo no tienen por qu coincidir con los smbolos que se pueden leer o escribir en la cinta. En los programas presentados en el artculo, los posibles smbolos a leer o escribir en la cinta son el 0 y el 1, y los posibles estados se representan con letras maysculas. En el emulador, existe un cambio en la representacin del estado , usando para ello los nmeros del 0 al 99, para permitir un mayor nmero de ellos. La mquina tiene un funcionamiento totalmente mecnico y secuencial. Lo que hace es leer el smbolo que hay en la casilla que tiene debajo. Despus toma el smbolo del estado en que se encuentra. Con estos dos datos accede a una tabla, en la cual lee el smbolo que debe escribir en la cinta, el nuevo estado al que debe pasar y si debe desplazarse a la casilla izquierda o derecha.

Ejemplo Definimos una mquina de Turing sobre el alfabeto {0,1}, donde 0 representa el smbolo blanco. La mquina comenzar su proceso situada sobre un smbolo 1 de una serie.La mquina de Turing copiar el nmero de smbolos 1 que encuentre hasta el primer blanco detrs de dicho smbolo blanco. Es decir , situada sobre el 1 situado en el extremo izquierdo, doblar el nmero de smbolos 1, 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 que describe la funcin de transicin es la siguiente:

El funcionamiento de una computacin de esta mquina se puede mostrar con el siguiente ejemplo (en negrita se resalta la posicin de la cabeza lectora/escritora):

Vemos que esta mquina no hace gran cosa. Sin embargo, una mquina de Turing puede hacer cosas tiles, tales como suma r dos nmeros, multiplicarlos, copiarlos, etc. Disponiendo de una mquina con el suficiente nmero de estados, podramos hacer con ella cualquier operacin que un ordenador normal pudiese realizar.

Las mquinas de Turing plantean una deduccin bastante curiosa: dado que en ellas se puede realizar cualquier trabajo computable, es posible programarlas para que simulen el comportamiento de un potente ordenador. Y como una mquina de Turing puede ser codificada en cualquier ordenador, por pequeo que sea, sera posible (si disponemos de memoria suficiente, claro) emular en nuestro ordenador de casa una mquina de Turing que simule un superordenador. Esto significa que todos los ordenadores pueden realizar exactamente el mismo tipo de tareas , y que los clculos que pueda realizar el ms grande los puede llevar a cabo tambin el ms pequeo. La nica diferencia sera, obviamente, la velocidad.

Cmo funciona? (2)Una mquina de Turing es un dispositivo que transforma un INPUT en un OUTPUT despus de algunos pasos. Tanto el INPUT como el OUTPUT constan de nmeros en cdigo binario (ceros y unos). En su versin original la mquina de Turing consiste en una cinta infinitamente larga con unos y ceros que pasa a travs de una caja. La caja es tan fina que solo el trozo de cinta que ocupa un bit (0 1) est en su interior. La mquina tiene una serie de estados internos finitos que tambin se pueden numerar en binario.

Para llevar a cabo algn algoritmo, la mquina se inicializa en algn estado interno arbitrario. A continuacin, se pone en marcha y la mquina lee el bit que se encuentra en ese momento en su interior y ejecuta alguna operacin con ese bit (lo cambia o no, dependiendo de su estado interno). Despus se mueve hacia la derecha o hacia la izquierda, y vuelve a procesar el siguiente bit de la misma manera. Al final se para, dejando el resultado al lado izquierdo por ejemplo.

Una instruccin tpica podra ser: 0111011i

La traduccin es como sigue: si la mquina se encuentra en el estado interno 0 y lee 1 en la cinta, entonces pasar al estado interno 1101 (13), escribir 1 y se mover hacia la izquierda un paso (la cinta se mover hacia la derecha).

A continuacin es conveniente inventar una notacin para la secuencia del INPUT. Esta notacin se llama notacin binaria expandida. Consiste en cambiar la secuencia original binaria por otra construida de la siguiente forma: el 0 se cambia por 0 y el 1 por 10 y se ponen un cero a la izquierda y/o a la derecha del resultado si empieza o acaba en 1 respectivamente. As por ejemplo, el nmero 13 que en binario es 1101 es en binario expandido 1010010 con un cero delante por esta ltima regla 01010010. Para volver al original hay que contraer el binario expandido con la siguiente regla:

Empezamos a leer por la izquierda el binario expandido. Cuando encontremos un 0 tomamos nota de cuntos 1 hay hasta llegar al siguiente 0 y lo escribimos. Si encontramos que hay dos 0 seguidos, apuntaramos un 0 porque no habra ningn 1.Veamos con el 13 cmo se hara. El primer 0 se encuentra en la primera posicin y el siguiente 0 est en la posicin 3. Entre los dos solo hay un 1. Lo anotamos. Seguidamente hay un 1, y despus un 0, entonces apuntamos 1 porque hay un 1 entre medias de ellos. Esto es lo que se hace sucesivamente y encontramos: 1101 que es el nmero original.

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

avanzar el cabezal lector/escritor hacia la derecha.

avanzar el cabezal lector/escritor hacia 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 la direccin para mover el cabezal, el nuevo estado de la mquina y el valor a ser escrito en la cinta.

La memoria ser la cinta la cual 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. Las instrucciones que determinan el funcionamiento de la mquina tienen la forma, si estamos en el estado x leyendo 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 de Turing puede considerarse como un autmata capaz de reconocer lenguajes formales. En ese sentido es capaz 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.PROPUESTASTest de Turing: Para otros usos de este trmino, vase Turing (desambiguacin).

La prueba de Turing.

El test de Turing (o prueba de Turing) es una prueba propuesta por Alan Turing para demostrar la existencia de inteligencia en una mquina. Fue expuesto en 1950 en un artculo (Computing machinery and intelligence) para la revista Mind, y sigue siendo uno de los mejores mtodos para los defensores de la inteligencia artificial. Se fundamenta en la hiptesis positivista de que, si una mquina se comporta en todos los aspectos como inteligente, entonces debe ser inteligente.La prueba consiste en un desafo. Se supone un juez situado en una habitacin, una mquina y un ser humano en otra. El juez debe descubrir cul es el ser humano y cul es la mquina, estndoles a los dos permitido mentir o equivocarse al contestar por escrito las preguntas que el juez les hiciera. La tesis de Turing supone que si ambos jugadores son suficientemente hbiles, el juez no podr distinguir quin es el ser humano y quin la mquina.En 1990 se inici un concurso, el Premio Loebner, una competicin de carcter anual entre programas de ordenador que sigue el estndar establecido en la prueba de Turing. Un juez humano se enfrenta a dos pantallas de ordenador, una de ellas que se encuentra bajo el control de un ordenador y la otra bajo el control de un humano. El juez plantea preguntas a las dos pantallas y recibe respuestas. El premio est dotado con 100000 dlares estadounidenses para el programa que pase el test, y un premio de consolacin para el mejor programa mensual.La primera vez que un juez confundi a una mquina con un humano fue en el ao 2010, cuando el robot Suzette, de Bruce Wilcox, super la prueba.En junio de 2014, el bot conversacional Eugene Goostman, que participaba en un concurso celebrado en la Royal Society para conmemorar el 60 aniversario de la muerte de Turing, gan al conseguir que el 33% de los jurados del concurso creyesen que Goostman era humano.Existe otra prueba parecida, propuesta por John Searle y popularizada por Roger Penrose: la sala china, para argumentar que la mquina no ha superado la prueba de Turing. En esencia, es igual en la forma, pero se realiza con personas encerradas en una habitacin y se requiere que estas no conozcan el idioma en que se realiza la conversacin. Para ello se usa un diccionario que permite confeccionar una respuesta a una pregunta dada, sin entender los smbolos. Como consecuencia, se argumenta que por mucho que una persona sea capaz de enviar una cadena de smbolos en chino relacionada con otra cadena recibida, no quiere decir que sepa chino, sino que sabe aplicar un conjunto de reglas que le indican lo que ha de enviar. Falta la semntica en el proceso y por eso es muy cuestionada como inteligencia artificial, puesto que equipara una mquina pensante con una que parece que piensa. Ray Kurzweil predice que el ordenador pasar la prueba de Turing hacia el 2029, basado en el concepto de singularidad tecnolgica.Una de las aplicaciones de la prueba de Turing es el control de spam. Dado el gran volumen de correos electrnicos enviados, el spam es, por lo general, enviado automticamente por una mquina. As, la prueba de Turing puede usarse para distinguir si el correo electrnico es enviado por un remitente humano o por una mquina (por ejemplo, por la prueba Captcha).CONSECUENCIASTras su presentacin, Turing analiza una batera de posibles objeciones a su propuesta, en concreto, las siguientes:Objecin teolgica: el pensamiento es una propiedad del alma que ha sido dada a los humanos por Dios.

Obviamente, tal tipo de objecin tiene muy poco inters y ni siquiera es slida teolgicamente hablando, como demuestra el mismo Turing, al decir que si Dios quisiera podra dar alma a una mquina, a un animal o a una piedra. Dudar de eso sera poner en cuestin la omnipotencia de Dios.Precisamente, y esto no tiene que ver con Turing, la contemplacin de la complejidad del universo y del ser humano es una de las razones que ms improbable hace la existencia de un dios todopoderosos: parece innecesario que un ser que puede mantener la existencia o no existencia por su mera voluntad se tome tanto trabajo en disear artefactos tan extremadamente complejos y en ocasiones tan mal diseados como los que nos mantienen vivos: con Dios, podramos funcionar igual de bien aunque estuviramos huecos.

Objecin del avestruz: las consecuencias del hecho de que las mquinas pensaran seran tan horribles que no se puede aceptar esa posibilidad.

Creo que esta objecin, aunque casi nunca expresada de manera explcita, como seala el propio Turing, suele impregnar la mayora de los argumentos en contra de la IA (Inteligencia Artificial), argumentos que parecen fabricados ad hoc para superar el miedo a las mquinas. Por eso, creo que lo primero que hay que plantearse al discutir sobre IA es si nuestra investigacin no est condicionada de antemano por el deseo de que las mquinas no piensen y por el deseo de evitar que se cumplan los versos de Goethe: Al final acabamos dependiendo de aquellas criaturas que hemos hecho.Muchos de los que temen a las mquinas pensantes, por otra parte, aplican una especie de racismo anticipado y sufren por un futuro en el que las mquinas controlaran, dominaran, gobernaran y/o explotaran a los humanos. En cierto sentido, sus argumentos se parecen a los de aquellas personas que se dejan explotar por gentes de su misma nacionalidad o etnia pero que no pueden soportar la idea de que quienes les exploten sean de otra nacin o de otra etnia. Ante una situacin de injusticia social absoluta, por ejemplo, a m me trae sin cuidado si quienes la causan son chinos, judos, musulmanes o gentiles: me importara el hecho en s.Dado el estado actual de la cuestin, a quienes temen a las mquinas se les podra recomendar lo mismo que a quienes temen a los fantasmas: No es a los muertos a quienes has de temer, sino a los vivos. Hasta ahora, las mquinas han hecho poco por su propia iniciativa contra los seres humanos, tan poco como los fantasmas, es decir, nada. La frase equivalente, por lo menos a da de hoy, sera: No es a las mquinas a quienes has de temer, sino a los hombres que las utilizan.Para terminar con estas comparaciones e imgenes, que no pretenden introducir argumentos morales, sino mostrar precisamente que tales argumentos no pueden usarse para dilucidar la cuestin planteada por Turing, Alen Paulos vaticina:Es concebible que con el avance de la inteligencia artificial, los chistes tnicos sean sustituidos por chistes robticos(Pienso, luego ro).

La objecin matemtica: ciertas conclusiones matemticas, como el teorema de incompletitud de Gdel, muestran que existen limitaciones en cualquier lenguaje matemtico, lo que afectara inevitablemente a las mquinas.Este argumento s tiene importancia, pero, aunque puede justificarse tericamente con bastante solidez, slo podr ser respondido definitivamente a travs de la experimentacin y la investigacin. Si somos rigurosos, habra que decir que solo se podra demostrar su falsedad, nunca su certeza.Argumento de la conciencia:se resume en la Oracin de Lister (1949) del profesor Jefferson:Hasta que una mquina no sepa escribir un soneto o componer un concierto con base en los pensamientos y las emociones que siente, y no a consecuencia de la cada venturosa de smbolos, no podremos estar de acuerdo en que la mquina pueda ser igual que un cerebro, es decir, que no solamente sepa escribirlos, sino tambin que sepa que los ha escrito. Ningn mecanismo podra sentir (y no slo sealar artificialmente, lo cual es una invencin fcil) alegra por sus xitos, tristeza cuando sus vlvulas se fundieran, placer al ser adulado y sentirse desgraciado a consecuencia de sus errores, encantado por el sexo, enfadado o deprimido al no lograr lo que desea.Este es el argumento al que Turing presta ms atencin y para el que propone su clebre test. La prueba podra servir para determinar si la mquina es capaz o no de hacer frente a preguntas y situaciones imprevistas. Eso no probara que la mquina pensara, pero mostrara que las mquinas, al menos, son capaces de fingir las cosas que hacen los humanos.En cuanto a lo que sentimos los humanos cuando hacemos algo, hay que tener en cuenta que durante dcadas los psiclogos conductistas negaron o rechazar considerar en sus estudios la existencia de estados mentales internos. Del mismo modo, los solipsistas no creen que las otras personas piensen o sientan las cosas que dicen sentir, as que, como se ve, el sentimiento no parece tan fcil de demostrar o definir como prueba de pensamiento real. Deca Ortega: Del dolor de muelas de otro ser humano, lo nico que tenemos es su espectculo. Es decir, supongamos que una mquina compone un soneto y adems dice que lo ha hecho porque senta esas emociones: cmo comprobamos que miente? Cmo lo comprobamos en un poeta humano?Argumentos basados en incapacidades diversas:estos argumentos son variantes del argumento de la conciencia, como seala Turing, y apuntan a las cosas que no pueden o nunca podrn hacer las mquinas. Eso no quiere decir que quiz alguno de ellos sea muy digno de tomarse en cuenta, pese a que, como tambin destaca Turing, tales argumentos suelen ser inductivos, se basan en la observacin de cosas que suelen presentarse asociadas o correlacionadas:Una persona ve rales de mquinas y, por lo que ve de ellas, concluye que esas son las caractersticas de las mquinas en general.Si ya de por s la justificacin final de la induccin suele llevar a una regresin infinita, cuando se trata de construcciones humanas, la validez de los mtodos inductivos a posteriori se hace tremendamente problemtica. Lo cierto es que, a medida que pasan los aos, la cantidad de cosas que se niega a las computadoras se va reduciendo.El mismo Gunderson, un rival de las teoras de Turing, ya no incluye la originalidad ni la capacidad de sorprender entre las caractersticas especficas de la mente humana. Con buen criterio, ya que la sorpresa, la originalidad, el que algo sea o no una obra de arte, etc., no son propiedades intrnsecas de las cosas, sino que dependen de quien aplica los trminos, es decir, no existe la Bondad, la Belleza, etc. como Ideas de un Cielo platnico, sino que existen cosas buenas o cosas bellas y, adems, en funcin de quien las describe as. Algo original a menudo lo es simplemente porque es algo que se haba dejado de hacer en los ltimos tiempos.

Cuando escrib este texto acerca del test de Turing, una de las cosas que se deca que las mquinas jams lograran hacer era ganar al campen mundial de ajedrez. Pues bien, pocos aos despus lo lograron y desde hace aos sabemos que es muy improbable que nunca vuelva a haber un campen mundo humano capaz de vencer a la mejor mquina.De seguir este abandono de parcelas humanas en favor de los ordenadores, quiz acabemos describiendo a las mquinas como al robot Tik Tok de L.Frank Baum:Un robot que piensa, habla, acta y hace todo, excepto vivirNo obstante, en relacin con los argumentos de incapacidades diversas, se me ocurren varias pruebas que plantearan grandes problemas a la mquina simuladora que propone Turing en su test.Por ejemplo: un actor que haba trabajado con Stanislavski contaba cmo l le hizo recitar cuarenta veces la frase esta noche, significando en cada ocasin una situacin o emocin distinta.Jacobson cuenta cmo ese mismo actor colabor con l, repitiendo esa frase en ruso cincuenta veces para sus estudiantes, que lograron en su mayora decodificar correctamente la situacin que describa la frase en cada una de las cincuenta repeticiones (ver Roman Jacobson, Ensayos de Lingstica General, 355).Se me ocurren otras pruebas difciles para la mquina, pero las dejo para otro momento.

El argumento de Lady Lovelace: AdaLovelace, pionera de los computadores, cuando describi la mquina de calcular de Babbage, dijo:La mquina analtica no pretende crear nada. Puede hacer cualquier cosa que sepamos ordenarle que haga.Tena toda la razn Lovelace en ese momento, pero Turing dice que eso no impide pensar que algn da se construya una mquina que acte por propia iniciativa. Creo que es tambin una variante del argumento de la conciencia o de la sintaxis/semntica, aunque Turing parece considerarlo diferente.Argumento de la continuidad del sistema nervioso:el sistema nervioso no es una mquina de estado discreto. Un pequeo error en la informacin correspondiente a un impulso nervioso que llega a unaneurona, puede representar una gran variacin en el impulso de salida de esta neurona. Por consiguiente, se puede argumentar que, si esto as, no se puede esperar que podamos llegar a imitar el comportamiento del sistema nervioso con una mquina o sistema deestado discreto.Para este argumento, que se basa en la dicotoma analgico/digital, obviamente es muy relevante la investigacin centrada en el sistema nervioso humano (que llevan a cabo, creo, los neurlogos o los neurofisilogos) que la que se ocupa del funcionamiento de los ordenadores. En todo caso, lo que se discute es si tales caractersticas internas podran ser detectadas externamente, como recuerda el mismo Turing nuevamente.Este argumento, combinado con el matemtico es el que desarroll Roger Penrose en La nueva mente del emperador, si no me equivoco. Penrose sostena que el carcter continuo (es decir no discreto o no digital) del cerebro humano haca que no pudiera ser imitado por una mquina que se basa en ceros y unos, s y no, abierto y cerrado, es decir, respuestas no ambiguas.El argumento de la informalidad del comportamiento:no es posible elaborar un conjunto de reglas que describa lo que una persona debera hacer en cualquier serie de circunstancias posibles.Creo que es muy interesante en lo que se refiere a la pregunta de si ser posible que los ordenadores sean capaces de hacer todo lo que podemos hacer los seres humanos, pero que adolece, en relacin estrictamente con la tesis de Turing, del mismo defecto que el anterior: lo importante, en esta prueba de Turing, no es averiguar si las reglas de conducta son reducibles a leyes de comportamiento (en terminologa de Turing), sino si eso podra llegar a ser detectado por un observador.Tiene tambin cierta relacin con la tesis de Penrose, si no me equivoco: no es posible reducir cualquier comportamiento imaginable a un algoritmo, y como las mquinas funcionan mediante algoritmosEl argumento de la percepcin extrasensorial: Turing deca que un humano telepata contara con ventaja frente a un ordenador.Yo, al contrario que Turing, no creo que exista evidencia alguna, ni indicio de evidencia, de fenmenos de percepcin extrasensorial (PES o ESP), as que no considero, como Turing, tan slido este argumento. En caso de que existiesen tales fenmenos PES, cosa bastante difcil de comprobar experimentalmente debido al llamado efecto timidez, quiz tampoco serviran para desenmascarar a la mquina, aunque cabe dudarlo seriamente en el caso de la clarividencia, la precognicin y la psicocinesis (Turing rebate slo el caso de la telepata).Pasados ms de veinte aos desde que escrib estos comentarios a Turing, la telepata no ha sido detectada de manera experimentalmente fiable y seguimos esperando. No descarto que sea posible tal cosa, aunque ms bien creo que no es que exista la telepata, sino que quiz existir: me parece ms plausible que acabemos crendola, en vez de descubrirla.En cualquier caso, a la espera de novedades en tal sentido, la telepata es el argumento menos a tener en cuenta al considerar el test de Turing.Estos son, muy sintetizados, los argumentos que Turing recopil de aquellos que no creen que las mquinas piensen o puedan pensar alguna vez.AUTMATASLa teora de autmatas es una rama de las ciencias de la computacin que estudia las mquinas abstractas y los problemas que stas son capaces de resolver. La teora de autmatas est estrechamente relacionada con la teora del lenguaje formal ya que los autmatas son clasificados a menudo por la clase de lenguajes formales que son capaces de reconocer.Un autmata es un modelo matemtico para una mquina de estado finito (FSM sus siglas en ingls). Una FSM es una mquina que, dada una entrada de smbolos, "salta" a travs de una serie de estados de acuerdo a una funcin de transicin (que puede ser expresada como una tabla). En la variedad comn "Mealy" de FSMs, esta funcin de transicin dice al autmata a qu estado cambiar dados un determinado estado y smbolo.La entrada es leda smbolo por smbolo, hasta que es "consumida" completamente (piense en sta como una cinta con una palabra escrita en ella, que es leda por una cabeza lectora del autmata; la cabeza se mueve a lo largo de la cinta, leyendo un smbolo a la vez) una vez la entrada se ha agotado, el autmata se detiene.Dependiendo del estado en el que el autmata finaliza se dice que este ha aceptado o rechazado la entrada. Si ste termina en el estado "acepta", el autmata acepta la palabra. Si lo hace en el estado "rechaza", el autmata rechaz la palabra, el conjunto de todas las palabras aceptadas por el autmata constituyen el lenguaje aceptado por el mismo.Un autmata es: Una mquina (mecanismo) de naturaleza formal (Slo existe como un mecanismo matemtico) que acepta una informacin de entrada (input), la procesa, (La somete a transformaciones simblicas que pueden adoptar la forma de un clculo o computacin) y genera un resultado o salida (output).Definir un autmata equivaldr a definir el proceso de transformacin del input en un output, lo que equivale a definir una funcin cuyos argumentos son el input y cuyo valor es el outputTIPOS DE AUTMATASHay muchos tipos de autmatas. Cada tipo de autmata se asocia a una potencia computacional determinada, es decir, a una capacidad dada de resolucin de problemas.De hecho, podemos clasificar los problemas algortmicamente solubles asocindolos al tipo de autmata que los resuelve. Estos tipos se ordenan en una jerarqua de menor a mayor potencia computacional.Jerarqua de autmatas:Autmatas finitos (Redes Lgicas)Autmatas intermedios:Autmatas de memoria de pilaAutmatas de memoria linealmente limitadaMquina de Turing

TIPOS DE AUTMATAS (2)Adems, podemos clasificar los autmatas:Por el tipo de proceso que ejecutan:Aceptacin o reconocimientoGeneracinPor su tipo de causalidad:DeterministaNo-DeterministaPor el tipo de su almacenamiento de informacin:De tamao fijoDe tamao crecienteDe tamao infinitoPor el tipo de la informacin que manejanDiscretaContinuaTIPOS DE AUTMATAS (3)Autmatas aceptadores o reconocedores:Resuelven problemas con respuesta si/no, que se modeliza normalmente como la identificacin de dos estados finales, uno de aceptacin y otro de rechazoAutmatas generadores o transductores:Construyen una respuesta especfica (una salida) para el problema planteadoAutmatas deterministas:La solucin del problema viene unvocamente determinada por las entradas y los estados internos del autmataAutmatas no-deterministas:La respuesta no est unvocamente determinadaDESARROLLO DE LA TEORA DE AUTMATAS

Turing (1936)McCulloch, Pitts (1943)Kleene (1956)Shannon (1956)Moore (1956)Minsky (1956)Wang (1957)Sepherdson (1959)Rabin, D. Scott (1959)McNaughton, Yamada (1960)Rabin (1963)Chomsky (1963)McCarthy (1963)Hartmanis, Stearns (1965)

AUTMATAS FINITOSUn autmata finito es un mecanismo cuya memoria es siempre finita. Suponemos que la memoria del autmata est compuesta por un conjunto de unidades de retardacin:

Entrada SalidaEn cualquier instante ti del proceso, posterior a to:Salida (t) = entrada (ti-1), o, lo que es lo mismo:Entrada (t) = salida (ti+1).( t : un instante de tiempo discreto).Cada unidad de retardacin almacena una unidad de informacin durante una unidad de tiempo. El nmero de estos dispositivos es finito.Definicin: El estado interno en t de un autmata finito que ejecuta un proceso es el conjunto de los contenidos de la memoria del autmata finito en el instante t de ese proceso.Cada uno de los m estados internos distintos: q0, ..., qi, ...,qnEl conjunto de los estados internos: Qq0 es el estado inicial y qn es un estado finalEl nmero de estados internos es finitoAUTMATAS FINITOS (2)A lo largo del proceso los contenidos de memoria del autmata van cambiando. Describiremos cmo se produce el cambio de estado a lo largo del tiempo definiendo una funcin de transicin de estados, que nos dice cul ser el estado del autmata en el instante de tiempo siguiente.La funcin de transicin de estados puede ser determinista (AFD) o no determinista (AFND). En algunos casos desearemos describir la respuesta del autmata como una funcin de sus estados internos, y eventualmente, tambin de los estmulos que recibe: funcin de salida.Adems, tenemos que especificar:Su repertorio de smbolos, , es decir, el conjunto de smbolos que podrn formar parte de sus entradas (y, eventualmente, de sus salidas).El conjunto Q de sus estados internos posiblesSu estado inicial q0El conjunto F de sus estados finales, que es un subconjunto del conjunto de estados internos.Cada entrada (y salida) posible del autmata es una secuencia o cadena finita de smbolos de .*: el conjunto de cadenas finitas de smbolos de .*: es un conjunto potencialmente infinito.AUTMATAS FINITOS DETERMINSTICOS RECONOCEDORES O ACEPTADORESEstructura:

La cinta se mueve de izquierda a derechaLa cinta tiene escrito un smbolo en cada casillaEl conjunto de los smbolos de la cinta forma una secuencia de smbolosEl ltimo smbolo de la cinta es un smbolo delimitador (*)En cada instante t, el autmata lee un smbolo.Cuando el autmata encuentre el smbolo *, se detendr, terminando el proceso.Conoceremos el resultado del proceso ejecutado inspeccionando el estado interno en que queda el autmata al final del proceso.AUTMATAS FINITOS DETERMINSTICOS RECONOCEDORES O ACEPTADORES (2)Un autmata finito (determinstico) reconocedor es una estructura:AF = < , Q, q0, , F >tal que: es el alfabeto de entradaQ es el conjunto de los estadosqo es el estado inicial es la funcin de transicin de estadosF es el conjunto de los estados finales [FQ]Funcin de transicin de estados : :QQEsta funcin nos dice cul ser el estado del autmata en el instante de tiempo siguiente, en trminos de su estado actual y su entrada actual:qt+1= (qt, it)

AUTMATAS FINITOS DETERMINSTICOS RECONOCEDORES O ACEPTADORES (3)Puesto que tanto Q como I son finitos, podemos definir la funcin de transicin de estados mediante una tabla de transicin de estados:

Para definir (el comportamiento de) un autmata concreto, especificaremos precisamente su funcin de transicin de estados.Tendremos as un conjunto de instrucciones de la forma:

Estado: el estado en el que se estEntrada: smbolo que se leeNuevo Estado: el nuevo estado generado por la funcin de transicinPara cada estado interno, determinaremos, para cada smbolo de entrada posible, a qu otro estado interno pasa.Si este nuevo estado es un estado final, el proceso se detiene.El proceso comienza por el estado inicial.EJEMPLO 1Especificacin de un AFD que reconoce secuencias finitas no vacas de smbolos del alfabeto = {0,1,*} que acaban en 1. El smbolo * se utiliza exclusivamente como smbolo de final de secuencia. Es decir, como estados finales tendremos: Un estado de aceptacin (qA), en el que ha de quedar el autmata si el ltimo smbolo ledo es un 1 Un estado de rechazo (qR).Por tanto, en este caso, F = {qA, qR}La secuencia de instrucciones que define este autmata consiste en una definicin de la correspondiente tabla de transicin de estados:q0, 0, q1q0, 1, q2q1, 0, q1q1, 1, q2q1, *, qrq2, 0, q1q2, 1, q2q2, *, qA q : el ltimo smbolo ledo es un 0q2: el ltimo smbolo ledo es un 1EJEMPLO 1 (2) El proceso puede representarse asimismo mediante un grafo cuyos nodos representan estados y cuyos arcos representan transiciones entre estados. Cada arco se etiqueta con el smbolo ledo que provoca latransicin. El inicio del proceso se marca mediante un arco de entrada al estado inicial. De los estados finales no parte ningn arco.

Normalmente, utilizremos el lenguaje de grafos.

EJEMPLO 2Autmata finito reconocedor que acepta secuencias finitas no vacas de smbolos del alfabeto = {0,1,*} tales que contienen al menos una subsecuencia de la forma 010 (* = delimitador)El grafo correspondiente es:

El estado q2 significa que los dos ltimos smbolos ledos son01 No es necesario esperar al final de la secuencia para entrar en el estado de aceptacin q1 significa que el ltimo smbolo ledo es un 0. Por tanto, si se lee un 0, nos quedamos en el mismo estado.

EJEMPLO 3

AFD que reconoce si el nmero de 1s en la secuencia de entrada (finita y no vaca) es divisible por 3:

AFD RECONOCEDORES CON MAS DE UNA CINTA DE ENTRADA Los autmatas finitos reconocedores pueden manejar problemas en los que haya ms de una secuencia de entrada. Adems, los estados finales de los autmatas reconocedores no necesariamente est limitado a dos Ejemplo: especificar un AFD reconocedor, que, dadas dos secuencias de entrada, nos diga si ambas tienen la misma longitud, si la primera es ms larga que segunda, o si la segunda es ms larga que la primera. Supondremos que nuestro autmata, en cada instante del proceso, puede leer un smbolo de cada secuencia. Sea = {1,*} (* delimitador).

Alineamos las dos secuencias sobre la entrada del autmata, de forma que en el instante inicial del proceso t, el autmata recibe el primer smbolo de cada secuencia.Sea F = {q1, q2, q =}. Entonces:

AFDs TRANSDUCTORES O GENERADORES En los autmatas transductores tenemos una salida explcita:

Conocemos el resultado examinando la salida Funcin de salida: caracteriza la salida de un autmata finito de una de dos formas: En trminos de sus estados internos y sus entradas: autmata de Mealy En trminos simplemente de sus estados internos: autmata de Moore Normalmente, describiremos los AFDs transductores como autmatas de Mealy. Tabla de salida de un autmata de Mealy:

Ejemplos de Autmatas FinitosEspecificar un autmata que sume dos nmeros en base 2.Ayuda: Se trata de aplicar la tabla de la suma binaria:0+0 = 00+1 = 1+0 = 11+1 = 10 Suponemos que los dos nmeros tienen igual nmero de dgitos (el ms corto se iguala con el ms largo aadindole 0s por la izquierda) Suponemos que en cada instante t el autmata lee el siguiente dgito ms a la izquierda de cada nmeroEn cada paso: Los dos dgitos se suman de acuerdo con la tabla Si hay arrastre previo, se suma tambin Se toma nota del arrastre si lo hay Cada salida depende de la entrada actual y del resultado anterior En cada paso puede haber arrastre o no (dos estados) Hay dos salidas posibles y cuatro entradas posibles

Autmatas Finitos no-determinsticos (AFND) Son idnticos a los determinsticos, excepto en la forma de su funcin de transicin de estados:: Q (Q) A cada combinacin estado/entrada no le corresponde unvocamente un estado sino uno de los posibles conjuntos de estados T. Para todo AFND, podemos construir un AFD que ejecuta la misma tarea.Autmatas estocsticos o probabilistas Funcin de transicin probabilista: = * Q Q [0,1] Es una funcin que, para cada par , nos dice qu probabilidad hay de pasar a otro estado. Para cada estado qj, hay una funcin:j = pj (i,qk)Para todo k jDnde:0 pj (i, qk) 1i =1, np (i, q) = 1

Autmata estocstico de estructura variablePodemos aadir a la especificacin del autmata probabilstico un algoritmo de actualizacin o refuerzo p que:Toma como entrada: La ltima probabilidad de transicin aplicada La ltima entrada La ltima salida. Genera como salida una nueva probabilidad de transicin.El cambio de las probabilidades de transicin a lo largo del tiempo modeliza la adaptacin o aprendizaje adaptivo del sistema:Capacidad para mejorar la probabilidad de emitir unarespuesta correcta com resultado de su interaccin con el entornoAutmatas IntermediosSon autmatas cuya potencia computacional es mayor que lade los autmatas finitos, pero menor que la de las Mquinas de Turing.Autmatas linealmente limitadosAutmatas finitos que pueden utilizar como espacio de memoria intermedia un espacio como mximo igual al ocupado por la(s) cadena(s) de entrada 8De hecho, es el mismo espacio).Autmatas de memoria de pilaPila (Stack): Estructura de almacenamiento de datos que funciona segn el principio LIFO (Last Input, Firs Output).Los autmatas de memoria de pila son autmatas finitos con una memoria de pila potencialmente infinita, que utiliza para almacenar resultados intermedios.Relacin que existe entre la Mquina de Turing y los AutmatasCuando se habla de autmata, nos referimos a mquinas (abstractas o no) que sean capaces de computar. Las mquinas de Turing son un ejemplo de un autmata tan complejo que es capaz de resolver todos los problemas que una computadora actual puede resolver con precisin. Sin embargo, existen autmatas ms simples que stos, como los autmatas finitos o los autmatas de pila. Los autmatas finitos tienen relacin con los lenguajes regulares y las expresiones regulares, mientras que los autmatas de pila tienen relacin con los lenguajes y las gramticas de contexto libre. Las expresiones regulares se usan en la actualidad para la bsqueda de patrones en textos, mientras que las gramticas de contexto libre juegan un papel escencial en la implementacin de compiladores.

Mquinas de Turing

Cinta potencialmente infinita, que se utiliza para almacenar: Los datos de entrada Los datos de salida Los resultados intermedios Cada casilla de la cinta contiene cada uno de los smbolos del alfabeto del problema (Supondremos que = {1, 0}) Al comienzo del proceso, la Mquina de Turing se encuentra situada sobre la primera casilla a la izquierda de la parte no-vaca de la cinta El autmata finito de control tiene una entrada (I) y cuatro salidas (d, i, m, b) La entrada I recibe en cada instante t el smbolo contenido en la casilla que se est examinando en ese instante.Mquina de Turing (2) En respuesta a esa informacin de entrada, el autmata finito de control genera una instruccin de actuacin sobre la cinta: Cuando activa la salida d, la Mquina de Turing se mueve a la derecha una casilla Cuando activa i, se mueve una casilla a la izquierda Cuando activa m (marcar), escribe un smbolo 1 en la casilla actual Cuando activa b (borrar), escribe un 0 en la casilla actual La definicin puede variar en sus trminos: Alfabeto variado Movimiento de la cinta, y no de la mquina ... (Def.) La Mquina de Turing se detiene en un instante t si, a partir t, la Mquina de Turing sigue examinando la misma casilla, sin producir ningn cambio en ella, y sin cambios de estado en el autmata finito de control En cada instante t, la Mquina de Turing est en un estado dado (el de su autmata finito de control) Cada operacin de cambio de estado y de salida de la Mquina de Turing est determinada por una combinacin .

Lenguaje en C++ de la Mquina de Turing#include

#include

#include

#include

typedef struct nodo {

char letra;

char est;

struct nodo *siguiente;

}estado;

estado *inicial, *final;

int bandera=0;

//***************************************>> INFO PALABRA est=est;

nuevo->siguiente=NULL;

if(inicial==NULL)

inicial=nuevo;

else final->siguiente=nuevo;

final=nuevo;

}

//***************************************>> BORRAR > VERIFICAR letra=='b')contadorb++;

if(temporal->letra=='@')contador++;

temporal=temporal->siguiente;

}

if(contadorb==1 || contador==1) return 1;

else return 0;

}

//***************************************>> MOSTRARGRAFO letra=='b') {

printf(" ");

while(temporal->siguiente!=NULL) {

anterior=temporal;

printf(" (%c) -------------> (%c) con %c ",temporal->est,temporal->est,temporal->letra);

temporal=temporal->siguiente;

if(temporal->siguiente==NULL)

printf(" (%c) -------------> (%c) con %c ",anterior->est,anterior->siguiente->est,final->letra);

}

}

else{ printf("(A) -------------> (A) con @ ");

printf("(A) -------------> (B) con b");

}

}

//***************************************>> INICIO