برمجة مجموعة الإجابات
برمجة مجموعات الإجابات ( ASP ) هي شكل من أشكال البرمجة التصريحية الموجهة نحو حل مسائل البحث المعقدة (وخاصةً مسائل NP-hard ) . وهي تعتمد على دلالات النموذج المستقر (مجموعة الإجابات) في البرمجة المنطقية . في ASP، تُختزل مسائل البحث إلى حساب نماذج مستقرة، وتُستخدم برامج حل مجموعات الإجابات - وهي برامج لتوليد نماذج مستقرة - لإجراء البحث. تُعد العملية الحسابية المستخدمة في تصميم العديد من برامج حل مجموعات الإجابات تحسينًا لخوارزمية DPLL ، وهي من حيث المبدأ تنتهي دائمًا (على عكس تقييم استعلام Prolog ، الذي قد يؤدي إلى حلقة لا نهائية ).
بمعنى أعم، يشمل ASP جميع تطبيقات مجموعات الإجابات لتمثيل المعرفة والاستدلال [ 1 ] [ 2 ] واستخدام تقييم الاستعلام على نمط Prolog لحل المشكلات الناشئة في هذه التطبيقات.
تاريخ
من الأمثلة المبكرة على برمجة مجموعات الإجابات طريقة التخطيط التي اقترحها ديموبولوس ونيبيل وكوهلر عام ١٩٩٧. [ ٣ ] [ ٤ ] يعتمد نهجهم على العلاقة بين الخطط والنماذج المستقرة. [ ٥ ] في عام ١٩٩٨، طبق سوينين ونيميلا [ ٦ ] ما يُعرف الآن ببرمجة مجموعات الإجابات على مشكلة تكوين المنتج . [ ٤ ] في عام ١٩٩٩، ظهر مصطلح "برمجة مجموعات الإجابات" لأول مرة في كتاب " نموذج البرمجة المنطقية " كعنوان لمجموعة من ورقتين بحثيتين. [ ٤ ] حددت الورقة الأولى استخدام حلول مجموعات الإجابات للبحث كنموذج برمجي جديد . [ ٧ ] في العام نفسه، اقترح نيميلا أيضًا "البرامج المنطقية ذات دلالات النموذج المستقر" كنموذج جديد. [ ٨ ]
الإجابة على مجموعة لغة البرمجة AnsProlog
Lparse هو اسم البرنامج الذي صُمم في الأصل كأداة أساسية (واجهة أمامية) لحلّ مسائل مجموعات الإجابات smodels . تُعرف اللغة التي يقبلها Lparse الآن باسم AnsProlog، [ 9 ] اختصارًا لـ Answer Set Programming in Logic . [ 10 ] تُستخدم هذه اللغة الآن بنفس الطريقة في العديد من برامج حلّ مسائل مجموعات الإجابات الأخرى، بما في ذلك assat و clasp و cmodels و gNt و nomore++ و pbmodels . ( يُعدّ dlv استثناءً؛ إذ يختلف بناء جملة برامج ASP المكتوبة لـ dlv نوعًا ما).
يتكون برنامج AnsProlog من قواعد على شكل
< الرأس > :- < الجسم > .:-يُحذف الرمز ("if") إذا <body>كانت المجموعة فارغة؛ وتُسمى هذه القواعد بالحقائق . وأبسط أنواع قواعد Lparse هي القواعد التي تتضمن قيودًا .
ومن بين المفاهيم المفيدة الأخرى التي تتضمنها هذه اللغة مفهوم الاختيار . على سبيل المثال، قاعدة الاختيار
{ p , q , r }.يقول: اختر بشكل عشوائي أيًا من الذراتلإدراجها في النموذج المستقر. يحتوي برنامج Lparse الذي يتضمن قاعدة الاختيار هذه فقط، دون غيرها من القواعد، على 8 نماذج مستقرة - مجموعات فرعية عشوائية منتم تعميم تعريف النموذج المستقر ليشمل البرامج ذات قواعد الاختيار. [ 11 ] ويمكن اعتبار قواعد الاختيار اختصارات للصيغ المنطقية في إطار دلالات النموذج المستقر . [ 12 ] على سبيل المثال، يمكن اعتبار قاعدة الاختيار المذكورة أعلاه اختصارًا لربط ثلاث صيغ " الوسط المرفوع ".
تتيح لنا لغة Lparse أيضًا كتابة قواعد اختيار "مقيدة"، مثل
1 { p , q , r } 2.تنص هذه القاعدة على: اختر ذرة واحدة على الأقل، ولكن ليس أكثر من 2. يُعبَّر عن معنى هذه القاعدة في ظل دلالات النموذج المستقر بالصيغة الافتراضية.
يمكن استخدام حدود العددية في متن القاعدة أيضًا، على سبيل المثال:
:- 2 { p , q , r }.تؤدي إضافة هذا القيد إلى برنامج Lparse إلى استبعاد النماذج المستقرة التي تحتوي على ذرتين على الأقل.يمكن تمثيل معنى هذه القاعدة بالصيغة المنطقية التالية
تُستخدم المتغيرات (بحروف كبيرة، كما في لغة برولوج ) في لغة Lparse لاختصار مجموعات القواعد التي تتبع النمط نفسه، وكذلك لاختصار مجموعات الذرات داخل القاعدة نفسها. على سبيل المثال، برنامج Lparse
p ( a ) .p ( b ) .p ( c ) .q ( X ) :-p ( X ) , X ! = a .له نفس المعنى
p ( a ) .p ( b ).p ( c ) .q ( b ) .q ( c ) .البرنامج
p ( a ).p ( b ) .p ( c ) . { q ( X ):- p ( X )} 2.هو اختصار لـ
p ( a ).p ( b ) .p ( c ) . { q ( a ), q ( b ), q ( c )} 2.يكون النطاق على الشكل التالي:
( بداية .. نهاية )حيث يمثل كل من البداية والنهاية تعبيرين حسابيين ثابتين. النطاق هو اختصار يُستخدم بشكل أساسي لتعريف المجالات العددية بطريقة متوافقة. على سبيل المثال، حقيقة
أ ( 1..3 ).هو اختصار لـ
أ ( 1 ). أ ( 2 ). أ ( 3 ).يمكن أيضًا استخدام النطاقات في نصوص القواعد بنفس الدلالات.
يكون الشرط الحرفي على الشكل التالي:
p ( X ) : q ( X )إذا كان امتداد qهو {q(a1), q(a2), ..., q(aN)}، فإن الشرط أعلاه يُكافئ دلاليًا كتابة {p(a1), p(a2), ..., p(aN)}مكان الشرط. على سبيل المثال،
q ( 1..2 ). a :- 1 { p ( X ) : q ( X )}.هو اختصار لـ
q ( 1 ).q ( 2 ) .a : -1 { p ( 1 ) , p ( 2 )}.توليد نماذج مستقرة
لإيجاد نموذج مستقر لبرنامج Lparse المخزن في الملف، ${filename}نستخدم الأمر
% lparse ${ filename } | smodels يُوجّه الخيار 0 برنامج smodels للعثور على جميع النماذج المستقرة للبرنامج. على سبيل المثال، إذا كان الملف testيحتوي على القواعد
1 { p , q , r } 2. s :- ليس p .ثم يُنتج الأمر المخرجات
% lparse test | smodels 0 الإجابة: 1 نموذج مستقر: qp الإجابة: 2 نموذج مستقر: p الإجابة: 3 نموذج مستقر: rp الإجابة: 4 نموذج مستقر: qs الإجابة: 5 نموذج مستقر: rs الإجابة: 6 نموذج مستقر: rqsأمثلة على برامج ASP
تلوين الرسوم البيانية
أن- تلوين الرسم البيانيهي دالةبحيثلكل زوج من الرؤوس المتجاورةنود استخدام ASP للعثور علىتلوين الرسم البياني المعطى (أو تحديد أنه غير موجود).
يمكن تحقيق ذلك باستخدام برنامج Lparse التالي:
ج ( 1. . ن ).1 { color ( X , I ) : c ( I )} 1 :- v ( X ).:- color ( X , I ), color ( Y , I ), e ( X , Y ), c ( I ).السطر 1 يحدد الأرقامأن تكون ألوانًا. وفقًا لقاعدة الاختيار في السطر 2، لون فريدينبغي تعيينها لكل رأسيمنع القيد في السطر 3 تعيين نفس اللون للرؤوسوإذا كان هناك ضلع يربط بينهما.
إذا قمنا بدمج هذا الملف مع تعريف لـ، مثل
v ( 1..100 ). % 1,...,100 هي رؤوس e ( 1 , 55 ) . % يوجد ضلع من 1 إلى 55 ...ثم قم بتشغيل برنامج smodels عليه، مع القيمة العددية لـإذا تم تحديدها في سطر الأوامر، فإن الذرات من الشكلسيمثل الناتج في smodels-تلوين.
يوضح البرنامج في هذا المثال بنية "التوليد والاختبار" الشائعة في برامج ASP البسيطة. تصف قاعدة الاختيار مجموعة من "الحلول المحتملة" - وهي مجموعة فرعية بسيطة من مجموعة حلول مشكلة البحث المعطاة. يليها قيدٌ يستبعد جميع الحلول المحتملة غير المقبولة. مع ذلك، فإن عملية البحث التي تستخدمها smodels وغيرها من برامج حل مجموعات الإجابات لا تعتمد على التجربة والخطأ .
مجموعة كبيرة
الزمرة في الرسم البياني هي مجموعة من الرؤوس المتجاورة. يجد برنامج Lparse التالي زمرة بحجمفي رسم بياني موجه معين، أو يحدد أنه غير موجود:
n { in ( X ) : v ( X )}.:- في ( X )، في ( Y )، X ! = Y ، ليس e ( X ، Y ).هذا مثال آخر على تنظيم التوليد والاختبار. قاعدة الاختيار في السطر 1 "تولد" جميع المجموعات التي تتكون منالرؤوس. القيد في السطر 2 "يستبعد" المجموعات التي ليست زمرًا كاملة.
دورة هاميلتون
الدورة الهاميلتونية في الرسم البياني الموجه هي دورة تمر بكل رأس من رؤوس الرسم البياني مرة واحدة فقط. يمكن استخدام برنامج Lparse التالي لإيجاد دورة هاميلتونية في رسم بياني موجه معين، إن وُجدت؛ ونفترض أن 0 هو أحد الرؤوس.
{ in ( X , Y )} :- e ( X , Y ).:- 2 { in ( X , Y ) : e ( X , Y )}, v ( X ).:- 2 { in ( X , Y ) : e ( X , Y )}, v ( Y ).r ( X ) :- in ( 0 , X ), v ( X ).r ( Y ) :- r ( X ), in ( X , Y ), e ( X , Y ).:- ليس r ( X ), v ( X ).تُولّد قاعدة الاختيار في السطر 1 جميع المجموعات الجزئية من مجموعة الحواف. أما القيود الثلاثة فتستبعد المجموعات الجزئية التي لا تُمثّل دورات هاميلتونية. ويستخدم آخرها المسند المساعد(""يمكن الوصول إليها من 0 لمنع الرؤوس التي لا تستوفي هذا الشرط. تم تعريف هذا الشرط بشكل تكراري في السطرين 6 و7.
يُعد هذا البرنامج مثالاً على التنظيم الأكثر عمومية "التوليد والتعريف والاختبار": فهو يتضمن تعريف مسند مساعد يساعدنا على استبعاد جميع الحلول المحتملة "السيئة".
تحليل التبعيات
في معالجة اللغات الطبيعية ، يمكن صياغة التحليل النحوي القائم على التبعية كمسألة ASP. [ 13 ] يقوم الكود التالي بتحليل الجملة اللاتينية "Puella pulchra in villa linguam latinam discit"، أي "الفتاة الجميلة تتعلم اللاتينية في الفيلا". يتم التعبير عن شجرة بناء الجملة بواسطة مسندات القوس التي تمثل التبعيات بين كلمات الجملة. البنية المحسوبة هي شجرة جذرية مرتبة خطيًا.
% ********** الجملة المدخلة ********** كلمة ( 1 , puella ). كلمة ( 2 ، بولشرا ). كلمة ( 3 ، في ). كلمة ( 4 ، فيلا ). كلمة ( 5 ، لغة ). كلمة ( 6 ، لاتينية ). كلمة ( 7 ، قرص ). % ********** المعجم ********** 1 { العقدة ( X , attr ( pulcher , a , fem , nom , sg )); العقدة ( X , attr ( pulcher , a , fem , abl , sg )) } 1 :- word ( X , pulchra ). العقدة ( X , attr ( latinus , a , fem , acc , sg )) :- word ( X , latinam ). 1 { عقدة ( X , attr ( puella , n , fem , nom , sg )); node ( X , attr ( puella , n , fem , abl , sg )) } 1 :- word ( X , puella ) .1 { node ( X , attr ( villa , n , fem , nom , sg )); node ( X , attr ( villa , n , fem , abl , sg )) } 1 :- word ( X)، villa ). node ( X , attr ( linguam , n , fem , acc , sg )) :- word ( X , linguam ). node ( X , attr ( discere , v , pres , 3 , sg )) :- word ( X , discit ). node ( X , attr ( in , p )) :- word ( X , in ). % ********** القواعد النحوية ********** 0 { arc ( X , Y , subj ) } 1 :- node ( X , attr ( _ , v , _ , 3 , sg )), node ( Y , attr ( _ , n , _ , nom , sg )). 0 { arc ( X , Y , dobj ) } 1 :- node ( X , attr ( _ , v , _ , 3 , sg )), node ( Y , attr ( _ , n , _ , acc , sg )). 0 { arc ( X , Y , attr ) } 1 :- node ( X , attr ( _ , n , Gender , Case , Number )), node ( Y , attr ( _ , a , Gender , Case، رقم )). 0 { قوس ( X ، Y ، prep ) } 1 :- عقدة ( X ، سمة ( _ ، p ))، عقدة ( Y ، سمة ( _ ، n ، _ ، abl ، _ ))، X < Y . 0 { قوس ( X ، Y ، adv ) } 1 :- عقدة ( X ، سمة ( _ ، v ، _ ، _ ، _ ))، عقدة ( Y ، سمة ( _ ، p ))، ليس ورقة ( Y ). % ********** ضمان شجرية الرسم البياني ********** 1 { جذر ( X ) : عقدة ( X ، _ ) } 1. :- قوس ( X ، Z ، _ )، قوس ( Y ، Z ، _ )، X ! = Y . :- قوس ( X ، Y ، L1 )، قوس ( X ، Y ، L2 )، L1 ! = L2 . المسار ( س ، ص ) :- قوس ( س ، ص ، _ ). المسار ( س ، ع ) :- قوس ( س ، ص ، _ )، المسار ( ص ، ع ). :- المسار ( س ، س ). :- جذر ( س )، عقدة ( ص)، _ ), X ! = Y ، ليس المسار ( X ، Y ). ورقة ( X ) :- عقدة ( X ، _ ), ليس القوس ( X ، _ ، _ ).توحيد اللغة ومسابقة ASP
أصدر فريق عمل توحيد معايير ASP مواصفات لغة قياسية، تُسمى ASP-Core-2، [ 14 ] والتي تتجه نحوها أنظمة ASP الحديثة. تُعد ASP-Core-2 اللغة المرجعية لمسابقة برمجة مجموعات الإجابات، حيث يتم تقييم أداء خوارزميات حل ASP دوريًا على عدد من المسائل المرجعية.
مقارنة بين التطبيقات
استخدمت الأنظمة المبكرة، مثل smodels، تقنية التراجع لإيجاد الحلول. ومع تطور نظرية وتطبيق خوارزميات حل مسائل الإرضاء المنطقي (SAT) ، تم بناء عدد من خوارزميات حل مسائل الإرضاء المنطقي (ASP) بالاعتماد على خوارزميات SAT، بما في ذلك ASSAT وCmodels. قامت هذه الخوارزميات بتحويل صيغة ASP إلى عبارات SAT، ثم طبقت خوارزمية حل SAT، ثم أعادت تحويل الحلول إلى صيغة ASP. أما الأنظمة الأحدث، مثل Clasp، فتستخدم منهجًا هجينًا، يعتمد على خوارزميات تعتمد على حل التعارضات مستوحاة من SAT، دون التحويل الكامل إلى صيغة منطقية. تتيح هذه المناهج تحسينات كبيرة في الأداء، تصل غالبًا إلى عشرة أضعاف، مقارنةً بخوارزميات التراجع السابقة.
يعمل مشروع Potassco كمظلة للعديد من الأنظمة أدناه، بما في ذلك clasp ، وأنظمة التأريض ( gringo )، والأنظمة التزايدية ( iclingo ) ، وحلول القيود ( clingcon )، ومترجمات لغة الإجراءات إلى ASP ( coala )، وتطبيقات واجهة تمرير الرسائل الموزعة ( claspar )، وغيرها الكثير.
تدعم معظم الأنظمة المتغيرات، ولكن بشكل غير مباشر فقط، عن طريق فرض التأريض، باستخدام نظام تأريض مثل Lparse أو gringo كواجهة أمامية. قد يؤدي الاحتياج إلى التأريض إلى تضخم هائل في عدد العبارات؛ لذا، قد تتمتع الأنظمة التي تُجري التأريض أثناء التشغيل بميزة. [ 15 ]
تتجنب تطبيقات البرمجة القائمة على الاستعلام لمجموعة الإجابات، مثل نظام Galliwasp [ 16 ] و s(CASP) [ 17 ] ، التأريض تمامًا باستخدام مزيج من الاستدلال والاستقراء المشترك .
| منصة | سمات | الميكانيكا | ||||||
|---|---|---|---|---|---|---|---|---|
| اسم | نظام التشغيل | رخصة | المتغيرات | رموز الدوال | المجموعات الصريحة | قوائم صريحة | الدعم الانفصالي (قواعد الاختيار) | |
| تمت أرشفة ASPeRiX بتاريخ 8 نوفمبر 2016 على موقع Wayback Machine. | لينكس | رخصة جنو العمومية | نعم | لا | التأريض الفوري | |||
| أسات | سولاريس | برامج مجانية | برنامج حل SAT | |||||
| حل مجموعة إجابات المشبك | لينكس ، ماك أو إس ، ويندوز | رخصة MIT | نعم، بلغة كلينغو | نعم | لا | لا | نعم | تدريجي، مستوحى من برنامج حل اختبار SAT (غير جيد، مدفوع بالصراع) |
| سي موديلز | لينكس ، سولاريس | رخصة جنو العمومية | يتطلب التأريض | نعم | تدريجي، مستوحى من برنامج حل اختبار SAT (غير جيد، مدفوع بالصراع) | |||
| diff-SAT | لينكس ، ماك أو إس ، ويندوز ( آلة جافا الافتراضية ) | رخصة MIT | يتطلب التأريض | نعم | مستوحى من برنامج حل أسئلة اختبار SAT (غير فعال، يعتمد على حل النزاعات). يدعم حل المسائل الاحتمالية وأخذ عينات من مجموعات الإجابات. | |||
| DLV | لينكس ، ماك أو إس ، ويندوز [ 18 ] | [ 18 ] مجاني للاستخدام الأكاديمي والتعليمي غير التجاري، وللمنظمات غير الربحية. | نعم | نعم | لا | لا | نعم | غير متوافق مع Lparse |
| مجمع دي إل في | لينكس ، ماك أو إس ، ويندوز | رخصة جنو العمومية | نعم | نعم | نعم | نعم | مبني على أساس DLV - غير متوافق مع Lparse | |
| جي إن تي | لينكس | رخصة جنو العمومية | يتطلب التأريض | نعم | مبني على أساس نماذج smodels | |||
| لا مزيد++ | لينكس | رخصة جنو العمومية | الجمع بين المعنى الحرفي والقواعد | |||||
| خلد الماء | لينكس ، سولاريس ، ويندوز | رخصة جنو العمومية | موزعة، متعددة الخيوط nomore++، smodels | |||||
| نماذج Pb | لينكس | ؟ | خوارزمية حل شبه منطقية | |||||
| عارضات الأزياء | لينكس ، ماك أو إس ، ويندوز | رخصة جنو العمومية | يتطلب التأريض | لا | لا | لا | لا | |
| تمت أرشفة Smodels-cc بتاريخ 15 نوفمبر 2015 على موقع Wayback Machine. | لينكس | ؟ | يتطلب التأريض | يعتمد على خوارزمية حل SAT؛ نماذج S مع بنود التعارض | ||||
| رشفة | لينكس | ؟ | برنامج حل SAT | |||||
انظر أيضاً
مراجع
- ↑ بارال، تشيتا (2003). تمثيل المعرفة، والاستدلال، وحل المشكلات التصريحي . مطبعة جامعة كامبريدج. ISBN 978-0-521-81802-5.
- ↑ جيلفوند، مايكل (2008). "مجموعات الإجابات" . في: فان هارميلين، فرانك؛ ليفشيتز، فلاديمير؛ بورتر، بروس (محررون). دليل تمثيل المعرفة . إلسيفير. ص 285-316 . ISBN 978-0-08-055702-1.تمت أرشفة الملف بصيغة PDF بتاريخ 3 مارس 2016 على موقع Wayback Machine .
- ↑ ديموبولوس، ي.؛ نيبيل، ب .؛ كولر، ج. (1997). "ترميز مشاكل التخطيط في برامج المنطق غير الرتيبة". في ستيل، سام؛ علمي، رشيد (محرران). التطورات الحديثة في تخطيط الذكاء الاصطناعي: المؤتمر الأوروبي الرابع للتخطيط، ECP'97، تولوز، فرنسا، 24-26 سبتمبر 1997، وقائع المؤتمر . سلسلة محاضرات في علوم الحاسوب: سلسلة محاضرات في الذكاء الاصطناعي. المجلد 1348. سبرينغر. الصفحات 273-285 . ISBN 978-3-540-63912-1.كملاحظة ختامية
- 1 2 3 ليفشيتز، فلاديمير (13 يوليو 2008). "ما هي برمجة مجموعة الإجابات؟" (ملف PDF) . وقائع المؤتمر الوطني الثالث والعشرين حول الذكاء الاصطناعي . 3. مطبعة AAAI: 1594-1597 .
- ↑ سوبرامانيان، ف.س.؛ زانيولو، س. (1995). "ربط النماذج المستقرة ومجالات تخطيط الذكاء الاصطناعي" . في: ستيرلينغ، ليون (محرر). البرمجة المنطقية: وقائع المؤتمر الدولي الثاني عشر حول البرمجة المنطقية . مطبعة معهد ماساتشوستس للتكنولوجيا. ص 233-247 . ISBN 978-0-262-69177-2.كملاحظة ختامية
- ↑ سوينين، ت.؛ نيميلا، إ. (1998)، صياغة معرفة التكوين باستخدام قواعد مع خيارات (ملحق) ، مختبر علوم معالجة المعلومات، جامعة هلسنكي للتكنولوجيا
- ↑ ماريك، ف.؛ تروسزكزينسكي، م. (20 مايو 1999). "النماذج المستقرة ونموذج بديل لبرمجة المنطق". في : آبت، كريستوف ر. (محرر). نموذج برمجة المنطق: منظور 25 عامًا (ملف PDF) . سبرينغر. ص 169-181 . arXiv : cs/9809032 . ISBN 978-3-540-65463-6.
- ↑ نيميلا، إ. (نوفمبر 1999). "برامج منطقية ذات دلالات نموذجية مستقرة كنموذج برمجة قيود" (Postscript، مضغوط) . حوليات الرياضيات والذكاء الاصطناعي . 25 (3/4): 241-273 . doi : 10.1023/A:1018930122475 . S2CID 14465318 .
- ↑ كريك، توم (2009). التحسين الفائق: توليد الشفرة الأمثل القابل للإثبات باستخدام برمجة مجموعة الإجابات (ملف PDF) (أطروحة دكتوراه). جامعة باث. ملف رقم 20352. مؤرشف من الأصل (ملف PDF) بتاريخ 4 مارس 2016. تم الاطلاع عليه بتاريخ 27 مايو 2011 .
- ^ روجيليو دافيلا. "AnsProlog، نظرة عامة" (PowerPoint) .
- ↑ نيميلا، آي.؛ سيمونز، ب.؛ سوينين، ت. (2000). "دلالات النموذج المستقر لقواعد قيد الوزن" . في: جيلفوند، مايكل؛ ليون، نيكول؛ فايفر، جيرالد (محررون). البرمجة المنطقية والاستدلال غير الرتيب: وقائع المؤتمر الدولي الخامس، LPNMR '99، إل باسو، تكساس، الولايات المتحدة الأمريكية، 2-4 ديسمبر 1999. سلسلة محاضرات في علوم الحاسوب: محاضرات في الذكاء الاصطناعي. المجلد 1730. سبرينغر. الصفحات 317-331 . ISBN 978-3-540-66749-0.كملاحظة ختامية
- ↑ فيراريس، ب.؛ ليفشيتز، ف. (يناير 2005). "قيود الوزن كتعبيرات متداخلة". نظرية وممارسة البرمجة المنطقية . 5 ( 1-2 ): 45-74 . arXiv : cs/0312045 . doi : 10.1017/S1471068403001923 . S2CID 5051610 . كملاحظة ختامية
- ↑ "تحليل التبعية" . تم الاسترجاع في 15-04-2015 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "مواصفات لغة الإدخال ASP-Core-2" (ملف PDF) . تم الاطلاع عليه بتاريخ 14 مايو 2018 .
- ↑ ليفيف، كلير؛ بياتريكس، كريستوفر؛ ستيفان، إيغور؛ غارسيا، لوران (مايو 2017). "ASPeRiX، منهج استدلال أمامي من الدرجة الأولى لحساب مجموعات الإجابات*" . نظرية وممارسة البرمجة المنطقية . 17 (3): 266-310 . arXiv : 1503.07717 . doi : 10.1017 /S1471068416000569 . ISSN 1471-0684 . S2CID 2371655 .
- ↑ ماربل، كايل؛ غوبتا، غوبال. (2012). "غاليواسب: حلّ مجموعات الإجابات الموجّه نحو الهدف". في ألبرت، إلفيرا (محرر). توليف البرامج وتحويلها القائم على المنطق، الندوة الدولية الثانية والعشرون، LOPSTR 2012، لوفين، بلجيكا، 18-20 سبتمبر 2012، أوراق مختارة منقحة . سبرينغر. ص 122-136 .
- ↑ آرياس، ج.؛ كارو، م.؛ سالازار، إ.؛ ماربل، ك.؛ غوبتا، ج. (2018). "برمجة مجموعة إجابات القيود بدون تأريض" . نظرية وممارسة البرمجة المنطقية . 18 ( 3-4 ): 337-354 . arXiv : 1804.11162 . doi : 10.1017/S1471068418000285 . S2CID 13754645 .
- 1 2 "صفحة شركة DLV System" . DLVSYSTEM srl . تم الاطلاع عليها بتاريخ 16 نوفمبر 2011 .
روابط خارجية
- البرمجة المنطقية
