首页 > 编程语言 >[学习笔记] Minimax 算法和 Alpha-Beta 剪枝

[学习笔记] Minimax 算法和 Alpha-Beta 剪枝

时间:2024-10-18 19:23:50浏览次数:12  
标签:剪枝 结点 Minimax Beta https 权值

题目引入

在博弈论中,有这样一类题目:

  • 两个玩家 A、B 轮流行动,A 先手,B 后手。
  • 有一个结果,A 想要使它最大,B 想要使它最小。

Minimax 算法

把每个状态作为一个点,每个转移作为一条边建出一棵树。这棵树好像叫博弈树。

两种实现(都没有真正地建树):

  1. 直接搜索(可能有结点被重复经过)
  2. 记忆化搜索。

现在我们不考虑 当前的 先手和后手,而是考虑当前结点是 一开始的 先手还是后手行动,即是 A 还是 B 行动。

每个状态得到一个确定的权值。因为 A 想让权值尽量大,所以 Ta 会在 Ta 行动的每一步都取子结点权值的 max。类似地,B 会在 Ta 行动的每一步取子结点的 min。

那么直接用上面提到的两种实现来实现这个“树形 DP”的过程即可。

Alpha-Beta 剪枝

jsh: 画图!

参考

https://zhuanlan.zhihu.com/p/404144927 (应该不全)

https://oi-wiki.org/search/alpha-beta/ (主要是代码实现)

https://www.cnblogs.com/wkfvawl/p/12066647.html

2024.10.18

标签:剪枝,结点,Minimax,Beta,https,权值
From: https://www.cnblogs.com/huangkxQwQ/p/18474903

相关文章

  • Codeforces Beta Round 93 (Div. 1 Only) B. Password 一题三吃
    https://codeforces.com/problemset/problem/126/B学完Z函数,先用哈希做了一遍,再用Z函数做了一遍,然后搜其他人的题解发现用next数组也能做,就又做了一遍B.Password题意给一串字符串\(s\),要求找一个最长的\(t\)\(t\)既是\(s\)的前缀串,也是后缀串,还是除了前缀后缀外的一个......
  • 基于Python的自然语言处理系列(22):模型剪枝(Pruning)
            在深度学习领域,尤其是当模型部署到资源有限的环境中时,模型压缩技术变得尤为重要。剪枝(Pruning)是一种常见的模型压缩方法,通过减少模型中不重要的参数,可以在不显著降低模型性能的情况下提升效率。在本文中,我们将详细介绍如何在PyTorch中使用剪枝技术,并通过一些实......
  • Lemon Beta 安装&使用 保姆级教程
    准备食材LemonBeta(点击此处下载)Mingw-w64(点击此处下载)安装1)安装LemonBeta把LemonBeta压缩包下载下来解压,注意lemon.exe要设置以管理员身份打开。如果想永久设置,可以右键lemon.exe,依次点击属性——兼容性选项卡——勾选以管理员身份运行此程序——确定。可......
  • 剪枝的应用,bfs判重 蚱蜢跳——蓝桥p642
    **问题描述总共有九个盘子,八只蚱蜢,且每个盘子中只能容下一只蚱蜢,蚱蜢的编号为1~8,如果蚱蜢所在的盘子紧邻着空盘子,那么该蚱蜢可以从自己的盘子跳到空盘子中,也可以隔一个盘子跳到空盘子中,问一开始状态是012345678,蚱蜢至少该跳多少步才可以被变为087654321**输入无**输出蚱蜢跳......
  • MiniMax、商汤科技、面壁智能、西湖心辰、声网都来了!RTE 大会「实时互动和大模型」专
       当大模型进化到实时多模态,将诞生什么样的新场景和玩法? VoiceAI实现human-like的最后一步是什么? AI视频爆炸增长,新一代编解码技术将面临何种挑战? 所有AIInfra都在探寻规格和性能的最佳平衡,如何构建高可用的云边端协同架构? AI加持下,空间计算和新......
  • 简单搜索(BFS,DFS,剪枝)一网打尽
    深搜DFS含义深搜是一种遍历或搜索图和树的算法。实现方式(不撞南墙不回头)根据题目选择一个适合的源节点,从源节点开始选择一条路一直走,直到无法前进(不满足题目条件)时,返回到上一个节点重新尝试,直到当前的节点的所有子节点都已经被访问过,再次返回到当前节点的上一节点,继续重复......
  • Java中的高效模型压缩技术:从剪枝到知识蒸馏
    Java中的高效模型压缩技术:从剪枝到知识蒸馏大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!随着深度学习模型在各种任务中的广泛应用,模型的规模和复杂度也在不断增加。然而,较大的模型通常会占用大量的计算资源和内存,使其在资源有限的设备上(如移动设......
  • 云原生周刊:Prometheus 3.0 Beta 发布|2024.09.16
    开源项目推荐KumaKuma是一个现代化的基于Envoy的服务网格,能够在每个云平台上运行,支持单区域或多区域部署,兼容Kubernetes和虚拟机。凭借其广泛的通用工作负载支持,以及对Envoy数据平面代理技术的原生支持(但无需Envoy专业知识),Kuma提供了现代化的L4-L7服务连接、发现、......
  • Alpha-Beta 剪枝
    有一个简单的博弈问题:现在有一颗\(n\)个点的树,每次询问后给出一个点连接的所有子节点。Alice和Bob在树上博弈。Alice和Bob每次可以将点向下移动一格。如果到了叶子节点,便不再移动,交互库给出叶子权值。Alice希望选的数最大,Bob反之。求:到达的数最后是多少?显然有\(......
  • DFS算法专题(一)——二叉树中的深搜【回溯与剪枝的初步注入】
    目录1、DFS算法简介2、算法实战应用【leetcode】2.1计算布尔二叉树的值2.1.1算法原理 2.1.2算法代码2.2求根节点到叶节点数字之和  2.2.1算法原理​2.2.2算法代码2.3二叉树剪枝2.3.1算法原理2.3.2算法代码2.4验证二叉搜索树 2.4.1算法原理 2.4.2......