基于SOPC人机博弈系统设计与实现.docVIP

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

基于SOPC人机博弈系统设计与实现   摘要:本文基于实际作品,采用SOPC技术和Nios II处理器,描述了具有人工智能的人机博弈系统的设计原理和实现方法。该系统的硬件以DE0-CV开发板为核心,使用 LTM触摸屏作为人机交互设备,实现了三子棋和五子棋游戏,使用Verilog语言实现了包括触摸屏的显示驱动在内的所有硬件的驱动功能在集成开发环境中用C++语言实现了人机博弈的软件算法。核心算法在实现棋局识别和策略优化的基础上加入了深度搜索算法,提高了系统的全局思考能力。   关键词:SOPC;人机搏弈;五子棋;深度搜索   1、引言   机器博弈是人工智能领域中一个重要且具有挑战性的研究方向之一。它是人工智能的一块试金石,而棋类游戏又是博弈的一个标准型问题,其研究成果中的各种搜索算法、模式识别为人工智能带来了很多重要的方法理论。嵌入式系统已经广泛应用到国民经济的各个方面。基于NiosII软核处理器的SOPC技术凭借其设计方式灵活、开发周期短、可反复重构等特点,日益广泛应用到嵌入式系统开发中。   基于以上的背景,采用SOPC技术来实现人机博弈在嵌入式领域的应用这种设计思想应运而生。本系统选择以五子棋的人机博弈作为设计重点,来阐明基于SOPC的人机博弈系统的设计与开发过程。本设计采用SOPC技术和Nios II处理器实现了机器博弈在嵌入式系统中的应用,这套硬件系统满足游戏的音效和视觉效果,并具备博弈智能。   2、整体设计   2.1本系统实现了以下功能:   1. LCD屏图像显示;   2. 触摸控制功能;   3. Tictactoe和五子棋两种棋的人机博弈;   4. 对弈有双人和人机两种模式可选;   5 对弈难度有初级难度和高级难度两种模式可选;   6. 红外控制提示音输出;   2.2系统总体结构   如图2.1所示,系统总体分为三大模块:FPGA开发板(DE0-CV)、红外语音模块、LTM触摸屏模块,其中:   1.DE0-CV开发板以Altera CycloneV 5CEBA4F23C7N FPGA为核心,使用Verilog语言设计CPU,触摸屏、GPIO及语音红外接口的驱动以及触摸屏的显示内容,CPU上运行软件算法程序并实现对于LTM触摸屏和音频模块的控制   2. LTM触摸屏模块:用来提供人机交互界面,控制整个系统的操作,协调各部分的功能,是人工博弈系统的核心控制单元。 。   3.语音播放模块:实现系统语音提示功能。   3、硬件设计   3.1 DE0-CV 开发板   DE0 FPGA开发板是台湾友晶公司开发的一套轻薄型的SOPC开发平台, DE0搭载了Altera CycloneV 5CEBA4F23C7N FPGA,可提供15,408 LEs(逻辑单元)以及346 I/O,并搭配了丰富的外部接口。   3.2 主控模块   本设计使用Altera Cyclone III EP3C16F484C6N FPGA芯片作为硬件系统的功能平台,在该FPGA上面实现Nios II 软核CPU配置、触摸屏的驱动模块、触摸屏显示设计、红外发射模块和计时器模块的设计等功能。在SOPC Builder中构建的Nios II软核CPU是整个硬件系统的控制核心,它实现了控制系统运转, 计时器开闭,红外发射器控制,触摸屏 显示和外部输入信息获取等功能。   3.3软件部分   由人机博弈算法流程图 4.1可以看出,五子棋机器博弈的核心就是机器走棋的算法,本节将对本系统实现的五子棋机器走棋算法分层介绍,本系统实现的五子棋机器走棋的算法主要包括棋盘表示、局面估值、搜索算法、生成走法、界面控制这几个部分。   1.棋盘显示和界面控制   其中棋盘表示和界面控制即交互界面,在LTM触摸屏上实现,介于五子棋盘的特点,程序中的棋盘表示是采用15*15二维数组来表示的。白子,黑子,空位分别用不同的编码来记录,并加以区分。   2.局面估值、搜索算法、走法生成   由于五子棋机器博弈每一步下棋的过程中,局面估分、搜索算法、走法生成这些过程都是柔和在一起,而不是独立分开的过程,所以本程序也将走法生成、局面估值、搜索算法嵌在一起,构成了机器走棋函数。本系统的对弈设计了两种难度的选择,由两种走棋函数来实现机器不同等级的智能。   初级难度的机器走棋函数只是让机器对目前盘面进行分析,选择最优的位置落子。经过对五子棋知识深入的研究,以及不断的下棋?砘?累经验,使本设计能够将五子棋机器博弈程序对各种棋型的估分做得很完善,使它能够从盘面“看”出哪一点有利,哪一点不利,并权衡利、弊的大小,从而选择出最优的落子点 。本文实现的估值函数比较完善,所以本系统初级难度的机器走棋函数的效果比较理想。这

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档