ホップフィールドネットワーク(8)

さて、「ホップフィールドネットワーク(7)」での式(25)

  • E_1=(x_1+x_2+x_3+x_4+x_5+3)^2
    • +(x_6+x_7+x_8+x_9+x_{10}+3)^2
    • +(x_{11}+x_{12}+x_{13}+x_{14}+x_{15}+3)^2
    • +(x_{16}+x_{17}+x_{18}+x_{19}+x_{20}+3)^2
    • +(x_{21}+x_{22}+x_{23}+x_{24}+x_{25}+3)^2・・・・(25)

は単純な構造なのに記述すると長くなって不便です。これを改善するためにニューロンの番号の振り方を工夫します。今は各ニューロンに1個の番号を割り振って1から25までの番号をつけていますが、今度は各ニューロンに2個の番号を割り振ることにします。2個の番号はそれぞれ行と列を表します。つまり、下の図のようにします。

  • 図12

こうすることによって、ニューロンの出力x_iはむしろx_{ij}と表さなければならなくなります。さてこのようにすると式(25)は

  • E_1=(x_{11}+x_{12}+x_{13}+x_{14}+x_{15}+3)^2
    • +(x_{21}+x_{22}+x_{23}+x_{24}+x_{25}+3)^2
    • +(x_{31}+x_{32}+x_{33}+x_{34}+x_{35}+3)^2
    • +(x_{41}+x_{42}+x_{43}+x_{44}+x_{45}+3)^2
    • +(x_{51}+x_{52}+x_{53}+x_{54}+x_{55}+3)^2・・・・(27)

と書き直されます。ここで\Bigsumを用いれば

  • E_1=\Bigsum_{i=1}^5\left(\Bigsum_{j=1}^5x_{ij}+3\right)^2・・・・(28)

と書くことが出来ます。


E_1を最小にすることは、式の形からE_1の最小値は0ですが、そのためには1から5までの任意のiについて

  • \left(\Bigsum_{j=1}^5x_{ij}+3\right)^2

が0になる必要があります。そのようなことが可能でしょうか? 私たちはすでに、1つの行には「1」は1つしか存在しない状態ではそれが可能であることを知っています。よって、E_1を最小にすることが「1つの行には『1』は1つしか存在しない」という制約を課すことに等しいことが分かります。


同様に考えて、「1つの列には『1』は1つしか存在しない」という制約は、

  • E_2=\Bigsum_{j=1}^5\left(\Bigsum_{i=1}^5x_{ij}+3\right)^2・・・・(29)

で定義されるE_2を最小にする、ということになります。「1つの行には『1』は1つしか存在しない」という制約と「1つの列には『1』は1つしか存在しない」という制約は同時に満たすことが出来るので、E_1+E_2を最小にする、ということは、「1つの行には『1』は1つしか存在しない」という制約と「1つの列には『1』は1つしか存在しない」という制約を満たすニューロンの出力パターンを見出すことになります。


あとはE_1+E_2に、「訪問する場所間の距離の和が最小」という条件を表す項を足せば、巡回セールスマン問題を表すエネルギーを得られることになります。