Turing y la matemática maquínica
Desde la aparición del término “computer” en el siglo XVII, por “computadora” se entendía
a una persona que realizaba cálculos matemáticos. Estos cálculos solían ser relativamente
fáciles de llevar a cabo pero podían ser extremadamente largos y tediosos, y desde muy
temprano estuvieron asociados a la producción del conocimiento científico, ya sea, por
ejemplo, prediciendo trayectorias de cometas como el Halley o produciendo las enormes
tablas de logaritmos que eran usadas por científicos, matemáticos e ingenieros.
Así, el recurso fundamental de Turing es crear un modelo de la computación llevada a cabo
por un agente un humano, y si bien su concepción produce una máquina abstracta y ma-
temática, su guía para el modelado es la de crear una máquina física que pueda reproducir el
comportamiento de la computadora humana:
La computación se realiza normalmente escribiendo ciertos símbolos en un papel. Podemos
suponer que este papel está dividido en cuadrados como el libro de aritmética de un niño.
En la aritmética elemental se utiliza a veces el carácter bidimensional del papel. Pero tal uso
es siempre evitable, y creo que se estará de acuerdo en que el carácter bidimensional del
papel no es esencial para el cálculo. Asumo entonces que el cómputo se realiza en un papel
unidimensional, es decir, en una cinta dividida en cuadrados. También supondré que el
número de símbolos que pueden imprimirse es finito. [. . . ] El comportamiento de la
computadora en cualquier momento está determinado por los símbolos que está observando,
y su “estado mental” en ese momento.(Cooper & van Leeuwen, 2013; A. Turing, 1936,
p. 33)
Probablemente Turing reconoce que introducir algo así como un “estado mental” en un
trabajo con aspiraciones netamente matemáticas, en un contexto en el que la discusión
acerca de la naturaleza de lo científico pretendía excluir a lo mental como campo de análisis
válido para tal empresa, es algo extraño. Pero, al mismo tiempo, uno puede leer el paper de
Turing como una investigación acerca del problema de la naturaleza de lo mental y su
relación tanto con la matemática como con el soporte físico de la mente.
Al margen de la respuesta negativa que Turing ofrece sobre el problema de la decisión, lo
más soprendente de su propuesta es la idea de una máquina universal, una máquina que
puede recibir instrucciones para comportarse como si fuera otra máquina (una máquina de
Turing particular). En 1936 Turing descubre, casi literalmente, toda la industria del
software.
2. Turing y la máquina Enigma
(Sí, la de la película.) La participación de Turing fue clave para el éxito de los esfuerzos de
decodificación de la máquina Enigma que el ejército alemán usaba para cifrar sus mensajes,
lo que pudo dar a los aliados una ventaja de inteligencia fundamental contra las fuerzas del
Eje. Lo importante para nuestra historia de la IA es que Turing aquí debió remitirse a pensar
en términos computacionales algunos de los problemas sobre probabilidad y estadística con
los que se había enfrentado antes de sus trabajos en lógica matemática y computación. Su
actitud fue casi la de un detective, esa misma con la que solemos pensar algunas partes de la
actividad de descubrimiento científico. Siempre se trataba de intentar adivinar la
configuración de una máquina que producía una serie de caractéres del abecedario que
parecian estar al azar pero que podían esconder un mensaje significativo. Y así encontrar
claves o pistas que pudieran verse luego en cualquier mensaje cifrado para obtener la
configuración de la máquina que los hizo y poder decodificar cualquier mensaje. La ideal
crucial para nosotros: encontrar patrones signficativos en algo que parece al azar mediante
un proceso de prueba y error.
3. Imitar al cerebro y otras computadoras
En el caso particular de Turing, la experiencia que le trajo el desarrollo de la Bombe, lo
motivaron a considerar factible con la tecnología del momento la crea- ción de una
máquina física que sea una implementación de su máquina universal. Como todas las
computadoras utilizadas durante la guerra, la Bombre era un dispositivo electro-
mecánico, pero a diferencia de ellas, la Bombre no tenía el objetivo de realizar cálculo
numérico sino el de simular ser otra máquina: la Enigma.
Una vez terminada la guerra, los esfuerzos de Turing se concentran, al menos
oficialmente, en la creación de una computadora digital para el gobierno británico, la
ACE por Automatic Computing Engine, nombre que denota la influencia de Babbage.
Hacia 1947, Turing comienza a pensar que el cerebro humano puede ser una clase
peculiar de computadora. En la Lecture to the London Mathematical Society,
conferencia que trató sobre los avances que se estaban realizando en el diseño de la
ACE, después de introducir algunos aspectos técnicos concernientes a la memoria de la
futura computadora, comenta sobre la importancia del reloj en su diseño, y en el mismo
lugar sugiere que el cerebro es una computadora digital, la única que según su
conocimiento computa sin necesidad de un reloj central:
Podríamos decir que el reloj nos permite introducir una discretización del tiempo, de
modo que, para algunos fines, el tiempo puede considerarse como una sucesión de
instantes en lugar de un flujo continuo. Una máquina digital debe tratar esencial- mente
con objetos discretos, y en el caso de la ACE esto es posible gracias al uso de un reloj.
Todas las demás máquinas de computación digital, excepto los cerebros humanos y de
otros animales, hasta donde sé, hacen lo mismo. (Turing 1947, p. 489)
Se ha dicho que las máquinas de computación sólo pueden realizar los procesos que se
les ordena. Esto es sin duda cierto en el sentido de que si hacen algo distinto de lo que
se les ha ordenado, entonces es que han cometido algún error. También es cierto que la
intención al construir estas máquinas en primera instancia es tratarlas como esclavas,
dándoles sólo trabajos que han sido pensados en detalle, trabajos tales que el usuario de
la máquina entiende completamente lo que en principio está sucediendo todo el tiempo.
Hasta ahora, las máquinas sólo se han utilizado de esta manera. Pero, ¿es necesario que
se utilicen siempre así? (Cooper & van Leeuwen, 2013, Turing 1947, p. 496)
. La referencia al usuario que hace Tu- ring en la cita es a quien la está programando,
quien, en principio, puede saber todo lo que la máquina está haciendo, al menos en el
nivel de abstracción en el que está trabajando. (La distinción entre “usuario” y
“programador” llegará más tarde, cuando la computadora se vuelva un producto
comercial para “no expertos”). La universalidad le permite aquí a Turing sugerir que no
hay razón alguna para creer que esta forma “esclava” de trabajo es la única que se puede
utilizar, aunque sea la más natural al principio, para conocer las capacidades de la
máquina. Bajo esta otra nueva forma de trabajo que considera, el programa incluye
instrucciones que le permiten cambiar su propia configuración (es de- cir, no sólo el
estado sino la misma programación, las reglas de transición entre estados). Bajo una
programación adecuada, una que, por ejemplo, permita obtener los resultados esperados
pero de una manera mucho más eficiente, al menos Turing estaría dispuesto a llamar a
ese comportamiento no previsto originalmente como inteligente. Haciendo lo que
probablemente sea la primera referencia en la literatura del machine learning o
aprendizaje automatizado.
El test de Turing
En 1950, Turing retoma su reflexión sobre la inteligencia artificial con algo bien puede
alinearse a su trabajo con la máquina Enigma: poniéndose un tanto en los zapatos de
alguien que debe determinar si está tratando con una máquina inteligente o no. Parte de
su motivación está en la dificultad de definir qué es lo que significa ser inteligente (o
actuar como si lo fuera). Para eso, sugiere que un camino posible es dar lo que
conocemos como una definición operacional a partir de un procedimiento de prueba:
una máquina es inteligente si supera una prueba determinada. La prueba, que hoy
solemos llamar “Test de Turing” es un experimento mental, describiendo una situación
que para entonces era hipotética pero hoy en día es casi cotidiana. En la prueba o juego
hay tres agentes claves: un “juez” que se lleva la tarea más difícil, un ser humano que
debe hacer de ser humano y una computadora que debe hacer de ser humano. El juez se
comunica con la persona y con la computadora por escrito (hoy sería un chat en una
pantalla) y si bien sabe que alguno de sus dos interlocutores no es un ser humano, no
sabe cuál no lo es, y su tarea es interactuar por medio del lenguaje natural para poder
detectar al imitador. Claro que la computadora imitadora sabe jugar muy bien su papel,
por lo que si le preguntaran algo que una computadora podría contestar muy bien y
rápidamente, debería responder con las mismas capacidades de un ser humano.
Luego de introducir el juego, Turing dedica unos cuantos párrafos a sostener que la
mejor manera de pensar “la máquina” en el juego es el de una computadora digital, que
puede operar sobre los símbolos escritos del lenguaje, siendo consciente de que las
máquinas de la época todavía no son lo suficientemente capaces de lograr una buena
performance por las limitaciones de memoria y capacidad de cómputo, no porque en
principio o teóricamente sean incapaces de llevar a cabo la tarea. Por eso, predecía lo
siguiente:
Creo que en un periodo de tiempo de 50 años será posible programar computadores, con
una capacidad de almacenamiento de alrededor de 10^9 , para que puedan jugar el juego
de la imitación de tal manera que el interrogador promedio no pueda obtener más de un
70 por ciento de posibilidades de hacer la identificación acertada luego de cinco
minutos de preguntas. Con respecto a la pregunta original, “¿pueden las máquinas
pensar?”, creo que no tiene mucho sentido como para merecer discusión. No obstante,
creo que cuando lleguemos a finales de siglo, el uso de las palabras y la opinión
educada general habrán cambiado tanto, que uno podrá ser capaz de hablar de máquinas
pensantes sin esperar ser contradicho.
Ese 10 seguido de 9 ceros es apenas un gigabyte. Hoy nos parece poco, pero para 1950
era realmente muchísimo. La ACE en la que estaba trabajando Turing iba a tener una
memoria enorme para la época: 25 kilobytes (unos 0.000025 gigabytes). La
computadora de la época más comparable con la ACE en términos de arquitectura era la
EDVAC, que tenía una memoria de alta capacidad con dos conjuntos de 64 líneas de
mercurio, cada una con una capacidad de 8 palabras. Eso serían aproximadamente 5.6
kilobytes de memoria RAM.
Para nuestra historia, lo más importante en el trabajo de Turing son las objeciones que
considera ante la posibilidad del comportamiento inteligente por parte de una máquina
digital. Van desde la argumentación teológica («Pensar es una función del alma
inmortal del hombre. Dios le ha otorgado un alma inmortal a cada hombre y mujer, pero
no a otros animales o máquinas. Por lo tanto, ningún animal o máquina puede pensar.»)
hasta las más matemáticas posibles (como la de los famosos teoremas de incompletitud
de Kurt Gödel). La que a mí juicio es la más curiosa y más importante para la discusión
contemporánea sobre inteligencia artificial es la “objeción de Lady Lovelace”:
La información más detallada de la Máquina Analítica de Babbage proviene de una de
las memorias de Lady Lovelace (1842). En ésta, ella sostiene que “la Máquina Analítica
no tiene pretensiones de originar nada. Puede hacer cualquier cosa que sepamos
ordenarle que haga” (su cursiva).
Es decir, puede hacer solo aquello que podamos darle precisas instrucciones de cómo
hacerlo porque tenemos una representación adecuada de la tarea y de cúales son los
pasos en los que se descompone. ¿Alguna similitud con la delimitación del campo de
inteligencia artificial de 1956 que vimos en el módulo anterior?
La respuesta de Turing consiste en mostrar que incluso una máquina que opera bajo
reglas puede sorprendernos al punto tal que la consideremos inteligente y creativa,
señalando cómo el mismo en innumerables ocasiones se vio sorprendido por algo que
una máquina que el diseñó e instruyó de cierta forma se comportó de manera inesperada
y no a causa de un error de funcionamiento. Turing termina el punto señalando algo
muy importante y que aquí retomaremos en el módulo 4 cuando hablemos
de conocimiento:
La idea de que las máquinas no producen sorpresas se debe, creo yo, a una falacia a la
cual se encuentran especialmente sujetos los filósofos y los matemáticos. Es el supuesto
de que tan pronto como se presente un hecho a una mente, todas las consecuencias de
ese hecho florecen en ella simultáneamente con el hecho. Es un supuesto muy útil en
muchas circunstancias, pero uno olvida demasiado fácilmente que es falso. Una
consecuencia natural de hacer esto es que uno asume que no hay mérito en la simple
búsqueda de consecuencias a partir de datos y principios generales.