Minimax/ Alpha beta 剪枝移动顺序?

2024-03-13

我读过(例如,http://radagast.se/othello/Help/order.html http://radagast.se/othello/Help/order.html)首先搜索每个级别的最佳动作(可以使用迭代加深找到)使得搜索速度更快。

如何在不使用太多额外内存和 CPU 时间的情况下搜索可能的最佳走法?


基本上有两种策略:

  1. 静态移动排序
  2. 动态移动排序

动态移动排序使用以前搜索中的信息,因为您再次调换到同一位置,或者您已经在之前不太彻底的搜索中到达了该位置。就是你提到的迭代加深的思想,不断增加搜索距离。

动态移动排序非常强大。有很多方法可以做到这一点,但最常见的两种是换位表和杀手招:

  • 换位表缓存有关先前搜索的信息,尤其是找到的最佳着法。当再次到达相同位置时,您可以立即从上次搜索中搜索最佳着法。很多时候,经过更深入的搜索,它被确认为最佳举措。

  • 杀手招式使用类似的方法,并且具有额外的优势,即他们可以使用来自相似但不相同位置的知识。然而,用于移动排序的杀手移动的质量通常比换位表中的移动要差。这就是为什么它们通常在换位动作后被搜索。

但是如果之前的搜索没有任何信息怎么办?通常,您拥有一些可用于静态移动排序的特定领域知识。例如,在国际象棋中有许多经验法则。一是占领棋比非占领棋更有可能成为最佳棋步。有更复杂的策略(例如,静态重新捕获分析),但您必须小心,因为更复杂的计算也会减慢搜索速度。

通过结合静态和动态走法顺序,国际象棋引擎通常可以猜测该位置的最佳走法,命中率超过 90%。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Minimax/ Alpha beta 剪枝移动顺序? 的相关文章

  • 爬山算法简单例子

    我对爬山算法有点困惑 我想 运行 该算法 直到我找到该树中的第一个解决方案 a 是初始状态 h 和 k 是最终状态 并且它表示状态附近的数字是启发值 这是树 我的问题 我正在尝试在树上爬山 所以好吧 我们开始 a gt f gt g 然后完
  • 搜索自然语言句子结构

    存储和搜索自然语言句子结构树数据库的最佳方式是什么 Using OpenNLP 的 http incubator apache org opennlp 英语树库解析器 我可以对任意句子进行相当可靠的句子结构解析 我想做的是创建一个工具 可以
  • 偏差在神经网络中的作用是什么? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我知道梯度下降和反向传播算法 我不明白的是 什么时候使用偏差很重要以及如何使用它 例如 当映射AND函数 当我使用两个输入和一个输出时 它
  • 多层感知器 - 寻找“分离”曲线

    使用单层感知器 很容易找到 分隔线 我不知道专业术语 的方程 即根据感知器的权重在训练后将两种类型的点分开的线 在多层感知器中 如何以类似的方式找到分隔两种类型点的曲线 不是直线 方程 thanks 这只是尝试获得分离边界或曲线的近似值 D
  • Tensorflow 重塑张量

    我正在尝试使用tf nn sparse softmax cross entropy with logits我已遵循用户 Olivier Moindrot 此处 1 的回答 但出现尺寸错误 我正在构建一个分割网络 因此输入图像为 200x20
  • MinMax 树 - 当 Min 可以两步获胜时

    因此 我一直在尝试使用最小最大树来在两人棋盘游戏中创建一个简单的计算机玩家 我了解该算法的基础知识 但有一种情况让我的火鸡大脑无法理解 当 MIN 可以通过两步获胜时会发生什么 例如 假设在 connect4 tic tac toe 类型的
  • 在外部文件中保存Python字典?

    我正在编写的代码本质上是一个超级基本的人工智能系统 基本上是 Cleverbot 的简单 Python 版本 作为代码的一部分 我有一个起始字典 其中有几个键 其中包含列表作为值 文件运行时 字典会被修改 创建键并将项目添加到关联列表中 所
  • 在微调 GPT-2 模型时如何处理堆栈期望每个张量具有相同大小的误差?

    我尝试用我的个人信息微调模型 所以我可以创建一个聊天框 人们可以通过聊天 gpt 了解我 但是 我得到了错误 RuntimeError 堆栈期望每个张量大小相等 但在条目 0 处得到 47 在条目 1 处得到 36 因为我有不同的输入长度
  • 神经网络需要多少个纪元来学习平方? (包括测试结果)

    好吧 首先我要说的是 我很清楚这取决于很多因素 我正在向有经验的人寻求一些一般准则 我的目标是not制作一个可以为我计算数字平方的神经网络 但我认为这将是一个很好的实验 看看我是否正确实现了反向传播算法 这看起来是个好主意吗 无论如何 我担
  • word2vec gensim 多种语言

    这个问题完全超出了我的想象 我正在使用 gensim 训练 Word2Vec 模型 我提供了多种语言的数据 即英语和印地语 当我试图找到最接近 人 的词时 我得到的是 model wv most similar positive man O
  • 吃豆人:眼睛是如何找到回到怪物洞的路的?

    我在 吃豆人 中发现了很多关于鬼魂人工智能的参考 但没有提到在鬼魂被吃豆人吃掉后 眼睛如何找到回到中央鬼洞的路 在我的实现中 我实现了一个简单但糟糕的解决方案 我只是在每个角落都硬编码了应该采取的方向 有更好 或最好的解决方案吗 也许是一个
  • 比较文本文档含义的最佳方法?

    我正在尝试找到使用人工智能和机器学习方法来比较两个文本文档的最佳方法 我使用了 TF IDF Cosine 相似度和其他相似度度量 但这会在单词 或 n gram 级别上比较文档 我正在寻找一种方法来比较meaning的文件 最好的方法是什
  • 使用 MinMax 和 Alpha-Beta 剪枝找到最佳移动

    我正在为游戏开发 AI 我想使用MinMax算法与Alpha Beta 修剪 我对它的工作原理有一个粗略的了解 但我仍然无法从头开始编写代码 所以我花了两天的时间在网上寻找某种伪代码 我的问题是 我在网上找到的每个伪代码似乎都是基于寻找最佳
  • 检查输入时出错:预期 conv2d_1_input 有 4 个维度,但得到形状为 (800, 1000) 的数组

    我正在尝试使用 CNN 进行情感分析 我的代码我的数据具有 1000 1000 形状 当我将数据传递给 convolution2D 时 它会抛出一个错误 我无法解决 我尝试了以下解决方案 但仍然面临问题 在构建 CNN 时 我收到 Kera
  • 人体的宽度和高度

    如何识别图像中人体的高度和宽度 你需要一些参考点 除非您知道相机设置 位置 变焦 镜头畸变等 以及人相对于相机的位置 否则简单的照片是不够的 如果您确实有参考 例如背景中的网格或其他东西 那么您可以测量网格并从那里开始 听起来不像你需要的
  • 用于神经网络模型预测的数据的缺失值

    我目前有大量数据将用于训练预测神经网络 美国主要机场的千兆字节天气数据 我几乎每天都有数据 但有些机场的数据中存在缺失值 例如 机场在 1995 年之前可能不存在 因此在此之前我没有该特定位置的数据 此外 有些还缺少整年 可能跨度为 199
  • 如何在GPU支持下运行python代码

    我创建了一个 Flask 服务 用于接受以相机 URL 作为参数的请求 用于在相机框架中查找对象 桌子 椅子等 我已经在 Flask 中编写了用于接受 POST 请求的代码 app route rest detectObjects meth
  • Python 中的六边形自组织映射

    我在寻找六边形 自组织映射 http en wikipedia org wiki Self organizing map在Python上 准备好模块 如果存在的话 绘制六边形单元格的方法 将六边形单元作为数组或其他方式使用的算法 About
  • 神经网络的激活函数选择[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们可以对神经网络的隐藏层和输出层使用不同的激活函数吗 使用这种方案有什么明显的优势吗 对于网络的最后一层 激活单元也取决于任务 分类
  • 在逻辑回归中使用排名数据

    当我努力学习这些概念时 我将对此给予最大赏金 我正在尝试在逻辑回归中使用一些排名数据 我想使用机器学习来制作一个简单的分类器来判断网页是否 好 这只是一个学习练习 所以我不期望有很好的结果 只是希望学习 过程 和编码技术 我已将数据放入 c

随机推荐