私は現在、大量のデータを扱っており、いくつかの入力に基づいて結果を計算するプログラムを作成しました。私には10個の入力があり、それぞれに約20個の異なる可能な値があります。最大の結果を生み出すこれらの入力の組み合わせを見つけるためにどの手法を使用すればよいかわかりません。
これは、本質的には本物と同等ですが、より簡単に説明できる構成例です。
映画、ユーザー、ユーザー評価があります。ユーザーの年齢、国、性別、星座、髪の色などに関する情報があるとします。このシナリオの目標は、平均が最大になる年齢間隔、国、性別などの組み合わせを見つけることです。特定の映画の評価。最後に、最小投票数の制限を追加して、映画に満点を与えた1人のユーザーを返す入力の組み合わせを取得したときに、この組み合わせを無視するようにします。
私がすでに試したこと:
この種の問題を解決するための既知のアルゴリズム/手法があるかどうかを知りたいです。
これは具体的な助けにはなりませんが、おそらくいくつかの励ましです。
20^10
値の組み合わせ。大丈夫。これは、近似解を使用する必要があるかもしれないことを意味しますが、ほとんどの実際の問題では、近似解は理論上の最適値と比較してそれほど悪くはありません。線形計画法 を見てください。そのような操作を実行するいくつかの商用ツールがあります(例:IBM ILOG CPLEX、GAMS)。
ウィキペディアのページの説明を読んで、使用できる最も重要なアルゴリズムを確認できます。