五子棋AI第一篇 极大极小值搜索算法(c语言)

由来

最近人工智能很火,经常有各种新闻,作为一个程序员多少要懂一点吧,未来万一用得着呢。有心想去了解一下,奈何能力有限,皮毛都没学会。好吧,既然没法系统学,就不管那么多,就从现在开始动手,一步一步的往前走,遇到什么问题就查什么资料。虽然最后不一定能做成什么,起码做的过程遇到问题解决问题,总能学会点什么。
从最简单的五子棋游戏开始,先用普通的规则实现一个电脑下棋的算法,姑且叫做AI算法。作为一个只用过linux环境的C语言,做到这一步也还是需要走不少的路,还要学习不少东西才能做好。这次算是我头一回认真学习而且还坚持这么久,所以记录一下所学和这个过程。本文适合像我一样的新手。

废话说完,正式开工。
五子棋基本规则:
1、棋盘大小15×15
2、五个棋子连成一条线即为赢
3、黑棋先下
4、黑棋禁手先不考虑

棋型基本术语:
5连:5个子连成一条线,已经赢了。
活4:有4个子在一条线,而且连线的两端没有对方的子。
冲4:(也有说眠4)有4个子在一条线,连线的一端没有对方的子,另一端有对方的子。
活3:有3个子在一条线,而且连线的两端没有对方的子。
类似的还有冲3,活2,冲2,活1。
其他更专业的术语就不考虑了。

极大极小值

极大极小值算法需要两个条件:
1、 零和博弈,就是你死我活的游戏。
2、 完全信息,玩家知道之前的所有步骤,象棋、

    原文作者:feifei316631241
    原文地址: https://blog.csdn.net/feifei316631241/article/details/82861028
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