zoukankan      html  css  js  c++  java
  • 图搜索中的人工智能算法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)设定了个上限值,比如最短路径的长度,这样,在搜索的时候,可以很快地排除一些不是最短路径的解.

  • 相关阅读:
    geoserver 文件系统
    geoserver 源码介绍
    geoserver 开发2
    geoserver 开发1
    geoserver笔记
    linux 下安装gult
    LINUX 笔记5
    SQLSTATE[HY000] [2002] 乱码
    微信开发
    javascript记忆
  • 原文地址:https://www.cnblogs.com/jun14/p/2727001.html
Copyright © 2011-2022 走看看