机巧围棋(CleverGo)技术原理文档
技术原理文档主要详解以下8个方面核心知识、技术、方法原理:
- 围棋基本知识
- 围棋模拟器(GymGo)核心方法原理
- 游戏引擎(Pygame)核心方法
- 深度学习框架(PaddlePaddle)核心方法
- 深度强化学习基本原理方法
- AlphaGo基本原理
- CleverGo项目程序设计方法原理
- CleverGo未来规划
原理撰写遵循上述主线,并针对每个方面进行展开,对每个方面用一篇或几篇文章,详细介绍知识原理及程序实现逻辑,具体规划如下。
1. 机巧围棋(CleverGo)项目总览及介绍
项目总体介绍、我们说几句话、感谢一些人及相关项目
- 项目简介
- 作者介绍
- 效果展示
- 技术原理文档目录
- 作者的话
- 致谢
- 参考资料链接
2. 围棋基本知识
介绍围棋基本规则、围棋学习基本视频资料、介绍围棋对弈平台及作者围棋ID,欢迎大家切磋交流
- 围棋基本说明及基本介绍
- 棋子的气
- 禁入点
- 棋子的眼(真眼与假眼)
- 死棋与活棋
- 棋子的分块
- 双打吃
- 征吃
- 枷吃
- 倒扑
- 扑与接不归
- 胜负的计算
- 目与单官
- 劫
- 说一说关于围棋的理解(善战者不败;善弈者通盘无妙手;你下你的,我下我的;旁观者,局外人)
- 围棋学习资料链接
- 围棋对弈平台介绍
3. 围棋模拟器(GymGo)核心方法原理
介绍围棋程序核心方法原理及实现逻辑
- 棋盘状态定义
- 计算无效落子位置方法原理及程序实现逻辑
- 计算棋子击杀状态方法原理及程序实现逻辑
- 棋盘状态更新方法原理及程序实现逻辑
- 落子合法性检测方法原理及程序实现逻辑
- 棋局结束判定方法即程序实现逻辑
- 棋子的气计算方法原理及程序实现逻辑
- 黑白占领实地计算方法原理及程序实现逻辑
- 胜负统计方法即程序实现逻辑
4. 游戏引擎(Pygame)核心方法
介绍Pygame中项目相关的方法
- Pygame游戏开发基本框架
- 棋盘、棋子、落子标记、落子进度、落子提示区等绘制方法
- Pygame中的音乐播放器
- 棋盘文字绘制方法
- 按钮控件程序实现方法
- 信息显示屏控件程序实现方法
5. 深度学习框架(PaddlePaddle)核心方法
简单介绍一下项目用到的PP框架中网络定义,训练等方法
- 深度神经网络定义方法
- 深度神经网络训练方法
- 深度神经网络预测方法
6. 深度强化学习基本知识介绍
介绍与CleverGo相关的强化学习基本知识
- 状态
- 状态空间
- 动作
- 动作空间
- 智能体
- 策略函数
- 状态转移
- 价值函数
- ……
7. AlphaGo基本原理
介绍阿尔法狗的基本知识、技术、方法原理
推演:蒙特卡洛树搜索
棋感:策略网络
局面评估:价值网络
- 阿尔法狗中的动作、状态、策略网络和价值网络
- 蒙特卡洛树搜索
蒙特卡洛方法与蒙特卡洛数搜索
- 训练策略网络和价值网络
8. CleverGo项目程序设计方法原理
拆解CleverGo项目设计思想及代码结构
- 程序设计框架
- 项目各文件夹及文件内容介绍
- 各模块设计思想及实现方法
9. CleverGo未来规划
说一下未来的计划,和对整个项目的期待
10. 写在最后
项目总结,心得,历程回顾,期望。总的来说,我们再过来说一些话。