برمجة مجموعة الإجابات

برمجة مجموعات الإجابات ( 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 }.

يقول: اختر بشكل عشوائي أيًا من الذراتص،q،ر{\displaystyle p,q,r}لإدراجها في النموذج المستقر. يحتوي برنامج Lparse الذي يتضمن قاعدة الاختيار هذه فقط، دون غيرها من القواعد، على 8 نماذج مستقرة - مجموعات فرعية عشوائية من{ص،q،ر}{\displaystyle \{p,q,r\}}تم تعميم تعريف النموذج المستقر ليشمل البرامج ذات قواعد الاختيار. [ 11 ] ويمكن اعتبار قواعد الاختيار اختصارات للصيغ المنطقية في إطار دلالات النموذج المستقر . [ 12 ] على سبيل المثال، يمكن اعتبار قاعدة الاختيار المذكورة أعلاه اختصارًا لربط ثلاث صيغ " الوسط المرفوع ".

(ص¬ص)(q¬q)(ر¬ر).{\displaystyle (p\lor \neg p)\land (q\lor \neg q)\land (r\lor \neg r).}

تتيح لنا لغة Lparse أيضًا كتابة قواعد اختيار "مقيدة"، مثل

1 { p , q , r } 2.

تنص هذه القاعدة على: اختر ذرة واحدة على الأقلص،q،ر{\displaystyle p,q,r}، ولكن ليس أكثر من 2. يُعبَّر عن معنى هذه القاعدة في ظل دلالات النموذج المستقر بالصيغة الافتراضية.

(ص¬ص)(q¬q)(ر¬ر){\displaystyle (p\lor \neg p)\land (q\lor \neg q)\land (r\lor \neg r)}
(صqر)¬(صqر).{\displaystyle \land \,(p\lor q\lor r)\land \neg (p\land q\land r).}

يمكن استخدام حدود العددية في متن القاعدة أيضًا، على سبيل المثال:

:- 2 { p , q , r }.

تؤدي إضافة هذا القيد إلى برنامج Lparse إلى استبعاد النماذج المستقرة التي تحتوي على ذرتين على الأقل.ص،q،ر{\displaystyle p,q,r}يمكن تمثيل معنى هذه القاعدة بالصيغة المنطقية التالية

¬((صq)(صر)(qر)).{\displaystyle \neg ((p\land q)\lor (p\land r)\lor (q\land r)).}

تُستخدم المتغيرات (بحروف كبيرة، كما في لغة برولوج ) في لغة 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

تلوين الرسوم البيانية

أنن{\displaystyle n}- تلوين الرسم البيانيجي=V،هـ{\displaystyle G=\left\langle V,E\right\rangle }هي دالةجoلoر:V{1،...،ن}{\displaystyle \mathrm {color} :V\to \{1,\dots ,n\}}بحيثجoلoر(x)جoلoر(y){\displaystyle \mathrm {color} (x)\neq \mathrm {color} (y)}لكل زوج من الرؤوس المتجاورة(x،y)هـ{\displaystyle (x,y)\in E}نود استخدام ASP للعثور علىن{\displaystyle n}تلوين الرسم البياني المعطى (أو تحديد أنه غير موجود).

يمكن تحقيق ذلك باستخدام برنامج Lparse التالي:

ج ( 1. . ن ).1 { color ( X , I ) : c ( I )} 1 :- v ( X ).:- color ( X , I ), color ( Y , I ), e ( X , Y ), c ​​( I ).

السطر 1 يحدد الأرقام1،...،ن{\displaystyle 1,\dots ,n}أن تكون ألوانًا. وفقًا لقاعدة الاختيار في السطر 2، لون فريدأنا{\displaystyle i}ينبغي تعيينها لكل رأسx{\displaystyle x}يمنع القيد في السطر 3 تعيين نفس اللون للرؤوسx{\displaystyle x}وy{\displaystyle y}إذا كان هناك ضلع يربط بينهما.

إذا قمنا بدمج هذا الملف مع تعريف لـجي{\displaystyle G}، مثل

v ( 1..100 ). % 1,...,100 هي رؤوس e ( 1 , 55 ) . % يوجد ضلع من 1 إلى 55 ...

