Posts etiquetados ‘Alan Turing’

dice-art-3

Tiramos un dado de seis caras. Automáticamente pensamos que es posible que la tirada dé como resultado cualquiera de sus seis caras, de modo que la probabilidad de sacar una de ellas es un sexto. ¿Por qué pensamos que, al tirar el dado pueden salir seis resultados distintos? ¿Por qué pensamos que pueden suceder diferentes cosas cuando siempre solo observamos una de ellas? ¿De dónde surge que podamos imaginar diferentes posibilidades cuando nosotros solo podemos observar hechos, y los hechos siempre solo son uno? En que en el pasado, cuando hemos tirado otros dados hemos visto que, en cada tirada, salían diferentes resultados. Si en el pasado, salían diferentes resultados, ¿por qué el futuro iba a ser diferente? ¿Por qué, sin venir a cuento, iba a salir, por ejemplo, al tirar el dado cien veces, siempre un tres? En este razonamiento inductivo hay un error: hemos simplificado pensando que las tiradas del pasado eran iguales a pesar de dar resultados diferentes. Sin embargo, no lo eran: mi mano lanzó el dado con una fuerza diferente, el dado estaba colocado de otra manera cuando lo cogí para lanzarlo, la superficie donde cayó era distinta… Corrijamos el error y razonemos: ¿Qué resultado habría salido si las circunstancias de lanzamiento hubieran sido exactamente iguales en la antigua tirada que en la nueva? El mismo, sin duda. Entonces, no puede ser la experiencia la pasada la que nos haga creer en el azar. Es, más bien, la experiencia futura la que nos hace pensar en la posibilidad de diferentes resultados, el simple hecho de que no podemos predecir el resultado ya que no podemos manejar todas las variables que intervienen en el lanzamiento.

Obsérvese que esta conclusión no nos puede llevar, de ninguna manera, a afirmar que la realidad, en sí misma, es aleatoria. Al afirmar que algo es aleatorio porque es impredecible estamos diciendo que yo, un sujeto, soy incapaz de predecir un suceso o, lo que es lo mismo, estamos afirmando que la aleatoriedad es una propiedad subjetiva, no objetiva.

Una genial forma de definir número aleatorio surge de la definición de complejidad de Kolmogorov. Un número aleatorio será aquel cuya longitud es exactamente la misma que el programa o algoritmo que lo genera. Por ejemplo, podemos tener un algoritmo muy simple que genere la sucesión de todos los número naturales: n+1 nos da como resultado 1,2,3,4,5,6… La longitud de tal algoritmo es muchísimo más corta que la cadena que genera (que, en este caso, es infinita), por lo que la sucesión de todos los números naturales no es un número aleatorio. Sin embargo, si nos encontramos la cadena “364479003258”, ¿cómo sabemos que no es aleatoria? Si encontramos el algoritmo que la genere y si, éste, es más corto que la misma cadena. Pero, ¿qué quiere decir que el algoritmo tiene la misma longitud que la cadena? Si no encontramos un algoritmo más corto que la genere, para crear dicha cadena tendríamos que crear uno que fuera, generando cada número uno tras otro, dando un paso en cada generación. Por ejemplo, para, generar el número anterior (en el caso que fuera aleatorio), deberíamos hacer un programa que dijera: “Escribe 3”, “Escribe 6”, “Escribe 4”, y así hasta escribir todos los demás. El algoritmo tendría el mismo número de instrucciones que números a generar. ¿Qué estamos queriendo decir con todo esto? Que aleatorio e impredecible son lo mismo, ya que impredecible quiere decir que, dada una sucesión de números, no sabemos cuál es el siguiente número que va a salir, es decir, que no conocemos que algoritmo genera la sucesión.

¿Cómo generan nuestros ordenadores números aleatorios? El método más común es el creado en 1951 por Derrick Henry Lehmer llamado Generador Congruencial Líneal. La fórmula es bastante sencilla:

latex

Los valores de X0 (lo que se llama la semilla, el inicio de la cadena), ac (dos constantes que elegimos al azar) pueden ser cualquier número que sea diferente de 0 y menor que m (qué será el número que determine el valor más alto de la serie de números aleatorios que pretendemos conseguir). Es curioso que estos  valores los ponemos a nuestros capricho al principio, es decir, los elegimos aleatoriamente. Flagrante círculo vicioso: para generar números aleatorios tenemos que tener primero dos de ellos (las constantes a y c). Nuestros ordenadores solucionan este problema cogiendo las constantes, por ejemplo, de su reloj interno, del ruido térmico de un digitalizador de audio o de las fluctuaciones de la velocidad de giro de los discos debido a las turbulencias del aire. Vamos a ver un ejemplo para ver cómo funciona el asunto. X0=1, a=1, c=2 y mod=5. Hacemos las operaciones:

X1=(1·1+2)·(5)=3

X2=(1·3+2)·(5)=0

X3=(1·0+2)·(5)=2

X4=(1·2+2)·(5)=4

X5=(1·4+2)·(5)=1

A partir de aquí, la cadena se repite (la cantidad de números aleatorios generados coincide con el módulo, pero no siempre es así). Para evitar esto nuestro ordenador cambia las constantes y genera números nuevos. ¿Por qué decimos que los números obtenidos según este método son aleatorios? Únicamente porque, si nos dan la sucesión de números resultante y no sabemos que se ha generado utilizando este algoritmo (o si no sabemos cuáles son las constantes a y c), es muy difícil saber cómo se han generado. Lo único que se busca cuando se genera un número al azar es que sea lo más difícil posible predecirlo.

Y obsérvese que, independientemente de que nuestro generador sea bueno o malo, lo que hace realmente nunca es crear números realmente aleatorios, siempre los crea pseudoaleatorios, es decir, que se comportan como si fueran aleatorios pero que, en realidad, son generados de forma tan determinista como el que genera la sucesión de todos los números naturales (n+1).

Parece que el quid de la cuestión está en la predicción. Pensemos que si tenemos un fenómeno cualquiera que nos resulta impredecible podemos pensar de dos maneras:

a) No podemos predecir el fenómeno porque aún no sabemos cómo predecirlo pero, en principio, nada impide que no encontremos la forma de hacerlo. En el fondo, el fenómeno está completamente determinado y su impredictibilidad se debe solamente a nuestra momentánea ignorancia. Incluso podría ser que tal ignorancia no fuera momentánea. Sería posible que jamás pudiésemos encontrar el método de predicción y, aún así, el fenómeno podría ser perfectamente determinista. Un chimpancé no puede predecir a qué temperatura hervirá el agua sin que eso deje de hacer que sea un suceso completamente determinado.

b) No podemos predecir el suceso porque el suceso mismo es ontológicamente indeterminado. La realidad es aleatoria y, por lo tanto, da igual todo lo que investiguemos porque jamás podremos predecirla.

¿Qué opción de las dos elegir? Aquí cabría encontrar una forma de saber si, dado ese mismo suceso, existe una forma de predecirlo o no (aunque no supiéramos cuál es esa forma en concreto). ¿Existe algún modo? Imaginemos que diseñamos un programa de ordenador superavanzado equipado con todas las técnicas pensables para, dado una sucesión numérica cualquiera, determinar si es predecible o no. Le introducimos la sucesión y lo ponemos en funcionamiento. Después de unos minutos nos da la solución: la cadena es predecible. Magnífico. Ahora le introducimos una segunda y volvemos a ponerlo en marcha. Pasa el tiempo y la máquina sigue trabajando incesantemente buscando la solución. Pasan minutos, horas, días, meses, años… ¿Hasta dónde llegará nuestra paciencia? ¿Cómo saber si es que la sucesión es impredecible o es que la máquina encontrará la solución en el próximo minuto, dentro de diez años o de veinte siglos? Por definición no hay forma de saberlo. Estamos hablando del célebre problema de la parada de Alan Turing.

Conclusión: es, por definición, imposible saber con certeza si la realidad está ontológicamente determinada o, por el contrario, es aleatoria. ¿Juega Dios a los dados? Los caminos del Señor son inescrutables.

randomness

Anuncios

Stephen Wolfram

Parece de sentido común pensar que reglas sencillas y determinadas, solo pueden dar lugar a comportamientos regulares y predecibles. Ha sido además, una constante en la historia de la filosofía y de la ciencia: de lo sencillo no puede surgir lo complejo sino al contrario, solo de lo complejo puede salir lo sencillo. Esta idea llevó a Hegel, el filósofo del dinamismo por excelencia, a renegar de la evolución. Era imposible que se genere complejidad “de la nada”. Error colosal.

El físico británico Stephen Wolfram ha pasado gran parte de su vida como científico estudiando el comportamiento de autómatas celulares, e intentando demostrar que el universo está regido por una serie de reglas sencillas y absolutamente deterministas que producen toda la inconmensurable complejidad que nos rodea. Un autómata celular es algo bastante sencillo: es un sistema dinámico que evoluciona en pasos discretos que, básicamente, consiste en una malla de celdas (o células) de dimensiones infinitas en las cuales introducimos colores (en principio, solo dos: blanco o negro, aunque se puede aumentar su complejidad introduciendo más). Coloreamos las celdas que nos plazcan y después aplicamos una serie de reglas que determinen qué celdas estarán coloreadas y cuáles no en el siguiente paso. Por ejemplo, una regla muy simple sería: si tenemos una celda negra, en el siguiente paso, seguirá siendo negra si tiene otra casilla negra en cualquiera de sus ocho celdas adyacentes; si no tiene ninguna, se volverá blanca. El color de una celda siempre va a estar determinado por la situación de sus compañeras. Por así decirlo, los autómatas celulares son “sociales”. Así vamos dando pasos y pasos y contemplamos cómo evoluciona la malla con la esperanza de ver si se genera alguna configuración de celdas interesante.

Wolfram estudia los autómatas celulares más simples posibles: los unidimensionales. Se trata de una celda (blanca o negra) que solo puede tener dos casillas adyacentes (tenemos entonces 8 configuraciones posibles de estas tres celdas). Con estas 8 configuraciones iniciales podemos establecer el máximo de 256 tipos diferentes de autómatas celulares. Wolfran va estudiando uno a uno cada tipo (los llama reglas) y los va clasificando en clases: la 1 da autómatas que crean patrones repetitivos sin interés; los de la 2 crean rayas arbitrariamente espaciadas que permanecen estables; los de clase 3 son más interesantes porque crean formas reconocibles (se genera el conocido triángulo de Sierpinski, un fractal); pero los más interesantes con diferencia son los de clase 4, ya que dan patrones complejos que no se repiten, parecen ordenados pero son absolutamente impredecibles. La regla 110 genera la malla de la imagen.
rule11047926La importancia de esta regla es capital: un proceso basado en unas reglas sencillísimas y completamente determinista da lugar a una gran complejidad y a un comportamiento que superaría sin problemas tests de aleatoriedad, mostrándose completamente impredecible. Pero es más, es que la regla 110 es Turing completa, es decir, es equivalente a una máquina universal de Turing, es decir, que, si la tesis Church-Turing es cierta, puede realizar cualquier cálculo posible (es equivalente al ordenador desde el que escribo ésto). Wolfram demostró que un autómata de 2 estados y 5 colores basado en la regla 110 era Turing completo (más adelante, un estudiante de la Universidad de Birmingham llamado Alex Smith demostró que un autómata aún más simple, de 2 estados y 3 colores, también era Turing completo, si bien está demostración ha traído controversia y no ha quedado claro si es correcta).

