El camino del software. Breve historia de la Inteligencia Artificial 3
En los dos artículos anteriores vimos cómo el trabajo de Alan Turing, Claude Shannon y John von Neuman hicieron posible la creación de equipos capaces de albergar una inteligencia artificial. Sin embargo, todavía debían crearse programas capaces de hacer la tarea. Es por eso por lo que en este post contamos el camino del software desde las primeras simulaciones de conversación a los modelos de lenguaje actuales.
Alan Turing fue el primero en definir una forma de determinar el éxito de este tipo de programas. El problema es que la prueba de Turing solo demostraba habilidad en la programación, no que estuviéramos ante lo que se pudiera denominar una inteligencia artificial.
El camino del software
Mientras que la definición de Marvin Minsky exige que para ser considerada inteligencia artificial una máquina debe realizar la misma tarea que cuando la hace un ser humano requiere la capacidad de pensar, la prueba de Turing solo pide que un ser humano no sea capaz de determinar si su interlocutor lo es o no.
Aunque ELIZA, un programa informático escrito a mediados de los 60, no fue pensado para pasar la prueba de Turing, sentó las bases de una serie de programas que sí intentarían hacerlo. El programa asumía el papel de una siquiatra que hacía una serie de preguntas a un paciente sobre temas comunes como familia, amigos o estado de ánimo. De acuerdo con las respuestas continuaba siguiendo un renglón preestablecido.
Ni ELIZA (Y de hecho ningún otro software) hubiera sido posible sin los trabajos de un profesor de matemáticas autodidacta llamado George Boole que en el siglo XIX empezó a estudiar la traducción a términos matemáticos del proceso del razonamiento humano. Para esto analizó la forma de agrupar los objetos en clases y que pasaba cuando estas clases se combinaban con otras. Luego asignó símbolos para cada una de esas relaciones.
De la formalización a la retroalimentación
Si se cambian los objetos de un conjunto por afirmaciones y establecemos tres relaciones posibles entre ellas (Y, O y NO) ya tenemos una forma de clasificarlas en uno de dos grupos (Verdadero o Falso).
Sin embargo, los trabajos de Boole no servían para todo tipo de afirmaciones. Se necesitaba una forma de describir conceptos generales. Es decir que podrían ser verdaderas o falsas dependiendo de las circunstancias.
Para que se entienda. Los trabajos de Boole permiten trabajar con la afirmación
Diego es argentino y escribe en Linux Adictos
Pero no puede hacer nada con:
X es… y escribe en Z.
Para esto hubo que esperar hasta la década del 70 del siglo XIX cuando un profesor alemán de apellido Frege introdujo el concepto de predicados. Un predicado es una afirmación que puede describirse como verdadera o falsa dependiendo de las circunstancias.
Diego, argentino y Linux Adictos son entidades que no son ni verdaderas o falsas, pero dependiendo de cómo se combinen en un predicado harán que estelo sea.
Freje agregó dos expresiones con sus correspondientes símbolos:
Para todo (Indica que todos los valores de una variable se cumple una condición)
Existe un… tal que (Implica que al menos hay un elemento que cumplirá una condición.
Teoría de la retroalimentación
El siguiente gran aporte para la creación de Inteligencia Artificial no fue matemático, vino de la Biología. Norbert Wiener, fundador de la Cibernética se interesaba por los puntos comunes entre la Ingeniería y la Biología. Fue ese interés lo que lo llevó a analizar la forma en que los animales de sangre cálida mantenían su temperatura constante a pesar del cambio de la temperatura ambiente. Wiener postuló que en este y otros casos actuaban mecanismos de retroalimentación. Es decir que al recibir información se producía una respuesta para adaptarse a la misma.
Yendo más lejos, llegó a afirmar que los comportamientos inteligentes no son otra cosa que el resultado de mecanismos de retroalimentación. En otras palabras, podemos concluir que la inteligencia (natural o artificial) consiste en recopilar información, procesarla, actuar de acuerdo con el resultado y repetir el proceso.