1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order...

52
1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen

Transcript of 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order...

Page 1: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

1

DCP 1172Introduction to Artificial Intelligence

Lecture notes for Ch.8 [AIAM-2nd Ed.]

First-order Logic (FOL)Chang-Sheng Chen

Page 2: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 2

Midterm format

• Date: 11/19/2004 from 10:15 am – 11:55 am • Location: EC016• Credits: 25% of overall grade• Approx. 5 problems, several questions in each.• Material: everything so far (or, up to Sec. 8.3).• No books (or other material) are allowed.• Duration will be 100 minutes.

Page 3: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 3

Question 1 – problems with short answer

• Problem 1-1: Forward search vs. backward search. Please explain with your example.

• Problem 1-2: Translate the following English sentences to FOL. …

• Problem 1-3: Please explain the phrase " Truth depends on interpretation.” by showing with an example.…

Page 4: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 4

Question Type 2: multiple-choices

• Please choose the topics that are candidates for the midterm exam ?

(a) Informed search(b) Logical programming(c) Constraint Searching Program(d) Decision making under uncertainty(e) Probability Reasoning System

Answer: (a), (c)

Page 5: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 5

Question Type 3- Matching

• Here are a few things that are related to NCTU and NTHU, please match the correct ones to each of them.(a) http://www.nctu.edu.tw(b) http://www.ust.edu.tw(c) IPv4 address range, 140.114.*.*(d) The current administrator of TANet Hsinchu-Miaoli

regional center (e) The university with the largest number of students in

Taiwan

Answer: <NCTU, {(a), (b), (d)} >, <NTHU, {(b),(c)} >

Page 6: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 6

Question type 4 – calculation or inference(with much more detailed involved)

• Problem 4-1: Please find an optimal solution to go from NCTU to the Hsinchu Railway Station. Here is the related information …• the most economic way (e.g., less money)• the most efficient way (e.g., less time)...

Page 7: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 7

Last time: Logic and Reasoning

• Knowledge Base (KB): contains a set of sentences expressed using a knowledge representation language• TELL: operator to add a sentence to the KB

• ASK: operator to query the KB • Logics are KRLs where conclusions can be drawn

• Syntax• Semantics

• Entailment: KB |= α iff a is true in all worlds where KB is true

• Inference: KB |–i α, sentence α can be derived from KB using procedure i

• Sound: whenever KB |–i α then KB |= α is true

• Complete: whenever KB |= a then KB |–i a

Page 8: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 8

Last Time: Syntax of propositional logic

Page 9: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 9

Last Time: Semantics of Propositional logic

Page 10: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 10

Last Time: Inference rules for propositional logic

Page 11: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 11

This time

• First-order logic• Syntax• Semantics• Wumpus world example

• Ontology (ont = ‘to be’; logica = ‘word’):

• kinds of things one can talk about in the language

Page 12: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 12

Why first-order logic?

• We saw that propositional logic is limited because it only makes the ontological commitment that the world consists of facts.

• Difficult to represent even simple worlds like the Wumpus world; e.g., “don’t go forward if the Wumpus is in front of you” takes 64 rules

Page 13: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 13

First-order logic (FOL)

• Ontological commitments:• Objects: wheel, door, body, engine, seat, car,

passenger, driver• Relations: Inside(car, passenger),

Beside(driver, passenger)• Functions: ColorOf(car)• Properties: Color(car), IsOpen(door),

IsOn(engine)

• Functions are relations with single value for each object

Page 14: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 14

Semantics

there is a correspondence between • functions, which return values•predicates, which are true or false

Function: father_of(Mary) = BillPredicate: father_of(Mary, Bill)

Page 15: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 15

Examples:

• “ One plus two equals three”Objects: one, two, three, one plus twoRelations: equalsProperties: --Functions: plus

(“one plus two” is the name of the object obtained by applying function plus to one and two; three is another name for this object)

• “Squares neighboring the Wumpus are smelly”Objects: Wumpus, squareRelations: neighboringProperties: smellyFunctions: --

Page 16: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 16

FOL: Syntax of basic elements

• Constant symbols: 1, 5, A, B, Alex, Manos, …

• Predicate symbols: >, Friend, Student, Colleague, …

• Function symbols: +, sqrt, SchoolOf, TeacherOf, ClassOf, …

• Variables: x, y, z, next, first, last, …

• Connectives: , , ,

• Quantifiers: ,

• Equality: =

Page 17: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 17

Syntax of Predicate Logic

