AI五子棋需求规格说明书
AI-Gobang
AI五子棋小程序 github地址:https://github.com/holidaysss/AI-Gobang
程序简介
AlphaGo Zero在世界舞台上取得的巨大成功体现了人工智能算法的快速发展和其蕴含着的应用价值,本团队借鉴AlphaGo Zero算法思想和架构,简单实现五子棋的人工智能棋手,通过人工智能自我的不断下棋,不断训练,并且不断迭代更新自身-自训练模式,从而训练一个水平极高的人工智能棋手,让广大玩家体验一把与“AlphaGo Zero”的感觉。本团队提出的程序-AI五子棋不仅加入人工智能元素,并且以微信小程序的方式部署,为所有微信用户提供简洁方便的模式风格轻松进行五子棋游戏。
参考资料
AlphaGo Zero的主要论文文献,互联网上的AlphaGo Zero算法研究文章,AlphaGo Zero 相关的知识文章,微信小程序游戏类型开发知识文章,python后端开发知识文章,服务器搭建配置知识文章,python必要运行环境搭建配置知识文章。 AlphaZero: Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm AlphaGo Zero: Mastering the game of Go without human knowledge
程序架构
前端设计
AI五子棋前端设计主要从两个角度进行编程开发:游戏设计,信息处理。
游戏设计:
- 五子棋棋盘,棋子等图像界面的设计

