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)