终于完全了解A*到底是什么玩意儿了

对于当前的决策,选取当前花费+预估花费最小来拓展。

因为假如预估出现失误,那么很可能就会延伸到一个错误的决策点,而这个决策点偏偏就是ed,而由于预估失误,其他点的当前花费+预估花费比这个错误的花费大,那么答案就错了。

所以预估花费要比最小花费小。

证一下:

f函数为预估值,g函数为理论最小值,s函数为到达当前的费用

设通过点x延伸是最优的

由于预估失误,此时s(x)+f(x)>s(y)+f(y) 而其实 s(x)+g(x)<s(y)+g(y)

那么先被取出的是y,s(ed)=s(y)+c y->z ed

但是s(y)+c y->ed = s(y)+g(y) > s(x)+g(x) > s(x)+f(x)

先出堆的必然是x,重新更新一次ed
poj2449 k短路 QAQ

poj1077 宽搜第一题做烂的八数码

没什么好放的

最新文章

  1. JS常用正则表达式和JS控制输入框输入限制(数字、汉字、字符)
  2. NewQuant正式在Github发布
  3. HDU 3709 Balanced Number (数位DP)
  4. Unity学习笔记(一)——基本概念之场景(Scene)
  5. IIS 之 打开/关闭 Internet 信息服务
  6. Qt 添加外部库文件(四种方法)
  7. WPF 中如何使用第三方控件 ,可以使用WindowsFormsHost 类
  8. NekoHTML
  9. Deep Learning 学习随记(三)Softmax regression
  10. 我的MYSQL学习心得(十一)
  11. pcap filter
  12. 深入设计电子计算器(一)——CPU指令集设计
  13. swiper 轮播图,拖动之后继续轮播
  14. 下面程序的输出结果是____ A:11,10 B:11,11 C:10,10 D:10,11 int x=10; int y=x++; printf(&quot;%d,%d&quot;,(x++,y),y++);
  15. JavaScript 函数调用和this指针
  16. Linux 第七天
  17. ubuntu ufw防火墙软件的配置入门
  18. JavaScript 如何断平台
  19. 重识linux-SSH中的SFTP
  20. .NetCore中使用AspectCore、ExceptionLess 实现AOP操作日志记录

热门文章

  1. js原生淘宝京东宝贝放大镜效果
  2. BZOJ 4403 2982 Lucas定理模板
  3. C#控制台显示进度条
  4. jQuery Validate前端验证
  5. idiom的学习笔记(一)、三栏布局
  6. JavaScript实现复选框的全选、不选、反选
  7. Android Drawable之getIntrinsicWidth()和getIntrinsicHeight()
  8. 小米 SOAR 开源SQL优化工具安装
  9. UVa 1583 Digit Generator WA
  10. mysql组复制集群简介