backtracking chaining

16
ي ف ل خ ل وا ي م ما ع الأ ب ت ت ل اMuhammad siddig hassan

Upload: muhammad-hassan

Post on 18-Nov-2014

290 views

Category:

Education


2 download

DESCRIPTION

tracking goals on prolog

TRANSCRIPT

Page 1: Backtracking Chaining

والخلفي األمامي التتبع

Muhammad siddig hassan

Page 2: Backtracking Chaining

Definitions

التراجعي التسلسلBacktracking :

استدالل استراتيجية هيعن فرضية إثبات تحاول

معلومات يق طر تجميعداعمة.

Page 3: Backtracking Chaining

Definitions

التقدمي : Forward trackingالتسلسلبمجموعة تبدأ استدالل استراتيجية هو

وتشتق الحقـائق من معروفةقواعد باستخدام جديدة حقائقمـع المنطقية مقدماتها تتطابقهذه وتستمر المعروفـة الحقـائقإلى الوصول يتم حتى المعالجةتنتهي حتى أو ، الهدف حالةمقدمات تملك التـي القواعـد

مشتقة حقائق مع تتطابق منطقيةمعروفة .أو

Page 4: Backtracking Chaining

باألهداف المقاد التسلسل

فيقوم ، إثباته يريد بهدف المطابقة عملية تبدأكان ما إذا ليرى المعرفة قاعدة بفحص المترجم

قاعدة في وموجود 2 مسبقا أضيف قد الهدفالهدف. على الحصول من يتمكن لم إذا المعرفة

القواعد في الهدف وجود باختبار يقومالهدف تحتوي أكثر أو قاعدة عن والمطابقة

المطلوب

Page 5: Backtracking Chaining

الراجع التسلسل

ويرى تسلسلها حسب قاعدة كل النظام يفحصموجودة المنطقية مقدماتها كانت قاعدة إذا في

مطابقات المعرفة. النظام يجد لكلعندماالمنطقية المنطقية يـضع، المقدمات نتائجها

و في المعالجة الذاكرة النظام خالل من يكررجديدة عند ويتوقـف. دورة العمل عن النظام

ت أن يمكن جديدة قواعد وجود ستغل.عدم

Page 6: Backtracking Chaining

الخلفي التعقب تنفيذbacktracking execution

للبرولوغ يعد• المميزة الصفات أكثر من الخلفي التعقبلغة تجعلها التقليدية مطيعةوالتي اللغات من ثم أكثر ومن

ألن أسهل بشكل االسئلة أو االستفسارات معالجة يمكنالعمل . من األكبر بالجزء يقوم المترجم

األهداف • على تعمل البرولوغ كانت ما فإذا لقاعدة الفرعيةال وأخفق فإنهـا القاعدة أحدها تجعل وال مباشرة تستسلمالسابق ، تخفق الفرعي الهدف إلى الخلفي بالتعقب فتقوم

أخرى أمثلة من بديلة وتجرب تتحرك ثم المعطيات قاعدة فياألمام إلى .جديد

ثـم • القول ومـن الممكنة مكن الحلول كل تجرب البرولوغ إنل أن أتوماتيكياً .تخفق لهدفقبل

قاعدة • نفرضوجود البرولوغ لغة في الخلفي التعقب لتوضيحالحقائق المكونـة اآلتية البيانات :اآلتية من

Page 7: Backtracking Chaining

الخلفي التعقب تنفيذbacktracking execution

• location(desk, office).• location(apple, kitchen).• location(flashlight, desk).• location('washing machine', cellar).• location(nani, 'washing machine'). • location(broccoli, kitchen).• location(crackers, kitchen).• location(computer, office).

التالي • االستعالم لدينا وكان• location(apple, kitchen).

Page 8: Backtracking Chaining

الخلفي التعقب تنفيذbacktracking execution

•: ) التالي ) بالشكل الهدف االستعالم معالجة تتمقاعدة • في األولى بالجملة المترجم يبدأ

بالحقيقة االستعالم مطابقة Zمحاوال ، المعرفة - المعرفة قاعدة في هذه الموجودة وتعرف

