الصيغة العادية للوصل

في الجبر البولياني ، تكون الصيغة في شكلها الطبيعي الاقتراني ( CNF ) أو الشكل الطبيعي الشرطي إذا كانت اقترانًا لشرط واحد أو أكثر ، حيث يكون الشرط عبارة عن فصل للمتغيرات الحرفية ؛ وبعبارة أخرى، فهي ناتج جمع أو AND لـ OR .

في إثبات النظريات الآلي ، غالبًا ما يتم استخدام مفهوم " الشكل الطبيعي الشرطي " بمعنى أضيق، مما يعني تمثيلًا معينًا لصيغة CNF كمجموعة من مجموعات من المتغيرات الحرفية.

تعريف

تُعتبر الصيغة المنطقية في صيغة CNF إذا كانت عبارة عن اقتران بين واحد أو أكثر من عمليات الفصل بين حرف واحد أو أكثر . وكما هو الحال في الصيغة العادية الفصلية (DNF)، فإن عوامل التشغيل الوحيدة في صيغة CNF هي "أو " ({\displaystyle \vee }و ({\displaystyle \land }وليس (¬{\displaystyle \neg }). لا يمكن استخدام عامل النفي إلا كجزء من قيمة حرفية، مما يعني أنه لا يمكن استخدامه إلا قبل متغير اقتراحي .

فيما يلي قواعد نحوية خالية من السياق لصيغة CNF:

CNF{\displaystyle \,\to \,}منفصل|{\displaystyle \,\mid \,}منفصل{\displaystyle \,\land \,}CNF
منفصل{\displaystyle \,\to \,}حرفي|{\displaystyle \,\mid \,}حرفي{\displaystyle \,\lor \,}منفصل
حرفي{\displaystyle \,\to \,}عامل|{\displaystyle \,\mid \,}¬{\displaystyle \,\neg \,}عامل

حيث يمثل المتغير أي متغير.

جميع الصيغ التالية في المتغيراتأ،ب،ج،د،هـ،{\displaystyle A,B,C,D,E,}وF{\displaystyle F}تكون في الصيغة العطفية العادية:

  • (أ¬ب¬ج)(¬دهـF){\displaystyle (A\lor \neg B\lor \neg C)\land (\neg D\lor E\lor F)}
  • (أب)(ج){\displaystyle (A\lor B)\land (C)}
  • (أب){\displaystyle (أ أو ب)}
  • (أ){\displaystyle (A)}

الصيغ التالية ليست في الصيغة الاقترانية العادية:

  • ¬(أب){\displaystyle \neg (A\land B)}لأن عملية AND متداخلة داخل عملية NOT
  • ¬(أب)ج{\displaystyle \neg (A\lor B)\land C}بما أن عامل "أو" متداخل داخل عامل "ليس"
  • أ(ب(دهـ)){\displaystyle A\land (B\lor (D\land E))}لأن عامل AND متداخل داخل عامل OR
  • أ(ب(جد)){\displaystyle A\land (B\lor (C\lor D))}بما أن عبارة "أو" المتداخلة يجب كتابتها بدون أقواس

التحويل إلى صيغة CNF

في المنطق الكلاسيكي، يمكن تحويل كل صيغة اقتراحية إلى صيغة مكافئة تكون في صيغة CNF. [ 1 ] يعتمد هذا التحويل على قواعد تتعلق بالتكافؤات المنطقية : حذف النفي المزدوج ، وقوانين دي مورغان ، وقانون التوزيع .

الخوارزمية الأساسية

الخوارزمية لحساب مكافئ صيغة CNF لصيغة اقتراحية معينةϕ{\displaystyle \phi }يبني على¬ϕ{\displaystyle \lnot \phi }في الصيغة الطبيعية المنفصلة (DNF) : الخطوة 1. [ 2 ] ثم¬ϕدشمالF{\displaystyle \lnot \phi _{DNF}}يتم تحويلها إلىϕجشمالF{\displaystyle \phi _{CNF}}عن طريق تبديل AND مع OR والعكس مع نفي جميع القيم الحرفية. قم بإزالة الكل¬¬{\displaystyle \lnot \lnot }[ 1 ]

التحويل بالوسائل النحوية

حوّل الصيغة الافتراضية إلى صيغة CNFϕ{\displaystyle \phi }.

الخطوة 1 : تحويل نفيها إلى الصيغة العادية المنفصلة. [ 2 ]

¬ϕدشمالF=(ج1ج2...جأنا...جم){\displaystyle \lnot \phi _{DNF}=(C_{1}\lor C_{2}\lor \ldots \lor C_{i}\lor \ldots \lor C_{m})}, [ 3 ]

حيث كلجأنا{\displaystyle C_{i}}هو ربط بين عناصر حرفيةلأنا1لأنا2...لأنانأنا{\displaystyle l_{i1}\land l_{i2}\land \ldots \land l_{in_{i}}}[ 4 ]

الخطوة الثانية : النفي¬ϕدشمالF{\displaystyle \lnot \phi _{DNF}}ثم انتقل¬{\displaystyle \lnot }إلى الداخل عن طريق تطبيق مكافئات دي مورغان (المعممة) حتى يصبح ذلك غير ممكن. ϕ¬¬ϕدشمالF=¬(ج1ج2...جأنا...جم)¬ج1¬ج2...¬جأنا...¬جم// (بشكل عام) رسالة خاصة{\displaystyle {\begin{aligned}\phi &\leftrightarrow \lnot \lnot \phi _{DNF}\\&=\lnot (C_{1}\lor C_{2}\lor \ldots \lor C_{i}\lor \ldots \lor C_{m})\\&\leftrightarrow \lnot C_{1}\land \lnot C_{2}\land \ldots \land \lnot C_{i}\land \ldots \land \lnot C_{m}&&{\text{// (generalized) DM}}\end{aligned}}} أين¬جأنا=¬(لأنا1لأنا2...لأنانأنا)(¬لأنا1¬لأنا2...¬لأنانأنا)// (بشكل عام) رسالة خاصة{\displaystyle {\begin{aligned}\lnot C_{i}&=\lnot (l_{i1}\land l_{i2}\land \ldots \land l_{in_{i}})\\&\leftrightarrow (\lnot l_{i1}\lor \lnot l_{i2}\lor \ldots \lor \lnot l_{in_{i}})&&{\text{// (generalized) DM}}\end{aligned}}}

الخطوة 3 : إزالة جميع النفي المزدوج.

مثال

حوّل الصيغة الافتراضية إلى صيغة CNF ϕ=((¬(صq))(¬ر(صq))){\displaystyle \phi =((\lnot (p\land q))\leftrightarrow (\lnot r\uparrow (p\oplus q)))}[ 5 ]

المكافئ (الكامل) لـ DNF لنفيها هو [ 2 ]¬ϕدشمالF=(صqر)(صq¬ر)(ص¬q¬ر)(¬صq¬ر){\displaystyle \lnot \phi _{DNF}=(p\land q\land r)\lor (p\land q\land \lnot r)\lor (p\land \lnot q\land \lnot r)\lor (\lnot p\land q\land \lnot r)}

ϕ¬¬ϕدشمالF=¬{(صqر)(صq¬ر)(ص¬q¬ر)(¬صq¬ر)}¬(صqر)_¬(صq¬ر)_¬(ص¬q¬ر)_¬(¬صq¬ر)_// نموذج ديناميكا الموسعة المعمم (¬ص¬q¬ر)(¬ص¬q¬¬ر)(¬ص¬¬q¬¬ر)(¬¬ص¬q¬¬ر)// نموذج ديناميكا الموسعة المعمم (4×)(¬ص¬q¬ر)(¬ص¬qر)(¬صqر)(ص¬qر)// إزالة الكل ¬¬=ϕجشمالF{\displaystyle {\begin{aligned}\phi &\leftrightarrow \lnot \lnot \phi _{DNF}\\&=\lnot \{(p\land q\land r)\lor (p\land q\land \lnot r)\lor (p\land \lnot q\land \lnot r)\lor (\lnot p\land q\land \lnot r)\}\\&\leftrightarrow {\underline {\lnot (p\land q\land r)}}\land {\underline {\lnot (p\land q\land \lnot r)}}\land {\underline {\lnot (p\land \lnot q\land \lnot r)}}\land {\underline {\lnot (\lnot p\land q\land \lnot r)}}&&{\text{// generalized D.M. }}\\&\leftrightarrow (\lnot p\lor \lnot q\lor \lnot r)\land (\lnot p\lor \lnot q\lor \lnot \lnot r)\land (\lnot p\lor \lnot \lnot q\lor \lnot \lnot r)\land (\lnot \lnot p\lor \lnot q\lor \lnot \lnot r)&&{\text{// generalized D.M. }}(4\times )\\&\leftrightarrow (\lnot p\lor \lnot q\lor \lnot r)\land (\lnot p\lor \lnot q\lor r)\land (\lnot p\lor q\lor r)\land (p\lor \lnot q\lor r)&&{\text{// remove all }}\lnot \lnot \\&=\phi _{CNF}\end{aligned}}}

التحويل بالوسائل الدلالية

يمكن اشتقاق صيغة CNF مكافئة لصيغة ما من جدول الحقيقة الخاص بها . لننظر مرة أخرى إلى الصيغة ϕ=((¬(صq))(¬ر(صq))){\displaystyle \phi =((\lnot (p\land q))\leftrightarrow (\lnot r\uparrow (p\oplus q)))}[ 5 ]

جدول الحقيقة المقابل هو

ص{\displaystyle p}q{\displaystyle q}ر{\displaystyle r}({\displaystyle (}¬{\displaystyle \lnot }(صq){\displaystyle (p\land q)}){\displaystyle )}{\displaystyle \leftrightarrow }({\displaystyle (}¬ر{\displaystyle \lnot r}{\displaystyle \uparrow }(صq){\displaystyle (p\oplus q)}){\displaystyle )}
تيتيتيFتيFFتيF
تيتيFFتيFتيتيF
تيFتيتيFتيFتيتي
تيFFتيFFتيFتي
FتيتيتيFتيFتيتي
FتيFتيFFتيFتي
FFتيتيFتيFتيF
FFFتيFتيتيتيF

مكافئ CNF لـϕ{\displaystyle \phi }يكون (¬ص¬q¬ر)(¬ص¬qر)(¬صqر)(ص¬qر){\displaystyle (\lnot p\lor \lnot q\lor \lnot r)\land (\lnot p\lor \lnot q\lor r)\land (\lnot p\lor q\lor r)\land (p\lor \lnot q\lor r)}

يعكس كل فصل تعيينًا للمتغيرات التيϕ{\displaystyle \phi } إذا كانت قيمة المتغير في مثل هذه الحالة F (خطأ).V{\displaystyle V}

  • إذا كانت القيمة T (صحيحة)، فسيتم تعيين القيمة الحرفية إلى¬V{\displaystyle \lnot V}في الانفصال،
  • إذا كانت القيمة F (خطأ)، فسيتم تعيين القيمة الحرفية إلىV{\displaystyle V}في الانفصال.

مناهج أخرى

بما أن جميع الصيغ المنطقية قابلة للتحويل إلى صيغة مكافئة في الصيغة الاقترانية العادية، فإن البراهين غالبًا ما تُبنى على افتراض أن جميع الصيغ هي صيغة اقترانية عادية. مع ذلك، في بعض الحالات، قد يؤدي هذا التحويل إلى الصيغة الاقترانية العادية إلى تضخم هائل في الصيغة. على سبيل المثال، عند ترجمة الصيغة غير الاقترانية العادية

(X1Y1)(X2Y2)...(XنYن){\displaystyle (X_{1}\wedge Y_{1})\vee (X_{2}\wedge Y_{2})\vee \ldots \vee (X_{n}\wedge Y_{n})}

ينتج عن تحويل CNF تركيبة مع2ن{\displaystyle 2^{n}}بنود:

(X1X2...Xن)(Y1X2...Xن)(X1Y2...Xن)(Y1Y2...Xن)...(Y1Y2...Yن).{\displaystyle (X_{1}\vee X_{2}\vee \ldots \vee X_{n})\wedge (Y_{1}\vee X_{2}\vee \ldots \vee X_{n})\wedge (X_{1}\vee Y_{2}\vee \ldots \vee X_{n})\wedge (Y_{1}\vee Y_{2}\vee \ldots \vee X_{n})\wedge \ldots \wedge (Y_{1}\vee Y_{2}\vee \ldots \vee Y_{n}).}

تحتوي كل جملة على إماXأنا{\displaystyle X_{i}}أوYأنا{\displaystyle Y_{i}}لكلأنا{\displaystyle i}.

توجد تحويلات إلى صيغة CNF تتجنب الزيادة الأسية في الحجم عن طريق الحفاظ على قابلية الإرضاء بدلاً من التكافؤ . [ 6 ] [ 7 ] تضمن هذه التحويلات زيادة خطية فقط في حجم الصيغة، ولكنها تُدخل متغيرات جديدة. على سبيل المثال، يمكن تحويل الصيغة أعلاه إلى صيغة CNF بإضافة متغيرات.Z1،...،Zن{\displaystyle Z_{1},\ldots ,Z_{n}}على النحو التالي:

(Z1...Zن)(¬Z1X1)(¬Z1Y1)...(¬ZنXن)(¬ZنYن).{\displaystyle (Z_{1}\vee \ldots \vee Z_{n})\wedge (\neg Z_{1}\vee X_{1})\wedge (\neg Z_{1}\vee Y_{1})\wedge \ldots \wedge (\neg Z_{n}\vee X_{n})\wedge (\neg Z_{n}\vee Y_{n}).}

لا يُحقق التفسير هذه الصيغة إلا إذا كان أحد المتغيرات الجديدة على الأقل صحيحًا. إذا كان هذا المتغيرZأنا{\displaystyle Z_{i}}ثم كلاهماXأنا{\displaystyle X_{i}}وYأنا{\displaystyle Y_{i}}صحيح أيضًا. هذا يعني أن كل نموذج يحقق هذه الصيغة يحقق أيضًا الصيغة الأصلية. من ناحية أخرى، بعض نماذج الصيغة الأصلية فقط تحقق هذه الصيغة: لأنZأنا{\displaystyle Z_{i}}إذا لم تُذكر هذه المتغيرات في الصيغة الأصلية، فإن قيمها غير ذات صلة بتحقيقها، وهو ما لا ينطبق على الصيغة الأخيرة. هذا يعني أن الصيغة الأصلية ونتيجة الترجمة قابلتان للتحقيق بنفس القدر، لكنهما ليستا متكافئتين .

تتضمن ترجمة بديلة، وهي ترجمة تسيتين ، أيضاً هذه البنود.Zأنا¬Xأنا¬Yأنا{\displaystyle Z_{i}\vee \neg X_{i}\vee \neg Y_{i}}مع هذه البنود، تشير الصيغة إلىZأناXأناYأنا{\displaystyle Z_{i}\equiv X_{i}\wedge Y_{i}}غالباً ما يُنظر إلى هذه الصيغة على أنها "تُحدد"Zأنا{\displaystyle Z_{i}}أن يكون اسمًا لـXأناYأنا{\displaystyle X_{i}\wedge Y_{i}}.

الحد الأقصى لعدد حالات الفصل

لنفترض صيغة منطقية معن{\displaystyle n}المتغيرات،ن1{\displaystyle n\geq 1}.

هناك2ن{\displaystyle 2n}القيم الحرفية المحتملة:ل={ص1،¬ص1،ص2،¬ص2،...،صن،¬صن}{\displaystyle L=\{p_{1},\lnot p_{1},p_{2},\lnot p_{2},\ldots ,p_{n},\lnot p_{n}\}}.

ل{\displaystyle L}لديه(22ن-1){\displaystyle (2^{2n}-1)}المجموعات الجزئية غير الفارغة. [ 8 ]

هذا هو الحد الأقصى لعدد حالات الفصل التي يمكن أن تحتوي عليها صيغة CNF. [ 9 ]

يمكن التعبير عن جميع تركيبات الدوال المنطقية باستخدام2ن{\displaystyle 2^{n}}الفصل المنطقي، واحد لكل صف من جدول الحقيقة. في المثال أدناه، تم وضع خط تحتها.

مثال

لنفترض صيغة بمتغيرينص{\displaystyle p}وq{\displaystyle q}.

أطول صيغة CNF ممكنة2(2×2)-1=15{\displaystyle 2^{(2\times 2)}-1=15}الانفصالات: [ 9 ](¬ص)(ص)(¬q)(q)(¬صص)(¬ص¬q)_(¬صq)_(ص¬q)_(صq)_(¬qq)(¬صص¬q)(¬صصq)(¬ص¬qq)(ص¬qq)(¬صص¬qq){\displaystyle {\begin{array}{lcl}(\lnot p)\land (p)\land (\lnot q)\land (q)\land \\(\lnot p\lor p)\land {\underline {(\lnot p\lor \lnot q)}}\land {\underline {(\lnot p\lor q)}}\land {\underline {(p\lor \lnot q)}}\land {\underline {(p\lor q)}}\land (\lnot q\lor q)\land \\(\lnot p\lor p\lor \lnot q)\land (\lnot p\lor p\lor q)\land (\lnot p\lor \lnot q\lor q)\land (p\lor \lnot q\lor q)\land \\(\lnot p\lor p\lor \lnot q\lor q)\end{array}}}

هذه الصيغة متناقضة . يمكن تبسيطها إلى(¬صص){\displaystyle (\neg p\land p)}أو إلى(¬qq){\displaystyle (\neg q\land q)}، والتي هي أيضاً تناقضات، فضلاً عن كونها صيغاً صحيحة.

التعقيد الحسابي

تتضمن مجموعة مهمة من مسائل التعقيد الحسابي إيجاد قيم مُرضية لمتغيرات صيغة منطقية مكتوبة بالصيغة الاقترانية العادية، بحيث تكون الصيغة صحيحة. تُعرف مسألة k -SAT بأنها إيجاد قيمة مُرضية لصيغة منطقية مكتوبة بالصيغة الاقترانية العادية، حيث يحتوي كل فصل على k متغير على الأكثر. تُصنف مسألة 3-SAT ضمن مسائل NP-كاملة (مثل أي مسألة k -SAT أخرى حيث k > 2)، بينما من المعروف أن مسألة 2-SAT لها حلول في زمن متعدد الحدود . ونتيجة لذلك، [ 10 ] فإن مهمة تحويل الصيغة إلى صيغة فصل عادية ، مع الحفاظ على قابلية الإرضاء، تُصنف ضمن مسائل NP-صعبة ؛ وبالمثل ، فإن التحويل إلى الصيغة الاقترانية العادية، مع الحفاظ على الصلاحية ، يُصنف أيضًا ضمن مسائل NP-صعبة؛ وبالتالي، فإن التحويل إلى الصيغة الاقترانية العادية أو الصيغة الاقترانية العادية مع الحفاظ على التكافؤ يُصنف أيضًا ضمن مسائل NP-صعبة.

تتضمن المشكلات النموذجية في هذه الحالة صيغًا من نوع "3CNF": الصيغة الاقترانية العادية التي لا يزيد عدد متغيراتها عن ثلاثة لكل اقتران. ويمكن أن تكون أمثلة هذه الصيغ التي تُصادف في الممارسة العملية كبيرة جدًا، على سبيل المثال، تحتوي على 100,000 متغير و1,000,000 اقتران.

يمكن تحويل الصيغة في CNF إلى صيغة قابلة للإرضاء في " k CNF" (لـ k 3) عن طريق استبدال كل عنصر من عناصرها بأكثر من k متغير.X1...Xك...Xن{\displaystyle X_{1}\vee \ldots \vee X_{k}\vee \ldots \vee X_{n}}بواسطة اثنين من الاقتراناتX1...Xك-1Z{\displaystyle X_{1}\vee \ldots \vee X_{k-1}\vee Z}و¬ZXك...Xن{\displaystyle \neg Z\vee X_{k}\lor \ldots \vee X_{n}}مع اعتبار Z متغيرًا جديدًا، وتكرار ذلك كلما دعت الحاجة.

منطق الرتبة الأولى

في منطق الرتبة الأولى، يمكن تطوير الصيغة الاقترانية العادية للوصول إلى الصيغة الشرطية العادية للصيغة المنطقية، والتي يمكن استخدامها بعد ذلك لإجراء عملية الاستدلال من الرتبة الأولى . في إثبات النظريات الآلي القائم على الاستدلال، تُستخدم صيغة CNF

({\displaystyle (}ل11{\displaystyle l_{11}}{\displaystyle \lor }...{\displaystyle \ldots }{\displaystyle \lor }ل1ن1{\displaystyle l_{1n_{1}}}){\displaystyle )}{\displaystyle \land }...{\displaystyle \ldots }{\displaystyle \land }({\displaystyle (}لم1{\displaystyle l_{m1}}{\displaystyle \lor }...{\displaystyle \ldots }{\displaystyle \lor }لمنم{\displaystyle l_{mn_{m}}}){\displaystyle )}[ 11 ] يتم تمثيلها عادةً كمجموعة من المجموعات
{{\displaystyle \{}{{\displaystyle \{}ل11{\displaystyle l_{11}}،{\displaystyle ,}...{\displaystyle \ldots }،{\displaystyle ,}ل1ن1{\displaystyle l_{1n_{1}}}}{\displaystyle \}}،{\displaystyle ,}...{\displaystyle \ldots }،{\displaystyle ,}{{\displaystyle \{}لم1{\displaystyle l_{m1}}،{\displaystyle ,}...{\displaystyle \ldots }،{\displaystyle ,}لمنم{\displaystyle l_{mn_{m}}}}{\displaystyle \}}}{\displaystyle \}}.

انظر أدناه للحصول على مثال.

التحويل من منطق الرتبة الأولى

لتحويل منطق الرتبة الأولى إلى صيغة CNF: [ 12 ]

  1. حوّل إلى الصيغة العادية للنفي .
    1. تخلص من التداعيات والمعادلات: استبدل بشكل متكررPسؤال{\displaystyle P\rightarrow Q}مع¬Pسؤال{\displaystyle \lnot P\lor Q}؛ يستبدلPسؤال{\displaystyle P\leftrightarrow Q}مع(P¬سؤال)(¬Pسؤال){\displaystyle (P\lor \lnot Q)\land (\lnot P\lor Q)}وفي نهاية المطاف، سيؤدي هذا إلى القضاء على جميع حالات حدوث{\displaystyle \rightarrow }و{\displaystyle \leftrightarrow }.
    2. انقل عبارات النفي إلى الداخل بتطبيق قانون دي مورغان بشكل متكرر . تحديدًا، استبدل¬(Pسؤال){\displaystyle \lnot (P\lor Q)}مع(¬P)(¬سؤال){\displaystyle (\lnot P)\land (\lnot Q)}؛ يستبدل¬(Pسؤال){\displaystyle \lnot (P\land Q)}مع(¬P)(¬سؤال){\displaystyle (\lnot P)\lor (\lnot Q)}واستبدل¬¬P{\displaystyle \lnot \lnot P}معP{\displaystyle P}؛ يستبدل¬(xP(x)){\displaystyle \lnot (\forall xP(x))}معx¬P(x){\displaystyle \exists x\lnot P(x)}؛¬(xP(x)){\displaystyle \lnot (\exists xP(x))}معx¬P(x){\displaystyle \forall x\lnot P(x)}بعد ذلك،¬{\displaystyle \lnot }قد يحدث ذلك فقط قبل رمز المسند مباشرة.
  2. توحيد المتغيرات
    1. بالنسبة للجمل مثل(xP(x))(xسؤال(x)){\displaystyle (\forall xP(x))\lor (\exists xQ(x))}في حال استخدام نفس اسم المتغير مرتين، قم بتغيير اسم أحد المتغيرين. هذا يمنع حدوث لبس لاحقاً عند حذف المحددات الكمية. على سبيل المثال،x[yأنأنامأل(y)¬لovهـs(x،y)][yلovهـs(y،x)]{\displaystyle \forall x[\exists y\mathrm {Animal} (y)\land \lnot \mathrm {Loves} (x,y)]\lor [\exists y\mathrm {Loves} (y,x)]}تمت إعادة تسميته إلىx[yأنأنامأل(y)¬لovهـs(x،y)][zلovهـs(z،x)]{\displaystyle \forall x[\exists y\mathrm {Animal} (y)\land \lnot \mathrm {Loves} (x,y)]\lor [\exists z\mathrm {Loves} (z,x)]}.
  3. سكولمايز البيان
    1. انقل المحددات الكمية إلى الخارج: استبدلها بشكل متكررP(xسؤال(x)){\displaystyle P\land (\forall xQ(x))}معx(Pسؤال(x)){\displaystyle \forall x(P\land Q(x))}؛ يستبدلP(xسؤال(x)){\displaystyle P\lor (\forall xQ(x))}معx(Pسؤال(x)){\displaystyle \forall x(P\lor Q(x))}؛ يستبدلP(xسؤال(x)){\displaystyle P\land (\exists xQ(x))}معx(Pسؤال(x)){\displaystyle \exists x(P\land Q(x))}؛ يستبدلP(xسؤال(x)){\displaystyle P\lor (\exists xQ(x))}معx(Pسؤال(x)){\displaystyle \exists x(P\lor Q(x))}تحافظ هذه الاستبدالات على التكافؤ، لأن خطوة توحيد المتغيرات السابقة ضمنت ذلك.x{\displaystyle x}لا يحدث فيP{\displaystyle P}بعد هذه الاستبدالات، قد يظهر المُكمِّم فقط في البادئة الأولية للصيغة، ولكن ليس داخلها أبدًا.¬{\displaystyle \lnot }،{\displaystyle \land }، أو{\displaystyle \lor }.
    2. استبدل بشكل متكررx1...xنyP(y){\displaystyle \forall x_{1}\ldots \forall x_{n}\;\exists y\;P(y)}معx1...xنP(و(x1،...،xن)){\displaystyle \forall x_{1}\ldots \forall x_{n}\;P(f(x_{1},\ldots ,x_{n}))}، أينو{\displaystyle f}هو جديدن{\displaystyle n}رمز الدالة -ary، ما يُسمى " دالة سكوليم ". هذه هي الخطوة الوحيدة التي تحافظ على قابلية الإرضاء فقط بدلاً من التكافؤ. وهي تُزيل جميع المُكمِّمات الوجودية.
  4. احذف جميع أدوات التحديد الكمي الشاملة.
  5. قم بتوزيع عمليات OR داخليًا على عمليات AND: استبدل بشكل متكررP(سؤالR){\displaystyle P\lor (Q\land R)}مع(Pسؤال)(PR){\displaystyle (P\lor Q)\land (P\lor R)}.

مثال

على سبيل المثال، يتم تحويل الصيغة التي تقول "أي شخص يحب جميع الحيوانات، يحبه شخص ما بدوره" إلى صيغة CNF (ثم إلى صيغة جملة في السطر الأخير) كما يلي (مع تسليط الضوء على قواعد الاستبدال فيأحمر{\displaystyle {\color {red}{\text{red}}}}):

x{\displaystyle \forall x}({\displaystyle (}y{\displaystyle \forall y}أنأنامأل({\displaystyle \mathrm {Animal} (}y{\displaystyle y}){\displaystyle )}{\displaystyle \color {red}\rightarrow }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}y{\displaystyle y}){\displaystyle )}){\displaystyle )}{\displaystyle \rightarrow }({\displaystyle (}{\displaystyle \exists }y{\displaystyle y}لovهـs({\displaystyle \mathrm {Loves} (}y{\displaystyle y}،x){\displaystyle ,x)}){\displaystyle )}
x{\displaystyle \forall x}({\displaystyle (}y{\displaystyle \forall y}¬{\displaystyle \lnot }أنأنامأل({\displaystyle \mathrm {Animal} (}y{\displaystyle y}){\displaystyle )}{\displaystyle \lor }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}y{\displaystyle y}){\displaystyle )}){\displaystyle )}{\displaystyle \color {red}\rightarrow }({\displaystyle (}{\displaystyle \exists }y{\displaystyle y}لovهـs({\displaystyle \mathrm {Loves} (}y{\displaystyle y}،x){\displaystyle ,x)}){\displaystyle )}بمقدار 1.1
x{\displaystyle \forall x}¬{\displaystyle \color {red}\lnot }({\displaystyle (}y{\displaystyle {\color {red}{\forall y}}}¬{\displaystyle \lnot }أنأنامأل({\displaystyle \mathrm {Animal} (}y{\displaystyle y}){\displaystyle )}{\displaystyle \lor }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}y{\displaystyle y}){\displaystyle )}){\displaystyle )}{\displaystyle \lor }({\displaystyle (}{\displaystyle \exists }y{\displaystyle y}لovهـs({\displaystyle \mathrm {Loves} (}y{\displaystyle y}،x){\displaystyle ,x)}){\displaystyle )}بمقدار 1.1
x{\displaystyle \forall x}({\displaystyle (}y{\displaystyle \exists y}¬{\displaystyle \color {red}\lnot }({\displaystyle (}¬{\displaystyle \lnot }أنأنامأل({\displaystyle \mathrm {Animal} (}y{\displaystyle y}){\displaystyle )}{\displaystyle \color {red}\lor }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}y{\displaystyle y}){\displaystyle )}){\displaystyle )}){\displaystyle )}{\displaystyle \lor }({\displaystyle (}{\displaystyle \exists }y{\displaystyle y}لovهـs({\displaystyle \mathrm {Loves} (}y{\displaystyle y}،x){\displaystyle ,x)}){\displaystyle )}بمقدار 1.2
x{\displaystyle \forall x}({\displaystyle (}y{\displaystyle \exists y}¬{\displaystyle \color {red}\lnot }¬{\displaystyle \color {red}\lnot }أنأنامأل({\displaystyle \mathrm {Animal} (}y{\displaystyle y}){\displaystyle )}{\displaystyle \land }¬{\displaystyle \lnot }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}y{\displaystyle y}){\displaystyle )}){\displaystyle )}{\displaystyle \lor }({\displaystyle (}{\displaystyle \exists }y{\displaystyle y}لovهـs({\displaystyle \mathrm {Loves} (}y{\displaystyle y}،x){\displaystyle ,x)}){\displaystyle )}بمقدار 1.2
x{\displaystyle \forall x}({\displaystyle (}y{\displaystyle {\color {red}{\exists y}}}أنأنامأل({\displaystyle \mathrm {Animal} (}y{\displaystyle y}){\displaystyle )}{\displaystyle \land }¬{\displaystyle \lnot }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}y{\displaystyle y}){\displaystyle )}){\displaystyle )}{\displaystyle \lor }({\displaystyle (}{\displaystyle \color {red}\exists }y{\displaystyle \color {red}y}لovهـs({\displaystyle \mathrm {Loves} (}y{\displaystyle y}،x){\displaystyle ,x)}){\displaystyle )}بمقدار 1.2
x{\displaystyle \forall x}({\displaystyle (}y{\displaystyle \exists y}أنأنامأل({\displaystyle \mathrm {Animal} (}y{\displaystyle y}){\displaystyle )}{\displaystyle \land }¬{\displaystyle \lnot }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}y{\displaystyle y}){\displaystyle )}){\displaystyle )}{\displaystyle \color {red}\lor }({\displaystyle (}{\displaystyle \color {red}\exists }z{\displaystyle \color {red}z}لovهـs({\displaystyle \mathrm {Loves} (}z{\displaystyle z}،x){\displaystyle ,x)}){\displaystyle )}بواسطة 2
x{\displaystyle \forall x}z{\displaystyle \exists z}({\displaystyle (}y{\displaystyle {\color {red}{\exists y}}}أنأنامأل({\displaystyle \mathrm {Animal} (}y{\displaystyle y}){\displaystyle )}{\displaystyle \land }¬{\displaystyle \lnot }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}y{\displaystyle y}){\displaystyle )}){\displaystyle )}{\displaystyle \color {red}\lor }لovهـs({\displaystyle \mathrm {Loves} (}z{\displaystyle z}،x){\displaystyle ,x)}3.1
x{\displaystyle \forall x}z{\displaystyle {\color {red}{\exists z}}}y{\displaystyle \exists y}({\displaystyle (}أنأنامأل({\displaystyle \mathrm {Animal} (}y{\displaystyle y}){\displaystyle )}{\displaystyle \land }¬{\displaystyle \lnot }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}y{\displaystyle y}){\displaystyle )}){\displaystyle )}{\displaystyle \lor }لovهـs({\displaystyle \mathrm {Loves} (}z{\displaystyle z}،x){\displaystyle ,x)}3.1
x{\displaystyle \forall x}y{\displaystyle {\color {red}{\exists y}}}({\displaystyle (}أنأنامأل({\displaystyle \mathrm {Animal} (}y{\displaystyle y}){\displaystyle )}{\displaystyle \land }¬{\displaystyle \lnot }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}y{\displaystyle y}){\displaystyle )}){\displaystyle )}{\displaystyle \lor }لovهـs({\displaystyle \mathrm {Loves} (}ز(x){\displaystyle g(x)}،x){\displaystyle ,x)}بمقدار 3.2
({\displaystyle (}أنأنامأل({\displaystyle \mathrm {Animal} (}و(x){\displaystyle f(x)}){\displaystyle )}{\displaystyle \color {red}\land }¬{\displaystyle \lnot }لovهـs(x،{\displaystyle \mathrm {Loves} (x,}و(x){\displaystyle f(x)}){\displaystyle )}){\displaystyle )}{\displaystyle \color {red}\lor }لovهـs({\displaystyle \mathrm {Loves} (}ز(x){\displaystyle g(x)}،x){\displaystyle ,x)}بحلول الساعة الرابعة
({\displaystyle (}أنأنامأل({\displaystyle \mathrm {Animal} (}و(x){\displaystyle f(x)}){\displaystyle )}{\displaystyle \color {red}\lor }لovهـs({\displaystyle \mathrm {Loves} (}ز(x){\displaystyle g(x)}،x){\displaystyle ,x)}){\displaystyle )}{\displaystyle \color {red}\land }({\displaystyle (}¬لovهـs(x،و(x)){\displaystyle \lnot \mathrm {Loves} (x,f(x))}{\displaystyle \color {red}\lor }لovهـs(ز(x)،x){\displaystyle \mathrm {Loves} (g(x),x)}){\displaystyle )}بحلول الساعة الخامسة
{{\displaystyle \{}{{\displaystyle \{}أنأنامأل({\displaystyle \mathrm {Animal} (}و(x){\displaystyle f(x)}){\displaystyle )}،{\displaystyle ,}لovهـs({\displaystyle \mathrm {Loves} (}ز(x){\displaystyle g(x)}،x){\displaystyle ,x)}}{\displaystyle \}}،{\displaystyle ,}{{\displaystyle \{}¬لovهـs(x،و(x)){\displaystyle \lnot \mathrm {Loves} (x,f(x))}،{\displaystyle ,}لovهـs(ز(x)،x){\displaystyle \mathrm {Loves} (g(x),x)}}{\displaystyle \}}}{\displaystyle \}}( تمثيل البند )

