predicate logic
Download
Skip this Video
Download Presentation
ตรรกะ เพรดิเคต (Predicate Logic)

Loading in 2 Seconds...

play fullscreen
1 / 34

ตรรกะ เพรดิเคต (Predicate Logic) - PowerPoint PPT Presentation


  • 242 Views
  • Uploaded on

การแทนความรู้ทางปัญญาประดิษฐ์ โดยตรรกะ เพรดิเคต. ตรรกะ เพรดิเคต (Predicate Logic). ไวยากรณ์และความหมาย (Syntax and Semantic) การอนุมาน ( Inference ) การทำให้เท่ากัน ( Unification ) รี โซลู ชัน ( Resolution ). ตรรกะ เพตดิเคต (Predicate Logic).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'ตรรกะ เพรดิเคต (Predicate Logic)' - erin-rosales


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
predicate logic
การแทนความรู้ทางปัญญาประดิษฐ์ โดยตรรกะเพรดิเคต

ตรรกะเพรดิเคต(Predicate Logic)

ไวยากรณ์และความหมาย (Syntax and Semantic)

การอนุมาน (Inference)

การทำให้เท่ากัน (Unification)

รีโซลูชัน (Resolution)

predicate logic1
ตรรกะเพตดิเคต(Predicate Logic)
  • การแทนความรู้ (Knowledge Representation)ทางปัญญาประดิษฐ์มีหลายวิธีเช่น
    • Rules
    • Frames
    • Bayesian Networks
    • Predicate Logic
    • อื่นๆ
syntax semantic
Syntax และ Semantic
  • เพรดิเคตลอจิก มีองค์ประกอบดังนี้
    • สัญลักษณ์เพรดิเคต (Predicate Symbol) ใช้ตัวอักษร 1 ตัวขึ้นไป ขึ้นต้นด้วยตัวอักษรตัวใหญ่ เช่น P, Q, R, Father หรือ FATHER เป็นต้น
    • สัญลักษณ์ตัวแปร (Variable Symbol) ใช้ตัวอักษร 1 ขึ้นไป เป็นตัวอักษรตัวเล็ก เช่น x, y และ z เป็นต้น
    • สัญลักษณ์ฟังก์ชัน (Function Symbol) ใช้ตัวอักษร 1 ขึ้นไป เป็นตัวอักษรตัวเล็ก เช่น f, g และ h เป็นต้น
    • สัญลักษณ์ค่าคงที่ (Constant Symbol) ใช้ตัวอักษร 1 ตัวขึ้นไป ขึ้นต้นด้วยตัวอักษรตัวใหญ่ เช่น A, B, C, Somchaiหรือ SOMCHAI เป็นต้น
    • เครื่องหมายวงเล็บ เช่น { }, ( ) และ [ ] เป็นต้น
syntax semantic1
Syntax และ Semantic (ต่อ)
  • สูตรที่ถูกต้องตามหลักไวยากรณ์ของตรรกะเพรดิเคต เรียกว่า สูตรรูปดี (well form formula; wff)
    • สูตรอะตอม (Atomic Formula) คือสูตรที่เล็กที่สุดที่ถูกต้องตามหลักไวยากรณ์เช่น FATHER(SOMCHAI, SOMSRI)

SOMCHAI และ SOMSRI คือค่าคงที่ (Constant)

Predicate Symbol ใช้แสดงความสัมพันธ์ของสิ่งต่างๆใน domain นั้น เช่น

slide5
ตัวอย่างการเขียนเพรดิเคตตรรกะตามหลักไวยากรณ์
  • FATHER(x,y)
  • Daughter(SOMSRI,x)
    • SOMSRI เป็นค่าคงที่ ส่วน x เป็นตัวแปร
  • HAS-MONEY(SOMCHAI,salary(SOMCHAI))
    • salary เป็นฟังก์ชันที่ใช้หาค่าเงินเดือน

xและ y คือตัวแปร (VariableSymbol)

interpretation
การแปลความหมาย (Interpretation)
  • การแปลความหมาย คือ การกำหนดค่าให้กับเพรดิเคต ตัวแปร และฟังก์ชัน ใน domain นั้นๆของสูตรอะตอม
  • เมื่อมีการนิยามการแปลความหมายให้กับสูตรอะตอมแล้ว เราสามารถหาค่าทางตรรกะให้กับสูตรอะตอมนั้นๆได้ ว่าเป็น จริง (True) หรือ เท็จ (False) เช่น FATHER(x,y)
    • กำหนดให้ FATHER คือความสัมพันธ์เป็นพ่อ โดย x เป็นพ่อของ y และกำหนดให้ x คือนาย ก. และ y คือนาย ข.
