天转凉了,注意保暖,好吗(需求规格说明书放在github了)
團隊項目——AI五子棋(小程序)
?
一、團隊展示:
隊名:未來的將來的明天在那里等你 小組
隊員:
龍?zhí)靾?隊長)(3116005190),林毓植(3116005188),黃暉朝(3116005178),梁竟(3116005183),林俊博(3116005185),林立新(3116005186)
Github項目地址:https://github.com/holidaysss/AI-Gobang
項目描述:
AlphaGo Zero在世界舞臺上取得的巨大成功體現(xiàn)了人工智能算法的快速發(fā)展和其蘊含著的應(yīng)用價值,本團隊借鑒AlphaGo Zero算法思想和架構(gòu),簡單實現(xiàn)五子棋的人工智能棋手,通過人工智能自我的不斷下棋,不斷訓(xùn)練,并且不斷迭代更新自身-自訓(xùn)練模式,從而訓(xùn)練一個水平極高的人工智能棋手,讓廣大玩家體驗一把與“AlphaGo Zero”的感覺。本團隊提出的程序-AI五子棋不僅加入人工智能元素,并且以微信小程序的方式部署,為所有微信用戶提供簡潔方便的模式風(fēng)格輕松進行五子棋游戲。
?
需求分析:
?面向用戶分析:
全體微信用戶都可以很便捷地參與游戲,隨時隨地都可以簡單的借助微信小程序的便利發(fā)起游戲?qū)?zhàn)。
?功能性需求
a. 正常進行五子棋游戲
b. 基于微信小程序開發(fā)
c. 多種游戲模式的選擇
d. AI元素的加入
?技術(shù)需求
a. 微信小程序前端開發(fā)
b. 服務(wù)器部署
c. python web開發(fā)
d. AlphaGo Zero 算法理解和實現(xiàn)
e. python的編程開發(fā)
?
項目分組:
前端:
AI五子棋基于小程序開發(fā),小程序的前端語言用的是JavaScript。前端設(shè)計主要從兩個角度進行編程開發(fā):游戲設(shè)計,信息處理。
游戲設(shè)計:
1. 五子棋棋盤,棋子等圖像界面的設(shè)計
2. 五子棋基礎(chǔ)規(guī)則設(shè)定
a. 棋子可以根據(jù)玩家的指定位置落到棋盤的指定位置-坐標
b. 玩家只可以按照規(guī)則下棋,不存在連續(xù)下棋,未同意下撤回棋子,同個位置下兩遍等異常情況
3. 游戲基礎(chǔ)功能設(shè)定,比如開始游戲,再來一菊,放棄下棋等
4. 可以根據(jù)后端指示的游戲狀態(tài)執(zhí)行對應(yīng)操作,特別地,棋盤的勝負狀態(tài)是由后端判斷的。
信息處理:
1. 可以為每一個微信用戶生成一個唯一的Token或者標識
2. 可以與后端進行正確的信息通信,并且執(zhí)行后端要求的請求。同時也可以正常地向后端發(fā)送信息
3. 以JSON格式作為數(shù)據(jù)規(guī)范格式,當(dāng)前數(shù)據(jù)格式
?
后端:
采用開發(fā)簡單且功能強大的Flask作為后端開發(fā)語言,由于Flask是python web框架,所以在結(jié)合同樣是python實現(xiàn)的人工智能算法上的操作上更加方便。后端開發(fā)主要從兩個角度入手:游戲開發(fā),Web開發(fā)
游戲開發(fā):
1. 完整編程開發(fā)五子棋游戲,可以正常生成棋盤,并且可以進行三種游戲模式:人機模式,人人模式,雞雞模式。
1. 初步理解AlphaGo Zero的算法思想和技術(shù),并且嘗試實現(xiàn)算法,訓(xùn)練人工智能模型。
2. 整合訓(xùn)練好的模型和算法邏輯稱為一個可實例化的對象 - 稱人工智能棋手(AI棋手)
Web開發(fā):
1. 正確與前端進行信息交流
2. 準確每一個用戶生成臨時棋盤環(huán)境,每個用戶的棋盤游戲環(huán)境互不干擾。
3. 合理存放用戶的token標識等數(shù)據(jù)
4. 同個用戶標識可以在不同時間段內(nèi)生成多個棋盤,但是每一個時間段只能對應(yīng)一個棋盤環(huán)境
5. 服務(wù)器web框架的部署,性能,效率,安全和穩(wěn)定等方面的測試
?
?
參考資料
AlphaGo Zero的主要論文文獻,互聯(lián)網(wǎng)上的AlphaGo Zero算法研究文章,AlphaGo Zero 相關(guān)的知識文章,微信小程序游戲類型開發(fā)知識文章,python后端開發(fā)知識文章,服務(wù)器搭建配置知識文章,python必要運行環(huán)境搭建配置知識文章。
AlphaZero: Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm
AlphaGo Zero: Mastering the game of Go without human knowledge
?
?
隊員風(fēng)采:天堯:
人設(shè):活潑可愛
擅長:即興伴奏,python
一句話:“想要成績好,上課不遲到。”
?
毓植:
人設(shè):天真浪漫
擅長:唱歌,python
一句話:“百分之五十的見解, 百分之五十的直覺。”
? ?
? ?暉朝:
人設(shè):沉著冷靜
擅長:太極,python
一句話:“飲一壺濁酒,刪了庫就走”
?
? ? 竟竟:
? ?人設(shè):拾金不昧
擅長:安卓,Java
一句話:“聽立新的。”
?
? ?俊博:
人設(shè):寵辱不驚
擅長:游戲,python
一句話:“None”
?
? ? 立新:
人設(shè):能說會道
擅長:數(shù)學(xué),辯論,python
一句話:“愛你,愛你,愛你,每天都要一起。”
團隊合照:
(明天再拍。。。)
團隊特色:男團
?
二、選題要求
?
- 確立團隊選題,確定之后每個團隊需要寫描述要做的究竟是什么系統(tǒng),預(yù)期的用戶量是多少。
- 圍繞選題項目內(nèi)容的 真實、可用、有價值(有情懷 作為加分項)目標來分別闡述。
- 建立和初步熟悉團隊git的協(xié)作方式。項目后續(xù)的代碼、文檔都要通過Coding.net增量式管理。實現(xiàn)文檔的版本化和增量式管理。
- 請立刻建立團隊項目的git倉庫。
三、團隊安排
1. 團隊計劃
| 第 6?周 | 1.團隊組隊、團隊博客 |
| ? | 2.團隊介紹、成員展示、角色分配、選題確定 |
| ? | 3.制定團隊計劃安排,團隊貢獻分的規(guī)定 |
| 第7周 | 1.需求規(guī)格說明書 |
| ? | 2.原型設(shè)計,隊員估計任務(wù)難度并學(xué)習(xí)必要的技術(shù) |
| ? | 3.編碼規(guī)范完成、平臺環(huán)境搭建完成、初步架構(gòu)搭建 |
| 第8周 | 1.原型改進(給目標用戶展現(xiàn)原型,并進一步理解需求) |
| ? | 2.架構(gòu)設(shè)計,WBS, 團隊成員估計各自任務(wù)所需時間 |
| ? | 3.測試計劃 |
| 第9周 | 1. 團隊項目Alpha任務(wù)分配計劃 |
| ? | 2. 連續(xù)7天的Alpha敏捷沖刺,7 篇 每日Scrum Meeting博客+代碼提交 |
| 第10周 | 1.用戶反饋+測試計劃改進 |
| ? | 2. 團隊Alpha階段個人總結(jié) |
| ? | 3. 團隊項目Alpha博客:發(fā)布說明、測試報告、展示博客、項目管理 |
| 第11周 | 1. 團隊項目Alpha博客:事后分析 |
| ? | 2. 每個團隊有一人必須離開,自己尋找下一個接納自己的團隊。團隊發(fā)博客宣布離隊和接納的成員。 |
| 第12周 | 1. 團隊項目Beta任務(wù)分配計劃,介紹新成員 |
| ? | 2. 連續(xù)7天的Beta敏捷沖刺,7 篇 每日Scrum Meeting博客+代碼提交 |
| 第13周 | 1. 團隊項目Beta博客:發(fā)布說明、測試報告、展示博客 |
| ? | 2. 團隊Beta階段個人總結(jié) |
| 第14周 | 1. 團隊項目Beta博客:事后分析, 宣布每人的貢獻分 |
| 第15周 | 1.團隊整個階段總結(jié),分析用戶數(shù)據(jù),整理文檔,保證以后的團隊能接手。 |
2. PSP?
| Planning | 計劃 | ? | ? |
| · Estimate | · 估計這個任務(wù)需要多少時間 | ·? | ·? |
| Development | 開發(fā) | ? | ? |
| · Analysis | · 需求分析 (包括學(xué)習(xí)新技術(shù)) | ·? | ·? |
| · Design Spec | · 生成設(shè)計文檔 | ·? | ·? |
| · Design Review | · 設(shè)計復(fù)審 (和同事審核設(shè)計文檔) | ·? | ·? |
| · Coding Standard | · 代碼規(guī)范 (為目前的開發(fā)制定合適的規(guī)范) | ·? | ·? |
| · Design | · 具體設(shè)計 | ·? | ·? |
| · Coding | · 具體編碼 | ·? | ·? |
| · Code Review | · 代碼復(fù)審 | ·? | ·? |
| · Test | · 測試(自我測試,修改代碼,提交修改) | ·? | ·? |
| Reporting | 報告 | ? | ? |
| · Test Report | · 測試報告 | ·? | ·? |
| · Size Measurement | · 計算工作量 | ·? | ·? |
| · Postmortem & Process Improvement Plan | · 事后總結(jié), 并提出過程改進計劃 | ·? | ·? |
| 合計 | ? | ? | ? |
3. 團隊成員績效評估方法
成員的績效 = 團隊獲得的分數(shù) + 個人的團隊貢獻分
在項目alpha 和 beta 階段評審后, 團隊會得到一個項目分數(shù)(每個成員都會得到同樣的分數(shù),做為自己的原始分數(shù)的一部分)。團隊成員的努力程度不同,達成目標的程度不同,幫助同伴的付出不同,那就要在“團隊貢獻分” 上有所區(qū)分。 所有人貢獻分的總和為 20N,其中N為團隊的人數(shù)。 在alpha/beta 之后,團隊按照自己制定的規(guī)則,把 (20N)瓜分給每人,這就是 “團隊貢獻分”。
要求:請每人閱讀教材 “人、績效和職業(yè)道德”一章,然后團隊開一個討論會,協(xié)商討論團隊貢獻分的分配規(guī)則。每人得分為自然數(shù),并且每個人分數(shù)不能相同。 請寫一個團隊博客詳細說明每個團隊的成員計劃如何幫助團隊完成任務(wù),以及團隊貢獻分的分配規(guī)則。
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/macrae/p/9781123.html
總結(jié)
以上是生活随笔為你收集整理的天转凉了,注意保暖,好吗(需求规格说明书放在github了)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: App Inventor2项目部署到本地
- 下一篇: 阿里云centos7通过yum安装 My