您的位置:首页 > 大数据 > 人工智能

人工智能一种现代的方法 --第3章 通过搜索进行问题求解

2017-12-20 16:52 656 查看
    第3章  通过搜索进行问题求解

参考网址: https://github.com/cy-hello/AI_A_Modern_Approach_3rdEd 
一 问题求解:基于目标的Agent中的一种

1 解决这些问题有一些通用的搜索算法,无信息的(除了问题本身,没有任何其他信息),有信息的

(利用给定的知识引导,能够更有效的找到解)

2 为达到目标,寻找这样的行动序列的过程称为搜索,

  搜索算法输入的是问题,输出的是解,解被找到,建议的行动会付出实施

  

3 良定义的问题和解

  一个问题可以用5个组成部分形式描述

  1.Agent的初始状态

  2.描述Agent的可能的行动

  3.对每个行动的描述

  4.目标测试

  5.路径耗散

  
4 问题形式化:我们考虑最直接的合理的模型,不去考虑更加琐碎的问题,对问题进行抽象

二 问题实例

1 吸尘器问题

状态    :由Agent位置和灰尘位置确定,世界状态有n*2的n次方,有n个位置,而且是有或没有灰尘

初始行动:任何状态都能被设计成初始状态

行动    :行动有3个:左、右、吸

转移模型:最左边不能再左,最右边不能再右

目标测试:检测所有位置是否干净

路径消耗:路径耗散值为1

2 Web站点和车载系统导航

状态     :地点(如机场)和当前时间

初始状态 :用户在咨询时确定

行动     :乘坐一航班任意舱位从现有地点起飞

转移模型 :飞行目的地当做当前地点和飞行抵达时间作为当前时间

目标测试 :是否到达了用户描述的目的地

路径耗散 :金钱、时间、舱位等级等等

三 通过搜索求解

1 一个解是一个行动,搜索算法考虑各种可能的行动序列

  n.STATE    : 对应状态空间中的状态

  n.PARENT   : 搜索树种产生该结点的结点

  n.ACTION   : 父结点生成该结点时所采取的行动

  n.PATH-COST: 从初始状态到结点的路径消耗

2 问题求解算法的性能

  完备性:是否保证能找到解

  最优性:是否能找到最优解

  时间复杂度:找到解需要多少时间

  空间复杂度:搜索中需要多少内存

四 无信息搜索策略

1 宽度优先搜索        :是一个简单的搜索方法,先搜根节点,然后搜所有后继,一直搜到最后

2 一致代价搜索        :每一步搜索都是最优的,先搜最浅的结点

3 深度优先搜索        :先搜最深的结点

4 深度受限搜索        :可以设置深度为I时就停止搜索,防止无限的深度搜索

5 迭代加深深度优先搜索:深度依次增加,当深度最浅时搜到的结点,就是目标结点

6 双向搜索            :从初始状态向前搜索,同时从另一个目标向后搜索,中间某结点相遇,停止搜索

其中有限的状态空间的深度优先搜索是完备的

五 有信息(启发式)搜索

1 贪婪最佳优先搜索:距离目标最近,最快找到解,f(n)=h(n)

2 A*搜索(缩小总评估代价):结合了到达此结点花费的代价 ,f(n)=g(n)+h(n)

3 存储受限的启发式搜索:RBFS和MA*

4 学习搜索:依靠学习算法

六 启发式函数

主要是从八数码问题,讨论启发函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