decision support systems (ch10) prolog
TRANSCRIPT
مقدمةPROgramming)اختصارهي(PROLOG)البرولوجلغة• in LOGic)
نأليدعىبفرنسامرسيليابجامعةأستاذاللغةهذهوصمم.المنطقيةالبرمجةأيAlan)كولمرير Colmeraur)معاملفيمحصوراالبرولوجلغةاستخداموظل
1981أكتوبرحتىأوروبابقارةاالصطناعيالذكاءأبحاث
Logic)المنطقيةالبرمجةمفهومعلىالبرولوجلغةوتعتمد• Programming),(Objects)أشياءعلىتحتوي(Statement)جملمعتتعاملوالتي
.الجملةوبينبينهاتربطالتي(Relationships)والعالقات
مثال
وتمثل(Predicate)بالمسند(Professor)كلمةتسمىالجملةهذهفي(Ali)أستاذهو(Mohammad)انحيث،المعامالتبينالعالقة
وتجميعاألشياءبينالعالقاتبتمثيلللمبرمجتسمحالبرولوجلغةفإنهذاوعلىلتياالحقائقمنمنطقياستنتاجإلىالوصوليمكنحتىالعالقاتهذهوتنظيمالتيوسيالباسكالمثلالتقليديةاللغاتعكسعلىوذلك.العالقاتتلكتمثلها.إتباعهايجبالتيالتفصيليةالخطواتكتابةالمبرمجمنتطلب
Professor (Mohammad, Ali).
البرولوجبرنامج
الحقائقمنعددبإستخدامالمشكلةوصفالحاسببإعطاءالبرولوجبرنامجيقوم
"Facts"والقواعد"Rules"المحتملةالحلولكلايجادعنالحاسبيسألثم
.للمشكلة
:لبرمجة بلغة البرولوج إلى ثالثة مراحل هيوتنقسم ا
.والعالقات التي تربط بينها(Objects)إعالن الحقائق عن األشياء 1.
.بينهااألشياء والعالقات التي تربط هذه التي تحكم ( Rules)تعريف القواعد 2.
.عن األشياء والعالقات التي تربطهااالستعالم3.
ملحوظه
ألشياءاعنالسؤاليمكنحيثمباشرةاألوليالمرحلةبعدالثالثةالمرحلةتأتيأنيمكن
.قواعدأيتطبيقدون
:عنهاوالسؤالالحقائقعناإلعالنكيفية
ياءاألشتحديدأواليجبالبرولوجبرنامجفيالحقائقعناإلعالن
(Objects)هناككانتإذافمثال.الحقائقتلكتمثلالتيوالعالقات
Likes).تقولحقيقة (ali , Mohamedهذهفيفاألشياء
Ali)األسماءهيالحقيقة , Mohamed)فهيبينهماالعالقةأما
(Likes)بالمسندوتسمى(Predicate)تتعلقالتيالصفةأي
هذهلولتمثي.اكثرأوشيئينبينتربطالتيالعالقةأومابشيء
:كاآلتيتكتبالبرولوجبرنامجفيالحقيقة
likes ( ali , mohamed(.
Small)الصغيرةبالحروفوالعالقاتاألشياءأسماءكتابةيتم• Letters)التياألسماءألنوذلك
Capital)الكبيرةبالحروفتبدأ Letters)بالحرفأو(Underscore يعتبرها((_)
أنبمعنىاألشياءأسماءترتيبباختالفالحقيقةوتختلف.(Variable)متغيراتالبرولوج
likes ( ali , mohamed).عنتختلفlikes (mohamed, ali).اإلعالنوينتهي
.آخرهافي(.)نقطةبوضعالحقيقةعن
likesالتعبيرعلىويطلق• ( ali , mohamed).العبارةلفظالبرولوجلغةفي(Clause)
مناكثرأوعبارةإلى(العربيةأواإلنجليزية)الطبيعيةاللغاتبإحدىالمكتوبةاللغةترجمةويمكن
أواتالصفوتحديدالجملةموضوعحولهايدورالتياألشياءبتحديدذلكويتم.البرولوجعبارات
.الجملةمحمولأو,تميزهاالتيالعالقات
EXAMPLE 1
prof (mohamed,ali).
Queries :-
1- ? prof (M,N).
2- ? prof (_,M).
3- ? prof (M,_).
4- ? prof (mohamed,ali).
Start – All Program – Accessories - Notepad
NOTEPADفتح برنامج الـ
PROLOGفتح برنامج الـ
Start – All Programs – SWI-Prolog
يتم إجراء االستعالمات المطلوبه
• likes(ali,mohamad(.
• likes(ali,ahmad(.
• likes(ali,omar(.
• likes(ali,adel(.
• likes(ahmad,mohamad).
EXAMPLE 2
Queries :-
1-? likes(M,N).
2-?likes(_,M).
3-?likes(M,_).
4-?likes(ali,ahmed).
5-?likes(M,adel).
6-?likes(_,_).
EXAMPLE 3
prof(youssef,dss,1clook,m1).
prof(waffa,vb,3clook,m2).
prof(mona,nw,3clook,m1).
prof(hend,mm,5clook,m2).
prof(Youssef,net,4clook,m3).
Queries :-
1-?prof(M,N,X,Y).
2-?prof(M,N,_,_).
3-?prof(_,_,_,_).
4-?prof(M,dss,N,X).
5-?prof(youssef,B,N,H).
6-?Prof(M,dss,N,X).
7-?prof(hend,mm,5clook,m2).
8-?prof(Hend,mm,5clook,m2).
9-?prof(HEND,MM,5clook,m2).
EXAMPLE 4
A fast – car is fun.
A big – car is nice.
A little – car is practical.
Ali likes a car if the car is fun.
What does ail likes?
In prolog
car(fast,fun).
car(big,nice).
car(little,practical).
likes(ali,X):-
car(X,fun).
Query
1-? Likes (ali, X).
EXAMPLE 5
Ali likes Ahmed.
Ali likes dogs.
Salwa likes everything Ali likes.
What does salwa likes?
In prolog
likes(ali,ahmed).
likes(ali,dogs).
likes(salwa,Something):-
likes(ali,Something).
Query
1-? Likes (salwa, what).
EXAMPLE 6parent(hala,hany).
parent(aly,hany).
parent(hany,yaser).
parent(hany,aml).
female(hala).
female(mona).
female(aml).
male(aly).
male(yaser).
Hala
Hany
Yasser
Amal
Aly
CONTINUE
sister(X,Y):-
parent(Z,X),parent(Z,Y),female(X),X\=Y.
father(X,Y):-
parent(X,Y),male(X).
mother(X,Y):-
parent(X,Y),female(X).
brother(X,Y):-
parent(Z,X),parent(Z,Y),male(X),X\=Y.
off(hany,hala).
off(hany,aly).
off(aml,hany).
off(yaser,hany).
off(X,Y):- parent(Y,X).X\=Y.
gf(X,Z):-
parent(Y,Z),parent(X,Y),male(X),X\=Y.
gm(X,Z):-
parent(Y,Z),parent(X,Y),female(X),X\=Y.
CONTINUE
Queries :-
1-?sister(X,Y). 2-?brother(X,Y).
3-?father(X,Y). 4-?mother(X,Y).
5-?gf(X,Z). 6-?gm(X,Z). 7-?off(X,Y)