我正在设计一个前馈神经网络来学习如何玩跳棋游戏。
对于输入,需要提供棋盘,而输出应该给出赢与输的概率。但是,跳棋棋盘转换成一行数字作为输入的理想方式是什么呢?棋盘上有32个可能的格子,每个格子有5种不同的可能性(白方或黑方的普通棋子或王棋,以及空位)。如果我为每个格子的每种可能值提供一个输入单元,将会是32 * 5。另一个选项是:
Free Position: 0 0 Piece of white: 0 0.5 && King Piece of white: 0 1 Piece of black: 0.5 1 && King Piece of black: 1 0
在这种情况下,输入长度将仅为64,但我不知道哪种方式会带来更好的结果。有人能提供一些见解吗?
回答:
我已经尝试了所有可能性,直觉上我可以说,最好的想法是将所有格子的所有可能性分开。因此,具体来说:
0 0 0: free1 0 0: white piece0 0 1: black piece1 1 0: white king0 1 1: black king
还可以增强其他关于游戏情况的参数,比如受到威胁的棋子数量或跳跃的可能性数量。