私は変数のセットを持っていますX, Y, ..., Z
。私の仕事は、この一連の変数を取り、整数を生成する関数を設計することです。これをテストするためのフィットネス関数があります。
f
問題への私の最初の刺し傷は、線形関数になるようにモデル化できると仮定することです。
f(X, Y, ..., Z) -> aX + bY ... cZ
私の最初のアイデアは、PSO (粒子群最適化) または遺伝的アルゴリズムのいずれかを使用して解決するf
ことa, b, .., c
でした。それらは確実に良い結果をもたらすと確信しています。
一方で、そういう進化的アルゴリズムはあまり必要ないのではないかという気もします。まず、 の良い「出発点」をいくつか思いつくことができますa,b, .., c
。線形f
関数であるため、いくつかのポイントを試してから、それらに対して線形回帰のようなことを行う方が簡単ではないでしょうか? そして、線形回帰の後、さらにいくつかのポイントを試してみて、今回は良い「スポット」のように見えるものに近づき、それらに対して再び線形回帰を行いますか?
それの欠点は何ですか?この種の問題の経験がある人はいますか?私が考えることができる最大のものは、おそらく私が良い開始値と考えるのはa,b, .., c
「ローカルオプティマ」であり、ある種の進化的アルゴリズムを使用するとグローバルアルゴリズムが得られるということです。
f
それが重要な場合、チェスのようなゲームの Minimax アルゴリズムの近似関数であると想定されています。
ありがとう