啟發式(heuristic)
/ hyoo-RIS-tik /
啟發式就是一條經驗法則——一個又快又實用的捷徑,它通常能把你引向一個不錯的答案,卻不保證是最好的那個。當你在城市裡迷了路,朝著高樓走去以找到市中心時,你用的就是啟發式:它並非萬無一失,但這是個明智的猜測,多半管用,還省得你把每條街都查一遍。AI用的是同一招,來馴服那些大到沒法靠蠻力解決的問題。
在AI裡,啟發式最常出現在搜尋與問題求解中,表現為對「某個局面有多大希望」的有根據的猜測——比如在導航問題裡,把到目標的剩餘距離估成一條直線,而不去管實際那些彎彎繞繞的路。這個估計引導搜尋優先去探索有希望的方向,而不是沒頭沒腦地把一切都試一遍。一個好的啟發式,能把一個本來幾乎要花上「永遠」才能解的問題,變成片刻可解。其中的門道,在於找到一個算起來便宜、卻又足夠準的啟發式。
誠實條款很要緊:啟發式是拿「保證」去換「速度」。因為它是一個近似,它可能被誤導,偶爾會把你引向歧途,或引向一個僅僅「還行」的答案。有些啟發式帶著數學護欄(例如,永不高估剩餘代價,這能讓某些搜尋方法在數學上可證明是最優的);許多則只是些在實踐中管用的巧妙猜測。啟發式在AI和人類思維裡都無處不在——是應對複雜性不可或缺的工具,但當事關重大時,它絕不能替代「去核實一遍」。
一個地圖應用在規劃路線時,沒法把每一條可能的路徑都查一遍——那多得是天文數字。於是它用了一個啟發式:優先選朝著目標方向走的路(用到目的地的直線距離來衡量)。這就把搜尋的注意力集中到有希望的路線上,把那些越走越偏的路忽略掉,從而以一小部分時間就找到一條近乎最優的路線。
把直線距離當作啟發式:一個便宜的猜測,無需查遍每條路徑就能聚焦搜尋。
啟發式是用「放棄對最優答案的保證」去換速度。它是嚮導,不是證明——在砍掉大到不可能的搜尋上極為出色,卻也可能被騙,所以要把它的結果當成「多半不錯」,而非「必定最優」。