对于我的10年级“个人项目”(AP MYP项目),我正在制作一种使用多种技术的棋牌游戏引擎,以尝试找出具有不同强度的人类玩家最有可能在某个位置玩游戏的举动。
其中一种方法是神经网络,我以前从未做过类似的事情,所以我需要一些帮助。
首先,我不确定我需要输入什么。为了输入位置,我需要走多达385个节点(6个* 64平方(黑色为-1,白色为1,空白为0)+轮到(-1或1)),还是我可以用更少的钱做? 65个节点,从-6到6的数字表示?
此外,我不知道如何对输出进行编码。当移动甚至移动量总是不同时,如何从可能的移动列表中进行选择?
简而言之,我绝对不知道该怎么办,并且真的需要帮助。
非常感谢您的建议!
答案 0 :(得分:1)
这个问题对于StackOverflow来说太宽泛了,但我将提供一些一般性提示。
从您所处的位置开始,您描述的任务并不容易,并且可能需要花费很多月的时间。一种不错的方法是查看一些类似Rubichess的开源代码,以了解author是如何将Stockfish与某些neural networks融合在一起以创建一个非常强大的国际象棋引擎的。这将使您对所涉及的技术(和复杂性)有所了解。另请阅读chess programming wiki上efficiently-updatable neural networks文章中的所有链接。