計算量の多いプログラムのパフォーマンスを最適化および向上させるためのヒントやテクニックを教えてください。私は複雑なグラフィックスの計算や数秒間のプログラミングやシミュレーションのようなものについて話していますが、一定のスピードアップだけが役に立つIO重いプログラムとは対照的に、1秒ごとに保存しておくと便利です。計算量の多いプログラムのパフォーマンステスト
ここで最も効果的な方法としてアルゴリズムの変更が頻繁に言及されていますが、最初は効果的なアルゴリズムがどれほど効果的かを知りたいので、可能な限りアルゴリズムごとに効率を上げたいと考えています。私が解決している "問題"はよく知られているものではないので、Web上にアルゴリズムがあるのはほとんどありませんが、進める方法と探すべきことについてのアドバイスを探しています。
私は、進化的アルゴリズムと関連する問題の特定のグループに対してより簡単なアプローチの有効性の違いを探求しています。私はすでに問題の3つの進化的アルゴリズムを書いており、今私はできるだけ速くしようとしているブルートフォース技術を書いています。
編集:もう少し指定します。私はC#を使用しており、アルゴリズムはすべて式の制約タイプの問題の計算と解決を中心に展開しています(式ツリーを使用)。式では、x^2 + 4のようなものや、式ツリーに解析されるようなものを意味します。私のアルゴリズムはすべて、これらの木を作成し、操作してより良い近似を見つけようとします。しかし、他の誰かを助ける場合に備えて、一般的な方法で質問を出したいと思っていました。
私は、さまざまなプロパティの良い近似である式を見つけるための有用な進化的アルゴリズムを書くことが可能かどうかを調べようとしています。両方とも、私は良い近似がどのようなものかを知り、進化論的なものが従来の方法とどのように比較されるかを知りたいからです。
私はさらに進んで、SATソルバーとTSPの問題を除いて、最適化の問題については、進化的探索よりはるかに効率的なアルゴリズムがあると言います。 – SplittingField