zoukankan      html  css  js  c++  java
  • A* 优化算法

    功能

    减少搜索次数

    [------------- ]

    A*算法有多种结合形式。

    如依靠BFS + A*,这两个结合就可以有一个搜索方向,朝着那个方向去搜索可能会减少某些不必要的搜索。

    [------------- ]

    再如可以IDDFS + A*,即迭代加深搜索A*的结合(IDA*)。如果在进行DFS时给他加一个评估函数,即可预测到此时按照这个状态是否能到达可行解,如果不能,则直接返回,提高了效率。

    抽象来想差不多就是前几层不符合条件的直接砍掉,将答案固定在某几层的深度中考虑。

    定义

    x为当前状态,f(x)是对x的评估函数

    f(x) = g(x) + h(x)

    g(x)表示从初始状态到x的实际代价,h(x)表示x到终点最优路径的评估

    简要概述

    A*算法是一种贪心思想,在进行搜索时可以根据当时情形加入A*的评估函数进行优化剪枝

    作者:Jude_Zhang
    关于博主:评论和私信会在第一时间回复。或者直接私信我。
    版权声明:本博客所有文章除特别声明外,均采用BY-NC-SA 许可协议。转载请注明出处!
    支持博主:如果您觉得文章对您有帮助,可以点击文章下方赞一下。您的鼓励是博主的最大动力!
  • 相关阅读:
    Node入门
    Java try-catch、throw和throws的几点想法
    SpringMVC的四种HandlerMapping
    枚举
    MyBatis表和实体关联
    MyBatis xml和dao层接口组合使用
    Spring Task 定时器
    (转)Spring定时任务的几种实现
    Struts2+Spring发送邮件
    Struts2文件上传
  • 原文地址:https://www.cnblogs.com/judezhang/p/14645106.html
Copyright © 2011-2022 走看看