Primer lenguaje de programación. Breve historia de la Inteligencia Artificial 6
En nuestra entrega anterior contamos como Simon, un teórico de las Ciencias Políticas junto a un físico llamado Newell y a un actuario devenido en programador de apellido Shaw comenzaron la construcción del primer programa de inteligencia artificial conocido como Logical Theorist. Esto requirió la invención del primer lenguaje de programación específico para la Inteligencia Artificial
Habíamos dejado esta historia con el trio junto a colaboradores y familia simulando el comportamiento de las diferentes partes del programa usando personas y fichas manuscritas.
Luego de varias simulaciones como estas se implementó el programa en una computadora real. La prueba fue un éxito ya que el software logró demostrar treinta y ocho teoremas de unos de los capítulos del libro Principia Matemática de Russell y Whitehead. Incluso en uno de los casos (Y sin tener instrucciones específicas de hacerlo) encontró una forma de probarlo mucho más «elegante» que la de los autores del libro.
El primer lenguaje de programación para Inteligencia Artificial
El que Simon y su equipo se tomaran tanto tiempo para escribir su programa es porque necesitaban de un lenguaje de programación específico que tuviera el suficiente poder y flexibilidad para sus propósitos. Ese lenguaje se llamó IPL (Por las siglas en inglés de Lenguaje de Procesamiento de Información) e introdujo por primera vez la técnica de procesamiento de listas para programación.
IPL se diferenciaba de los lenguajes de alto nivel de la época en que no requería que los símbolos se definieran de antemano y que tenía la capacidad de asociar y modificar estructuras de símbolos.
La llamada técnica de procesamiento de listas consiste en almacenar cada pieza de información junto con indicaciones sobre cómo encontrar piezas de información asociadas a ellas. Cambiando las indicaciones se pueden construir nuevas asociaciones.
El «Solucionador General de Problemas»
Para crear su próximo software Simon y Newell decidieron probar un enfoque diferente. En la época circulaba una investigación psicológica que invitaba a los participantes a explicar en voz alta la forma en la que resolvían problemas lógicos. El duo descubrió que esas formas eran completamente diferentes a las que utilizaba su software por lo que decidieron hacer su propia versión de la investigación y crear un software a partir de los métodos descriptos por los participantes. El programa (Conocido como GPS por las siglas en inglés para Solucionador General de Problemas) estaba codificado en base a una organización de la información y heurísticas independientes de las tareas que se les pidiera realizar.
Esta nueva metodología recibió el nombre de «Análisis de medios a fines» y consiste en comparar la situación actual con la ideal y tomar acciones que reduzcan la diferencia entre ellas para luego volver a hacer la evaluación hasta que la diferencia se reduzca a cero. Esta metodología permite al programa reaccionar ante modificaciones en las variables del problema. El programador indica el problema y una llamada tabla de diferencias en las que se indican los cursos de acción posibles y en qué circunstancias lo son.
GPS era capaz de descomponer un problema en subproblemas y aplicar el enfoque de retroceso, es decir que si un camino no funcionaba retrocedía y seguía por otro.
Durante los 11 años que estuvo en funcionamiento, GPS resolvió acertijos, realizó integración simbólica y rompió códigos secretos.
Mientras Simon y Newell se entretenían con esto, un estudiante llamado Robert K. Lindsay desarrolló un programa conocido como SAD SAM. El soft era capaz de extraer información de sentencias del tipo «Juan es el hijo de Pepa» y «Juan es el hermano de Alberto» y construir un árbol genealógico deduciendo que Alberto también es hijo de Pepa (No tengo ni idea de cómo se las arreglaría con las familias ensambladas del mundo actual.
Por supuesto, que el gigante de la industria informática de la época, IBM, no podía quedarse afuera de la investigación sobre inteligencia artificial, un campo que en plena guerra fría ya se revelaba cómo de enorme potencial para aplicaciones militares y, en el próximo artículo hablaremos de sus primeras contribuciones en el campo.