五子棋之极大极小

news/2024/11/8 6:54:26/

总述:五子棋问题可以化为一个博弈问题。从开始落子到最后赢,输或和的每一步落子构成了一个解,而解空间就是一个树。解就是这个树中的一条路径,只不过这个解空间的是由电脑和人的共同选择构成的。我们可以使用极大极小值搜索来解决这个博弈问题,假设每一步人和电脑都落子在最优上。但是搜索整个树是不现实的,16*16!的指数级,所以我们只回溯3步。

将棋盘的棋子存储在Pos[16][16]的数组上
对于电脑来说每下一步棋,就是找到对自己最有利,即评价函数最大的一步,下一层根据博弈的基础,对电脑越不利即是对人越有利,即找到评价函数最小的一步。
16*16的棋盘上有一些位置是不会去落子的,我们可以通过一个getpoint()得到需要下的点,即以该点为中心,7*7的范围内有子的位置,通过这种方法可以减少运算量。
评价函数即为下完一步之后,电脑与人形成的连成三个,四个,五个等等的评分和之差。评分时,需要对棋盘进行扫描,我采用的是将二维的棋盘转化至一维的数组上,通过简单的函数就可以对横边,竖边,斜边进行计分操作。每一层之间的积分我为它们增加了一个权重,加强了下面几层的对于这一层的影响,通过这种方法可以使一些我们熟悉的定式及对于空格的判断更加准确。

主要数据结构:
pos[16][16]一个16*16的棋盘,用于记录当前情况下,棋盘的情况
~~~用于存储每一个需要用到的点,包括可进行落子的位置,当前评分最高的位置。最后进行落子时,可通过随机进行取结果。
~~存储具体的某一个点。

主要函数:
1.bool judge(int i1,int i2);判断下完当前步骤之后,


http://www.ppmy.cn/news/721836.html

相关文章

八卦掌桩功-定式八桩及相关资料

桩功俗称站桩,称其为桩,是因为习练者要象木桩一样静止不动,久练之后,就可以脚底生根,象木桩一样扎实稳固。这是一种特殊的内功修炼法,站桩既能养生又能练出功夫,既可修身又可修心,既…

交互设计7大定律

在交互设计领域有很多经过时间检验过的定律及法则来作为设计的指导原理,它能够帮助产品设计者对界面上的各种视觉元素进行合理评估,从而发现一些使用过程中的可用性问题,还可以根据这些法则从界面的维度来改善操作效率和使用满意度。 我们在产…

怎么看曲线有没有斜渐近线_怎样判断一个曲线有无斜渐近线?

2005-10-31 什么是洛必达法则,用它求极限就是求导吗? 我们知道,在求极限时,常会遇到两个无穷小之比的极限或两个无穷大之比的极限。这些极限有的存在,有的不存在。通常称这类极限为"未定式"。利用第一章的方法求未定式的极限通常是困难的,本节介绍一种简单而有效的方…

2023马原 主观题题库+答案

01.什么是马克思主义?马克思主义的基本特征/鲜明特征 1. 是由马克思和恩格斯创立并为后继者所不断发展的科学理论体系,是关于自然、社会和人类思维发展一般规律的学说 2. 是关于社会主义必然代替资本主义、最终实现共产主义的学说 3. 是关于无产阶级解…

iphone操作01-安装未受信任app

设置-->通用-->设备管理 点击企业级应用 信任APP即可。 --暂时写个流程,截图后续补上。

leetcode 222. 完全二叉树的节点个数

2023.7.3 用层序遍历遍历一遍二叉树&#xff0c;然后遍历的每个节点都进行一次计数&#xff0c;直接上代码&#xff1a; class Solution { public:int countNodes(TreeNode* root) {queue<TreeNode*> que;int ans 0;if(root nullptr) return ans;que.push(root);while…

iPhone打开应用显示未受信任企业级开发者无法打开

在苹果的系统更新到 iOS 9.0后&#xff0c;一些不是从AppStore上下载的应用打不开&#xff0c;显示为”未受信任企业级开发者“&#xff0c;而且只有一个 ”取消“ 按钮。 其实在iOS 9之前 是有一个信任按钮的 好&#xff0c;不说废话。 1、先打开iPhone的 ”设置“&#xff0c…

20210116 synology drive 不受信任的SSL证书

编辑连接&#xff0c;重新输入密码&#xff0c;即可解决不受信任证书的问题