خوارزمية DPLL
في المنطق وعلوم الحاسوب ، تعتبر خوارزمية ديفيس-بوتنام-لوجمان-لوفلاند ( DPLL ) خوارزمية بحث كاملة تعتمد على التراجع لتحديد مدى إمكانية إرضاء صيغ المنطق الافتراضي في الشكل الطبيعي الاقتراني ، أي لحل مشكلة CNF-SAT .
طُرحت هذه الخوارزمية عام 1961 على يد مارتن ديفيس وجورج لوغيمان ودونالد دبليو لوفلاند ، وهي تطوير لخوارزمية ديفيس-بوتنام السابقة ، وهي إجراء قائم على التحليل طوّره ديفيس وهيلاري بوتنام عام 1960. في المنشورات القديمة تحديدًا، يُشار إلى خوارزمية ديفيس-لوغيمان-لوفلاند غالبًا باسم "طريقة ديفيس-بوتنام" أو "خوارزمية ديفيس-بوتنام". ومن الأسماء الشائعة الأخرى التي تحافظ على التمييز بينهما: DLL وDPLL.
التطبيقات والتنفيذات
تُعدّ مسألة SAT مهمة من الناحيتين النظرية والعملية. ففي نظرية التعقيد، كانت أول مسألة ثبت أنها من فئة NP-complete ، ويمكن أن تظهر في مجموعة واسعة من التطبيقات مثل التحقق من النماذج ، والتخطيط والجدولة الآليين ، والتشخيص في الذكاء الاصطناعي .
لذا، ظلّ تطوير برامج فعّالة لحلّ مسائل SAT موضوعًا بحثيًا لسنوات عديدة. وكان برنامج GRASP (1996-1999) من أوائل التطبيقات التي استخدمت تقنية DPLL. [ 1 ] وفي مسابقات SAT الدولية، حصدت تطبيقات تعتمد على DPLL، مثل zChaff [ 2 ] وMiniSat [ 3 ]، المراكز الأولى في مسابقات عامي 2004 و2005. [ 4 ]
ومن التطبيقات الأخرى التي غالباً ما تتضمن DPLL إثبات النظريات الآلي أو قابلية الإرضاء modulo النظريات (SMT)، وهي مشكلة SAT يتم فيها استبدال المتغيرات الافتراضية بصيغ نظرية رياضية أخرى .
الخوارزمية
تعتمد خوارزمية التراجع الأساسية على اختيار قيمة حرفية، وتعيين قيمة منطقية لها، وتبسيط الصيغة، ثم التحقق بشكل متكرر مما إذا كانت الصيغة المبسطة قابلة للتحقيق؛ فإذا كانت كذلك، تكون الصيغة الأصلية قابلة للتحقيق؛ وإلا، يُجرى نفس التحقق المتكرر بافتراض القيمة المنطقية المعاكسة. يُعرف هذا بقاعدة التقسيم ، حيث يقسم المسألة إلى مسألتين فرعيتين أبسط. وتزيل خطوة التبسيط أساسًا جميع البنود التي تصبح صحيحة عند تعيين القيمة من الصيغة، وجميع القيم الحرفية التي تصبح خاطئة من البنود المتبقية.
تتفوق خوارزمية DPLL على خوارزمية التراجع من خلال الاستخدام الدقيق للقواعد التالية في كل خطوة:
- انتشار الوحدة
- إذا كانت العبارة عبارةً أحادية ، أي أنها تحتوي على قيمة حرفية واحدة غير مُسندة، فلا يمكن تحقيق هذه العبارة إلا بإسناد القيمة اللازمة لجعل هذه القيمة الحرفية صحيحة. وبالتالي، لا حاجة للاختيار. وتتمثل عملية نشر الوحدات في إزالة كل عبارة تحتوي على القيمة الحرفية لعبارة أحادية، وحذف مُكمِّل هذه القيمة الحرفية من كل عبارة تحتوي على ذلك المُكمِّل. عمليًا، غالبًا ما يؤدي هذا إلى سلاسل حتمية من الوحدات، مما يُجنِّب جزءًا كبيرًا من مساحة البحث البسيطة.
- الاستبعاد الحرفي البحت
- إذا ظهر متغير منطقي بقطبية واحدة فقط في الصيغة، يُسمى متغيرًا نقيًا . يمكن دائمًا إسناد قيمة للمتغير النقي بطريقة تجعل جميع البنود التي تحتوي عليه صحيحة. وبالتالي، عند إسناده بهذه الطريقة، لا تُقيّد هذه البنود البحث، ويمكن حذفها.
يُكتشف عدم إمكانية تحقيق شرط جزئي معين إذا أصبح أحد بنوده فارغًا، أي إذا تم تعيين جميع متغيراته بطريقة تجعل القيم الحرفية المقابلة خاطئة. ويُكتشف إمكانية تحقيق الشرط إما عند تعيين جميع المتغيرات دون توليد البند الفارغ، أو، في التطبيقات الحديثة، عند تحقق جميع البنود. ولا يمكن اكتشاف عدم إمكانية تحقيق الشرط الكامل إلا بعد بحث شامل.
يمكن تلخيص خوارزمية DPLL في الشفرة الزائفة التالية، حيث Φ هي صيغة CNF :
خوارزمية DPLL المدخلات: مجموعة من البنود Φ. الناتج: قيمة منطقية تشير إلى ما إذا كانت Φ قابلة للتحقيق أم لا.
دالة DPLL (Φ) // انتشار الوحدة: بينما يوجد شرط وحدة { l } في Φ do Φ ← unit-propagate ( l , Φ); // الاستبعاد الحرفي البحت: بينما يوجد حرف l يحدث بشكل نقي في Φ do Φ ← pure-literal-assign ( l , Φ); // شروط التوقف: إذا كانت Φ فارغة، فأرجع القيمة true؛ وإذا كانت Φ تحتوي على عبارة فارغة، فأرجع القيمة false. // إجراء DPLL: ل ← اختيار الحرفي (Φ)؛ إرجاع DPLL (Φ ∧ {l}) أو DPLL (Φ ∧ {¬l});- يشير الرمز " ← " إلى عملية التخصيص . على سبيل المثال، " الأكبر ← عنصر " يعني أن قيمة الأكبر تتغير إلى قيمة العنصر .
- " return " ينهي الخوارزمية ويخرج القيمة التالية.
في هذه الشفرة الزائفة، تُمثل الدالتان unit-propagate(l, Φ)و pure-literal-assign(l, Φ)دالتين تُعيدان نتيجة تطبيق قاعدة نشر الوحدة وقاعدة القيمة الحرفية البحتة، على التوالي، على القيمة الحرفية lوالصيغة Φ. بعبارة أخرى، تستبدلان كل ظهور لـ lبـ "صحيح" وكل ظهور لـ not lبـ "خطأ" في الصيغة Φ، مما يُبسط الصيغة الناتجة. orفي returnالعبارة هو عامل اختصار . يُشير إلى النتيجة المُبسطة لاستبدال بـ "صحيح" في .Φ ∧ {l}lΦ
ينتهي عمل الخوارزمية في إحدى حالتين: إما أن Φتكون صيغة CNF فارغة، أي لا تحتوي على أي شرط. في هذه الحالة، تُعتبر الصيغة مُحققة بأي عملية إسناد، لأن جميع شروطها صحيحة بشكل بديهي. أما إذا احتوت الصيغة على شرط فارغ، فإن هذا الشرط يكون خاطئًا بشكل بديهي، لأن الفصل يتطلب وجود عنصر واحد على الأقل صحيح لكي تكون المجموعة ككل صحيحة. في هذه الحالة، يعني وجود مثل هذا الشرط أن الصيغة (عند تقييمها كربط لجميع الشروط) لا يمكن أن تُقيّم إلى قيمة صحيحة، وبالتالي فهي غير قابلة للتحقيق.
لا تُرجع دالة DPLL في الشفرة الزائفة سوى ما إذا كان التعيين النهائي يُحقق الصيغة أم لا. أما في التطبيق العملي، فيُعاد عادةً التعيين المُحقق جزئيًا عند النجاح؛ ويمكن استنتاج ذلك من خلال تتبع القيم الحرفية المتفرعة والتعيينات الحرفية التي تتم أثناء نشر الوحدات وحذف القيم الحرفية البحتة.
تعتمد خوارزمية ديفيس-لوغمان-لوفلاند على اختيار متغير التفرع ، وهو المتغير الذي يُؤخذ في الاعتبار في خطوة التراجع. ونتيجةً لذلك، فهي ليست خوارزميةً بالمعنى الدقيق، بل هي مجموعة من الخوارزميات، واحدة لكل طريقة ممكنة لاختيار متغير التفرع. تتأثر الكفاءة بشدة باختيار متغير التفرع: فهناك حالات يكون فيها زمن التشغيل ثابتًا أو أُسّيًا اعتمادًا على اختيار متغيرات التفرع. تُسمى دوال الاختيار هذه أيضًا بالدوال الاستدلالية أو الاستدلالات التفرعية. [ 5 ]
الإضفاء الطابع الرسمي
يمكن استخدام الترميز المماثل لحساب المتتاليات لصياغة العديد من خوارزميات إعادة الكتابة، بما في ذلك DPLL. فيما يلي القواعد الخمس التي يمكن لمحلل DPLL تطبيقها إما لإيجاد أو عدم إيجاد تعيين مُرضٍ، أي[ 6 ] [ 7 ]
إذا كان هناك بند في الصيغةيحتوي على حرف واحد غير مُخصصفي، مع ظهور جميع القيم الحرفية الأخرى في الجملة بشكل سلبي، قم بالتمديدمعتمثل هذه القاعدة فكرة أن العبارة الخاطئة حاليًا والتي تحتوي على متغير واحد غير مُحدد فقط تجبر على تعيين هذا المتغير بطريقة تجعل العبارة بأكملها صحيحة، وإلا فلن يتم استيفاء الصيغة .إذا كان حرفيًايظهر في الصيغةلكن نفيهالا يفعل، ووليسوا في، يمتدمعتمثل هذه القاعدة فكرة أنه إذا ظهر متغير ما بشكل إيجابي بحت أو سلبي بحت في صيغة ما، فيمكن تعيين جميع الحالات إلى صحيح أو خطأ لجعل عباراتها المقابلة صحيحة.إذا كان حرفيًاهو ضمن مجموعة القيم الحرفية لـولاولاهو فيثم حدد قيمة الصواب لـوتوسيعمع القرار الحرفيتمثل هذه القاعدة فكرة أنه إذا لم تكن مجبرًا على القيام بمهمة ما، فيجب عليك اختيار متغير لتعيينه وتدوين المهمة التي تم اختيارها حتى تتمكن من الرجوع إذا لم يؤد الاختيار إلى مهمة مرضية .إذا كان هناك بندهو في، ونفيهافي، ويمكن تمثيلها على النحو التاليأينثم تراجع عن طريق التعيينلتمثل هذه القاعدة فكرة أنه إذا وصلت إلى تناقض في محاولة إيجاد مهمة صالحة، فأنت بحاجة إلى العودة إلى المكان الذي اتخذت فيه قرارًا سابقًا بين مهمتين واختيار المهمة الأخرى.إذا كان هناك بندهو في، ونفيهافيولا يوجد مؤشر للصراعفيإذا لم يكن هناك أي شيء يمكن فعله بشكل مختلف في طريق الوصول إلى التناقض ، فإن خوارزمية DPLL تفشل. تمثل هذه القاعدة فكرة أنه إذا وصلت إلى تناقض ولكن لم يكن هناك أي شيء يمكنك فعله بشكل مختلف في طريقك إلى ذلك، فإن الصيغة غير قابلة للتحقيق.
التصور
قام ديفيس ولوغيمان ولوفلاند (1961) بتطوير هذه الخوارزمية. ومن خصائص هذه الخوارزمية الأصلية ما يلي:
- يعتمد ذلك على البحث.
- وهو الأساس لجميع برامج حل مسائل SAT الحديثة تقريبًا.
- لا يستخدم التعلم أو التراجع غير الزمني (الذي تم تقديمه في عام 1996).
مثال مع تصور لخوارزمية DPLL التي تتضمن التراجع الزمني:
جميع البنود التي تشكل صيغة CNF
اختر متغيرًا
اتخذ قرارًا، المتغير أ = خطأ (0)، وبالتالي تصبح العبارات الخضراء صحيحة.
بعد اتخاذ عدة قرارات، نجد رسمًا بيانيًا للتبعات يؤدي إلى تعارض.
الآن ارجع إلى المستوى المباشر وقم بتعيين قيمة معاكسة لهذا المتغير بالقوة
لكن القرار القسري لا يزال يؤدي إلى صراع آخر
ارجع إلى المستوى السابق واتخذ قرارًا قسريًا
اتخذ قرارًا جديدًا، لكنه يؤدي إلى صراع.
اتخاذ قرار قسري، لكنه يؤدي مرة أخرى إلى صراع.
العودة إلى المستوى السابق
استمر على هذا المنوال وستحصل على الرسم البياني النهائي للدلالة.
الخوارزميات ذات الصلة
منذ عام 1986، تم استخدام مخططات القرار الثنائية (المرتبة المختزلة) أيضًا لحل SAT.
في عامي 1989-1990، تم تقديم طريقة ستالمارك للتحقق من الصيغ وحصلت على براءة اختراع. وقد وجدت بعض الاستخدامات في التطبيقات الصناعية. [ 8 ]
تم توسيع نطاق DPLL لإثبات النظريات الآلي لأجزاء من منطق الرتبة الأولى عن طريق خوارزمية DPLL(T) . [ 1 ]
خلال العقد الممتد من 2010 إلى 2019، أسفرت الجهود المبذولة لتحسين الخوارزمية عن إيجاد سياسات أفضل لاختيار المتغيرات المتفرعة وهياكل بيانات جديدة لتسريع الخوارزمية، لا سيما فيما يتعلق بنشر الوحدات . ومع ذلك، تمثل التحسين الرئيسي في خوارزمية أكثر قوة، وهي خوارزمية تعلم البنود المدفوعة بالتعارض (CDCL)، والتي تشبه خوارزمية DPLL، ولكنها بعد الوصول إلى تعارض، "تتعلم" الأسباب الجذرية (القيم المُسندة إلى المتغيرات) لهذا التعارض، وتستخدم هذه المعلومات لإجراء تراجع غير زمني (يُعرف أيضًا بالقفز العكسي ) لتجنب الوصول إلى نفس التعارض مرة أخرى. وتعتمد معظم برامج حل SAT الحديثة على إطار عمل CDCL اعتبارًا من عام 2019. [ 9 ]
العلاقة بالمفاهيم الأخرى
تتوافق عمليات تشغيل الخوارزميات القائمة على DPLL على الحالات غير القابلة للإرضاء مع براهين دحض حل الشجرة. [ 10 ]
انظر أيضاً
مراجع
عام
- ديفيس، مارتن ؛ بوتنام، هيلاري (1960). "إجراء حسابي لنظرية التكميم" . مجلة ACM . 7 (3): 201-215 . doi : 10.1145/321033.321034 . S2CID 31888376 .
- ديفيس، مارتن؛ لوغيمان، جورج؛ لوفلاند، دونالد (1962). "برنامج آلي لإثبات النظريات" . مجلة اتصالات رابطة مكائن الحوسبة . 5 (7): 394-397 . doi : 10.1145/368273.368557 . hdl : 2027/mdp.39015095248095 . S2CID 15866917 .
- أويانغ، مينغ (1998). "ما مدى جودة قواعد التفرع في DPLL؟". الرياضيات التطبيقية المنفصلة . 89 ( 1-3 ): 281-286 . doi : 10.1016/S0166-218X(98)00045-6 .
- جون هاريسون (2009). دليل المنطق العملي والاستدلال الآلي . مطبعة جامعة كامبريدج. الصفحات 79-90 . ISBN 978-0-521-89957-4.
محدد
- 1 2 نيوفنهاوس، روبرت؛ أوليفرس، ألبرت؛ تينيلي، سيزار (2004)، "منطق DPLL المجرد ومنطق DPLL المجرد بنمط النظريات" (ملف PDF) ، وقائع المؤتمر الدولي حول المنطق للبرمجة والذكاء الاصطناعي والاستدلال ، LPAR 2004 ، الصفحات 36-50
- ↑ موقع zChaff الإلكتروني
- ↑ "موقع مينيسات الإلكتروني" .
- ↑ صفحة الويب الخاصة بمسابقات SAT الدولية ، sat! live
- ^ ماركيز سيلفا، جواو ب. (1999). “تأثير الاستدلالات المتفرعة في خوارزميات الرضا المقترح”. في باراهونا، بيدرو؛ ألفيريس، خوسيه ج. (محرران). التقدم في الذكاء الاصطناعي: المؤتمر البرتغالي التاسع حول الذكاء الاصطناعي، EPIA '99 إيفورا، البرتغال، 21-24 سبتمبر، 1999 وقائع . LNCS . المجلد. 1695. ص 62 – 63. دوى : 10.1007 / 3-540-48159-1_5 . رقم ISBN 978-3-540-66548-9.
- ↑ نيوفنهاوس، روبرت؛ أوليفرس، ألبرت؛ تينيلي، سيزار (2006-11-01). "حل مسائل SAT وSAT Modulo Theories: من إجراء ديفيس-بوتنام-لوجمان-لوفلاند المجرد إلى DPLL(T)" . مجلة ACM . 53 (6): 937-977 . doi : 10.1145/1217856.1217859 . ISSN 0004-5411 .
- ↑ كرستيتش، سافا؛ جويل، أميت (2007). كونيف، بوريس؛ وولتر، فرانك (محررون). "تصميم خوارزميات حل مسائل SAT Modulo Theories: Nelson-Oppen with DPLL" . آفاق أنظمة الدمج . برلين، هايدلبرغ: سبرينغر: 1-27 . doi : 10.1007/978-3-540-74621-8_1 . ISBN 978-3-540-74621-8.
- ↑ ستالمارك، ج.؛ سافلوند، م. (أكتوبر 1990). "نمذجة الأنظمة والبرمجيات والتحقق منها في منطق القضايا". مجلدات وقائع الاتحاد الدولي للتحكم الآلي . 23 (6): 31-36 . doi : 10.1016/S1474-6670(17)52173-4 .
- ↑ موهل، سيبيل؛ بير، أرمين (2019). "التراجع العكسي". نظرية وتطبيقات اختبار الإرضاء - SAT 2019 (ملف PDF) . سلسلة محاضرات في علوم الحاسوب. المجلد 11628. الصفحات 250-266 . doi : 10.1007/978-3-030-24258-9_18 . ISBN 978-3-030-24257-2. S2CID 195755607 .
- ↑ فان بيك، بيتر (2006). "خوارزميات البحث بالتراجع" . في: روسي، فرانشيسكا؛ فان بيك، بيتر؛ والش، توبي (محررون). دليل برمجة القيود . إلسيفير. ص 122. ISBN 978-0-444-52726-4.
للمزيد من القراءة
- مالاي غاني؛ آرتي غوبتا؛ د. آرتي غوبتا (2007). حلول التحقق الرسمي القابلة للتوسع القائمة على SAT . سبرينغر. ص 23-32 . ISBN 978-0-387-69166-4.
- غوميز، كارلا ب.؛ كاوتز، هنري؛ سابهاروال، أشيش؛ سيلمان، بارت (2008). "حلول قابلية الإرضاء". في: فان هارميلين، فرانك؛ ليفشيتز، فلاديمير؛ بورتر، بروس (محررون). دليل تمثيل المعرفة . أسس الذكاء الاصطناعي. المجلد 3. إلسيفير. الصفحات 89-134 . doi : 10.1016/S1574-6526(07)03002-7 . ISBN 978-0-444-52211-5.
- البرمجة المقيدة
- إثبات النظريات آلياً
- حلول SAT