Tres conclusiones:

1. Es posible generar una enorme complejidad a partir de reglas sencillas sin introducir ningún elemento aleatorio. El Universo en su inconmensurable diversidad puede, a fin de cuentas, estar regido por una pequeña serie de reglas simples.

2. El Universo puede ser determinista ya que la aleatoriedad podría solo ser aparente. Si podemos construir un autómata determinista que supere tests de aleatoriedad, es decir, que a fin de cuentas tiene un comportamiento indistinguible de un autómata probabilista, ¿no podría ser que la aleatoridad fuera solo una ficción?

3. Tenemos un sistema determinista imposible de predecir… ¡Esto hace saltar en pedazos el diablillo de Laplace!

Una dura crítica: si observamos detenidamente como evolucionan los autómatas de Wolfram vemos que, a pesar de que muestran estas formas tan interesantes, no llegan a más. No evolucionan hacia diseños nuevos ni más complejos. Si pretendiéramos que estos algoritmos dieran lugar a toda la complejidad del Universo, están ciertamente muy lejos de conseguirlo. Wolfram pone muchos ejemplos de organismos y fenómenos naturales que siguen estos patrones, pero aún así, distan mucho de ser una muestra representativa de todo lo que existe. Por decirlo de modo brusco, estos autómatas no dan lugar a células eucariotas, a peces, a dinosaurios o a mamíferos. Es más, ni siquiera si aumentamos su complejidad con más colores y reglas conseguimos resultados muy diferentes. Se terminan por estancar.

Una posible salida: podemos aumentar su alcance añadiendo aleatorizadores, implementándolos dentro de algoritmos genéticos (básicamente, imitando la evolución darwiniana). Sí, pero al añadir azar estamos rompiendo con la idea clave de que el Universo funciona de modo determinista. No, porque los aleatorizadores que podemos diseñar no generan números aleatorios reales, sino únicamente pseudoaleatorios, es decir, que son generados de modo totalmente determinista pero que dan la apariencia de ser azarosos al superar tests de aleatoriedad. Cualquier generador de números aleatorios que podemos utilizar en cualquier lenguaje de programación es una farsa. De hecho, nunca hemos podido generar números realmente aleatorios pues no sabemos cómo se puede hacer algo así. En una próxima entrada hablaremos de cómo funcionan estos aparentes creadores de azar.

Aquí tenéis un generador de autómatas con el que podéis ver las configuraciones de todas las reglas estudiadas por Wolfram.

Durante su estancia en Teddington visitaba de vez en cuando, cerca de Dorking, a la madre del profesor Champernowne, quien recuerda que una tarde se presentó en el salón con un par de calcetines blancos que él mismo se disponía a zurcir. Terminado el trabajo, dijo que lo había encontrado muy relajante. La verdad es que zurcía con mucho esmero, e hizo un zurcido realmente primoroso en unos pantalones oscuros, sólo que con hilo blanco o de algún otro color claro. Solía jugar en el jardín de Mrs. Champernowne. En este juego, cada jugador tenía que correr alrededor del jardín después de haber movido, y, si llegaba de nuevo al tablero antes de que hubiese movido su adversario, ganaba un movimiento extra. Su rapidez probablemente compensaba a Alan de no ser demasiado buen jugador de ajedrez. El objeto de este juego era arrojar luz sobre los efectos del ejercicio violento en el funcionamiento del cerebro.

Sara Turing (madre de Turing) en Alan M. Turing (1959)

Estas costumbres podrían estar bien para un niño, pero esto ocurrió sobre 1947, año en el que Turing tenía ya unos treinta y cinco años.

Dos moralejas:

1. Nunca uses hilo claro para hacer zurcidos en ropa oscura.

2. Si juegas al ajedrez contra un rival superior pero físicamente inferior, proponle un experimento para probar los efectos del ejercicio violento en el funcionamiento del cerebro.

Roger Penrose dedicó bastante más tinta en defender  los argumentos de Shadows of Mind que en escribir dicha obra. En una de sus contrarréplicas, publicada en la revista Psyche (Enero, 1996), nos ofrece una de las versiones más claras de su famoso argumento.

Supongamos que todos los métodos de razonamiento matemático humanamente asequibles válidos para la demostración de cualquier tesis están contenidos en el conjunto F. Es más, en F no sólo introducimos lo que entenderíamos como lógica matemática (axiomas y reglas de inferencia) sino todo lo matemáticamente posible para tener un modelo matemático del cerebro que utiliza esa lógica (todos los algoritmos necesarios para simular un cerebro). F es, entonces, el modelo soñado por cualquier ingeniero de AI: un modelo del cerebro y su capacidad para realizar todo cálculo lógico imaginable para el hombre. Y, precisamente, ese es el modelo soñado porque la AI Fuerte piensa que eso es un ser humano inteligente. Así, cabe preguntarse: ¿Soy F? Y parece que todos contestaríamos, a priori, que sí.

Sin embargo, Roger Penrose, piensa que no, y para demostrarlo utiliza el celebérrimo teorema de Gödel, que venimos a recordar a muy grosso modo: un sistema axiomático es incompleto si contiene enunciados que el sistema no puede demostrar ni refutar (en lógica se llaman enunciados indecidibles). Según el teorema de incompletitud, todo sistema axiomático consistente y recursivo para la aritmética tiene enunciados indecidibles. Concretamente, si los axiomas del sistema son verdaderos, puede exhibirse un enunciado verdadero y no decidible dentro del sistema.

