重读Alpha-Beta算法

组合游戏系列1: Leetcode中的Minimax 和 Alpha Beta剪枝 本系列,我们来看看在一种常见的组合游戏——回合制棋盘类游戏中,如何用算法来解决问题。首先,我们会介绍并解决搜索空间较小的问题,引入经典的博弈算法和相关理论,最终实现在大搜索空间中的Deep RL近似算法。在此基础上可以理解AlphaGo的原理和工作方式。 本系列的第一篇,我们介绍3个Leetcode中的零和回合制游戏,从最初的暴力解法,到动态规划最终演变成博弈论里的经典算法: minimax 以及 alpha beta 剪枝。 第一篇 Leetcode中的Minimax 和 Alpha Beta剪枝 阅读详情
Alpha值代表的是发起走棋一方(期望极大值)做能接受的最小值,搜索极大值一方必须要找到一个比Alpha值更大的,否则这步棋就没有任何意义
    Beta值代表的是对手(期望极小值)所能接受的最坏值,搜索极小值的一方必须找到一个比Beta值更小的一步棋,否则也是没意义的(因为有更好的一步棋已经生成了)

先看函数调用方式
int AlphaBeta(int depth, int alpha, int beta);

AlphaBeta(5, -INFINITE INFINITE);
这是发起走棋一方(搜索极大值的一方)调用的,因此设定为alpha为
-INFINITE;


这里假设是采用负极大值算法的

int AlphaBeta(int depth, int alpha, int beta)
{
   if(depth == 0 || IsGameOver()) return Evaluate(); //如果层数为0或者已达最终状态则返回本步棋的估值
   for(each possible move)
   {
     MakeMove();
    
     int val = -AlphaBeta(depth - 1, -beta, -alpha);
     UnMakeMove();
  
  if(val >= beta)
  {
    return val;
    //注意,这里需要返回val,因为上一层应该知道具体搜索到的值,以配合各种Alpha-Beta算法的变种
  }

     if(val > alpha)
  {
    alpha = val;
    ...
    //当然 这里还需要记录这步最佳的走法
  }
    
    
   }
   return alpha;//返回最好的值
}




首先假设是负极大算法,
Alpha值是父节点(非root)能搜索到的最大值,任何比他小的值都没意义。
Beta值是你所能找到的最坏的一种情况,任何比它大的都没意义。
{
  int val = -AlphaBeta(depth - 1, -beta, -alpha);
}
注意这个所谓的负极大的估值函数是估算本方的最优值,所以你的对手(子节点)估算出来的最优值如果大于你的-Beta
例如-beta == 3 子节点估值== 4,那么他实际上返回后(取负得-4)是小于你的Beta,所以它是有意义的。再看这个-alpha,
实际上是本层的beta是上一层节点(对手)的最大值的负值,如果任何本层节点取值,例如-alpha == 3,子节点估值为4,
4 >= 3,那么返回的是-4,-4< -3(alpha那个地方),所以无意义,因为在本层所有节点又都是越取越大(负极大),
所以本层也就没必要找了,直接剪枝了

btw: 我个人总感觉研究递归如果深入的去考虑stack frame是很愚蠢的,几乎越想越乱,几乎能疯了,呵呵
 
遗传算法实战进阶:抗早熟、自适应与工业级调优指南 遗传算法(GA)作为经典群体智能优化方法,其核心价值不在于模拟生物进化,而在于构建可控、可诊断、可复现的工程化演化系统。理解适应度函数设计原理,是避免收敛盲区的前提;掌握精英保留策略与自适应变异率机制,可有效应对早熟停滞这一工业场景最大痛点;实数编码、SBX交叉、反射式边界处理等关键技术细节,直接决定算法在连续优化问题中的鲁棒性。本文聚焦真实项目中高频出现的收敛失效、参数敏感、结果不可复现等问题,融合种群多样性监控、多准则终止、在线干预等工程实践手段,为已具备GA基础但难以稳定落地的工程师提供一套即插即用的 阅读详情

相关推荐

遗传算法进阶实战:破解早熟、收敛诊断与精英策略

