• 图搜索中的人工智能算法A算法和A*算法


    对于图搜索算法来说,有一类是盲目搜索,比如BFS与DFS.他们的缺点是耗时,而且有可能找到的解并不是最优解,这里可以举例DFS算法求解八数码的时候,找到的解路径不一定是最短的路径.老师上课画了一个三角形,好比是一个问题的所有求解空间,盲目搜索有可能吧他们都遍历一遍,所以这些时候就需要我们做一些优化了.

    什么叫作A算法,A算法使用一个f(n)评价函数对每一个open表里的节点计算值并且排序,f(n)=g(n)+h(n) . g(n)代价函数,计算已经走过的距离,通过不同的路径可能有多个值,取最小的那个;h(n)启发函数,唯一值,这个函数是一个抽象的概念,计算的是到终点的距离,在八数码这个游戏中,h(n)=不在最终位置的数字的个数.每次都计算open表节点的f(n)的值,并且排序,取f(n)值最小的那个节点,把他放入close表并拓展.这种启发式的搜索算法就是A算法.

    A*算法就是为f(n)设定了个上限值,比如最短路径的长度,这样,在搜索的时候,可以很快地排除一些不是最短路径的解.

  • 相关阅读:
    ThreadLocal的分享
    remot debug
    小计-git
    入坑HttpServletRequest.getParameterMap
    基于线程池和连接池的Http请求
    spring,maven,dubbo配置
    springMVC,mybatis配置事务
    寻找数组的主元素问题的解法
    关于最大子序列和问题以及相关衍生问题的分析
    关于选择问题的一些思路.
  • 原文地址:https://www.cnblogs.com/jun14/p/2727001.html
Copyright © 2020-2023  润新知