- 五子棋基础规则设定 a. 棋子可以根据玩家的指定位置落到棋盘的指定位置-坐标 b. 玩家只可以按照规则下棋,不存在连续下棋,未同意下撤回棋子,同个位置下两遍等异常情况
- 游戏基础功能设定,比如开始游戏,再来一菊,放弃下棋等
- 可以根据后端指示的游戏状态执行对应操作,特别地,棋盘的胜负状态是由后端判断的。
信息处理:
- 可以为每一个微信用户生成一个唯一的Token或者标识
- 可以与后端进行正确的信息通信,并且执行后端要求的请求。同时也可以正常地向后端发送信息
- 以JSON格式作为数据规范格式,当前数据格式
后端开发
后端开发主要从两个角度入手:游戏开发,Web开发
游戏开发:
- 完整编程开发五子棋游戏,可以正常生成棋盘,并且可以进行三种游戏模式:人机模式,人人模式,鸡鸡模式。
- 初步理解AlphaGo Zero的算法思想和技术,并且尝试实现算法,训练人工智能模型。
- 整合训练好的模型和算法逻辑称为一个可实例化的对象 - 称人工智能棋手(AI棋手)
Web开发:
- 正确与前端进行信息交流
- 准确每一个用户生成临时棋盘环境,每个用户的棋盘游戏环境互不干扰。
- 合理存放用户的token标识等数据
- 同个用户标识可以在不同时间段内生成多个棋盘,但是每一个时间段只能对应一个棋盘环境
- 服务器web框架的部署,性能,效率,安全和稳定等方面的测试
用户环境:微信小程序(小游戏)
预期用户人数:1001
目标用户特点:可爱,善良,聪明。
AI五子棋需求规格说明书的更多相关文章
- 天转凉了,注意保暖,好吗(需求规格说明书放在github了)
团队项目——AI五子棋(小程序) 一.团队展示: 队名:未来的将来的明天在那里等你 小组 队员: 龙天尧(队长)(3116005190),林毓植(3116005188),黄晖朝(3116005178) ...
- 基于 Java Web 的毕业设计选题管理平台--选题报告与需求规格说明书
一.选题报告 目录 团队名称 团队成员 项目名称 项目描述 创新与收益 用户场景分析 真实用户调研 未来市场与竞争 项目导图 比例权重 总结 1.团队名称--指南者团队 2.团队成员 孔潭活:2015 ...
- 需求规格说明书(SRS)特点
需求说明书的7大特征: 完整性 正确性 可行性 必要性 划分优先级 无二义性 可验证性 每条需求规格说明书的4大特点: 完整性 一致性 可修改性 可跟踪性 需求管理就是一种获取.组织并记录系统需求的系 ...
- 【软件需求工程与建模 - 小组项目】第6周 - 成果展示2 - 软件需求规格说明书V4.3
成果展示2 - 软件需求规格说明书V4.3
- 【项目 · Wonderland】需求规格说明书 · 终版
[项目 · Wonderland]需求规格说明书 · 终版 Part 0 · 简 要 目 录 Part 1 · 流 程 / 分 工 Part 2 · 需 求 规 格 说 明 书 Part 1 · 流 ...
- 失物找寻APP软件需求规格说明书——第三次团队作业
⭐对于软件需求规格说明书的理解 在没写这份软件需求规格说明书的时候我们组成员都不是很理解它的必要性,当然,写完之后才知道它的作用. 软件需求说明书的存在是为了使用户和软件开发者双方对该软件的初始规定有 ...
- 需求规格说明书——阿里八八“好记”APP
工作流程 ① 组长查阅相关文档.示例文件等,根据本小组项目特点进行定制需求规格说明书目录. ② 根据选题报告工作进行任务分配,追求工作量最小化.效率最大化. ③ 分工编辑文档. ④ 组长搭建Githu ...
- <项目需求规格说明书> - 福大易宝
福大易宝-<项目需求规格说明书> 流程 在开会时统一了项目的开发背景,具体功能,然后在同一个工作环境下进行该说明书的编写. 分工 1.李佳铭.杜宏庆共同负责引言和项目描述的内容. 2.刘双 ...
- 软件需求规格说明书(转自http://blog.csdn.net/li_canhui/article/details/6927540)
转自http://blog.csdn.net/li_canhui/article/details/6927540 1概述 1.1编写目的 指出编写<需求规格说明书>的目的.下面是示例: 编 ...
随机推荐
- Cognos命名空间不可用
1. 问题描述 启动Cognos失败,报错代码为0146. 2. 问题分析 namespace 配置有问题,检查configuration 3. 解决方案 如果检查不出问题,删除$COGNOS_HOM ...
- 算法:输出一个整数(不用ToString方法)
1.递归实现 static void Main(string[] args) { Console.WriteLine("Pls input a number:"); int p = ...
- 工作笔记6-java相关
1.有时候安装失败或者要装新版本的JDK,可先卸载JDK: a. 首先执行命令查看服务器下的JDK的版本:命令如下:rpm -qa |grep jdk b. 然后执行命令:yum -y rem ...
- SpringMVC流程架构基础理论
Spring web mvc和Struts2都属于表现层的框架 1. 用户发起request请求至控制器(Controller) 控制接收用户请求的数据,委托给模型进行处理 2. 控制器通过模型(Mo ...
- [Codeforces178F2]Representative Sampling
Problem 给定n个字符串Si,任意选出k个字符串Ai,使得其中任意两个字符串lcp之和最大. Solution 建一棵trie树,枚举每一个节点对答案的贡献,树形dp,时间复杂度像是O(N^3) ...
- Centos 7防火墙firewalld开放端口
firewall-cmd --zone=/tcp --permanent 出现success表明添加成功 命令含义:--zone #作用域--add-port=80/tcp #添加端口,格式为:端口/ ...
- cocoaPods安装爬坑总结
1.移除现有Ruby默认源 $ gem sources --remove https://rubygems.org/ 2.使用新的源 $ gem sources -a https://ruby.t ...
- Base包equivalent
Guava 18.0到22.0 Equivalence发生了较大的变化,这里我们先不可考虑Equivalence 新实现的那个接口,首先看一个测试demo: import java.util.Arra ...
- C++中的字符串的输入输出函数、空字符与空格的区别、字符变量赋值和字符串初始化
一.字符串输入输出函数 1. cin.get() 逐个字符输入输出 2. cin 可以将整个字符串一次性输入,但是,cin将空格.Tab和回车键,因此不能用于数组的一次性输入. 注意:ci ...
- Spring 基础知识(二)Spring的bean初始化与生命周期,以及注入
Spring bean 初始化: 参考博文: https://www.cnblogs.com/luyanliang/p/5567164.html 1. 加载xml 文件. 扫描注解 ,形成bean定义 ...