我目前正在阅读有关机器学习的文章,并想知道如何将其应用于玩Connect Four。
我目前的尝试是使用S型函数模型和“一对多”方法的简单多类分类器。
在我看来,输入要素必须是7x6 = 42网格字段的状态(播放器1的光盘,播放器2的光盘为空)。
输出将是放入光盘的行数。因为这是1到7之间的离散数字,所以我认为可以将其视为多类分类问题。
但是,如何生成可用于监督学习的培训示例?
主要目标是赢得比赛,但是除了最后一回合,每次比赛的结局显然都不为人所知。如果我只让两个随机决定做什么的玩家互相对抗数千次,那么简单地将每一轮胜利者的所有回合作为训练示例就足够了吗?还是我必须以完全不同的方式来做到这一点?
编辑:根据评论中的建议,我读了一些关于强化学习的知识。 据我所知,Q-Learning应该可以解决问题,即我必须近似当前状态的函数Q,并采取行动使其成为从该状态开始的最大累积奖励。然后,每个步骤将是选择导致Q最大值的动作。但是,此游戏有太多状态要执行此操作,例如作为查找表。那么,对这个Q函数建模的有效方法是什么?