ثم قم بتشغيل برنامج smodels عليه، مع القيمة العددية لـن{\displaystyle n}إذا تم تحديدها في سطر الأوامر، فإن الذرات من الشكلجoلoر(...،...){\displaystyle \mathrm {color} (\dots ,\dots )}سيمثل الناتج في smodelsن{\displaystyle n}-تلوينجي{\displaystyle G}.

يوضح البرنامج في هذا المثال بنية "التوليد والاختبار" الشائعة في برامج ASP البسيطة. تصف قاعدة الاختيار مجموعة من "الحلول المحتملة" - وهي مجموعة فرعية بسيطة من مجموعة حلول مشكلة البحث المعطاة. يليها قيدٌ يستبعد جميع الحلول المحتملة غير المقبولة. مع ذلك، فإن عملية البحث التي تستخدمها smodels وغيرها من برامج حل مجموعات الإجابات لا تعتمد على التجربة والخطأ .

مجموعة كبيرة

الزمرة في الرسم البياني هي مجموعة من الرؤوس المتجاورة. يجد برنامج Lparse التالي زمرة بحجمن{\displaystyle \geq n}في رسم بياني موجه معين، أو يحدد أنه غير موجود:

n { in ( X ) : v ( X )}.:- في ( X في ( Y X ! = Y ، ليس e ( X ، Y ).

هذا مثال آخر على تنظيم التوليد والاختبار. قاعدة الاختيار في السطر 1 "تولد" جميع المجموعات التي تتكون منن{\displaystyle \geq n}الرؤوس. القيد في السطر 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 جميع المجموعات الجزئية من مجموعة الحواف. أما القيود الثلاثة فتستبعد المجموعات الجزئية التي لا تُمثّل دورات هاميلتونية. ويستخدم آخرها المسند المساعدر(x){\displaystyle r(x)}(""x{\displaystyle x}يمكن الوصول إليها من 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

انظر أيضاً

مراجع

  1. بارال، تشيتا (2003). تمثيل المعرفة، والاستدلال، وحل المشكلات التصريحي . مطبعة جامعة كامبريدج. ISBN 978-0-521-81802-5.
  2. جيلفوند، مايكل (2008). "مجموعات الإجابات" . في: فان هارميلين، فرانك؛ ليفشيتز، فلاديمير؛ بورتر، بروس (محررون). دليل تمثيل المعرفة . إلسيفير. ص 285-316 . ISBN  978-0-08-055702-1.تمت أرشفة الملف بصيغة PDF بتاريخ 3 مارس 2016 على موقع Wayback Machine .
  3. ديموبولوس، ي.؛ نيبيل، ب .؛ كولر، ج. (1997). "ترميز مشاكل التخطيط في برامج المنطق غير الرتيبة". في ستيل، سام؛ علمي، رشيد (محرران). التطورات الحديثة في تخطيط الذكاء الاصطناعي: المؤتمر الأوروبي الرابع للتخطيط، ECP'97، تولوز، فرنسا، 24-26 سبتمبر 1997، وقائع المؤتمر . سلسلة محاضرات في علوم الحاسوب: سلسلة محاضرات في الذكاء الاصطناعي. المجلد 1348. سبرينغر. الصفحات 273-285 . ISBN   978-3-540-63912-1.كملاحظة ختامية
  4. 1 2 3 ليفشيتز، فلاديمير (13 يوليو 2008). "ما هي برمجة مجموعة الإجابات؟" (ملف PDF) . وقائع المؤتمر الوطني الثالث والعشرين حول الذكاء الاصطناعي . 3. مطبعة AAAI: 1594-1597 .
  5. سوبرامانيان، ف.س.؛ زانيولو، س. (1995). "ربط النماذج المستقرة ومجالات تخطيط الذكاء الاصطناعي" . في: ستيرلينغ، ليون (محرر). البرمجة المنطقية: وقائع المؤتمر الدولي الثاني عشر حول البرمجة المنطقية . مطبعة معهد ماساتشوستس للتكنولوجيا. ص 233-247 . ISBN  978-0-262-69177-2.كملاحظة ختامية
  6. سوينين، ت.؛ نيميلا، إ. (1998)، صياغة معرفة التكوين باستخدام قواعد مع خيارات (ملحق) ، مختبر علوم معالجة المعلومات، جامعة هلسنكي للتكنولوجيا
  7. ماريك، ف.؛ تروسزكزينسكي، م. (20 مايو 1999). "النماذج المستقرة ونموذج بديل لبرمجة المنطق". في : آبت، كريستوف ر. (محرر). نموذج برمجة المنطق: منظور 25 عامًا (ملف PDF) . سبرينغر. ص 169-181 . arXiv : cs/9809032 . ISBN  978-3-540-65463-6.
  8. نيميلا، إ. (نوفمبر 1999). "برامج منطقية ذات دلالات نموذجية مستقرة كنموذج برمجة قيود" (Postscript، مضغوط) . حوليات الرياضيات والذكاء الاصطناعي . 25 (3/4): 241-273 . doi : 10.1023/A:1018930122475 . S2CID 14465318 . 
  9. كريك، توم (2009). التحسين الفائق: توليد الشفرة الأمثل القابل للإثبات باستخدام برمجة مجموعة الإجابات (ملف PDF) (أطروحة دكتوراه). جامعة باث. ملف رقم 20352. مؤرشف من الأصل (ملف PDF) بتاريخ 4 مارس 2016. تم الاطلاع عليه بتاريخ 27 مايو 2011 .
  10. ^ روجيليو دافيلا. "AnsProlog، نظرة عامة" (PowerPoint) .
  11. نيميلا، آي.؛ سيمونز، ب.؛ سوينين، ت. (2000). "دلالات النموذج المستقر لقواعد قيد الوزن" . في: جيلفوند، مايكل؛ ليون، نيكول؛ فايفر، جيرالد (محررون). البرمجة المنطقية والاستدلال غير الرتيب: وقائع المؤتمر الدولي الخامس، LPNMR '99، إل باسو، تكساس، الولايات المتحدة الأمريكية، 2-4 ديسمبر 1999. سلسلة محاضرات في علوم الحاسوب: محاضرات في الذكاء الاصطناعي. المجلد 1730. سبرينغر. الصفحات 317-331 . ISBN   978-3-540-66749-0.كملاحظة ختامية
  12. فيراريس، ب.؛ ليفشيتز، ف. (يناير 2005). "قيود الوزن كتعبيرات متداخلة". نظرية وممارسة البرمجة المنطقية . 5 ( 1-2 ): 45-74 . arXiv : cs/0312045 . doi : 10.1017/S1471068403001923 . S2CID 5051610 . كملاحظة ختامية
  13. "تحليل التبعية" . تم الاسترجاع في 15-04-2015 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  14. "مواصفات لغة الإدخال ASP-Core-2" (ملف PDF) . تم الاطلاع عليه بتاريخ 14 مايو 2018 .
  15. ليفيف، كلير؛ بياتريكس، كريستوفر؛ ستيفان، إيغور؛ غارسيا، لوران (مايو 2017). "ASPeRiX، منهج استدلال أمامي من الدرجة الأولى لحساب مجموعات الإجابات*" . نظرية وممارسة البرمجة المنطقية . 17 (3): 266-310 . arXiv : 1503.07717 . doi : 10.1017 /S1471068416000569 . ISSN 1471-0684 . S2CID 2371655 .  
  16. ماربل، كايل؛ غوبتا، غوبال. (2012). "غاليواسب: حلّ مجموعات الإجابات الموجّه نحو الهدف". في ألبرت، إلفيرا (محرر). توليف البرامج وتحويلها القائم على المنطق، الندوة الدولية الثانية والعشرون، LOPSTR 2012، لوفين، بلجيكا، 18-20 سبتمبر 2012، أوراق مختارة منقحة . سبرينغر. ص 122-136 . 
  17. آرياس، ج.؛ كارو، م.؛ سالازار، إ.؛ ماربل، ك.؛ غوبتا، ج. (2018). "برمجة مجموعة إجابات القيود بدون تأريض" . نظرية وممارسة البرمجة المنطقية . 18 ( 3-4 ): 337-354 . arXiv : 1804.11162 . doi : 10.1017/S1471068418000285 . S2CID 13754645 . 
  18. 1 2 "صفحة شركة DLV System" . DLVSYSTEM srl . تم الاطلاع عليها بتاريخ 16 نوفمبر 2011 .