人工智能基础 搜索问题(一) 基础+盲目搜索
·
人工智能基础 搜索问题
介绍

一般的问题都可以归为下面三个步骤

问题求解

问题求解中最主要的就是搜索问题了,下面就来介绍搜索问题
搜索问题
如魔方的还原问题

如转动次数最少的魔方还原

特征

四个典型的搜索问题
8-数码

八皇后


旅行商


传教士野人过河


汉诺塔问题,农夫过河问题,等等也属于搜索问题,上面只是举例了几个最基本的
搜索问题的要素

搜索问题的组成

问题表示

接下来主要学习介绍的是状态空间表示法
状态空间表示法









案例 8字符的移动

这里把数字的移动转化为空格的移动,简化了问题,
在初始情况下,空格只有四种移动的方法

下图就是8数码问题得到的状态空间图

可以发现我们的目标Sg已经在图中了

上左下右就是一个解


解的搜索

生成与测试范式

案例 n皇后问题


伪代码

穷举法

如,穷举法会造成效率低下,下图中已经不满足4皇后问题的约束,但是穷举法仍然会继续放置剩下的两个皇后,造成效率低下的问题
回溯法


步骤












以此类推,这就是回溯法

如果想看看有没有其他解的话就继续执行
下图是回溯法的树



贪心算法

旅行商问题





注意 : 贪心算法可以快速的找到一个可行解,但不一定是最优解
状态空间搜索法

















常用的盲目搜索算法


找到的不一定是最优解
BFS
这个数据结构都学过,看看例子就知道了





DFS
也就是深搜,看看就知道了






算发性就是可以找到解
优先深度优先搜索思想


他与dfs的唯一区别就是限制了搜索的深度

迭代加深的深度优先搜索 DFS-ID
路径代价随着深度增加而增加


小结

更多推荐
所有评论(0)