搜索
查看
编辑修改
首页
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
每个开发人员都应该知道的六个生成式AI框架和工具_生成式ai软件/模型的架构
2
没错!我在单个消费级显卡上微调大模型_消费级gpu 大模型微调
3
2020-11-12 MATLAB学习小结(十二)_分)、依次写出下列 matlab 命令行(顺序结构)的计算结果
>>x=[11\ 12\ 1
4
HBase集群部署_hbase 集群部署
5
SIM900A基站定位调试笔记_at+cipgsmloc=1,1\r
6
计算机论文 a会 c会,ccf b类论文 sci几区_焦文静_电影学者王田
7
GPT4ALL:终极开源大语言模型解决方案
8
SQL 注入漏洞原理以及修复方法_sql注入修复
9
信息抽取实战:三元组抽取(限定领域 vs 开放领域)(附代码)
10
什么是数据标注——文本标注篇
当前位置:
article
> 正文
与或树的盲目搜索和启发式搜索_与或树的启发式搜索例题
作者:盐析白兔 | 2024-04-07 12:20:48
赞
踩
与或树的启发式搜索例题
与或树的盲目搜索
与或树的一般搜索过程如下
(1)把原始问题作为初始节点S0,并把它作为当前节点
(2)应用分解或等价变换操作对当前节点进行扩展
(3)为每个子节点设置指向父节点的指针
(4)选择合适的子节点作为当前节点,反复执行第(2)步和第(3)步,在此期间需要多次调用可解标记过程或不可解标记过程,直到初始节点被标记为可解节点或不可解节点为止
上述搜索过程将形成一棵与或树,这种由搜索过程形成的与或树称为搜索树。当搜索成功时,经可解标记过程标识的由初始节点极其下属的可解节点构成的子树称为解树。
与或树搜索过程中的可解标记过程与不可解标记过程都是自下而上进行的,即由子节点的(不)可解性确定父节点、祖父节点的(不)可解性。
在与或树中,除端节点和终止节点外,一个节点的可解性完全是由其子节点来决定的。对与节点,只有其所有子节点都为可解时它才可解,只要有一个子节点不可解它就不可解;对于或节点,只要有一个子节点可解它就是可解的,仅当所有子节点都是不可解时它才为不可解。
可解标记过程:由可解子节点来确定其父节点、祖父节点为可解节点的过程
不可解标记过程:由不可解子节点来确定其父节点、祖父节点为不可解节点的过程
由于与或树搜索的目标是寻找解树,因此,如果搜索过程确定某个节点为可解节点,则其不可解的后裔节点就可以从搜索树中删去;同样,如果搜索过程能确定某个节点未不可解节点,则其后裔节点也可以从搜索树中删去。
与或树的广度优先搜索
与或树的广度优先搜索与状态空间的广度优先搜索类似,只是在搜索过程中需要多次调用可解标记过程或不可解标记过程,其搜索算法如下:
(1)把初始节点S0放入Open表中
(2)把Open表的第一个节点取出放入Closed表,并记该节点为n
(3)如果节点n可扩展,则做下列工作:
扩展节点n,将其子节点放入Open表的尾部,并为每一个子节点设置指向父节点的指针
考察这些子节点中是否有终止节点。若有,则标记这些终止节点为可解节点,并用可解标记过程对其父节点及其先辈节点中的可解节点进行标记。如果初始解节点S0能够被标记为可解节点,就得到了解树,搜索成功,退出搜索过程;若果不能确定S0为可解节点,则从Open表中删去具有可解先辈的节点
转第(2)步
(4)如果节点n不可扩展,则做下列工作:
标记节点n为不可解节点
应用不可解标记过程对节点n的先辈中不可解的节点进行标记。如果初始解节点S0也被标记为不可解节点,则从Open表中删去具有不可解先辈的节点
转第(2)步
与或树的深度优先搜索
与或树的深度优先搜索和与或树的宽度优先搜索过程基本相同,其主要区别在于Open表中节点的排列顺序不同。在扩展节点时,与或树的深度优先搜索过程总是把刚生成的节点放在Open表的首部
与或树的有限深度优先算法:
(1)把初始节点s0放入Open表中
(2)把Open表的第一个节点取出放入Closed表,并记该节点为n
(3)如果节点n的深度等于dm,则转第(5)步的第一点
(4)如果节点n可扩展,则做下列工作
扩展节点n,将其子节点放入Open表的首部,并为每一个子节点设置指向父节点的指针
考察这些子节点中是否有终止节点。若有,则标记这些终止节点为可解节点,并用可解标记过程对其父节点中的可解节点进行标记。如果初始节点S0能够被标记为可解节点,就得到了解树,搜索成功,退出搜索过程;如果不能确定S0为可解节点,则从Open表中删去具有可解先辈的节点
转第(2)步
(5)如果节点n不可扩展,则做下列工作
标记节点n为不可解节点
应用不可解标记对节点n的先辈中不可解的节点进行标记。如果初始节点S0也被标记为不可解节点,则搜索失败,表明原始问题无解,退出搜索过程;如果不能确定为不可解节点,则从Open表中删去具有不可解先辈的节点
转第(2)
与或树的启发式搜索
与或树的盲目搜索时按确定路线进行的,没有考虑要付出的代价,因而求得的解树不一定是代价最小的解树,即不一定是最优解树。因此,我们需要考虑与或树的启发式搜索。
与或树的启发式搜索过程是一种利用搜素过程所得到的启发性信息寻找最优解的过程
对搜索的每一步,算法都试图找到一个最有希望成为最优解的子树
最优解树是指代价最小的那棵解树
要寻找最优解树,首先需要计算解树的代价。在与或树的启发式搜索过程中,解树的代价可按如下规则计算:
(1)若n为终止节点,则其代价h(n)=0
(2)若n为或节点,且子节点为n1,n2,...,nk,则n的代价为h(n)=min{c(n.\,ni)+h(ni)}(1<=i<=k)其中,c(n,ni)是节点n到其子节点ni的边代价
(3)若n为与节点,且子节点为n1,n2,...nk,则n的代价可用和代价法或最大代价法
若用和代价法,则其计算公式为
h(n)=求和((c(n,ni)+h(ni))
i=1,2,......k
若用最大代价法,则其计算公式为
h(n)=max{c(n,ni)+h(ni)}
(1<=i<=k)
(4)若n是端节点,但又不是终止节点,则n不可扩展,其代价定义为h(n)=无穷大
(5)根节点的代价即为解树的代价
为了找到最优解树,搜索过程的任何时刻都应该选择那些最有希望成为最优解树一部分的节点进行扩展。由于这些节点及其父节点所构成的与或树最有可能成为最优解树的一部分,因此称它为希望解树,也简称为希望树。
搜索过程:
(1)把初始节点S0放入到Open表中,计算h(S0)
(2)计算希望树T
(3)依次在Open表中取出T的端点放入Closed表,并记该节点为n
(4)如果节点n为终止节点,则做下列工作
标记节点n为可解节点
在T上应用可解标记过程,对n的先辈节点中的所有可解节点进行标记
如果初始节点S0能够标记为可解节点,则T就是最优解树,成功退出
否则,从Open表中删去具有可解先辈的所有节点
转第(2)步
(5)如果节点n不是终止节点,但可扩展,则做下列工作
扩展节点n,生成n的所有子节点
把这些子节点都放入Open表中,并为每一个子节点设置指向父节点n的指针
计算这些子节点及其先辈节点的h值
转第(2)步
(6)如果节点n不是终止节点,且不可扩展,则做下列工作
标记节点n为不可解节点
在T上应用不可解标记过程,对n的先辈节点中的所有不可解节点进行标记
如果厨师节点S0能够被标记为不可解节点,则问题无解,失败退出
否则,从Open表中删去具有不可解先辈的所有节点
转第(2)步
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/盐析白兔/article/detail/378559?site
推荐阅读
article
第十四届
第三期
蓝桥
模拟赛深
搜
题解...
深度优先
搜
索,
蓝桥
杯
第十四届
第三题模拟赛深
搜
dfs题
第十四届
第三期
蓝桥
模拟赛深
搜
题解 最大连通...
赞
踩
article
深入浅出
--
系统
架构之
分布式
集群
的分类...
通过多台物理机器,组成一台逻辑上的庞大机器使用①高可用:
集群
内某个节点故障,可迅速将流量迁移至其他节点,解决了单点故障;...
赞
踩
article
Django
计算机
毕业
设计
基于框架的在线
问答
平台(程序+lw)
Python
_
python
毕业
设计
基于...
该项目含有源码、文档、程序数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版py项目技术:djan...
赞
踩
article
【
论文
阅读】2023-
ICLR
:
TimesNet
_
论文
笔记
:
timesnet
...
本文创新地将一维时间序列转化至二维空间进行分析,并进一步提出了任务通用的时序基础模型——
TimesNet
,在长时、短时预...
赞
踩
article
GPS
室外
定位导航
车
开发
说明
教程
,想去哪里点哪里!...
声明原文地址 :http://blog.cvosrobot.com/?post=509最近会更新如下
教程
,欢迎跟进大
车
户...
赞
踩
article
【云计算】
HBase
表
操作
_
hbase
创建
学生
表
...
HBase
是一个分布式、可扩展的、非关系型的NoSQL数据库。它是建立在Hadoop HDFS上的一个开源的数据库管理系...
赞
踩
article
pytorch
官方教程3 translation with
seq2seq
and attentio...
前言 Encoder-Decoder模型可应用于机器翻译、文本摘要、对话机器人。 没有AM(
attention
mode...
赞
踩
article
【
图像
拼接】论文精读:Seam-
guided
local
alignment
and stitchi...
论文题目:Seam-
guided
local
alignment
and
stitching
for
large
par...
赞
踩
article
什么是
数字
人
?
数字
人
直播间
如何
搭建
?_
数字
人
直播间
怎么
搭建
...
随着直播行业的不断发展和完善,直播内容形式的多样性给企业、商家、创业者带来了无限机遇和可能,越来越多的
人
加入直播行列。...
赞
踩
article
Transformer
时间
序列
:
PatchTST
引领
时间
序列
预测
进_
patchtst
代码讲解...
如果仅仅使用逐点计算的注意力机制,模型只能关注当前
时间
步的价格,而无法获取到前一天的价格信息。最近的一篇论文甚至表明,简...
赞
踩
article
9种
高
性能
高
可用
高
并发
的技术
架构
_
高
并发
高
可用
架构
...
如有侵权 请私信进行删除。 每一个模式描述了一个在我们周围不断重复发生的问题...
赞
踩
article
URLError
:
urlopen
error
[
WinError
10060]
由于
连接
方在一段时...
用mnist数据集步骤如下:出现错误:解决方案1:这可能是
由于
自身网络问题或者mnist数据集下载网页
连接
不成功导致
,
这...
赞
踩
article
东方
通
| 基于
TongWeb
中间件
适配
改造实战_
东方
通
适配
...
基于
东方
通
TongWeb
系列
中间件
作国产化
适配
_
东方
通
适配
东方
通
适配
...
赞
踩
article
【
人工智能
】
问题
规约...
执行可解标志过程:就是对其父节点标识(其某个后继节点是终叶节点),并且向上看此时该节点的父节点能否判断其是否可解。组成部...
赞
踩
article
推荐
系统
rerank
模型
梳理&论文
推荐
...
作者:忆昔,阿里首猜
推荐
算法工程师,欢迎勾搭交流,email: yufei.fyf@alibaba-inc.com一个标...
赞
踩
article
Rancher
+
k8s
+
Jenkines
流水线+
SpringCloud
微服务部署实践_ranche...
Rancher
+
k8s
+
Jenkines
流水线+
SpringCloud
微服务部署实践容器虚机规划
k8s
用来管理doc...
赞
踩
article
【小黑送
书
—
第十一
期】>>如何
阅读
“
计算机
界三大神
书
”之一 ——
SICP
(
文末送
书
)...
如果本
书
是你学习
计算机
科学技术的第一本
书
(
或者学的第一门课),这段学习经历能为你今后的学习建立一个坚实的基础,帮助你更顺...
赞
踩
article
Docker
安装
及
使用
教程_
docker
菜鸟教程
安装
...
■ 简介
Docker
是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。
Docker
可以...
赞
踩
article
记录利用
设计模式
取代
if
-
else
的
一些方法
_
替换
if
else
设计模式
...
提前注入所有
的
优点:扩展时只需要将新
的
接口实现类注入到sprin容器中即可缺点;每次都需要遍历全部
的
接口类,且无法控制执...
赞
踩
article
SSE
的简单
使用
_
sse
使用
...
近期在项目中出现了一个需求:对话实现打字机模式,所以学了一点
sse
,记录一下。具体情况如下:1、第三方厂商
使用
SSE
向后...
赞
踩
相关标签
java
系统架构
分布式
python
django
课程设计
论文阅读
深度学习
hbase
云计算
大数据
自然语言处理
图像拼接
image stitching
Image Stitching
图像处理
计算机视觉
人工智能
transformer
时间序列
tensorflow
mnist
东方通
中间件