Si yo soy F, como soy un conjunto de algoritmos (basados en sistemas axiomáticos consistentes y recursivos), contendré algún teorema (proposiciones que se infieren de los axiomas de mi sistema) que es indecidible. Los seres humanos nos damos cuenta, somos conscientes de que ese teorema es indecidible. De repente nos encontraríamos con algo dentro de nosotros mismos con lo que no sabríamos qué hacer. Pero en esto hay una contradicción con ser F, porque F, al ser un conjunto de algoritmos, no sería capaz de demostrar la indecibilidad de ninguno de sus teoremas por lo dicho por Gödel… Una máquina nunca podría darse cuenta de que está ante un teorema indecidible. Ergo, si nosotros somos capaces de descubrir teoremas indecidibles es porque, algunas veces, actuamos mediante algo diferente a un algoritmo: no sólo somos lógica matemática.

Vale, ¿y qué consecuencias tiene eso? Para la AI muy graves. Penrose piensa no sólo que no somos computadores sino que ni siquiera podemos tener un computador que pueda simular matemáticamente nuestros procesos mentales. Con esto Penrose no está diciendo que en múltiples ocasiones no utilicemos algoritmos (o no seamos algoritmos) cuando pensemos, sólo dice (lo cual es más que suficiente) que, habrá al menos algunas ocasiones, en las que no utilizamos algoritmos o, dicho de otro modo, hay algún componente en nuestra mente del cual no podemos hacer un modelo matemático, qué menos que replicarlo computacionalmente en un ordenador.

Además el asunto se hace más curioso cuanto más te adentras en él. ¿Cuáles podrían ser esos elementos no computables de nuestra mente? La respuesta ha de ser un rotundo no tenemos ni idea, porque no hay forma alguna de crear un método matemático para saber qué elementos de un sistema serán los indecidibles. Esto lo explicaba muy bien Turing con el famoso problema de la parada: si tenemos un ordenador que está procesando un problema matemático y vemos que no se para, es decir, que tarda un tiempo en resolverlo, no hay manera de saber si llegará un momento en el que se parará o si seguirá eternamente funcionando (y tendremos que darle al reset para que termine). Si programamos una máquina para que vaya sacando decimales a pi, no hay forma de saber si pi tiene una cantidad de decimales tal que nuestra máquina tardará una semana, seis meses o millones de años en sacarlos todos o si los decimales de pi son infinitos. De esta misma forma, no podemos saber, por definición, qué elementos de nuestra mente son no computables. A pesar de ello, Penrose insiste en que lo no computable en nuestra mente es, nada más y nada menos, que la conciencia, ya que, explica él, mediante ella percibimos la indecibilidad de los teoremas. Es posible, ya que, aunque a priori no pudiéramos saber qué elementos no son decidibles, podríamos encontrarnos casualmente con alguno de ellos y podría ser que fuera la conciencia. Pero, ¿cómo es posible que nuestro cerebro genere conciencia siendo el cerebro algo aparentemente sujeto a computación? Penrose tiene que irse al mundo cuántico, en el que casi todo lo extraño sucede, para encontrar fenómenos no modelizables por las matemáticas y, de paso, resolver el problema del origen físico de la conciencia.

Las neuronas no nos valen. Son demasiado grandes y pueden ser modelizadas por la mecánica clásica. Hace falta algo más pequeño, algo que, por su naturaleza, exprese la incomputabilidad de la conciencia. Penrose se fija en el citoesqueleto de las neuronas formado por unas estructuras llamadas microtúbulos. Este micronivel está empapado de fenómenos cuánticos no computables, siendo el funcionamiento a nivel neuronal, si acaso, una sombra amplificadora suya, un reflejo de la auténtica actividad generadora de conciencia. ¡Qué emocionante! Pero, ¿cómo generan estos microtúbulos empapados de efectos cuánticos la conciencia? Penrose dice que no lo sabe, que ya bastante ha dicho…

O sea señor Penrose, que después de todo el camino hecho, al final, estamos cómo al principio: no tenemos ni idea de qué es lo que genera la conciencia. Sólo hemos cambiado el problema de lugar. Si antes nos preguntábamos cómo cien mil millones de neuronas generaban conciencia, ahora nos preguntamos cómo los efectos cuánticos no computables generan conciencia. Penrose dice que habrá que esperar a que la mecánica cuántica se desarrolle más. Crick o Searle nos dicen que habrá que esperar a ver lo que nos dice la neurología… ¡Pero yo no puedo esperar!

Además, ¿no parece extraño que la conciencia tenga algo que ver con el citoesqueleto de las neuronas? La función del citoesqueleto celular suele ser sustentar la célula, hacerla estable en su locomoción… ¿qué tendrá que ver eso con ser consciente? Claro que en el estado actual de la ciencia igual podría decirse: ¿qué tendrá que ver la actividad eléctrica de cien mil millones de neuronas con que yo sienta que me duele una muela?

1. Un chimpancé no pasaría el test a pesar de que no dudaríamos en decir que un chimpancé piensa. Tampoco lo pasaría un programa que jugara al ajedrez o que calculara. El Test de Turing es indebidamente  logocéntrico, en el sentido en que equipara ilegítimamente lenguaje con pensamiento. ¿No existe pensamiento no linguístico?

2. La prueba es absolutamente conductista. A Skinner le hubiera parecido suficiente, pero si no queremos prescindir del concepto de mente, la prueba no vale. Podríamos hacer programas que tuvieran conducta verbal sin que por ello dijésemos que piensan:

