x - Choopan Rattanapoka

Download Report

Transcript x - Choopan Rattanapoka

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, ระหว่าง x y
และ 4, ระหว่าง x y และ z ตามลาดับ
ความสัมพันธ์นี้จะเป็ นจริง หรือ ไม่ ขึ้ นอยูก่ บั ค่าของตัวแปร x, y และ z
Predicate คือคุณสมบัติที่ยืนยันหรือปฏิเสธค่าความจริง จากตัวแปร
(variable) ของ statement
ตัวอย่ำง statement : ‘x มากกว่า 3’
‘x’ คือตัวแปร
 ‘มากกว่า 3’ คือ predicate

Predicate (2)

การที่จะเขียน Predicate Logic ‘x มากกว่า 3’

ขั้นตอนที่ 1 : สร้างสัญลักษณ์สาหรับ Predicate


ขั้นตอนที่ 2 : นาตัวแปรนั้นๆ ใส่เป็ น argument ให้กบั Predicate


P( ) แทน Predicate มากกว่า 3
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):
 Brother(x,y):
 Sum(x,y,z):
 P(x,y,z,t):

unary predicate
binary predicate
ternary predicate
n-ary predicate
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)
 หรือ
() เช่น กรแก่กว่าบ๊อบหรือส้ม
 OLDER(KORN,
 ถ้ำ
 NICE(BOB)
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 ในขอบเขตที่
กาหนด’
จะใช้สญ
ั ลักษณ์:  x P(x) อ่านว่า ‘for all x’
ถ้าขอบเขตที่กาหนดคือของค่า x คือ {n1,n2,…,nk} แล้วค่าความเป็ นจริง
ของ  x P(x) คือ
 x P(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:

จงหาค่าความเป็ นจริง
ของ Statement
“นักศึกษาหลักสูตร Enet-C ทุกคน จะต้องเรียนวิชา discrete mathematics”
 x Q(x)  P(x)

“นักศึกษาทุกคนใน มจพ จะต้องเรียนวิชา discrete mathematics หรือเป็ นนักศึกษาหลักสูตร Enet-C”
 x ( P(x)  Q(x) )

“นักศึกษาทุกคนใน มจพ จะต้องเรียนวิชา discrete mathematics และเป็ นนักศึกษาหลักสูตร Enet-C”
 x ( P(x)  Q(x) )
Universal Quantifier: ตัวอย่างที่ 2

จาก statement

‘for every x and every y, x+y>10’
การเขียน Universal Quiantifier:
1.
2.
3.

กาหนด P(x,y) แทน statement x+y>10
กาหนดขอบเขตของ x, y อยูใ่ น set ของจานวนเต็ม
จะเขียน statement ได้วา่ : x y P(x,y)
เขียนแบบย่อ คือ x,y P(x,y)
Existential Quantifier: คานิ ยาม

คำนิยำม: Existential quantification ของ predicate P(x) คือ
proposition ‘มีคา่ อย่างน้อยหนึ่ งค่าของ x ในขอบเขตที่กาหนด ที่ทาให้
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)
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
Statement True when…
False when...
x P(x)
P(x) เป็ นจริงสาหรับทุกค่าของ x
มีอย่างน้อย 1 ค่าใน x ที่ทาให้P(x)
เป็ นเท็จ
x P(x)
มีอย่างน้อย 1 ค่าใน x ที่ทาให้P(x)
เป็ นจริง
P(x) เป็ นเท็จสาหรับทุกค่าของ x
ค่ำควรระวังในกำรใช้ Quantifier

ปกติการใช้  ประโยคหลักจะเชื่อมกันด้วย  ไม่ใช่ 
 ตัวอย่าง
 x(

At(x, ECT)  smart(x) )
ผิดเพราะจะหมายความว่า “ทุกคนที่เรียน ECT และ ทุกคนเก่ง”
 x(

: นักศึกษาทุกคนที่เรียน ECT จะเก่ง
At(x, ECT)  smart(x) ) ถูก
ปกติการใช้  ประโยคหลักจะเชื่อมกันด้วย  ไม่ใช่ 
 ตัวอย่าง
 x(

: นักศึกษาบางคนที่เรียน ECT จะเก่ง
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 ได้เพื่อให้ดงู า่ ยขึ้ น
x y  y x สามารถเขียน x,y ได้เพื่อให้ดงู า่ ยขึ้ น
x y ไม่เหมือนกับ y x
 x
y Loves(x,y)
 มีบางคนที่รก
ั ทุกๆคนในโลก
 y
x Loves(x,y)
 ทุกๆคนในโลกนี้ ถูกใครบางคนรัก
Nested Quantifier: ค่ำควำมจริง
Statement
True when...
False when...
xy P(x,y)
P(x,y) เป็ นจริงเมื่อทุกคู่ของ x,y
เป็ นจริง
เมื่อมีคู่ x,y อย่างน้อย 1 คูท่ ี่ทาให้
P(x,y) เป็ นเท็จ
สาหรับทุกค่า x, จะมีคา่ y อย่าง
น้อย 1 ค่าที่ทาให้ P(x,y) เป็ นจริง
เมื่อมีคา่ x อย่างน้อย 1 ค่าที่ทาให้
P(x,y) เป็ นจริงสาหรับทุกค่าของ y
เมื่อมีคา่ x อย่างน้อย 1 ค่าที่ทาให้
P(x,y) เป็ นเท็จสาหรับทุกค่าของ y
สาหรับทุกค่า x, จะมีคา่ y อย่างน้อย
1 ค่าที่ทาให้ P(x,y) เป็ นเท็จ
เมื่อมีคู่ x,y อย่างน้อย 1 คูท่ ี่ทาให้
P(x,y) เป็ นจริง
P(x,y) เป็ นเท็จสาหรับทุกคู่ของ x,y
xy P(x,y)
xy P(x,y)
xyP(x,y)
Nested Quantifier: ตัวอย่ำงที่ 1

จงแสดงในรูปแบบของ predicate logic สาหรับ statement ที่วา่
เลขจานวนเต็มมีจานวนไม่จากัด
(there is an infinite number of integers)

วิธีทา:
1.
กาหนด P(x,y) เป็ น Predicate สาหรับ x<y
2.
กาหนดให้ universe of discourse เป็ นจานวนเต็ม, Z
3.
เพราะฉะนั้นสามารถเขียน statement ได้วา่
x y P(x,y)
Nested Quantifier: ตัวอย่ำงที่ 2



จงแสดง commutative law of addition for R
จะต้องแสดงให้ได้วา่ ในทุกคู่ของจานวนจริง x,y สมการ x+y=y+x
จะต้องเป็ นจริงเสมอ
วิธีทำ :
1.
กาหนดให้ P(x,y) เป็ น Predicate สาหรับ x+y
2.
กาหนดให้ universe of discourse เป็ นจานวนจริง , R
3.
เพราะฉะนั้นสามารถเขียน 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 z P(x,y,z)   z y P(x,y,z))

x y ( x2  y )
แบบฝึ กหัดทำส่ง
1.
2.
จงเขียนเป็ นประโยคสัญลักษณ์โดยใช้ตวั บ่งปริมาณ เมื่อ 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)
แบบฝึ กหัดทำส่ง
3.
4.
จงเขียน 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)