Predicate calculus First order Logic

Preview:

DESCRIPTION

Predicate calculus First order Logic. Choopan Rattanapoka 357353 – Introduction to AI. ข้อจำกัดของ Propositional Logic. ทบทวน Propositional Logic เป็นการแทนประโยคด้วยสัญลักษณ์ เช่น สมชายเป็นคน (P) สมปองเป็นคน (Q) สมหญิงเป็นคน (R) - PowerPoint PPT Presentation

Citation preview

PREDICATE CALCULUS FIRST ORDER LOGIC

030523111 – Introduction to Artificial Intelligence

Asst. Prof. Dr. Choopan Rattanapoka

ข้�อจำ��กั�ดข้อง Propositional Logic ทบทวน

Propositional Logic เป็�นการแทนป็ระโยคด้�วยสั�ญลั�กษณ์� เช่�น สัมช่ายเป็�นคน (P) สัมป็องเป็�นคน (Q) สัมหญ งเป็�นคน (R)

จะเห"นได้�ว�าจะต้�องใช่�สั�ญลั�กษณ์� 1 ต้�วเพื่'(อแทนป็ระโยค 1 ป็ระโยคไม�สัามารถจะเข้�าถ+งค�าท,(ม,ค-ณ์ลั�กษณ์�เหม'อนก�นเฉพื่าะต้�วได้�

