連言標準形への変換
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/01 10:07 UTC 版)
任意の論理式は等価な CNF に変換することができる。これを行うには、二重否定の除去、ド・モルガンの法則、分配法則といった論理的に等価な変換を使う。全ての論理式は CNF に変換できるため、証明に際して全ての論理式が CNF であることを前提とすることが多い。しかし、元の論理式によっては、CNF への変換によって論理式が極めて長大になることもある。例えば、論理式 ( X 1 ∧ Y 1 ) ∨ ( X 2 ∧ Y 2 ) ∨ ⋯ ∨ ( X n ∧ Y n ) {\displaystyle (X_{1}\wedge Y_{1})\vee (X_{2}\wedge Y_{2})\vee \dots \vee (X_{n}\wedge Y_{n})} を CNF に変換すると、 2 n {\displaystyle 2^{n}} 個の節を書き連ねることになる。実際、対応する CNF は ( X 1 ∨ X 2 ∨ ⋯ ∨ X n ) ∧ ( Y 1 ∨ X 2 ∨ ⋯ ∨ X n ) ∧ ( X 1 ∨ Y 2 ∨ ⋯ ∨ X n ) ∧ ( Y 1 ∨ Y 2 ∨ ⋯ ∨ X n ) ∧ ⋯ ∧ ( Y 1 ∨ Y 2 ∨ ⋯ ∨ Y n ) {\displaystyle (X_{1}\vee X_{2}\vee \cdots \vee X_{n})\wedge (Y_{1}\vee X_{2}\vee \cdots \vee X_{n})\wedge (X_{1}\vee Y_{2}\vee \cdots \vee X_{n})\wedge (Y_{1}\vee Y_{2}\vee \cdots \vee X_{n})\wedge \cdots \wedge (Y_{1}\vee Y_{2}\vee \cdots \vee Y_{n})} となる。この式は 2 n {\displaystyle 2^{n}} 個の節があり、それぞれの節は各 i {\displaystyle i} について X i {\displaystyle X_{i}} または Y i {\displaystyle Y_{i}} を含んでいる。 等価性よりも充足可能性を満たすよう CNF に変換することで、論理式のサイズの指数関数的増加を招かない変換方式もある。このような変換方式でのサイズ増加は線形であることが保証されるが、新たな変数を導入する必要がある。たとえば、上の論理式は新たな変数 Z 1 , … , Z n {\displaystyle Z_{1},\ldots ,Z_{n}} を導入することにより CNF ( Z 1 ∨ ⋯ ∨ Z n ) ∧ ( ¬ Z 1 ∨ X 1 ) ∧ ( ¬ Z 1 ∨ Y 1 ) ∧ ⋯ ∧ ( ¬ Z n ∨ X n ) ∧ ( ¬ Z n ∨ Y n ) {\displaystyle (Z_{1}\vee \cdots \vee Z_{n})\wedge (\neg Z_{1}\vee X_{1})\wedge (\neg Z_{1}\vee Y_{1})\wedge \cdots \wedge (\neg Z_{n}\vee X_{n})\wedge (\neg Z_{n}\vee Y_{n})} に変換できる。この論理式は新たな変数の少なくとも 1 つが真のときにのみ成立する。 Z i {\displaystyle Z_{i}} が真のとき、 X i {\displaystyle X_{i}} と Y i {\displaystyle Y_{i}} の両方が真であり、 Z i ≡ X i ∧ Y i {\displaystyle Z_{i}\equiv X_{i}\wedge Y_{i}} を新たな変数として導入したことに相当する。この論理式が満たされるとき、元の論理式も同時に満たされる。その一方で、 Z i {\displaystyle Z_{i}} は元の論理式では使用されていないので、各 Z i {\displaystyle Z_{i}} の値は元の論理式の値とは無関係であり、変換後の論理式においてはそうではない。つまり元の論理式と変換後の論理式は、充足可能性においては等価 (英: equisatisfiable) であるが、論理的に等価 (英: equivalent) ではない。
※この「連言標準形への変換」の解説は、「連言標準形」の解説の一部です。
「連言標準形への変換」を含む「連言標準形」の記事については、「連言標準形」の概要を参照ください。
- 連言標準形への変換のページへのリンク