啟發式算法(Heuristic Algorithm)有不同的定義:一種定義為,一個基于直觀或經驗的構造的算法,對優化問題的實例能給出可接受的計算成本(計算時間、占用空間等)內,給出一個近似最優解,該近似解于真實最優解的偏離程度不一定可以事先預計;另一種是,啟發式算法是一種技術,這種技術使得在可接受的計算成本內去搜尋最好的解,但不一定能保證所得的可行解和最優解,甚至在多數情況下,無法闡述所得解同最優解的近似程度。(參考https://blog.csdn.net/u010159842/article/details/75530645?utm_source=copy )
個人理解啟發式算法就是一種探索式的前進算法。舉個例子,摸著石頭過河,我們無法確定哪里的水最淺可以最安全的過河,因此我們只能走一步探一下深淺,一直走那條探出來的可以安全通過的路。但是這條路是不是最淺的最安全的呢,我們是無法確定的,但是我們至少安全的渡過河了,也就是說目的達到了,而不是去追求最佳路徑。