0x27 A*
终于完全了解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 宽搜第一题做烂的八数码
没什么好放的
0x27 A*的更多相关文章
- Response.Redirect引起的性能问题分析
现象: 最近做的一个系统通过单点登录(SSO) 技术验证用户登录.用户在SSO 系统上通过验证后,跳转到该系统的不同模块.而跳转的时间一直维持子啊几分钟左右. 分析步骤: 在问题复现时抓取Hang d ...
- SQLSERVER中NULL位图的作用
SQLSERVER中NULL位图的作用 首先感谢宋沄剑提供的文章和sqlskill网站:www.sqlskills.com,看下面文章之前请先看一下下面两篇文章 SQL Server误区30日谈-Da ...
- 一个由Response.Redirect 引起的性能问题的分析
现象: 某系统通过单点登录(SSO) 技术验证用户登录.用户在SSO 系统上通过验证后,跳转到某系统的主页上面.而跳转的时间很长,约1分钟以上. 分析步骤: 在问题复现时抓取Hang dump 进行分 ...
- C#调用SendMessage 用法
函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.该函数是应用程序和应用程序之间进行消息传递的主要手段之一. 函数原型:LRESUL ...
- 常用ASCII CHR碼對照
因為開發需求,把對照表留下來一下. Chr(0) Null Chr(29) 分组符 Chr(38) & Chr(48) 0 Chr(8) 退格 Chr(30) 記錄分離符號 Chr(39) ‘ ...
- Sharp Memory LCD (ls013b7dh03)驱动
网上找不到什么靠谱的资料,甚至我调好了夏普原厂和代理商还来找我要demo, 哎,苦逼的码农. lcd_main.c #include "ls013b7dh03.h" #inclu ...
- GSM07.10协议中串口复用使用的校验算法
] = { 0x00, 0x91, 0xE3, 0x72, 0x07, 0x96, 0xE4, 0x75, 0x0E, 0x9F, 0xED, 0x7C, 0x09, 0x98, 0xEA, 0x7B ...
- sha512散列(C语言)
/** * \file sha4.h * * \brief SHA-384 and SHA-512 cryptographic hash function * * Copyright (C) 2006 ...
- sha1散列(C语言)
/** * \file sha1.h * * \brief SHA-1 cryptographic hash function * * Copyright (C) 2006-2010, Brainsp ...
随机推荐
- Mac OS X10.9安装的Python2.7升级Python3.4步骤详解
Mac OS X10.9安装的Python2.7升级Python3.4步骤详解 Mac OS X10.9默认带了Python2.7,不过现在Python3.4.0出来了,如果想使用最新版本,赶紧升级下 ...
- Docker 内部之间的网络连接
一.简介 内部网络连接的2中方式: Docker NetWorking (1.9版本之后推荐使用这个)和 Docker link(1.9 版本之前都使用这个) 推荐使用docker networkin ...
- 2-SAT 小结
PS:今天(2014.10.27)准备PPT,明天在组合数学课上与大家一起分享一下2-SAT.我以为是一件简单的事情.但是,当我看了自己这篇博客以后,发现居然还是不懂.很多资料不全,也没仔细讲.整理了 ...
- SQLServer之merge函数用法
MERGE 目标表 USING 源表 ON 匹配条件 WHEN MATCHED THEN 语句 WHEN NOT MATCHED THEN 语句; 其中最后语句分号不可以省略,且源表既可以是一个表也可 ...
- RAP开发入门-运行过程简析(三)
今天通过标准的RAP程序来简单分析下RAP的启动过程 1.新建一个标准的rap plugin-in 项目: 得到的项目结构大概如下: run confi..->..add bundle(配置好b ...
- Windows 10 常用软件推荐
QQ/TIM 大众的通讯工具,十多年之后的今天,依然是国内常驻用户第一的通讯工具 截图.远程桌面.视频会议.文件传送依旧是非常好用 TIM 算是轻聊版的升级版 微信 for Windows 近年新兴的 ...
- 验证码识别 Tesseract的简单使用和总结
Tesseract是什么 OCR即光学字符识别,是指通过电子设备扫描纸上的打印的字符,然后翻译成计算机文字的过程.也就是说通过输入图片,经过识别引擎,去识别图片上的文字.Tesseract是一种适用于 ...
- (转) RabbitMQ学习之spring整合发送异步消息
http://blog.csdn.net/zhu_tianwei/article/details/40919031 实现使用Exchange类型为DirectExchange. routingkey的 ...
- 换个语言学一下 Golang (2)——基础语法
Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号.比如下面的hello world就是由 6 个标记组成: 行分隔符 在 Go 程序中,一行代表一个语句结束.每个语句 ...
- Pycharm 设置
1:显示行号 打上对勾OK 2:设置作者 & 文件编码 3:选择切换Python的版本