Questions tagged «combinatorial-games»

4
在强化学习中如何处理无效动作?
我想创建一个可以玩五行/五子棋的AI。正如我在标题中提到的那样,我想为此使用强化学习。 我将策略渐变方法(即REINFORCE)与基线一起使用。对于价值和政策函数的近似,我使用了神经网络。它具有卷积和完全连接的层。除输出外,所有层都是共享的。该策略的输出层具有8 × 8 = 648×8=648 \times 8=64(单板的大小)输出单元,并在其上具有softmax。因此它是随机的。但是,如果网络产生无效移动的可能性很高,该怎么办?无效的举动是当代理要检查其中有一个“ X”或“ O”的正方形时。我认为它可能会停留在该游戏状态中。 您能为这个问题推荐任何解决方案吗? 我的猜测是使用演员批评方法。对于无效的举动,我们应该给予负奖励,并将转牌转移给对手。

1
井字游戏等游戏中的神经网络与遗传算法?
目前,我正在做一个有关创建AI来玩Gomoku游戏的项目(这就像井字游戏,但在15 * 15的板上玩,要连续赢5个)。我已经使用Q学习成功地实现了一个完美的井字游戏AI,并将游戏状态/动作存储在表格中,但是对于15 * 15的游戏板,可能的游戏状态变得太大了,因此实施此项目也是如此。 我的问题是,我应该使用神经网络还是遗传算法解决这个问题?更具体地说,我应该如何实现呢?

1
关于在象棋这样的游戏中应用强化学习的一些疑问
我发明了象棋的棋盘游戏。我建立了一个引擎,使其可以自主播放。引擎基本上是决策树。由以下人员组成: 一个搜索功能,可以在每个节点找到所有可能的合法举动 评估功能,可为棋盘位置分配一个数值(正数表示第一个玩家获得优势,负数表示第二个玩家赢得胜利) Alphabeta修剪negamax算法 有关此引擎的主要问题是评估功能的优化确实很棘手。我不知道要考虑哪些因素以及要考虑的权重。我认为改善引擎的唯一方法是,每次因数和权重的不同组合进行尝试时都要迭代游戏。但是,这在计算上似乎是一项艰巨的壮举(我可以不使用深度学习而向后传播吗?)。 我想使用强化学习,通过与自己对战来改善引擎。我一直在阅读有关该主题的文章,但我仍然很困惑。 在游戏中,输赢(1或0)部分还有什么其他奖励?如果我使用其他奖励,例如每次评估函数的输出,该如何实现呢?如何修改评估函数,以在迭代后获得更好的回报?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.