FGALDC 15 /RE:14049 RE:進化論とVZマクロ(^^)  こんにちは、Emmett さん 》 遺伝的アルゴリズム、って、どういうのなんですか? アルゴリズムが自己複製 え〜と、遺伝的アルゴリズム(GAと略すらしい)について、私もそんなに詳し いわけではないのですが。とりあえず、増殖したり変異したりするのはアルゴリ ズムではなく、遺伝子であるということで。 ただ、マクロコードを遺伝子とすれば、マクロコードで実現されているアルゴリ ズムは変異しますわなぁ。 それから、突然変異だけではなく、交配ということも考えてやりませんと。 生物の繁殖でも、分裂増殖する生物の突然変異よりも、有性生殖する生物の方が 進化は速いと思いますし。 要するに、二つのマクロコードを混ぜてやり、前半分はマクロAのコード、後ろ 半分はマクロBのコード、みたいにするのです。 いや、前3分の1と後ろ3分の2でもいいけど。 あと、よく自然保護とかの分野で話題になりますが、ある程度の個体数がなけれ ば種の存続は難しいらしいのです。ということで、マクロと言う生物の進化をシ ミュレートさせるには、出発点として10とか100とかのマクロコードが必要 になります。 さて、実際に進化をさせる段取としては、親の世代のマクロを交配し、子供の世 代を作ります。この時に突然変異をある確率で起こさせてやればいいのですが、 あんまり変異の確率が高すぎると、あっという間に別の生物になってしまいそう です。多分、確率50%は高すぎるでしょう。10%でも高いような気もします が、まぁシミュレーションですから、20%ぐらいでもいいかもしれません。 で、できた遺伝子が環境に適合するか、ということを判断するのが評価関数と言 うやつです。生物で言えば、環境条件に該当するものですね。 でも、マクロの場合、これを作るのが難しそうですね。 ここに人間が介在してしまえば、コンピュータにやらせる意味がないわけですし。 で、幾つかのマクロコードを生き残らせて、それらを親の世代とし、また子供を 作らせて・・・とやっていけば、マクロは自動的に進化して行きます。 ということで、Emmett さんが次に作るマクロは、マクロコードの評価関数という ことに決定しました。(^_^) これには最低でも、あるマクロコードがマクロとして正常か、たとえばスタック のプッシュとポップの辻褄が合っているか、等ということを判断する機能は必要 ですね。いわば、マクロのパーサ(parser)と言うやつですね。 マクロの使用変数一覧表が作れるような方なら、十分可能なような気がします。 そして、ここの部分の作りを変えてやれば、freeform からスタックメニューに進 化させることだって夢ではないでしょう。\(^_^)/ 》 つまらん話につきあわせてごめんなさい (^^;。 単なる思いつきを書いただけな いえいえ、なかなか面白い話ですよ。 そのうちに17階あたりで、進化論の進化について、みたいな感じで、ビュフォ ンとかラマルクあたりの進化論の講義をして下さることを期待しています。 いえ、ワトソンでも結構ですが。 》 の。respad.def の改造版、期待しています (^^)/。 申し訳ありません。改造版ではなく、マクロコードの一部引用、みたいな形にな ってしまっております。 Emmett さんが、マクロ進化シミュレータを完成(^^; させる前には作り上げたい な、と思っております。 このレスも、一応その自作マクロで雛型を作りました。(実戦投入第1号レス) まだまだバグだらけですけれど。 なぜか、2回連続して起動すると異常動作を起こしたりするし。                                 としき