先进人工智能课程复习笔记Ⅴ--问题求解与搜索策略

本文深入探讨了人工智能中问题求解的关键——搜索策略,包括盲目搜索的广度优先和深度优先,以及启发式搜索如A*算法。文章强调了搜索的完备性和效率,介绍了与或树的搜索策略,并特别讨论了在博弈树中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题求解与搜索策略

  1. 状态空间的搜索策略

  2. 与或树的搜索策略

  3. 搜索的完备性和策略


人工智能的核心问题是【问题求解】,问题求解关键在于【问题表示】【解的搜索】

状态空间表示法:算符和状态(S,F,G)

求解过程转化为从初始节点到目标节点的路径问题:

  • 必须要记录走过的点。CLOSED
  • 必须要记录还可以走的点。OPEN
  • 每一个子结点结构中必须要有指向父节点的指针

表中包含的项包括:状态节点和指针

状态空间搜索策略{ 盲目搜索:广度优先搜索、深度优先搜索启发式搜索:局部择优搜索、全局择优搜索、A∗算法状态空间搜索策略\begin{cases}盲目搜索:广度优先搜索、深度优先搜索\\启发式搜索:局部择优搜索、全局择优搜索、A*算法\end{cases}{ 广A

  • OPEN表:存放没走过的点;不同的搜索策略,结点的排列顺序是不一样的。
  • CLOSED表:存放已经走过的点(已经扩展过的点)
  • CLOSE表:存放将要扩展的点。(用可适用的算符对节点操作,生成一组子结点)

【搜索失败】:一直找不到目标节点;OPEN表中不再有可扩展的节点(叶子节点)。

【一般的搜索策略】:

  1. 把初始节点S0放入OPEN表,并建立目前只包含S0的图,记为G;
  2. 检查OPEN表是否为空,若为空则问题无解,退出;
  3. 把OPEN表的第1个节点取出放入CLOSE表,并计该节点为n;
  4. 考察节点n是否为目标节点。若是,则求得了问题的解,退出;否则执行5
  5. 考察节点n是否可以被扩展,扩展节点n,生成一组子节点。把其中不是节点n先辈的那些子节点,记做集合M,并把这些子节点作为节点n的子节点加入G中;
  6. 对于那些未曾在G中出现过的M成员设置–个指向父节点(即节点n)的指针,并把它们放入OPEN表(不在OPEN表 );
  7. 按某种搜索策略对OPEN表中的节点进行排序;
  8. 转第2步。

【说明】:

  • 对于一个新生成的节点A父节点指针的问题,A有可能第一次生成的新节点,也有可能是之前执行过的节点生成过的,再由当前节点重新生成,那么A的父节点一般由原始节点到该节点的代价来决定,处于代价小的路途上的那个节点就作为该节点的父节点。
  • 在搜索过程中,一旦某个被考察的节点是目标节点就得到了一个解。该解是由从初始节点到该目标节点路径上的算符构成。
  • 如果在搜索中一直找不到目标节点,而且OPEN表中不再有可供扩展的节点,则搜索失败。
  • 通过搜索得到的图称为搜索图,搜索图是状态空间图的一个子集。由搜索图中的所有节点及反向指针所构成的集合是一棵树,称为搜索树。根据搜索树可给出问题的解。

盲目搜索–不借用问题本身的经验信息,只用固定的搜索策略进行搜索

广度优先搜索

【基本思想】

  • 从初始节点S0开始,逐层地对节点进行扩展并考察它是否为目标节点。在第n层的节点没有全部扩展并考察之前,不对第n+1层的节点进行扩展。
    OPEN表中节点总是按进入的先后顺序排列,先进入的节点排在前面,后进入的排在后面。
  • 扩展结点n(S0),将n的所有子节点放入OPEN表的尾部,为每一个子节点都配置指向父节点的指针。OPEN表相当与一个队列,按照深度优先遍历的顺序排列。
  • 如果生成一个新的节点在OPEN表中已经出现过,就立即放弃这个点。

【优点】只要问题有解,用BFS总可以得到解,并且是路径最短的解
【缺点】盲目性很大,产生的无用节点很多,搜索效率很低

深度优先搜索

【基本思想】深度优先搜索与广度优先搜索的唯一区别是:广度优先搜索是将节点n的子节点放入到OPEN表的尾部,而深度优先搜索是把节点n的子节点放入到OPEN表的首部

【问题】搜索一旦进入某一个分支,就会一直顺着这条分支找下去,万一该分支是无穷分支,那么就始终找不到解了。所以即使有解,也可能找不到解。

有界深度优先搜索

【基本思想】在深度优先搜索的基础上,引入深度的界限(dmd_md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值