n項モノトーンCNFの最短公式
n個の変数()にm個の項がある単調なCNF式は、の形式の式であり、各は変数の一部のサブセットのORです。、とからの範囲に。 F (X 1、... 、xはN)= ⋀ C I C I X 1、... 、X nは I 1 m個バツ1、… 、xんx1,…,xnx_1,\ldots,x_nf(x1、… 、xん)= ⋀ C私f(x1,…,xn)=⋀Cif(x_1,\ldots,x_n) = \bigwedge C_iC私CiC_iバツ1、… 、xんx1,…,xnx_1,\ldots,x_n私ii111メートルmm たとえば、は、4つの変数に2つの項を持つ単調なCNF式です。(x1∨ X3∨ X4)∧ (x2∨ X4)(バツ1∨バツ3∨バツ4)∧(バツ2∨バツ4)(x_1 \vee x_3 \vee x_4) \wedge (x_2 \vee x_4) 私は、n個の項を持つn個の変数の特定の単調CNF式と同じ関数を表す同じ変数のセットで、最も短い式(必ずしも単調でなくても、CNFである必要はありません!)を探しています。(項と変数の数は同じであることに注意してください。) 式を構築する1つの明白な方法は、与えられたCNF定義を拡張することです。これにより、サイズ式が得られます。(数式のサイズを文字列として書き留めたときの数式の長さとなるように定義しましょう。)これが最も効率的な一般的な構成であるかどうか、またはすべてのn項の単調CNFに数式が存在するかどうかを知りたいサイズ。o (n 2)O (n2)O(ん2)O(n^2)o (n2)o(ん2)o(n^2) これが可能かどうか知りたいだけなのですが、アルゴリズムにはあまり興味がありません。これが不可能な場合は、反例となる機能がいいでしょう。文献で答えを見つけることができる場所へのポインタも高く評価されています。 編集:私はシンをより明確にするために例を追加しています。 入力式がます。これは、単調なCNF式です。同じ関数を表す短い式は次のとおりです:。xは1 ∨ (X 2 …