複製鏈接
請複製以下鏈接發送給好友

狀態轉移算法

鎖定
狀態轉移算法(State transition algorithm, STA) [1-4]  是由周曉君博士等於2012年提出的一種新型的隨機性全局優化方法,它設計的初衷是力求在儘可能短的時間內找到最優化問題的全局最優解或近似最優解。在狀態轉移算法中,最優化問題的一個解看成是一個狀態,解的更新過程看成是狀態轉移過程。利用狀態空間表達式,它可以將產生候選解的過程用一個統一的框架來描述,用狀態轉移矩陣來描述產生候選解的算子,這些特點使得狀態轉移算法很容易理解和編程實現。
中文名
狀態轉移算法
外文名
State transition algorithm (STA)
提出者
周曉君
提出時間
2012年

狀態轉移算法統一框架

狀態轉移算法用狀態空間表達式來統一描述產生候選解的統一框架:
其中,
: 代表當前狀態,對應着最優化問題的一個候選解;
: 是
及歷史狀態的函數;
: 是在
點的適應值;
,
: 是狀態轉移矩陣,可以看成是執行算子;
: 是目標函數或評價函數。
作為一種全局優化算法,在設計狀態轉移算法時,使其具備以下性質:
  • 全局性,狀態轉移算法具有在整個空間進行搜索的能力;
  • 最優性,狀態轉移算法可以保證找到一個最優解;
  • 收斂性,通過狀態轉移算法產生的解序列是收斂的;
  • 快速性,狀態轉移算法儘可能地節省搜索時間;
  • 可控性,狀態轉移算法可以控制搜索空間的幾何形態。

狀態轉移算法一種連續狀態轉移算法

在連續狀態轉移算法中,
是一個連續變量,設計了四個特殊的狀態轉換算子來產生新的候選解。
狀態轉換算子
(1) 旋轉變換(Rotation Transformation, RT)
這裏
是一個正常數,稱作旋轉因子,
是一個隨機矩陣,它裏面的每個元素服從[-1,1]的均勻分佈,
表示向量的二範數。旋轉變換具有在半徑為
的超球體內搜索的功能。
(2)平移變換(Translation Transformation, TT)
這裏
是一個正常數,稱作平移因子,
是一個服從[0,1]均勻分佈的隨機變量。平移變換具有沿着從點
到點
直線上並以
為起點最大長度為
進行線搜索的功能。
(3)伸縮變換(Expansion Transformation, ET)
這裏
是一個正常數,稱作伸縮因子,
是一個隨機對角矩陣,它裏面的每個元素服從高斯分佈。伸縮變換具有使
中的每個元素伸縮變換到
的功能,從而實現在整個空間進行搜索。
(4)座標搜索(Axesion Transformation, AT)
這裏
是一個正常數,稱作座標因子,
是一個隨機對角稀疏矩陣,它只在某個隨機位置有非零元素,且該元素服從高斯分佈。座標搜索具有沿着座標軸方向搜索的功能,它的目的是為了增強單維搜索能力。
鄰域和採樣
對於一個給定的當前狀態
,下一個狀態
是通過上面介紹的狀態變換算子產生的。考慮到狀態轉移矩陣的隨機性,可知產生的候選解不是唯一的。不難想象,對於給定的
,當利用某種狀態變換算子時,產生的所有候選解將自動形成一個鄰域
對於給定的
,考慮到狀態轉移矩陣中的元素服從某種隨機分佈,產生的候選解是一個隨機向量,它對應的特定值可以看成一個樣本。此外,對於某種狀態變換算子和給定當前狀態,考慮到其對應的狀態轉移矩陣的產生是獨立的,當獨立運行多次後,比如獨立運行SE次後,將會產生SE個樣本。
更新策略
在給定當前最好解
的基礎上,對於某種狀態變換算子,利用上面闡述的採樣策略,將會產生SE個候選解。記SE個候選解中的最好解為
,則通過如下的策略來更新當前最好解
, if
, otherwise
基本連續狀態轉移算法的流程
基本連續狀態轉移算法由上面介紹的狀態變換算子,採樣機制與更新策略融合而成,其算法的流程如下:
Step 1:隨機產生一個初始解
,設置算法參數
1e-4,
Step 2: 基於當前最好解
,利用伸縮變換操作產生SE個樣本,並利用更新策略更新當前最好解,如果當前最好解有變動,執行平移變換操作並以同樣的機制更新當前最好解
Step 3: 基於當前最好解
,利用旋轉變換操作產生SE個樣本,並利用更新策略更新當前最好解,如果當前最好解有變動,執行平移變換操作並以同樣的機制更新當前最好解
Step 4: 基於當前最好解
,利用座標搜索操作產生SE個樣本,並利用更新策略更新當前最好解,如果當前最好解有變動,執行平移變換操作並以同樣的機制更新當前最好解
Step 5: 置
,如果
,置
,否則置
,然後重返Step2直到終止條件滿足。
基本連續狀態轉移算法背後的原理
  • 伸縮變換算子具有在整個空間進行搜索的能力,使其滿足全局性;
  • 旋轉變換算子中,當旋轉因子充分小時,當前的最好解將變成一個局部最優解,即;
  • 更新策略可以保證狀態轉移算法的收斂性,因為
且假定
存在,根據單調收斂定理可知序列
是收斂的;
  • 採樣機制(它有效地避免了窮舉)和各種狀態轉變算子的交替使用可以很好的節省搜索時間;
  • 狀態轉移中對變換因子的調整可以控制搜索空間的幾何形態。

狀態轉移算法其它相關鏈接

狀態轉移算法的MATLAB程序 [5-7] 
參考資料