10
Logic Programming โโโโโโโ โโโโโโโโโ

Logic

Embed Size (px)

Citation preview

Page 1: Logic

Logic Programming

โปรแกรมเชิงตรรกะ

Page 2: Logic

Characteristicsไม�ต�องให้�รายละเอ�ยดทุ�กขั้��นตอนสะสมขั้�อม ลเป!นฐานความร � (Knowledge base)

ต�วอย�าง นาย ก . เป!นพี่�&นาย ขั้. นาย ขั้ . เป!นพี่�&นาย ค. นาย ก . เป!นพี่�&นาย ค . ด�วย สรุ�ป

Page 3: Logic

ภาษา LPองค)ประกอบขั้องภาษา

Object : ส&งทุ�&เราสนใจ Relation : อธิบายค�ณสมบ�ต/ความส�มพี่�นธิ)ขั้อง Obj. ร ปแบบ relation-name (list of object names) ต�วอย�าง FATHER(TOM, JANE).

LARGER(2,1). MALE(ROBERT). COST(CAR1, 256000).

Page 4: Logic

ภาษา LP (ต�อ)วธิ�การเขั้�ยนโปรแกรม

ประโยคค.าส�&ง 3 ร ปแบบ•เป/าห้มาย/ค.าถาม (Goal)•ขั้�อเทุ1จจรง/ฐานความร � (Facts)•กฎเกณฑ์) (Rules)

แต�ละประโยคค�&นด�วย “.” แต�ละโปรแกรมต�องม�อย�างน�อย 1 ค.าถาม ขั้�อเทุ1จจรง และกฏเกณฑ์)ม�มากกว�าห้น5&งได�

Page 5: Logic

ภาษา LP (ต�อ)ค.าถาม (Goal) ม� 2 ประเภทุ

ไม�ม�ต�วแปร : จรง / เทุ1จ โดยใชิ�ขั้�อเทุ1จจรงและกฎเกณฑ์) ต�วอย�าง ?FATHER(JOHN,SUE).

TRUE ม�ต�วแปร : object ทุ��งห้มดทุ�&สอดคล�องก�บขั้�อเทุ1จจรงทุ�&ก.าห้นดต�วอย�าง ?ADJACENT(x,CALIFORNIA).

x = OREGON x = NEVADA x = ARIZONA

Page 6: Logic

ภาษา LP (ต�อ)ขั้�อเทุ1จจรง (Fact) ม� 2 ประเภทุ

ไม�ม�ต�วแปร : ความส�มพี่�นธิ)ระห้ว�าง object ต�วอย�าง FATHER(JOHN,SUE). ม�ต�วแปร : ความส�มพี่�นธิ)ขั้อง obj . ทุ��งห้มดขั้องโปรแกรม ต�วอย�าง FEMALE(person).

FRIENDS(x, JACK).

Page 7: Logic

ภาษา LP (ต�อ)กฎเกณฑ์) (Rule)

ประกอบด�วย Fact และ List of facts ร ปแบบ c if h1, h2, …, hn for n > 0

ต�วอย�าง PARENT(JOHN,SUE) if FATHER(JOHN,SUE). PARENT(x,y) if FATHER(x,y). MOTHER(x,y) if PARENT(x,y), FEMALE(x).

Page 8: Logic

ภาษาโปรลอกPROLOG : PROgramming in LOGicAlian Colmerauer ชิาวฝร�&งเศสสร�างเม8&อ 1972

นยมใชิ�ในงานวจ�ยด�านคอมพี่วเตอร)ในย�โรปและญี่�&ป�:น

คล�ายก�บภาษา LP แตกต�างก�นเล1กน�อยในด�านการเขั้�ยนโปรแกรม

Page 9: Logic

ภาษาโปรลอก (ต�อ)ชิ8&อขั้อง Object และ relation ขั้5�นต�น

ด�วยอ�กษรต�วเล1กชิ8&อต�วแปร ขั้5�นต�นด�วยอ�กษรต�วให้ญี่�ค.าถาม ขั้5�นต�นด�วย ?-กฎเกณฑ์)ม�ร ปแบบด�งน��

c :- h1, h2,…,hn for n > 0

Page 10: Logic

Imperative Language imperare = to commandแนวคดพี่8�นฐานตามสถาป;ตยกรรมแบบ Von

Neumannประกอบด�วยชิ�ดค.าส�&งทุ�&เปล�&ยนค�าในห้น�วยความจ.าล�กษณะส.าค�ญี่

ต�วแปร (variables)การก.าห้นดค�า (Assignment)การทุ.าซ้ำ.�า (Repetition)