基於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: 一款高效能、高安全、高可靠的企業級開源關係型資料庫。
🍒如果您覺得博主的文章還不錯或者有幫助的話,請關注一下博主,如果三連點贊評論收藏就更好啦!謝謝各位大佬給予的支援!
- GaussDB資料型別轉換介紹
- 通過公網連線GaussDB資料庫例項
- GaussDB資料型別介紹
- 如何通過DAS連線GaussDB
- 企業級分散式資料庫 - GaussDB介紹
- GaussDB 資料庫實驗環境搭建指導
- Tableau連線openGauss實踐
- 以學校資料模型為例,掌握在DAS下使用GaussDB
- openGauss資料庫共享儲存特性簡介
- openGauss資料庫原始碼解析系列文章——備份恢復機制:openGauss增量備份技術(上)
- openGauss資料庫客戶端接入認證詳解
- Excel連線openGauss資料庫實操
- openGauss資料庫原始碼解析系列文章——備份恢復機制:openGauss全量備份技術
- 超市進銷存之openGauss資料庫的應用與實踐
- 在WPS表格裡製作連線到openGauss的實時重新整理報表
- openGauss資料庫PostGIS 安裝與使用
- openGauss中Schema賦權小試
- openGauss Cluster Manager RTO Test
- 【我和openGauss的故事】openGauss獲獎專案講解
- openGauss易知易會的幾個實用特性