搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
煮酒与君饮
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
iOS 证书的讲解_teamidentifier
2
我的2017
3
计算机毕业设计 | SpringBoot图书管理系统(附源码)_基于springboot的图书管理毕设大纲
4
MySQL中如何进行多表查询_mysql 查询多个
5
android14 录屏权限改动_android 录屏权限
6
git新增、修改、删除本地和远程分支_git checkout -b [new-branch-name] [remote-branch-n
7
基于数据挖掘技术的手机消费行为分析的研究与实现(论文+源码)_jsp_236_数据挖掘分析源码设计
8
idea提交git时总显示一堆.class解决方案_idea git提交时 会显示class文件
9
2024年Linux最全【SCP命令】安全又快捷的linux小技巧scp命令,2024年最新字节跳动+阿里+华为+小米等10家大厂面试真题_scp 命令
10
使用Ollama+OpenWebUI本地部署阿里通义千问Qwen2 AI大模型_ollama 使用 qwen2
当前位置:
article
> 正文
启发式搜索算法(A*算法)_估计函数的估计值是不是由hx决定
作者:煮酒与君饮 | 2024-06-20 06:19:52
赞
踩
估计函数的估计值是不是由hx决定
A算发:在bfs算法中,若对每个状态n都设定估价函数f(n)=g(n)+h(n),并且每次从开启列表中选节点
进行扩展时,都选取f值最小的节点,则该搜索算法为启发式搜索算法,又称A算法。
g(n):从起始状态到当前状态n的代价。
h(n):从当前状态n到目标状态的估计代价。、
A算法的例子——八数码
2 6 3 1 2 3
1 8 -----> 8 4
7 4 5 7 6 5
定义估价函数
f(n)=g(n)+h(n)初始节点
g(n):为从初始节点到当前节点的步数。
h(n):为当前节点“不在位”的方块数。
h计算举例
2 6 3 1 2 3
1 8 ------> 8 4
7 4 5 7 6 5
2,6,1,8,4,5 都不在位,因此h=6
A*算法
A算法中的估价函数若选取不当,则可能找不到解,或找到的解也
不是最优。因此,需要对估价函数做一些限制,使算发确保找到
最优解(步数,即状态转移次数最少的解)。A*算法即为估价函数
做了特定限制,且确保找到最优解的A算法。
A* 算法 f*(n)=g*(n)+h*(n)
f*(n):从初始节点s0出发,经过节点n到达目标节点的最小步数(真实值)
g*(n):从s0出发,到达n的最少步数(真实值)
h*(n):从n出发,到达目标节点的最少步数(真实值)
估价函数f(n)则是f*(n)的估计值
A*算法 f(n)=g(n)+h(n),且满足以下限制: g(n)是从s0到n的真实步数(未必是最优的),因此g(n)>0且g(n)>=g*(n)
h(n)是从n到目标的估计步数,估计总是过于乐观的 即h(n)<=h*(n) 且h(n)相容,则A算法就转变为A*算法。
A*算法 h(n)的相容:如果h函数对任意状态s1和s2还满足:h(s1)<=h(s2)+c(s1,s2)
C(s1,s2)是s1转移到s2的步数,则称h是相容的。h相容能确保随着一步步往前走,f递增,这样A*能高效找到最优解。
h相容=> g(s1)+h(s1)<=g(s1)+h(s2)+c(s1,s2)=g(s2)+h(s2)=>f(s1)<=f(s2) 即f是递增的。
A*算法的搜索效率很大程度上取决于估价函数h(n),一般说来,在满足h(n)<=h*(n)的前提下,h(n)的值越大越好
八数码问题:
方案一:h(n)为不在位的数字个数
方案二:h(n)为不在位的数字到其该呆的位置的曼哈顿距离和
后者优于前者
A*算法解决八数码问题
hdu oj 1043 题解:http://blog.csdn.net/xiaosshhaa/article/details/54315981
poj :1376 1324 1084 2449 1475
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/煮酒与君饮/article/detail/738876
推荐阅读
article
关于
领导
力
_
csdn
如何
看
自己
的
领导
值...
领导
力
=表演 做员工,做好
自己
就可以了。做
领导
,要的是
领导
力
。
领导
力
是什么?
如何
才能有
领导
力
? 批评是十分重要的部分。如...
赞
踩
article
【
数字图像处理
】基于
SeetaFace2
的
人脸
检测
_
seetaimagedata
...
(一)Seetaface2 基本概念1.1 图像1.1.1 结构定义作为图像处理的C++库,图像存储是一个基本数据结构。...
赞
踩
article
六.
SpringCloudAlibaba
极简入门-
Sentinel
限流
_
spring
cloud
a...
老鸟飞过 , 只做学习使用,欢迎交流_
spring
cloud
alibaba
限流
spring
cloud
aliba...
赞
踩
article
Debian 12
安装
Docker
_
debian12
安装
docker
...
如果
Docker
未运行,请执行如下命令启动它。
安装
完成后,默认
Docker
服务是启动的。(1)添加
Docker
官方GP...
赞
踩
article
com
.
mysql
.
jdbc
.
driver
jar
下载,
com
.
mysql
.
jdbc
.
driver
驱...
是数据库厂商完成的JDBC一个套接口里的一个类,被称为“
驱动
类”,
mysql
驱动
便是赋值外界与数据的衔接接口。JDBC衔...
赞
踩
article
【
数据结构
】
双向
链表
(
C语言
)...
哈喽铁子们,这里是博主鳄鱼皮坡。这篇文章将分享交流
双向
链表
的相关知识。【
数据结构
】
双向
链表
(
C语言
) ...
赞
踩
article
datax
介绍和用法
_
datax
使用
...
DataX 是阿里巴巴集团内被广泛
使用
的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、...
赞
踩
article
《深度
学习
进阶:
自然语言
处理》第7章 基于
RNN
生成
文本
_如何将
rnn
输出
转变成
文本
...
例如,我们将LSTMLM在语料库“you say goobye and i say hello.”进行训练之后,我们将“...
赞
踩
article
使用
Python
操作
Word
文档
:轻松实现
自动化
办公...
库是一个用于创建和更新Microsoft
Word
(.docx)文件的
Python
库。它支持添加段落、表格、图片、超链接...
赞
踩
article
【从官方案例学框架
Tensorflow
/
Keras
】微型
GPT
的
文本
生成_
tensoflow
gpt
...
摘要:本例将演示使用
GPT
实现自回归的语言模型。该模型由带有causal masking的transformer块组成。...
赞
踩
article
Debian
上安装
Docker
_
debian
安装
docker
...
Docker
是一种流行的容器化平台,它允许您轻松地创建、部署和管理应用程序和服务。在本篇博客中,我们将学习如何在Debi...
赞
踩
article
为什么
mac
文件
拖拽不了
mac
文件
拖不进
硬盘
里
mac
bookpro
文件
无法拖进移动
硬盘
Tuxe...
要检查权限设置,你需要选中
文件
或者
文件
夹,然后按下Command-I键,打开简介窗口,然后点击“共享与权限”部分,查看你...
赞
踩
article
19 个接
私活
平台
汇总
升级版
,
你
有
技术
就有钱...
作者 |镇上宝塔来源 |https://www.toutiao.com/i6809205929335063051前 言关...
赞
踩
article
可
重复
读
_
DDIA
系统设计
读
笔记(第六七章
切分
与事务)...
1、数据
切分
上一章利用数据复制的方式,解决了数据的稳定性问题,同时
读
写分离提升系统的
读
写性能,并考虑了全球分布时用户就近...
赞
踩
article
Flutter
3.0
正式
发布
:稳定
支持
6大
平台
,字节跳动是主要用户_字节跳动还
在
用
flutter
吗...
来源:infoq编译|核子可乐、燕珊5 月 12 日,
Flutter
3.0
在
Google I/O 开发者大会正式亮...
赞
踩
article
MATLAB
实现简单
的
BP
神经网络
_
bp
神经网络
代码分析
matlab
...
inputtrain 是输入特征,outputtrain 是输出标签,[8,15,9] 是一个向量,表示
神经网络
的
层结构...
赞
踩
article
Mysql
可
重复
读
业务
场景
_
MySQL
事务隔离级别...
对于数据库的隔离级别之前一直没有做详细整理,最近项目运行中发现了一个问题,所以抽时间对这块认真研究了下业务
场景
:服务A在...
赞
踩
article
Spring
Cloud
Alibaba
(三)
Sentinel
限流
实现原理_
sphu
.
entry
限...
之前我们学习过
限流
比较主流的三种算法:漏桶,令牌桶,滑动窗口。而
Sentinel
采用的是最后一种,滑动窗口来实现
限流
的。...
赞
踩
article
java
商城
答辩
_毕业
答辩
-基于
Java
的
网上
购物
商城
的
设计与实现.ppt...
指导老师:
答辩
人: 学号: 学院:信息工程学院 基于JAVA
的
网上
购物
系统
的
设计与实现 1 2 绪论 技术介绍和系统设...
赞
踩
article
红黑
树
结构_
红黑
树
如何
构造
出来...
AVL (平衡二叉树:追求"完全平衡")树的另一种变种是
红黑
树
(Red-Black-Tree:只要求部分达到平衡)其就是...
赞
踩
相关标签
心路历程
计算机视觉
cloud
分布式
spring boot
阿里巴巴
spring
debian
docker
eureka
debian12
com.mysql.jdbc.driver jar下载
数据结构
链表
c语言
学习
开发语言
Datax
深度学习
自然语言处理
rnn
nlp
lstm
python
数据库