搜索是人工智能很重要的一种解决问题的途径,如下对各类搜索进行一个分类总结。算法
首先是搜索的定义,咱们要解决一个问题,要通过不少步骤才能达到最终的目标,搜索就是要找到这些步骤,即解决问题的方法。数据结构
搜索有其局限性,它必须依赖于现有的知识,它不能本身学习知识,人工智能解决问题的另一种途径就是学习,经过学习能够创造或者吸收新的知识。dom
下面是正文分布式
求解一个问题就是一系列动做,而且搜索是为达到目标寻找这些动做的过程。函数
针对不一样数据结构:学习
图搜索优化
树搜索人工智能
按照节点的扩展顺序区分lua
宽度优先(breadth-first),用FIFO队列实现spa
深度优先(depth-first):拓展最深的未扩展节点,用LIFO队列实现
深度受限搜索(depth-limited):限制搜索深度
迭代加深搜索(iterative deepening):结合深度优先与宽度优先的优点
一致代价搜索(uninform-cost):扩展最低代价的未扩展节点
双向搜索(bidirectional )
无信息搜索的策略评价
完备性:是否总能找到一个存在的解
时间复杂性
空间复杂性
最优性:是否总能找到最优的解
最佳优先搜索(best-first):基于评价函数选择最优拓展节点,大多数该类算法还包括一个启发式函数
贪心搜索
A*搜索
以上的搜索是经典搜索,它们的特色是
可观测
肯定性
已知环境
经典搜索保留搜索的路径,其路径就是问题的解
但在不少问题中,到达目标的路径不重要,所以就有了超越经典搜索
有路径-->无路径
分为局部搜索与群体智能
不关注路径,搜索后不保留路径,其优势为
1.占用内存小
2.能在大的或者无限的空间中找到合理的解
登山法(hill-climbing):一种迭代算法,开始时随机选取一解,对其不断优化
随机登山法(Stochastic hill-climbing):向上移动的过程当中随机选择,收敛速度慢
首选登山法(First-choice hill-climbing):随机生成后继节点,直到出现更好的
随机重启登山法(Random-restart hill-climbing):完备性高,接近于1
局部束搜索(Local Beam Search)
随机束搜索(Stochastic Beam Search)
禁忌搜索(Tabu Search)
三种策略
禁止策略(Forbidding strategy)
释放策略(Freeing strategy)
短时间策略(Short-term strategy)
模拟退火(Simulated Annealing):一种在大搜索空间逼近全局最优解的元启发方法
遗传算法(Genetic Algorithms):一种模仿天然选择过程的启发式算法
经过大量智能体经过合做实现,它是分布式的、自组织的、在一个环境内分布的。
蚁群优化(Colony Optimization):受蚁群寻炸食物的行为的启发,用于发现一个图上的最佳路径
粒子群优化(Particle Swarm Optimization):受鱼类,鸟类群体行为的社会行为启发
单智能体-->多智能体
咱们在针对其余智能体作规划时,那些智能体有可能也在作着规划
以上搜索针对单智能体,而对抗搜索针对多智能体
零和博弈(Zero sum games):智能体之间彻底对立
非零和博弈(Non-zero sum games):智能体之间是自主的方式
彻底信息(Perfect information)/不彻底信息(Imperfect information)
肯定性(Deterministic)/随机性(Stochastic)
博弈树的大小每每呈指数增长,经过剪枝,能够减少博弈树,加快搜索时间
尽管经过剪枝能够去掉博弈树的大部分,可是搜索的深度依然很深,所以用评价函数计算在指定位置该博弈的指望值
一种有必定几率转换的动态博弈
凭借重复随机采样来得到数值结果
将蒙特卡洛仿真与博弈树搜索相结合
状态必须知足若干约束的对象
标准搜索中状态不可分割,GSP中状态用因子表示,是一系列变量。
GSP问题一般复杂性很高
范畴
有限/无限
离散/连续
约束
线性/非线性
1元/多元