• Symbol set• constants• Boolean connectives• variables• functions• predicates (relations)• quantifiers

Page 18: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 18

Syntax of Predicate Logic

• Terms: a reference to an object• variables, • constants, • functional expressions (can be arguments to

predicates)

• Examples: • first([a,b,c]), sq_root(9), sq_root(n), tail([a,b,c])

Page 19: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 19

Syntax of Predicate Logic

• Sentences: make claims about objects• Well-formed formulas, (wffs)

• Atomic Sentences (predicate expressions):• Loves(John,Mary), Brother(John,Ted)

• Complex Sentences (Atomic Sentences connected by booleans):• ¬ Loves(John,Mary)• Brother(John,Ted) ^ Brother(Ted,John)• Mother(Alice, John) ⇒ Mother(Alice,Ted)

Page 20: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 20

Examples of Terms: Constants, Variables and Functions

• Constants: object constants refer to individuals• Alan, Sam, R225, R216

• Variables• PersonX, PersonY, RoomS, RoomT

• Functions• father_of(PersonX)• product_of(Number1,Number2)

Page 21: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 21

Examples of Predicates and Quantifiers

• Predicates• In(Alan,R225)• PartOf(R225,BuildingEC3)• FatherOf(PersonX,PersonY)

• Quantifiers• All dogs are mammals.• Some birds can’t fly.• 3 birds can’t fly.

Page 22: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 22

Semantics

• Referring to individuals• Jackie • son-of(Jackie), Sam

• Referring to states of the world• person(Jackie), female(Jackie)• mother(Sam, Jackie)

Page 23: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 23

FOL: Atomic sentences

AtomicSentence Predicate(Term, …) | Term = Term

Term Function(Term, …) | Constant | Variable

• Examples: • SchoolOf(Manos)• Colleague(TeacherOf(Alex),

TeacherOf(Manos))• >((+ x y), x)

Page 24: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 24

FOL: Complex sentences

Sentence AtomicSentence | Sentence Connective Sentence| Quantifier Variable, … Sentence| Sentence| (Sentence)

• Examples:

• S1 S2, S1 S2, (S1 S2) S3, S1 S2, S1 S3

• Colleague(Paolo, Maja) Colleague(Maja, Paolo) Student(Alex, Paolo) Teacher(Paolo, Alex)

Page 25: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 25

Semantics of atomic sentences

• Sentences in FOL are interpreted with respect to a model

• Model contains objects and relations among them

• Terms: refer to objects (e.g., Door, Alex, StudentOf(Paolo))

• Constant symbols: refer to objects

• Predicate symbols: refer to relations

• Function symbols: refer to functional Relations

• An atomic sentence predicate(term1, …, termn) is true iff the relation referred to by predicate holds between the objects referred to by term1, …, termn

Page 26: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 26

Example model

• Objects: John, James, Marry, Alex, Dan, Joe, Anne, Rich

• Relation: sets of tuples of objects{<John, James>, <Marry, Alex>, <Marry, James>, …}{<Dan, Joe>, <Anne, Marry>, <Marry, Joe>, …}

• E.g.: Parent relation -- {<John, James>, <Marry, Alex>, <Marry, James>}

then Parent(John, James) is trueParent(John, Marry) is false

Page 27: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 27

Quantifiers

• Expressing sentences about collections of objects without enumeration (naming individuals)

• E.g., All Trojans are clever

Someone in the class is sleeping

• Universal quantification (for all):

• Existential quantification (three exists):

Page 28: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 28

Universal quantification (for all):

<variables> <sentence>

• “Every one in the DCP1172 class is smart”: x In(DCP1172, x) Smart(x)

P corresponds to the conjunction of instantiations of PIn(DCP1172, Manos) Smart(Manos) In(DCP1172, Dan) Smart(Dan) …In(DCP1172, Clinton) Smart(Clinton)

Page 29: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 29

Universal quantification (for all):

is a natural connective to use with

• Common mistake: to use in conjunction with e.g: x In(DCP1172, x) Smart(x)means “every one is in DCP1172 and everyone is smart”

Page 30: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 30

Existential quantification (there exists):

<variables> <sentence>

• “Someone in the dcp1172 class is smart”: x In(dcp1172, x) Smart(x)

P corresponds to the disjunction of instantiations of PIn(dcp1172, Manos) Smart(Manos) In(dcp1172, Dan) Smart(Dan) …In(dcp1172, Clinton) Smart(Clinton)

Page 31: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 31