Una misión de exploración procedente de un lejano lugar del universo aterriza en nuestro planeta. Aunque sus tripulantes son incalculablemente más inteligentes que los humanos, se muestran deseosos de hablar con nosotros. Un entusiasta investigador de la IA le explica la prueba de Turing a uno de ellos. Con el equivalente alienígena de una carcajada dice que en un momento puede improvisar un computador que la supere. Y lo hace. Después explica cómo ha programado el computador. Un idioma sólo contiene un número finito de palabras. Por tanto, sólo hay un número finito de oraciones que contengan un máximo de, por ejemplo, cien palabras (aunque aquí cualquier número elevado de palabras satisfaría los propósitos del extraterrestre). Se sigue que hay un número finito de conversaciones con dos participantes que contengan oraciones de una longitud máxima de cien palabras (suponiendo que a ninguna de las partes se le permita repetir la misma oración un número indefinido de veces). Cierto que, desde un punto de vista humano la cantidad de esas conversaciones es mareante, pero sigue siendo un número definido, finito. Lo que hizo el alienígena fue construir todas las conversaciones significativas con dos participantes en las que uno, el interrogador, usa oraciones de hasta cien palabras, y el otro, el computador, usa oraciones de hasta cuarenta palabras. Hecho esto introdujo en bloque todas las conversaciones en el programa […]. Cuando el interrogador escribe su primera intervención, Superparry – como llamaban al programa del alienígena- selecciona al azar una de las muchas conversaciones que comienzan de esta forma y escribe la intervención del segundo participante. El interrogador responde, y Superparry selecciona al azar una de las conversaciones que comienzan con las tres intervenciones ya hechas y así sucesivamente.

Jack Copeland, en Inteligencia Artificial

3. La prueba es muy ambigua: ¿cuánto tiempo tiene que estar la computadora engañando a su interlocutor? ¿Todas las preguntas están permitidas? ¿Puedo preguntarle al computador sobre su biografía? Las precisiones que se hagan al respecto son vitales para entender cómo debería ser una máquina que superara el test. Verbigratia, la Eliza de Weizenbaum está programada como si fuera un psicoanalista para centrarse en hacer preguntas y no en dar respuestas. Si la conversación con ella es muy corta y el programa tiene suerte (tres o cuatro preguntas y respuestas) no hay forma de diferenciarla de un humano. Sin embargo, si la conversación es más larga y el interlocutor va buscando las cosquillas a la máquina, Eliza está lejos de superar el test.

4. Sólo se pide que el computador engañe a su interlocutor, ha de fingir que piensa, no pensar realmente. Para construir una máquina que pasara el test podríamos centrarnos en fomentar esa habilidad de engaño más que en diseñar una máquina pensante. Precisamente la Eliza de Weizenbaum está hecha de esta manera. Simular que uno piensa no es lo mismo que pensar. Y no es bueno que nuestros ingenieros diseñen robots únicamente para pasar el test, ya que diseñarán máquinas expertas en mentir, no en pensar.

5. El test no especifica qué tipo de máquina puede superarlo (1). Esto no es una objeción contra el test sino contra aquellos que afirman que una máquina no puede pensar en base a lo que son las máquinas actuales. Es como si pensáramos que con un modelo tecnológico de pesas y poleas podemos llegar a Marte. Seguramente que el modelo de máquina realmente pensante será muy diferente a los modelos computacionales contemporáneos.

La clave del asunto es que todo depende de cómo definamos pensar. Si suponemos que para pensar hace falta autoconsciencia o consciencia de algún tipo, una máquina podría pasar cierto test de Turing sin tener conciencia alguna, mientras que si creemos que pensar es, simplemente, realizar algún tipo de operación lógica sin que haga falta tener consciencia de ella, el ordenador desde el que escribo esto piensa en toda regla aunque no pueda pasar el test. En ambos casos el test de Turing no me dice absolutamente nada de si las máquinas piensan.

La pregunta con respecto a la Inteligencia Artificial debería dejar de apuntar hacia el concepto de inteligencia o conducta inteligente (en el sentido del Test de Turing, de conducta lingüística inteligente). En esta línea de investigación creo que ya se han conseguido logros lo suficientemente importantes para decir que tenemos máquinas con conducta inteligente (a pesar de que todavía quede mucho por hacer). La dirección a seguir (y que ya se sigue desde muchos ámbitos) sería la de hacer máquinas que generaran consciencia. Aquí es donde está el reto, debido fundamentalmente a que no tenemos ni idea de cómo nuestro cerebro la genera: ¿qué mecanismo hace que un complejo sistema de redes electroquímicas den lugar a la consciencia? El camino estará en, a falta de más conocimientos desde la neurología, replicar tales procesos electroquímicos y esperar a ver que pasa. De este modo no sólo podremos diseñar máquinas conscientes, sino que tendremos un fantástico campo de pruebas experimental para entender qué es la misma consciencia.

Aquí os dejo una serie de enlaces a programas que intentan pasar el test para que converséis con ellos y comprobéis lo lejos que están de conseguirlo.

Eliza

Doctor Abuse

Solutecia

Paula SG 11

 (1) Turing afirma que en el test podría participar cualquier ingenio tecnológico que la ciencia tuviera a disposición, si bien él enseguida nos habla de máquinas automáticas de estado discreto, es decir, de computadores digitales. La objeción podría tener sentido afirmando que un computador digital nunca podría pasar el test de Turing… Lo cual sólo podrá ser respondido con el tiempo.

El primer computador electrónico con un programa incorporado en la memoria fue el Manchester Automatic Digital Machine (MADM), también conocido como el Manchester Mark I.  Una versión mejorada de este voluminoso cacharro (4.500 válvulas. En la foto sólo mostramos la consola) fue diseñado por la Ferranti Limited y tenía un generador de números aleatorios que utilizó Turing para programar la primera carta de amor escrita por un ser no humano:

Querida Prenda

Tú eres mi ávido sentimiento amigo.

Mi afecto pende curiosamente de tu deseo apasionado. Mi

Cariño implora tu corazón. Tú

Eres mi triste simpatía: mi

Tierno cariño.

Tuyo rendidamente.

Computador de la Universidad de Manchester

