各変数の出現回数を最小限に抑えるために、多くの変数 (>10) を持つ特定のブール式を単純化する方法は?
私のシナリオでは、変数の値は一時的であると見なす必要があります。つまり、アクセスごとに再計算する必要があります (もちろん静的ですが)。そのため、関数を解こうとする前に、変数を評価する必要がある回数を最小限に抑える必要があります。
関数を考える
f(A、B、C、D、E、F) = (ABC)+(ABCD)+(ABEF)
思いついた分配と吸収の法則を再帰的に使用する
f'(A、B、C、E、F) = AB(C+(EF))
最小限の実行時間でこのタスクを解決するアルゴリズムまたは方法があるかどうか疑問に思っています。
上記の例でQuine-McCluskeyのみを使用すると、
f'(A、B、C、E、F) = (ABEF) + (ABC)
これは私の場合には最適ではありません。最初に QM で単純化してから、上記のような代数を使用してさらに削減することが最適であると仮定することは保存されますか?