力まかせ探索
特定の問題に力まかせ探索を適用するには、4つのプロシージャ first、next、valid、output を実装しなければならない。これらのプロシージャは引数として解くべき問題についてのデータ P をとり、以下のことを行う。
first (P): P の最初の解候補を生成する。
next (P, c): 現在の解候補 c の次の解候補を生成する。
valid (P, c): 解候補 c が P の解かどうかをチェックする。
output (P, c): P の解として c を適切に表示したり、他のアプリケーションに渡したりする。
next は P の解候補がもう存在しない場合には、それを通知しなければならない。簡単な方法としては、空の解候補として他の解候補では決して使われないデータ値 Λ を使えばよい。同様に first も P の解候補が全く存在しない場合には Λ を返す。以上から、力まかせ探索をアルゴリズム的に表すと、次のようになる。
例えば、整数 n の約数を求める場合、問題インスタンスデータ P はその整数 n となる。first (n) を呼び出した場合、n ≥ {\displaystyle \geq } 1 なら 1 を返し、そうでない場合は Λ を返す。next (n,c) を呼び出した場合、c < {\displaystyle <} n なら c + 1 を返し、そうでない場合はΛを返す。valid (n,c) は c が n の約数ならば true を返す。なお、Λとして n + 1 を返すようにすれば、実装がかなり単純化される。