Inference in Propositional Logic

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Island Problem • Given a bitmap of aerial photographer of archipelago (chain of islands) – Bitmap is black & white • White means land • Black means sea.
Advertisements

John Rawls  John Rawls is the most famous American social contract theorist argued that “Justice is fairness” He Thought human natural have a appropriate.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
โดย คุณครูทานตะวัน เทียมถนอม กลุ่มสาระฯภาษาต่างประเทศ ชั้นประถมศึกษาปีที่ 4 โรงเรียนอุบลรัตนราชกัญญาราชวิทยาลัย กรุงเทพมหานคร.
Possessive adjective Subject Object Possessive Adjective
Set is a basic term in Mathematics. There is no precise definition for term “set”, But roughly speaking, a set is a collection of objects, Things or symbols,
INC 551 Artificial Intelligence Lecture 2. Review Environment Action Sense, Perceive Make Decision Agent World Model Deliberative Agent.
ไวยกรณ์ไม่พึงบริบท CONTEXT-FREE GRAMMARS
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
INTELLECTUAL CAPITAL : IC Group 3: Tipada Subhasean Nongluk Charoeschai Nerisa Wangkarat
นางสาวอุทัยวรรณ ชัยมงคล กลุ่มสาระการเรียนรู้ภาษาต่างประเทศ
โดย คุณครูทานตะวัน เทียมถนอม กลุ่มสาระฯภาษาต่างประเทศ ชั้นมัธยมศึกษา ปีที่ 4 โรงเรียนอุบลรัตนราชกัญญาราชวิทยาลัย กรุงเทพมหานคร.
Multilayer Feedforward Networks
โดย คุณครูทานตะวัน เทียมถนอม กลุ่มสาระฯภาษาต่างประเทศ ชั้น มัธยมศึกษาปีที่ 5 โรงเรียนอุบลรัตนราชกัญญาราชวิทยาลัย กรุงเทพมหานคร.
VARIABLES, EXPRESSION and STATEMENTS. Values and Data Types Value เป็นสิ่งพื้นฐาน มีลักษณะเป็น ตัวอักษร หรือ ตัวเลข อาทิ 2+2 หรือ “Hello world” Value.
Chapter 5: Functions of Random Variables. สมมติว่าเรารู้ joint pdf ของ X 1, X 2, …, X n --> ให้หา pdf ของ Y = u (X 1, X 2, …, X n ) 3 วิธี 1. Distribution.
Data Structures and Algorithms
ระบบการจัดเก็บในคลังสินค้า
: Chapter 1: Introduction 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Color Standards A pixel color is represented as a point in 3-D space. Axis may be labeled as independent colors such as R, G, B or may use other independent.
ออโตมาตาจำกัด FINITE AUTOMATA
REGULAR EXPRESSION การบรรยายแบบสม่ำเสมอ
He Asked If I’d Worked Before
t t t f f (page 20) Review 1 M. 5 t t t f f What you will learn and do in this unit. 1. เข้าใจบทความที่อ่านเกี่ยวกับ เทศกาลงานฉลอง 2. เขียนบรรยาย Tomatina.
How ใช้ถามเกี่ยวกับอาการ ( manner ) การคมนาคม และการขนส่ง How can I get to the police station ? By taking the white bus. How did she walk ? slowly.
Logic Programming โปรแกรมเชิงตรรกะ.
Inductive, Deductive Reasoning ผศ.( พิเศษ ) น. พ. นภดล สุชาติ พ. บ. M.P.H.
Course Software Engineering SE Overview and Introduction.
INC 551 Artificial Intelligence
INC341 Steady State Error Lecture 6.
Chap 4 Complex Algebra. For application to Laplace Transform Complex Number.
ENGLISH (E 33101) BY MISS APIRADEE LUCKSANAWONG.
Predicate Logic Dr.Yodthong Rodkaew.
ตัวอย่างFUZZY. ตัวอย่าง ฐานองคความรูฟซซีสามารถแสดงไดเปน Rule 1: If feature1 is high and feature2 is low and feature3 is medium, then class is 1.
MAT 231: คณิตศาสตร์ไม่ต่อเนื่อง (3) Function Growth & Time-Complexity
Chapter 20 Expert System Chapter 20 Expert System Artificial Intelligence ดร. วิภาดา เวทย์ประสิทธิ์ ภาควิชาวิทยาการคอมพิวเตอร์ คณะ วิทยาศาสตร์
8/3/2014The Realities of software Testing1 Software testing Realities What is the realities of software testing Why does the software testing not complete.
Chapter 5 Using Predicate Logic Artificial Intelligence ดร. วิภาดา เวทย์ประสิทธิ์ ภาควิชาวิทยาการคอมพิวเตอร์ คณะ วิทยาศาสตร์ มหาวิทยาลัยสงขลานครินทร์
Merchant Marine Training Centre วิชาการเป็นเลิศ เชิดชู คุณธรรม ผู้นำ.
Unit 1 Present Simple Tense.
Logic Programming การโปรแกรมเชิงตรรกะ.
Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? At the heart of computer program.
 Not breathing!  Respiration is the process of releasing energy from food molecules  Bacteria and Fungi carry out: - Aerobic respiration ( การหายใจแบบใช้
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
ทุนทางปัญญา Intellectual Capital KM743 Session 3.1
Chapter 3 Simple Supervised learning
UNIT 4 USING THE TELEPHONE. Expressions Can I help you ? - Yes, of course. - No, thank you. May I help you ? - Yes, thank you. - No, I’m sorry. What can.
In-Class Exercises Discrete Mathematics
The Analysis of Strands, Standards and Indicators for Tests
Mathematical Model of Physical Systems. Mechanical, electrical, thermal, hydraulic, economic, biological, etc, systems, may be characterized by differential.
Indirect Question without Question Word.
Tell me about your family
Present Continuous.
Part of Speech Conjunction.
ว เคมีพื้นฐาน พันธะเคมี
ครูรุจิรา ทับศรีนวล. “Christmas Day” * อ่านเรื่องแล้วสรุป ใจความสำคัญได้ ครูรุจิรา ทับศรีนวล.
ครูรุจิรา ทับศรีนวล “Room service”. “Room service”
Pronoun คือ คำที่ใช้แทนคำนาม แบ่งออกเป็น
สื่อการเรียนรู้ด้วยตัวเอง ชุดฝึกเขียนสรุป (Writing Summary)
A Powerful Purpose – Part 1
“ชีวิตที่ไร้กังวล” A WORRY FREE LIFE. “ชีวิตที่ไร้กังวล” A WORRY FREE LIFE.
Letter of Condolence & Sympathy จดหมายแสดงความเสียใจและความเห็นใจ
1. นี่เป็นสิ่งที่พระเยซูทรงทำ พระองค์ทรงรักษาทุกคน ที่เจ็บป่วยให้หายดี
I WISH YOU A GREAT DAY! ฉันขอให้คุณ มีความสุขมากๆในวันนี้ นะคะ!
1 ยอห์น 1:5-7 5 นี่เป็นเรื่องราวซึ่งเราได้ยินจากพระองค์และประกาศแก่ท่าน คือพระเจ้าทรงเป็นความสว่าง ในพระองค์ไม่มีความมืดเลย 6 ถ้าเราอ้างว่ามีสามัคคีธรรมกับพระองค์แต่ยังดำเนินในความมืด.
แล้วไงเกี่ยวกับความจริง What About Truth?
1. พระเยซูทรงต้องการให้เราเป็น เหมือนพระองค์
บทที่ 9 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
ใบสำเนางานนำเสนอ:

Inference in Propositional Logic Which one is valid? If there are no bugs, then the program compiles There are no bugs The program compiles

Inference in Propositional Logic How about these? p  q, ¬q r, r; p p (q r), q; p  r ให้  = A  B ให้ KB = (AC) (B¬C) หาว่า KB 

Inference Rules for Propositional Logic Modus Ponens หรือ Implication-Elimination   ,  And-Elimination 1 2 ,…  n And-Introduction 1, 2 ,… , n Or-Introduction Double-Negation Elimination ¬¬  Unit Resolution   , ¬  Resolution   , ¬     i 1 2 ,…  n i 1 2 ,…  n     

Limitation of Propositional Logic Consider a classic argument All men are mortal = P Sam is a man = Q Therefore, Joe is mortal Can we prove its validity using propositional logic?

Example All elephants are mammals. Some elephants are mammals. Some elephants are not mammals. No elephants are mammals. Not all elephant are mammals. There exists a white elephant. There exists two white elephants. There uniquely exists a white elephant.

Example(ต่อ) All elephants are mammals. x elephant (x)  mammals (x) Some elephants are mammals. x elephant (x)  mammals (x) Some elephants are not mammals. x elephant (x)   mammals (x)

Example(ต่อ) No elephants are mammals. x elephant (x)   mammals (x) Not all elephant are mammals. x elephant (x)  mammals (x) There exists a white elephant. x white-elephant (x)

Example(ต่อ) There exists two white elephants. x white-elephant (x)  y white-elephant (y)  (xy) There uniquely exists a white elephant. x white-elephant (x)  y white-elephant (y)  (x=y)

Homework John likes all kind of food. Apple are food. Chicken are food. Anything anyone eats and isn’t killed by is food. Bill eat peanuts and still alive. Sue eats everything Bill eats.

Answer John likes all kind of food. 2. Apple are food. x Food(x)  Like(John,x) 2. Apple are food. x Apple(x)  Food(x) หรือ Food(Apple) 3. Chicken are food. x Chicken(x)  Food(x) หรือ Food(Chicken)

Answer 4. Anything anyone eats and isn’t killed by is food. x y Eat(x,y)  Killed-by(x,y)  Food(y) 5. Bill eat peanuts and still alive. 5a. Eat(Bill,Peanuts) 5b. Alive(Bill) 6. Sue eats everything Bill eats. x Eat(Bill, x)  Eat(Sue, x)

Unification Knows (John, x), Knows (y, Jane) {x/Jane, y/John} ถ้า Predicate แทนด้วย constant ไม่ได้จะทำอย่างไร P (x, x), P (y, z) unify (x, y) {x/y} unify (x, z) {x/z} ผิด unify (y, z) {y/z} หลังจากแทน y ด้วย z แล้ว จะได้ P (y, y), P (y, z) เป็น P (z, z), P (z, z)

หลักการของ Most General Unifier hate (x, y) hate (John, z) {x/John, y/z} {x/John, z/y} {x/John, y/Jane, z/Jane} {x/John, y/Smith, z/Smith} จะ general กว่า จะเรียกว่า “Most General Unifier (MGU)”

Prove โดย Backward Chaining ต้องการ prove ว่า “John likes Peanuts” เราอาจต้องเพิ่มกฏเข้าไปอีกว่า 7. x,y Alive(x)  Killed-by(x,y) แล้วทำการ prove โดย Backward Chaining

Eat(Bill, Peanuts) Killed-by(Bill, Peanuts) Like(John, Peanuts) ...from 1 , {x/Peanuts} Food(Peanuts) ...from 4 , {y/Peanuts} Eat(Bill, Peanuts) Killed-by(Bill, Peanuts) ...from 5a { } ...from 7 , {x/Bill} alive(Bill) ...from 5b { }

3.Eat(Bill,Peanuts)  Killed-by(Bill,Peanuts) จากตัวอย่างเดิม 1.x Food(x)  Like(John,x) 2.x y Eat(x,y)  Killed-by(x,y)  Food(y) 3.Eat(Bill,Peanuts)  Killed-by(Bill,Peanuts) 4. x Eat(Bill, x)  Eat(Sue, x)

Prove แบบ Resolution 3.a. Eat(Bill,Peanuts) ต้องการ prove ว่า Does John like peanuts? จะได้ like(John, peanuts) 1. Food(x1)  Like(John,x1) 2. Eat(x2,y2)  Killed-by(x2,y2)  Food(y2) 3.a. Eat(Bill,Peanuts) b. Killed-by(Bill,Peanuts) 4. Eat(Bill, x3)  Eat(Sue, x3)

โดยวิธี Backward Chaining like(John, Peanuts) Food(Peanuts) Eat(x2,Peanuts)  Killed-by(x2,Peanuts) Eat(Bill, Peanuts) From 1 {x1/Peanuts} From 2 {y2/Peanuts} From 3b {x2/Bill} eat(Bill, Peanuts) From 3a เกิด Contradiction ดังนั้นสรุปได้ว่า John likes peanuts.

ดังนั้นสรุปได้ว่า Sue likes peanuts. Prove แบบ Resolution What food does Sue like? ให้ prove แบบวิธี Resolution 4. Eat(Bill, x3)  Eat(Sue, x3) 3a.Eat(Bill,Peanuts) {x/Peanuts} eat(Sue, Peanuts) ดังนั้นสรุปได้ว่า Sue likes peanuts.

Prolog มาจาก PROgramming in LOGic เป็น logic programming language แทน variable ด้วยตัวพิมพ์ใหญ่ เช่น X constant แทนด้วย ตัวเล็กหรือขึ้นต้นด้วยตัวเลขได้ ทุกๆ rule ต้องจบด้วย .

ข้อแตกต่างระหว่าง Logic และ Prolog p  q q :- p (and) , (comma) (or) ไม่มี xy q(x,y) p(x) p(X) :- q(X,Y) Control strategy is not fixed Depth-first search with backtracking cat(meaw) Close world assumption(CWA)

ตัวอย่าง x pet(x)  small(x)  apartment(x) x cat(x)  dog(x)  pet(x) x poodle(x)  small(x)  dog(x) poodle(puff)

แปลงเป็น Prolog x pet(x)  small(x)  apartment(x) apartment(X) :- pet(X), small(X). x cat(x)  dog(x)  pet(x) (cat(x) dog(x))  pet(x) (cat(x)  dog(x))  pet(x) (cat(x)  pet(x)) ( dog(x)  pet(x)) cat(x)  pet(x) dog(x)  pet(x) pet(X) :- cat(X). pet(X) :- dog(X).

แปลงเป็น Prolog small(X) :- poodle(X). dog(X) :- poodle(X). x poodle(x)  small(x)  dog(x) poodle(x)  (small(x)  dog(x)) (poodle(x)  small(x))  (poodle(x) dog(x)) poodle(x)  small(x) poodle(x)  dog(x) small(X) :- poodle(X). dog(X) :- poodle(X).

ดังนั้นได้เป็นภาษา Prolog ดังนี้ apartment(X) :- pet(X), small(X). pet(X) :- cat(X). pet(X) :- dog(X). small(X) :- poodle(X). dog(X) :- poodle(X). poodle(puff).

โจทย์ ? – apartment(X). ใช้วิธี depth-first search with backtracking rules จะประกอบไปด้วย variable facts จะมีแค่ constant จะไปหา fact ของสิ่งที่ต้องการหาก่อน ถ้าไม่มี fact จะไปเริ่มหาที่ rule ข้อที่ 1 แล้วทำไปเรื่อยๆ ถ้าหาไม่ได้ก็จะย้อนกลับมา

ตัวอย่าง grandson(X, Y) :- parent(Z, X) , parent(Y, Z). parent(X, Y) :- son(Y, X). parent(X,Y) :- mother(X,Y). parent(X,Y) :- father(X,Y). son(john, tom). son(paul, john). mother(john, mary).

?- grandson(U, tom). 1. grandson(U, tom) :- parent(Z, U) , parent(tom, Z). {X/U, Y/tom} 2. parent(Z, U) :- son(U, Z). 5. son(john, tom). {U/john, Z=tom} 2. parent(tom, tom) :- son(tom,tom). 5. fail ไม่สามารถแทน (john, tom) กับ (tom, tom) ได้ 6. fail ไม่สามารถแทน (paul, john) กับ (tom, tom) ได้ จะ backtracking กลับไปที่ข้อ 3 เพราะว่าแทนข้อ 2 ไม่ได้แล้ว

?- grandson(U, tom). 3. <backtracking> parent(tom, tom) :- mother(tom,tom). 7. fail 4. <backtracking> parent(tom, tom) :- father(tom,tom). fail เพราะไม่มี rule เกี่ยวกับ father 6. <backtracking> son(paul, john) {U/paul, Z/john} 2. parent(tom, john) :- son(john, tom) 5. success { } ดังนั้น U = paul