2016-12-04 3 views
-1

J'essaie de réduire les deux formules suivantes à la forme conjonctive.Convertir une formule propositionnelle en forme normale conjonctive (CNF)

J'ai utilisé la méthode/formule générale ici mais j'ai l'impression qu'il manque des étapes vitales, est-ce que je l'ai fait correctement? https://en.wikipedia.org/wiki/Conjunctive_normal_form

enter image description here

+0

Cela ne ressemble pas à une question de programmation et serait probablement un meilleur ajustement pour le [Mathematics Stack Exchange] (http://math.stackexchange.com/). –

+4

Je vote pour fermer cette question hors-sujet car il s'agit de l'algèbre booléenne/[math.se] au lieu de programmation ou de développement de logiciels. – Pang

Répondre

1

Votre première transformation est correcte, mais votre deuxième résultat (alors qu'une transformation correcte) n'est pas CNF. En outre, vous tournez en cercles avec votre transformation de la formule RHS - une fois que vous le simplifiez, vous finissez avec l'original (! A et (B ou C)). Pour obtenir le CNF, appliquez la "multiplication" distributive aux formules LHS et RHS, de sorte que votre opérateur le plus à l'extérieur devienne une conjonction, puis simplifiez les termes internes. Sachez cependant que cette conversion en CNF peut conduire à une croissance exponentielle de la formule.

Pour réduire le nombre d'étapes, vous pouvez également simplifier votre formule dans DNF plus tôt, en supprimant les termes redondants (non minimaux). Par exemple. "! A et B" est redondant puisque vous avez aussi "! A", et leur disjonction se réduit à "! A".