模擬退火是一種計算機技術,它可以找到一個問題的好的(雖然不一定是最佳的)解決方案。它之所以被命名是因為它模擬了退火的冶金過程。在金屬中,退火是通過加熱金屬然后緩慢冷卻來凈化的過程。計算機程序“凈化”了溶液模擬...
模擬退火是一種計算機技術,它可以找到一個問題的好的(雖然不一定是最佳的)解決方案。它之所以被命名是因為它模擬了退火的冶金過程。在金屬中,退火是通過加熱金屬然后緩慢冷卻來凈化的過程。計算機程序“凈化”了溶液模擬退火程序的用戶需要指定兩個關鍵因素:起始溫度,或者可以探索的較差溶液的百分比;冷卻速率,這是該百分比的速率低的啟動溫度通常會導致結果與最佳值相差甚遠。在非常高的溫度下啟動可能會導致搜索所需的時間遠遠超過所需的時間。同樣,冷卻速率過高也會產生較差的結果,而極低的冷卻速度會導致程序運行很長時間。模擬退火程序的“高溫”狀態是一個設置,它可以查看范圍很廣的解決方案,包括許多比它已經找到的解更差的解。計算機可以查看許多比當前解更差的解,以避免陷入比最佳解差得多的局部最小值。例如,我們可以想象從山頂或山頂開始,以到達基地為目標。沿途可能會有溝壑或裂縫。如果計算機無法上坡到足夠遠的地方,即使它離基地很遠,它也會卡住。程序能走多遠取決于較差解的百分比允許程序檢查隨著時間的推移,會逐漸找到更好的解決方案,深淵的風險也會降低,因此,計算機可以探索的更差的解決方案的百分比就減少了。減少這一部分被稱為“冷卻”。當溫度達到預先設定的分數(不必為0)時,搜索結束。使用模擬退火或其他人工智能搜索技術的原因是將可管理量找到一個近似最優解所需的時間。對于許多問題,一個徹底的搜索-測試每個可能的解決方案對另一個可能的解決方案-可能需要數月或數年。最廣為人知的替代模擬退火算法是遺傳算法。其他流行的人工智能搜索算法包括蟻群算法、粒子群優化算法、最近鄰算法和貝葉斯分類器
-
發表于 2020-08-07 04:41
- 閱讀 ( 652 )
- 分類:電腦網絡