遗传算法(GA)作为经典进化计算方法,其核心原理源于自然选择与种群演化,但真实工程落地常因适应度函数失配、参数僵化及精英机制缺失而陷入早熟或震荡。理解适应度缩放如何校准搜索空间几何结构、掌握自适应交叉/变异率的动态调控逻辑、构建分层精英保留机制以防止优质解丢失,是提升GA鲁棒性与收敛质量的关键技术价值。这些能力广泛应用于智能排产、广告出价优化、路径规划及超参搜索等工业场景。本文聚焦遗传算法进阶实现与收敛性诊断,深入剖析适应度函数设计陷阱与精英策略实操参数,提供可复用的生产级代码框架与量化调试方法。

weixin_34279246的博客 422

遗传算法工程实践:选择压力、交叉变异与自适应调参

遗传算法(GA)是一种模拟自然进化过程的全局优化方法,其核心在于选择、交叉与变异三大操作的协同机制。理解选择压力如何影响收敛与多样性、区分单点交叉与均匀交叉对模式保留的能力、掌握变异率动态衰减对防早熟的关键作用,是将GA从理论推向工业落地的基础。在调度优化、参数寻优、结构设计等黑箱强约束问题中,GA的价值不在于数学最优性证明,而在于鲁棒性、可解释性与工程可调性。本文聚焦真实场景下的参数配置逻辑、编码适配原则与故障诊断路径,提供一套面向实践者的GA调试框架。

weixin_30387799的博客 419

遗传算法工业级调参指南:选择压力、SBX交叉与自适应变异

遗传算法(GA)作为经典进化优化方法,其核心价值不在于概念理解,而在于工程落地的稳定性与鲁棒性。从基础原理看,GA通过选择、交叉、变异模拟自然进化,但真实场景中,轮盘赌选择易引发早熟,单点交叉在连续空间破坏几何一致性,固定变异率无法应对多样性衰减——这三大断层直接导致收敛慢、陷局部最优、解质量波动大。技术价值体现在:线性排序选择量化选择压力,模拟二进制交叉(SBX)保障实数编码的空间连续性,基于种群熵的自适应变异动态守卫多样性。典型应用于电机电磁参数优化、电池SOC标定、翼型气动寻优等工业级连续多峰问题。本

aofan9566的博客 457

《对弈程序基本技术》专题

Alpha-Beta搜索   Bruce Moreland (brucemo@seanet.com) / 文   最小-最大的问题     Alpha-Beta 同“最小-最大”非常相似,事实上只多了一条额外的语句。最小最大运行时要检查整个博弈树,然后尽可能选择最好的线路。这是非常好理解的,但效率非常低。每次搜索更深一层时,树的大小就呈指数式增长。   通常一个国际象棋局面都有35个左右的合理着法

djkin的专栏 1679

DeepSeekV4技术报告精读:MoE架构、动态KV压缩与长上下文工程实践

大语言模型的推理效率与长上下文支持,是当前AI工程落地的核心瓶颈。理解MoE(Mixture of Experts)稀疏激活机制、KV缓存压缩原理及动态滑动窗口设计,直接关系到显存占用、P99延迟与RAG召回率等关键指标。DeepSeekV4技术报告以可复刻的消融实验、硬件级配置清单和故障日志为锚点,系统揭示了Top-2门控、token-wise负载均衡、fp8量化KV存储及PCIe原子操作优化等工业级实践。它不仅提供性能数字,更构建了一套从数学损失函数设计、专家冷启动缓解,到NUMA绑定与内存分段预分配的

weixin_30732487的博客 324

数学建模中的数据考古:从流行音乐史到可计算序列

流行音乐史作为典型人文命题,其量化建模本质是将模糊历史叙事转化为可测量、可验证的数据序列。核心在于理解数据生成机制——年份对齐、流派编码、OCR错误模式等并非噪声,而是携带时代特征的‘数据指纹’;LDA主题演化与分形维数等技术,实为捕捉非线性时间趋势的数学语言。这类基于真实约束(小样本、低质量文本、无原始音频)的建模实践,凸显数据工程在数学建模中的基础性地位,尤其适用于历史数据分析、文化计算及跨学科定量研究场景。SPSSPRO与LDA在此过程中,既是工具载体,更是方法论试金石。

