- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为黑白棋游戏编写了 AI 播放器,我决定使用 NegaMax 或 MiniMax 来实现。伪代码:
function negamax(node, depth, α, β, color)
if node is a terminal node or depth = 0
return color * the heuristic value of node
else
foreach child of node
val := -negamax(child, depth-1, -β, -α, -color)
{the following if statement constitutes alpha-beta pruning}
if val≥β
return val
if val≥α
α:=val
return α
但是我需要将 Node 发送到这个函数,我该如何创建这个节点?就像创建具有所有可能的状态移动的节点,然后为节点中每个可能的移动创建子节点?
如果您可以帮助确定 α、β 值...
最佳答案
节点可能意味着代表一个状态。在游戏中,这是棋盘的状态(对于奥赛罗来说,棋子的位置、棋子的走法等等)。一般来说,在使用 alpha/beta 剪枝的游戏中,生成所有接下来的状态是可能的,但生成所有可能位置的所有状态是不可能的。
如果您使用 Java,则 Node 对象可能有一个方法 getChildren() 来生成该状态下所有可能的移动,它们本身就是 Node 对象。
至于α、β值,它们被初始化为Integer.MIN_VALUE和Integer.MAX_VALUE
关于java - 为黑白棋/黑白棋游戏创建 negamax/minimax 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13710713/
我正在尝试在 Eclipse 中编写一个黑 jack 程序,但当该程序处理 Ace 时遇到问题。我询问用户是否希望 A 值 1 或 11。确实如此,但当我输入值时,它会给出错误消息 "Exceptio
我在黑 jack 游戏中需要帮助。我在数组中有一副牌,每次我取出一张牌并处理它时,数组都会被重新分配为小于大小的一个。所以我有这个循环,向每个第 n 个玩家发两张牌 deck=crea
我正在尝试检测黑点或其中有黑点的圆圈(我在下图中用箭头指向的圆圈)。 我目前的方法是在 OpenCV 中使用 HoughCircles 函数来检测半径大于 2 像素的圆。我对社区的问题是:假设我检测到
我正在用 python 编写一个非常基本的轮盘模拟器。目前,我只专注于红/黑投注(基本上与投注正面或反面相同,使用硬币)。 我的代码有各种问题。请原谅我对语言的基本了解。 import random
目前,我正在尝试使用 javascript 制作黑 jack 游戏。 到目前为止,我有庄家牌和闲家牌。当玩家决定再拿一张牌时就会出现问题。似乎 document.write 在将字符串写入网页时迟到了
b/w PRLock 和 PRRWLock 有什么区别由 nspr 库提供? 最佳答案 我对这个库一无所知,但从名字可以看出,一个是标准锁,另一个是读写器锁。第一个总是提供独占访问,第二个允许多个并发
如何使用 ios5 将 RGB 图像转换为 1 channel 图像(黑/白)? 输入图像通常是书页的照片。 目标是通过将复印件转换为 1 channel 图像来减小复印件的大小。 最佳答案 如果我理
我是一名优秀的程序员,十分优秀!