110 likes | 284 Vues
Logic Programming. โปรแกรมเชิงตรรกะ. Characteristics. ไม่ต้องให้รายละเอียดทุกขั้นตอน สะสมข้อมูลเป็นฐานความรู้ ( Knowledge base) ตัวอย่าง นาย ก. เป็นพี่นาย ข. นาย ข. เป็นพี่นาย ค. นาย ก. เป็นพี่นาย ค. ด้วย สรุป. ภาษา LP. องค์ประกอบของภาษา Object : สิ่งที่เราสนใจ
E N D
Logic Programming โปรแกรมเชิงตรรกะ
Characteristics • ไม่ต้องให้รายละเอียดทุกขั้นตอน • สะสมข้อมูลเป็นฐานความรู้ (Knowledge base) • ตัวอย่าง • นาย ก. เป็นพี่นาย ข. • นาย ข. เป็นพี่นาย ค. • นาย ก. เป็นพี่นาย ค. ด้วย สรุป
ภาษา LP • องค์ประกอบของภาษา • Object : สิ่งที่เราสนใจ • Relation: อธิบายคุณสมบัติ/ความสัมพันธ์ของ Obj.รูปแบบrelation-name (list of object names)ตัวอย่าง FATHER(TOM, JANE). LARGER(2,1). MALE(ROBERT). COST(CAR1, 256000).
ภาษา LP (ต่อ) • วิธีการเขียนโปรแกรม • ประโยคคำสั่ง 3 รูปแบบ • เป้าหมาย/คำถาม (Goal) • ข้อเท็จจริง/ฐานความรู้ (Facts) • กฎเกณฑ์ (Rules) • แต่ละประโยคคั่นด้วย “.” • แต่ละโปรแกรมต้องมีอย่างน้อย 1 คำถาม ข้อเท็จจริง และกฏเกณฑ์มีมากกว่าหนึ่งได้
ภาษา LP (ต่อ) • คำถาม (Goal) มี 2 ประเภท • ไม่มีตัวแปร : จริง / เท็จ โดยใช้ข้อเท็จจริงและกฎเกณฑ์ตัวอย่าง ?FATHER(JOHN,SUE).TRUE • มีตัวแปร :object ทั้งหมดที่สอดคล้องกับข้อเท็จจริงที่กำหนดตัวอย่าง ?ADJACENT(x,CALIFORNIA).x = OREGON x = NEVADA x = ARIZONA
ภาษา LP (ต่อ) • ข้อเท็จจริง (Fact)มี 2 ประเภท • ไม่มีตัวแปร :ความสัมพันธ์ระหว่าง objectตัวอย่างFATHER(JOHN,SUE). • มีตัวแปร : ความสัมพันธ์ของ obj. ทั้งหมดของโปรแกรมตัวอย่างFEMALE(person). FRIENDS(x, JACK).
ภาษา 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).
ภาษาโปรลอก • PROLOG : PROgramming in LOGic • Alian Colmerauer ชาวฝรั่งเศสสร้างเมื่อ 1972 • นิยมใช้ในงานวิจัยด้านคอมพิวเตอร์ในยุโรปและญี่ปุ่น • คล้ายกับภาษา LP แตกต่างกันเล็กน้อยในด้านการเขียนโปรแกรม
ภาษาโปรลอก (ต่อ) • ชื่อของ Object และ relation ขึ้นต้นด้วยอักษรตัวเล็ก • ชื่อตัวแปร ขึ้นต้นด้วยอักษรตัวใหญ่ • คำถาม ขึ้นต้นด้วย ?- • กฎเกณฑ์มีรูปแบบดังนี้c :- h1, h2,…,hn for n > 0
Imperative Language • imperare = to command • แนวคิดพื้นฐานตามสถาปัตยกรรมแบบ Von Neumann • ประกอบด้วยชุดคำสั่งที่เปลี่ยนค่าในหน่วยความจำ • ลักษณะสำคัญ • ตัวแปร (variables) • การกำหนดค่า (Assignment) • การทำซ้ำ (Repetition)