如何设计Eurisko

问题描述 投票:0回答:3

程序 Eurisko 是由 Douglas Lenat 在 70 年代末和 80 年代开发的。据称,它擅长学习一般模式和启发法,并提高自身的性能。当然,莱纳特从未发布过源代码,并且发布了很少关于该程序的确切内部工作原理的信息。那么,除了官方解释之外,如何设计像 Eurisko 这样的程序呢?当今可用的哪些开源技术可以使实施更加实用?

artificial-intelligence machine-learning
3个回答
3
投票

实际上,Lenat 在 Eurisko 上发表了大量文章(20 年前我对此非常感兴趣)。 IIRC 正确,他在人工智能文献中发表了多篇论文(这里有一篇关键论文:“为什么 Eurisko 似乎有效”http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.89。第1269章 Eurisko 基于他的 AM(“数学家”)博士论文,您可以通过斯坦福大学完成该论文。

我会先看看那些:-}

我不了解“开源”,但我当然会考虑使用 LISP(Lenat 做了)或 Prolog(因为它具有良好的符号操作支持),而 Eurisko 是关于符号计算的。


2
投票

因此,一篇论文

https://pdfs.semanticscholar.org/4cc4/a5e1591a5a4e81f6ad52e05833b3e750f56e.pdf

描述了 RLL,可以说是一种用于编写发现程序的早期 DSL,充当了编写 Eurisko 的平台。我想我记得读到过 Lenat 让 Ken Haase 可以看到部分 Eurisko 代码

http://www.kenhaase.com/aboutkh.html

他正在致力于对 Eurisko 进行合理的重建。我的观点是,如果仔细遵循所有有关 Eurisko 的文档,就有可能重建 Eurisko,尽管可能有更新的见解可以带来改进。

总的来说,我认为关键的见解是与复杂自适应系统相关的:反馈、衰减和过程。 Eurisko 和 AM 一样,使用议程机制来组织代理行为,并使用反馈来调整议程项目的优先级,并进行衰减(Eurisko)。

Eurisko 有 4 个议程,每个议程在不同的空间中进行,但最重要的是共享相同的知识库。因此,一个空间给出的反馈可能会将另一个空间中的议程项目推到“无聊”阈值之上,从而使该议程恢复生机。

下面是 AM 中首次出现的循环: 找点事做 做吧 研究一下你刚刚做了什么 循环

对我来说,这些关键点似乎很深刻,并让我们得以一睹超越 Eurisko 的魅力。


0
投票

    https://github.com/white-flame/am/
  • https://github.com/white-flame/eurisko
  • 请参阅
https://white-flame.com/am-eurisko.html

了解背景信息。

© www.soinside.com 2019 - 2024. All rights reserved.