最大最小法及α-β剪枝算法图解

article/2025/9/28 23:44:15

(网上讲的都不是很好理解,贡献一下之前听慕课做的笔记,适合初学者比较简洁明了。)

要想理解α-β剪枝算法,必须从最大最小法的博弈问题讲起!注意不懂的同学不要跳过这一节。

  1. 最大最小法

       场景:双方博弈 

       前提:假设有两个人比赛取数字,一个人想尽可能的取大,另一个人想尽可能取小,数字的大小作为双方胜负的判断标准。从最底层叶子节点开始取数,两个人一人取一次,每次只能从上一次(即下一层)的结果中取数,最终根据最后一层节点(也就是最上方根节点)的值的大小(学名叫做评估值)进行胜负角逐。想取大的人给他取名MAX,他在根结点的评估值越大时越会赢(+ꝏ一定赢),想取小的人叫做MIN,他在根结点的评估值越小时越会赢(-ꝏ一定赢)。若值为0时表示两人平手。

       如下图,考察距离最终根结点向前3步时(即考察深度为3),各节点的评估值。假设最后一步(第0层)是MAX来取数,往前三步分别是MIN,MAX,MIN取数。倒推着来看,若两个人都想赢,分别会再各自取数时怎么去做。MAX在根节点S选择后继节点时,下一层的评估值分别是3,1,则MAX应选择更大的一条路即SA。

      看图上标注的第0-第3层,在第0层时,MAX可以选择第1层的AB节点的值,往前倒推,MIN在第1层时AB的值又分别可以选择第2层CDE和FG的值,MAX在第2层时可以选择第3层H-Q的值。

首先看最后一步,当处于第2层时MAX要作出决定,从H-Q中选择一个更大的值,那么C节点应该选择的就是H(因为H表示5,比I表示的0大,为了赢MAX要尽量选择更大的值才有可能赢);D对应K,EFG的评估值分别为最大的LOQ,即3,3,1;

MAX在第2层选完以后,MIN在第1层时为了赢必会选值更小的,即A选3(D或E),B选1(G)。

(——这里的假设前提:博弈双方均会选择对自己最有利的方法去做。)

考察深度越深,算法博弈水平越高。不需要生成所有博弈树,只要到规定的深度即可。

 e58a0a0f9fef47f088eb060c6e21034b.png

89f60b88b4b845329fb678f5344c72fc.png


       2.最大最小法优化:α-β剪枝

       目的是减少博弈树扩展,减少使用内存,增加决策深度。

当前节点为MAX时,取左侧第一个评估值就是α值,为下限,若其他下层节点小于α则可直接剪枝;

当前节点为MIN时,取左侧第一个评估值就是β值,为上限,若其他下层节点大于β则可直接剪枝。

(看不懂吧😂,看不懂就对了,直接看下面案例就明白了~)

38bbbb993587405390759c2a4d628e4b.png

c22b835aabea43b682a29e5637cbace3.png

 

实际使用案例

6d8f6ea7307a42169e1a5fb41e35707a.png

下面为自己看图推理的过程:

前提背景和前面刚说的最大最小博弈一样,

假定第3层MIN来取值,第2层MAX来取值,第1层MIN,第0层(根结点S)MAX

即为了获胜,第3层,CFJLOR都是想取MIN值; 第2层,BIVW都是想取MAX值;

第1层AU想取MIN值; 第0层S想取MAX值。

一层一层来看:首先C想取MIN,就从根节点的DE中,找到MIN值为D(0),则C的值取0,此时将C的值=0,赋给上层的B作为其α值;

B 想取MAX值,就要比较下方的C、F两个结点,F值不知,需要再往F下层看。由于F想取MIN值,先看下层最左边G值为-3,将G的值= -3作为F的β值。

到这里就很明确了:由于B 想取下方结点CF中的最大值、F想取下方结点GH中的最小值,所以不论H的值是多少,最终F的取值一定是小于等于G值的,也就是F此时的β值,-3 ; 

而此时再看B ,β= -3,小于α=0 , 由于B要取一个最大值,所以接下来就没必要再看H 的值了,不论H是多少都改变不了C大于F的命运,因此可以直接把F这一枝去掉不管了,直接剪枝!(唱一首destiny……~)


根据以上烦人的推理,总结出的结论就是前文所说的:

当前节点为MAX(此处指B)时,取左侧第一个评估值(此处指C)就是α值,为下限,若其他下层节点(此处指F)小于α则可直接剪枝;

同理推理A\B\I结点及其下方枝叶,也可以得到:

当前节点为MIN(此处指A)时,取左侧第一个评估值(此处指B)就是β值,为上限,若其他下层节点(此处指I)大于β则可直接剪枝。

 

综上,为了避免每次都死脑细胞的推理一遍,所以α-β剪枝直接给出一个结论,以后根据下图的规则,直接使用即可避免麻烦。

c22b835aabea43b682a29e5637cbace3.png

 

 

 

 


http://chatgpt.dhexx.cn/article/qsI29UwF.shtml

相关文章

剪枝算法实现一字棋-C++

博弈树 alpha & beta剪枝算法实现一字棋 剪枝算法首先就是要理解,把这个算法彻底弄清楚,我觉得这是一件非常有意义的事情!为后续书写其它棋类的AI打下了坚实的基础 剪枝操作的实现,遍历下一步所有可能取到的点,…

模型压缩:剪枝算法

