エレガントな表現方法はわかりませんが、基本的にはブルートフォース検索アルゴリズムを実装したいのですが、検索スペースを列挙する方法はたくさんあります。これは私には世間知らずかもしれませんが、検索スペースを列挙する方法を選択すると、アルゴリズムが実際にうまく機能するかどうかに大きく影響すると思います。
簡略化した例として、次の決定問題を考えます。
入力:多項式整数係数と自然数ます。
質問:ようなは存在しますか?
現在、この問題を解決するためのさまざまなアルゴリズムが存在する可能性がありますが、私はブルートフォースアプローチを選択することにしました。サーチスペースを列挙するには、次の方法を検討してください。
昇順戦略:私はかどうかを確認でき、その後、0であるその後、私が見つけるまで、...、ようにまたは私はすべて試す。
降順戦略:場合、私がチェックすることができ、その後、0である、その後、、···、私が見つけるまで、このようなことまたは私がしてみてくださいすべての。
人気戦略:最も人気のあるソリューションの小さなリストを保存し、数値を試す前にそれらを最初に試すことができます。
ふるい戦略:私は一種のふるい列挙を行うことができました。私はすべて2で割り切れる番号試みる、その後数が3で割り切れる次いで次いで、5、7、11、13、などを。(事前計算されたいくつかの素数のリストにアクセスできると仮定します。)
ランダム性戦略:ランダムなビットの大きな文字列を利用する興味深い列挙戦略があるかもしれません。
基本的に、私はブルートフォース検索アルゴリズムに関する次の質問に答えたいと思っています。
質問A:特定の列挙戦略を選択するメリットはありますか?
質問B:実際に興味深い列挙戦略を選択する検索問題の例はありますか?人気戦略のバリエーションが実際に効果的に機能する検索問題があるかもしれません。