Logical formula with NOT only on variables
数学論理では、否定演算子 ( 、not ) が変数にのみ適用され、他に許可されるブール演算子が結合( 、and ) と選言( 、or ) のみである場合、式は否定正規形( NNF ) になります。 


否定正規形は標準形式ではありません。たとえば、とは同等であり、 は両方とも否定正規形です。

意味
以下はNNFの文脈自由文法です。
| NNF |  | リテラル |
| | (NNF NNF) |
| | (NNF NNF) |
|
| リテラル |  | 変数 |
| | 変数 |
ここで、Variableは任意の変数です。
例と反例
∨ / \ ∧ D / \ ∧ ¬ / \ |A∨C / \ ¬C | B |
次の式はすべて否定正規形です。

最初の例も連言正規形であり、次の 2 つは連言正規形と選言正規形の両方ですが、最後の例はどちらでもありません。
次の式は否定正規形ではありません。

ただし、これらはそれぞれ、否定正規形の次の式と同等です。

NNFへの変換
古典論理や多くの様相論理では、含意()と同値()を定義に置き換え、ド・モルガンの法則を用いて否定を内側に押し込み、二重否定を除去することで、あらゆる論理式をこの形にすることができます。このプロセスは、以下の書き換え規則を用いて表すことができます。


否定正規形への変換では、式のサイズが線形的にのみ増加します。つまり、原子式の出現回数は同じままで、との出現回数の合計は変化せず、正規形での の出現回数は元の式の長さによって制限されます。


否定正規形の式は、分配法則を適用することで、より強い連言正規形または選言正規形に変換できます。分配法則を繰り返し適用すると、式のサイズが指数的に増加する可能性があります。古典的な命題論理では、否定正規形への変換は計算特性に影響を与えません。つまり、充足可能性問題はNP完全であり続け、妥当性問題は共NP完全であり続けます。連言正規形の式の場合、妥当性問題は多項式時間で解くことができ、選言正規形の式の場合、充足可能性問題は多項式時間で解くことができます。
参照
注記
参考文献
外部リンク
- 論理式を否定正規形に変換し、使用される法則を表示するJavaアプレット