theory of computer games
play

Theory of Computer Games Tsan-sheng Hsu tshsu@iis.sinica.edu.tw - PowerPoint PPT Presentation

Theory of Computer Games Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Goal Course name: Theory of Computer Games !!! Prerequisite: Computer


  1. Theory of Computer Games Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1

  2. Goal Course name: Theory of Computer Games • 十 十 十 四 四 週 週 週 年 年 年 !!! 四 Prerequisite: Computer Programming, Linux/Unix, C/C++, and Data Structure and Algorithms. • Enjoy playing classical board games! • Heavy programming projects! Goal: This course introduces techniques for computers to play various games which include Chinese chess and Go. Disclaimers: • NOT yet a course on game theory. • NOT yet a course on video games. • NOT yet a course on war game simulations. Web page: http://www.iis.sinica.edu.tw/ ~ tshsu/tcg/2020 TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 2

  3. About this course Time and Place: Every Thursday from 2:20pm to 5:20pm at Room 105 (NTU CSIE building). Sep 17 24 Oct 1 8 15 22 29 Nov 5 12 19 26 Dates: Dec 3 10 17 24 31 Jan 7 14 (?) 21 Format: • Lectures. • Presentations for homework projects (optional). • Invited lectures: TBA. Class materials 腦 對 對 對局 局 局導 導 導 論 • textbook: 電 電 電 腦 腦 論 論 , 臺 臺 臺 大 大 出 出 出 版 版 中 中 中 心 心 心 , June 2017 ; ISBN: 978-986- 大 版 350-237-1 • Class notes • Collection of papers TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 3

  4. Textbook 勘 誤 表 : http://www.iis.sinica.edu.tw/~tshsu/tcg/errata20191125.pdf TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 4

  5. 電 腦 對局導 論 Computers and classical board games: An Introduction 2017 年 6 月 一 版 勘 誤 表 November 25, 2019 內 容 頁 碼 / 位 置 修 改 前 修 改 後 預 官 退 伍 之 後 , 讚 昇 出 國 到 美 國 德 州 奧 預 官 退 伍 之 後 , 讚 昇 出 國 到 美 國 德 州 大 p.I 序 一 的 第 二 段 斯 汀 大 學 深 造 , 專 攻 演 算 法 研 究 。 學 奧 斯 汀 校 區 深 造 , 專 攻 演 算 法 研 究 。 2005 年 8 月 , 讚 昇 與 我 共 同 主 辦 第 十 屆 國 2005 年 8 月 , 讚 昇 與 我 共 同 主 辦 第 十 屆 國 際電 腦 奧 林 匹 亞 大 賽 和 CG2005 電 腦 對局 際電 腦 奧 林 匹 亞 大 賽 和 CG2005 電 腦 對局 p.I 序 一 的 第 三 段 國 際 會 議 , 開 啟 ICGA 國 際電 腦 對局 學 會 國 際 會 議 , 開 啟 ICGA 國 際電 腦 對局 學 會 在 亞 洲 地 區 舉 辨 活 動 的 新 頁 。 在 亞 洲 地 區 舉 辦 活 動 的 新 頁 。 圖 目 錄 之 2.4 混 合 雙 佇 列 實 作佇 列 之 示 意 混 合 雙 佇 列 實 作佇 列 之 示 意 圖 六 貫 棋 性 質 證 明 : 連 接 各 行 中 的 黑 方 棋 圖 目 錄 之 4.4 六 貫 棋 性 質 證 明 : 連 接 黑 方 棋 子 子 圖 目 錄 之 5.7 位 在 中 央 的 騎 士 騎 士 的 影 響 圖 目 錄 之 5.14 栓 鏈 的 範 例 栓 鏈 圖 目 錄 之 5.19 欠 行 局 例 欠 行 斥 候 演 算 法 搜 尋 的 節 點 數 比 Alpha-Beta 斥 候 搜 尋 時 TEST 拜 訪 的 節 點 數 比 圖 目 錄 之 7.4 切 捨 演 算 法 拜 訪 的 節 點 數 多 的 例 子 Alpha-Beta 切 捨 多 的 例 子 圖 目 錄 之 7.8 斥 候 演 算 法 拜 訪 最 少 的 節 點 數 的 例 子 斥 候 演 算 法 拜 訪 最 少 節 點 數 的 例 子 演 算 法 目 錄 之 15 ′ (position p ) ′ (position p , integer depth ) 15 F 15 F ′ (position p ) ′ (position p , integer depth ) 演 算 法 目 錄 之 16 16 G 16 G 演 算 法 目 錄 之 17 17 F(position p ) 17 F(position p , integer depth ) ′ (position p , value alpha , value ′ (position p , value alpha , value 18 F2 18 F1 演 算 法 目 錄 之 18 beta ) beta ) ′ (position p , value alpha , value ′ (position p , value alpha , value 19 G2 19 G1 演 算 法 目 錄 之 19 beta ) beta ) 20 F2(position p , value alpha , value 20 F2(position p , value alpha , value 演 算 法 目 錄 之 20 beta ) beta , integer depth ) 21 F2(position p , value alpha , value 21 F2(position p , value alpha , value 演 算 法 目 錄 之 21 beta ) beta , integer depth ) 29 IDAS(position p , integer limit , 29 IDAS(position p , integer limit , value 演 算 法 目 錄 之 29 integer threshold ) threshold ) ′ (position p , integer limit , ′ (position p , integer limit , value 30 IDAS 30 IDAS 演 算 法 目 錄 之 30 integer threshold ) threshold ) TCG: Syllabus, 20200917, Tsan-sheng Hsu c � ′ (position p , value alpha , value ′ (position p , value alpha , value 5 36 F4.4 36 F4.4 演 算 法 目 錄 之 36 beta , integer depth , Boolean do null ) beta , integer depth , Boolean in null ) ′ (position p , value alpha , value ′ (position p , value alpha , value 37 F4.5 37 F4.5 演 算 法 目 錄 之 37 beta , integer depth , Boolean do lmr ) beta , integer depth , Boolean in lmr ) 演 算 法 目 錄 之 45 45 UCT 45 MCTS

  6. Acknowledgements Thanks to TA’s and the students of this course for providing constructive feedbacks on the slides. • Classes of 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 and 2019. Special thanks to the following students. • Yuh-Jie Chen (class of 2008) • Jennya Chang (class of 2011) • Jessica Lin (class of 2011) TA of previous years • 陳 陳 陳 柏 柏 柏 年 年 年 • 陳 陳 陳 冠 冠 冠 伶 伶 伶 • 許 許 許 祐 祐 祐 程 程 程 • 張 張 紘 張 紘 紘 睿 睿 睿 • 樂 樂 樂 正 正 正 鍾 詠 詠 詠 先 先 先 • 鍾 鍾 • 陳 陳 陳 約 約 廷 廷 廷 約 • 郭 郭 郭 麗 麗 麗 莎 莎 莎 TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 6

  7. Evaluation (1/3) Homework (30%) • One homework project about single-agent search (15%) ⊲ About single agent search, single-person project, Linux/Unix knowl- edge is required. ⊲ Implement different techniques learned from the class and compare the results. • One homework project about Monte-Carlo simulation (15%) ⊲ A 2-player game with a strong Monte Carlo flavor, single-person project, Linux/Unix knowledge is required. ⊲ Your program against TA’s program, and against all other students. Written exam: midterm exam (30%) TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 7

  8. Evaluation (2/3) Final project (40%) • An alpha-beta based computer game program for Chinese Dark Chess. ⊲ A sample code with GUI will be provided. ⊲ The usage of this sample code is restricted for anything related to this course only. • The 14th NTU-TCG Cup. • A whole day tournament, attendance is required!! • Submitted package: Code + documents. Class participation • Bonus for good participation • Students being recorded as not attending the classes will be penalized • More rules will be announced during the lectures TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 8

  9. Backup plans In case of unexpected circumstances due to COVID-19 or others. Possible options: • A final exam. • Off-line competition. ⊲ Code submitted and then executed by TA. ⊲ Game logs are provided. ⊲ Multiple runs. TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 9

  10. Evaluation (3/3) Presentation/Report of a research paper on game tree search. • If we have more than 16 students, then ⊲ Bonus for selected students who are obviously falling behind. If we have less than 17 students, then ⊲ This is required for each student. ⊲ This will be 10% of your score in which case the two programming homework each take 10%. • If time allows, give an in-class presentation. ⊲ Discussion before presentation. ⊲ 30-minute talk. ⊲ ≤ 30 slides in PDF format. ⊲ 10–15 minutes of Q & A. ⊲ Each student asks ≥ 1 non-trivial question. ⊲ Submit your revised set of slides one week later. • If time does not allow, submit a written report. ⊲ Pick a paper related to the course. ⊲ Write a report with at least 1000 words in PDF format. ⊲ Summary of results in the paper. ⊲ Comments about this paper, its strength, weakness and potential im- provements. TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 10

  11. Lecturing format For each topic • The first and most influential papers are introduced. • A list of recent and latest papers is provided for further readings and/or topics for presentations. TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 11

  12. Course at a glance (1/2) Introduction: an A.I. oriented overview Single-player games • Basic techniques • Advanced techniques Homework 1: October Two-player perfect information games • Survey • Introduction from Chess’s point of view • Alpha-beta and its extensions Midterm exam: November TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 12

  13. Course at a glance (2/2) Two-player perfect information games • Monte-Carlo based method Homework 2: December Practical considerations • Memorizing knowledge ⊲ Transposition tables ⊲ Endgame databases • Advanced pruning techniques • Parallelization (?) • The graph-history interaction (GHI) problem • Opponent model (?) • Timing control • Hardware enhancements (?) Conclusion Final project/Final written exam: January TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 13

  14. Introduction and an A.I. oriented overview Relations between computer games and Artificial Intelligence. • Why we study computer games? • Why we play or study games? History [SvdH02] [Sha50a] • The Turk, a chess playing “machine” at 1780’s [LN82] • The endgame playing machine at 1910’s [McC04] • C. E. Shannon (1950) [Sha50b] and A. Samuel (1960) [Sam60] Games that machines have beaten human champions [SvdH02] [Sch00] • Chess [CHH02] • Othello [Bur97] • Checker [SLLB96] • Go [SHM + 16] • · · · TCG: Syllabus, 20200917, Tsan-sheng Hsu c � 14

Recommend


More recommend