32
PREDICATE CALCULUS FIRST ORDER LOGIC 030513122 - Discrete Mathematics Asst. Prof. Dr. Choopan Rattanapoka

Predicate calculus First order Logic

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Predicate calculus  First order Logic

PREDICATE CALCULUS FIRST ORDER LOGIC

030513122 - Discrete Mathematics

Asst. Prof. Dr. Choopan Rattanapoka

Page 2: Predicate calculus  First order Logic

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

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

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

Page 3: Predicate calculus  First order Logic

Predicate (1)

พื่ จารณ์า statements: x>3, x=y+3, x+y=z

สั�ญลั�กษณ์� >, +, = ย�อมาจากความสั�มพื่�นธ์�ระหว�าง x แลัะ 3, ระหว�าง x y แลัะ 4, ระหว�าง x y แลัะ z ต้ามลั0าด้�บ

ความสั�มพื่�นธ์�น,1จะเป็�นจร ง หร'อ ไม� ข้+1นอย2�ก�บค�าข้องต้�วแป็ร x, y แลัะ z

Predicate ค'อค-ณ์สัมบ�ต้ ท,(ย'นย�นหร'อป็ฏิ เสัธ์ค�าความจร ง จากต้�วแป็ร (variable) ข้อง statement

ตั�วอย่��ง statement : ‘x มากกว�า 3’ ‘x’ ค'อต้�วแป็ร ‘มากกว�า 3’ ค'อ predicate

Page 4: Predicate calculus  First order Logic

Predicate (2)

