1 / 32

Predicate calculus First order Logic

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

Download Presentation

Predicate calculus First order Logic

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Predicate calculus First order Logic 030513122 - Discrete Mathematics Asst. Prof. Dr. Choopan Rattanapoka

  2. ข้อจำกัดของ Propositional Logic • ทบทวน • Propositional Logic เป็นการแทนประโยคด้วยสัญลักษณ์ เช่น • สมชายเป็นคน (P) • สมปองเป็นคน (Q) • สมหญิงเป็นคน (R) • จะเห็นได้ว่าจะต้องใช้สัญลักษณ์ 1 ตัวเพื่อแทนประโยค 1 ประโยคไม่สามารถจะเข้าถึงค่าที่มีคุณลักษณะเหมือนกันเฉพาะตัวได้

  3. Predicate(1) • พิจารณาstatements: x>3, x=y+3, x+y=z • สัญลักษณ์>, +, = ย่อมาจากความสัมพันธ์ระหว่างxและ3, ระหว่างxyและ4, ระหว่าง xyและ z ตามลำดับ • ความสัมพันธ์นี้จะเป็นจริง หรือ ไม่ ขึ้นอยู่กับค่าของตัวแปร x, y และ z • Predicateคือคุณสมบัติที่ยืนยันหรือปฏิเสธค่าความจริง จากตัวแปร (variable) ของstatement • ตัวอย่าง statement : ‘xมากกว่า3’ • ‘x’คือตัวแปร • ‘มากกว่า3’คือ predicate

  4. Predicate (2) • การที่จะเขียนPredicate Logic ‘xมากกว่า3’ • ขั้นตอนที่ 1 :สร้างสัญลักษณ์สำหรับ Predicate • P( ) แทน Predicate มากกว่า 3 • ขั้นตอนที่ 2 :นำตัวแปรนั้นๆ ใส่เป็นargument ให้กับ Predicate • P(x) • คำเรียกใช้ • P(x) เป็นstatement • P คือpredicate • x คือargument • P(5) เป็นproposition

  5. Predicate Logic • บางครั้งเรียกว่า Predicate Calculus • เป็นกระบวนการตรรกะที่มีความซับซ้อนกว่า Propositional Logic • แต่มีการอนุมานเพื่อให้ได้ค่าความจริงใหม่จากค่าความจริงที่มีอยู่แล้ว • องค์ประกอบพื้นฐานของ Predicate Logic จะประกอบด้วย • ตัวอักษร (Alphabet) • ส่วนแสดงความสัมพันธ์ (Predicate) • ตัวเชื่อม (Connective) • ตัวบ่งปริมาณ (Quantifier)

  6. Predicate Logic : ตัวอักษร • ตัวอักษร เป็นองค์ประกอบที่เป็นส่วนของตัวอักษรที่ใช้ในกระบวนการของ Predicate Logic ประกอบด้วย • ค่าคงที่ (Constant) เป็นค่าที่ใช้บอกถึงความหมายที่ชัดเจนแน่นอน เช่น • GARFIELD แทนความหมายของแมว • SURASAK แทนความหมายของคน เพศชาย • ตัวแปร (Variable) คือ การระบุถึงความหมายในภาพรวม ไม่เฉพาะเจาะจง • cat หมายถึงสัตว์ที่เป็นแมว แต่ไม่ได้ระบุถึงพันธุ์ • father หมายถึงพ่อคน แต่ไม่ได้ระบุว่าพ่อใคร • ฟังก์ชัน (Function) คือส่วนที่ใช้ในการบ่งบอกโดเมนขององค์ประกอบ • cat(GARFIELD) เป็นฟังก์ชันสำหรับหาว่า GARFIELD เป็นแมวพันธุ์อะไร • father(SURASAK) เป็นฟังก์ชันสำหรับหาว่าพ่อของ SURASAK คือใคร

  7. Predicate Logic : ส่วนแสดงความสัมพันธ์ • เป็นส่วนที่ใช้แสดงความสัมพันธ์ระหว่างองค์ประกอบ ซึ่งจะช่วยขยายความเข้าใจในค่าที่แสดงว่ามีความสัมพันธ์กันอย่างไร เช่น • MAN(SURASAK) SURASAK เป็นผู้ชาย • 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-arypredicate

  8. Propositional Functions • นิยาม: statement ที่อยู่ในรูปแบบP(x1,x2,…, xn) คือค่าของpropositional symbol P. • จากตัวอย่าง(x1,x2,…, xn) คือ n-tuple และPคือ predicate • เราสามารถเปรียบเทียบpropositional function(Predicate) คือ ฟังก์ชันที่ • สามารถประเมินค่า true หรือ false ได้ • รับ arguments ตั้งแต่ 1 ค่าขึ้นไป • กลายเป็นproposition เมื่อมีค่ากำหนดให้กับตัวแปร

  9. ตัวอย่าง: Propositional Functions • กำหนดQ(x,y,z) ย่อมาจากstatement ‘x2+y2=z2’ • ค่าความเป็นจริงของQ(3,4,5) คือ ? • ค่าความเป็นจริงของQ(2,2,3) คือ ? • มีค่าของ (x,y,z) กี่ค่าที่ทำให้predicate นี้มีค่าเป็น true?

  10. Universe of Discourse • พิจารณาstatement ‘x>3’, ถ้ามีการกำหนดค่า “สีน้ำเงิน” ให้กับ x จะสื่อความหมายไหม ? • Universe of discourseคือset ของค่าที่ต้องการพูดถึง หรือคือขอบเขตของค่าที่จะกำหนดให้กับตัวแปรของ Predicate ได้ • ตัวอย่าง : จะกำหนด Universe of discourse อะไรให้กับ x ใน statement: EnrolledDiscrete(x)=‘x ลงเรียนวิชา Discrete Mathematics

  11. 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 ต่อไปนี้ • P(255,0,0,red) • P(0,0,255,green) • จงหา universes of discourse of (r,g,b,c)

  12. Predicate Logic : ตัวเชื่อม • ตัวเชื่อมใช้ในการเชื่อมระหว่างส่วนแสดงความสัมพันธ์ (Predicate) เข้าด้วยกัน มีเครื่องหมายต่างๆ ดังนี้ • นิเสธ ()ทำให้กลับค่าความจริง • และ () เช่น บ๊อบหล่อและนิสัยดี เขียนได้เป็น • HANDSOME(BOB)  NICE(BOB) • หรือ () เช่น กรแก่กว่าบ๊อบหรือส้ม • OLDER(KORN, BOB)  OLDER(KORN, SOM) • ถ้า ... แล้ว () เช่น ถ้าบ๊อบดำแล้วบ๊อบจะหล่อ • BLACK(BOB)  HANDSOME(BOB) • ก็ต่อเมื่อ () เช่น บ๊อบจะบวชก็ต่อเมื่ออายุ 25 ปี • MONK(BOB)  AGE25(BOB)

  13. Predicate Logic : ตัวบ่งปริมาณ • เป็น ค่าที่ใช้ชี้วัดปริมาณของประโยค เพื่อใช้ในการบ่งชี้ถึงจำนวนหรือขนาด ใน Predicate Logic ทำให้เกิด First Order Logic มีอยู่ 2 ประเภทคือ • ตัวบ่งปริมาณสากล(Universal Quantifier) บางครั้งเรียก “For All” จะใช้เครื่องหมาย  จะเป็นจริงเมื่อทุกค่าเป็นจริง • คนไทยจะเลือกตั้งได้ตอนอายุ 18 ปี • x(THAI18(x)  VOTE(x)) • ตัวบ่งปริมาณบางส่วน(Existential Quantifier) บางครั้งเรียก “For Some”จะใช้เครื่องหมาย  จะเป็นจริงถ้าค่าบางค่าเป็นจริง • คนบางคนเล่น facebookและ twitter • x(FACEBOOK(x)  TWITTER(x))

  14. Universal Quantifier: คำนิยาม • นิยาม: Universal quantification ของpredicate P(x) คือproposition ‘P(x) ที่มีค่าtrue สำหรับทุกๆ ค่าของ x ในขอบเขตที่กำหนด’ • จะใช้สัญลักษณ์:  xP(x) อ่านว่า ‘for all x’ • ถ้าขอบเขตที่กำหนดคือของค่า x คือ {n1,n2,…,nk} แล้วค่าความเป็นจริงของ  xP(x) คือ  xP(x)  P(n1) P(n2)  … P(nk)

  15. Universal Quantifier: ตัวอย่างที่ 1 • กำหนด • P(x): ‘xจะต้องเรียนวิชาdiscrete mathematics’ • Q(x): ‘x คือ นักศึกษาหลักสูตร Enet-C’ • ขอบเขตของ x คือ ในP(x) และQ(x) คือนักศึกษา มจพ. • การเขียน statements: • “นักศึกษาหลักสูตร Enet-C ทุกคน จะต้องเรียนวิชาdiscrete mathematics” • “นักศึกษาทุกคนใน มจพ จะต้องเรียนวิชา discrete mathematics หรือเป็นนักศึกษาหลักสูตร Enet-C” • “นักศึกษาทุกคนใน มจพ จะต้องเรียนวิชา discrete mathematics และเป็นนักศึกษาหลักสูตร Enet-C” จงหาค่าความเป็นจริงของ Statement  xQ(x)  P(x)  x ( P(x)  Q(x) )  x ( P(x)  Q(x) )

  16. Universal Quantifier: ตัวอย่างที่2 • จากstatement ‘for every x and every y, x+y>10’ • การเขียน Universal Quiantifier: • กำหนดP(x,y) แทนstatement x+y>10 • กำหนดขอบเขตของx, yอยู่ในset ของจำนวนเต็ม • จะเขียน statement ได้ว่า: x yP(x,y) • เขียนแบบย่อ คือx,yP(x,y)

  17. Existential Quantifier: คำนิยาม • คำนิยาม: Existential quantification ของpredicate P(x) คือproposition ‘มีค่าอย่างน้อยหนึ่งค่าของ x ในขอบเขตที่กำหนด ที่ทำให้P(x) is true’ • สัญลักษณ์:  xP(x) • การอ่าน: ‘there exists x’ • ถ้าuniverse of discourse คือ{n1,n2,…,nk}, แล้วค่าความเป็นจริงของ  xP(x) คือ  xP(x)  P(n1) P(n2)  …  P(nk)

  18. Existential Quantifier: ตัวอย่าง • กำหนดให้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?

  19. สรุปค่าความเป็นจริงของ Quantifiers • ตารางสรุปค่าความเป็นจริงของ Quantifier

  20. ค่าควรระวังในการใช้ 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) ) ถูก

  21. Nested Quantifier • บางครั้งความต้องการที่จะแสดงประโยคที่ซับซ้อนมากขึ้น จะมีการใช้ตัวบ่งปริมาณหลายตัว เช่น • พี่น้องคือญาติ x y Brother(x,y)  Sibling(x,y) • x y y xสามารถเขียน x,yได้เพื่อให้ดูง่ายขึ้น • xyyx สามารถเขียน x,yได้เพื่อให้ดูง่ายขึ้น • x yไม่เหมือนกับ yx • x y Loves(x,y) • มีบางคนที่รักทุกๆคนในโลก • yxLoves(x,y) • ทุกๆคนในโลกนี้ถูกใครบางคนรัก

  22. Nested Quantifier: ค่าความจริง

  23. Nested Quantifier: ตัวอย่างที่ 1 • จงแสดงในรูปแบบของpredicate logic สำหรับstatement ที่ว่า เลขจำนวนเต็มมีจำนวนไม่จำกัด (there is an infinite number of integers) • วิธีทำ: • กำหนดP(x,y) เป็น Predicate สำหรับx<y • กำหนดให้universe of discourse เป็นจำนวนเต็ม, Z • เพราะฉะนั้นสามารถเขียน statement ได้ว่า x yP(x,y)

  24. Nested Quantifier: ตัวอย่างที่ 2 • จงแสดง commutative law of addition for R • จะต้องแสดงให้ได้ว่าในทุกคู่ของจำนวนจริง x,yสมการx+y=y+xจะต้องเป็นจริงเสมอ • วิธีทำ : • กำหนดให้ P(x,y) เป็น Predicate สำหรับ x+y • กำหนดให้ universe of discourse เป็นจำนวนจริง , R • เพราะฉะนั้นสามารถเขียน statement ได้ว่า x y (P(x,y)P(y,x)) เขียนอีกแบบโดยไม่ต้องใช้ Predicate คือx y (x+y =y+x)

  25. Nested Quantifier: ตัวอย่างที่ 3 • จงแสดงmultiplicative law สำหรับตัวเลขที่ไม่ใช่ 0 • ขอบเขตในรูปแบบคณิตศาสตร์เขียนได้ว่าR\ {0} • ต้องการแสดงว่า ในทุกๆ จำนวนจริง x จะมีค่า y อย่างน้อย 1 ค่าที่ทำให้ผลคูณออกมาเป็น 1 (xy=1) • เขียนได้เป็น ?

  26. Nested Quantifier: ตัวอย่างที่ 4 • x y (x-y=y-x) • กำหนดให้ Universe of discourse เป็นจำนวนจริง R • commutativityสำหรับการลบ ตาม Predicate ข้างต้น ให้ค่าจริงหรือเท็จ ?

  27. Nested Quantifier: ตัวอย่างที่ 5 • จงแสดง statement ต่อไปนี้ในรูปแบบของ 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” • กำหนด universe of discourse คือ Z (จำนวนเต็ม)

  28. ความสัมพันธ์ของ  และ  • 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)

  29. Negation: ตัวอย่างที่ 1 • จงนำนิเสธเข้าไปใน Statement 1. ในโลกนี้ดอกกุหลาบไม่ได้มีสีแดงทุกดอก • Rose(x) คือ x เป็นดอกกุหลาบ, Red(x) คือ x มีสีแดง • Universe of discourse คือ ดอกไม้ • x (Rose(x)  Red(x)) 2. ในโลกนี้ไม่มีคนที่เพียบพร้อมทุกอย่าง • Person(x)คือ x เป็นคน, Perfect(x)คือ x เป็นคนเพืยบพร้อมทุกอย่าง • Universe of discourseคือ สิ่งมีชีวิตบนโลก • x(Person(x)  Perfect(x))

  30. Negation: แบบฝึกหัด • จงเขียน statement ด้านล่างใหม่โดยการนำนเสธเข้าไปข้างใน: •  x ( y zP(x,y,z)   z yP(x,y,z)) •  xy (x2 y )

  31. แบบฝึกหัดทำส่ง • จงเขียนเป็นประโยคสัญลักษณ์โดยใช้ตัวบ่งปริมาณ เมื่อ universe of discourse เป็นเซตของจำนวนจริง • มีจำนวนจริง x ซึ่ง x + 0 = 2x • มี x และ y บางตัวบวกกันได้ 5 • มี x บางตัว เมื่อคูณกับ y ทุกตัวจะได้ y เสมอ • กำหนดให้ 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)

  32. แบบฝึกหัดทำส่ง • จงเขียน predicate ของ “มีคนไทยซึ่งเป็นผู้หญิง แต่ไม่มีผมยาว” และ predicate ที่เป็นนิเสธ • กำหนด universe of discourse คือ คนในประเทศไทย • W(x) แทน “x เป็นผู้หญิง” • L(x) แทน “x ผมยาว” • จงหานิเสธของ • xy(xy=1) • x(x>0)  x(x2<0) • x(x0)  x(x0)

More Related