我已经在诸如信用违约检测、图像中的对象识别、股票价格预测等领域中看到用于分类/回归任务的数据集。所有这些数据集都可以简单地表示为大小的输入矩阵(n_samples,n_features)并输入到你的机器学习算法中,最终产生一个训练有素的模型,提供一些预测能力。从直觉和数学上讲,这对我来说很有意义。
但是,我真的很想知道如何考虑游戏类任务(国际象棋、围棋、赛斯布林斯马里奥赛车 AI)的输入矩阵的结构(使用国际象棋示例):
你如何将棋盘的状态编码为模型可以训练的东西?将棋盘状态视为 8x8 矩阵(或 1x64)向量是否合理,每个点都由取决于棋子类型和颜色的数值编码?
假设有合适的棋盘状态表示,考虑到每种棋子类型的移动方式不同,模型如何能够提出建议?它是否不必评估每个棋子的不同移动可能性并提出它“认为”哪个移动对游戏有最好的长期结果?
对 2 的跟进 - 考虑到现在采取的行动和未来采取的 n 次行动之间的相互作用,模型将如何识别和权衡现在可能提供更好位置的移动与那些提供位置的移动未来 n 步 - 是否必须将棋盘状态输入扩展到长度为 1x64n 的向量,其中 n 是单个玩家预期的移动总数,或者这是应该能够捕获的不同算法的函数历史资料有哪些培训?
我不确定我是否过度考虑了这一点并且遗漏了一些非常明显的东西,但我会很感激任何关于如何思考这个问题的指导。