Predicate calculus (Predicate Logic) สัามารถท,(จะท/าให�ป็ระโยคท,(ม,ค-ณ์ลั�กษณ์ะเหม'อนก�นเข้�าถ+งค�าเฉพื่าะแต้�ลัะต้�วได้� Human(สัมช่าย), Human(สัมป็อง), Human(สัมหญ ง) Human( ) เร,ยกว�า Predicate

Predicate Logic

บางคร�0งเร,ยกว�า Predicate Calculus เป็�นกระบวนการต้รรกะท,(ม,ความซั�บซั�อนกว�า

Propositional Logic แต้�ม,การอน-มานเพื่'(อให�ได้�ค�าความจร งใหม�จากค�าความ

จร งท,(ม,อย2�แลั�ว องค�ป็ระกอบพื่'0นฐานข้อง Predicate Logic จะ

ป็ระกอบด้�วย ต้�วอ�กษร (Alphabet) สั�วนแสัด้งความสั�มพื่�นธ์� (Predicate) ต้�วเช่'(อม (Connective) ต้�วบ�งป็ร มาณ์ (Quantifier)

Predicate Logic : ตั�วอ�กัษร ต้�วอ�กษร เป็�นองค�ป็ระกอบท,(เป็�นสั�วนข้องต้�วอ�กษรท,(ใช่�

ในกระบวนการข้อง Predicate Logic ป็ระกอบด้�วย ค่��ค่งที่�� (Constant) เป็�นค�าท,(ใช่�บอกถ+งความหมายท,(

ช่�ด้เจนแน�นอน เช่�น GARFIELD แทนความหมายข้องแมว SURASAK แทนความหมายข้องคน เพื่ศช่าย

ตั�วแปร (Variable) ค'อ การระบ-ถ+งความหมายในภาพื่รวม ไม�เฉพื่าะเจาะจง cat หมายถ+งสั�ต้ว�ท,(เป็�นแมว แต้�ไม�ได้�ระบ-ถ+งพื่�นธ์-� father หมายถ+งพื่�อคน แต้�ไม�ได้�ระบ-ว�าพื่�อใคร

ฟั�งกั�ชั�น (Function) ค'อสั�วนท,(ใช่�ในการบ�งบอกโด้เมนข้ององค�ป็ระกอบ cat(GARFIELD) เป็�นฟั8งก�ช่�นสั/าหร�บหาว�า GARFIELD เป็�น

แมวพื่�นธ์-�อะไร father(SURASAK) เป็�นฟั8งก�ช่�นสั/าหร�บหาว�าพื่�อข้อง

SURASAK ค'อใคร

Predicate Logic : ส่�วนแส่ดงค่ว�มส่�มพั�นธ์� เป็�นสั�วนท,(ใช่�แสัด้งความสั�มพื่�นธ์�ระหว�างองค�ป็ระกอบ

ซั+(งจะช่�วยข้ยายความเข้�าใจในค�าท,(แสัด้งว�าม,ความสั�มพื่�นธ์�ก�นอย�างไร เช่�น MAN(SURASAK) SURASAK เป็�นผู้2�ช่าย LIKES(BOB, PUI) BOB ช่อบ PUI OLDER(SURASAK, father(CHAI)) SURASAK แก�

กว�าพื่�อข้อง CHAI

Predicate Logic : ตั�วเชั!�อม ต้�วเช่'(อมใช่�ในการเช่'(อมระหว�างสั�วนแสัด้งความสั�มพื่�นธ์�

(Predicate) เข้�าด้�วยก�น ม,เคร'(องหมายต้�างๆ ด้�งน,0 น"เส่ธ์ () ท/าให�กลั�บค�าความจร ง และ () เช่�น บ;อบหลั�อแลัะน สั�ยด้, เข้,ยนได้�เป็�น

HANDSOME(BOB) NICE(BOB) หร!อ () เช่�น กรแก�กว�าบ;อบหร'อสั�ม

OLDER(KORN, BOB) OLDER(KORN, SOM) ถ้�� ... แล�ว () เช่�น ถ�าบ;อบด้/าแลั�วบ;อบจะหลั�อ

BLACK(BOB) HANDSOME(BOB) กั'ตั�อเม!�อ () เช่�น บ;อบจะบวช่ก"ต้�อเม'(ออาย- 25 ป็<

MONK(BOB) AGE25(BOB)

Predicate Logic : ตั�วบ่�งปร"ม�ณ เป็�น ค�าท,(ใช่�ช่,0ว�ด้ป็ร มาณ์ข้องป็ระโยค เพื่'(อใช่�ในการบ�งช่,0ถ+ง

จ/านวนหร'อข้นาด้ ใน Predicate Logic ท/าให�เก ด้ First Order Logic ม,อย2� 2 ป็ระเภทค'อ ตั�วบ่�งปร"ม�ณส่�กัล(Universal Quantifier) บางคร�0ง

เร,ยก “For All” จะใช่�เคร'(องหมาย จะเป็�นจร งเม'(อท-กค�าเป็�นจร ง คนไทยจะเลั'อกต้�0งได้�ต้อนอาย- 18 ป็< x(THAI18(x) VOTE(x))

ตั�วบ่�งปร"ม�ณบ่�งส่�วน(Existential Quantifier) บางคร�0งเร,ยก “For Some” จะใช่�เคร'(องหมาย จะเป็�นจร งถ�าค�าบางค�าเป็�นจร ง คนบางคนเลั�น facebook แลัะ twitter x(FACEBOOK(x) TWITTER(x))

ค่��ค่วรระว�งในกั�รใชั� Quantifier

ป็กต้ การใช่� ป็ระโยคหลั�กจะเช่'(อมก�นด้�วย ไม�ใช่� ต้�วอย�าง : น�กศ+กษาท-กคนท,(เร,ยน ECT จะเก�ง

x( At(x, ECT) smart(x) ) ผู้ ด้เพื่ราะจะหมายความว�า ท-กคนท,(เร,ยน “ ECT แลัะ ที่,กัค่นเกั�ง”

x( At(x, ECT) smart(x) ) ถ้-กั ป็กต้ การใช่� ป็ระโยคหลั�กจะเช่'(อมก�นด้�วย ไม�ใช่�

ต้�วอย�าง : น�กศ+กษาบางคนท,(เร,ยน ECT จะเก�ง

x( At(x, ECT) smart(x) ) ผู้ ด้เพื่ราะป็ระโยคสัามารถเป็�นจร งได้� ถ+งคนท,(เก�งจะไม�เร,ยน ECT

x( At(x, ECT) smart(x) ) ถ้-กั

ค่ว�มส่�มพั�นธ์�ข้อง และ x P(x) x P(x) x P(x) x P(x) x P(x) x P(x) x P(x) x P(x)ตั�วอย่��ง :ท-กคนช่อบไอศคร,ม

x Loves(x, ICE-CREAM) สัามารถเข้,ยนได้�อ,กอย�างx Loves(x, ICE-CREAM)

Nested Quantifier

บางคร�0งความต้�องการท,(จะแสัด้งป็ระโยคท,(ซั�บซั�อนมากข้+0น จะม,การใช่�ต้�วบ�งป็ร มาณ์หลัายต้�ว เช่�น พื่,(น�องค'อญาต้ x y Brother(x,y) Sibling(x,y)

x y y x สัามารถเข้,ยน x,y ได้�เพื่'(อให�ด้2ง�ายข้+0น

x y y x สัามารถเข้,ยน x,y ได้�เพื่'(อให�ด้2ง�ายข้+0น

x y ไม�เหม!อนกั�บ่ y x x y Loves(x,y)

ม,บางคนท,(ร�กท-กๆคนในโลัก y x Loves(x,y)

ท-กๆคนในโลักน,0ถ2กใครบางคนร�ก

แบ่บ่ฝึ1กัห�ด จงแป็ลังข้�อความต้�อไป็น,0ให�อย2�ในร2ป็ข้อง First Order

Logic คนท-กคนร�กสั-น�ข้ คนบางคนร�กแมว สั-น�ข้บางต้�วไม�ช่อบแมว คนท,(ช่อบแมวเป็�นคนด้,แต้�ไม�ม,ความสั-ข้

Normal Form

เพื่'(อให�คอมพื่ วเต้อร�สัามารถท/าการอน-มานได้�ง�ายข้+0น ควรจะเป็ลั,(ยนป็ระโยคต้�างๆให�อย2�ในร2ป็ข้อง “Normal Form”

ท-กป็ระโยคใน FOL สัามารถท,(จะแป็ลังให�อย2�ในร2ป็ข้อง Normal Form ได้�

Conjunctive normal form (CNF) ท-กป็ระโยคจะเก ด้จากเช่'(อมต้�อก�นข้องป็ระโยคย�อยด้�วย

conjunction () แลัะในป็ระโยคย�อยจะป็ระกอบด้�วยค/าท,(เช่'(อมต้�อก�นด้�วย disjunction ()

(P(x) R(x,y)) (S(y) R(y,z)) T(y)

กั�รอน,ม�นใน First Order Logic (FOL) เราไม�สัามารถใช่� Truth table เพื่'(อแก�ไข้ป็8ญหาข้อง

FOL เน'(องจากใน FOL ม,ต้�วแป็ร(variables) ท/าให�ต้าราง Truth table สัามารถม,ค�าความเป็�นไป็ได้�เป็�น infinity

Robinson (1965) เสันอว ธ์,แก�ไข้ป็8ญหาการพื่ สั2จน�ค�าใน FOL ด้�วย algorithm ท,(ช่'(อว�า resolution refutation (ซั+(งสัามารถใช่�ก�บ propositional logic ก"ได้�)

Resolution (A B) (B C) อน-มานได้�เป็�น (A C) (A B) (B C) อน-มานได้�เป็�น (A C)

Resolution Refutation

การพื่ สั2จน�ป็ระโยค p สัามารถอน-มานจากเซั"ต้ข้องป็ระโยคใน KB เป็ลั,(ยน p แลัะป็ระโยคใน KB ให�อย2�ในร2ป็ข้อง CNF ท/าซั/0าจนกระท�(งได้�ป็ระโยคว�าง

หาป็ระโยคย�อย 2 ป็ระโยคท,(สัามารถท/า resolution ได้�แลัะย�งไม�เคยถ2กใช่�มาก�อน

น/า 2 ป็ระโยคย�อยน�0นเข้�ากฎ resolution เพื่ (งสัร�างป็ระโยคย�อยใหม�

ถ�าการท/างานสั 0นสั-ด้ลังด้�วยป็ระโยคว�างเป็ลั�า(null, false) ถ'อว�าพื่ สั2จน� p ได้�ไม�เช่�นน�0นก"ค'อ p ไม�สัามารถพื่ สั2จน�ได้�

ป็8ญหาข้อง Resolution Refutation ก�บ FOL จะเป็ลั,(ยนป็ระโยคให�อย2�ในร2ป็ CNF ได้�อย�างไรเม'(อม,

Quantifier ? จะร2 �ได้�อย�างไรว�าป็ระโยค 2 ป็ระโยคข้�ด้แย�งก�นในเม'(อม,

ต้�วแป็รอย2� ?

กั�รเปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (1)1. ก/าจ�ด้ต้�วเช่'(อม ด้�วยการใช่�กฎ Material Equivalent

(Equiv) P Q (P Q) (Q P)

2. ก/าจ�ด้ต้�วเช่'(อม ด้�วยการใช่�กฎ Material Implication (Impl) P Q P Q

3. น/าต้�ว negation () กระจายเข้�าไป็ข้�างในป็ระโยค P P Double negation (P Q) P Q Demorgan (P Q) P Q Demorgan x P(x) x P(x) x P(x) x P(x)

กั�รเปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (2)4. ท/า standardize โด้ยการเป็ลั,(ยนช่'(อต้�วแป็รข้องแต้�ลัะป็ระโยค

ย�อยไม�ให�ซั/0าก�น x(P(x)) x(Q(x)) x(P(x)) y(Q(y))

5. เลั'(อน Quantifier ท-กต้�วมาทางด้�านซั�ายข้องป็ระโยคโด้ยร�กัษ�ล��ด�บ่ไว� x(P(x)) y(Q(y)) xy(P(x) Q(y))

6. ใช่�ว ธ์, Skolemization เพื่'(อก/าจ�ด้ 7. ลับ ออกจากป็ระโยคให�หมด้8. ใช่� Distributive law เป็ลั'(ยนให�อย2�ในร2ป็ข้อง CNF

P (Q R) (P Q) (P R)

9. แยกป็ระโยคใหญ�ออกเป็�นป็ระโยคย�อยๆโด้ยใช่� เป็�นต้�วแยก10. ท/า standardize ต้�วแป็รข้องแต้�ลัะป็ระโยคย�อยอ,กรอบหน+(ง

ว"ธ์� Skolemization

เป็�นว ธ์,ท,(ใช่�เป็ลั,(ยนป็ระโยคท,(ม, Existential Quantifier() เป็�นป็ระโยคท,(ไม�ม,

จะท/าการก/าจ�ด้ ด้�วยการแทนท,(ต้�วแป็รข้อง ด้�วย skolem function ซั+(ง argument ข้อง function จะเป็�นต้�วแป็รข้อง universal quantifier ท,(อย2�ใน scope ข้อง ท,(จะก/าจ�ด้

ถ�า ท,(ต้�องการจะก/าจ�ด้ไม�อย2�ใน scope ข้อง universal quantifier ต้�วใด้เลัย ก"จะแทนท,(ด้�วย skolem function ท,(ไม�ม, argument ซั+(งก"ค'อ ค่��ค่งที่��

ตั�วอย่��ง : Skolemization

xy (Person(x) Person(y)) Loves(x,y) y อย2�ภายใต้� x ด้�งน�0นแทนท,( y ด้�วย skolem

function ท,(ม, argument ค'อ x เป็ลั,(ยนได้�เป็�นx (Person(x) Person(f(x)))

Loves(x,f(x)) x P(x) เป็�น P(A) ค�าคงท,( A xyz P(x,y,z) เป็ลั,(ยนเป็�น xy P(x, y, f(x,y)) xyz P(x,y,z) เป็ลั,(ยนเป็�น xz P(x, f(x), z)

ตั�วอย่��ง : กั�รแปลงประโย่ค่ให�อย่-�ในร-ป CNF (1)

จงแป็ลังป็ระโยคต้�อไป็น,0ให�อย�างในร2ป็ CNF(x)([a(x) b(x)] [c(x,i) (y)((z)[c(y,z)] d(x,y))]) (x)

(e(x))

1. ก/าจ�ด้ (x)([a(x) b(x)] [c(x,i) (y)((z)[c(y,z)] d(x,y))]) (x)

(e(x))

2. น/าต้�ว กระจายเข้�าไป็ข้�างในป็ระโยค(x)( [a(x) b(x)] [c(x,i) (y)((z)[c(y,z)] d(x,y))]) (x)

(e(x))

3. ท/า standardize ช่'(อต้�วแป็ร(x)( [a(x) b(x)] [c(x,i) (y)((z)[c(y,z)] d(x,y))]) (w)

(e(w))

4. เลั'(อน quantifier มาอย2�ด้�านซั�ายข้องป็ระโยค(x)(y)(z) (w)([a(x) b(x)] [c(x,i) (c(y,z) d(x,y))]

e(w)

ตั�วอย่��ง : กั�รแปลงประโย่ค่ให�อย่-�ในร-ป CNF (2)(x)(y)(z) (w)([a(x) b(x)] [c(x,i) (c(y,z) d(x,y))]

e(w)

5. ก/าจ�ด้ (x)(z) (w)([a(x) b(x)] [c(x,i) (c(f(x),z) d(x,f(x)))]

e(w)

6. ป็ลัด้ต้�ว ออกจากป็ระโยค[a(x) b(x)] [c(x,i) (c(f(x),z) d(x,f(x)))] e(w)

7. ท/า Distribution law [a(x) b(x)] e(w) [c(x,i) (c(f(x),z) d(x,f(x)))] [a(x) b(x) e(w) c(x,i)] [a(x) b(x) e(w) c(f(x),z) d(x,f(x))]

ตั�วอย่��ง : กั�รแปลงประโย่ค่ให�อย่-�ในร-ป CNF (3)8. ใช่�ต้�ว conjunction () เป็�นต้�วแยกป็ระโยคใหญ�ออกเป็�นป็ระ

โยคย�อยๆ [a(x) b(x) e(w) c(x,i)] [a(x) b(x) e(w) c(f(x),z) d(x,f(x))]

9. ใช่�ต้�วท/า standardize อ,กรอบข้องแต้�ลัะป็ระโยคย�อยไม�ให�ซั/0าก�น

[a(x) b(x) e(w) c(x,i)] [a(u) b(u) e(v) c(f(u),z) d(u,f(u))]

แบ่บ่ฝึ1กัห�ด: จงแป็ลังป็ระโยคต้�อไป็น,0ให�อย2�ในร2ป็ CNF x(P(x)) yx(Q(x,y))

กั�รพั"ส่-จำน�ด�วย่ Resolution Refutation (1) กลั�บมาท,( propositional logic ท,(ไม�ม,ค�าต้�วแป็รให�

ว- �นวาย ตั�วอย่��ง: ต้�องการพื่ สั2จน� a จากสัมม-ต้ ฐาน

b c a b d e c e f d f

(b c) ab c a

(d e) cd e c

d f

• b c a• b• d e c• e f• d• f

กั�รพั"ส่-จำน�ด�วย่ Resolution Refutation (2) Resolution

(A B) (B C) อน-มานได้�เป็�น (A C) (A B) (B C) อน-มานได้�เป็�น (A C)

ก/าหนด้ a• b c a• b• d e c• e f• d• f

b c aa

b c b

cd e c

d e e f

d ffd d

Unification (1)

จะเห"นว�าสั/าหร�บ Propositional Logic จะง�ายมากในการด้2 2 ป็ระโยคท,(ข้�ด้ก�น (p แลัะ p)

แต้�สั/าหร�บ FOL การเท,ยบก�นจะซั�บซั�อนข้+0นเน'(องจากจะต้�องพื่ จารณ์า argument ข้อง predicate ด้�วยเช่�น MAN(JOHN) แลัะ MAN(JOHN) ข้�ด้แย�งก�น MAN(JOHN) แลัะ MAN(SPOT) ไม�ข้�ด้แย�งก�น

ในการต้รวจสัอบความข้�ด้แย�งก�นข้องป็ระโยคใน FOL จะต้�องม,การ แที่นที่��(substitution) ค�าข้องต้�วแป็ร ซั+(งเร,ยกว�า Unification

Notation : car/x หมายถ+งการแทนค�า car ให�ก�บต้�วแป็ร x

Unification (2)

ถ�าม,ป็ระโยค Knows(John, x) แลั�วแทนท,(ด้�วย {Paul/x} จะท/าให�ป็ระโยคท,(ได้�เป็�น Knows(John, Paul)

ถ�าไม�สัามารถหาค�ามาแทนต้�วแป็รได้�ถ'อว�าการท/า unification ลั�มเหลัว

ตั�วอย่��ง : foo(x, A, goo(y)) {Fred/x, z/y} => foo(Fred, A, goo(z)) {w/x, Jack/y} => foo(w, A, goo(Jack)) {z/x, moo(z)/y} => foo(z, A, goo(moo(z)))

ตั�วอย่��ง1: ส่ร��งประโย่ค่ในร-ปแบ่บ่ข้อง FOL จากป็ระโยคต้�อไป็น,0

คนท,(สัอบว ช่าป็ระว�ต้ ศาสัต้ร�ผู้�านแลัะถ2กลัอต้เต้อร,(จะม,ความสั-ข้ แต้�ถ�าใครท,(เร,ยนอย2�หร'อโช่คด้,จะผู้�านว ช่าท,(เร,ยนท-กว ช่า สัมช่ายไม�ได้�เร,ยนแต้�สัมช่ายโช่คด้, ใครท,(โช่คด้,จะถ2กลัอต้เต้อร,( ถามว�าสัมช่ายม,ความสั-ข้ไหม ?

คนท,(สัอบว ช่าป็ระว�ต้ ศาสัต้ร�ผู้�านแลัะถ2กลัอต้เต้อร,(จะม,ความสั-ข้ x(Pass(x, HISTORY) Win(x, LOTTERY) Happy(x))

ใครท,(เร,ยนอย2�หร'อโช่คด้,จะผู้�านว ช่าท,(เร,ยนท-กว ช่า xy (Study(x) Lucky(x) Pass(x,y))

สัมช่ายไม�ได้�เร,ยนแต้�สัมช่ายโช่คด้, Study(สัมช่าย) Lucky(สัมช่าย)

ใครท,(โช่คด้,จะถ2กลัอต้เต้อร,( x(Lucky(x) Win(x, LOTTERY))

ตั�วอย่��ง1: เปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF ก/าจ�ด้

x(Pass(x, HISTORY) Win(x, LOTTERY) Happy(x)) x([Pass(x, HISTORY) Win(x, LOTTERY)] Happy(x))

xy (Study(x) Lucky(x) Pass(x,y)) xy ([ Study(x) Lucky(x)] Pass(x,y))

Study(สัมช่าย) Lucky(สัมช่าย)

x(Lucky(x) Win(x, LOTTERY)) x( Lucky(x) Win(x, LOTTERY))

ตั�วอย่��ง1: เปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (1) กระจาย เข้�าไป็ในป็ระโยค

x([Pass(x, HISTORY) Win(x, LOTTERY)] Happy(x)) x(Pass(x, HISTORY) Win(x, LOTTERY) Happy(x))

xy ([ Study(x) Lucky(x)] Pass(x,y)) xy ([Study(x) Lucky(x)] Pass(x,y))

Study(สัมช่าย) Lucky(สัมช่าย) x( Lucky(x) Win(x, LOTTERY))

Standardize : ไม�ม,ให�ท/า เล!�อน Quantifier ไปด��นซ้��ย่ข้องประโย่ค่ : ไม�ต้�องท/า ที่�� Skolemization : ไม�ต้�องท/า

ตั�วอย่��ง1: เปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (2) ต้�ด้ universal quantifier ออก

Pass(x, HISTORY) Win(x, LOTTERY) Happy(x)

(Study(x) Lucky(x)) Pass(x,y) Study(สัมช่าย) Lucky(สัมช่าย) Lucky(x) Win(x, LOTTERY)

ท/า Distribution (Study(x) Lucky(x)) Pass(x,y)

(Study(x) Pass(x,y)) (Lucky(x) Pass(x,y))

ตั�วอย่��ง1: เปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (3) จาก

Pass(x, HISTORY) Win(x, LOTTERY) Happy(x) (Study(x) Pass(x,y)) (Lucky(x) Pass(x,y)) Study(สัมช่าย) Lucky(สัมช่าย) Lucky(x) Win(x, LOTTERY)

แยกออกเป็�นป็ระโยคย�อยได้� Pass(x, HISTORY) Win(x, LOTTERY) Happy(x) (Study(x) Pass(x,y)) (Lucky(x) Pass(x,y)) Study(สัมช่าย) Lucky(สัมช่าย) Lucky(x) Win(x, LOTTERY)

ตั�วอย่��ง1: เปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (4) จาก

Pass(x, HISTORY) Win(x, LOTTERY) Happy(x) (Study(x) Pass(x,y)) (Lucky(x) Pass(x,y)) Study(สัมช่าย) Lucky(สัมช่าย) Lucky(x) Win(x, LOTTERY)

Standardize ต้�วแป็รข้องแต้�ลัะป็ระโยคย�อยได้� Pass(x1, HISTORY) Win(x1, LOTTERY) Happy(x1) (Study(x2) Pass(x2,y1)) (Lucky(x3) Pass(x3,y2)) Study(สัมช่าย) Lucky(สัมช่าย) Lucky(x4) Win(x4, LOTTERY)

ตั�วอย่��ง1: พั"ส่-จำน� (1)

จากสัมม-ต้ ฐานท,(ได้�1. Pass(x1, HISTORY) Win(x1, LOTTERY)

Happy(x1)2. Study(x2) Pass(x2,y1) 3. Lucky(x3) Pass(x3,y2)4. Study(สัมช่าย)5. Lucky(สัมช่าย) 6. Lucky(x4) Win(x4, LOTTERY)

ต้�องการพื่ สั2จน�ว�า สัมช่ายม,ความสั-ข้ Happy(สัมช่าย) ด้�งน�0นให�กลั�บค�าความเป็�นจร งเป็�นพื่ สั2จน� Happy(สัมช่าย)

ตั�วอย่��ง1: พั"ส่-จำน� (2)

Happy(สัมช่าย) Pass(x1, HISTORY) Win(x1, LOTTERY) Happy(x1)

Pass(สัมช่าย, HISTORY) Win(สัมช่าย, LOTTERY) Lucky(x4) Win(x4, LOTTERY)

Pass(สัมช่าย, HISTORY) Lucky(สัมช่าย) Lucky(สัมช่าย)

Pass(สัมช่าย, HISTORY)Lucky(x3) Pass(x3,y2)

Lucky(สัมช่าย)Lucky(สัมช่าย) พื่ สั2จน�ได้�ว�า สัมช่ายม,ความสั-ข้

Happy(สัมช่าย)

{สัมช่าย/x1}

{สัมช่าย/x4}

{สัมช่าย/x3, HISTORY/y2}

ตั�วอย่��ง2:

จากข้�อม2ลัต้�อไป็น,0 Marcus was a man Marcus was a Pompeian Marcus was born in 40 AD. All men are mortal All Pompeians died when the volcano erupted in 79 AD. No mortal lives longer than 150 years It’s now 2011 Alive means not dead If someone dies, then he’s dead at all later times.

จงพื่ สั2จน� Marcus is not alive ?

ตั�วอย่��ง2: ส่ร��งประโย่ค่ในร-ปแบ่บ่ข้อง FOL (1) Marcus was a man

man(Marcus) Marcus was a Pompeian

pompeian(Marcus) Marcus was born in 40 AD.

born(Marcus, 40) All men are mortal

x (man(x) mortal(x)) All Pompeians died when the volcano erupted in

79 AD. erupted(Volcano, 79) x(pompeian(x) died(x, 79))

ตั�วอย่��ง2: ส่ร��งประโย่ค่ในร-ปแบ่บ่ข้อง FOL (2) No mortal lives longer than 150 years

x t1 t2 (mortal(x) born(x, t1) gt(t2-t1, 150) dead(x, t2))

It’s now 2011 now = 2011

Alive means not dead x t ([alive(x, t) dead(x, t)] [dead(x,t) alive(x, t)])

If someone dies, then he’s dead at all later times. x t1 t2 (died(x, t1) gt(t2, t1) dead(x, t2))

จงพื่ สั2จน� Marcus is not alive ? alive(Marcus, now)

ตั�วอย่��ง2: เปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (1) ก/าจ�ด้

x (man(x) mortal(x)) x ( man(x) mortal(x))

erupted(Volcano, 79) x(pompeian(x) died(x, 79)) erupted(Volcano, 79) x( pompeian(x) died(x, 79))

x t1 t2 (mortal(x) born(x, t1) gt(t2-t1, 150) dead(x, t2))

x t1 t2 ( (mortal(x) born(x, t1) gt(t2-t1, 150) ) dead(x, t2))

x t ([alive(x, t) dead(x, t)] [dead(x,t) alive(x, t)]) x t ([alive(x, t) dead(x, t)] [ dead(x,t) alive(x, t)])

x t1 t2 (died(x, t1) gt(t2, t1) dead(x, t2)) x t1 t2 ( (died(x, t1) gt(t2, t1)) dead(x, t2))

man(Marcus)pompeian(Marcus)

born(Marcus, 40)

now = 2011

ตั�วอย่��ง2: เปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (2) กระจาย

x t1 t2 ( (mortal(x) born(x, t1) gt(t2-t1, 150) ) dead(x, t2))

x t1 t2 (mortal(x) born(x, t1) gt(t2-t1, 150) dead(x, t2))

x t1 t2 ( (died(x, t1) gt(t2, t1)) dead(x, t2)) x t1 t2 ( died(x, t1) gt(t2, t1) dead(x, t2))

man(Marcus)pompeian(Marcus)born(Marcus, 40)now = 2011x ( man(x) mortal(x))erupted(Volcano, 79) x( pompeian(x) died(x, 79))x t ([alive(x, t) dead(x, t)] [ dead(x,t) alive(x, t)])

ตั�วอย่��ง2: เปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (3) Standardization : ไม�ม, เลั'(อน Quantifier ไป็ด้�านซั�าย : ท-กป็ระโยคอย2�ด้�านซั�ายหมด้แลั�ว ท/า Skolemization เพื่'(อก/าจ�ด้ : ไม�ม, ถอด้ ออกจากป็ระโยค

man(Marcus) pompeian(Marcus) born(Marcus, 40) man(x) mortal(x) erupted(Volcano, 79) ( pompeian(x) died(x, 79)) mortal(x) born(x, t1) gt(t2-t1, 150) dead(x, t2)) now = 2011 (alive(x, t) dead(x, t)) ( dead(x,t) alive(x, t)) died(x, t1) gt(t2, t1) dead(x, t2)

ตั�วอย่��ง2: เปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (4) แยกออกเป็�นป็ระโยคย�อย

1. man(Marcus)

2. pompeian(Marcus)

3. born(Marcus, 40)

4. man(x) mortal(x)

5. erupted(Volcano, 79)

6. pompeian(x) died(x, 79)

7. mortal(x) born(x, t1) gt(t2-t1, 150) dead(x, t2))

8. now = 2011

9. alive(x, t) dead(x, t)

10. dead(x,t) alive(x, t)

11. died(x, t1) gt(t2, t1) dead(x, t2)

ตั�วอย่��ง2: เปล��ย่นประโย่ค่ให�อย่-�ในร-ป CNF (5) Standardization ต้�วแป็ร

1. man(Marcus)

2. pompeian(Marcus)

3. born(Marcus, 40)

4. man(x1) mortal(x1)

5. erupted(Volcano, 79)

6. pompeian(x2) died(x2, 79)

7. mortal(x3) born(x3, t1) gt(t2-t1, 150) dead(x3, t2))

8. now = 2011

9. alive(x4, t3) dead(x4, t3)

10. dead(x5,t4) alive(x5, t4)

11. died(x6, t5) gt(t6, t5) dead(x6, t6)

ตั�วอย่��ง2: พั"ส่-จำน� พื่ สั2จน� alive(Marcus, now) โด้ยต้รวจสัอบจาก

alive(Marcus, now)alive(Marcus, now) 9

dead(Marcus, now)

died(Marcus, t5) gt(now, t5)

11

gt(now, 79) pompeian(Marcus)

6

gt(2011, 79) pompeian(Marcus)

pompeian(Marcus) 2

{Marcus/x4, now/t3}

{Marcus/x6, now/t6}

{Marcus/x2, 79/t5}

{now = 2011}

สัร-ป็ Now, Marcus is not alive

แบ่บ่ฝึ1กัห�ด (ที่��ส่�ง)

จากข้�อม2ลัต้�อไป็น,0 Marcus was a man. Marcus was a Pompeian. All Pompeian were Romans. Caesar was a ruler. All Romans were either loyal to

Caesar or hated him Everyone is loyal to someone People only try to assassinate rulers they aren’t loyal to. Marcus tried to assassinate Caesar. All men are people.

จงพื่ สั2จน�ว�า Marcus hated Caesar

ก/าหนด้ Predicate man(x) pompeian (x) roman(x) ruler(x) loyalto(x, y) hate(x, y) tryassasinate(x,

y) people(x)

Recommended