パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

遺伝的アルゴリズムでカーネルチューニング」記事へのコメント

  • 1.評価関数
    2.個体数の確保

    適合度って何を基準に出しているのかしらん?処理時間?
    あと一つのPCで複数の個体を保持しているのかなぁ。

    1PC1個体にして、ネットワーク経由で交配、とか妄想してみたけど違うみたいですね。そうだったら正に「ネットは広大」という事でかなりアレゲなんですが。
    • 適合度は評価関数により算出されます。
      また個体は1台のPC内に複数保持しないと交配できないため、もちろんそのようになっています。

      「ネットワーク越しで交配」というのは本来の意味が失われてしまいます。
      なぜならば
      • 複数のコンピュータでネットワーク越しで交配するなら
        GA っぽいですが、 一つのコンピュータ上で進化するなら、
        Simulated Annealing [google.com] が 良いのでは?

        実際には、試してみないと分からないでしょうが。
        • SAはGAの利用を含む探索問題の計算を早く収束させるための一手法だと認識しています。
          ですから、「GAよりもSAのほうが良い」というのは奇妙な感じです。
          --
          --kwbt
          • SA はパラメータを微少に変化させた場合に
            エネルギー関数が小さくなった場合には確率1 で、
            大きくなった場合には、確率 exp(-dE/T) で
            新しいパラメータを受理する。
            で、徐々に T を小さくする。
            T が 0 になれば、最適解になってる。

            っていうものじゃないでしょうか?
            • by Anonymous Coward on 2005年01月09日 11時19分 (#676040)
              >T が 0 になれば、最適解になってる。
              divided by zeroが気になるのですが、 逆にdivided by zeroが起きると最適解なのでしょうか?
              何も知らない素人考えですが。
              親コメント
              • by yu-na (10754) on 2005年01月09日 12時37分 (#676059) 日記
                上で書いたのはエネルギー関数(評価関数) E の
                最小化(評価関数なら普通は最適化=最大化かも)
                のアルゴリズムです。

                >> T が 0 になれば、最適解になってる。
                > divided by zero が気になるのですが、
                実際に 0にすると言う意味ではなくて、
                T-> 0 の極限で最適解になると言う意味です。

                >> 大きくなった場合には、確率 exp(-dE/T) で
                上では書いてませんでしたが、 dE はパラメータ
                を変化させた場合の E の増分です。

                T が大きい(無限大)と、
                dE にかかわらず、 確率は 1(=exp(0)) になりますので
                基本的にはランダムウォークするけれども、
                T が小さくなってくると E が大きくなる方向へは、
                移動しにくくなります(0≒exp(-∞))。
                で、T が十分に小さくなっていれば、E が最小となるところ
                に落ち着くと言う感じです。

                T は時間経過とともに徐々に小さくするようにします。
                このスケジューリングの仕方は知りません。(^-^;
                親コメント

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

処理中...