作者patrick2dot0 (第一中鋒)
看板NCTU-Teacher
標題吳毅成-電腦對局理論
時間Sun Mar 11 14:05:14 2018
⊕課名⊕
電腦對局理論
▲教授▲
吳毅成
★修課年度★
106學年度 第1學期 研究所課程
£教了什麼£(課程大概內容。或是額外學會了什麼東西。)
alpha-beta search
bitboard
Monte-Carlo tree search
TD learning
null move
numbers games
proof number search
threat space search
我只大致列了一些有教的東西,
基本上從傳統電腦對局的alpha-beta search,
到機器學習的TD-learning都有教,
講了很多電腦對局領域常見的方法,
個人覺得比較像topic course,
就是一個topic一個topic講,
都是這領域常見的方法,
但彼此之間沒什麼連貫性,
講課的順序就算調動一下也沒什麼影響,
研究所或一些進階領域的課程比較常出現這種類型的課。
◆上課方式◆(投影片、團體討論、老師教學風格)
基本上老師會用自己的投影片講課,
有需要補充解釋的時候會用到黑板,
比較特別的是學期最後一個月,
會是paper presentation,
兩個人一組上台報一篇paper,
細節我在底下的「考試作業」補充。
▼考試作業▼
剛開學的時候老師給的評分方式是
Homework 20%
Final Exam 24%
Presentation 20%
Program projects 36%
不過老師有註明這僅供參考,我不確定學期末有沒有改。
Homework指的就是手寫的作業,
這學期一共出了八次,每次2~5題不等,
偶爾會有一兩題比較需要思考的,
但大多時候只要把上課講的東西搞懂就寫得出來。
Program projects就是每個學期老師都會指定一個遊戲當project,
舉例來說,2008年是六子棋,2012是象棋的暗棋,
以前每年會換一個遊戲,但2014之後為了因應machine learning的時代來臨,
project的題目都是類似2048的遊戲,
像是這學期是這個,
https://www.crazygames.com/game/2584-fibonacci,
費波納契版的2048。
這學期一共有6次project,
助教會給範例code,就是基本的遊戲架構,
但AI的部分要自己寫,基本上第一次project讓他跑起來就行了,
後面就是每次學了新方法之後,就用那個方法寫個AI,
期末則是要加入對戰的部分,
第六次就是final project,在學期結束後讓所有人的AI來大亂鬥,
由你在班上排名決定分數。
Project有問題可以在e3討論區發問,助教會回答,
即便自己沒有發問,看別人的發問跟助教的回答也是滿有幫助的。
Presentation就是學期最後一個月,兩個人一組報一篇paper,
老師會事先給一大串的paper list,讓大家填志願序,
決定每一組要報哪一篇paper。
每一組要報告30分鐘,報告前一周要跟教授約個時間,
教授要確認你有沒有搞懂paper,報告方向有沒有問題。
每周大概會有4組要報告,沒有報告的組也不能打混,
要至少在兩組報告的時候問問題,當作點名。
個人覺得這個政策有好有壞,好處是大家會比較專心,
討論比較熱烈,而且有些問題真的問的不錯,
缺點是有時候報告的組別講的太清楚或太不清楚的時候,
都很難問,有時會變成硬要問問題,
而且問題太多會讓台上報告的節奏被打斷。
Final Exam我覺得是這門課最不重要的部分,
我指的不是分數,是如果你在project、homework、presentation這三個部分,
都有用心去做的話,你該學的東西就幾乎都學到了。
考試考題有一部分會跟作業類似,就是考上課教過的東西,
個人覺得這部分的分數要好好把握,
另一部分的題目是班上同學報的paper,
除非你真的花時間把每篇paper都看過,
不然能不能搞懂那幾篇paper滿吃運氣的,
要看報告的人講得清楚與否,還有paper的難度,
我覺得這部分比較難以掌握。
最終班平均68/110。
¥其他¥(是否注重出席率or嚴禁遲到?需要的基礎?)
根據老師的說法,
這門課需要的基礎是演算法,
AI跟ML則是有的話很好,沒有的話也沒有關係。
但我個人修完的經驗是只要會寫C++就可以了,
我跟我朋友都沒修過演算法,還是修完了這門課,
作業也都有交出來。
¢最後想說的話¢
其實剛才搜了一下,滿意外板上沒有這門課的心得,
這門課剛開學的時候滿多人選的,最後大概接近一半的人退選了,
而且剩下的人可能有1/4左右是吳老師LAB的學生。
我個人修完的感想是project滿花時間的,
而且當我發現自己花了不少時間寫作業跟project,
學期末final exam + final project + presentation還是佔了那麼高比重時有點崩潰,
但我認為這門課只要你會寫C++,肯花時間做作業,
一定是有辦法了解這領域的基本知識並拿到基本分的,
當然高分可能就要想一些非教授或助教推薦的方法,
來讓你的AI performance更好,需要付出很多時間努力。
不過老實講大部分的人將來的研究領域跟電腦對局也不見得相關,
因此這門課我推薦給對電腦對局有興趣且願意花不少時間在這門課的人。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 216.171.16.239
※ 文章網址: https://webptt.com/m.aspx?n=bbs/NCTU-Teacher/M.1520748318.A.9E5.html
1F:推 qwe19272375: 推 03/11 16:11
2F:推 raychiu1226: 推推 寫的很仔細 03/12 02:52
3F:推 NCTUbigGG: 推 03/12 09:56
4F:推 goldflower: 前半段偏演算法的部分比較有趣 後面我覺得有點無聊QQ 03/12 15:01
5F:推 john8324: 推 演算法的部分 03/12 22:43
※ 編輯: patrick2dot0 (140.113.170.52 臺灣), 09/15/2019 18:12:52