如何将MinMax树与Q-Learning结合使用?
我想实现一个使用Q-Learning的四子棋代理,听说加入MinMax树会有所帮助。
回答:
Q-learning是一种时间差分学习算法。对于每一个可能的状态(棋盘),它学习可用动作(移动)的价值。然而,它不适合与Minimax一起使用,因为Minimax算法需要一个评估函数来返回位置的价值,而不是该位置上动作的价值。
然而,时间差分方法可以用来学习这样的评估函数。最值得注意的是,Gerald Tesauro使用了TD(λ)(“TD lambda”)算法,创建了TD-Gammon,一个与人类竞争的西洋双陆棋程序。他写了一篇描述这种方法的文章,你可以在这里找到这里。
TD(λ)后来被扩展为TDLeaf(λ),特别是为了更好地处理Minimax搜索。例如,TDLeaf(λ)已被用于国际象棋程序KnightCap。你可以在这篇论文中了解TDLeaf这篇论文。