MinMax算法和Alpha-Beta剪枝
MinMax算法和Alpha-Beta剪枝
Minmax:一种用于博弈论 的 暴力dfs搜索算法。
思想:
假设先手为 alpha(A),后手为 beta(B)。现在,每一个dfs的搜索状态有一个权值
对于搜索树的一个节点(对应dfs中的一个状态),若现在轮到A走,那么A会走A的所有子节点中最小权值最大的节点,而B会走最大权值最小的点。
如图:方点是A,圆点是B。答案为3。
Alpha-Beta剪枝
用于Minmax搜索的优化
复杂度?哪有什么复杂度?只要知道这玩意跑得的确很快就行了。适用于10 * 10以内的数据
正文:
核心思想 :我们对每个结点记忆个可能的最小值
那我们该怎么确定某一个节点的
首先我们来讨论先手:
先手A为了获得最大的w,那么A会走A的所有子节点中最小权值最大的节点,同时用当前最小权值最大的节点来作为临时的
后手其实也类似,不过后手只会去更新
(稍微有点抽象,建议画图,或看博客的图解)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析