# برمجة منطقية استقرائية

برمجة منطقية استقرائية هي مجال فرعي لذكاء الاصطناعي الرمزي الذي يستخدم البرمجة المنطقية كتمثيل موحد للمعرفة الخلفية والفرضية. اعطاء تشفير لمعرفة خلفية معروفة ومجموعة من الأمثلة تمثل قاعدة بيانات منطقية للحقائق، نظام البرمجة المنطقي الاستقرائي سيشتق برنامج منطقي افتراضي الذي يتتبع جميع الأمثلة الصحيحة وغير الصحيحة.
تفيد البرمجة المنطقية الاستقرائية خصوصا في مجال المعلوماتية الحيوية ومعالجة اللغات الطبيعية.
جوردون بلوتيكن وايهود شابيرو وضعوا الأساس الاولي النظري لتعلم الآلة الاستقرائي في إطار المنطق. Shapiro built their first implementation (Model Inference System) in 1981: برنامج برولوغ يستنتج برنامج منطقي بشكل استقرائي من الأمثلة صحيحة والخاطئة. مصطلح البرمجة المنطقية الاستقرائية كان أول ظهور له في الصحف من قبل ستيفن موغليتون في ١٩٩١
كما اسس موغليتون المؤتمر الدولي السنوي حول البرمجة المنطقية الاستقرائية، وقدم الافكار النظرية للابتكار، والحلول العكسية، التضمين العكسية أول مرة في نظام بروغول.
مصطلح استقرائي يشير هنا إلى الفلسفة (اقتراح فرضية لتفسير حقائق مرصودة).

## تعريف رسمي

تعطى المعرفة الخلفية كنظرية منطقية B، تكون بالعادة على شكل عبارات هورن التي تستخدم في البرمجة المنطقية. تعطى الامثلة الصحيحة والخاطئة كعامل $E^{+}$ and $E^{-}$ لغير المنفي والمنفي من لاتريل على التوالي. الفرضية الصحيحة h هي قضايا منطقية تحقق المتطلبات التالية:
${\begin{array}{llll}{\text{Necessity:}}&B&\not \models &E^{+}\\{\text{sufficiency:}}&B\land h&\color {blue}{\models }&E^{+}\\{\text{weak consistency:}}&B\land h&\not \models &{\textit {false}}\\{\text{strong consistency:}}&B\land h\land E^{-}&\not \models &{\textit {false}}\end{array}}$«ضرورة»(Necessity)ليس مفترض تقييدها ب h، لكن يمنع تشكيل أي فرضية طالما الحقائق الصحيحة يمكن شرحها بدونها. «كافية»(sufficiency)يتطلب تشكيل أي فرضية h لشرح كل الامثلة الصحيحة. «تناسب ضعيف»(weak consistency)يمنع تشكيل أي فرضية h تتناقض مع المعرفة الخلفية B. «تناسب قوي»(strong consistency)أيضًا يمنع تشكيل أي نظرية h تكون متعارضة مع الامثلة الخاطئة.
الخلفية المعرفية B تدل على «تناسب ضعيف»، إذا لم يعطى أي أمثلة خاطئة، كلا المتطلبان يجب ان يتزامنا. ديروسكي يتطلب فقط «كافية» (تسمى هنا «الاكتمال») و «تناسب قوي».

## نظام برمجي منطقي استقرائي

النظام البرمجي المنطقي الاستقرائي هو برنامج يأخذ كمدخلات منطقية نظرية المعرفة الخلفية والامثلة الصحيحة إضافة إلى الامثلة الخاطئة وكمخرجات فرضيات صحيحة H، خوارزمية النظام البرمجي المنطقي الاستقرائي يتكون من جزئيين هما: البحث عن الفرضية واختيار الفرضية. في البداية يتم البحث عن الفرضيات عن طريق اسلوب البرمجة المنطقية الاستقرائية، ومن ثم تشكيل مجموعة فرعية من الفرضيات (في اغلب الحالات تكون واحدة فقط) يُختر واحدة منهم عن طريق خوارزمية الاختيار. تعطي خوارزمية الاختيار نقاط للفرضيات ومن ثم ترجع الفرضية صاحبة اعلى نقاط. يشتمل أحد الأمثلة على دالة النتيجة على الحد الأدنى لطول الضغط حيث تكون الفرضية ذات تعقيد كولمغروف الأقل لها أعلى درجة ويتم إرجاعها. يكتمل نظام البرمجة المنطقي الاستقرائي إذا كان لكل إدخال نظري منطقي $B,E^{+},E^{-}$أي فرضية صحيحة H، يمكن إيجاد هذه الفرضيات من خلال إجراء بحث الفرضية.

### إيجاد الفرضيات

تجد أنظمة البرمجة المنطقية الاستقرائية الحديثة مثل برولوغ وهايل وإمبارو الفرضيات H باستخدام قاعدة التضمين العكسي لنظريات B,E,H:$B\land H\models E\iff B\land \neg E\models \neg H$. في البداية يتم بناء نظرية متوسطة F تسمى النظرية الجسر تحقق الشروط $B\land \neg E\models F$ و $F\models \neg H$. ثم بأسم $H\models \neg F$ ، يعممون النظرية المنفية للنظرية الجسر مع المضاد الاستلزام. ومع ذلك، فإن تشغيل مضاد الاستلزام نظرًا لكونه غير حتمي بدرجة كبيرة يكون أكثر تكلفة من الناحية الحسابية. لذلك، يمكن إجراء بحث عن فرضية بديلة باستخدام عملية تضمين العكسي (مضاد التضمين) بدلاً من ذلك والتي تكون أقل حتمية من عدم الاستلزام. تنشأ أسئلة حول اكتمال إجراء بحث عن فرضية لنظام معين من البرمجة المنطقية الاستقرائية على سبيل المثال، إجراء البحث عن فرضية برولوغ ب استنادًا إلى قاعدة التضمين المعكوس غير مكتمل بمثال Yamamoto. من ناحية أخرى، يكتمل إمبارو من خلال كل من إجراءات عدم الاستلزام وإجراء التضمين العكسي الموسع.

## اقرأ ايضًا

تفكير بديهي.
استقراء(منطق)
تحليل المفهوم الرسمي
البرمجة الاستقرائية
الاحتمال الاستقرائي
التعلم الإحصائي العلائقي