axfcjwkbi259888707的博客 342

[搜索算法] Alpha-Beta算法

计算机博弈最著名的算法之一——Alpha-Beta算法详解

YANG_sena的博客 3161

Catalan猜想与Mihăilescu定理:指数丢番图方程的终极解构

指数丢番图方程是数论中研究整数幂次关系的基础范式,其核心在于分析形如a^x − b^y = 1的整数解存在性。这类方程虽表述简洁,却深刻关联代数数论的深层结构,尤其依赖分圆域、单位群与类群理论的协同作用。Baker定理为其提供关键上界控制,而Mihăilescu定理则通过循环单位根同态与正则素数判据,完成对唯一解(3²−2³=1)的结构性证明。该成果不仅终结了长达158年的Catalan猜想,更推动了指数型方程求解范式的升维演进,在密码学、椭圆曲线及ABC猜想研究中持续释放技术价值。

weixin_33843409的博客 457

流程发现算法第1讲| Alpha算法

流程挖掘旨在从事件日志中提取关于业务流程的有效信息,从而去发现、监控和改进实际过程。流程发现是最具挑战性的流程挖掘任务之一,它允许在不使用任何先验信息的情况下从事件日志中发现流程模型。Alpha算法是最早应用于流程挖掘的流程发现算法,其方法和原理对我们有很好的借鉴作用。

北京凡得科技有限公司 1771

从内外参推导IPM变换方程及代码实现(生成AVM环视拼接图)

最近想实现AVM拼接,看了不少博客和论文,不过比较愚钝,一直没能很好理解原理,尤其是怎么在实现时把下文中Z1和Z2消除的,所以严谨的推导了一下对应的公式,如有不对,水平有限,烦请指出~IPM变换(逆透视变换),顾名思义,即将正常透视效应消除的变换,变换结果为鸟瞰图BEV(俯视图);AVM环视拼接一般是将车身前后左右的四个鱼眼相机拼接成环视图(也是俯视),其使用的单应矩阵将四个相机转到同一个俯视坐标系。

mxdsdo09的博客 4173

群晖NAS搭建Git Server避坑指南:从SSH配置到权限管理的完整流程

本文提供了一份详尽的群晖NAS搭建Git Server实战指南。文章从启用并安全配置SSH服务入手,深入解析了用户权限体系设计、SSH连接与仓库初始化、客户端SSH密钥配置等核心步骤,并提供了常见错误排查与生产环境加固方案,帮助开发者成功构建私有、安全的代码托管平台。

rock5的博客 420

Alpha-beta 算法

Alpha-beta 算法是棋类游戏中最常用的,也是最基础的剪枝方法, 要说Alpha-beta 算法 就得先说下max_min博弈树 算法,就是模拟电脑下子,要下在对电脑最优的地方,模拟人下子就要下在对人最优的地方,对电脑来说最差的地方 此图中甲是电脑,乙是玩家,那么在甲层的时候,总是选其中值最大的节点,乙层的时候,总是选其中最小的节点。 而每一个节点的分数,都是由子节点决定的,因

但求心安的博客 6901

doris2.1.8连接报错ERROR 1203 (42000): Reach limit of connections解决办法

摘要:客户Doris数据库报错"ERROR 1203 (42000): Reach limit of connections"的解决过程。发现AI提供的解决方案存在错误:1)查询命令应为SHOW FRONTEND CONFIG而非show variables;2)参数名称应为qe_max_connection而非max_connections。正确解决步骤:1)用admin账户登录查看连接数限制和当前连接数;2)通过SHOW PROPERTY命令检查用户资源限制;3)针对不同情况修改参数

Brent的专栏 1762

PLFM_RADAR路线图前瞻:Alpha阶段已实现与即将到来的8大特性

