我已经用Python编写了MCTS人工智能,现在,我正在尝试改进它的第一个版本。有人告诉我需要改进我的展开函数。这个人工智能的目的是玩点和框游戏。
目前,在接收到游戏状态后,展开函数只是随机地进行剩余游戏的模拟。
展开函数如下:
while not state.is_terminal: state.apply_move(choice(state.legal_moves))
我想知道如何通过修改展开函数来改进人工智能?
回答:
在点和框游戏中,随机玩法可能非常糟糕,因为它会(1)错过填充框的机会,(2)给对手提供填充框的机会,这两者都会使模拟游戏与真实游戏不符。
因此,最简单的改动是调整模拟游戏中的移动顺序。首先,如果可能的话,选择一个随机的填充框的移动。其次,选择一个随机的移动,这个移动不会给对手提供填充框的机会。最后,给对手一个填充框的机会。(但在这里,你可能想要选择一个移动,这个移动以高概率给对手提供最小的区域来填充。)