模拟退火法

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– k是Boltzmann’s Constant
轉換到模擬退火法,則變成 P=exp(-c / t)>r
– c是評估函數的差 – r是0~1之間的亂數
2014/8/19 Simulated Annealing 5
實際退火與模擬退火之間的關係
實際退火法
系統狀態 能量
轉換狀態 溫度 冷卻狀態
2014/8/19 Simulated Annealing
Simulated Annealing
15
提高效能
初始化(Initialization)
– 將原本用亂數取初始值的方式改為盡可能找出 一有用的起始點
雜交(Hybridization)
– 結合兩種以上的搜尋演算法
2014/8/19
Simulated Annealing
16
演算法修正
可接受的機率(Acceptance Probability) P(ΔE)=1- (ΔE / t)
2014/8/19
Simulated Annealing
13
其他的問題(續)
鄰近點的結構(Neighborhood Structure)
– 有些結構是對稱性的,即可以從A狀態到B狀態, 也可以從B狀態到A狀態 – 條件較弱(結構較鬆散)的有穩定的收斂 – 條件定的好,就可以使得在各種狀態之下都可 以到達另一種狀態
冷卻排程
初始溫度(Starting Temperature)
– – 溫度要夠高才能移動到任何的狀態 溫度不能太高,否則會導致在一段時間內皆 用亂數在湊解答பைடு நூலகம்1. 如果可以知道檢測函數的最大值就可以找到 最好的初始溫度 2. 快速提高溫度,然後又快速降溫,直到有60% 的最差解被接受 3. 快速提高溫度,但慢慢降溫,並定出適當比 例最差解的接受度
2014/8/19
Simulated Annealing
11
其他的問題
價值函數(Cost Function)
– 用來評估解的品質 – Delta Evaluation
求某解與其鄰近點的價值
– Partial Evaluation
不需額外產生的計算結果就可以判斷出來解的價值
2014/8/19
Simulated Annealing
Hill Climbing是挑選鄰近點中最好的點,但 這樣會有局部最大值的問題 模擬演算法是亂數找尋鄰近的點
– 若找到的點比立足點好,則取之 – 否則依照機率決定是否取之
2014/8/19
Simulated Annealing
4
模擬退火法的檢測標準
根據熱力學定律,在溫度為t的情況下,能 量差所表現的機率如下: P(ΔE)=exp(-ΔE / kt)
價值函數(Cost Function)
– 利用其他演算法的價值函數來做計算
2014/8/19
Simulated Annealing
18
結論
模擬退火法已經證明可能收斂出最好解 要花較多的時間去搜尋各種解 可將模擬退火法應用於其他問題上
2014/8/19
Simulated Annealing
19
2014/8/19
Simulated Annealing
14
其他的問題(續)
所有解的空間(The Solution Space)
– 空間小,可以展開搜尋 – 若允許不合適的解也存在的話就會加大搜尋空 間 – 我們想辦法取一個適當值,期望能快速搜尋, 又可避免在不利的情況下沒有好的進展
2014/8/19
2014/8/19 Simulated Annealing 2
簡介
模擬退火法是模擬冷卻晶體的過程 最早是由Metropolis等人在1953年提出 1982年,Kirkpatrick等人將其運用在求最佳 化的問題上
2014/8/19
Simulated Annealing
3
模擬退火法 v.s. Hill Climbing
– 少計算exponential會加快速度 – 建立一個可查詢各種值的table
冷卻(Cooling)
– 花一些時間找尋最佳溫度(包括最終溫度、溫 差)
2014/8/19 Simulated Annealing 17
演算法修正(續)
鄰近點(Neighborhood)
– 對於不好的鄰近點給予一個懲罰值
溫度減少(Temperature Decrement)
– 每次降低溫度的差距以及在同一溫度反覆尋 找最適解會導致指數般成長的搜尋空間
1.以線性降溫來說 Temp=Temp-x 2.以幾何觀念來看 Temp=Temp*y (y約0.8~0.99為佳)
2014/8/19 Simulated Annealing 10
冷卻排程(續)
反覆次數(Iterations at each Temperature)
– 一般會定一個常數 – Lundy認為只要反覆一次,但每次降低的溫度 差距必須非常小 Temp=Temp / (1+a*Temp) a是非常小的值 – 低溫需要較多反覆次數以避免找到局部最大值, 但高溫則可減少次數
模擬退火法
適合解 價值
鄰近解 控制參數 最終解
6
演算法
1. 設定終結溫度T及初始溫度t
2. 若t=0,則結束冷卻
否則亂數找一可用之點 計算ΔE,若大於零則接受新的值 若小於零,則透過機率函數已決定是否接 受新值 決定是否下降溫度,做進一步的搜尋
2014/8/19 Simulated Annealing 7
2014/8/19 Simulated Annealing 8
冷卻排程(續)
最終溫度(Final Temperature)
– 通常是零,但會耗掉許多模擬時間 – 溫度趨近於零,其周遭狀態幾乎是一樣的 – 所以尋找一個低到可接受的溫度
2014/8/19
Simulated Annealing
9
冷卻排程(續)
12
其他的問題(續)
價值函數(Cost Function)
– Hard Constraints
在不違背合適解的條件下,所提出的強制規定
– Soft Constraints
無論這種解是否違背條件,都算是合適解
– Hard Constraints會給一個很大的weight – Soft Constraints則是情況給予不同的weight
Simulated Annealing (模擬退火法)
Graham Kendall
Artificial Intelligence Methods (G5BAIM) The University of Nottingham
2014/8/19 Simulated Annealing 1
大綱
簡介 模擬退火法 v.s. Hill Climbing 模擬退火法的檢測標準 實際退火與模擬退火之間的關係 演算法 冷卻排程 其他的問題 提高效能 演算法修正 結論
相关文档
最新文档