**PLFM_RADAR(AERIS-10)** 是一款开源的、低成本的 **10.5 GHz PLFM相控阵雷达系统**,采用脉冲线性调频(LFM)调制,面向高校研究者、无人机开发者与资深SDR爱好者。项目正处于 **Alpha阶段**,信号处理链路已在仿真与回归测试中全面跑通,而真实的硬件板级验证正在路上。本文为你梳理Alpha阶段已实现的成果,并前瞻即将到来的8大特性,帮你判断这个开源雷达项

gitblog_00060的博客 402

OpenFOAM高效学习路线:如何用B站+东岳流体3个月掌握CFD仿真

本文分享了一套高效的OpenFOAM学习路线,结合B站视频、东岳流体教程和官方文档,帮助在职工程师在3个月内掌握CFD仿真技术。通过渐进式学习计划和案例训练,从基础到实战,快速提升独立建模能力。

weixin_29202213的博客 318

【SCADA】KingSCADA将数据插入SQLServer的方法

1、创建数据库及数据表格;2、配置ODBC数据源。3、通过KingSCADA与数据库建立连接,将数据写入数据库对应表格。

做有价值的事,积累有价值的笔记! 4958

遗传算法工程化:从失效诊断到可控演化系统构建

遗传算法(GA)作为一种经典群体智能优化方法,其核心价值不在于模拟生物进化,而在于为非凸、多约束、黑箱型工程优化问题提供可诊断、可干预、可复现的求解路径。理解其内在机制需超越轮盘赌选择与单点交叉等表层操作,深入适应度函数设计原理、种群多样性坍塌的数学判据及早熟收敛的实时监测信号。这些关键技术要素共同支撑GA在芯片布线、新能源调度、工业参数标定等真实场景中替代传统梯度法与启发式规则。本文聚焦GA从学术概念到工业级工具的范式跃迁,重点解析如何通过选择压力量化控制、自适应路径交叉(APC)和分段对数缩放等工程手段

weixin_30416871的博客 365

YOLO26-seg分割优化:轻量化卷积魔改 | 新的partial convolution(PConv)结合C3k2 | CVPR2023

​​​​​摘要:本研究对Ultralytics YOLO26进行了全面分析,重点阐述了其关键架构改进及其在实时边缘目标检测中的性能基准测试。YOLO26于2025年9月发布,是YOLO系列最新、最先进的成员,专为在边缘及低功耗设备上实现高效、精确且易于部署的目标而构建。本文依次详述了YOLO26的架构创新,包括:移除了分布焦点损失(DFL);采用端到端的无NMS推理;集成了渐进损失(ProgLoss)与小目标感知标签分配(STAL);以及引入了用于稳定收敛的MuSGD优化器。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 151

遗传算法工程化:从生物隐喻到可控演化系统

遗传算法(GA)作为一种经典群体智能优化方法,其本质并非对生物进化的简单模拟,而是具备状态可观测、参数可调控、行为可诊断的工程化演化系统。理解其核心机制——如适应度函数的引导性设计、种群多样性熵H(t)的量化监控、选择压力σ的数学约束——是突破早熟收敛与不可复现困境的关键。在黑箱优化、多约束调度、超参搜索等典型工业场景中,GA的价值正从‘能跑通’转向‘可验证、可审计、可部署’。本文聚焦GA落地中的三大魔鬼细节:适应度函数的物理量纲惩罚、实数编码的自适应步长策略、以及四重熔断式终止机制,结合风电预测、芯片布线

weixin_30784501的博客 290

24、水下传感器网络中混合LEACH协议与遗传算法获取路由节点

本文提出了一种结合遗传算法与LEACH协议的混合路由方案,用于提升水下无线传感器网络(UWSN)的能量利用效率和数据传输稳定性。通过遗传算法优化簇头选择与路径规划,有效避免节点过早死亡,减少能量消耗,在200个节点场景下显著提升网络寿命。相比传统LEACH协议,该方案具有更高的能量利用率、更强的环境适应性,并支持传输历史记录与并行传输序列。实验结果显示,该方案在总能量为2000焦耳时剩余能量达75.6%,远优于LEACH的34.8%能耗表现。适用于海洋监测、石油平台监控及水下灾害预警等复杂环境应用。

