16.下列哪一項是啟發式搜尋(Heuristic Search)常使用的函數?
(A)隨機函數
(B)評估狀態好壞的估計函數 h(n)
(C)資料標準化函數
(D)反向函數
統計: A(4), B(8), C(2), D(2), E(0) #3678247
詳解 (共 1 筆)
【解題思路】
看到「啟發式搜尋(Heuristic Search)」就要立即聯想到 AI 搜尋演算法,例如 A*、Best-first Search。
核心關鍵字只有一個:
「估計函數 h(n)」
啟發式搜尋靠 h(n) 來「估計目前狀態距離目標還有多遠」,也就是幫搜尋方向「導航」。
所以只要看到 h(n),選它就對。
【逐步解析觀念】
啟發式搜尋通常做的事:
-
探索問題的狀態空間(如迷宮路徑、棋盤狀態)
-
計算某狀態是否「看起來」比較接近目標
-
利用 估計函數 h(n) 來決定搜尋的優先順序
例如:
-
在走迷宮時,h(n) 可以用「目前位置到終點的直線距離」
-
在 A* 搜尋中,會用 f(n) = g(n) + h(n) 來選擇下一步
-
g(n):已走的路徑成本
-
h(n):尚未走的估計距離
-
因此,啟發式搜尋的靈魂就是 h(n)。
【選項逐一破題】
(A) 隨機函數
不是啟發式搜尋的基礎。
隨機化可能出現在某些演算法(例如基因演算法),但不是 heuristic search 的核心。
(B) 評估狀態好壞的估計函數 h(n)
完全正確!
啟發式搜尋就是靠它決定下一步。
這是標準觀念題,必選。
(C) 資料標準化函數
在資料科學/機器學習可能用到(如 normalization),但跟啟發式搜尋無直接關係。
(D) 反向函數
沒有這種與啟發式搜尋直接相關的函數,純干擾選項。
【延伸知識】
啟發式搜尋常見演算法:
-
Best-first Search
-
A* Search(最常考)
-
Greedy Search
核心都是利用「估計函數」來減少盲目搜尋,提高效率。
A* 搜尋的條件(很常考):
-
若 h(n) 不高估實際成本(稱為「可容許 admissible」)
-
則 A* 可以保證找到最佳解(optimal)
【記憶技巧】
一句話記:
「啟發式靠 h(n),A* 靠 f(n)。」
或簡化版:
「估好壞、選方向 → h(n)。」
【常見錯誤】
-
以為啟發式搜尋使用「隨機函數」
那是基因演算法或模擬退火才可能用到,但不是 heuristic search。 -
看不懂 h(n) 指什麼
只要記得 h(n) 就是「估計離目標的距離」,像導航的估算距離即可。 -
把資料處理的概念混進來
標準化(normalization)與啟發式搜尋無關。