搜索和规划之间有什么区别

时间:2012-04-23 14:25:30

标签: artificial-intelligence planning

在人工智能方面,我现在正在阅读有关规划的内容。但作为人工智能的天真,我无法理解他们坚持“计划和搜索之间的差异”。

我有像C / C ++这样的过程编程知识,我可以根据数据结构进行搜索。

  

我无法理解Buy的例子(ISBN0123654789)和   有(ISBN0123456789)在'人工智能:现代   方法 - 他们给出的Stuart Russell,搜索十位数的ISBN   数字将需要100亿次行动。

我的问题是如何搜索一本书需要100亿次行动,但计划却没有。

5 个答案:

答案 0 :(得分:12)

拉塞尔和诺维格并不是说搜索和计划是不同的事情。事实上,在我认为你正在考虑的部分(在蓝色版的第10章中),他们恰恰相反:规划问题可以简化为搜索问题。

但是,表示为搜索的计划可能会有一个巨大的搜索空间。在本书示例中,有10 ^ 10种不同的可能操作,使用不知情的搜索技术计算机不“知道”购买(x)结果有( x)尽管这对于人类来说是微不足道的。因此,即使是单一行动计划的搜索空间也是巨大的。这听起来很愚蠢,但它是无知搜索的定义。

因此,实际工作的规划算法需要一些算法和/或启发式的聪明才能,本章的其余部分将继续描述。在本书示例中,改进的搜索原因从has(x)的目标向后,使用buy(x)vs have(x)connection 执行一些列出的一阶逻辑模式并导出正确的行动。

作为旁注,我非常喜欢罗素和诺维格的书,以及他们的一般工作。但我发现计划章节有点弱。 Lozano-Perez教授和Kaelbling教授在课堂上使用上一版本的在线课程进行了讲义。他们的笔记非常详细,有例子。当我研究这篇材料时,我发现它们是一个很好的补充:

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-825-techniques-in-artificial-intelligence-sma-5504-fall-2002/index.htm

答案 1 :(得分:4)

我不熟悉您引用的具体示例,但无论如何我都会尝试。

搜索是一种几乎完全通用的结构:有一个可能性的空间,你想找到一个,但你必须通过检查(不一定是正确的)子集来找到它。关于特定搜索问题(即什么是空间,如何允许查询等)以及特定搜索算法(最重要的是,如何组织您查询的空间的哪些部分)订购)。几乎任何问题都可以作为一个搜索问题提出来(可能性的空间是什么,你怎么知道哪个是理想的问题),这就是为什么它在人工智能中占据如此显着位置的原因。

规划是一种特殊的搜索:它是通过行动序列空间(或更一般地说,部分订单)搜索满足某些标准的计划。这并不意味着它必须作为搜索实现(正如一些可以通过搜索解决的问题可以用其他方法解决),但问题可以这样描述。

说通过其ISBN找到一本书将花费100亿行动建议检查ISBN是其中一项行动(因为有许多可能的ISBN),但不知何故规划(即找到适当的行动序列)将导致更少动作(因为你不需要检查所有的ISBN?)。但是如果没有问题的细节,我不能说这个说法有多合理。

答案 2 :(得分:2)

计划可以使用回归搜索,即从目标状态开始,形成计划以达到初始状态。

对于你的书籍例子,如果你从PRECONDITION开始:买(B),ISBN(B)那么你可能有百万可能要注意(因为有一百万个ISBN号码),但你想要& #34;计划" 如何达到目标状态而不只是"搜索"

Planning为您提供达到目标状态所需的一系列操作。搜索不关心"操作"

资料来源:Udacity AI课程和AIMA:Russel,Norvig

答案 3 :(得分:1)

搜索和计划之间的主要区别在于 状态 在搜索中,状态表示为单个实体(可能相当 复杂对象,但搜索算法未使用其内部结构) 在规划中,州具有结构化的表示形式(属性集合) 规划算法使用的

答案 4 :(得分:0)

简而言之,不同之处在于:

  • 搜索是并行进行的,而且是一项非常有名的操作

  • 状态的表示:

    • 搜索状态表示为单个实体,不使用其内部结构
    • 规划状态具有规划算法使用的结构化表示
  • 规划可以利用回归搜索

    • 即从目标开始,从初始状态形成计划