connective
ตัวเชื่อม (Connective)
  • ตัวเชื่อมใช้เชื่อมสูตรอะตอมหลายสูตรเข้าด้วยกันเพื่อเป็นสูตรใหม่
  • ตัวเชื่อมในเพรดิเคตตรรกะมีดังนี้
    • และ (and) ใช้สัญลักษณ์
    • หรือ(or)ใช้สัญลักษณ์
    • นิเสธ (not) ใช้สัญลักษณ์ ~
    • ถ้า-แล้ว (If-then)(Implication)ใช้สัญลักษณ์
  • การใช้ตัวเชื่อมและ
    • John lives in a yellow house.

LIVE(JOHN,HOUSE-1)^COLOR(HOUSE-1,YELLOW)

connective1
ตัวเชื่อม (Connective)(ต่อ)
  • การใช้ตัวเชื่อมนิเสธ
    • John don’t write computer-chess

~WRITE(JHON,COMPUTER-CHESS)

  • การใช้ตัวเชื่อมถ้า-แล้ว
    • If the car belongs to John then it is green

OWNS(JHON,CAR-1) COLOR(CAR-1,GREEN)

quantifier
ตัวบ่งปริมาณ (Quantifier)
  • ตัวบ่งปริมาณเอกภพ (Universal Quantifier) ใช้สัญลักษณ์
  • ตัวบ่งปริมาณมีอยู่ (Existential Quantifier) ใช้สัญลักษณ์
  • ตัวอย่างการใช้ตัวบ่งปริมาณ
    • All Elephants are gray.
    • There is a person who wrote computer-chess.
  • เนื้อหาที่จะสอนในเรื่องนี้จะกล่าวถึง First-order predicate logic เท่านั้น
slide10
ตัวอย่างการเขียนตรรกะเพรดิเคต

สูตรรูปดีที่ถูกต้อง เช่น

สูตรรูปดีที่ไม่ถูกต้อง เช่น

predicate logic2
การแทนความรู้ทางปัญญาประดิษฐ์ โดยตรรกะเพรดิเคต

ตรรกะเพรดิเคต(Predicate Logic)

ไวยากรณ์และความหมาย (Syntax and Semantic)

การอนุมาน (Inference)

การทำให้เท่ากัน (Unification)

รีโซลูชัน (Resolution)

inference
การอนุมาน (Inference)
  • กฎโมดัสโพเน็นส์(Modus Ponens)

W1 W2

  • กฎเจาะจงตัวแปรเอกภาพ (Universal Specialization)

W1

W2

slide13
ตัวอย่างการอนุมาน

Universal Specialization

Modus Ponens

สูตรใหม่ที่ได้จากการอนุมาน เรียกว่า Theorem

predicate logic3
การแทนความรู้ทางปัญญาประดิษฐ์ โดยตรรกะเพรดิเคต

ตรรกะเพรดิเคต(Predicate Logic)

ไวยากรณ์และความหมาย (Syntax and Semantic)

การอนุมาน (Inference)

การทำให้เท่ากัน (Unification)

รีโซลูชัน (Resolution)

substitution
การแทนค่า (Substitution)
  • การแทนค่า คือการแทนพจน์ (term)ให้กับตัวแปรในสูตร โดยสูตรที่ได้จากการแทนค่าเรียกว่า ตัวอย่างการแทน (Substitution Instance)
  • ตัวอย่าง Substitution Instance ของ P(x,f(y),B) เช่น P(z,f(w),B) หรือ P(C,f(A),B)
  • การแทนค่าสามารถเขียนให้อยู่ในรูปของเซ็ตคู่ลำดับ

s = {t1/v1, t2/v2,…,tn/vn} โดย tnคือ term ที่ n นำมาแทนค่าใน variable ที่ n (vn)

substitution1
การแทนค่า (Substitution) (ต่อ)
  • ตัวอย่างเซ็ตคู่ลำดับของการแทนค่า
    • ถ้า Substitution Instance ของ P(x,f(y),B) คือ P(z,f(w),B) สามารถเขียนคู่ลำดับของการแทนค่าได้คือ s1= {z/x, w/y}
    • ถ้า Substitution Instance ของ P(x,f(y),B) คือ P(C,f(A),B) สามารถเขียนคู่ลำดับของการแทนค่าได้คือ s2= {C/x, A/y}
  • เราสามารถเขียนสูตรใหม่ที่ได้จากการแทนค่า s ในสูตร E (ตัวอย่างข้างบน)ดังนี้
    • P(z,f(w),B) = P(x,f(y),B)s1
    • P(C,f(A),B) = P(x,f(y),B)s2
