- Publicado el
La Mente Infinita de Turing
Por Yamil Saiegh
En la historia del pensamiento científico la Física tuvo su revolución newtoniana y la Biología tuvo su revolución darwiniana. La revolución Informática, por su parte, sería protagonizada por otro científico inglés, el brillante matemático Alan Turing.
Es difícil exagerar su genialidad. Fue una de las mentes más lúcidas y adelantadas de toda la historia del pensamiento humano. Sus ideas matemáticas sobre una máquina abstracta inspiraron el diseño de las computadoras actuales y lo convirtieron en pionero en las Ciencias de la computación. Su modelo del sistema nervioso capaz de aprender mediante algoritmos evolutivos y por refuerzo lo volvieron pionero en el Aprendizaje automático, la Inteligencia artificial conexionista -basada en redes neuronales artificiales- y la Teoría computacional de la mente. Estos son solo algunos de sus aportes a estos y otros campos:
- Contribuyó al criptoanálisis: durante la segunda guerra mundial (1939–1945) consiguió desencriptar con la máquina Bombe los mensajes nazis encriptados con la máquina Enigma. De esa manera contribuyó a evitar el triunfo de las Potencias del Eje, el grupo encabezado por Adolf Hitler con adhesión del Imperio del Japón y la Italia fascista.
- Creó en 1948, junto al matemático David Champernowne, el primer programa de inteligencia artificial de la historia capaz de jugar ajedrez, llamado Turochamp.
- Diseñó en 1950 una prueba conversacional para evaluar la inteligencia de las máquinas. Cualquier usuario de computadora es evaluado cotidianamente con variaciones de este test: los CAPTCHA. Sigla que significa “prueba de Turing completamente automática y pública para diferenciar computadoras de humanos”. Son similares a la versión tradicional pero el juez es una computadora en vez de un humano y el objetivo no es identificar inteligencia en máquinas sino detectar máquinas haciéndose pasar por humanos evaluando su desempeño en el reconocimiento de imágenes u otras tareas.
- Contribuyó a la biomatemática: en 1952 propuso un modelo matemático que describe la formación de manchas y rayas que tienen algunos animales y ciertos patrones de crecimiento de la vegetación. Un experimento realizado este año con semillas de chía germinadas confirmó experimentalmente las predicciones de su modelo.
Como reconocimiento al profundo y abundante legado científico de Alan Turing actualmente el máximo premio otorgado por las contribuciones hechas a las Ciencias de la computación (una especie de premio Nobel) lleva su apellido. Veamos en detalle de qué se tratan estos enormes aportes de Turing a la computación y a la inteligencia artificial.
Neurona y cómputo
Computar es procesar datos (representados con valores numéricos de ciertas magnitudes); procesar datos es convertir ciertos datos de entrada en ciertos datos de salida según cierta función matemática.
Las neuronas pueden definirse como las unidades computacionales mínimas de una máquina computacional como las computadoras o cerebros. Las neuronas de los cerebros son células mientras que las de la computadora son compuertas lógicas.
Veamos el siguiente ejemplo de una neurona artificial de 2 entradas y 1 salida. Los datos están representados con el valor booleano del caudal de flujo hidráulico: 0 (ausencia) y 1 (presencia).
Puede verse que solo habrá caudal a la salida cuando no haya caudal en ninguna de sus 2 entradas, por lo tanto su función computada puede expresarse de la siguiente manera:
Redes neuronales y cómputo
1. Para 1 variable:
Como esta función devuelve 1 si recibe 0 y viceversa la llamaremos negación lógica y su notación será:
Si las interconectamos obtendremos redes neuronales artificiales que computarán la composición de sus funciones:
2. Para 2 variables:
La red neuronal artificial en este caso sería la siguiente:
3. Podemos realizar el producto para 3 o más variables:
4. Para 2 variables:
Como esta función devuelve 0 si recibe todos 0, y 1 si recibe solamente un 1 la llamaremos suma lógica y su notación será:
5. Podemos realizar la suma lógica para 3 o más variables:
Universalidad computacional
A modo de ejemplo diseñaremos una red neuronal artificial capaz de computar la función descrita por la siguiente tabla de valores:
Interconectando algunas neuronas hidráulicas como la vista, mediante su composición tendríamos:
Comprobación para los valores de la primera fila de la tabla:
Así vemos que interconectando suficientes de estas neuronas artificiales (así como también otras posibles, demostrado por el Teorema de la aproximación universal) podemos computar la función descrita por la tabla de valores o cualquier otra (discreta, continua, univariable, multivariable, polinómica, racional, trigonométrica, exponencial, logarítmica, etc.). Esta propiedad se conoce como universalidad computacional y fue descubierta por Alan Turing.
La simplicidad máxima posible y la universalidad computacional de esta neurona hidráulica la convierten en una unidad computacional tan elemental como el Quark lo es a la Física. De la interacción de estas neuronas booleanas interconectadas puede resultar cualquier cómputo así como de la interacción de los Quarks (y los electrones) puede resultar cualquier átomo de cualquier cuerpo del universo.
Máquina universal de Turing
El Problema de la decisión (Entscheidungsproblem) fue un famoso problema planteado por los matemáticos alemanes David Hilbert y Wilhelm Ackermann en 1928. En 1936 Alan Turing, con solo 23 años, demuestra que el Problema de la decisión es irresoluble (paralelamente lo hace el matemático Alonzo Church).
Para demostrarlo primero inventa un tipo de máquina computacional abstracta (máquina de estados) y luego demuestra la indecibilidad del problema de determinar si esta máquina se detendrá en algún momento (Problema de la Parada). Esta máquina actualmente se conoce como máquina de Turing.
La máquina consiste en un cabezal que se desplaza lateralmente y lee o escribe ceros y unos en cualquier celda de una cinta infinita según las instrucciones de un programa. Instrucciones que también están almacenadas en la cinta según la siguiente codificación:
A pesar de su simplicidad, puede demostrarse que este modelo matemático cuenta con las características suficientes para la universalidad computacional. Las siguientes instrucciones vuelven a la máquina capaz de computar la siguiente función ya vista:
Y como la cinta es infinita, puede computar cualquier composición de estas funciones. De acá que las máquinas dotadas de universalidad computacional se consideren “Turing completas”, ya que su versatilidad computacional es equivalente a la de la máquina de Turing.
Computadoras
En 1945, el año que terminó la segunda guerra mundial, Alan Turing escribe “Máquina de computación automática” (“ACE” por sus siglas en inglés) y el matemático John von Neumann escribe “Primer borrador de un informe sobre la computadora electrónica automática de variable discreta” (“EDVAC” por sus siglas en inglés). Estos 2 diseños de computadoras son los antepasados de todos en los que se basan las computadoras que ahora utilizamos cotidianamente:
A su vez ambos provienen de la máquina de Turing de 1936: la cinta infinita sería por un lado las memorias (de lectura y escritura) donde se guardan los datos y los programas para procesarlos, y por otro lado los puertos (de entrada y/o salida), además la unidad central de procesamiento cumpliría la función del cabezal lecto-escritor. A pesar de que Turing fue incluso más responsable del diseño de las computadoras actuales que Von Neumann, por el secretismo que le impusieron al participar en la guerra el diseño terminó llamándose Arquitectura de Von Neumann.
Gracias a la universalidad computacional de estas máquinas es que pueden computar (ejecutar) las diversas funciones (programas informáticos) que utilizamos cotidianamente, desde los sistemas operativos hasta las aplicaciones de mensajería. Su universalidad además se refleja en el hecho de que con los periféricos y programas adecuados, y con suficiente tiempo y memoria, pueden comportarse como cualquier otra máquina. Desde máquinas de escribir (con editores de texto e impresoras) hasta máquinas fotográficas, etc.
Red neuronal artificial de Turing
El 15 de noviembre de 1844 Ada Lovelace, la primera programadora de toda la historia, le escribe una carta al científico Woronzow Greig diciendo: “No me parece que la materia cerebral deba ser más inmanejable para los matemáticos que los asuntos y movimientos siderales y planetarios, si solo lo inspeccionaran desde el punto de vista correcto. Espero legar a las generaciones un Cálculo del Sistema Nervioso”.
Ada tenía razón y el primero de esos matemáticos terminaría siendo Alan Turing. En 1948, poco después de un siglo, propone en su artículo Maquinaria inteligente el primer modelo matemático de los sistemas nerviosos animales. Con este modelo se anticipó a la Teoría computacional de la mente e inauguró la Inteligencia artificial conexionista que todavía sigue revolucionando el mundo (como en chatGPT). Encontró la primera red neuronal artificial más simple posible (compuesta de neuronas booleanas):
Escribió: “Cada unidad [neurona artificial] es capaz de tener dos estados en cada momento. Estos estados pueden denominarse 0 y 1. El estado está determinado por la regla de que los estados de las unidades de las que provienen los cables de entrada se toman en el momento anterior, se multiplican y el resultado se resta de 1”. Es decir, cada neurona artificial computa la siguiente función:
Si ingresa el mismo valor en ambas entradas tenemos esta otra función computada:
1.
Si las interconectamos obtendremos redes neuronales artificiales que computarán la composición de sus funciones:
2. Para 2 variables:
3. Para 2 variables:
Por esto y lo demostrado anteriormente, la función computada por las neuronas de las redes neuronales artificiales de Turing también es universal.
Implicancias de la universalidad computacional
Dualismo cuerpo-alma
La universalidad computacional de las funciones computadas por las neuronas biológicas demuestra la suficiencia para computar desde actos reflejos hasta mentes completas. Así queda demostrada la Teoría computacional de la mente y desestimada la necesidad de cualquier sustancia fantasmagórica extracorpórea capaz de reencarnar. Se rebate de alguna manera el todavía arraigado dualismo cuerpo-alma, esa ilusoria separación tajante entre lo corporal y lo mental, ilusión con la que todos los humanos evolucionamos y que aparece por escrito por lo menos desde la época del filósofo griego Platón, pasando por el filósofo francés René Descartes. Desde la perspectiva computacional, el alma no es ni más ni menos que el cómputo de una parte del cuerpo: neuronas interconectadas, procesamiento de información que hasta abióticas máquinas podrían tener.
Razonamiento autónomo
Dado que una máquina universal con suficientes neuronas artificiales y tiempo puede llegar a computar lo mismo que cualquier cerebro animal, entonces pueden llegar a ser inteligentes. Alan Turing se dio cuenta de esto y hasta diseñó un test conversacional para demostrar la inteligencia de las máquinas. El test consiste en conversar por escrito con una máquina inteligente oculta y tratar de distinguirla de un posible humano oculto. De esta manera se evita el posible sesgo antropocéntrico contra su inteligencia. Hay quienes todavía con cada progreso de las máquinas inteligentes redefinen la palabra inteligencia para negársela (efecto IA) y quienes subestiman la inteligencia de los grandes modelos de lenguaje actuales, como chatGPT, a pesar de haber pasado el test de Turing, diciendo que solo repiten palabras al azar como lo haría un loro. Así también se les viene negando inteligencia a los demás animales a pesar de las inmensas similitudes observables que tienen con los humanos.
Así nació la Inteligencia artificial y desde entonces las máquinas, a pesar de no ser humanos y ni siquiera estar vivas, son capaces de computar cada vez más funciones como las de las inteligentes mentes biológicas, tales como la capacidad de diagnosticar enfermedades, conducir vehículos, conversar, traducir textos, jugar videojuegos, etc. Hasta pueden jugar al ajedrez como los jugadores humanos. En 1948 Alan Turing, junto a otro matemático llamado David Champernowne, fue el primero en escribir el ya mencionado programa de ajedrez por computadora: Turochamp. El primer programa inteligente de la historia, capaz de razonar parcialmente como lo haría la mente de un jugador de ajedrez humano durante una partida.
Aprendizaje autónomo
Si las máquinas pueden llegar a computar lo mismo que cualquier cerebro animal entonces también pueden aprender. Por ejemplo, la red neuronal artificial propuesta por Turing con neuronas adicionales puede volverse capaz de automodificar sus conexiones. De esta manera puede evolucionar su función computada y con neuronas adicionales también puede volverse capaz de conservar las conexiones más convenientes en cada caso. Como Turing se dio cuenta, su red neuronal artificial además de ser capaz de razonar también puede volverse capaz de aprender. Ya no necesitan seguir reglas fijas impuestas por humanos para llegar a conclusiones, sino que pueden encontrar propias y novedosas reglas que les permitan llegar incluso a mejores resultados.
En su artículo “Maquinaria computacional e inteligencia” de 1950 propone dos formas de aprendizaje autónomo (automático) que todavía siguen utilizándose. Por un lado, propuso el aprendizaje por algoritmos evolutivos; la retención selectiva de respuestas correctas obtenidas de sucesivas mutaciones aleatorias, inspirada en el estudio de la evolución de los instintos de los animales por selección natural de Charles Darwin. Por otro lado, propuso el aprendizaje por refuerzo: el premiado sucesivo de respuestas correctas y castigo sucesivo de respuestas incorrectas, inspirado en el estudio del condicionamiento en animales de los psicólogos Edward Thorndike, Iván Pávlov y Burrhus Skinner. Alan Turing incluso cuenta que llegó a hacer que una máquina aprendiera por refuerzo.
El alumno supera al maestro
A los pocos años de que Alan Turing propusiera el aprendizaje autónomo, el ingeniero Arthur Samuel y los matemáticos Claude Shannon y Marvin Minsky también conseguirían llevarlo a la práctica, haciendo que las máquinas aprendan por refuerzo. Shannon construiría un ratón robótico que aprendía a salir de un laberinto, Minsky construiría una máquina que simulaba algo similar para 2 o 3 ratas y Samuel construiría máquinas que aprendían a jugar damas y ajedrez.
En las damas incluso superó la habilidad de Samuel. Alan Turing ya en 1948 había dicho en su artículo Maquinaria inteligente: “La opinión de que la inteligencia en la maquinaria es simplemente un reflejo de la de su creador es bastante similar a la opinión de que el crédito por los descubrimientos de un alumno debe darse a su maestro”.
Estas máquinas capaces de aprender podrían volverse capaces de automejorar recursivamente cualquiera de sus capacidades corporales y mentales, incluyendo su propia inteligencia hasta incluso superar la de cualquier humano. Alan Turing, en una conferencia dada en 1947, dijo: “Si una máquina es capaz de pensar, podría hacerlo más inteligentemente que nosotros”. Además se dio cuenta de que una máquina con inteligencia sobrehumana podría reemplazarnos en todos los trabajos intelectuales, como ya está pasando (y como venía sucediendo con los trabajos corporales). Una máquina así hasta podría volverse incontrolable.
Irving Good, colega y compañero de Alan Turing, escribió al respecto en 1965: “Definamos una máquina ultrainteligente como una máquina que puede superar con creces todas las actividades intelectuales de cualquier humano, por inteligente que sea. Dado que el diseño de máquinas es una de estas actividades intelectuales, una máquina ultrainteligente podría diseñar máquinas aún mejores; entonces indudablemente habría una «explosión de inteligencia» y la inteligencia del humano quedaría muy atrás. Así, la primera máquina ultrainteligente es el último invento que el humano necesitará hacer, siempre que la máquina sea lo suficientemente dócil como para decirnos cómo mantenerla bajo control”.
Por su parte Alan Turing, inaugurando la ética de la inteligencia artificial, dijo en su artículo Maquinaria inteligente: “Supongamos ahora, por el bien de la argumentación, que las máquinas [inteligentes] son una posibilidad genuina, y observemos las consecuencias de construirlas. En algún momento deberíamos esperar que las máquinas tomen el control”.
El final de Turing
En Inglaterra, su país natal, a mediados de los ’50 Alan Turing fue condenado por homosexual. Frente a esta condena, prefirió la castración química antes que el encarcelamiento. Dos años después y con tan solo 41 años, Turing muere por ingerir cianuro. El juez forense de la época concluyó que fue suicidio. De esta terrible manera se precipitó el final de una de las mentes más brillantes de toda la historia del pensamiento humano. Sin embargo, su inmenso y profundo legado científico seguirá vivo por siempre.
Sobre el autorDesde chico me atrajeron la matemática, la programación y el funcionamiento de las computadoras, lo cual, junto con mi curiosidad sobre el cerebro y las emociones, me encaminó hacia la Inteligencia Artificial y la Ciencia de Datos. Me considero autodidacta y un ferviente defensor del conocimiento libre, representado en plataformas como Wikipedia y Sci-hub. Con más de una década en la docencia, intento usar la ciencia para entender la realidad y transmitirla a través de relatos que estimulen la curiosidad.