Poema que pasa perfectamente el Test de Turing de los poemas. Parece ser que ya se adelantaron 60 años a mi Lord Byron Mecánico.

En las míticas conferencias de Dartmouth, los pioneros de la IA pronosticaron que en unos pocos años tendríamos seres mecánicos con las mismas características que el ser humano. Alan Turing, Marvin Minsky o John McCarthy pensaban que las computadoras tendrían conducta inteligente e incluso consciencia y emociones en unas décadas. Desde la filosofía, pronto se lanzó una feroz crítica a estas pretensiones: John Searle, Herbert Dreyfus, Joseph Weizenbaum o Margaret Boden se apresuraron en mostrar los problemas filosóficos existentes tras tales pretensiones. Filósofos e ingenieros se enzarzaron en una ardua polémica (bueno, más bien sólo filósofos con filósofos. Los ingenieros siguieron trabajando como si la filosofía no existiera, cosa que han hecho siempre). En la actualidad parece que los filósofos han ganado la partida ya que, a parte de que sus ataques fueron bastante certeros en algunos casos (es muy famoso el argumento de la habitación china de Searle) y a que es más fácil destruir que construir, las promesas de Dartmouth están aún muy lejos de conseguirse.

Jaron Lanier ha revitalizado la polémica en un reciente artículo en donde acusa a estas exageradas pretensiones de la AI de ser la nueva ideología de moda, la nueva pseudoreligión que acompaña nefastamente el desarrollo de las ciencias de la computación provocando, según Lanier, una mala comprensión de las mismas y de lo que es realmente el hombre.

Son ciertas las pretensiones mesiánicas de muchos tecnofílicos. Hemos leído con cierta frecuencia fabulaciones como que podremos descargar nuestra mente en ordenadores consiguiendo la inmortalidad o, de modo apocalíptico, que acabaremos siendo esclavizados o exterminados por beligerantes máquinas futuristas. El gran guru de la IA, Raymond Kurzweil habla con total naturalidad de la singularidad tecnológica, momento histórico en el cual las máquinas serán tan superiores al ser humano actual que nos es imposible establecer cualquier tipo de predicción del futuro desde ese momento. Leo en El hombre mecánico de Hans Moravec:

Lo que nos espera no es el olvido, sino un futuro que, desde nuestra ventajosa situación actual, se puede describir con las palabras “posbiológico” o, mejor aún, “sobrenatural”. En este mundo, la marea del cambio cultural ha barrido al género humano y lo ha sustituido por su progenie artificial. Las consecuencias finales todavía nos resultan desconocidas, aunque muchos de los pasos intermedios no sólo son predecibles sino que ya se han dado. En la actualidad, nuestras máquinas son todavía creaciones simples que precisan los cuidados maternales y la atención constante de todos los recién nacidos. Y no se puede decir que merezcan el calificativo de “inteligentes”. Pero en el curso de un siglo madurarán, se convertirán en seres tan complejos como nosotros y, finalmente, en entes que trascenderán todo lo que conocemos, de los que nos podremos sentir orgullosos y considerarlos nuestros propios descendientes.

Nótese que Moravec no duda en hablar de la futura generación de máquinas inteligentes como seres sobrenaturales como si no pasara nada. Y es que la advertencia de Lanier es muy cierta:

1. Que en una ciencia se introduzcan elementos propios de las religiones es en sí nefasto. La ciencia ha de huir del ethos de la religión, no acercarse a él. La predicción salvajemente especulativa sin base empírica (a lo sumo apoyada en una discutible ley de Moore) nos recuerda a la espera cristiana de la segunda llegada de Dios.  No dejemos que vicios que ya creíamos superados vuelvan a introducirse en la ciencia.

2. Ésto sólo a causado que se cancele la financiación de interesantes proyectos en AI debido a lo irreal de sus objetivos. Si en vez de prometer replicas de humanos habláramos sólo de sistemas expertos que sirven de ayuda profesional seguro que los mecenas verían la gran utilidad de estos ingenios sin defraudarse por no encontrarse con HAL 9000.

3. Al contrario que la mayoría de los filósofos, yo no encuentro contradicción alguna a la posibilidad de que puedan crearse seres artificiales que tengan formas de consciencia e, incluso, poseer emociones. Sin embargo, reconozco tanto que podría haberla y aún no la conocemos, como que aún estamos lejísimos de conseguirlo. Seguramente que el modelo computacional actual no es el adecuado para representar el pensamiento humano (o, simplemente, es todavía muy sencillo) y nuestra tecnología es tan pobre que no da ni para hacer predicciones a corto plazo de lo que podríamos conseguir en el campo de la computación; más aún cuando su avance está sujeto a los devenires propios de cualquier progreso histórico: la economía, los cambios socio-culturales, las modas… e incluso los caprichos de ese extraño ser que se resiste tanto a ser replicado al que llamamos hombre.

 

Véase El Bushido de HAL

Ya comentamos cómo Turing define el concepto de algoritmo mediante las famosas máquinas que llevan su nombre. Así, habría Máquinas de Turing (MT) para encontrar el máximo común divisor entre dos números, resolver raíces cuadradas,ecuaciones de segundo grado… ¡para cualquier acción que pueda realizarse en un número finito de pasos! ¿Podría resolver alguno de los grandes enigmas de las matemáticas propuestos por Hilbert, tal como la peliaguda conjetura de Goldbach?

