首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结构化、分解和原子表示?

结构化、分解和原子表示?
EN

Stack Overflow用户
提问于 2011-12-22 04:52:37
回答 2查看 8K关注 0票数 9

我目前正在阅读“人工智能:一种现代方法”。尽管术语分解、结构化和原子表示令人困惑,但它们到底是什么意思?

与编程有关...

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-22 06:09:05

我对Russell和Norvig画的线并不兴奋,但是:一般来说,当你使用人工智能技术来解决问题时,你会有一个编程的情况模型。原子/分解/结构化是这些模型具有多少“内部结构”的定性度量,从最少到最多。

原子模型没有内部结构;状态要么与您正在寻找的匹配,要么与您正在寻找的不匹配。例如,在滑动瓷砖拼图中,你要么有正确的瓷砖对齐,要么没有。

分解的模型具有更多的内部结构,尽管具体是什么将取决于问题。通常,您正在查看感兴趣的变量或性能指标;在滑动拼图中,这可能是一个简单的启发式方法,如“瓦片位置不正确的数量”或“manhatten距离的总和”。

结构化模型还有更多;同样,确切地说,是什么取决于问题,但它们通常是模型组件与自身的关系,或者模型组件与环境组件的关系。

这很容易,特别是在看像滑动瓷砖这样的非常简单的问题时,不知不觉地自己做了所有艰难的智能工作,一眼就忘记了你的模型没有你所有的洞察力。例如,如果你要编写一个程序来对滑动拼图进行图形搜索技术,你可能会制作一些以拼图状态和动作作为输入的引擎,并从中生成一个新的拼图状态。拼图状态仍然是原子的,但您作为程序员正在使用一个更详细的模型来将这些输入和输出链接在一起。

票数 14
EN

Stack Overflow用户

发布于 2017-06-20 02:56:55

我喜欢Novak给出的解释。我的两个观点是澄清factoredstructured之间的区别。以下是从定义中摘录:

  • 是一种原子表示,其中每个状态都被视为一个黑盒。
  • 分解表示是通过一组特征定义状态的表示。
  • 结构化表示是以对象和它们之间的关系的形式表示状态的表示。这种关于关系的知识称为事实。

示例:

代码语言:javascript
复制
atomicState == goal: Y/N  // Is goal reached?

这是我们唯一可以问黑匣子的问题。

代码语言:javascript
复制
factoredState{18} == goal{42}: N  // Is goal reached?
diff( goal{42}, factoredState{18}) = 24 // How much is difference?
// some other questions. the more features => more type of questions

最简单的分解状态必须至少有一个特征(某种类型),使我们能够提出更多的问题。通常,它定义状态之间的数量差异。这个例子有一个整数类型的特性。

代码语言:javascript
复制
11grade@schoolA{John(Math=A-), Marry(Music=A+), Job1(doMath)..} == goal{50% ready for jobs}

这里的关键-结构化表示,允许在搜索中进行更高级别的形式逻辑推理。有关介绍信息,请参阅First-Order Logic @berkley

这个主题很容易让实践者(特别是初学者)感到困惑,但对于比较不同的目标搜索算法却很有意义。这种“世界”状态表示分类在逻辑上将算法分成不同的类别。在学术研究中划清界限,并在学术推理时进行比较,这是非常有用的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8596179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档