この非常にクールな C++ サンプル、文字通り「Hello World!」を見つけました。遺伝的アルゴリズムの。
すべてを C# で再コーディングすることにしたので、これが結果です。
今、私は自問自答しています:ランダムな文字列の母集団からターゲット文字列を生成する方法に沿った実用的なアプリケーションはありますか?
編集: Twitter の私の相棒は、 「翻訳などの転写タイプのものに役立ちます。モンキーのものである必要はありません」とツイートしました。手がかりがあればいいのに。
この非常にクールな C++ サンプル、文字通り「Hello World!」を見つけました。遺伝的アルゴリズムの。
すべてを C# で再コーディングすることにしたので、これが結果です。
今、私は自問自答しています:ランダムな文字列の母集団からターゲット文字列を生成する方法に沿った実用的なアプリケーションはありますか?
編集: Twitter の私の相棒は、 「翻訳などの転写タイプのものに役立ちます。モンキーのものである必要はありません」とツイートしました。手がかりがあればいいのに。
ランダムな文字列の母集団からターゲット文字列を生成する方法に沿った実用的なアプリケーションはありますか?
もちろん。特定の文字列の適合性を評価する方法を知っていて、選択肢が離散的で何らかの方法で制約されているシナリオを想像してみてください。
いいえ。GA を実行するたびに、最終的な答えが得られます。これは、GA がどのように機能するかを示し、それがどれほど強力であるかを示すのに最適ですが、それ以上の目的はありません。
a) クラッシュせずに実行し、b) 株式市場を分析し、インテリジェントに株式を売買するコードを作成することを目標に、IronPython のような動的言語でコードを作成する EA を作成できます。
これは必要なことを非常に単純化したものですが、可能です。IronPython コード (テクニカル インジケーターなど) 用の多くのメソッドとティックのデータベースを提供するホストが必要です。
自分のハードドライブをフォーマットしないように、古いランダムコードを生成しないことも賢明です。サンドボックスが必要で、アクセス可能な名前空間を制限する必要があり、無限ループを避けるために時間制限を設ける必要があります。また、ランダムな文字を並べるだけでなく、適切な承認済みキーワードを選択できるようにする意味論的ガイドラインを提供することもできます。これにより、進化が大幅にスピードアップします。
それで、私は EA 以外のすべてを行うプロジェクトに関与しました。NASDAQ からリアルタイムの株式ティックを取得する衛星アンテナ、API を備えた取引サービス、ティックが入ってくると決定を下す原始的な意思決定「脳」がありました。
悲しいことに、パートナーの 1 人がひっくり返り、仕事を辞め、プロジェクトをフォークし (自分の料理を手に入れるなど)、準備ができていないロジックで取引を開始しました。彼は大金を失った。一部の人々にとって、このタイプのプロジェクトは、一般的なギャンブルから一歩離れたところにあることがわかりました. とにかく、その後、プロジェクトは一種の失敗に終わりました。ただし、ロジック部分の進化はミッシング リンクです。そして、この種のことをしている人々がいることを私は知っています。
私は2つの実際の研究問題でGAを使用しました。
1つは、電力最適化の問題でした(オンになっているアプライアンスの数を最大化し、各アプライアンスで利用可能な電力の制約とサービス保証を満たします)
もう1つは、無線ネットワークの最適化であり、固定の機器予算が与えられた場合にカバレッジエリアを最大化します。
GA には主な欠点が 1 つあります。通常、遺伝的な速度で動作するため、時間に依存する深刻なプロジェクトで使用することは非常に危険です。