Eurisko是一个开创性的人工智能程序,由计算机科学家Douglas Lenat在斯坦福大学以及后来的微电子与计算机技术公司(MCC)于20世纪70年代末和80年代初开发。它旨在通过使用包含通用和领域特定启发式规则的知识库,并应用一组元启发式规则,根据现有启发式规则的表现对其进行修改、组合或替换,从而发现和改进启发式规则(即解决问题的经验法则)。Eurisko以其自我修改架构而著称,该架构使其能够随着时间的推移改进自身的问题解决策略,并因其在数学、游戏和科学发现等领域发现新颖启发式规则方面的成功而闻名。
Eurisko的开发是20世纪70年代人工智能更广泛研究努力的一部分,该研究侧重于基于知识的系统和启发式搜索。与依赖固定算法的早期程序不同,Eurisko旨在自动化启发式发现的过程,使其成为现代机器学习和元学习方法的先驱。其名称源自希腊语“我发现了”,反映了其目标是寻找新解决方案,而不仅仅是应用已知方案。
起源与发展
Eurisko由Douglas Lenat构思,他此前在1976年开发了AM(自动数学家)程序,该程序发现了数学概念和猜想。AM使用一组启发式规则来指导其探索,但Lenat观察到,由于启发式规则是静态的,其性能达到了瓶颈。为了解决这个问题,他设计了Eurisko,将启发式规则视为一等对象,可以被其他启发式规则检查、评估和修改。该程序用Lisp编程语言实现,这有助于符号操作和自我引用。
Lenat在斯坦福大学开发了Eurisko,后来于1984年在德克萨斯州奥斯汀的MCC继续这项工作。该程序在各种任务上进行了测试,包括发现数论概念、解谜和玩游戏。Eurisko的架构包括一个全局启发式规则内存,每条规则包含条件和动作,以及一组控制这些规则创建、删除和修改的元启发式规则。该程序使用一种信用分配形式来跟踪哪些启发式规则对成功结果有贡献,从而能够强化有效规则并丢弃无效规则。
成就与应用
Eurisko最著名的成就之一是在科幻战争游戏《Traveller TCS》中的表现。1981年,Eurisko在极少人工指导的情况下设计了一支舰队,在全国锦标赛中击败了人类设计的舰队,赢得了冠军。该程序的成功归因于其发现非常规启发式规则的能力,例如设计具有特定武器和装甲配置的舰船,以利用游戏规则中人类玩家未曾考虑的方式。然而,游戏规则后来被更改以防止Eurisko的策略,这突显了该程序找到非显而易见解决方案的能力。
在数学领域,Eurisko被用于探索集合论和数论中的概念,重新发现了已知结果,并偶尔提出新猜想。例如,它识别了某些数学结构之间的关系,尽管其发现并不总是开创性的。Eurisko还展示了在科学发现方面的潜力,例如假设化学反应规则,尽管这些应用不如其在游戏中的成功那么成熟。
架构与方法
Eurisko的核心创新是其自我修改的启发式系统。该程序维护一个启发式规则知识库,每条规则表示为具有条件和动作的规则。元启发式规则本身也是启发式规则,可以应用于其他启发式规则,从而使Eurisko能够通过组合、特化或泛化现有规则来生成新规则。该程序使用一种称为“启发式搜索”的机制来探索可能的启发式规则空间,并由一个效用函数指导,该函数根据规则过去的表现和新颖性估计其潜在价值。
Eurisko采用了一种强化学习形式,因为它根据启发式规则在实现目标方面的成功来更新其强度。它还使用了一种类似于Curriculum Learning的技术,逐渐增加其尝试任务的复杂性。该程序在符号层面修改自身代码的能力使其区别于后来的统计方法,后者通常调整数值参数。Eurisko的方法更类似于程序合成和自动发现,这些仍然是Artificial intelligence中的活跃研究领域。
影响与遗产
Eurisko影响了后续在元学习和自我改进AI系统方面的研究。其关于自动启发式发现的思想预示了现代技术,如Neural network架构搜索和Machine learning超参数优化。然而,Eurisko的成功受到计算限制及其符号方法难以扩展到大型现实世界问题的制约。Lenat后来将重点转向Cyc项目,该项目旨在编码常识知识,而Eurisko在20世纪80年代中期后未再积极开发。
尽管年代久远,Eurisko仍然是能够自我改进的AI系统的一个显著例子,这一目标继续推动着Generative AI和Large language model开发的研究。其遗产在现代AI中对自动发现和自适应算法的重视中显而易见,尽管当代系统依赖于Deep learning和Transformer (architecture)架构,而非符号启发式规则。Eurisko在讨论AI历史和创建真正自主问题解决系统的挑战时经常被引用。
与现代AI的比较
Eurisko基于显式符号规则运行,而现代AI系统如Large language model使用从海量数据集中学习的统计模式。Eurisko的自我修改是有意且可解释的,而现代模型通过Stochastic Gradient Descent Variants和类似Backpropagation的方法调整权重,这些方法不太透明。Eurisko需要手动指定初始启发式规则,而现代系统从原始数据中学习。然而,这两种方法都共享通过经验提高性能的目标,Eurisko对发现新策略的强调与当前在Reinforcement Learning from AI Feedback (RLAIF)和自动提示工程方面的研究产生共鸣。
Eurisko的局限性,,例如其对手工知识依赖和扩展困难,,突显了现代Neural network方法的优势,这些方法可以处理高维数据和复杂任务。尽管如此,Eurisko在自我改进和启发式发现方面的概念贡献仍然相关,其故事为理解AI从符号推理到Machine learning的演变提供了见解。
参考文献与进一步阅读
- 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.
这些著作详细描述了Eurisko的设计、实验和理论基础,并将该程序置于20世纪80年代Artificial intelligence研究的更广泛背景中。