Eurisko is a pioneering artificial intelligence program created by computer scientist Douglas Lenat at Stanford University and later at Microelectronics and Computer Technology Corporation (MCC) in the late 1970s and early 1980s. It was designed to discover and refine heuristics - rules of thumb for problem-solving - by using a knowledge base of general and domain-specific heuristics, and by applying a set of meta-heuristics that could modify, combine, or replace existing heuristics based on their performance. Eurisko is notable for its self-modifying architecture, which allowed it to improve its own problem-solving strategies over time, and for its success in discovering novel heuristics in domains such as mathematics, game playing, and scientific discovery.
Eurisko's development was part of a broader research effort in artificial intelligence during the 1970s, which focused on knowledge-based systems and heuristic search. Unlike earlier programs that relied on fixed algorithms, Eurisko aimed to automate the process of heuristic discovery, making it a precursor to modern machine learning and meta-learning approaches. Its name, derived from the Greek word for "I discover," reflected its goal of finding new solutions rather than merely applying known ones.
Origins and Development
Eurisko was conceived by Douglas Lenat, who had previously developed the AM (Automated Mathematician) program in 1976, which discovered mathematical concepts and conjectures. AM used a set of heuristics to guide its exploration, but Lenat observed that its performance plateaued because the heuristics were static. To address this, he designed Eurisko to treat heuristics as first-class objects that could be examined, evaluated, and modified by other heuristics. The program was implemented in the Lisp programming language, which facilitated symbolic manipulation and self-reference.
Lenat developed Eurisko while at Stanford University, and later continued the work at MCC in Austin, Texas, starting in 1984. The program was tested on various tasks, including discovering concepts in number theory, solving puzzles, and playing games. Eurisko's architecture consisted of a global memory of heuristics, each with a condition and an action, and a set of meta-heuristics that controlled the creation, deletion, and alteration of these heuristics. The program used a form of credit assignment to track which heuristics contributed to successful outcomes, allowing it to reinforce effective rules and discard ineffective ones.
Achievements and Applications
One of Eurisko's most famous achievements was its performance in the game of Traveller TCS, a science-fiction wargame. In 1981, Eurisko, with minimal human guidance, designed a fleet of ships that defeated human-designed fleets in a national tournament, winning the championship. The program's success was attributed to its ability to discover unconventional heuristics, such as designing ships with specific weapon and armor configurations that exploited the game's rules in ways human players had not considered. However, the game's rules were later changed to prevent Eurisko's strategies, highlighting the program's ability to find non-obvious solutions.
In mathematics, Eurisko was used to explore concepts in set theory and number theory, rediscovering known results and occasionally suggesting new conjectures. For example, it identified relationships between certain mathematical structures, though its discoveries were not always groundbreaking. Eurisko also demonstrated potential in scientific discovery, such as hypothesizing rules for chemical reactions, though these applications were less developed than its game-playing success.
Architecture and Methods
Eurisko's core innovation was its self-modifying heuristic system. The program maintained a knowledge base of heuristics, each represented as a rule with a condition and an action. Meta-heuristics, which were themselves heuristics, could apply to other heuristics, allowing Eurisko to generate new rules by combining, specializing, or generalizing existing ones. The program used a mechanism called "heuristic search" to explore the space of possible heuristics, guided by a utility function that estimated the potential value of a rule based on its past performance and novelty.
Eurisko employed a form of reinforcement learning, as it updated the strength of heuristics based on their success in achieving goals. It also used a technique similar to Curriculum Learning, gradually increasing the complexity of tasks it attempted. The program's ability to modify its own code at the symbolic level distinguished it from later statistical approaches, which typically adjust numerical parameters. Eurisko's approach was more akin to program synthesis and automated discovery, which remain active areas of research in Artificial intelligence.
Influence and Legacy
Eurisko influenced subsequent research in meta-learning and self-improving AI systems. Its ideas about automated heuristic discovery foreshadowed modern techniques such as Neural network architecture search and Machine learning hyperparameter optimization. However, Eurisko's success was limited by computational constraints and the difficulty of scaling its symbolic approach to large, real-world problems. Lenat later shifted focus to the Cyc project, which aimed to encode common-sense knowledge, and Eurisko was not actively developed after the mid-1980s.
Despite its age, Eurisko remains a notable example of an AI system that could improve itself, a goal that continues to drive research in Generative AI and Large language model development. Its legacy is evident in the emphasis on automated discovery and adaptive algorithms in modern AI, though contemporary systems rely on Deep learning and Transformer (architecture) architectures rather than symbolic heuristics. Eurisko is often cited in discussions of the history of AI and the challenges of creating truly autonomous problem-solving systems.
Comparison with Modern AI
Eurisko operated on explicit symbolic rules, whereas modern AI systems like Large language models use statistical patterns learned from vast datasets. Eurisko's self-modification was deliberate and interpretable, while modern models adjust weights through Stochastic Gradient Descent Variants and Backpropagation-like methods, which are less transparent. Eurisko required manual specification of initial heuristics, whereas modern systems learn from raw data. However, both approaches share the goal of improving performance through experience, and Eurisko's emphasis on discovering new strategies resonates with current research in Reinforcement Learning from AI Feedback (RLAIF) and automated prompt engineering.
Eurisko's limitations - such as its reliance on hand-crafted knowledge and its difficulty in scaling - highlight the advantages of modern Neural network approaches, which can handle high-dimensional data and complex tasks. Nevertheless, Eurisko's conceptual contributions to self-improvement and heuristic discovery remain relevant, and its story offers insights into the evolution of AI from symbolic reasoning to Machine learning.
References and Further Reading
- 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.
These works provide detailed accounts of Eurisko's design, experiments, and theoretical foundations, and they situate the program within the broader context of Artificial intelligence research in the 1980s.