突然変異の操作
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/18 03:28 UTC 版)
(μ,λ)-ES系の突然変異は上記の個体の各要素全てについて操作を行う。まず探索のメインである探索ベクトル以外については以下のような操作が提案されている。 σ i ′ = σ i exp ( τ ′ ξ + τ ξ i ) {\displaystyle \sigma '_{i}=\sigma _{i}\exp \left(\tau '\xi +\tau \xi _{i}\right)} α i j ′ = α i j + β ξ i j {\displaystyle \left.\alpha '_{ij}=\alpha _{ij}+\beta \xi _{ij}\right.} このとき ξ , ξ i , ξ i j {\displaystyle \xi ,\xi _{i},\xi _{ij}} は全て独立に平均 0分散 1の正規乱数である。また τ , τ ′ , β {\displaystyle \tau ,\tau ',\beta } は定数であり推奨値はそれぞれ、 τ = ( 2 n ) − 1 {\displaystyle \tau =\left({\sqrt {2{\sqrt {n}}}}\right)^{-1}} τ ′ = ( 2 n ) − 1 {\displaystyle \tau '=\left({\sqrt {2n}}\right)^{-1}} β = 0.0873 である。探索ベクトル x の突然変異については以下のような少々複雑な計算が行われる。 まず各i について正規分布 N(0, σi2 ) に従う正規乱数を求めそれを η = ( η 1 , η 2 , … , η n ) {\displaystyle \eta =\left(\eta _{1},\eta _{2},\dots ,\eta _{n}\right)} とおく 次に各αij に対して以下のような n×n の行列 R ( α i j ) {\displaystyle R(\alpha _{ij})} を生成する r i i = r j j = cos α i j {\displaystyle \left.r_{ii}=r_{jj}=\cos \alpha _{ij}\right.} r i j = − r j i = − sin α i j {\displaystyle \left.r_{ij}=-r_{ji}=-\sin \alpha _{ij}\right.} r k k = 1 ( k = 1 , … , n and k ≠ i , k ≠ j ) {\displaystyle r_{kk}=1(k=1,\dots ,n{\mbox{ and }}k\neq i,k\neq j)} それ以外の要素は 0 とする。 この二つの要素を以下の式で掛け合わせてベクトル ζ = ( ζ 1 , ζ 2 , … , ζ n ) {\displaystyle \zeta =(\zeta _{1},\zeta _{2},\dots ,\zeta _{n})} を生成する。 ζ = ∏ i = 1 n − 1 ∏ j = i + 1 n R ( α i j ) η {\displaystyle \zeta =\prod _{i=1}^{n-1}\prod _{j=i+1}^{n}R(\alpha _{ij})\eta } このベクトルとx の和をx' とする。 x ′ = x + ζ {\displaystyle \left.x'=x+\zeta \right.} これが突然変異操作となる。
※この「突然変異の操作」の解説は、「進化戦略」の解説の一部です。
「突然変異の操作」を含む「進化戦略」の記事については、「進化戦略」の概要を参照ください。
- 突然変異の操作のページへのリンク