日期:2014-05-18  浏览次数:21342 次

人机对战的五子棋
我做了一个五子棋。但是不能人机对战。
不知道怎么实现人机对战。怎么判断最优的那一步。
所以麻烦大家给点算法判断方法或者代码
谢谢!
对了我是学C#的!

------解决方案--------------------
看过一个例子,里面没有用到高超的AI,写了一个电脑机器人类,疯狂围剿人的棋,下哪堵哪,如果自己有4个连子,则连5。相对来说,这种方法比较简单。
------解决方案--------------------
看过一个例子,里面没有用到高超的AI,写了一个电脑机器人类,疯狂围剿人的棋,下哪堵哪,如果自己有4个连子,则连5。相对来说,这种方法比较简单。
------解决方案--------------------
给各大纲,做到第二步就可以和人玩了,比较成熟则要到第六步。

1、完成输赢判断,
2、寻找关键点(比如成五,堵冲四,成活四等),

3、完成局面的定性分析(为双方确定一个分数,比如可以数活二,三连的个数等等...),
4、选择比较重要的可能落子点(比如按重要性选10个点,或20个点等等),

5、采用Min-Max对弈树(google什么是MinMax),来实现电脑AI,
6、采用Alpha-Beta剪枝来(极大)提高速度,同样Goolge什么是Alpha-Beta,

7、阅读有关人工智能和棋类搜索的文献
8、改进算法,添加开局表等

------解决方案--------------------
探讨
给各大纲,做到第二步就可以和人玩了,比较成熟则要到第六步。

1、完成输赢判断,
2、寻找关键点(比如成五,堵冲四,成活四等),

3、完成局面的定性分析(为双方确定一个分数,比如可以数活二,三连的个数等等...),
4、选择比较重要的可能落子点(比如按重要性选10个点,或20个点等等),

5、采用Min-Max对弈树(google什么是MinMax),来实现电脑AI,
6、采用Alpha-Beta剪枝来(极大)提高速度,同样Gool…