El genio de Turing se puso en acción: cualquier MT puede codificarse numéricamente. Simplemente se trata de establecer una función entre las instrucciones  de funcionamiento (lo que Turing llamaba la configuración-m) y números. Entonces cada MT tendrá un determinado número de identificación que la diferenciaría de las demás. A partir de aquí puede construirse una Máquina Universal de Turing, es decir, una máquina que pueda hacer lo que todas las demás MT hacen. Si cada MT tiene un código de identificación, podemos hacer una máquina tal que reciba como input tal código e, inmediatamente, devuelva lo que esa MT en concreto devuelve. Si, por ejemplo, le introducimos el código de identificación de la MT que genera la cadena de los números naturales, nuestra nueva máquina devolverá esa misma cadena de números. Esto es una Máquina Universal de Turing (MU), la cual, a su vez, tiene un número de identificación:

7244855335339317577198395039615711237952360672556559631108144796606505059404241090310483613

6323593656444434583822268832787676265561446928141177150178425517075540856576897533463569424

7848859704693472573998858228382779529468346052106116983594593879188554632644092552550582055

5989451890716537414896033096753020431553625034984529832320651583047664142130708819329717234

1505698026273468642992183817215733348282307345371342147505974034518437235959309064002432107

7342178851492760079759763441512307958639635449226915947965461471134570014504816733756217257

3446452273105448298078496512698878896456976090663420447798902191443793283001949357096392170

3904833270882596201301773727202718625919914428275437422351355675134084222299889374410534305

47104436869587640517812801194375308138706399427728231564252892375145654438990527807932411448

26142357286193118332610656122755531810207511085337633806031082361675045635852164214865423471

8742643754442879006248582709124042207653875426445413345174856629157429990950262300973373813

7724162172747723610206786854002893566085696822620141982486216989026091309402985706001743006

70086896759034473417412787425581201549366393899690581773859165405535670409281332221631410978

7108145997866959970450968184190629944365601514549048809220844800348224920773040304318842989

93931355266882349662101947161910701461968523192847482034495897709553561107027581748733327296

6789987984732840981907648512726310017401667873634776058572450369644348979920344899974556624

02937487668839751404451665707750060513883991668814072545544665222050724262392379211525318162

51253630509317286314220040645713052758023076651833519956891397481375049264296050100136519801

86945639498

Este es el número U según nos lo ofrece Roger Penrose en La nueva mente del emperador . Tiene 1.653 dígitos y, a priori, prometía ser la leche: en él, de algún modo, se encuentra la solución a todos los problemas matemáticos en tanto que todos los problemas matemáticos tengan solución en una serie de pasos finitos. Y, a pesar de lo que ahora veremos, lo fue: el ordenador desde el que estás leyendo esto es una muy refinada MU (No deja de ser fascinante que lo que en otras épocas fueron descubrimientos que sólo invitaban a soñar, son ahora realidades ordinarias).

Turing utiliza la MU para afrontar el gran problema de la decibilidad de las proposiciones de la matemática (el problema matemático de todos los problemas, el Entscheidungsproblem ): dado una proposición matemática cualquiera, ¿existe un método que nos digera si esa proposición es demostrable dentro del propio sistema? O dicho de otro modo: ¿existe un método que nos digera si la conjetura de Goldbach es demostrable? Turing fabula con la idea de que fuéramos introduciendo en la MU todas las cadenas numéricas posibles (ya que cada una de ellas representaría una MT concreta, aunque, lógicamente la inmensa mayoría darían máquinas absurdas que no funcionan o cuyo funcionamiento es circular). ¿Sería posible diseñar una nueva máquina que, dada una cadena numérica cualquiera, pudiera decidir si la MT que la genera no es circular, es decir, que es una MT perfectamente funcional? Turing llama a esta máquina D (MD). Si esta máquina fuera posible, el problema de la decibilidad (también llamado en este caso “problema de la parada”) se resolvería: la MD sería ese método para decidir, dada una proposición matemática cualquiera, si es demostrable dentro del propio sistema. ¡Las matemáticas serían completas y Hilbert sonreiría de felicidad! Todos los teoremas de las matemáticas estarían allí, como en un mundo platónico, esperando tranquilamente a que una nueva generación de matemáticos los resuelva…  ¡Todos los problemas matemáticos estarían dentro de U!

Pero nuestro gozo en un pozo: no es posible construir MD. Turing da dos pruebas: la primera se basa en la ingeniosa diagonalización de Cantor. Podemos ir agrupando en una tabla con filas y columnas toda la serie de cadenas numéricas que devuelve nuestra MU “cargada” con todas las MT concretas posibles que han sido seleccionadas como válidas por MD. Por ejemplo, tendríamos la secuencia de la MT que genera una serie infinita de unos, la que genera toda la serie de números naturales, etc. como mostramos en la tabla de aquí abajo. Podemos entonces dibujar una diagonal seleccionando el número que hay en la primera casilla de la primera fila, en la segunda casilla de la segunda, en la tercera de la tercera, etc. (en la tabla la marcamos en negrita).

1 1 1 1 1 1 1 1 etc
0 1 0 1 0 1 0 1 etc
1 2 3 4 5 6 7 8 etc
1 3 4 7 9 11 13 15 etc
2 4 6 8 10 12 14 16 etc
3 6 12 24 48 96 192 348 etc
2 3 5 7 11 13 17 19 etc
0 1 8 27 64 125 216 343 etc
1 4 9 16 25 36 49 64 etc

 

Podemos después agrupar los números de nuestra diagonal y hacer una nueva fila en la que, a cada número, le sumamos la unidad:

2 2 4 8 11 97 18 344 Etc+1

 

Realizar esta acción es un algoritmo, ya que seleccionar estas casillas y sumarles la unidad es un proceso que hemos hecho en un número finito de pasos (además corto, por lo que la MT necesaria para hacerla es trivial). Entonces, esta secuencia debería ser generada por nuestra MU “cargada” con todas las MT elegidas como correctas por MD, pero… ¡es imposible que la MU nos de esta secuencia! ¿Por qué? Porque al sumarle uno a una casilla de cada fila, todas las cadenas generadas diferirán en alguna de sus casillas, en una unidad con respecto a esta cadena. Es decir, nuestra MU podrá generar todas las cadenas correctas verificadas por MD, menos, como mínimo ésta… ¡Hay al menos, una cadena que no es decidible desde MU! ¡Se le ha escapado un preso a nuestro robótico vigilante de la corrección! Hilbert saca un pañuelo y se pone a llorar. La MD podría no reconocer la MT que resolviera la conjetura de Goldbach.

La segunda prueba (que a Turing le gusta más que la primera) se basa en la idea de que pudiéramos construir una máquina híbrida: una MU y una MD en la misma máquina (DU). Esta máquina se encontraría como input con una cadena cualquiera que la parte MD verificaría como correcta o no. Si fuera correcta, la parte MU replicaría el funcionamiento de la MT codificada y devolvería la cadena que la MT concreta devuelve. Bien, parece que no hay problema. Pero, ¿qué pasaría si le pasamos como input el mismo número de identificación de la propia DU? MD la verificaría como correcta y la pasaría a MU para que replicara su función, a saber, de nuevo verificar mediante DU si es circular para pasarla luego a MU, la cual activaría otra vez DU, que pasaría la cadena otra vez a MU… así sucesivamente hasta el infinito… ¡Al introducir su código en si misma DU se vuelve circular! ¿Pero no habíamos dicho que DU no era circular al pasar por la verificación de MD? ¿Qué pasa aquí? Una paradoja no muy diferente a la de Epiménides y los cretenses. Definitivamente, hay procesos algorítmicos indecidibles, como ya había mostrado Alonzo Church unos años antes que Turing. Pero no nos pongamos a llorar tan rápido, hay que tener en cuenta que Turing sólo había demostrado la indecibilidad de las matemáticas, no su incoherencia . Como el matemático André Weil dijo:

Dios existe, ya que las matemáticas son consistentes; el demonio también, ya que no podemos demostrarlo.

Si te ha gustado lee también sus precuelas: II y I.

Cerca del final de su vida, Alan Turing, escribió en una carta a su amigo Norman Routledge este terrible silogismo:

Turing cree que las máquinas piensan

Turing yace con hombres

Luego las máquinas no piensan

Aparte de que su homosexualidad fuera un pecado demasiado grande para ser perdonado por la religiosidad victoriana de la época (no es casual que Turing utilice la locución bíblica “yacer con”), la creencia en que lo exclusivamente humano pudiera ser extensible a seres de silicio era, y sigue siendo, una blasfemia que acabó tanto con su vida como con su legado (gran parte de sus ideas se las atribuyeron a nuestro Von Neumann).

¿Después de Copérnico, Darwin y Freud, será Turing el nuevo leñador que hará caer el maltrecho árbol del antropocentrismo?

PD: Por si acaso alguien no lo sabe el logo de Apple representa la manzana bañada en cianuro con la que Turing se suicidó (o eso creíamos. Véase la entrada de Friedrich más abajo).

¿Es este brócoli una computadora?

Que algo sea computable quiere decir que podemos crear un modelo matemático, algorítmico de él. El crecimiento de un brócoli es fácilmente computado por un ordenador, sin embargo, eso no nos hace pensar que el brócoli mismo sea una computadora. Solemos entender que el computador es aquel que emula, del modo más realista posible, el comportamiento de algo real. Así, dividimos la realidad en dos, la platonizamos: lo real y su copia. Y así, nuestros ingenuos informáticos sólo pueden aspirar a diseñar buenas copias de la realidad, pero nunca “seres reales”. Nuestras computadoras podrán pasar el test de Turing, pero eso nunca será “realmente” hablar. Dividimos entre hardware (lo físico, el cuerpo) y software (el programa, el alma), creando sustancias independientes que no nos es imposible volver a casar luego (véase el problema de la comunicación entre sustancias en que se vio envuelto todo el racionalismo moderno) . Sospecho que la arquitectura de computadoras,  la de nuestro querido Von Neumann, basada en estas nociones dualistas resultará, a la larga, infructuosa para construir inteligencia “real”.

En primer lugar hay una objeción: si nuestras copias van siendo cada vez más y más realistas,  ¿no podría llegar el momento en el que el original y la copia sean indistinguibles? ¿No podríamos llegar a agotar la realidad mediante nuestros modelos? La respuesta es complicada, pero negarla implicaría aceptar que los originales tienen una propiedad metafísica que los diferencia de sus copias físicamente idénticas.

Y en segundo lugar, creo que se puede poner en duda la idea de que la realidad computada no sea realmente un computador. Si nos fijamos en nuestro ordenador, una serie de objetos físicos (microchips de silicio, circuitos integrados) hacen la función de puertas lógicas que sirven como base para las computaciones, es decir, que una serie de objetos físicos estructurados de una determinada manera producen cálculo. Asimismo, en el brócoli, al comprobar que el resultado de su crecimiento es una geometría fractal (un cálculo), podemos presuponer que, igualmente, posee una serie de objetos estructurados de una determinada manera tal que producen cálculo (a fin de cuentas, todos estamos formados por átomos). No habría entonces una diferencia sustancial, en este sentido, entre el helecho y el ordenador. La diferencia estaría en la versatilidad: mi ordenador es una Máquina Universal de Turing (capaz de realiza cualquier algoritmo según la tesis Church-Turing)  mientras que el brócoli sería una máquina de Turing particular, sólo capaz de realizar una única tarea.

Pero extendamos la metáfora a toda la realidad… ¿No nos llevaría esto a pensar que el universo podría ser una gran supercomputadora ? No nos haría falta ni demostrar que toda la realidad sea computable. Sólo con que gran parte de ella lo fuera (y creemos que así lo es), tendríamos un supercomputador cósmico.