Eurisko es un programa pionero de inteligencia artificial creado por el informático Douglas Lenat en la Universidad de Stanford y, más tarde, en la Microelectronics and Computer Technology Corporation (MCC) a finales de los años 1970 y principios de los 1980. Fue diseñado para descubrir y refinar heurísticas - reglas prácticas para la resolución de problemas - mediante el uso de una base de conocimiento de heurísticas generales y específicas de dominio, y aplicando un conjunto de meta-heurísticas que podían modificar, combinar o reemplazar heurísticas existentes según su rendimiento. Eurisko es notable por su arquitectura auto-modificable, que le permitía mejorar sus propias estrategias de resolución de problemas con el tiempo, y por su éxito en descubrir heurísticas novedosas en dominios como las matemáticas, el juego y el descubrimiento científico.
El desarrollo de Eurisko fue parte de un esfuerzo de investigación más amplio en inteligencia artificial durante los años 1970, que se centró en sistemas basados en conocimiento y búsqueda heurística. A diferencia de programas anteriores que dependían de algoritmos fijos, Eurisko buscaba automatizar el proceso de descubrimiento heurístico, convirtiéndolo en un precursor de los enfoques modernos de aprendizaje automático y meta-aprendizaje. Su nombre, derivado de la palabra griega para "yo descubro", reflejaba su objetivo de encontrar nuevas soluciones en lugar de simplemente aplicar las conocidas.
Orígenes y Desarrollo
Eurisko fue concebido por Douglas Lenat, quien previamente había desarrollado el programa AM (Matemático Automatizado) en 1976, que descubría conceptos y conjeturas matemáticas. AM usaba un conjunto de heurísticas para guiar su exploración, pero Lenat observó que su rendimiento se estancaba porque las heurísticas eran estáticas. Para abordar esto, diseñó Eurisko para tratar las heurísticas como objetos de primera clase que podían ser examinados, evaluados y modificados por otras heurísticas. El programa fue implementado en el lenguaje de programación Lisp, que facilitaba la manipulación simbólica y la auto-referencia.
Lenat desarrolló Eurisko mientras estaba en la Universidad de Stanford, y luego continuó el trabajo en MCC en Austin, Texas, a partir de 1984. El programa fue probado en varias tareas, incluyendo el descubrimiento de conceptos en teoría de números, la resolución de acertijos y el juego. La arquitectura de Eurisko consistía en una memoria global de heurísticas, cada una con una condición y una acción, y un conjunto de meta-heurísticas que controlaban la creación, eliminación y alteración de estas heurísticas. El programa usaba una forma de asignación de crédito para rastrear qué heurísticas contribuían a resultados exitosos, permitiéndole reforzar reglas efectivas y descartar las ineficaces.
Logros y Aplicaciones
Uno de los logros más famosos de Eurisko fue su desempeño en el juego Traveller TCS, un wargame de ciencia ficción. En 1981, Eurisko, con una guía humana mínima, diseñó una flota de naves que derrotó a flotas diseñadas por humanos en un torneo nacional, ganando el campeonato. El éxito del programa se atribuyó a su capacidad para descubrir heurísticas poco convencionales, como diseñar naves con configuraciones específicas de armas y armaduras que explotaban las reglas del juego de maneras que los jugadores humanos no habían considerado. Sin embargo, las reglas del juego fueron cambiadas más tarde para prevenir las estrategias de Eurisko, destacando la capacidad del programa para encontrar soluciones no obvias.
En matemáticas, Eurisko fue utilizado para explorar conceptos en teoría de conjuntos y teoría de números, redescubriendo resultados conocidos y ocasionalmente sugiriendo nuevas conjeturas. Por ejemplo, identificó relaciones entre ciertas estructuras matemáticas, aunque sus descubrimientos no siempre fueron innovadores. Eurisko también demostró potencial en el descubrimiento científico, como hipotetizar reglas para reacciones químicas, aunque estas aplicaciones estaban menos desarrolladas que su éxito en juegos.
Arquitectura y Métodos
La innovación central de Eurisko fue su sistema heurístico auto-modificable. El programa mantenía una base de conocimiento de heurísticas, cada una representada como una regla con una condición y una acción. Las meta-heurísticas, que eran en sí mismas heurísticas, podían aplicarse a otras heurísticas, permitiendo a Eurisko generar nuevas reglas combinando, especializando o generalizando las existentes. El programa usaba un mecanismo llamado "búsqueda heurística" para explorar el espacio de posibles heurísticas, guiado por una función de utilidad que estimaba el valor potencial de una regla basándose en su rendimiento pasado y su novedad.
Eurisko empleaba una forma de aprendizaje por refuerzo, ya que actualizaba la fuerza de las heurísticas según su éxito en lograr objetivos. También usaba una técnica similar a Curriculum Learning, aumentando gradualmente la complejidad de las tareas que intentaba. La capacidad del programa para modificar su propio código a nivel simbólico lo distinguía de enfoques estadísticos posteriores, que típicamente ajustan parámetros numéricos. El enfoque de Eurisko era más similar a la síntesis de programas y al descubrimiento automatizado, que siguen siendo áreas activas de investigación en Artificial intelligence.
Influencia y Legado
Eurisko influyó en investigaciones posteriores sobre meta-aprendizaje y sistemas de IA auto-mejorables. Sus ideas sobre el descubrimiento heurístico automatizado anticiparon técnicas modernas como la búsqueda de arquitectura de Neural network y la optimización de hiperparámetros en Machine learning. Sin embargo, el éxito de Eurisko fue limitado por restricciones computacionales y la dificultad de escalar su enfoque simbólico a problemas grandes del mundo real. Lenat luego cambió su enfoque al proyecto Cyc, que buscaba codificar conocimiento de sentido común, y Eurisko no fue desarrollado activamente después de mediados de los años 1980.
A pesar de su antigüedad, Eurisko sigue siendo un ejemplo notable de un sistema de IA que podía mejorarse a sí mismo, un objetivo que continúa impulsando la investigación en Generative AI y el desarrollo de Large language model. Su legado es evidente en el énfasis en el descubrimiento automatizado y los algoritmos adaptativos en la IA moderna, aunque los sistemas contemporáneos dependen de Deep learning y arquitecturas de Transformer (architecture) en lugar de heurísticas simbólicas. Eurisko es a menudo citado en discusiones sobre la historia de la IA y los desafíos de crear sistemas autónomos de resolución de problemas.
Comparación con la IA Moderna
Eurisko operaba con reglas simbólicas explícitas, mientras que los sistemas modernos de IA como Large language model usan patrones estadísticos aprendidos de vastos conjuntos de datos. La auto-modificación de Eurisko era deliberada e interpretable, mientras que los modelos modernos ajustan pesos mediante métodos como Stochastic Gradient Descent Variants y similares a Backpropagation, que son menos transparentes. Eurisko requería la especificación manual de heurísticas iniciales, mientras que los sistemas modernos aprenden de datos brutos. Sin embargo, ambos enfoques comparten el objetivo de mejorar el rendimiento a través de la experiencia, y el énfasis de Eurisko en descubrir nuevas estrategias resuena con la investigación actual en Reinforcement Learning from AI Feedback (RLAIF) y la ingeniería automatizada de prompts.
Las limitaciones de Eurisko - como su dependencia de conocimiento elaborado a mano y su dificultad para escalar - destacan las ventajas de los enfoques modernos de Neural network, que pueden manejar datos de alta dimensión y tareas complejas. No obstante, las contribuciones conceptuales de Eurisko a la auto-mejora y el descubrimiento heurístico siguen siendo relevantes, y su historia ofrece perspectivas sobre la evolución de la IA desde el razonamiento simbólico hasta Machine learning.
Referencias y Lecturas Adicionales
- Lenat, D. B. (1983). "Eurisko: A program that learns new heuristics and domain concepts." Artificial Intelligence, 21(1-2), 61-98.
- Lenat, D. B., & Brown, J. S. (1984). "Why AM and Eurisko appear to work." Artificial Intelligence, 23(3), 269-294.
- Buchanan, B. G., & Shortliffe, E. H. (1984). "Rule-Based Expert Systems." Addison-Wesley.
Estas obras proporcionan relatos detallados del diseño, los experimentos y los fundamentos teóricos de Eurisko, y sitúan el programa dentro del contexto más amplio de la investigación en Artificial intelligence en los años 1980.