بشكل غير رسمي، دالة سكوليمز(x){\displaystyle g(x)}يمكن اعتبار ذلك بمثابة تنازل من قبل الشخص الذيx{\displaystyle x}محبوب، بينماو(x){\displaystyle f(x)}ينتج عنه الحيوان (إن وجد) الذيx{\displaystyle x}لا يحب. ثم يُقرأ السطر الثالث من الأسفل على النحو التالي: "x{\displaystyle x}لا يحب الحيوانو(x){\displaystyle f(x)}أو غير ذلكx{\displaystyle x}محبوب من قبلز(x){\displaystyle g(x)}" .

السطر قبل الأخير من الأعلى،(أنأنامأل(و(x))لovهـs(ز(x)،x))(¬لovهـs(x،و(x))لovهـs(ز(x)،x)){\displaystyle (\mathrm {Animal} (f(x))\lor \mathrm {Loves} (g(x),x))\land (\lnot \mathrm {Loves} (x,f(x))\lor \mathrm {Loves} (g(x),x))}، هو الصيغة المشتركة للصيغة.

انظر أيضاً

ملحوظات

  1. 1 2 هاوسون 2005 ، ص. 46.
  2. ١ ٢ ٣ انظر الشكل الطبيعي المنفصل §  التحويل إلى DNF
  3. 1م{\displaystyle 1\leq m\leq }الحد الأقصى لعدد الروابط لـϕ{\displaystyle \phi }
  4. 1أنانأنا{\displaystyle 1\leq in_{i}\leq }الحد الأقصى لعدد المتغيرات الحرفية لـϕ{\displaystyle \phi }
  5. 1 2ϕ{\displaystyle \phi }= (( ليس (p AND q)) IFF (( ليس r) NAND (p XOR q)))
  6. تسيتين 1968 .
  7. جاكسون وشيريدان 2004 .
  8. |P(ل)|=22ن{\displaystyle \left|{\mathcal {P}}(L)\right|=2^{2n}}
  9. 1 2 يُفترض أن التكرارات والاختلافات (مثل(أب)(بأ)(أبب){\displaystyle (a\land b)\lor (b\land a)\lor (a\land b\land b)}) بناءً على خاصيتي التبادل والتجميع لـ{\displaystyle \lor }و{\displaystyle \land }لا يحدث ذلك.
  10. بما أن إحدى طرق التحقق من قابلية إرضاء صيغة CNF هي تحويلها إلى صيغة DNF ، والتي يمكن التحقق من قابلية إرضائها في وقت خطي
  11. 1م{\displaystyle 1\leq m\leq }الحد الأقصى لعدد حالات الفصل1أنانأنا{\displaystyle 1\leq in_{i}\leq }الحد الأقصى لعدد الأحرف
  12. راسل ونورفيج 2010 ، ص 345-347، 9.5.1 الشكل الطبيعي الاقتراني لمنطق الرتبة الأولى.

مراجع