作者neoneon (红茶を饮む程度の能力)
看板NCTU-Teacher
标题Fw: [心得] 王才沛 - 人工智慧概论
时间Tue Jul 12 02:54:28 2016
※ [本文转录自 neoneon 信箱]
作者:
[email protected] ("爱宕有机奈米负离子猫")
标题: [心得] 王才沛 - 人工智慧概论
时间: Sun Jul 10 11:33:07 2016
作者: shaform (回不去的旅程) 看板: NCTU-Teacher
标题: [心得] 王才沛 - 人工智慧概论
时间: 2012/12/28 Fri 09:21:22
网志好读版:
http://wp.me/sJ4X-ai
--------------------------------------------------
⊕课名⊕
人工智慧概论
▲教授▲
王才沛
★修课年度★(请加注开课单位 如:大三通识、XX系选修、XX所)
100下 资工系
£教了什麽£(课程大概内容。或是额外学会了什麽东西。)
整个课从AI的定义与历史开始,然後简介一些 Intelligent agent 的基本架构。
接着处理以下课题:
Search:用一般的搜寻演算法(如DFS、BFS)来进行智慧行为。
http://en.wikipedia.org/wiki/Graph_traversal
Local Search:以搜寻局部最佳解的方式处理无法进行全盘搜寻的问题。
http://en.wikipedia.org/wiki/Local_search_(optimization)
Adversarial Search:以搜寻的方式来处理两方对战的最佳解,含minmax algorithm
http://en.wikipedia.org/wiki/Minimax 等等。
CSP:
http://en.wikipedia.org/wiki/Constraint_satisfaction_problem
Logical Agent:利用逻辑来进行智慧行为,并简介 Propositional Logic
http://en.wikipedia.org/wiki/Propositional_calculus
First-order Logic:
http://en.wikipedia.org/wiki/First-order_logic
接近期末时会以简略的方式,快速带过几个课题,
像是Uncertainty、Learning等等
因为老师对 Fuzzy Theorem 有特别的研究,
所以最後也带过一点 Fuzzy Logic (课本好像没有)。
使用的课本是 Artificial Intelligence: A Modern Approach
http://aima.cs.berkeley.edu/
这本课本虽然不难读不过文字很多,而且很大一本,所以要读完恐怕不容易。
◆上课方式◆(投影片、团体讨论、老师教学风格)
老师是用投影片上课,自己觉得上课的风格比较随兴而非组织性的,
老师很希望可以跟同学互动,所以有时会花不少时间找很多同学回答问题。
老师也很希望有同学问他问题,像有一次我在课堂上和他讨论了许久,
他好像满高兴的。
不过如果寄email给老师的话,虽然据说老师都有在看,
不过几乎不会回信,所以若要问老师问题还是面对面比较好。
▼考试作业▼
成绩的计算方式为
期中考+期末考 = 60% (较高分的35%, 较低分的25%)
三次手写作业 = 10% (取平均)
程式 project 1, 8-puzzle = 12% (程式7%,报告5%)
程式 project 2, dala = 13% (程式竞赛结果8%,报告5%)
基本分 = 5%
点名加分 = 2%
调分方式:上述结果相加 = Total (所以最高可拿105),然後经过公式运算
Final grades = round((Total/100)^(2/3)*100),超过99者以99计算。
老实说每项作业的占分,还有像是其中报告和程式的占分都很随兴,
是依照同学表现而决定的,而点名感觉也是临时起意。
相信调分法也是最後才决定,原始成绩大约47分就能及格。
考试部份最重要的准备是写老师出的3次手写作业,
题目有很高比例是从里头出来的,
因为当时老师是第一次开课,所以也没有考古题。
课本方面因为文字叙述太多,有点不着边际,
所以在考前相对投资报酬率较小。
期末考好像也会考部份期中考的范围,不过题目不多。
基本上考试不会有意料之外的难题,所以只要有读就能拿到一定分数,
只是有些部份有点繁琐,可能会有粗心被扣分。
3次手写作业主要就是写跟课本习题或范例类似的题型,
主要是老师自己出的。
Project 1 是写一个 1-puzzle ~ 8-puzzle 的解题程式,
并比较分析 A* 或 IDS 等不同演算法的优劣。
8-puzzle是一个9x9方格,上面有8个标号为1~8数字的方块和一个空格,
要移动方块直至顺序呈1~8排列,可参考15-puzzle的介绍:
http://en.wikipedia.org/wiki/15_puzzle。
1~7-puzzle则是题目定义的变体,
同样是9x9方格,只是上面的方块分别只有1~7块,
故是比较简单的版本。
对这部份的分析有兴趣的话可以参考我的报告:
http://goo.gl/4Uqfz
Project 2 是写一个AI去下类似Dala的棋
http://en.wikipedia.org/wiki/Dala_(game)
可分为1~3人一组,然後让全班写的AI互相对战,
依据比赛成绩给予程式分数。
这次 project 我花了相当多的心力去完成,
尤其一开始私下跟同学对战的成绩并不理想,
所以我後来写了个程式可以自动产生不同参数的子代AI,
然後再互相对战不断选出最好的子代,花了我不少时间,
详细的作法可以参考我的报告:
http://goo.gl/4s3Yi
两次 project 的程式码我都有放在 github 上,
可供参考:
https://github.com/shaform/nctu-ai-100
其实我本来想根据 project 2,
写一个简易的server程式供後人继续把玩这个AI游戏的,
不过一直没有完成。
值得注意的是两次project的程式和报告几乎都拿不到满分
(不过第一次因为提早交会有bonus,所以可以拿到),
可能是因为老师认为永远都有改进的空间。
¥其他¥(是否注重出席率or严禁迟到?需要的基础?)
平常不点名,但好像有一次点名加分
(其实我总觉得有两次点名,不过最後成绩只有一次),
AI使用到的搜寻演算法如果在之前的演算法概论有些基础的话应该会有帮助。
¢最後想说的话¢
说真的感觉这堂课普遍的反应其实没有很好,
不过或许是因为第一次开课所以还需要一点时间调整。
成绩方面因为有神秘调分所以不会太差。
程式专题的部份,虽然要真正做好可能得花不少时间,
不过即使只做基本要求也能拿到一定分数。
原本学期初程式project的占分是50%,
後来变成只有25%,其实让我有点失望,
毕竟我花了不少心力去实做。
不过整体来说写这些程式虽然辛苦,但也满有趣的。
虽然课本有点难看完,不过很有趣,
毕竟用电脑创造智慧本来就是个有趣的议题。
不禁会想未来到底能发展到何种地步呢?
--
▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw>
█▄▄▄▄█ █ ▄▄▄▄▄█ Player: shaform
▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: linux1.cs.nctu.edu.tw
推 gxlkhhc:推荐这篇文章 12/28 09:37
推 philo165:推荐这篇文章 12/28 16:23
推 starbops:推荐这篇文章 12/28 17:11
推 mike111187:推荐这篇文章 12/28 18:05
推 as:推荐这篇文章 12/28 18:07
推 zzhind2003:推荐这篇文章 12/28 23:06
推 michael01800:推荐这篇文章 12/30 00:38
推 jarhys:推荐这篇文章 12/30 02:33
推 yukuro:你做得很好啊,应该努力有反映到成绩上吧 01/03 23:40
推 androidsalsa:推荐这篇文章 01/04 10:53
推 PG:推荐这篇文章 01/05 05:00
推 ree975:推荐这篇文章 01/09 16:44
推 smilecat13:推荐这篇文章 01/15 14:53
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: neoneon (106.105.175.48), 07/12/2016 02:54:28