unification
การทำให้เท่ากัน (Unification)
  • สูตร 2 สูตรใดๆ (สูตร E1และ สูตร E2)สามารถทำให้เท่ากันได้ ถ้ามีตัวแทนค่า (s)ที่ทำให้ (E1)s = (E2)s โดยเราจะเรียก s ว่า ตัวทำให้เท่ากัน (Unifier)ของ E1และ E2 เช่น
    • E1 = P(x,f(y),B) และ E2= P(x,f(B),B)
    • Unifier ของ E1 และ E2คือ s = {A/x,B/y}
    • (E1)s = P(A,f(B),B) และ (E2)s = P(A,f(B),B)
  • ตัวทำให้เท่ากันกว้างสุด (Most General Unifier; mgu) คือตัวทำให้เท่ากันที่ใช้การแทนค่าที่น้อยที่สุด
    • mguของ E1 = P(x,f(y),B) และ E2= P(x,f(B),B) คือ s = {B/y} ซึ่งจะได้

(E1)s = (E2)s = P(x,f(B),B)

slide18
อัลกอริทึมในการหา mgu

Algorithm Unify(L1,L2)

1. IfL1หรือ L2 เป็นตัวแปรหรือค่าคงที่ Then

IfL1= L2 Thenคืนค่า NIL

Else If L1เป็นตัวแปร Then

IfL1ปรากฏใน L2 Thenคืนค่า {Fail} Else คืนค่า {L2/L1}

Else IfL2เป็นตัวแปร Then

IfL2ปรากฏใน L1 Thenคืนค่า {Fail} Else คืนค่า {L1/L2}

Elseคืนค่า {Fail}

slide19
อัลกอริทึมในการหา mgu(ต่อ)

2. Ifสัญลักษณ์เพรดิเคต หรือ สัญลักษณ์ฟังก์ชัน ของ L1 ไม่เท่ากับ L2 Thenคืนค่า {Fail}

3. IfL1 มีจำนวน argument ไม่เท่ากับ L2 Thenคืนค่า {Fail}

4. SUBST = NIL

5. Fori =1 to จำนวน argument ของ L1 Do

5.1 เรียก algorithm unify ด้วย argumentตัวที่ iของ L1 และ L2 เก็บผลลัพธ์ที่ S

5.2 If S = Fail Then คืนค่า {Fail}

5.3 If S ไม่เท่ากับ NIL Then

5.3.1 แทนค่าพจน์ (term)ให้กับตัวแปรใน L1 และ L2 ตาม S

5.3.2 SUBST = append(S,SUBST)

6. คืนค่า SUBST

predicate logic4
การแทนความรู้ทางปัญญาประดิษฐ์ โดยตรรกะเพรดิเคต

ตรรกะเพรดิเคต(Predicate Logic)

ไวยากรณ์และความหมาย (Syntax and Semantic)

การอนุมาน (Inference)

การทำให้เท่ากัน (Unification)

รีโซลูชัน (Resolution)

resolution
รีโซลูชัน (Resolution)
  • รีโซลูชัน เป็นการอนุมานที่ใช้กับสูตรที่เป็นอนุประโยค(Clause)
  • อนุประโยค (Clause) คือสูตรที่อยู่ในรูป disjunction ของ literals (การ or กันของ atomic formulas) เช่น P(x) v Q(x,y) v ~R(A)
  • การแปลงตรรกะเพรดิเคตไปเป็นอนุประโยค

1. Eliminate implication symbols : เปลี่ยนรูป ไปเป็น

2.Reduce scope of negation symbols

slide22
การแปลงตรรกะเพรดิเคตไปเป็นอนุประโยค

3. Standardize variables : เปลี่ยนชื่อตัวแปรตามขอบเขตของตัวบ่งปริมาณ

4. Eliminate existential quantifiers : แทนค่าตัวแปรด้วย skolem function

5. Convert to prenex form ย้ายตัวบ่งปริมาณเอกภพมาอยู่หน้าสุด โดยรูปแบบที่ได้ใหม่นี้เรียกว่า prenex form

slide23
การแปลงตรรกะเพรดิเคตไปเป็นอนุประโยค (ต่อ)

6. Put prenex form in conjunctive normal form : ทำให้สูตรทุกตัวเชื่อมกันด้วย And (^)

7. Eliminate universal quantifier : ตัดตัวปริมาณเอกภพทิ้งได้เลย เนื่องจากตัวแปรทุกตัวมีตัวบ่งปริมาณเป็น ตัวบ่งปริมาณเอกภพทั้งสิ้น

8. Eliminate ^ symbol : แทนด้วยเซต {X1,X2,…,Xn} โดยที่ Xi เป็น disjunction of literals หรือ อนุประโยคซึ่งจะได้ 3 อนุประโยค

slide24
การแปลงตรรกะเพรดิเคตไปเป็นอนุประโยค (ต่อ)

