作者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/cn.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