人工智能课程设计【DOC精选】.docxVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
人工智能课程设计【DOC精选】

人工智能五子棋 技术报告简介本课程设计是基于alpha-beta剪枝算法的五子棋的博弈游戏,具有悔棋,可选择禁手,支持人机对战,人人对战等功能。整个设计基于Java语言开发,界面美观大方。alpha-beta剪枝技术的基本思想或算法是,边生成博弈树边计算评估各节点的倒推值,并且根据评估出的倒推值范围,及时停止扩展那些已无必要再扩展的子节点,即相当于剪去了博弈树上的一些分枝,从而节约了机器开销,提高了有哪些信誉好的足球投注网站效率。具体的剪枝方法如下:(1) 对于一个与节点MIN,若能估计出其倒推值的上确界β,并且这个β值不大于 MIN的父节点(一定是或节点)的估计倒推值的下确界α,即α≥β,则就不必再扩展该 MIN节点的其余子节点了(因为这些节点的估值对MIN父节点的倒推值已无任何影响了)。这一过程称为α剪枝。(2) 对于一个或节点MAX,若能估计出其倒推值的下确界α,并且这个α值不小于 MAX的父节点(一定是与节点)的估计倒推值的上确界β,即α≥β,则就不必再扩展该MAX节点的其余子节点了(因为这些节点的估值对MAX父节点的倒推值已无任何影响了)。这一过程称为β剪枝。数据结构定义本文定义15*15的五子棋棋盘,实现算法,在算法中采用的数据结构包括:int isChessOn[][]描述当前棋盘,0表示黑子,1表示白字,2表示无子;int pre[][]记录棋点的x,y坐标。由于本课程设计是基于Java语言开发的,在Java中只能用类表示并实现所定义的数据结构。所以下面将用类来描述相应的数据结构及算法:publicclass ChessPanel{private ImageIcon map;//棋盘背景位图private ImageIcon blackchess;//黑子位图private ImageIcon whitechess;//白子位图publicintisChessOn [][];//棋局protectedbooleanwin = false; // 是否已经分出胜负protectedintwin_bw; // 胜利棋色protectedintdeep = 3, weight = 7; // 有哪些信誉好的足球投注网站的深度以及广度publicintdrawn_num = 110; // 和棋步数intchess_num = 0; // 总落子数目publicint[][] pre = newint[drawn_num + 1][2]; // 记录下棋点的x,y坐标最多 (drawn_num + 1) 个publicintsbw = 0; //玩家棋色黑色0,白色1publicintbw = 0; // 当前应该下的棋色 0:黑色(默认), 1:白色protectedintx_max = 15, x_min = 0;// 边界值,用于速度优化protectedinty_max = 15, y_min = 0;// 边界值,用于速度优化protectedbooleanable_flag = true; // 是否选择禁手标志 0:无禁手 1:有禁手(默认privateinth;//棋子长privateintw;//棋子宽privateintinsx;//插入棋子的位置privateintinsy;private Point mousePoint;//鼠标当前位置privateintwiner;//获胜方privatebooleanhumanhuman=false; //是否是人人对弈privateintplast=0;//走了几步了,publicintBLACK_ONE;//0表黑子publicintWHITE_ONE;//1表白子publicintNONE_ONE;//2表无子publicintN;//棋盘边长//---------有哪些信誉好的足球投注网站当前有哪些信誉好的足球投注网站状态极大值--------------------------------////alpha 祖先节点得到的当前最小最大值,用于alpha 剪枝//beta 祖先节点得到的当前最大最小值,用于beta 剪枝。//step 还要有哪些信誉好的足球投注网站的步数//return 当前有哪些信誉好的足球投注网站子树极大值protectedint findMax(int alpha, int beta, int step) {int max = alpha;if (step == 0) {return evaluate(); }int[][] rt = getBests(1 - sbw);for (int i = 0;

文档评论(0)

taotao0c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档