划分树、倾斜树、线段树、平衡树哪个不是数据结构?

划分树、倾斜树、线段树、平衡树哪个不是数据结构?,第1张

倾斜树不是。
数据结构中提到的树如下所示:
基础类:二叉搜索(排序)树,线索二叉树,哈夫曼树(最优二叉树),二叉堆
平衡树类:AVL,红黑树,2-3树,2-3-4树,B树,B+树,B-树,treap,SBT
优先队列类:左高树(左偏树,可并堆,斜堆),双端堆,斐波那契堆
集合类:并查集
区间树类:线段树,划分树,归并树,树状数组
字母树类:字典树,后缀树AC自动机算法
动态树类:伸展树
计算几何类:KD-tree
(块状树),4叉树
RMQ转LCA:笛卡尔树
图论相关:最小生成树,无根树
其它:败者树,博弈树

博弈树的每个结点表示一个动作对吗:错误。

在博弈树搜索中,整棵博弈树是通过一个个的节点以父子结构连接构成的,这棵博弈树是自组织、自生长的,当搜索到达一个节点之后,如果该节点不是叶子节点的话,则会在其子节点中利用UCB1公式选择一个子节点作为当前节点,如果该节点已经是叶子节点,则调用评估器对该叶子节点进行评估和扩展。由此可见,Node类也就是整个UCT算法的核心。


在Node类中,每个节点最基本的信息就是当前节点的状态了,除此之外,则是关于树的组织结构的信息。而所谓当前节点状态也就是当前节点所处的棋盘状态的信息,为此,继承自Board作为其一个子类是自然而然的想法。

要减小博弈大师占用内存空间,可以考虑以下几个方面:优化算法:通过改进算法,减少博弈树的分支和深度,从而降低内存占用。压缩数据结构:使用压缩算法对数据结构进行压缩,减小内存占用。限制搜索深度:可以设置博弈树搜索的深度,避免搜索过深而导致内存占用过大。清除不必要数据:及时清理不再需要的数据,释放内存空间。以上是减小博弈大师占用内存空间的一些方法。通过优化算法、压缩数据结构、限制搜索深度和清除不必要数据等方式,可以有效降低博弈大师的内存占用。

α-β剪枝技术
首先分析极小极大分析法效率,上述的极小极大分析法,实际是先生成一棵博弈树,然后再计算其倒推值,至使极小极大分析法效率较低。于是在极小极大分析法的基础上提出了α-β剪枝技术。
α-β剪枝技术的基本思想或算法是,边生成博弈树边计算评估各节点的倒推值,并且根据评估出的倒推值范围,及时停止扩展那些已无必要再扩展的子节点,即相当于剪去了博弈树上的一些分枝,从而节约了机器开销,提高了搜索效率。具体的剪枝方法如下:
(1) 对于一个与节点MIN,若能估计出其倒推值的上确界β,并且这个β值不大于 MIN的父节点(一定是或节点)的估计倒推值的下确界α,即α≥β,则就不必再扩展该 MIN节点的其余子节点了(因为这些节点的估值对MIN父节点的倒推值已无任何影响 了)。这一过程称为α剪枝。
(2) 对于一个或节点MAX,若能估计出其倒推值的下确界α,并且这个α值不小于 MAX的父节点(一定是与节点)的估计倒推值的上确界β,即α≥β,则就不必再扩展该MAX节点的其余子节点了(因为这些节点的估值对MAX父节点的倒推值已无任何影响 了)。这一过程称为β剪枝。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13099252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存