Abductive logic programming
ابڈوکٹو منطق پروگرامنگ (اے ایل پی) ایک اعلی سطحی علم کی نمائندگی کا فریم ورک ہے جسے ابڈوکٹو استدلال کی بنیاد پر مسائل کو اعلانیہ طور پر حل کرنے کے لیے استعمال کیا جا سکتا ہے۔ یہ کچھ پیش گوئیوں کو نامکمل طور پر بیان کرنے کی اجازت دے کر عام منطق پروگرامنگ میں توسیع کرتا ہے، جسے ابڈوسیبل پیش گوئیاں قرار دیا جاتا ہے۔ مسائل کو حل کرنے کے لیے مسائل کے حل کے طور پر ان ابڈوسیبل پیشن گوئی (ابڈوکٹو مفروضے) پر مفروضوں کو اخذ کرکے مسئلہ حل کیا جاتا ہے۔ یہ مسائل یا تو ایسے مشاہدات ہو سکتے ہیں جن کی وضاحت کرنے کی ضرورت ہے (جیسا کہ کلاسیکی اغوا میں) یا حاصل کیے جانے والے اہداف (جیسا کہ عام منطق پروگرامنگ میں)۔ اس کا استعمال تشخیص، منصوبہ بندی، قدرتی زبان اور مشین لرننگ کے مسائل کو حل کرنے کے لیے کیا جا سکتا ہے۔ اس کا استعمال نفی کو ناکامی کے طور پر اغوا کی استدلال کی ایک شکل کے طور پر کرنے کے لیے بھی کیا گیا ہے۔ نحو ابڈوکٹو منطق پروگراموں کے تین اجزاء ہوتے ہیں، جہاں: P بالکل اسی شکل کا منطق پروگرام ہے جیسا کہ منطق پروگرامنگ میں ہے A پیش گوئی ناموں کا ایک مجموعہ ہے، جسے ابڈوسیبل پیشن گوئی کہا جاتا ہے IC فرسٹ آرڈر کلاسیکی فارمولوں کا ایک مجموعہ ہے۔ عام طور پر، منطق پروگرام P میں کوئی ایسی شق نہیں ہوتی ہے جس کا سر (یا نتیجہ) ایک ناقابل تسخیر پیش گوئی سے مراد ہو۔ (یہ پابندی عام ہونے کے نقصان کے بغیر لگائی جا سکتی ہے۔) اس کے علاوہ عملی طور پر، کئی بار، آئی سی میں سالمیت کی رکاوٹیں اکثر انکار کی شکل تک محدود ہوتی ہیں، یعنی۔ فارم کی شقیں: غلط:-A1،..، An، B1 نہیں،..، Bm نہیں۔ اس طرح کی رکاوٹ کا مطلب یہ ہے کہ یہ ممکن نہیں ہے کہ تمام A1،.، A کا سچ ہو اور ایک ہی وقت میں تمام B1،.، Bm کا غلط ہو۔ غیر رسمی معنی اور مسئلہ حل کرنا پی کی شقوں میں غیر قابل پیش گوئیوں کے ایک سیٹ کی وضاحت کی گئی ہے اور اس کے ذریعے وہ مسئلہ کے ڈومین کی تفصیل (یا ماڈل) فراہم کرتے ہیں۔ آئی سی میں سالمیت کی رکاوٹیں مسئلہ ڈومین کی عمومی خصوصیات کی وضاحت کرتی ہیں جن کا کسی بھی مسئلے کے حل میں احترام کرنے کی ضرورت ہے۔ ایک مسئلہ، جی، جو یا تو ایک مشاہدے کا اظہار کرتا ہے جس کی وضاحت کرنے کی ضرورت ہے یا ایک مطلوبہ مقصد ہے، کی نمائندگی مثبت اور منفی (این اے ایف) لفظی کے امتزاج سے کی جاتی ہے۔ اس طرح کے مسائل کو G کی "ابڈوکٹو وضاحتیں" کا حساب لگا کر حل کیا جاتا ہے۔ کسی مسئلے G کی ابڈوکٹو وضاحت ابڈوسیبل پیشن گوئی کی مثبت (اور بعض اوقات منفی بھی) زمینی مثالوں کا ایک مجموعہ ہے، جیسے کہ، جب ان کو منطق پروگرام P میں شامل کیا جاتا ہے، تو مسئلہ G اور سالمیت کی رکاوٹیں IC دونوں برقرار رہتے ہیں۔ اس طرح ابڈوکٹو وضاحتیں ابڈوسیبل پیشن گوئی کی مکمل یا جزوی تعریفوں کے اضافے سے منطق پروگرام P کو بڑھاتی ہیں۔ اس طرح، پی اور آئی سی میں دشواری کے ڈومین کی وضاحت کے مطابق اغوا کی وضاحتیں مسئلے کا حل بناتی ہیں۔ اغوا کی وضاحتوں کے ذریعہ دی گئی مسئلہ کی تفصیل کی توسیع یا تکمیل نئی معلومات فراہم کرتی ہے، جو اب تک مسئلے کے حل میں شامل نہیں تھی۔ ایک حل کو دوسرے پر ترجیح دینے کے لیے معیار کے معیار، جو اکثر سالمیت کی رکاوٹوں کے ذریعے ظاہر کیے جاتے ہیں، کا اطلاق مسئلہ جی کی مخصوص اغوا کی وضاحتوں کو منتخب کرنے کے لیے کیا جا سکتا ہے۔ اے ایل پی میں کمپیوٹیشن عام منطق پروگرامنگ (مسائل کو ذیلی مسائل تک کم کرنے کے لیے) کی پسماندہ استدلال کو ایک قسم کی سالمیت کی جانچ کے ساتھ جوڑتا ہے تاکہ یہ ظاہر کیا جا سکے کہ اغوا کی وضاحتیں سالمیت کی رکاوٹوں کو پورا کرتی ہیں۔ مندرجہ ذیل دو مثالیں، جو اے ایل پی کے سخت نحو کے بجائے سادہ ساختہ انگریزی میں لکھی گئی ہیں، اے ایل پی میں اغوا کی وضاحت کے تصور اور مسئلہ حل کرنے سے اس کے تعلق کی وضاحت کرتی ہیں۔ مثال 1 ابڈوکٹو منطق پروگرام، مندرجہ ذیل جملوں میں ہے: اگر بارش ہو تو گھاس گیلی ہوتی ہے۔ اگر چھڑکنے والا چل رہا ہو تو گھاس گیلی ہوتی ہے۔ سورج چمک رہا تھا۔ ناقابل تسخیر پیش گوئیاں یہ ہیں کہ "بارش ہوئی" اور "چھڑکنے والا چل رہا تھا" اور سالمیت کی واحد رکاوٹ یہ ہے کہ: اگر بارش ہوئی اور سورج چمک رہا تھا تو غلط۔ یہ مشاہدہ کہ گھاس گیلی ہے، اس کی دو ممکنہ وضاحتیں ہیں، "بارش ہوئی" اور "چھڑکنے والا چل رہا تھا"، جس میں مشاہدہ شامل ہے۔ تاہم، صرف دوسری ممکنہ وضاحت، "اسپرنکلر آن تھا"، سالمیت کی رکاوٹ کو پورا کرتی ہے۔ مثال 2 مندرجہ ذیل (آسان) شقوں پر مشتمل ابڈوکٹو منطق پروگرام پر غور کریں: اگر X امریکہ میں پیدا ہوا ہے تو X ایک شہری ہے۔ X ایک شہری ہے اگر X امریکہ سے باہر پیدا ہوا ہے اور X امریکہ کا رہائشی ہے اور X قدرتی ہے۔ X ایک شہری ہے اگر X امریکہ سے باہر پیدا ہوا ہے اور Y X کی ماں ہے اور Y ایک شہری ہے اور X رجسٹرڈ ہے۔ مریم جان کی ماں ہے۔ مریم ایک شہری ہے۔ پانچ ناقابل تسخیر پیش گوئیوں کے ساتھ، "امریکہ میں پیدا ہوا ہے"، "امریکہ سے باہر پیدا ہوا ہے"، "امریکہ کا رہائشی ہے"، "نیچرلائزڈ ہے" اور "رجسٹرڈ ہے" اور سالمیت کی رکاوٹ: غلط اگر جان امریکہ کا رہائشی ہے۔ "جان شہری ہے" کے مقصد کے دو اغوا حل ہیں، جن میں سے ایک ہے "جان امریکہ میں پیدا ہوا ہے"، جس میں سے دوسرا ہے "جان امریکہ سے باہر پیدا ہوا ہے" اور "جان رجسٹرڈ ہے"۔ رہائش اور نیچرلائزیشن کے ذریعے شہری بننے کا ممکنہ حل ناکام ہو جاتا ہے کیونکہ یہ سالمیت کی رکاوٹ کی خلاف ورزی کرتا ہے۔ ایک زیادہ پیچیدہ مثال جو اے ایل پی کے زیادہ رسمی نحو میں بھی لکھی گئی ہے وہ درج ذیل ہے۔ مثال 3 ذیل میں ابڈوکٹو منطق پروگرام بیکٹیریم ای کولی کے لییکٹوز میٹابولزم کے ایک سادہ ماڈل کو بیان کرتا ہے۔ پروگرام، پی، بیان کرتا ہے (اپنے پہلے اصول میں) کہ ای کولی شوگر لییکٹوز کو کھا سکتا ہے اگر یہ دو انزائم پارمیز اور گیلیکٹوسیڈیز بناتا ہے۔ تمام انزائموں کی طرح، یہ اس صورت میں بنائے جاتے ہیں جب انہیں کسی جین (جین) کے ذریعے کوڈ کیا جاتا ہے جس کا اظہار کیا جاتا ہے (دوسرے اصول کے ذریعے بیان کیا گیا ہے)۔ پارمیز اور گیلیکٹوسیڈیز کے دو انزائموں کو دو جینوں، بالترتیب لاک (وائی) اور لاک (زیڈ) کے ذریعے کوڈ کیا جاتا ہے (پروگرام کے پانچویں اور چھٹے اصول میں بیان کیا گیا ہے)، جینوں کے ایک مجموعے میں (لاک (ایکس))-جسے آپریون کہا جاتا ہے-جس کا اظہار اس وقت ہوتا ہے جب گلوکوز کی مقدار (اے ایم ٹی) کم ہوتی ہے اور لییکٹوز زیادہ ہوتی ہے یا جب وہ دونوں درمیانی سطح پر ہوتے ہیں (چوتھا اور پانچواں اصول دیکھیں)۔ ابڈوسیبلز، اے، پیش گوئیوں "رقم" کی تمام زمینی مثالوں کو قابل فہم قرار دیتے ہیں۔ اس سے ظاہر ہوتا ہے کہ ماڈل میں کسی بھی وقت مختلف مادوں کی مقدار نامعلوم ہوتی ہے۔ یہ نامکمل معلومات ہے جس کا تعین ہر مسئلے کے معاملے میں کیا جانا ہے۔ سالمیت کی رکاوٹیں، آئی سی، بیان کرتی ہیں کہ کسی بھی مادہ (ایس) کی مقدار صرف ایک قدر لے سکتی ہے۔ ڈومین نالج (پی) فیڈ (لییکٹوز):-بنائیں (پارمیز)، بنائیں (گیلیکٹوسیڈیز)۔ میک (اینزیم):-کوڈ (جین، اینزیم)، ایکسپریس (جین)۔ اظہار (لاکھ (X)):-مقدار (گلوکوز، کم)، مقدار (لییکٹوز، ہائی)۔ ایکسپریس (لاکھ (ایکس)):-مقدار (گلوکوز، میڈیم)، مقدار (لییکٹوز، میڈیم)۔ کوڈ (لاکھ (وائی)، پارمیز)۔ کوڈ (لاک (زیڈ)، گیلیکٹوسیڈیز)۔ درجہ حرارت (کم):-مقدار (گلوکوز، کم)۔ دیانت داری کی رکاوٹیں (IC) غلط:-رقم (S، V1)، رقم (S، V2)، V1 ष्णور V2۔ ابڈوسیبلز (A) ابڈوسیبل _ پریڈیکیٹ (رقم)۔ مسئلہ کا مقصد ہے۔ یہ یا تو ایک مشاہدے کے طور پر پیدا ہو سکتا ہے جس کی وضاحت کی جانی چاہیے یا اس صورت حال کے طور پر جو منصوبہ تلاش کر کے حاصل کی جانی چاہیے۔ اس مقصد کی دو مفرور وضاحتیں ہیں: دونوں میں سے کون سا فیصلہ اپنانا ہے اس کا انحصار اضافی معلومات پر ہو سکتا ہے جو دستیاب ہے، مثال کے طور پر۔ یہ معلوم ہو سکتا ہے کہ جب گلوکوز کی سطح کم ہوتی ہے تو جاندار ایک خاص طرز عمل کا مظاہرہ کرتا ہے-ماڈل میں ایسی اضافی معلومات یہ ہے کہ جاندار کا درجہ حرارت کم ہے-اور اس کی سچائی یا جھوٹ کا مشاہدہ کرنے سے بالترتیب پہلی یا دوسری وضاحت کا انتخاب کرنا ممکن ہے۔ ایک بار وضاحت کا انتخاب ہو جانے کے بعد یہ نظریہ کا حصہ بن جاتا ہے، جسے نئے نتائج اخذ کرنے کے لیے استعمال کیا جا سکتا ہے۔ وضاحت اور زیادہ عام طور پر یہ نئے نتائج مسئلے کا حل بناتے ہیں۔ رسمی سیمنٹکس اے ایل پی میں اغوا کی وضاحت کے مرکزی تصور کے رسمی سیمنٹکس کی تعریف مندرجہ ذیل طریقے سے کی جا سکتی ہے۔ ایک ابڈوکٹو منطق پروگرام کو دیکھتے ہوئے، کسی مسئلے کے لیے ایک ابڈوکٹو وضاحت ابڈوسیبل پیش گوئیوں پر زمینی ایٹموں کا ایک مجموعہ ہے جو کہ: مستقل ہے۔ یہ تعریف منطق پروگرامنگ کے بنیادی الفاظ کے انتخاب کو کھول دیتی ہے جس کے ذریعے ہم اینٹیلمنٹ ریلیشن کا صحیح معنی اور (توسیعی) منطق پروگراموں کی مستقل مزاجی کا تصور دیتے ہیں۔ منطق پروگرامنگ کے مختلف الفاظ میں سے کوئی بھی جیسے تکمیل، مستحکم یا اچھی طرح سے قائم الفاظ (اور عملی طور پر استعمال کیے گئے ہیں) اغوا کی وضاحت کے مختلف تصورات اور اس طرح اے ایل پی فریم ورک کی مختلف شکلیں دے سکتے ہیں۔ مندرجہ بالا تعریف ممکنہ اغوا کے حل پر پابندیوں کے طور پر سالمیت کی رکاوٹوں کے کردار کو باضابطہ بنانے پر ایک خاص نظریہ رکھتی ہے۔ اس کے لیے ضروری ہے کہ یہ ایک ابڈوکٹو حل کے ساتھ توسیع شدہ منطق پروگرام کے ذریعے شامل ہوں، اس طرح اس کا مطلب یہ ہے کہ توسیعی منطق پروگرام کے کسی بھی ماڈل میں (جسے کوئی ایک آنے والی دنیا کے طور پر سمجھا جا سکتا ہے) سالمیت کی رکاوٹوں کی ضروریات کو پورا کیا جاتا ہے۔ کچھ معاملات میں یہ غیر ضروری طور پر مضبوط ہو سکتا ہے اور مستقل مزاجی کی کمزور ضرورت، یعنی جو مستقل ہے، کافی ہو سکتی ہے، جس کا مطلب ہے کہ توسیعی پروگرام کا کم از کم ایک ماڈل (ممکنہ آنے والی دنیا) موجود ہے جہاں سالمیت کی رکاوٹیں برقرار ہیں۔ عملی طور پر، بہت سے معاملات میں، سالمیت کی رکاوٹوں کے کردار کو باقاعدہ بنانے کے یہ دو طریقے منطق پروگرام کے ساتھ موافق ہوتے ہیں اور اس کی توسیع کا ہمیشہ ایک منفرد نمونہ ہوتا ہے۔ بہت سے اے ایل پی نظام سالمیت کی رکاوٹوں کے مضمر نقطہ نظر کا استعمال کرتے ہیں کیونکہ اس کو سالمیت کی رکاوٹوں کو پورا کرنے کے لیے کسی اضافی خصوصی طریقہ کار کی ضرورت کے بغیر آسانی سے نافذ کیا جا سکتا ہے کیونکہ یہ نظریہ رکاوٹوں کو اسی طرح سے پیش کرتا ہے جیسے مسئلہ کا مقصد۔ بہت سے عملی معاملات میں، اے ایل پی میں اغوا کی وضاحت کی اس رسمی تعریف میں تیسری شرط یا تو معمولی طور پر مطمئن ہوتی ہے یا یہ دوسری شرط میں مخصوص سالمیت کی رکاوٹوں کے استعمال کے ذریعے موجود ہوتی ہے جو مستقل مزاجی پر قبضہ کرتی ہیں۔ نفاذ اور نظام اے ایل پی کے زیادہ تر نفاذ منطق پروگرامنگ کے ایس ایل ڈی ریزولوشن پر مبنی کمپیوٹیشنل ماڈل کو بڑھاتے ہیں۔ اے ایل پی کو آنسر سیٹ پروگرامنگ (اے ایس پی) کے ساتھ اس کے لنک کے ذریعے بھی نافذ کیا جا سکتا ہے، جہاں اے ایس پی سسٹم کو استعمال کیا جا سکتا ہے۔ سابقہ نقطہ نظر کے نظاموں کی مثالیں ACLP، A-سسٹم، CIFF، SCIFF، ABDUAL اور ProLogICA ہیں۔ انڈکٹو منطق پروگرامنگ نوٹس حوالہ جات بیرونی لنکس ACLP ACL SCIFF نظام منطق پروگرامنگ