改进蒙特卡洛树搜索中的默认策略(推出策略)

Improving Default Policy(Rollout Policy) in Mont Carlo Tree Search

我已经在 python 中编写了 MCTS AI,现在,我正在努力改进它的第一次迭代。我被告知我需要改进我的推出功能。人工智能的目的是玩点和盒子的游戏。

现在,在收到游戏状态后,rollout 只是随机播放剩余的游戏。

推出:

    while not state.is_terminal:
        state.apply_move(choice(state.legal_moves))

我想知道如何通过更改 rollout 函数来改进 AI?

在点中,随机游戏可能很糟糕,因为它会 (1) 错失填充盒子的机会,以及 (2) 给对手填充盒子的机会,这两者都会使比赛变得不像真正的比赛。

所以,最简单的改变就是在播出中对动作进行排序。首先,如果可能的话,采取随机移动来填充一个盒子。其次,采取不让对手有机会填满方格的随机行动。最后,给对手一个填箱子的机会。 (但是,在这里你可能想要 select 让对手以高概率填充最小区域的移动。)