3
私はDPLLアルゴリズムをC++で実装しようとしていますが、この種の再帰問題を解決するにはどのような種類のデータ構造が最適だろうと思います。今はベクトルを使用していますが、コードは長くて醜いです。提案はありますか?DPLLをC++に最適に実装する方法は?
function DPLL(Φ)
if Φ is a consistent set of literals
then return true;
if Φ contains an empty clause
then return false;
for every unit clause l in Φ
Φ ← unit-propagate(l, Φ);
for every literal l that occurs pure in Φ
Φ ← pure-literal-assign(l, Φ);
l ← choose-literal(Φ);
return DPLL(ΦΛl) or DPLL(ΦΛnot(l));