1、人工智能的搜索算法p在智能过程中,搜索是不可避免的 Nilssonp一个物理符号系统解决任何智能问题的充分和必要条件 Newell搜索法简介p搜索法是人工智能中问题求解的基本方法p可大致分为有信息搜索和无信息搜索p约束满足问题和博弈问题的求解均可表述为搜索过程pAgent的学习过程亦可表述为搜索过程p搜索法的本质是在状态空间中从问题的初始状态搜索到通向目标状态的路径搜索法简介p当前的智能计算方法本质上也是搜索方法,如神经网络、遗传算法、蚁群算法等p搜索法的设计主要考虑解路径的耗散值以及搜索过程中的耗散值耗费最低化算法性能的评价p评价算法性能的四个方面:完备性:有解时能保证找到解(可判定问题)最
2、优性:能否找到最优解时间复杂度空间复杂度搜索算法的评价p搜索法要处理的是状态空间图p在人工智能领域,状态空间图是由初始状态和后继函数隐含表示的(与通常的计算机图搜索算法不同)p搜索算法可从以下三个方面评价:b:分支因子d:最浅目标节点的深度m:状态空间中最大路径长度(考虑耗散)问题的形式化p搜索法首先要对问题进行形式化描述p问题通常可形式化定义为下述四个部分Agent所处的初始状态Agent可采纳的行动:后继函数目标测试:确定当前状态是否是目标状态路径耗散函数:为每条路径分配量化的耗散值举例:八数码问题盲目搜索p广度优先搜索:在下一层节点被扩展之前保证本层节点都被扩展通常用FIFO队列实现能保
3、证找到最浅的目标节点(不一定是最优的)在单步耗散相同时是最优算法空间复杂度大,目标节点较深时,时间复杂度亦很大)(1dbO盲目搜索p代价一致搜索:与广度优先搜索类似,但首先扩展耗费最低的节点须保证算法的完备性(为每一步设定最小耗散)最坏时间复杂度为)(*cbO深度优先搜索p首先扩展搜索树中最深最边缘的未扩展节点p通常通过LIFO的栈实现p空间复杂度低,p对于状态复杂的问题,可变形为回溯搜索,空间复杂度降为p最坏时间复杂度p通常应用中变形为深度有限搜索(需要知识的支持),通常lm)(bmO)(mbO)(mO)(lbO双向搜索p思想基础:p从初始状态和目标状态同时开始相向搜索,形成两棵搜索树p若某
4、一待扩展节点出现在另一棵搜索树中,则找到解p后向搜索较难实现,无固定方法dddbbb22启发式搜索p使用启发信息,对待扩展节点到目标节点的距离给出估计p定义:pf(n):对经过节点n的最低耗散解的估计值pg(n):初始节点到节点n的路径耗散ph(n):从节点n到目标节点的耗散估计值p每次首先扩展队列中具有最低f(n)的节点)()()(nhngnfA*算法pA*算法的要求:启发函数满足可采纳约束:其中 是节点n到目标节点的最低耗散一致性约束:lA*算法是可采纳算法:当解存在时能保证找到最优解l当满足 时,A*算法效率最高)()(*nhnh)(*nh)(),()(11nhnancnh)()(,*nhnhnA*算法的复杂性估计p若h(n)满足:则有:p故A*并不能保证克服指数爆炸p非指数级增长的条件:0,1)()()(*mnhnhnhp0),()(ceOzEcN)(log)()(*nhOnhnh禁忌搜索(TS)算法pGlover于1986年提出p特点:具有记忆功能,可有效避免局部最优适用于多参数优化问题