i8j9k0l1的博客 112

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

遗传算法工程化实践:适应度函数设计与早熟收敛防控

遗传算法(GA)作为一种经典启发式优化方法,其核心价值在于解决复杂、非凸、不可导的工程优化问题。理解其工作原理需超越生物类比,聚焦于适应度函数如何将业务目标转化为可驱动搜索的竞争力信号;关键挑战在于早熟收敛——即种群过早丧失多样性并停滞于局部最优。这背后往往源于适应度尺度失衡、目标函数高原区、或惩罚机制失当等可量化缺陷。通过引入种群多样性监测、自适应变异调控与精英池动态管理等工程化手段,GA可从‘能跑通’升级为‘可解释、可干预、可部署’的生产级优化器,广泛应用于超参调优、路径规划、参数寻优等真实场景。

weixin_30673611的博客 382

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

遗传算法工程化:从黑箱调参到可诊断、可干预的优化系统

遗传算法(GA)作为经典群体智能优化方法,其本质并非对生物进化的简单模拟,而是一种面向复杂搜索空间的鲁棒性反馈控制系统。理解其核心原理需超越轮盘赌选择与二进制编码等表层操作,深入适应度函数设计、种群多样性维持、早熟收敛判据等工程关键机制。技术价值体现在将GA由‘能跑通的玩具’升级为具备收敛诊断能力、参数自适应调节和多约束可行性保障的工业级求解器。典型应用场景涵盖产线排程、工艺参数优化、多目标超参调优等强非线性、高维、带硬约束的实际问题。本文聚焦GA工程落地中的三大硬核维度:适应度函数设计陷阱、种群多样性坍塌

weixin_30617737的博客 410

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

AlexNet深度解析:计算机视觉革命的四大关键技术

卷积神经网络(CNN)作为深度学习在计算机视觉领域的核心架构,通过局部连接和权值共享显著提升了图像特征提取能力。其核心原理是通过多层卷积操作构建层次化特征表示,配合池化层实现空间信息压缩。AlexNet作为CNN发展史上的里程碑,首次验证了ReLU激活函数、局部响应归一化(LRN)、双GPU并行训练和重叠池化等关键技术在大规模图像识别中的价值。这些创新不仅解决了传统sigmoid激活函数导致的梯度消失问题,还通过硬件级优化突破了当时GPU显存限制。在ImageNet等实际应用场景中,这些技术组合使模型准确率

weixin_34037515的博客 497

Flow-Based Policies:最大熵强化学习中的可逆流策略与EM优化

在强化学习中,策略的表达能力直接决定智能体的鲁棒性与泛化性。传统高斯策略受限于固定分布假设,难以建模复杂动作空间的结构化多样性;而基于流的策略(Flow-Based Policies)借助可逆变换(Normalizing Flow),将简单先验映射为状态条件下的高表达力动作分布,天然支持最大熵框架(MaxEnt-RL)所要求的行为熵最大化。其核心挑战在于隐变量采样导致的梯度不可导问题,使得标准梯度下降失效——这正是期望最大化算法(EM)成为必要技术路径的根本原因。EM通过解耦E-step(确定性逆变换)与M

weixin_33692284的博客 417

jQuery 1.5 Deferred机制与jXHR封装技术解析

Deferred 是前端异步编程中状态管理的早期实践,其核心并非时间延迟,而是解耦回调注册与执行时机,构建 pending/resolved/rejected 三态状态机;jXHR 则代表浏览器兼容性封装的范式升级,统一 XMLHttpRequest 差异,标准化 status、responseHeaders 等接口。这类轻量级协议栈抽象,为现代 Promise、Fetch 拦截器、Axios 中间件等提供了工程原型。在 IE6-8 兼容攻坚、内存泄漏防控、DOM 就绪流程重构等真实场景中,jQuery 1

diaoqi6581的博客 499
上一篇: 算法记录 : 基本排序
下一篇: 算法记录:归并排序
SolidusSnake
博客等级 码龄20年 1粉丝 14原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值