过参数化主要是指在训练阶段,在数学上需要进行大量的微分求解,去捕抓数据中的微小变化信息,一旦完成迭代式的训练之后,网络模型推理的时候就不需要这么多参数。而剪枝算法正是基于过参数化的理论基础而提出的。 剪枝算法核心思想…

人工智能算法模型--Alpha-Beta剪枝算法学习笔记

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪 (*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &a…

理解Alpha-Beta 剪枝算法

Alpha-beta剪枝是一种搜索算法,用以减少极小化极大算法(Minimax算法)搜索树的节点数。裁剪搜索树中没有意义的不需要搜索的树枝,提高运算速度。 搜索中传递两个值。 第一个值是Alpha,即搜索到的最好值,任何…

组合总和(剪枝算法)

组合总和(剪枝算法) 题目 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取 示例 示例 1:输入: candidates [2,…

Alpha-Beta剪枝算法原理

1. 前言 前文:极小化极大(Minimax)算法原理 极小化极大算法在完全信息零和博弈中,基于己方努力使得在N步后优势最大化(即评估函数输出值最大化)和对方努力使得N步后己方优势最小化这两个出发点&#xff0c…

GRNN广义回归神经网络

广义回归神经网络 GRNN (General Regression Neural Network) 广义回归神经网络是基于径向基函数神经网络的一种改进。 结构分析: 可以看出,这个结构与之前我们所讲过的径向基神经网络非常相似,区别就在于多了一层加和…

m分别使用BP神经网络和GRNN网络进行时间序列预测matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 广义回归神经网络是径向基神经网络的一种,GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归&#xff…

广义回归神经网络(GRNN)

广义回归神经网络(GRNN) 一、GRNN神经网络概述 二、GRNN神经网络理论基础(如果对理论不感兴趣可直接看GRNN网络结构,网络结构理解更直观) 三、GRNN的网络结构 注意:一定要理解第三个求和层的概念&#xff0…

【GRNN情绪识别】基于GRNN神经网络的情绪识别算法matlab仿真

1.软件版本 matlab2021a 2.本算法理论知识 GRNN,即General Regression Neural Network,中文全称为广义回归神经网络,是由The Lockheed Palo Alto研究实验室在1991年提出的。GRNN是一种新型的基于非线性回归理论的神经网络模型[43,44]。GRN…

m基于C3D-hog-GRNN广义回归神经网络模型的人员异常行为识别算法的matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 实时的人群异常行为识别是一项极具挑战的工作,具有较高的现实意义和社会需求,快速准确地判断出异常行为并及时预警,一直是我们探索的方向。传统的机器学习算法…

基于BP神经网络/GRNN神经网络的电力预测matlab仿真

目录 一、理论基础 二、案例背景 三、MATLAB程序 四、仿真结论分析 一、理论基础 BP神经网络,即Back Propagation神经网络,其本质是一种基于误差反馈传播的神经网络算法。从结构上讲,BP神经网络是由一个信息的正向传播网络和一个误差的反…

RNN CNN GCN

RNN CNN GCN 属于深度学习领域——图像识别 主要用于识别提取图像的特征 CNN:对象是图片,一个二维结构,其主要核心是有一个kernel小窗口,用于图片的平移,然后再利用卷积来提取图片的特征。 RNN:针对一维结构,主要利用…

基于麻雀搜索算法优化的广义回归神经网络(GRNN)预测 -附代码

基于麻雀搜索算法优化的广义回归神经网络(GRNN)预测 文章目录 基于麻雀搜索算法优化的广义回归神经网络(GRNN)预测1.GRNN 神经网络概述2.GRNN 的网络结构3.GRNN的理论基础4.运输系统货运量预测相关背景5.模型建立6.麻雀搜索算法优化GRNN7.实验结果8.参考文献9.Matlab代码 摘要&…

广义回归神经网络(GRNN)的数据预测

广义回归神经网络是径向基神经网络的一种,GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归,样本数据少时,预测效果很好, 网络还可以处理不稳定数…

神经网络(一):GRNN广义回归神经网络理论概念笔记

GRNN广义回归神经网络以及相关概念 https://blog.csdn.net/zengxiantao1994/article/details/72787849 https://blog.csdn.net/guoyunlei/article/details/76101899参考博客 小小白入坑系列,欢迎大佬的指教! 算法网上铺天盖地的,我只是把自己对算法的理…

【GRNN回归预测】基于matlab有限增量进化广义回归神经网络LIEV-GRNN数据回归预测【含Matlab源码 2132期】

⛄一、GRNN模型 GRNN是一种非线性回归的前馈式神经网络。通常是由输入层、模式层、求和层和输出层构成。GRNN算法在运算速度与学习能力上比径向基函数神经网络(radial basis function, RBF)、反向传播神经网络(back propagation, BP)更强,广泛应用于系统辨识、预测…

神经网络学习笔记(二)GRNN广义回归神经网络

广义回归神经网络(GRNN) 广义回归神经网络是径向基神经网络的一种,GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归,样本数据少时,预测…

GRNN神经网络概述

GRNN,General Regression Neural Network,即广义回归神经网络,最早是由美国的Donald F.Specht教授于1991年提出的基于非线性的回归理论的人工神经网络模型[47,48]。GRNN广义回归神经网络具有较好的网络适应能力,从而使得神经网络能…

广义回归神经网络GRNN回归预测-MATLAB代码实现

一、GRNN简介 广义回归神经网络(General Regression Neural Network, GRNN)是1991年提出的基于径向基函数(Radial Basis Fuction,RBF)网络的一种改进形式,与径向基函数网络相比,其训练更为方便…