الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Unification In Prolog

بدأه زائر في 18 ديسمبر 2009 · 2 رد · 3,184 مشاهدة · في الذكاء الاصطناعي وتطبيقاته
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

حقيقة احترت بكيفية كتابة الموضوع لكن بالمجمل هذه لمحه بسيطه عن ال unification

ال Unification هو باختصار مايعمله ال prolog interpreter عندما تعطيه اي استعلام ..

فهو يحاول ان يجد حل لهذا الاستعلام عن طريق عمل unify بين الاستعلام query وبين الحقائق الموجوده لديه facts and rules.

فلنفرض ان لديك المعلومات التاليه :

age(ahmed,23).
age(khaled,40).
age(ahmed,30).

وتريد ان تستعلم عن عمر احمد .. ففي محرر البرولوق بتكتب التالي :

age(ahmed,X).

فالكلمات التي تبدأ بحروف كبيره هي متغيرات variables

ماعداه فهي ثوابت constants or atoms

هنا انت تطلب من البرنامج ان يبحث لك عن قيمة للمتغير X تتماشى مع المعلومات التي لديك ..

والنتيجه هي X=23

العمليه بسيطه :

1- ان كل تيرم له نفس عدد الاريقيومنت :

age(a,b) cannot be unified with age (X)

2- ان الاسم لكلاهما هو نفس الاسم :

age(a,b) cannot be unified with agee(X,Y)

3- المتغير يأخذ أي قيمه ولايستطيع ان ياخذ قيمتين مختلفتين بنفس الوقت

age(a,b) cannot be unified with age(X,X)

4- الثابت constant لا يعمله unify إلا مع نفسه

age(a,b) cannot be unified with age(b,b).

5- اذا كان احد الطرفين متغير فقيمته الجديده هي قيمة الطرف الآخر

مثال :

unify(X,f(z,b,c,d))
X=f(a,b,c,d)

في الحاله الخامسه اذا كان الطرف الآخر يحتوي على نفس المتغير في داخله فهذه سوف تنتهي بايرور .

مثال

unify(X,f(a,b,c,X))

فال X هنا هو نفسه يحمل الطرف الآخر وكل مره ينادي نفسه

لذلك هناك دالة unify_with_occurs_check في gnu prolog لمنع هذا الشئ ..

للاستزاده

http://web.uvic.ca/~ling48x/ling482/prolog/unify.html

#2

السلام عليكم ورحمة لله وبركاته

جزاك الله خير اخي عيسى شرح جميل ....

#3

بارك الله فيك أخي عيسى ،،

موضوع في نفس السياق فقط في بيئة فيجول برولوق:

Unification & Backtracking in Visual prolog

بالتوفيق،

2

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

مواضيع مشابهة