基於openGauss的五子棋AI專案

語言: CN / TW / HK

目錄 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: 一款高效能、高安全、高可靠的企業級開源關係型資料庫。

🍒如果您覺得博主的文章還不錯或者有幫助的話,請關注一下博主,如果三連點贊評論收藏就更好啦!謝謝各位大佬給予的支援!