9. Rename variables : เปลี่ยนชื่อตัวแปร เพื่อให้แต่ละอนุประโยคมีตัวแปรไม่ซ้ำกัน

slide25
รีโซลูชันของอนุประโยคพื้นฐาน
  • อนุประโยคพื้นฐาน (Ground Clause) คืออนุประโยคที่ไม่มีตัวแปร
  • ในการทำรีโซลูชันของอนุประโยคพื้นฐานจะรับอนุประโยคพ่อแม่ (Parent Clause) 2 อนุประโยค ส่วนอนุประโยคผลลัพธ์ที่ได้เรียกว่า รีโซเวนท์(Resolvent)
general resolution
รีโซลูชันทั่วไป (General Resolution)
  • ในการทำรีโซลูชันกับอนุประโยคที่มีตัวแปรนั้น ต้องใช้การทำให้เท่ากัน เพื่อทำให้อนุประโยคพ่อแม่ประกอบด้วยสัจพจน์เติมเต็ม (Complimentary Literals)
  • สัจพจน์เติมเต็ม คือสัจพจน์ (Literals) ที่ต่างกันเฉพาะเครื่องหมายนิเสธ (~) เช่น
    • P(x) และ ~P(x)
general resolution1
รีโซลูชันทั่วไป (General Resolution) (ต่อ)

การทำรีโซลูชันทั่วไปประกอบด้วยขั้นตอนดังนี้

1. กำหนดให้ Parent Clause คือ {Li} และ {Mi}

2. {li} และ {mi} เป็นเซ็ตย่อยของ {Li} และ {Mi} ตามลำดับ โดยมี s ซึ่งเป็น mguของ {li} และ {~mi}

3. Resolventของอนุประโยค {Li} และ {Mi}คือ

{{Li} - {li}}s{{Mi} - {mi}}s

4. สำหรับ 2 อนุประโยคใดๆ อาจมีการทำ Resolvent มากกว่า 1 ครั้ง ขึ้นอยู่กับการเลือก {li} และ {mi}

slide29
ตัวอย่างการทำรีโซลูชันทั่วไป

กำหนดให้ {Li} = {P[x,f(A)],P[x,f(y)],Q(y)} {Mi} = {~P[z,f(A)],~Q(z)}

{li} = {[P(x,f(A)]} {mi} = {~P[z,f(A)}

จาก {li} และ {mi} จะได้

  • จะได้ Resolventเป็น {P[z,f(y)], Q(y), ~Q(z)}
  • แต่ถ้าให้ {li} = {P[x,f(A)],P[x,f(y)]} และ {mi} = {~P[z,f(A)}
  • จะได้ Resolventเป็น {Q(A),~Q(z)}

s = {z/x}

s = {z/x,A/y}

resolution refutation
การปฏิเสธแบบรีโซลูชัน (Resolution Refutation)
  • สัจพจน์ (Literals) 2 ตัวใดๆจะขัดแย้งกันหรือไม่ จะดูว่าสัจพจน์ตัวหนึ่งสามารถทำให้เท่ากัน (unify) กับนิเสธของสัจพจน์อีกตัวหนึ่งได้หรือไม่ เช่น
    • MAN(x) กับ ~MAN(Spot) ขัดแย้งกัน
    • วิธีการปฏิเสธแบบรีโซลูชัน คือการพิสูจน์ว่าสูตร (wff) W เป็นผลสรุปของเซ็ตของสูตร K ทำได้โดยการพิสูจน์ว่า

ขัดแย้งกัน

เนื่องจากเราสามารถทำให้ MAN(x) เท่ากันกับ MAN(Spot)

resolution refutation1
การปฏิเสธแบบรีโซลูชัน (Resolution Refutation) (ต่อ)

K = {MAN(Marcus),~MAN(x) V MORTAL(x)}

W = MORTAL(Marcus)

= {MAN(Marcus),~MAN(x) V MORTAL(x),~MORTAL(Marcus)}

~MORTAL(Marcus) ขัดแย้งกับ MAN(Marcus) และ ~MAN(x) V MORTAL(x) แสดงว่า MORTAL(Marcus) เป็นผลสรุปของ K

resolution refutation2
การปฏิเสธแบบรีโซลูชัน (Resolution Refutation) (ต่อ)

K = {MAN(Marcus),~MAN(x) V MORTAL(x)}

W = MORTAL(Marcus)

= {MAN(Marcus),~MAN(x) V MORTAL(x),~MORTAL(Marcus)}

จากการทำรีโซลูชันระหว่าง ~MAN(x) V MORTAL(x) และ ~MORTAL(Marcus) จะได้ ~MAN(Marcus) ซึ่งขัดแย้งกับอนุประโยคแรก (MAN(Marcus))แสดงว่า MORTAL(Marcus) เป็นผลสรุปของ K

ad