• A*算法


    A* (A-Star)算法是一种静态路网中求解最短路最有效的直接搜索方法。
    注意是最有效的直接搜索算法。之后涌现了很多预处理算法(ALT,CH,HL等等),在线查询效率是A*算法的数千甚至上万倍。
    公式表示为: f(n)=g(n)+h(n),
    其中 f(n) 是从初始点经由节点n到目标点的估价函数,
    g(n) 是在状态空间中从初始节点到n节点的实际代价,
    h(n) 是从n到目标节点最佳路径的估计代价。
    保证找到最短路径(最优解的)条件,关键在于估价函数f(n)的选取:
    估价值h(n)<= n到目标节点的距离实际值,这种情况下,搜索的点数多,搜索范围大,效率低。但能得到最优解。并且如果h(n)=d(n),即距离估计h(n)等于最短距离,那么搜索将严格沿着最短路径进行, 此时的搜索效率是最高的。
    如果 估价值>实际值,搜索的点数少,搜索范围小,效率高,但不能保证得到最优解。

    作者:耑新新,发布于  博客园

    转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com

  • 相关阅读:
    面向对象编程
    面向对象编程进阶
    pycharm常用快捷键
    面向对象
    深拷贝和浅拷贝
    hashlib模块
    日志配置
    常用模块大全
    正则详解
    软件目录规范
  • 原文地址:https://www.cnblogs.com/Arthurian/p/6209466.html
Copyright © 2020-2023  润新知