การท,(จะเข้,ยน Predicate Logic ‘x มากกว�า 3’ ข้��นตัอนที่�� 1 : สัร�างสั�ญลั�กษณ์�สั0าหร�บ Predicate

P( ) แทน Predicate มากกว�า 3 ข้��นตัอนที่�� 2 : น0าต้�วแป็รน�1นๆ ใสั�เป็�น argument ให�ก�บ

Predicate P(x)

ค0าเร,ยกใช่� P(x) เป็�น statement P ค'อ predicate x ค'อ argument P(5) เป็�น proposition

Page 5: Predicate calculus  First order Logic

Predicate Logic

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

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

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

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

Page 6: Predicate calculus  First order Logic

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

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

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

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

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

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

SURASAK ค'อใคร

Page 7: Predicate calculus  First order Logic

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

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

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

ต้�วอย�างช่'(อเร,ยกป็ระเภทข้อง Predicate Father(x): unary predicate Brother(x,y): binary predicate Sum(x,y,z): ternary predicate P(x,y,z,t): n-ary predicate

Page 8: Predicate calculus  First order Logic

Propositional Functions

น"ย่�ม: statement ท,(อย2�ในร2ป็แบบ P(x1,x2,…, xn) ค'อค�าข้อง propositional symbol P.

จากต้�วอย�าง (x1,x2,…, xn) ค'อ n-tuple แลัะ P ค'อ predicate

เราสัามารถเป็ร,ยบเท,ยบ propositional function (Predicate) ค'อ ฟั:งก�ช่�นท,( สัามารถป็ระเม นค�า true หร'อ false ได้� ร�บ arguments ต้�1งแต้� 1 ค�าข้+1นไป็ กลัายเป็�น proposition เม'(อม,ค�าก0าหนด้ให�ก�บต้�วแป็ร

Page 9: Predicate calculus  First order Logic

ต้�วอย�าง: Propositional Functions ก0าหนด้ Q(x,y,z) ย�อมาจาก statement

‘x2+y2=z2’ ค�าความเป็�นจร งข้อง Q(3,4,5) ค'อ ?

ค�าความเป็�นจร งข้อง Q(2,2,3) ค'อ ?

ม,ค�าข้อง (x,y,z) ก,(ค�าท,(ท0าให� predicate น,1ม,ค�าเป็�น true?

Page 10: Predicate calculus  First order Logic

Universe of Discourse

พื่ จารณ์า statement ‘x>3’, ถ�าม,การก0าหนด้ค�า สั,น01าเง น ให�ก�บ “ ” x จะสั'(อความหมายไหม ?

Universe of discourse ค'อ set ข้องค�าท,(ต้�องการพื่2ด้ถ+ง หร'อค'อข้อบเข้ต้ข้องค�าท,(จะก0าหนด้ให�ก�บต้�วแป็รข้อง Predicate ได้�

ตั�วอย่��ง : จะก0าหนด้ Universe of discourse อะไรให�ก�บ x ใน statement: EnrolledDiscrete(x)=‘x ลังเร,ยนว ช่า Discrete

Mathematics

Page 11: Predicate calculus  First order Logic

Universe of Discourse: Multivariate functions

แต้�ลัะต้�วแป็รใน n-tuple อาจม, universe of discourse ท,(แต้กต้�างก�น

พื่ จารณ์า n-ary ข้อง predicate P: P(r,g,b,c)= ‘The rgb-values of the color c is (r,g,b)’

ตั�วอย่��ง : จงหาค�าความจร งข้อง statement ต้�อไป็น,1 P(255,0,0, red) P(0,0,255, green) จงหา universes of discourse of (r,g,b,c)

Page 12: Predicate calculus  First order Logic

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

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

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

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

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

MONK(BOB) AGE25(BOB)

Page 13: Predicate calculus  First order Logic

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

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

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

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

Page 14: Predicate calculus  First order Logic

Universal Quantifier: ค0าน ยาม น"ย่�ม: Universal quantification ข้อง

predicate P(x) ค'อ proposition ‘P(x) ท,(ม,ค�า true สั0าหร�บท-กๆ ค�าข้อง x ในข้อบเข้ต้ท,(ก0าหนด้ ’

จะใช่�สั�ญลั�กษณ์�: x P(x) อ�านว�า ‘for all x’ ถ�าข้อบเข้ต้ท,(ก0าหนด้ค'อข้องค�า x ค'อ {n1,n2,…,nk}

แลั�วค�าความเป็�นจร งข้อง x P(x) ค'อ x P(x) P(n1) P(n2) … P(nk)

Page 15: Predicate calculus  First order Logic

Universal Quantifier: ต้�วอย�างท,( 1

ก0าหนด้ P(x): ‘x จะต้�องเร,ยนว ช่า discrete mathematics’ Q(x): ‘x ค'อ น�กศ+กษาหลั�กสั2ต้ร Enet-C’

ข้อบเข้ต้ข้อง x ค'อ ใน P(x) แลัะ Q(x) ค'อน�กศ+กษา มจพื่. การเข้,ยน statements:

“น�กศ+กษาหลั�กสั2ต้ร Enet-C ท-กคน จะต้�องเร,ยนว ช่า discrete mathematics”

“น�กศ+กษาท-กคนใน มจพื่ จะต้�องเร,ยนว ช่า discrete mathematics หร'อเป็�นน�กศ+กษาหลั�กสั2ต้ร Enet-C”

“น�กศ+กษาท-กคนใน มจพื่ จะต้�องเร,ยนว ช่า discrete mathematics แลัะเป็�นน�กศ+กษาหลั�กสั2ต้ร Enet-C”

x Q(x) P(x)

x ( P(x) Q(x) )

x ( P(x) Q(x) )

จงหาค�าความเป็�นจร งข้อง

Statement

Page 16: Predicate calculus  First order Logic

Universal Quantifier: ต้�วอย�างท,( 2 จาก statement

‘for every x and every y, x+y>10’ การเข้,ยน Universal Quiantifier:

1 . ก0าหนด้ P(x,y) แทน statement x+y>102. ก0าหนด้ข้อบเข้ต้ข้อง x, y อย2�ใน set ข้องจ0านวนเต้"ม3. จะเข้,ยน statement ได้�ว�า: x y P(x,y)

เข้,ยนแบบย�อ ค'อ x,y P(x,y)

Page 17: Predicate calculus  First order Logic

Existential Quantifier: ค0าน ยาม ค่��น"ย่�ม: Existential quantification ข้อง

predicate P(x) ค'อ proposition ‘ม,ค�าอย�างน�อยหน+(งค�าข้อง x ในข้อบเข้ต้ท,(ก0าหนด้ ท,(ท0าให� P(x) is true’ สั�ญลั�กษณ์�: x P(x) การอ�าน: ‘there exists x’

ถ�า universe of discourse ค'อ {n1,n2,…,nk}, แลั�วค�าความเป็�นจร งข้อง x P(x) ค'อ

x P(x) P(n1) P(n2) … P(nk)

Page 18: Predicate calculus  First order Logic

Existential Quantifier: ต้�วอย�าง ก0าหนด้ให� P(x,y) ย�อมาจาก statement ‘x+y=5’ What does the expression x y P(x,y)

mean? Which universe(s) of discourse make it

true?

Page 19: Predicate calculus  First order Logic

สัร-ป็ค�าความเป็�นจร งข้อง Quantifiers ต้ารางสัร-ป็ค�าความเป็�นจร งข้อง Quantifier

Statement True when… False when...

x P(x)P(x) เป็�นจร งสั0าหร�บท-กค�า

ข้อง x ม,อย�างน�อย 1 ค�าใน x ท,(

ท0าให�P(x) เป็�นเท"จ

x P(x) ม,อย�างน�อย 1 ค�าใน x ท,(

ท0าให�P(x) เป็�นจร งP(x) เป็�นเท"จสั0าหร�บท-กค�า

ข้อง x

Page 20: Predicate calculus  First order Logic

ค่��ค่วรระว�งในกั�รใชั� 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) ) ถ้/กั

Page 21: Predicate calculus  First order Logic

Nested Quantifier

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

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

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

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

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

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

Page 22: Predicate calculus  First order Logic

Nested Quantifier: ค่��ค่ว�มจำร"ง

Statement True when... False when...

xy P(x,y)

P(x,y) เป็�นจร งเม'(อท-กค2�ข้อง x,y เป็�นจร ง

เม'(อม,ค2� x,y อย�างน�อย 1

ค2�ท,(ท0าให� P(x,y) เป็�นเท"จ

xy P(x,y)

สั0าหร�บท-กค�า x, จะม,ค�า y

อย�างน�อย 1 ค�าท,(ท0าให� P(x,y) เป็�นจร ง

เม'(อม,ค�า x อย�างน�อย 1

ค�าท,(ท0าให� P(x,y) เป็�นเท"จสั0าหร�บท-กค�าข้อง y

xy P(x,y)

เม'(อม,ค�า x อย�างน�อย 1

ค�าท,(ท0าให�P(x,y) เป็�นจร งสั0าหร�บท-กค�าข้อง y

สั0าหร�บท-กค�า x, จะม,ค�า y

อย�างน�อย 1 ค�าท,(ท0าให� P(x,y) เป็�นเท"จ

xyP(x,y)

เม'(อม,ค2� x,y อย�างน�อย 1

ค2�ท,(ท0าให� P(x,y) เป็�นจร งP(x,y) เป็�นเท"จสั0าหร�บท-กค2�ข้อง x,y

Page 23: Predicate calculus  First order Logic

Nested Quantifier: ตั�วอย่��งที่�� 1 จงแสัด้งในร2ป็แบบข้อง predicate logic สั0าหร�บ

statement ท,(ว�า เลัข้จ0านวนเต้"มม,จ0านวนไม�จ0าก�ด้

(there is an infinite number of integers) ว ธ์,ท0า:

1 . ก0าหนด้ P(x,y) เป็�น Predicate สั0าหร�บ x<y2. ก0าหนด้ให� universe of discourse เป็�น

จ0านวนเต้"ม, Z3. เพื่ราะฉะน�1นสัามารถเข้,ยน statement ได้�ว�า

x y P(x,y)

Page 24: Predicate calculus  First order Logic

Nested Quantifier: ตั�วอย่��งที่�� 2 จงแสัด้ง commutative law of addition for R จะต้�องแสัด้งให�ได้�ว�าในท-กค2�ข้องจ0านวนจร ง x,y

สัมการ x+y=y+x จะต้�องเป็�นจร งเสัมอ ว"ธ์�ที่�� :

1 . ก0าหนด้ให� P(x,y) เป็�น Predicate สั0าหร�บ x+y

2. ก0าหนด้ให� universe of discourse เป็�นจ0านวนจร ง , R

3. เพื่ราะฉะน�1นสัามารถเข้,ยน statement ได้�ว�าx y (P(x,y) P(y,x))

เข้,ยนอ,กแบบโด้ยไม�ต้�องใช่� Predicate ค'อ x y (x+y = y+x)

Page 25: Predicate calculus  First order Logic

Nested Quantifier: ตั�วอย่��งที่�� 3 จงแสัด้ง multiplicative law สั0าหร�บต้�วเลัข้ท,(ไม�ใช่� 0 ข้อบเข้ต้ในร2ป็แบบคณ์ ต้ศาสัต้ร�เข้,ยนได้�ว�า R \ {0} ต้�องการแสัด้งว�า ในท-กๆ จ0านวนจร ง x จะม,ค�า y อย�าง

น�อย 1 ค�าท,(ท0าให�ผู้ลัค2ณ์ออกมาเป็�น 1 (xy=1) เข้,ยนได้�เป็�น ?

Page 26: Predicate calculus  First order Logic

Nested Quantifier: ตั�วอย่��งที่�� 4

ก0าหนด้ให� Universe of discourse เป็�นจ0านวนจร ง R

commutativity สั0าหร�บการลับ ต้าม Predicate ข้�างต้�น ให�ค�าจร งหร'อเท"จ ?

x y (x-y = y-x)

Page 27: Predicate calculus  First order Logic

Nested Quantifier: ตั�วอย่��งที่�� 5 จงแสัด้ง statement ต้�อไป็น,1ในร2ป็แบบข้อง

Predicate Logic: “There is a number x such that when it is added to any number, the

result is that number and if it is multiplied by any number, the

result is x” ก0าหนด้ universe of discourse ค'อ Z

(จ0านวนเต้"ม)

Page 28: Predicate calculus  First order Logic

ค่ว�มส่�มพั�นธ์�ข้อง และ 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)

Page 29: Predicate calculus  First order Logic

Negation: ตั�วอย่��งที่�� 1 จงน0าน เสัธ์เข้�าไป็ใน Statement 1. ในโลักน,1ด้อกก-หลัาบไม�ได้�ม,สั,แด้งท-กด้อก

Rose(x) ค'อ x เป็�นด้อกก-หลัาบ, Red(x) ค'อ x ม,สั,แด้ง

Universe of discourse ค'อ ด้อกไม� x (Rose(x) Red(x))

2. ในโลักน,1ไม�ม,คนท,(เพื่,ยบพื่ร�อมท-กอย�าง Person(x) ค'อ x เป็�นคน, Perfect(x) ค'อ x เป็�น

คนเพื่'ยบพื่ร�อมท-กอย�าง Universe of discourse ค'อ สั (งม,ช่,ว ต้บนโลัก x (Person(x) Perfect(x))

Page 30: Predicate calculus  First order Logic

Negation: แบ่บ่ฝึ2กัห�ด จงเข้,ยน statement ด้�านลั�างใหม�โด้ยการน0านเสัธ์

เข้�าไป็ข้�างใน: x ( y z P(x,y,z) z y P(x,y,z))

x y ( x2 y )

Page 31: Predicate calculus  First order Logic

แบ่บ่ฝึ2กัห�ดที่��ส่�ง

1 . จงเข้,ยนเป็�นป็ระโยคสั�ญลั�กษณ์�โด้ยใช่�ต้�วบ�งป็ร มาณ์ เม'(อ universe of discourse เป็�นเซัต้ข้องจ0านวนจร งม,จ0านวนจร ง x ซั+(ง x + 0 = 2xม, x แลัะ y บางต้�วบวกก�นได้� 5ม, x บางต้�ว เม'(อค2ณ์ก�บ y ท-กต้�วจะได้� y เสัมอ

2. ก0าหนด้ให� universe of discourse = {1, 2, 3} แลัะ P(x,y)= (x/y=1) จงหาค�าความจร งข้อง x y P(x,y) x y P(x,y) y x P(x,y) y x P(x,y)

Page 32: Predicate calculus  First order Logic

แบ่บ่ฝึ2กัห�ดที่��ส่�ง3. จงเข้,ยน predicate ข้อง ม,คนไทยซั+(งเป็�นผู้2�หญ ง แต้�“

ไม�ม,ผู้มยาว แลัะ ” predicate ท,(เป็�นน เสัธ์ก0าหนด้ universe of discourse ค'อ คนใน

ป็ระเทศไทย W(x) แทน “x เป็�นผู้2�หญ ง ”L(x) แทน “x ผู้มยาว”

4. จงหาน เสัธ์ข้อง xy(xy=1) x(x>0) x(x2<0) x(x0) x(x0)