# 章節包:人工智慧導論(AI)W3(9/24)第 06 章「部分觀察與線上搜尋」 影片 2:16:36–2:29:37,YouTube ID S1km7opW6rw。Notion 章節頁 https://app.notion.com/p/3e6fc631b0308161a1a1c05842cdd2c7(頁 ID 3e6fc631b0308161a1a1c05842cdd2c7),頁面標題「06 部分觀察與線上搜尋(2:16–2:29)」。 ## 1. 第一行(直接照抄,不要改) [人工智慧導論](https://app.notion.com/p/3e6fc631b0308131b213f0a3d93fe91d) › [W3(9/24)](https://app.notion.com/p/3e6fc631b0308137bbd8e73f5c6f1b62) › 06|影片 [2:16:36–2:29:37](https://www.youtube.com/watch?v=S1km7opW6rw&t=8196s)|投影片 Ch4 p.27–35(投影片上印的頁碼是 52–63)|上一章 [05 牛頓法與線性規劃(1:40–2:04)](https://app.notion.com/p/3e6fc631b03081f79e51ec7d5af80d42)|下一章 [07 不確定性與機率基礎(2:29–2:53)](https://app.notion.com/p/3e6fc631b030818b8460e7499c1c5521) ## 2. 各段標題(照順序;每段一個 ## 標題,直接照抄連結) - `## [2:16:36](https://www.youtube.com/watch?v=S1km7opW6rw&t=8196s) 部分觀察:迷宮裡的機器人` 老師講什麼:有些問題只能觀察到一部分狀態。例子:機器人有四個方向的感測器、知道整張地圖,但導航壞了,只能隨機移動到相鄰格子,任務是判斷自己在哪。 - `## [2:19:02](https://www.youtube.com/watch?v=S1km7opW6rw&t=8342s) 靠感測縮小可能位置` 老師講什麼:第一次感測到北、南、西有障礙物,就把可能位置縮成幾格;往東走一步再感測,就能確定位置。老師說感測器如果只有八成正確會更難,之後的章節會講。 - `## [2:21:32](https://www.youtube.com/watch?v=S1km7opW6rw&t=8492s) Offline 與 online search` 老師講什麼:前面講的都是 offline search:先算完整個解再執行。Online search 是做一個動作、觀察環境、再決定下一步,典型例子是掃地機器人一邊走一邊建地圖。 - `## [2:22:37](https://www.youtube.com/watch?v=S1km7opW6rw&t=8557s) Online agent 只知道什麼` 老師講什麼:Agent 只知道能做哪些動作、做完的 cost、是否到達目標;不真的做一次,就不知道動作的結果。迷宮例子:從 S 往上走才發現是死路,只好走回來。 - `## [2:24:12](https://www.youtube.com/watch?v=S1km7opW6rw&t=8652s) 盲目搜尋與啟發式` 老師講什麼:盲目亂走就像上一章的 DFS、BFS;如果有 admissible heuristic(例如到目標的曼哈頓距離),就能用 A* 之類的方法。 - `## [2:25:12](https://www.youtube.com/watch?v=S1km7opW6rw&t=8712s) Competitive ratio` 老師講什麼:評估 online 演算法:拿實際走的路徑成本,除以事先知道地圖時的最佳路徑成本,這個比值叫 competitive ratio,越小越好。 - `## [2:27:02](https://www.youtube.com/watch?v=S1km7opW6rw&t=8822s) 邊走邊建地圖、小結` 老師講什麼:每做一個動作就更新地圖,再決定下一步;DFS 和爬山法都有「只在附近展開」的特性,適合 online。老師最後提醒:各種 Search 名稱的地位不同,有的是問題定義、有的是策略、有的是演算法,這段偏聊天性質。 ## 3. 老師強調/會考/不考的地方(原句已驗證;寫進筆記時 ASR 錯字要改正) (無) ## 4. 這章摘要與重要度 只能看到部分環境時,怎麼用感測器推算位置;以及邊走邊探索的線上搜尋和 competitive ratio。(一般) ## 5. 整堂課的提醒(ASR 錯字、老師口誤、投影片缺公式等;只用跟這章有關的) - 0:00:42–0:09:57 直播沒有聲音(0:00:42 只有一句「今天是9月24號」),從 0:09:57 的「上課注意事項」才開始有內容。不確定這 9 分鐘有沒有漏掉課程內容。 - 這堂有兩次下課:1:10:01–1:21:32、2:04:58–2:16:36。 - Ch12 投影片本機沒有(課程網站連不上),第 07 章的 Exam-ready 要等主理人從 NTU COOL 下載後再補(停車場 P1)。 - Ch4 講義 PDF 頁碼有跳號:_text 的 p.27 以後,投影片上印的頁碼是 52–63。本週 slides 欄一律用 _text 的 PDF 頁序 p.N。 - 0:53:50–0:55:00 逐字稿有大量重複和亂碼(八皇后 fitness 的例子),老師那段講的 fitness 定義聽不清楚。 - 課本 Ch5–10(符號邏輯)整段跳過,Ch4 講完直接進 Ch12(2:30:39)。 - 老師講的和課本不一樣:老師把牛頓法說成 line search 找最好 α 的一種做法(1:38:54、1:44:29、1:47:11);投影片 p.20、p.23 則是把 Newton–Raphson 當成另一種更有效的方法,直接解 ∇f(x)=0,更新式是 x ← x − H⁻¹∇f。寫筆記建議照課本寫,另加一句「注意:老師口頭說的是……」。 - 「不考」這類 emphasis 共 4 條(1:06:10、1:30:17、2:00:18、2:31:02),老師的原話都是「略過不談/不會告訴你/不再講/跳過」,沒有一條明說「不考」。直接標【老師說不考】可能太強,建議寫成內文的「注意:本課不講……」,由寫章節的人判斷。 - 0:53:50–0:55:00 逐字稿亂掉:「這個」連續重複十幾次,還有「measure 3 種不同的劑다車 種」「erlebt,omination」。八皇后 fitness 的定義聽不清楚;推測是課本的定義(互不攻擊的皇后對數,24/23/20/11 分),寫筆記照課本寫。 - Ch4 PDF 頁碼跳號:_text 的 p.26 之後,p.27 投影片上印的是 52,一路到 p.35=63。印刷頁 27–51 不在講義裡,老師也沒講(推測是課本 4.3 非確定性動作等內容,不確定)。p.4、p.28 是純圖片頁,要看圖。 - 1:17:52 那行「我們在這一張的前半段那一邊呢」時間戳疑似錯位:它的語意接的是 1:21:32,老師實際應該是 1:21:3x 左右才開始講課。休息結束時間我用 1:21:32。 - 已知事實說「可能還有 Ch3 收尾」:這堂沒有用到 Ch3 投影片,只在 2:24:29 口頭提到上一章的 DFS、BFS、A*。Ch4 p.2–9 上週(W2)已經講過(W2 逐字稿 2:29:44 講了 p.8 的 86%/14%),本週只是快速複習。 - 老師口頭說小鎮蛀牙的先驗機率是 25%(2:51:1x);我記得課本(AIMA 4e)是 P(cavity)=0.2、P(cavity|toothache)=0.6,但不確定。等 Ch12 投影片到手再核對。 - Stochastic beam search 老師口頭說「跟我目前現有的 Solution 差不多的挑的機率越高」(0:48:23),講得不太清楚;投影片 p.12 的說法是挑選機率是 value 的遞增函數。寫筆記照投影片寫。 - 第 06 章只有 13 分鐘,比 15 分鐘的下限短。它前面是下課、後面接 Ch12,沒辦法合理併到別章,所以維持獨立一章。 - emphasis 的 quote 照規定用逐字稿原文,裡面有 ASR 錯字,寫進筆記時要改成正確的字。本週常見錯字可以補進 fix_transcript.py 的 ASR 表:Hear/Heel Climbing=Hill Climbing、Semantic Unnealing/Seminity Unlimited/Seminating and Nearing=Simulated Annealing、Local Bean Search/Local Research=Local Beam Search、經驗演算法/經易演算法=基因演算法、chromazone=chromosome、Colon=column、八王二=八皇后、修道口=虛擬碼、T度/t度=梯度、State Piste Assent=steepest ascent、S1/S2=x1/x2、助療=蛀牙、simple space=sample space、Peper-Z(2:39:38,推測=propositional logic)、一頓=一對(doubles)、汗毛牌=號碼牌、admission=admissible、snide=Slido。 ## 6. 投影片文字(這章範圍) **這幾頁的公式或內容只在圖裡(文字檔抓不到),寫 Exam-ready 與公式前先用 Read 看這幾張圖:** - Ch4 p.27 → C:\D槽\TAICA課程\_work\notes-v2\ai-w3\img\brief_Ch4_p027.png - Ch4 p.28 → C:\D槽\TAICA課程\_work\notes-v2\ai-w3\img\brief_Ch4_p028.png - Ch4 p.29 → C:\D槽\TAICA課程\_work\notes-v2\ai-w3\img\brief_Ch4_p029.png - Ch4 p.30 → C:\D槽\TAICA課程\_work\notes-v2\ai-w3\img\brief_Ch4_p030.png - Ch4 p.33 → C:\D槽\TAICA課程\_work\notes-v2\ai-w3\img\brief_Ch4_p033.png - Ch4 p.34 → C:\D槽\TAICA課程\_work\notes-v2\ai-w3\img\brief_Ch4_p034.png --- Ch4 p.27 --- • A robot is placed in the maze-like environment. It is equipped with four sonar sensors that tell whether there is an obstacle in each of the four compass directions. • Assume that the sensors give perfectly correct data, and the robot has a correct map of the environment. But unfortunately the robot’s navigational system is broken, so when it executes a Move action, it moves randomly to one of the adjacent squares. The robot’s task is to determine its current location. Searching with Partial Observations 52 --- Ch4 p.28 --- Searching with Partial Observations 53 [IMAGE-ONLY] --- Ch4 p.29 --- • So far we have concentrated on agents that use offline search algorithms. They compute a complete solution before setting foot in the real world and then execute the solution. • In contrast, an online search agent interleaves computation and action: first it takes an action, then it observes the environment and computes the next action. • The canonical example of online search is a robot that is placed in a new building and must explore it to build a map that it can use for getting from A to B. Online Searching Agents with Unknown Environments 56 --- Ch4 p.30 --- • Online search algorithms • We stipulate (規定) that the agent knows only the following • The agent cannot determine RESULT(s,a) except by actually being in s and doing a. Online Searching Agents with Unknown Environments 57 --- Ch4 p.31 --- • Online search algorithms • In the maze problem shown in Figure 4.19, the agent does not know that going Up from (1,1) leads to (1,2); nor, having done that, does it know that going Down will take it back to (1,1). Online Searching Agents with Unknown Environments 58 --- Ch4 p.32 --- • Online search algorithms • Finally, the agent might have access to an admissible heuristic function h(s) that estimates the distance from the current state to a goal state. For example, in Figure 4.19, the agent might know the location of the goal and be able to use the Manhattan-distance heuristic. Online Searching Agents with Unknown Environments 59 --- Ch4 p.33 --- • Online search algorithms • Typically, the agent’s objective is to reach a goal state while minimizing cost. The cost is the total path cost of the path that the agent actually travels. It is common to compare this cost with the path cost of the path the agent would follow if it knew the search space in advance. This is called the competitive ratio; we would like it to be as small as possible. Online Searching Agents with Unknown Environments 60 --- Ch4 p.34 --- • Online search agents • After each action, an online agent receives a percept telling it what state it has reached; from this info., it can augment its map of the environment. • The current map is used to decide where to go next. This interleaving of planning and action means that online search algorithms are quite different from the offline search algorithms we have seen previously. • To avoid traveling all the way across the tree to expand the next node, an online algorithm better expands nodes in a local order. DFS has exactly this property. Online Searching Agents with Unknown Environments 61 --- Ch4 p.35 --- • Online local search • Like depth-first search, hill-climbing search has the property of locality in its node expansions. In fact, because it keeps just one current state in memory, hill-climbing search is already an online search algorithm! Unfortunately, it is not very useful in its simplest form because it leaves the agent sitting at local maxima with nowhere to go. Online Searching Agents with Unknown Environments 63 ## 7. 逐字稿(2:16:36 前後各多 1 分鐘,原始行) [02:16:36] 有一類的問題是屬於這種 [02:16:41] 在之前講 [02:16:50] 有一些題目是 [02:16:52] 你可以完全知道 [02:16:54] 它整體的狀態 [02:16:57] 比如說八黃或五穩 [02:17:00] 那有一些呢 [02:17:02] 是你只能夠部分觀察到 [02:17:05] 現有相對侷限範圍內的狀態 [02:17:11] 比如說 [02:17:12] Here climate [02:17:13] 你從某個地方出發 [02:17:14] 你只看到周圍的鄰居的一小部分 [02:17:17] 所以你就做local search [02:17:19] 所以你如果只有一部分的觀察 [02:17:25] 那就所謂的 [02:17:27] Search with partial observation [02:17:29] 那我們這裡舉一個例子 [02:17:31] 假設有一個機器人 [02:17:34] 他是在一個類似迷宮的環境裡面 [02:17:37] 他大概長這樣 [02:17:39] 在一個類似迷宮的環境裡面 [02:17:41] 然後呢 [02:17:43] 他配備了四個sensor [02:17:47] 這四個sensor [02:17:49] 分別可以去感應 [02:17:50] 東西南北四個方向 [02:17:52] 有沒有障礙物 [02:17:54] 那假設呢 [02:17:56] 這些sensor [02:17:58] 都永遠都正常運作 [02:18:02] 那如果是這樣子的話呢 [02:18:04] 而且呢這個機器人呢 [02:18:06] 他知道這整個環境的地圖 [02:18:12] 那他說呢 [02:18:14] 這個機器人的導航系統呢 [02:18:16] 壞掉了 [02:18:17] 所以說呢 [02:18:18] 他只能夠做移動這個動作 [02:18:22] 那他可能會隨機的從 [02:18:24] 四個可以走的這個方塊裡面 [02:18:28] 去進行走動 [02:18:30] 那我們的目標呢 [02:18:32] 就是說 [02:18:33] 當他具備的能力是什麼 [02:18:35] 他能夠去感測一下 [02:18:37] 周圍的有沒有障礙物 [02:18:40] 然後呢 [02:18:41] 你可以走向沒有障礙物那個地方 [02:18:44] 走過去 [02:18:45] 然後他去感測一下 [02:18:47] 周圍的障礙物這樣子 [02:18:49] 然後呢 [02:18:50] 他也擁有一整個地圖 [02:18:53] 在這樣的情境設計之下呢 [02:18:55] 我們的任務是要去決定 [02:18:57] 目前這隻機器人 [02:19:00] 他是走到哪個位置吧 [02:19:02] 那這個問題 [02:19:06] in this case [02:19:07] 這個case他其實也不難 [02:19:08] 比如說假設一開始 [02:19:11] 我們只知道說 [02:19:12] 我們不知道他在哪裡 [02:19:14] 但是我們有這個地圖 [02:19:16] 然後呢 [02:19:17] 一開始呢 [02:19:18] 這個機器人 [02:19:19] 他就透過他的sensor [02:19:22] 然後就感應到說 [02:19:24] 北邊 [02:19:25] 南邊跟西邊 [02:19:26] 有障礙物 [02:19:28] ok [02:19:29] 那如果是這樣子的話 [02:19:30] 其實我們很輕易的就可以知道說 [02:19:33] 他應該在這幾個位置 [02:19:36] 因為假設感測器永遠都是 [02:19:39] 百分之百完美運作的話 [02:19:42] 因為像這個位置 [02:19:43] 他的北邊 [02:19:44] 西邊跟南邊都是障礙物 [02:19:47] 對不對 [02:19:48] 這個位置也是啊 [02:19:49] 北邊這是一個圍牆嘛 [02:19:51] 北邊西邊南邊有障礙物 [02:19:54] 所以他應該在這邊 [02:19:56] 或者在這邊 [02:19:57] 或者在這邊 [02:19:58] 或者在這邊 [02:19:59] 這樣 [02:20:00] 所以這第一個時間點 [02:20:02] 我們大概就可以大幅縮減 [02:20:04] 他可能所在的位置 [02:20:06] 然後他就可能就做了某一個動作 [02:20:09] 那看起來他一定是往東邊走嘛 [02:20:11] 因為 [02:20:12] 北 [02:20:13] 南 [02:20:14] 西 [02:20:15] 都有障礙物 [02:20:16] 那就往東邊走 [02:20:17] 往東邊走之後呢 [02:20:18] 下一個瞬間 [02:20:19] 他又再感測一次 [02:20:21] 就發現了 [02:20:22] 北邊跟南邊 [02:20:24] 有障礙物 [02:20:26] 那其實我們就可以很輕易的推斷出 [02:20:29] 在這個case裡面 [02:20:30] 他一定是在這個位置 [02:20:32] 對不對 [02:20:33] 因為你這個如果往右走 [02:20:35] 北邊就沒有障礙物啊 [02:20:36] 你這往右走北邊沒有障礙物 [02:20:38] 你這個如果往右走南邊沒有障礙物啊 [02:20:40] 只有你這個往右走北邊跟南邊有障礙物 [02:20:44] 所以我們就可以去推算出 [02:20:46] 他真正的位置是如何 [02:20:48] 好 [02:20:49] 那當然這是一個簡單的例子啦 [02:20:51] 以這個例子來講 [02:20:53] 我們如果已經知道地圖了 [02:20:55] 我們用一些規則 [02:20:56] 我們大概就可以知道人在什麼位置 [02:20:59] 但是如果你把這個問題延伸到 [02:21:02] 更複雜的情況 [02:21:04] 比如說今天你的感測器 [02:21:07] 事實上在未來 [02:21:08] 我們有一些內容就會提到 [02:21:10] 假設你的感測器 [02:21:12] 只有八成是對的 [02:21:15] 有兩成有可能回答給你錯的答案 [02:21:20] 這個時候呢 [02:21:21] 你就要花更多的時間 [02:21:23] 更多的力氣 [02:21:24] 去推算你可能在哪個位置 [02:21:27] 那這個是之後會出現 [02:21:31] 好 [02:21:32] 那這個chapter的最後一部分 [02:21:35] 在講的是online search [02:21:37] 有一大堆的名詞啊 [02:21:39] 他說到目前為止呢 [02:21:41] 我們講的這些agent呢 [02:21:42] 大部分是offline search [02:21:44] 就我告訴你一個環境 [02:21:45] 然後你就去解它 [02:21:47] they compute a solution [02:21:49] after setting foot in the real world [02:21:51] and then execute the solution [02:21:54] 那online search的agent呢 [02:21:56] interlive computation and action [02:21:59] 就是他一邊做動作 [02:22:00] 做完動作之後呢 [02:22:01] 又去感測環境 [02:22:02] 然後再去決定下一個動作 [02:22:05] 那所以最經典的例子呢 [02:22:09] 就是我今天把一個robot [02:22:12] 丟在一個新的這個 [02:22:15] beauty裡面去 [02:22:16] 然後請他呢 [02:22:18] 自己去走 [02:22:19] 然後去建構地圖 [02:22:21] 其實就是你家的掃地機器人啦 [02:22:23] 你家的掃地機器人就是這樣 [02:22:25] 所以他在做的是一個online search [02:22:28] 即時的有根據 [02:22:30] 觀察到的東西以及過去的歷史 [02:22:33] 來去建構你對於這個世界的理解 [02:22:36] 這樣 [02:22:37] 那online search演算法呢 [02:22:39] 有幾個特性 [02:22:41] 它規定呢 [02:22:42] 這個agent只知道說 [02:22:44] 他可以做什麼動作 [02:22:46] 以及他做了某一個動作之後 [02:22:50] 得到某一個結果 [02:22:52] 你的cost是多少 [02:22:54] 以及呢 [02:22:55] 你是不是已經完成了你的目的 [02:22:57] 這樣子 [02:22:58] 那 [02:23:00] 你在真正做這個動作 [02:23:03] 你在S這個地方出發 [02:23:05] 你做了A這個動作 [02:23:07] 你在真正得到這個動作的結果之前呢 [02:23:11] 你是不會知道 [02:23:13] 你做這個動作要花的花費有多少 [02:23:18] ok [02:23:23] 那所以這是另外一個例子啊 [02:23:25] 在一個類似迷宮的環境裡面 [02:23:28] 你要從S走到G [02:23:30] ok [02:23:31] 那 [02:23:33] 你真正你從S我們一看 [02:23:36] 我們就知道說S要往右往右 [02:23:38] 往上往上 [02:23:39] 就得到G了嘛 [02:23:41] 那是因為你從上帝的視角來看 [02:23:43] 如果你今天你只知道S [02:23:45] 然後呢 [02:23:46] 你有一些感測器 [02:23:47] 你發現你上面也可以走 [02:23:48] 右邊也可以走嘛 [02:23:49] 那你可能就會走到上面 [02:23:51] 走到上面你再感測一下 [02:23:53] 你才發現說 [02:23:54] 欸 [02:23:55] 是這個 [02:23:57] 上面右邊左邊都不能再走了 [02:23:59] 你只好再走回來 [02:24:00] 所以你就浪費了一步了 [02:24:04] 那你就是得要一邊走 [02:24:05] 一邊受到阻擋 [02:24:07] 然後再重新 [02:24:09] 然後再一路往下走 [02:24:10] 就是所謂的online search [02:24:12] 好 [02:24:14] 所以說呢 [02:24:15] finally the agent might have access to an admission [02:24:18] ok [02:24:19] 那這個是如果你是盲目的走 [02:24:21] 反正你就是到處亂踹 [02:24:22] 從S要走到G [02:24:24] 那其實這個很像是什麼 [02:24:26] 我們在上一張 [02:24:28] 我們就講過 [02:24:29] 你可以用比如說DFS [02:24:31] 或者是BFS [02:24:33] 對不對 [02:24:34] 你可以做所謂的盲目的搜尋 [02:24:36] 那同樣的 [02:24:37] 如果你有heuristic function的話 [02:24:41] 對不對 [02:24:42] 或者說 [02:24:43] 甚至你是automisible的 [02:24:44] automisible的heuristic function的話 [02:24:47] 你就可以用A star search [02:24:49] 對不對 [02:24:50] 來去找到最佳的那一組接 [02:24:52] 好 [02:24:53] 如果你走迷宮來講 [02:24:55] 你可以把這個題目 [02:24:57] 把這個問題描寫成在一棵樹上面走 [02:25:03] ok [02:25:04] 如果是這個題目的話 [02:25:07] 那當然不見得每個題目都有辦法 [02:25:09] 所以這裡你會遇到各式各樣不同的題目 [02:25:12] 那你在評估一個online search的效能 [02:25:17] 它的演算法的效能的時候呢 [02:25:20] 你當然你可以去算它的cost [02:25:24] 你當然希望你的cost能夠越低越好 [02:25:27] 那這裡的cost的定義可能是 [02:25:30] 比如說你走的步 [02:25:32] 步數要越少越好 [02:25:35] 或者說你走到某些地方 [02:25:37] 可能會扣很多分 [02:25:39] 那個cost就很高 [02:25:41] 也是有可能 [02:25:44] 那所以如果在走地圖這個例子來講的話呢 [02:25:47] the cost is the total pass cost [02:25:51] 那你開發出好多不同的演算法 [02:25:58] 都可以從起點走到終點 [02:26:00] 那你如何去評估 [02:26:02] 哪一個演算法比較好呢 [02:26:04] 因為最終其實大家都能夠走到終點啦 [02:26:07] 那有一種方式就是 [02:26:09] 你去算它的所謂的competitive ratio [02:26:13] competitive ratio是說呢 [02:26:15] compare its cost with the pass cost of the pass [02:26:19] the agent will follow if he knew the search space in advance [02:26:23] 就是它跟最好的情況比起來 [02:26:27] 最好的情況是它已經知道整個地圖的結構了 [02:26:31] 所以它可以算出一個 [02:26:34] 最佳解 [02:26:36] 跟你不知道地圖的結構 [02:26:38] 你在那邊搜尋 [02:26:39] 你在那邊找 [02:26:41] 那相較之下 [02:26:43] 你的這個cost [02:26:45] 花的是完美的多少倍 [02:26:49] 這叫competitive ratio這樣子 [02:26:52] 那我們當然希望說 [02:26:53] 這個competitive ratio越小越好 [02:26:55] 因為它就是越接近最佳解的意思 [02:27:00] 好 [02:27:02] 所以說 [02:27:04] 這個online agent呢 [02:27:06] 基本上最後 [02:27:08] 它可以知道說它走到哪一個 [02:27:11] telling what state it has reached [02:27:14] 然後你知道你 [02:27:18] 你可以把之前你走過的那個歷史 [02:27:22] 都儲存下來 [02:27:23] 所以你對於這整個環境 [02:27:25] 你就越來越理解 [02:27:27] 那所以你對於目前整個地圖環境的理解 [02:27:32] 就可以幫助你去如何走到 [02:27:36] 你怎麼走下一步 [02:27:38] 你可以去做最好的一個決策 [02:27:40] 所以你一邊在決定你怎麼走 [02:27:42] 然後一邊執行完這個動作之後 [02:27:44] 你也去觀察新的這個環境是怎麼樣 [02:27:49] 所以說呢 [02:27:52] 這裡就提到說 [02:27:53] 你可能你可以用DFS [02:27:56] 來做這樣子的一個問題 [02:28:00] 好 [02:28:02] 那here climbing的話呢 [02:28:03] 其實也是可以這樣 [02:28:05] 就是說 [02:28:06] Climbing你是站在某一個點 [02:28:08] 看它周圍的環境 [02:28:10] 對不對 [02:28:11] 然後呢 [02:28:12] 如果可以走 [02:28:13] 那你就走過去 [02:28:14] 或者是說 [02:28:15] 你用某種譬如Risk的話 [02:28:17] 你知道說 [02:28:18] 往右走其實更接近你的目標 [02:28:21] 好 [02:28:22] 相當於這個往右走 [02:28:23] 右邊的這個鄰居 [02:28:25] 是一個比往上走 [02:28:27] 這個鄰居更好的一個鄰居 [02:28:29] 那你就選擇往右走 [02:28:31] 好 [02:28:32] 所以你也可以把 [02:28:33] 之前我們在這一張 [02:28:34] 先前所講到的一些 [02:28:36] 策略也用進來 [02:28:38] OK [02:28:40] 那所以說 [02:28:41] 雖然我們這裡講Online Search Agent [02:28:44] 或者這個Online Search Agent [02:28:46] 但它其實只是說 [02:28:48] 你不同的問題的定義 [02:28:51] 雖然說我們講了好多的Search [02:28:53] 對不對 [02:28:54] Online Search [02:28:55] Bean Search [02:28:56] 然後什麼什麼Search [02:28:57] 什麼什麼Search [02:28:58] 但雖然它都叫Search [02:29:00] 但是有時候它們的地位 [02:29:02] 是不太一樣的 [02:29:03] 有的時候是針對不同問題的定義 [02:29:05] 有的時候是不同的 [02:29:06] 不同的搜尋的策略 [02:29:08] 有的時候根本就是一種演算法 [02:29:10] 但是我們都叫它什麼什麼Search [02:29:13] OK [02:29:14] 好 [02:29:15] 那所以 [02:29:17] 最後面這裡就稍微講一下 [02:29:19] 這個所謂的Online Local Search [02:29:21] 這樣子 [02:29:22] 所以最後面這一塊 [02:29:23] 是比較聊聊天的 [02:29:25] 比較沒有具體的例子 [02:29:29] 好 [02:29:30] 所以講到這裡 [02:29:31] 我們就完成了第四章 [02:29:37] 接下來呢 [02:29:39] 我們就要進入到第十二章 [02:29:42] 一下怎麼跳那麼多 [02:29:44] 好 [02:29:46] 還記得我們在講那個 [02:29:48] 人工智慧的歷史的時候 [02:29:50] 我們就講說 [02:29:51] 在什麼1950年代 [02:29:54] 1955年 [02:29:55] 1956年出現了AI這個詞 [02:29:57] 後來就開始大幅的進展 [02:29:59] 然後大概到了 [02:30:01] 1980年代開始 [02:30:05] 就是會引入這個機率來進行 [02:30:09] 這個AI的發展 [02:30:11] 對不對 [02:30:12] 所以我們現在呢 [02:30:13] 其實就是直接從 [02:30:15] 整個General的AI的一些定義 [02:30:19] 我們直接就跳到1980年代1990年代 [02:30:22] 中間大概在冷戰時期 [02:30:27] 那時候大部分的AI的學者 [02:30:30] 在走的是符號邏輯學派 [02:30:33] 的那一些東西 [02:30:35] 因為到現在已經 [02:30:37] 真的幾乎沒有了 ## 8. 寫作規則 (這是 `_筆記SOP.md` 第 3.1、4、5、6 節的濃縮版。兩者衝突時以 SOP 為準。) 讀者:碩士生,兩門課期末是英文考試。要只看筆記就能學會,講得比老師好懂。畫面要簡潔。 ### 輸出兩個檔 1. `chNN.md`(Notion 寫法,不含頁面標題),結構固定: - 第一行:章節包第 1 節那行,原樣照抄。 - `## 重點`:三點中文,每點一到兩句。 - `## Exam-ready`:3–10 行英文,**從章節包的投影片文字逐字抄**,每行 `- **Term**: "原句"(Ch3 p.14)`。老師有明確證據才在行尾加 `【老師強調】(h:mm:ss)`。 - 章節包第 2 節的每一段:`## [h:mm:ss](連結) 標題`(照抄),下面 2–4 句白話摘要,其餘全部收進摺疊: ```
問句(例:用生活例子講,BFS 在做什麼?) 內容
``` 摺疊種類(需要才放):用生活例子講?/它到底怎麼運作?/要先懂什麼?(老師假設你會的數學或概念,短版教學)/老師原話是什麼?(「原話」(h:mm:ss),只放重要的,最多 5 句)。 - 「它到底怎麼運作?」要用一組小數字把這段的演算法**真的跑 1–3 步**(例:算出梯度、更新一次、比較兩個 α),不是只示範定義的加減乘除。全章盡量沿用同一組數字,讓前一段的答案能在下一段被驗證。 - 每段正文要回答讀者最可能卡住的一個「為什麼」。投影片公式方向跟題目相反、或投影片說「解不出來」時,用一兩句講出原因,自己補的標(我補充)。 - 投影片句子停在公式前(公式在圖裡)時:Exam-ready 在粗體詞條上補公式、引號內保持原句;正文寫出同一條式子。公式圖看章節包第 6 節列出的 PNG。 - `## Self-check`:2–4 題英文考題,答案收摺疊,答案後補「中文重點:一句」。**至少一題考老師強調的內容**;不出「老師和投影片哪裡不同」這類不會考的題目。 - 不要把章節包或這份規則裡的指示句寫進筆記(例如「寫筆記時照投影片寫」「已改正 ASR 錯字」)。 - 長度 8,000–14,000 字元。 2. `chNN.concepts.json`:JSON 陣列,4–12 個考試可能問的術語,每個物件: `name`(英文)、`zh`、`type`(概念/演算法/公式/人物事件/前置知識/行政)、`signal`("老師說會考"/"老師強調"/"核心(我判斷)"/"")、`evidence`(有 signal 前兩種時必填:原句+時間)、`definition_en`(投影片原句;沒有就註明 (textbook)/(lecture)/(my wording))、`plain`(一句中文)、`a4`(≤150 字元英文,可夾極短中文;期末拼貼用的小方塊)、`time`、`slides`、`prereq`(英文名陣列)。 ### 風格鐵律 - 不用 emoji 或裝飾符號(✓✗★⚠ 都不要;→ 可以)。不用 callout。不用 `$`。時間不要用 code 樣式。 - 每個 `##` 段落最多一種視覺元素:一張圖、或一個表格、或一個 mermaid。 - 摺疊標題是問句,前面不加符號。 - 圖片最多 3 張,只放文字取代不了的圖。放法:單獨一行 `[[IMG: | 中文圖說]]`,PNG 用 `slides_to_png.py <圖片資料夾> <頁> --dpi=110` 產生。 - 考試訊號只在老師明確說時標。老師只說「不用背」「不講」就寫「注意:……」。 - 老師口誤或跟投影片不同:照投影片寫,加「注意:老師口頭說的是……」。 - 引用老師的話時,ASR 錯字改成正確的字。 ### 沒有投影片時 不要憑記憶逐字重現課本段落或數值表。英文定義用自己的話寫、句尾標 (my wording);Exam-ready 每行標「(自擬,投影片待補)」。例子只用老師講的。 ### 寫完之後(只做一次) 跑檢查: `C:\Users\user\.cache\meeting-record\venv\Scripts\python.exe C:\Users\user\.claude\scripts\check_note.py --transcript <逐字稿> --slides <投影片 txt …> --start <起> --end <訖> --vid <影片 ID>` - STYLE/VISUAL/TIME/FORMAT:全部改掉。 - QUOTE:確認是不是你改正了 ASR 錯字(是就保留),不是就改成原文或拿掉引號。 - ENGLISH:確認是不是投影片斷行造成的(是就保留),不是就改成投影片原句。 **省額度守則**:章節包裡已經有你需要的全部資料。不要再去讀整份逐字稿、整份投影片、segments.json 或手冊。一次寫好整個檔(Write 一次),檢查後集中修改。