( التوحيد بعملية - (UNIFICATIONالعملية فإذا الحقيقة إلى ينتقل المطابقة، عملية اخفقتمن األول الجزء تطابق نجد وعندها التاليةقد التوحيد عملية تكون وعندها االستفسار

ويقوم X=appleنجحت الثاني الجزء ويطابق ،القيمة . Trueبارجاع

Page 9: Backtracking Chaining

الخلفي التعقب تنفيذbacktracking execution

وتم • لالستسفار حل من أكثر وجود حالة وفيتوحيد الغاء يتم عندها االستفسار اعادة طلب

التي Xالمتغير بالجملة جديد البحثمن ويبدأ ،يبدأ أنه أي ، االستعالم حققت التي الجملة تلت

وهنا المعرفة قاعدة في التالية الحقيقة منمن المطابقة عملية وتبدأ التوحيد يخفق

الجملة حتى وتستمر ، الرابعة الجملةالسادسة:

X=broccali

Page 10: Backtracking Chaining

الخلفي التعقب تنفيذbacktracking execution

•: القواعد حالة الخلفيفي التتبع• clerk(mohamed). • clerk(adam).• typist(ali).• manager(salih). • manager(omar).• super(X,Y):- manager(X), clerk(Y).• super(X,Y):- clerk(Y), typist(Y).• super(X,Y):- manager(X), typist(Y).

التالي • االستفسار لدينا . super(Super,ali): وكان

Page 11: Backtracking Chaining

الخلفي التعقب تنفيذbacktracking execution

•: القواعد حالة الخلفيفي التتبعالجزء • أن لنجد األولى القاعدة بفحص المترجم يقوم

قاعدة في حقيقة مع تطابقه يتم القاعدة من األولقيمة manager(Xالمعرفة) أن . X=aliلنجد ولكن

القاعدة من الثاني الجزء مطابقة في يفشل المترجمclerk(Y) على المترجم Y=mohamedليحصل يبدأ وهنا ،

أخرى مرة الخلفي التتبع باستخدام المطابقة بإعادةالثانية الحقيقة إلى واالنتقال األول السؤال إلى ويرجع

manager(omer) أن الجزء. X=omarلنجد مطابقة يكرر ثمالثانية clerk(adam)الثاني للمرة الجزء هذا في ويفشل ،

جميع ألن األولى القاعدة إخفاق من التأكد يتم وهنا. . التالية للقاعدة المطابقات يكرر ثم أخفقت أجزائها

Page 12: Backtracking Chaining

القطع معامل

تمكن • البرنامج داخل اسناد عن عبارة هوويمنع البرنامج تنفيذ في التحكم من المبرمجبحيث المعلومات حفظ دون ، الخلفي التعقباستهالك حيث من فعالية اكثر البرنامج يصبح

. الذاكرة و الوقتبالرمز )!(• تمثيله ويتم•: قطع معامل توضح التالية الجملة Zمثال

Factorial (0,1).!,

Page 13: Backtracking Chaining

النموذج ً مطابقة المبنيBuilt-in pattern matching

تحـاول • من عندما التحقق إسنادية، اف هدأ البرولوغاإلسـنادية هذه تعرف التي الجمل خالل تبحث فإنها

مطابقة تجد عالمة لمتغيراتها وعندما تضع البرولوغ فإنالتـي الجملـة الهدف علـى لتحقيق ا إذ و استخدمت

ال فإن أخرى أجوبة المستخدم تستأنف برطلب ولوغالمعلم بحثهـا المكان في الجمل في

عمليـات • باسـتخدام التقليديـة اللغات في يتم وهذاIf .. Then مقارنـة

Page 14: Backtracking Chaining

•mylength([],0).•mylength([_|Tail], Len) :-• mylength(Tail, TailLen),• Len is TailLen + 1.

Page 15: Backtracking Chaining

•sum([],0).•sum([Head|Tail],X):-• sum(Tail,TailSum),• X is Head+TailSum.

Page 16: Backtracking Chaining

• road('A','C',200).• road('A','D',300).• road('C','D',100).• road('C','B',120).• road('D','B',130).• route(Town1,Town2,Dist):-• road(Town1,Town2,Dist).• route(Town1,Town2,Dis):-• road(Town1,X,Dist1),• route(X,Town2,Dist2),• Dis is Dist1+Dist2.

.route(A,B,Dist)الهدفهو •