370 likes | 1.01k Views
Predicate calculus First order Logic. 030513122 - Discrete Mathematics Asst. Prof. Dr. Choopan Rattanapoka. ข้อจำกัดของ Propositional Logic. ทบทวน Propositional Logic เป็นการแทนประโยคด้วยสัญลักษณ์ เช่น สมชายเป็นคน (P) สมปองเป็นคน (Q) สมหญิงเป็นคน (R)
E N D
Predicate calculus First order Logic 030513122 - Discrete Mathematics Asst. Prof. Dr. Choopan Rattanapoka
ข้อจำกัดของ Propositional Logic • ทบทวน • Propositional Logic เป็นการแทนประโยคด้วยสัญลักษณ์ เช่น • สมชายเป็นคน (P) • สมปองเป็นคน (Q) • สมหญิงเป็นคน (R) • จะเห็นได้ว่าจะต้องใช้สัญลักษณ์ 1 ตัวเพื่อแทนประโยค 1 ประโยคไม่สามารถจะเข้าถึงค่าที่มีคุณลักษณะเหมือนกันเฉพาะตัวได้
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
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
Predicate Logic • บางครั้งเรียกว่า Predicate Calculus • เป็นกระบวนการตรรกะที่มีความซับซ้อนกว่า Propositional Logic • แต่มีการอนุมานเพื่อให้ได้ค่าความจริงใหม่จากค่าความจริงที่มีอยู่แล้ว • องค์ประกอบพื้นฐานของ Predicate Logic จะประกอบด้วย • ตัวอักษร (Alphabet) • ส่วนแสดงความสัมพันธ์ (Predicate) • ตัวเชื่อม (Connective) • ตัวบ่งปริมาณ (Quantifier)
Predicate Logic : ตัวอักษร • ตัวอักษร เป็นองค์ประกอบที่เป็นส่วนของตัวอักษรที่ใช้ในกระบวนการของ Predicate Logic ประกอบด้วย • ค่าคงที่ (Constant) เป็นค่าที่ใช้บอกถึงความหมายที่ชัดเจนแน่นอน เช่น • GARFIELD แทนความหมายของแมว • SURASAK แทนความหมายของคน เพศชาย • ตัวแปร (Variable) คือ การระบุถึงความหมายในภาพรวม ไม่เฉพาะเจาะจง • cat หมายถึงสัตว์ที่เป็นแมว แต่ไม่ได้ระบุถึงพันธุ์ • father หมายถึงพ่อคน แต่ไม่ได้ระบุว่าพ่อใคร • ฟังก์ชัน (Function) คือส่วนที่ใช้ในการบ่งบอกโดเมนขององค์ประกอบ • cat(GARFIELD) เป็นฟังก์ชันสำหรับหาว่า GARFIELD เป็นแมวพันธุ์อะไร • father(SURASAK) เป็นฟังก์ชันสำหรับหาว่าพ่อของ SURASAK คือใคร
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
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 เมื่อมีค่ากำหนดให้กับตัวแปร
ตัวอย่าง: Propositional Functions • กำหนดQ(x,y,z) ย่อมาจากstatement ‘x2+y2=z2’ • ค่าความเป็นจริงของQ(3,4,5) คือ ? • ค่าความเป็นจริงของQ(2,2,3) คือ ? • มีค่าของ (x,y,z) กี่ค่าที่ทำให้predicate นี้มีค่าเป็น true?
Universe of Discourse • พิจารณาstatement ‘x>3’, ถ้ามีการกำหนดค่า “สีน้ำเงิน” ให้กับ x จะสื่อความหมายไหม ? • Universe of discourseคือset ของค่าที่ต้องการพูดถึง หรือคือขอบเขตของค่าที่จะกำหนดให้กับตัวแปรของ Predicate ได้ • ตัวอย่าง : จะกำหนด Universe of discourse อะไรให้กับ x ใน statement: EnrolledDiscrete(x)=‘x ลงเรียนวิชา Discrete Mathematics
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)
Predicate Logic : ตัวเชื่อม • ตัวเชื่อมใช้ในการเชื่อมระหว่างส่วนแสดงความสัมพันธ์ (Predicate) เข้าด้วยกัน มีเครื่องหมายต่างๆ ดังนี้ • นิเสธ ()ทำให้กลับค่าความจริง • และ () เช่น บ๊อบหล่อและนิสัยดี เขียนได้เป็น • HANDSOME(BOB) NICE(BOB) • หรือ () เช่น กรแก่กว่าบ๊อบหรือส้ม • OLDER(KORN, BOB) OLDER(KORN, SOM) • ถ้า ... แล้ว () เช่น ถ้าบ๊อบดำแล้วบ๊อบจะหล่อ • BLACK(BOB) HANDSOME(BOB) • ก็ต่อเมื่อ () เช่น บ๊อบจะบวชก็ต่อเมื่ออายุ 25 ปี • MONK(BOB) AGE25(BOB)
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))
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)
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) )
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)
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)
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?
สรุปค่าความเป็นจริงของ Quantifiers • ตารางสรุปค่าความเป็นจริงของ Quantifier
ค่าควรระวังในการใช้ 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) ) ถูก
Nested Quantifier • บางครั้งความต้องการที่จะแสดงประโยคที่ซับซ้อนมากขึ้น จะมีการใช้ตัวบ่งปริมาณหลายตัว เช่น • พี่น้องคือญาติ x y Brother(x,y) Sibling(x,y) • x y y xสามารถเขียน x,yได้เพื่อให้ดูง่ายขึ้น • xyyx สามารถเขียน x,yได้เพื่อให้ดูง่ายขึ้น • x yไม่เหมือนกับ yx • x y Loves(x,y) • มีบางคนที่รักทุกๆคนในโลก • yxLoves(x,y) • ทุกๆคนในโลกนี้ถูกใครบางคนรัก
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)
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)
Nested Quantifier: ตัวอย่างที่ 3 • จงแสดงmultiplicative law สำหรับตัวเลขที่ไม่ใช่ 0 • ขอบเขตในรูปแบบคณิตศาสตร์เขียนได้ว่าR\ {0} • ต้องการแสดงว่า ในทุกๆ จำนวนจริง x จะมีค่า y อย่างน้อย 1 ค่าที่ทำให้ผลคูณออกมาเป็น 1 (xy=1) • เขียนได้เป็น ?
Nested Quantifier: ตัวอย่างที่ 4 • x y (x-y=y-x) • กำหนดให้ Universe of discourse เป็นจำนวนจริง R • commutativityสำหรับการลบ ตาม Predicate ข้างต้น ให้ค่าจริงหรือเท็จ ?
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 (จำนวนเต็ม)
ความสัมพันธ์ของ และ • 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)
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))
Negation: แบบฝึกหัด • จงเขียน statement ด้านล่างใหม่โดยการนำนเสธเข้าไปข้างใน: • x ( y zP(x,y,z) z yP(x,y,z)) • xy (x2 y )
แบบฝึกหัดทำส่ง • จงเขียนเป็นประโยคสัญลักษณ์โดยใช้ตัวบ่งปริมาณ เมื่อ 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)
แบบฝึกหัดทำส่ง • จงเขียน predicate ของ “มีคนไทยซึ่งเป็นผู้หญิง แต่ไม่มีผมยาว” และ predicate ที่เป็นนิเสธ • กำหนด universe of discourse คือ คนในประเทศไทย • W(x) แทน “x เป็นผู้หญิง” • L(x) แทน “x ผมยาว” • จงหานิเสธของ • xy(xy=1) • x(x>0) x(x2<0) • x(x0) x(x0)