26 有關啟發式搜尋演算法(heuristic search algorithm)的敘述,下列何者最為適合?
(A)對所有可能進行完整搜尋的演算法
(B)根據某個估算函式猜測搜尋目標以快速完成搜尋的演算法
(C)使用基因演化計算(genetic programming)進行最佳化搜尋的演算法
(D)使用類神經網路進行最佳化搜尋的演算法

答案:登入後查看
統計: A(25), B(98), C(45), D(78), E(0) #3429190

詳解 (共 1 筆)

#6839535

答案是 (B) 根據某個估算函式猜測搜尋目標以快速完成搜尋的演算法

什麼是啟發式搜尋(Heuristic Search)?

啟發式搜尋使用啟發函數(heuristic function) 來估算從當前狀態到目標的「距離」或「成本」,以引導搜尋方向,避免盲目搜尋所有可能性。

各選項分析

✅ (B) 根據某個估算函式猜測搜尋目標

  • 這正是啟發式搜尋的核心概念
  • 使用啟發函數 h(n) 估算到目標的距離
  • 優先探索「看起來更有希望」的路徑
  • 犧牲完整性換取效率

經典例子:

  • A 演算法*:f(n) = g(n) + h(n)
    • g(n):從起點到 n 的實際成本
    • h(n):從 n 到目標的估算成本(啟發函數)
  • 貪婪最佳優先搜尋:只用 h(n) 引導
  • 曼哈頓距離、歐幾里得距離作為啟發函數

❌ (A) 對所有可能進行完整搜尋

  • 這是窮舉搜尋(exhaustive search)
  • 例如:BFS、DFS 的完整版本
  • 不是啟發式搜尋,因為沒有使用啟發函數引導

❌ (C) 使用基因演化計算

  • 這是演化演算法(evolutionary algorithm)
  • 雖然也是一種優化方法
  • 但不是典型的啟發式搜尋定義
  • 太具體,不夠通用

❌ (D) 使用類神經網路

  • 這是機器學習方法
  • 也太具體
  • 不是啟發式搜尋的一般定義

啟發式搜尋的特點

ㅤㅤ
ㅤㅤ

優點: ✅ 快速(不需搜尋所有可能) ✅ 節省記憶體和時間 ✅ 適合大型搜尋空間

缺點: ❌ 不保證找到最佳解(除非啟發函數是 admissible) ❌ 品質取決於啟發函數的設計

實例:迷宮尋路

起點 S --------→ 目標 G

盲目搜尋:探索所有方向 啟發式搜尋:優先往「接近目標」的方向走 ↓ (使用直線距離估算) 更快找到路徑

重點:啟發式搜尋的核心就是用估算函數(啟發函數)來「猜測」哪條路更有希望,從而加快搜尋速度!

1
0