人工智能—— Chapter02 Search

问题导向:

  • 我们想采取一些行动来改变世界的状态(但由行为引起的变化完全是可以预料到的)
  • 我们试着采取一系列的行动引导我们达到目标状态(可能是最小化行动的次数,也可能是最小化行动的总成本)
  • 不需要在现实生活中执行行动的同时找到最小解决方案(让所有事都在意料之中)

重要知识点:
Q1:A search problem consists of?

  • A state space S (状态空间——所有节点)
  • An initial state s0(初始状态)
  • Actions A(s) in each state(每个状态下的行动)
  • Transition model Result(s,a)(移动模型——移动方式)
  • A goal test G(s)(目标状态)
  • Action cost c(s,a,s’)(行动损失)
    +1 per step; -10 food; -500 win; +500 die; -200 eat ghost

EXAMPLE——Traveling in Romania
分析Search问题:

Uninformed Search Methods——盲目搜索

Q2:Uninformed Search Methods and specify the difference?

  • Depth-First Search
  • Breadth-First Search
  • Uniform-Cost Search

DFS expands a deepest node first.
BFS expands a shallowest node first.
UCS expands the lowest g(n) or cost from root to n.

Q3:What is the difference between state space graphs and search trees?

  • Each node in the search tree is an entire PATH in the state space graph.(搜索树中的每个节点都是状态空间图中的一个完整的PATH)
  • In a state space graph, each state occurs only once.(在状态空间图中,每个状态只出现一次)
  • In a state space graph,the goal test is a set of goal nodes (maybe only one).(在状态空间图中,目标测试是一组目标节点(可能只有一个)
  • We construct the tree on demand – and we construct as little as possible.(我们按需构造树,并且尽可能少地构造)

Informed Search——启发式搜索

搜索过程中利用与问题有关的经验信息,引入估计函数(evaluation function)来估计节点位于解路径上的“希望”,函数值越小“希望”越大。

启发函数
用来描述经验信息;描述从当前这个节点到目标节点的最优路径代价的估计。一般用h(n)来表示。

  • A算法:
    f(x) = g(x) +h(x)

g(x):从起始状态到当前状态x的代价
h(x):从当前状态x到目标状态的估计代价(启发函数) 是代入实际问题的真实代价,是实际值

  • A*算法——最有效的直接搜索算法:
    f *(n) =g *(n) + h * (n)

f*(n):从初始状态经由状态n到目标状态的最小代价估计
g*(x):从起始状态到当前状态x的代价
h*(n) :从状态n到目标状态的路径的最小估计代价 是对剩余距离的估算值,是一种理想值

A*算法是由A算法约束得到的,在A算法的基础上添加一定的条件:g(x)必须大于0,其次h(x)的要求是必须是不大于x到目标的实际代价

h*(n)是理论上的最短路径,h(n)是实际A*算法拟合的函数,是实际值

0 <= h(n) <= h*(n)
当实际值h(n) 无限逼近理论值h * (n) ,取到h * (n)的下界,即 h(n) = h * (n)时,此时搜索效率最高,取到最优解

  • 表示有修饰,最优路径的修饰,则是理论值

例如:对于几何路网来说,可以取两节点间曼哈顿距离做为距离估计。

【注意】:A算法并不能保证一定找到最优解,然后A*算法可以保证一定找到最优解。
【实际应用举例】

八数码问题

情形1、If heuristic is the number of tiles misplaced
如果启发式是放错瓷砖的数量(表示所有瓷砖都可以任意放置)
h(start)= 7
【快速解题方法】:
解析:在所有的8块方块中,1的位置前后不变,所以只有7块元素位置不同,所以答案为7
思路总结:在所有瓷砖中,放错的瓷砖(起始状态与终状态摆放不一致的瓷砖)的个数,即为最终答案==》有几个方块目标状态不同,结果就是几个

情形2、 If heuristic is that any tile could slide any direction at any time
如果启发式是任何贴图可以在任何时间向任何方向滑动
h(start)=16
【快速解题方法】
解析:h(start)=3+0+2+3+2+2+2+2=16
思路总结:初始状态中每块瓷砖到达目标位置需移动的步数,累加,sum即为最终答案

Q4、What is an admissible heuristic h(n)?
什么是可接受的启发式搜索?
A heuridtic h is admissible if : 0<=h(n)<=h*(n),where h*(n) is the true cost to a nearest goal.

Q5、A * tree search is optimal when heuristic is admissible and A * graph search is optimal when heuristic is consistent.

人工智能——Search搜索问题相关推荐

  1. 计算机搜索功能关闭,提高电脑性能关闭Windows Search搜索功能设置技巧

    Windows8系统中是有自带很多的系统执行功能的,Windows Search就是可以帮助我们快速搜索到电脑中的文件照片等等Windows Search服务数据的查找功能,有小伙伴发现自己的系统中根 ...

  2. Vue 组件封装之 Search 搜索

    Vue 组件封装之 Search 搜索 一.Search 组件 二.使用案例 三.API 使用指南 四.源代码 一.Search 组件 组件说明: 实现搜索功能. 效果展示: input 输入框背景铺 ...

  3. 前端使用search搜索器、with(关联)和 field

    使用情况: 在很多页面获取到的数据相近, 区别只是多获取几个字段.多几个搜索条件.多关联几张表的时候. 后端就可以小小的偷个懒, 接口只写一个,前端使用search搜索器.with(关联)和 fiel ...

  4. elastic search搜索学习打分算法简单总结

    elastic search搜索学习打分算法简单总结 之前也在es官网走马观花的看了一些es搜索方面的内容,发现自己之前对es的打分规则理解的很浅,最近又从阿里的<elastic stack实战 ...

  5. 阿里巴巴年度技术总结:人工智能在搜索的应用和实践

    来源:雷锋网 概要:本文梳理了过去一年多搜索在深度学习方向上的探索,概要的介绍了我们在深度学习系统.深度学习算法和搜索应用落地的进展和思考. 以深度学习为代表的人工智能在图像.语音和 NLP 领域带来 ...

  6. Elasticsearch之search搜索入门

    1. 搜索语法入门 1.1query string search 无条件搜索所有 GET /book/_search {"took" : 969,"timed_out&q ...

  7. [基础语法] SEARCH搜索指定字符串详解

    今天遇到一个问题:读取服务器目录返回文件夹信息,如果文件夹不存在就创建,下面是返回的信息 文件夹是以日期.日期的前六位命名的,此例中如果我们直接search 201503,虽然成功,但我们不能判断是不 ...

  8. 【译】 Google: Still in The Search 搜索巨人Google的伟大转变 (四)

    在招募最佳AI人才的比赛中,谷歌通过让一个前电子游戏大师和国际象棋神童领导的团队获得了一场政变 从2011年开始,德米斯哈萨比斯共同创立了DeepMind-由英国人工智能创业公司Elon Musk等资 ...

  9. 阿里巴巴年度技术总结 - 人工智能在搜索的应用和实践

    欢迎分享本文,转载请保留出处 点击关注,获取最新AI干货 转自:AI 科技评论 AI 科技评论按:本文作者为阿里巴巴搜索事业部总监欧文武,经阿里巴巴授权发布. 以深度学习为代表的人工智能在图像.语音和 ...

最新文章

  1. MindSpore整体架构介绍
  2. 互联网思维-产品思维(1)
  3. 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题
  4. 蓝牙MESH网关_水哥智能教学视频一米家蓝牙mesh设备如何升级固件
  5. 电力系统分析课设短路电流计算simulink仿真
  6. if you do applications
  7. 数学之美 系列十五 繁与简 自然语言处理的几位精英
  8. because the principal dbo does not exist 问题解决方法
  9. OpenOffice介绍
  10. Spring自学教程-注解的使用(三)
  11. 我的docker随笔23:修改容器时区和添加中文支持
  12. 计算机二级office试题27答案,2017年12月计算机二级MS Office习题答案(一)
  13. python对写作有什么帮助_第47p,Python基础知识,写作总结
  14. python清除数据库表命令_数据库----Python操作数据库
  15. DisplayTag应用指南
  16. Home Assistant -ESP Home接入homekit篇
  17. 财务系统服务器ebs系统,ebs系统(ebs财务系统是什么)
  18. uni-app应用中单选按钮自定义样式1(实心圆点)
  19. 声纹识别开源框架python_GitHub - yeyupiaoling/VoiceprintRecognition-Tensorflow: 使用Tensorflow实现声纹识别,博客地址:...
  20. unity_DoTween Ease 动画效果展示

热门文章

  1. 通用数据打捞工具操作手册
  2. mysql gman do_MySQL UDFs 来管理调用 Gearman 的分布式的队列
  3. 肖特基二极管的这几点技术参数,你未必全都知道
  4. 电子计算机显示屏维修,液晶显示器闪烁如何处理_液晶显示器维修教程
  5. 路由器重温——WAN接入/互联-DCC配置管理2
  6. web前端入门到实战:HTML5新增和废弃的标签
  7. java 仿qq登陆界面
  8. 猎豹傅盛内部演讲:上市只是成人礼,猎豹要忘记过去
  9. Chart.js使用教程,画折线图实例
  10. template标签的用法总结