【发布时间】:2021-10-06 13:20:54
【问题描述】:
我正在使用强化学习和 pytorch 在 python 中编写一个黑白棋机器人。在程序中,我扫描棋盘以寻找合法动作。 AI应该选择概率最高的棋步,并且根据之前的计算是合法的。这里我需要一个像这样工作的函数:
a = torch.tensor([1,2,3,4,5])
b = torch.tensor([True, True, False, True, False], dtype=bool)
print(torch.somefunction(a,b))
输出应该是a中最大值的id,在本例中为3。这个函数存在吗?如果没有,还有其他原因吗?
【问题讨论】:
-
我从来没有玩过奥赛罗。虽然我认为更简单的方法是在棋盘上生成一组
[0, 1]掩码,以将非法动作归零。然后只需执行argmax即可获得最佳移动的索引。