Existential quantification (there exists):

is a natural connective to use with

• Common mistake: to use in conjunction with e.g: x In(dcp1172, x) Smart(x)is true if there is anyone that is not in dcp1172!(remember, false true is valid).

Page 32: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 32

Properties of quantifiers

Proof?

Not all by one person but each one at least by one

Page 33: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 33

Proof

• In general we want to prove:

x P(x) <=> ¬ x ¬ P(x)

x P(x) = ¬(¬( x P(x))) = ¬(¬(P(x1) ^ P(x2) ^ … ^ P(xn)) ) = ¬(¬P(x1) v ¬P(x2) v … v ¬P(xn)) )

x ¬P(x) = ¬P(x1) v ¬P(x2) v … v ¬P(xn)

¬ x ¬P(x) = ¬(¬P(x1) v ¬P(x2) v … v ¬P(xn))

Page 34: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 34

Example sentences

• Brothers are siblings x, y Brother(x, y) Sibling(x, y)

• Sibling is transitive x, y, z Sibling(x, y) Sibling(y, z) Sibling(x, z)

• One’s mother is one’s sibling’s mother m, c,d Mother(m, c) Sibling(c, d) Mother(m, d)

• A first cousin is a child of a parent’s sibling c, d FirstCousin(c, d)

p, ps Parent(p, d) Sibling(p, ps) Parent(ps, c)

Page 35: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 35

Example sentences

• One’s mother is one’s sibling’s mother m, c,d Mother(m, c) Sibling(c, d)

Mother(m, d) c,d m Mother(m, c) Sibling(c, d)

Mother(m, d)

c d

m

Mother of

sibling

Page 36: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 36

Translating English to FOL

• Every gardener likes the sun. x gardener(x) => likes(x,Sun)

• You can fool some of the people all of the time. x t (person(x) ^ time(t)) => can-fool(x,t)

Page 37: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 37

Translating English to FOL

• You can fool all of the people some of the time. x t (person(x) ^ time(t) => can-fool(x,t)

• All purple mushrooms are poisonous. x (mushroom(x) ^ purple(x)) => poisonous(x)

Page 38: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 38

Translating English to FOL…

• No purple mushroom is poisonous.

¬( x) purple(x) ^ mushroom(x) ^ poisonous(x)

or, equivalently,

( x) (mushroom(x) ^ purple(x)) => ¬poisonous(x)

Page 39: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 39

Translating English to FOL…

• There are exactly two purple mushrooms.

( x)( y) mushroom(x) ^ purple(x) ^ mushroom(y) ^ purple(y) ^ ¬(x=y) ^ ( z) (mushroom(z) ^ purple(z)) => ((x=z) v (y=z))

• Deb is not tall.

¬tall(Deb)

Page 40: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 40

Translating English to FOL…

• X is above Y if X is on directly on top of Y or else there is a pile of one or more other objects directly on top of one another starting with X and ending with Y.

( x)( y) above(x,y) <=> (on(x,y) v ( z) (on(x,z) ^ above(z,y)))

Page 41: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 41

Equality

Page 42: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 42

Higher-order logic?

• First-order logic allows us to quantify over objects (= the first-order entities that exist in the world).

• Higher-order logic also allows quantification over relations and functions.e.g., “two objects are equal iff all properties applied to them are equivalent”:

x,y (x=y) ( p, p(x) p(y))

• Higher-order logics are more expressive than first-order; however, so far we have little understanding on how to effectively reason with sentences in higher-order logic.

Page 43: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 43

Logical agents for the Wumpus world

1. TELL KB what was perceivedUses a KRL to insert new sentences, representations of facts, into KB

2. ASK KB what to do.Uses logical reasoning to examine actions and select best.

Remember: generic knowledge-based agent:

Page 44: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 44

Using the FOL Knowledge Base

Set of solutions

Page 45: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 45

Wumpus world, FOL Knowledge Base

Page 46: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 46

Deducing hidden properties

Page 47: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 47

Situation calculus

Page 48: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 48

Describing actions

May result in too many frame axioms

Page 49: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 49

Describing actions (cont’d)

Page 50: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 50

Planning

Page 51: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 51

Generating action sequences

[ ] = empty plan

Recursively continue until it gets to empty plan [ ]

Page 52: 1 DCP 1172 Introduction to Artificial Intelligence Lecture notes for Ch.8 [AIAM-2nd Ed.] First-order Logic (FOL) Chang-Sheng Chen.

DCP1172, Ch.8 52

Summary