人智导(三):局部搜索
标准的搜索问题
- 标准的搜索算法是基于模型的(model based)
- 这个模型化的世界有以下假设:
- 状态是可观察的(fully observable state)
- 动作效果是确定的(deterministic action)
- 状态空间是离散的(discrete state space)
- 搜索的目的:系统地探查状态空间,去发现从初始状态到目标的途径
- 放宽约束条件:一些现实问题的解决
标准搜索的扩展
现实应用中很多问题:发现目标,而非达到目标的路径
如何描述目标状态?
- 显式定义(枚举)
- 隐式定义(条件约束描述)
需要完全状态(complete state)表示
举例:八皇后问题
问题形式化表示:
- 初始状态:棋盘上没有Queen
- 后继函数:把一个Queen添加到棋盘上任何一个空格
- 目标测试:8个Queen加入棋盘,且相互无攻击
- 代价函数:每一步代价为常数1
搜索过程:
- 状态空间: 8 8 8^8 88
- 后继状态:从当前状态栏目中移动任意一个Queen,共 7 × 8 = 56 7\times 8 = 56 7×8=56
- 启发代价函数 h h