本站所列毕业设计(论文)资料均属于原创者所有,初衷是为大家在毕业设计(论文)过程中参考和学习交流之用。

毕业设计我帮你

基于Python开发语言的五子棋算法竞技平台设计

基于Python开发语言的五子棋算法竞技平台设计

设计该系统的主要目的是为五子棋算法爱好者提供一个能够在网上互相切磋的平台,该平台的使用者为一般用户和系统管理员,系统管理员能够在平台上举办并管理大赛。一般用户能够申请报名参加大赛并在报名申请被系统管理员审核通过后提交自己的算法参赛。在系统管

如需购买请QQ扫描右边二维码或者加QQ 3449649974 咨询 毕业设计(论文)代做请加QQ 2269757180 微信号:bylwwwww


  • 详细描述

    基于Python开发语言五子棋算法竞技平台设计
    摘  要
    随着人工智能技术的日益成熟,五子棋人工智能软件越来越多,但是很少有为算法与算法之间对弈提供平台的软件。本文以五子棋为主题,以Python为后端开发语言,以HTML5及JavaScript为前端开发工具,以MVC模式为参考,设计并实现五子棋算法竞赛平台。该平台分角色实现了系统管理员和一般用户的功能,并提供了五子棋算法参考代码。系统管理员控制整个比赛流程,具有举办竞赛、管理流程、审查参赛者资格、选择竞赛模式、生成对战表、发布对战结果、发布竞赛相关公告等功能,一般用户是竞赛的参赛者,具有报名参加竞赛、查看审核情况、查看对战表、提交算法、查看录像和结果等功能。五子棋参考代码通过局面评估,极大极小化搜索,α-β剪枝等算法实现了具有搜索功能的五子棋人工智能。
    关键词:五子棋;算法;竞赛;平台
     
    目录
    摘  要 1
    Abstract 2
    一、 系统开发技术介绍 3
    (一) Python 3
    (二) WSGI协议 3
    (三) Flask框架 4
    (四) MySQL 4
    二、 系统主要功能 5
    (一) 系统功能模块 5
    (二) 系统的非功能性需求 6
    三、 系统架构设计 7
    (一) 系统总体架构 7
    (二) 数据库设计 7
    四、 用户管理模块实现 12
    (一) 用户注册 12
    (二) 用户登录 12
    五、 竞赛流程实现 14
    (一) 竞赛流程概述 14
    (二) 发布大赛信息 15
    (三) 用户报名阶段 15
    (四) 报名审核阶段 15
    (五) 公布对局表阶段 15
    (六) 代码提交阶段 16
    (七) 对局阶段 18
    (八) 录像回放 22
    六、 五子棋示例算法 24
    (一) 五子棋简介 24
    (二) 五子棋棋型 24
    (三) 五子棋局面评估 25
    (四) 极大极小化搜索 27
    (五) α-β剪枝 28
    (六) 选择候选点 28
    (七) 对比 28
    总  结 30
    致  谢 31
    参考文献 32
     
    总  结
    毕业设计作为本科阶段最后的任务,使本人多方面的能力得到了锻炼。在完成毕业设计的过程中,本人巩固了Python语言基础,学习了Web框架Flask,加深了对于数据库设计和MySQL的理解,这些都使本人获益匪浅。本人认为该毕设课题有着一种创新的意义,在开发的过程中,与本人的系统直接相关的资料较少,很多模块的开发都需要自己进行全新的设计,这提高了本人的创新能力。同时五子棋算法竞赛平台具有一定的实用性,用户只需提交代码就能获得完整的反馈。该系统本身有着很多的优点,比如赛制丰富多样、竞赛流程清晰,使参赛者一目了然。由于时间仓促,当然也存在一些缺点,如计算对局结果花费时间过长。本人相信对系统进行进一步的开发后,优点会越来越多,缺点会越来越少。总的来说,五子棋算法竞赛平台应该是一个能让用户满意的平台。
     
    参考文献
    [1] 李文新, 郭炜. 北京大学程序在线评测系统及其应用[J]. 吉林大学学报(信息科学版), 2005(S2): 170-177.
    [2] 朱全民, 陈松乔. 五子棋算法的研究与思考[J]. 计算技术与自动化, 2006(02): 71-74.
    [3] Fei-Yue Wang, Jun Jason Zhang, Xinhu Zheng, Xiao Wang, Yong Yuan, Xiaoxiao Dai, Jie Zhang, Liuqing Yang. Where Does AlphaGo Go: From Church-Turing Thesis to AlphaGo Thesis and Beyond[J]. IEEE/CAA Journal of Automatica Sinica, 2016, 3(02): 113-120.
    [4] 刘知青, 吴修竹. 解读AlphaGo背后的人工智能技术[J]. 控制理论与应用, 2016, 33(12): 1685-1687.
    [5] 王常衡, 李嘉伟, 罗钦, 卢曼. 浅析Python语言及其应用前景[J]. 计算机产品与流通, 2019(04): 146.
    [6] 梁孔科, 李芳莹. 基于Python脚本语言的Web开发应用研究[J]. 信息与电脑(理论版), 2019(06): 72-73.
    [7] 艾缨东, 李建兵, 韩英杰. 基于Python语言及Flask框架的微机实验室管理系统设计与实现[J]. 信息与电脑(理论版), 2019(06): 107-108.
    [8] 蔡敏. Python语言的Web开发应用分析[J]. 无线互联科技, 2019, 16(04): 27-28.
    [9] 朱贇. Python语言的Web开发应用[J]. 电脑知识与技术, 2017, 13(32): 95-96.
    [10] 邓嘉怡. 基于C++的五子棋AI算法[J]. 通讯世界, 2019, 26(01): 281-282.
    [11] 牛恺泽, 邓鑫. 五子棋人工智能研究与实践[J]. 数字通信世界, 2019(01): 32-33.
    [12] 孙世文. 五子棋人工智能算法实现研究[J]. 中国新通信, 2018, 20(23): 143
    [13] 侯欣宇. 基于HUSTOJ的五子棋编程教学平台的设计与实现[D]. 北京工业大学, 2017.
    [14] 张效见. 五子棋计算机博弈系统的研究与设计[D]. 安徽大学, 2017.
    [15] 周洋, 邓莉, 谢煜. 一种五子棋博弈算法的分析[J]. 现代计算机(专业版), 2017(10): 8-10.
    [16] 毛丽民, 卢振利, 刘叔军, 彭伟伟, 李亮. 五子棋对弈机器人移动平台的研究[J]. 微特电机, 2017, 45(01): 9-14.
    [17] 吴俊杰. Python语言与javascript语言的区别吴俊杰[J]. 电子制作, 2019(02): 59-61.
    [18] 魏欢. Web前端开发技术以及优化探析[J]. 读与写(教育教学刊), 2019, 16(02): 31.
    [19] 李晓薇. JavaScript在动态网页设计中的应用研究[J]. 信息系统工程, 2019(01): 87
    [20] H.C. Vázquez, A. Bergel, S. Vidal, J. A. Díaz Pace, C. Marcos. Slimming JavaScript Applications: an Approach for Removing Unused Functions from JavaScript Libraries[J]. Information and Software Technology, 2018.
    [21] 周书强. JavaScript在动态网页设计中的应用[J]. 计算机产品与流通, 2018(10): 20.

    收缩