分享
 
 
 

[原创]五子棋人机对弈算法设计

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

人机对弈算法属于策略型人工智能算法,本游戏中设置了人机对弈的游戏模式,其算法如下:

1, 设置所有获胜组合,获胜表

将可能出现的获胜组合存入计算机中,计算机根据此组合判断玩家或计算机是否胜利。例如:10×10的棋盘的获胜组合如下图:

得出棋局可能出现的获胜组合,此组合用于后期设计AI对弈。

最后,将所有的获胜组合存入一个数组中,即形成获胜表。例如:A[1][1][2]表明A的位置为第2行,第2列(数组从0开始计算)。它在获胜组合中的保存在第三个位置。

再设置一个胜利判断数组 INT WIN[计算机/玩家编号][获胜组合编号]ds 玩家/计算机每下一步,则在相应的WIN数组上自加一次。当WIN数组达到5或6时,表示已经有一方胜出;当一方占据了另一方的关键位置,致使另一方无法利用该获胜组合失效,则此时另一方的WIN数组设置为7,表示另一方已经无法由被占据的组合上获取胜利。该步骤为算法的关键。

2, 计算棋格获胜分数

在计算机下棋之前,会计算空白棋格上的获胜分数,根据分数高低获取最佳位置。计算机会将棋子下在获胜分数最高的地方。

获胜分数的计算机规则,是以包含棋格所在位置的获胜组合数目,以及目前棋盘上这些获胜组合中已经存在的棋子数目的多少来计算获胜分数。

当可获胜组合中已放置的棋子数越多,那么在这个获胜组合上的空棋格上下棋子而赢得棋局的可能性越大,所以分值越高,当已放置4颗棋子时,必须在第五个空棋格上设置绝对高的分值。

当获胜组合上有部分位置已被对手的棋格占据而无法连成五子时,获胜组合上空棋格的获胜分数会直接设置为0。

当有两组及其以上的获胜组合位置交叉时,对该位置的分数进行叠加,形成分数比周围位置明显高。

3, 计算机的攻击与防守

计算机计算获胜分值越高的棋格,就能确定能让自己的棋子最有可能达成联机的位置,也就是最佳进攻位置,而一旦计算机能确定自己的最高分值的位置,计算机就具备了进攻能力。同理,计算机能计算出玩家的最大分值位置,并抢先玩家获得该位置,这样计算机就具有了防御的能力。

总述:该算法的关键所在就是判断每个空棋格的分值,据此来实现人机对弈计算机的进攻与防守。该算法的重点就是设计获胜组合用于后期的判断,该算法的难就是实现空棋格的最佳位置的计算。但是该算法的人工智能程度比起其他算法有明显的优势。

参考文献:《VISUAL C++游戏编程基础》 作者:荣钦科技 主编:肖钦亮

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有