又是本人一份人工智能作业……首先道歉,从 Word 贴到 Livewrter,好多格式没了,也没做代码高亮……大家凑活着看……想做个好的人机对弈的五子棋,可以说需要考虑的问题还是很多的,我们将制作拥有强大 AI 五子棋的过程分为十四步,让我来步步介绍
第一步,了解禁手规则做一个五子棋的程序,自然对五子棋需要有足够的了解,现在默认大家现在和我研究五子棋之前了解是一样多的
以这个为基础,介绍多数人不大熟悉的方面
五子棋的规则实际上有两种:有禁手和无禁手
由于无禁手的规则比较简单,因此被更多人所接受
其实,对于专业下五子棋的人来说,有禁手才是规则
所以,这里先对''有禁手〃进行一下简单介绍:五子棋中''先手必胜〃已经得到了论证,类似''花月定式〃和''浦月定式〃,很多先手必胜下法虽然需要大量的记忆,但高手确能做到必胜
所以五子棋的规则进行了优化,得到了''有禁手〃五子棋
五子棋中,黑棋必然先行
因此''有禁手〃五子棋竞技中对黑棋有以下''禁手〃限制:''三三禁〃:黑棋下子位置同时形成两个以上的三;''四四禁〃:黑棋下子位置同时形成两个以上的四;''长连禁〃:六子以上的黑棋连成一线
黑棋如下出''禁手''则马上输掉棋局
不过如果''连五〃与''禁手〃同时出现这时''禁手〃是无效的
所以对于黑棋只有冲四活三(后面会有解释)是无解局面
反观白棋则多了一种获胜方式,那就是逼迫黑棋必定要下在禁点
为了迎合所有玩家,五子棋自然需要做出两个版本,或者是可以进行禁手上的控制
第二步,实现游戏界面这里,