Agents that Reason Logically Logical agents have knowledge base, from which they draw conclusions...

Preview:

Citation preview

Agents that Reason Logically

Logical agents have knowledge base, from which they draw conclusions TELL: provide new facts to agent ASK: decide on appropriate action

Sample: Wumpus World Show original wumpus game

goal is to shoot wumpus example of logical reasoning http://www.inthe70s.com/games/wum

pus/index.shtml Our version:

Kill the wumpus.

A Wumpus Agent Agent does not perceive its own

location (unlike sample game), but it can keep track of where it has been

Percepts: Stench – wumpus is nearby Breeze – pit is nearby

Wumpus Agent Actuators:

Forward, Turn Left, Turn Right Shoot (shoots arrow forward until hits

wumpus or wall) Environment:

4x4 grid, start at (1,1) facing right

Wumpus Agent Death

Agent dies if it enters a pit or square with wumpus

Goal: kill wumpus

Some complex reasoning examples

Start in (1,1) Breeze in (1,2) and (2,1) Probably a pit in (2,2)

Smell in (1,1) – where can you go? Pick a direction – shoot Walk in that direction Know where wumpus is

The use of logic A logic: formal language for

representing information, rules for drawing conclusions

Two kinds of logics: Propositional Logic (Chap 7)

Represents facts

First Order Logic (Chap 8) Represents facts, objects, and relations

RQP

)()( xMammalxCatx

Soundness Rules of inference allow us to derive

new sentences entailed by a knowledge base Rules of inference must be sound:

sentences inferred by a KB should be entailed by that KB

What is a non-sound inference? Video

Entailment At any given time, we have a knowledge

base of information If Jan likes ice cream, we would share tastes If we share tastes, I would like to know Jan

better Jan likes ice cream

The knowledge base KB entails means is true in all worlds where KB is true e.g. if = “I would like to know Jan better” KB

Propositional Logic: Semantics

Inference by Enumeration

Enumeration Solution: is entailed by KB?

Enumeration is too computationally intense

For n proposition symbols, enumeration takes 2n rows (exponential)

Inference rules allow you to deduce new sentences from the KB Can use inference rules as operators

in a standard search algorithm Think of testing if something as true

as searching for it

Modus Ponens (Implication-Elimination)

And-Elimination

And-Introduction

“Or Introduction”

Common inference rules for propositional logic

,

in 321

nn 321321 ,,,,

ni 321

Double-Negation Elimination

Unit Resolution

Resolution

Common inference rules for propositional logic

,

,

,

Example of using logic in Wumpus World

StenchAgent

Start Breeze

KB contains:

2,2

2,1

1,2

1,1

S

S

S

S

2,2

2,1

1,2

1,1

B

B

B

B

KB also contains knowledge of environment

No stench no wumpus nearby

Stench wumpus nearby

3,12,22,11,12,13

1,32,21,21,11,22

1,22,11,11,11

:

:

:

WWWWSR

WWWWSR

WWWSR

3,12,22,11,12,14 : WWWWSR

We can determine where wumpus is!

Method 1: Truth table At least 14 symbols currently: S1,1, S2,1,

S1,2, S2,2, W1,1, W2,1, W1,2, W2,2, W3,1, W1,3,

B1,1, B2,1, B1,2, B2,2

214 rows, ouch!

We can determine where wumpus is!

Method 2: Inference Modus Ponens

And-Elimination

1,22,11,1

1,22,11,11,11 :

WWW

WWWSR

1,22,11,1 WWW

Inference continued... Modus Ponens and And-Elimination

again:

One more Modus Ponens:

1,32,21,21,1

1,32,21,21,11,22 :

WWWW

WWWWSR

3,12,22,11,1

3,12,22,11,12,14 :

WWWW

WWWWSR

Inference continued... Unit Resolution:

3,1

2,1

3,12,1

2,2

3,12,22,1

1,1

3,12,22,11,1

W

W

WW

W

WWW

W

WWWW

Wumpus is in (1,3)!!!Shoot it. Shoot where?

Determining action based on knowledge

Propositional logic cannot answer well the question “What action should I take?”

It only answers “Should I take action X?”

ForwardForwardPA

ShootForwardWA

A

A

3,12,1

3,12,1

Propositional logic seems inefficient

Rule: “Shoot if the wumpus is in front of you” 16 x 4 = 64 rules for the 4x4 grid

Ditto for pits First order logic is much more

efficient

First-Order Logic: Better choice for Wumpus World

Propositional logic represents facts First-order logic gives us

Objects Relations: how objects relate to each

other Functions: return value for given

input

Syntax and Semantics First-order logic has the following:

Constants: represent objects book, A, cs327

Predicates: represent relations OlderSibling(Lisa,Bart) OlderSibling(Maggie,Lisa) OlderSibling(Maggie,Bart)

Functions FatherOf(Luke) = Anakin

Syntax and Semantics Atomic Sentences

Father(Luke,Anakin) Siblings(SonOf(Anakin),

DaughterOf(Anakin)) Complex Sentences

and, or, not, implies, equivalence

Equality

( , ) ( , )Father Luke Anakin Father Leia Anakin

)( ntDaveMusicaardDaveAppley

Universal Quantification “For all, for every”: Examples:

Usually use with Common mistake to use

)(),(

)()(

xWitchDuckxAsWeighsSamex

xMammalxCatx

)(),( xSmartCarletonxAtx

Existential Quantification “There exists”:

Typically use with Common mistake to use

)()( LukexxverseHopeForUnix

)(),( xSmartCarletonxAtx

First-Order Logic in Wumpus World

Suppose an agent perceives a stench, breeze, at time t = 5: Percept([Stench,Breeze],5) [Stench,Breeze] is a list

Then want to query for an appropriate action. Find an a (ask the KB):

?)5,(aBestActiona

Recommended