基于openGauss的五子棋AI项目
目录 1 前言 2 方案意义 3 架构设计 4 数据表设计 5 代码结构 6 项目演示 7 总结
1 前言 openGauss是一款全面友好开放的企业级开源关系型数据库。openGauss采用木兰宽松许可证v2发行,提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。本文采用openGauss设计一个AI小demo。
2 方案意义
人工智能被广泛用于棋类对弈的主要原因是:
棋类对弈自古以来就被认为是人类智力活动的象征,若人工智能成功达到、甚至高于人类水平,则就代表AI的发展潜力,从而吸引更多研究者关注并投身其中; 棋类很适合作为新AI算法的标杆。棋类游戏规则简洁、输赢都在盘面,适合计算机求解。理论上只要在计算能力和算法上有新的突破,任何新的棋类游戏都有可能得到攻克。而在棋类游戏上的表现也可以直观体现出AI之间计算能力与算法的高低,是促进AI算法发展的有效途径。 就本五子棋智能对弈系统而言,其服务对象为同局域网下的多个终端,讲求联机互动、互相限制、互相博弈,打破了传统二人对弈五子棋规则中,“若无禁手,先手易胜;若为后手,十堵九输”的说法,是AI算法设计、网络通信、数据库等技术的综合应用。
3 架构设计
其中对弈数据库采用openGauss数据库
4 数据表设计 棋盘数据表的表头如图所示
为将二维棋盘状态存入数据库中,令棋盘按 轴方向展开为一维序列
玩家数据表的表头如图所示
走子数据表的表头如图所示
5 代码结构
如图所示,依据模块化程序设计的基本思想,将整个项目按照功能划分为若干个小程序模块,每个小程序模块完成一个确定的功能,自顶向下、逐步分解、分而治之,各模块相对独立、功能单一、结构清晰。同时,在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计
image.png
各模块具体设计如下:
main.py:启动文件。 config.py:变量管理文件。管理所有跨文件的全局变量。 settings.py:配置文件。开发环境配置、第三方扩展插件参数配置、数据库的链接路径及其他配置等。 apps:主体文件包。其初始化文件包括Flask类的实例创建以及工厂函数。该文件包下设三个子文件包,分别对应架构设计中的三张蓝图。 exts:扩展文件包。第三方扩展插件的例化,创建映射对象等。 项目采用高度模块化设计的优点有:控制了程序设计的复杂性;提高了代码的重用性;易于维护和功能扩充;有利于团队开发等。
6 项目演示
7 总结 基于openguass开发AI应用相当方便,也使我进一步掌握了数据库的常用技术,提高工程开发能力和面对未知问题的临场解决能力,对设计、创新、分析水平都有很大的帮助。
作者:杨皓冬 openGauss: 一款高性能、高安全、高可靠的企业级开源关系型数据库。
🍒如果您觉得博主的文章还不错或者有帮助的话,请关注一下博主,如果三连点赞评论收藏就更好啦!谢谢各位大佬给予的支持!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
刷新最快AI做图速度,最快开源Stable Diffusion出炉
第一辆汽车诞生之初,时速只有 16 公里,甚至不如马车跑得快,很长一段时间,汽车尴尬地像一种“很酷的玩具”。人工智能作图的出现也是如此。 AI 作图一开始的 “风格化” 本身就为 “玩” 而生,大家普遍兴致勃勃地尝试头像生成、磨皮,但很快就失去兴趣。直到扩散模型的降临,才给 AI 作图带来质变,让人们看到了 “AI 转成生产力” 的曙光:画家、设计师不用绞尽脑汁思考色彩、构图,只要告诉 Diffusion 模型想要什么,就能言出法随般地生成高质量图片。 然而,与汽车一样,如果扩散模型生成图片时“马力不足”,那就没法摆脱玩具的标签,成为人类手中真正的生产工具。 起初,AI 作图需要几天,再缩减到几十分钟,再到几分钟,出图时间在不断加速,问题是,究竟快到什么程度,才会在专业的美术从业者甚至普通大众之间普及开来? 显然,现在还无法给出具体答案。即便如此,可以确定的是 AI 作图在技术和速度上的突破,很可能已经接近甚至超过阈值。其中一大标志性事件是,近期OneFlow 首度将 Stable Diffusion 模型加速至“一秒出图”时代,随后AI社区开启一场AI作图的竞速“内卷”。刚刚,One...
- 下一篇
EasyGoAdmin 敏捷开发框架 Echo+AntdVue 版本 v1.0.0 发布
v1.0.0 更新内容: 1、设计、规划和研发基础 RBAC 权限架构; 2、对系统模板进行架构设计及模板继承相关设计; 3、研发框架基础模块,如字典、配置、行政区划管理等等常规基础模块; 4、设计并研发代码生成器,根据表结构动态解析并生成模块文件和增删改查功能; 5、设计并研发一系列其他配套功能很常规使用函数; 项目介绍 一款 Go 语言基于Echo、Vue3.x、AntDesign、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式,同时为了敏捷快速开发,框架特地集成了代码生成器,完全自主研发了自定义GO后端服务模板和前端Vue自定义模板,可以根据已建好的表结构,可以快速的一键生成整个模块的所有代码和增删改查等等功能业务,真正实现了低代码开发方式,极大的节省了人力成本的同时提高了开发效率,缩短了研发周期,是一款真正意义上实现组件化、可插拔式的敏捷开发框架。 内置模块 用户管理:用于维护管理系统的用户,常规信息的维护与账号设置。 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作