自动数学家(AM)是人工智能领域最早取得成功的发现系统之一。它由道格拉斯·莱纳特于1977年创建,旨在通过操作简短的Lisp程序来自主探索和生成数学概念。AM于1977年获得IJCAI计算机与思想奖,以表彰其在人工智能和自动推理领域的重要性。
AM通过生成和修改简短的Lisp程序来运作,这些程序随后被解释为定义各种数学概念。例如,一个测试两个列表长度是否相等的程序被视为表示数值相等概念,而一个生成列表长度等于另外两个列表长度乘积的程序则被解释为表示乘法概念。该系统采用精心设计的启发式规则来选择要扩展和修改的程序,这些规则基于工作数学家解决问题时的经验。
架构与控制流
莱纳特将AM描述为由数百个称为“概念”的数据结构、数百条“启发式规则”以及一个简单的控制流组成。他说道:“AM反复从议程中选择顶部任务并尝试执行它。这就是整个控制结构!”系统维护一个任务议程,每个任务都关联一个优先级,并迭代地选择最高优先级的任务来执行。这种方法使AM能够将其计算资源集中在最有希望的探索方向上。
启发式规则指导系统决定扩展、合并或修改哪些概念。它们编码了关于数学实践的领域知识,例如识别概念之间的类比或发现有趣的模式。基于议程的控制结构是后来机器学习和自动推理中规划与搜索技术的先驱。
发现声明与争议
莱纳特声称AM重新发现了哥德巴赫猜想和算术基本定理。然而,后来的批评者指责莱纳特过度解读了AM的输出。启发式规则并不总是表示为独立的数据结构;有些必须与控制流逻辑交织在一起。一些规则的前置条件依赖于历史记录,或者无法在显式规则的框架内表示。
已发布的规则版本通常涉及未进一步定义的模糊术语,例如“如果两个表达式在结构上相似,……”(规则218)或“……用某个其他(非常相似的)值替换获得的值……”(规则129)。另一个信息来源是用户,通过规则2:“如果用户最近提到X,则提高涉及X的任何任务的优先级。”这表明许多真正的发现工作可能隐藏在未解释的程序或用户交互中。
在论文《为什么AM和Eurisko看似有效》中,莱纳特承认,任何生成足够多简短Lisp程序的系统都会生成那些可被外部观察者解释为代表同等复杂数学概念的程序。然而,他认为这一特性本身很有趣,,并且一个很有前景的进一步研究方向是寻找其他语言,在这些语言中,短的随机字符串可能是有用的。
后继者:Eurisko
这一直觉是AM后继者Eurisko的基础,它试图将数学概念的搜索推广到有用启发式的搜索。Eurisko扩展了AM的方法,不仅发现数学概念,还发现并改进启发式本身,使系统能够随时间改进其自身的搜索策略。这代表了向元学习和自我改进AI系统迈出的早期一步。
遗产与影响
AM的遗产超出了其直接成果。它影响了后续的自动发现工作,包括HR和Graffiti等相关的数学发现程序。AM提出的关于创造力本质、启发式作用以及AI输出解释的问题,在现代生成式AI研究中仍然具有相关性。AM将知识表示为可执行程序的方法,预示了后来神经网络和程序合成的发展,在这些领域中,模型生成代码或数学表达式。
尽管存在争议,AM证明了计算机能够以令其创造者惊讶的方式探索数学空间,并强调了在评估AI发现时仔细解释的重要性。该系统对启发式和基于议程控制的关注影响了后来在自动规划与搜索方面的工作,而其强调用户交互的特点也预示了交互式机器学习方法。
参见
- 自动定理证明
- 符号数学
- 实验数学