这次我们一组做的是一个五子棋游戏,五子棋游戏分为人人对战与人机对战,但鉴于我们水平及时间有限,这里只做了人人对战。团队中我的编程能力比较弱,但之前选修过计算机博弈,所以这次的作业我主要参与算法方面的工作。而五子棋算法的核心也就是搜索和估值,首先搜索是每一次寻找一个最优解,可以提前设定一些情况的权值,然后通过遗传或树计算出最大权值。估值是对于整体形势做一个估计,通过对比经验值,寻找最好的落子地方。还有一些五子棋规则,如禁手等。人机总的来说就这几个大的方面,相对来说人人对战就比较简单,通过每次的落子,然后判断横向,竖向以及斜向的链子情况判断胜负。具体算法下节再详述。
时间: 2024-10-10 00:45:54