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