decision support systems (ch10) prolog

22
PROLOG أ/ م العربي إبراهيPROgramming in LOGic [email protected]

Upload: drsamahahmed

Post on 15-Apr-2017

634 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Decision support systems (ch10) prolog

PROLOG

إبراهيم العربي /أ

PROgramming in LOGic

[email protected]

Page 2: Decision support systems (ch10) prolog

مقدمةPROgramming)اختصارهي(PROLOG)البرولوجلغة• in LOGic)

نأليدعىبفرنسامرسيليابجامعةأستاذاللغةهذهوصمم.المنطقيةالبرمجةأيAlan)كولمرير Colmeraur)معاملفيمحصوراالبرولوجلغةاستخداموظل

1981أكتوبرحتىأوروبابقارةاالصطناعيالذكاءأبحاث

Logic)المنطقيةالبرمجةمفهومعلىالبرولوجلغةوتعتمد• Programming),(Objects)أشياءعلىتحتوي(Statement)جملمعتتعاملوالتي

.الجملةوبينبينهاتربطالتي(Relationships)والعالقات

Page 3: Decision support systems (ch10) prolog

مثال

وتمثل(Predicate)بالمسند(Professor)كلمةتسمىالجملةهذهفي(Ali)أستاذهو(Mohammad)انحيث،المعامالتبينالعالقة

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

Professor (Mohammad, Ali).

Page 4: Decision support systems (ch10) prolog

البرولوجبرنامج

الحقائقمنعددبإستخدامالمشكلةوصفالحاسببإعطاءالبرولوجبرنامجيقوم

"Facts"والقواعد"Rules"المحتملةالحلولكلايجادعنالحاسبيسألثم

.للمشكلة

:لبرمجة بلغة البرولوج إلى ثالثة مراحل هيوتنقسم ا

.والعالقات التي تربط بينها(Objects)إعالن الحقائق عن األشياء 1.

.بينهااألشياء والعالقات التي تربط هذه التي تحكم ( Rules)تعريف القواعد 2.

.عن األشياء والعالقات التي تربطهااالستعالم3.

ملحوظه

ألشياءاعنالسؤاليمكنحيثمباشرةاألوليالمرحلةبعدالثالثةالمرحلةتأتيأنيمكن

.قواعدأيتطبيقدون

Page 5: Decision support systems (ch10) prolog

:عنهاوالسؤالالحقائقعناإلعالنكيفية

ياءاألشتحديدأواليجبالبرولوجبرنامجفيالحقائقعناإلعالن

(Objects)هناككانتإذافمثال.الحقائقتلكتمثلالتيوالعالقات

Likes).تقولحقيقة (ali , Mohamedهذهفيفاألشياء

Ali)األسماءهيالحقيقة , Mohamed)فهيبينهماالعالقةأما

(Likes)بالمسندوتسمى(Predicate)تتعلقالتيالصفةأي

هذهلولتمثي.اكثرأوشيئينبينتربطالتيالعالقةأومابشيء

:كاآلتيتكتبالبرولوجبرنامجفيالحقيقة

likes ( ali , mohamed(.

Page 6: Decision support systems (ch10) prolog

Small)الصغيرةبالحروفوالعالقاتاألشياءأسماءكتابةيتم• Letters)التياألسماءألنوذلك

Capital)الكبيرةبالحروفتبدأ Letters)بالحرفأو(Underscore يعتبرها((_)

أنبمعنىاألشياءأسماءترتيبباختالفالحقيقةوتختلف.(Variable)متغيراتالبرولوج

likes ( ali , mohamed).عنتختلفlikes (mohamed, ali).اإلعالنوينتهي

.آخرهافي(.)نقطةبوضعالحقيقةعن

likesالتعبيرعلىويطلق• ( ali , mohamed).العبارةلفظالبرولوجلغةفي(Clause)

مناكثرأوعبارةإلى(العربيةأواإلنجليزية)الطبيعيةاللغاتبإحدىالمكتوبةاللغةترجمةويمكن

أواتالصفوتحديدالجملةموضوعحولهايدورالتياألشياءبتحديدذلكويتم.البرولوجعبارات

.الجملةمحمولأو,تميزهاالتيالعالقات

Page 7: Decision support systems (ch10) prolog

EXAMPLE 1

prof (mohamed,ali).

Queries :-

1- ? prof (M,N).

2- ? prof (_,M).

3- ? prof (M,_).

4- ? prof (mohamed,ali).

Page 8: Decision support systems (ch10) prolog

Start – All Program – Accessories - Notepad

NOTEPADفتح برنامج الـ

Page 9: Decision support systems (ch10) prolog

PROLOGفتح برنامج الـ

Start – All Programs – SWI-Prolog

Page 10: Decision support systems (ch10) prolog

يتم إجراء االستعالمات المطلوبه

Page 11: Decision support systems (ch10) prolog

• likes(ali,mohamad(.

• likes(ali,ahmad(.

• likes(ali,omar(.

• likes(ali,adel(.

• likes(ahmad,mohamad).

EXAMPLE 2

Page 12: Decision support systems (ch10) prolog

Queries :-

1-? likes(M,N).

2-?likes(_,M).

3-?likes(M,_).

4-?likes(ali,ahmed).

5-?likes(M,adel).

6-?likes(_,_).

Page 13: Decision support systems (ch10) prolog

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).

Page 14: Decision support systems (ch10) prolog

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).

Page 15: Decision support systems (ch10) prolog

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?

Page 16: Decision support systems (ch10) prolog

In prolog

car(fast,fun).

car(big,nice).

car(little,practical).

likes(ali,X):-

car(X,fun).

Query

1-? Likes (ali, X).

Page 17: Decision support systems (ch10) prolog

EXAMPLE 5

Ali likes Ahmed.

Ali likes dogs.

Salwa likes everything Ali likes.

What does salwa likes?

Page 18: Decision support systems (ch10) prolog

In prolog

likes(ali,ahmed).

likes(ali,dogs).

likes(salwa,Something):-

likes(ali,Something).

Query

1-? Likes (salwa, what).

Page 19: Decision support systems (ch10) prolog

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

Page 20: Decision support systems (ch10) prolog

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.

Page 21: Decision support systems (ch10) prolog

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)

Page 22: Decision support systems (ch10) prolog

END

[email protected]