导读:毕业设计:五子棋的人工智能算法实现,用BP神经网络,怎么做?...
之所以叫bp网络,是因为使用了反向传递算法,这是一种结果导向的自学习方法,用在五子棋上是可以的。因为五子棋的游戏方法正是很明显的结果导向的过程。
简单说这么个过程:
1.设置输入和输出类型,比如都是坐标[x1,y1]、[x2,y2]...
2.训练:
你告诉网络
a情况下应该输出a1
b情况下应该输出b1
c情况下应该输出c1
...
a+b情况下应该输出ab1
3.测试:
你问网络a+b+c情况下,应该输出多少?在哪里下子(就是[x,y]是多少?)网络就根据前面bp训练的结果自动算出你要的坐标。
用matlab神经网络工具箱做吧,不是很难。另外,五子棋的棋盘别太大了,训练难度和时间是随棋盘大小成级数增长的。
之所以叫BP网络,是因为使用了反向传递算法,这是一种结果导向的自学习方法,用在五子棋上是可以的。因为五子棋的游戏方法正是很明显的结果导向的过程。
简单说这么个过程:
1.设置输入和输出类型,比如都是坐标[x1,y1]、[x2,y2]...
2.训练:
你告诉网络
A情况下应该输出A1
B情况下应该输出B1
C情况下应该输出C1
...
A+B情况下应该输出AB1
3.测试:
你问网络A+B+C情况下,应该输出多少?在哪里下子(就是[x,y]是多少?)网络就根据前面BP训练的结果自动算出你要的坐标。
用Matlab神经网络工具箱做吧,不是很难。另外,五子棋的棋盘别太大了,训练难度和时间是随棋盘大小成级数增长的。
2.训练:
你告诉网络
a情况下应该输出a1
b情况下应该输出b1
c情况下应该输出c1
...
a+b情况下应该输出ab1
3.测试:
你问网络a+b+c情况下,应该输出多少?在哪里下子(就是[x,y]是多少?)网络就根据前面bp训练的结果自动算出你要的坐标。
用matlab神经网络工具箱做吧,不是很难。另外,五子棋的棋盘别太大了,训练难度和时间是随棋盘大小成级数增长的
分享到: