回溯法与分枝—限界法的区别以及分支限界法分类以及LC学习

简介: 回溯法与分枝—限界法的区别以及分支限界法分类以及LC学习

区别


首先理解什么是状态空间树。

状态空间树:是指解空间的树结构

在状态空间树生成过程中有3类结点:活结点、E-结点、死结点

回溯法与分支限界法的区别主要在于:构造状态空间树的过程不一样。

回溯法是利用深度优先搜索构造,分支限界法是用广度优先搜索构造。

1685019353112.jpg


分类


接下来了解分支限界法。

可以利用队列或栈来导出分支限界法,所以依次分支限界法可以分为FIFO(队列)检索、LIFO(栈)检索

但两种扩充结点的方法过于呆板,导致偏向于正确答案的结点没有优先权。

分支限界法是扩展完一个E-结点所有儿子后再找一个结点作为E-结点扩展,上面两种扩展过于呆板,那是不是可以选择代价最小的结点的作为下一个E-结点进行拓展?

可以,这就是LC(least cost )检索的分支限界法。


LC分支限界法


LC分支限界法:选用一个成本函数C来标识结点成本,选择最小代价结点作为下一个E-结点:初始:C定义为结点x到目标答案结点的步数,但这个问题是要已知目标答案,所以不能这么精确.然后用g’来估计x到答案结点的代价,但是又会造成纵深检索;最后引入h函数表示根结点到x结点的位置减少纵深检索。

C’=f(h(x))+g’(x)

LC检索分支限界法流程:

1685019374623.jpg

当有多个答案是是否LC算法能够最小成本答案?

否,除非保证C(X)<C(Y),有C’(X)<C’(Y),或者保证C’(X)<=C(X)而且对答案结点有两种成本函数相等。


LC分支限界法应用


1. 15迷问题

1685019388939.jpg

首先先判断是否可达!

首先按照目标状态给棋盘方格编号,得出position(i)代表初始状态下标号i所在位置的棋盘编号,空格位置用16代替。

记录less(i)函数(编号比i小但是初始位置在position(i)之后的数字数目)

若less(i)累加+x(空格是否在偶数位(不考虑目标状态的偶数位),偶1,奇0)为偶数,可达!


LC算法:g’(x):该结点与目标状态的差距=不在其目标位置的非空白牌数目(精髓)


成本函数的上界的作用和定义:求答案的最小成本,过滤,初始为无穷


2.带期限的作业排序问题

1685019398350.jpg

按编号选取作业

g’(x)为已经考虑过但不在j集合的罚款数目

这里c’=g’.

1685019410952.jpg

相关文章
|
1月前
|
存储
【数据结构】二叉树链式结构——感受递归的暴力美学
【数据结构】二叉树链式结构——感受递归的暴力美学
|
5月前
|
算法
【经典LeetCode算法题目专栏分类】【第4期】BFS广度优先算法:单词接龙、最小基因变化、二进制矩阵中的最短路径
【经典LeetCode算法题目专栏分类】【第4期】BFS广度优先算法:单词接龙、最小基因变化、二进制矩阵中的最短路径
|
5月前
|
机器学习/深度学习 存储 算法
LeetCode题目 90:五种算法 回溯\迭代\位掩码\字典树\动态规划实现 子集ll
LeetCode题目 90:五种算法 回溯\迭代\位掩码\字典树\动态规划实现 子集ll
|
6月前
|
算法 测试技术 C#
【树 图论 阶乘 组合 深度优先搜索】1916. 统计为蚁群构筑房间的不同顺序
【树 图论 阶乘 组合 深度优先搜索】1916. 统计为蚁群构筑房间的不同顺序
|
6月前
|
算法 Java 图计算
图计算中的最短路径算法是什么?请解释其作用和常用算法。
图计算中的最短路径算法是什么?请解释其作用和常用算法。
59 0
|
算法 数据可视化 数据库
Apriori关联算法讲解以及利用Python实现算法软件设计
Apriori关联算法讲解以及利用Python实现算法软件设计
176 1
Apriori关联算法讲解以及利用Python实现算法软件设计
|
数据采集 存储 算法
图论:探索节点与关系的数学世界
引言 本文仅仅作为图论的概述,由于种种原因没有进行排版(笔者不太会用这个编辑器),超链接为扩展内容,大家可以点击详细学习。
118 0
|
数据采集 算法 C++
DFS(深度优先搜索)详解(概念讲解,图片辅助,例题解释,剪枝技巧)
DFS(深度优先搜索)详解(概念讲解,图片辅助,例题解释,剪枝技巧)
1018 0
|
存储 算法 UED
【算法入门&图论】【模板】拓扑排序|【模板】单源最短路2 |最小生成树(上)
【算法入门&图论】【模板】拓扑排序|【模板】单源最短路2 |最小生成树
89 0
|
算法 容器
【算法入门&图论】【模板】拓扑排序|【模板】单源最短路2 |最小生成树(下)
【算法入门&图论】【模板】拓扑排序|【模板】单源最短路2 |最小生成树
112 0