我有个简单的思路:
先定义一条线上棋子的各种布局,比如初步定义长度为五个子
◎◎◎◎●
◎◎●◎×
◎●◎××
◎×◎×◎
等等。白圈是自己的子,黑圈是对方的子,叉子是未走的格子。
程序里有个布局表,再定义各个布局的分数,比如连五最99分,连三30分等等。
当机器走时,在空格放入一子,然后扫描每条直线,匹配布局,然后累计得分。
逐个放子,得分最高的那个位置,作为下一步的走法。
不断调整得分表,可以提高程序胜率。
大概是这个意思。抛砖引玉。
使用min-max搜索法, 设定一个局面分析函数对各个局面进行评价