作者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