Inf2D06: LogicalAgents: KnowledgeBasesandtheWumpusWorld · Outline Knowledge-basedagents...

34
Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World Cristina Alexandru School of Informatics, University of Edinburgh 26/01/18 Slide Credits: Jacques Fleuriot, Michael Rovatsos, Michael Herrmann

Transcript of Inf2D06: LogicalAgents: KnowledgeBasesandtheWumpusWorld · Outline Knowledge-basedagents...

Inf2D 06: Logical Agents:Knowledge Bases and the Wumpus World

Cristina Alexandru

School of Informatics, University of Edinburgh

26/01/18

Slide Credits: Jacques Fleuriot, Michael Rovatsos, Michael Herrmann

Outline

Knowledge-based agentsWumpus worldLogic in general – models and entailmentPropositional (Boolean) logicEquivalence, validity, satisfiability

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Knowledge basesInference engine ←− domain-independent algorithms

Knowledge base ←− domain-specific content

Knowledge base (KB): Set of sentences in a formallanguageDeclarative approach to building a KB:

Tell it what it needs to knowThen the agent can Ask the KB what to do

answers should follow from the KBKB can be part of agent or be accessible to many agentsThe agent’s KB can be viewed at the knowledge leveli.e., what it knows, regardless of how implementedOr at the implementation level

i.e., data structures in KB and algorithms thatmanipulate them

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

A simple knowledge-based agent

The agent must be able to:

represent states, actions, etc.incorporate new perceptsupdate internal representations of the worlddeduce hidden properties of the worlddeduce appropriate actions

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Wumpus World PEAS descriptionPerformance measure

gold +1000, death -1000-1 per step, -10 for using arrow

Environment

Squares adjacent to Wumpus are smellySquares adjacent to pits are breezyGlitter iff gold is in the same squareShooting kills Wumpus if you are facing itShooting uses up the only arrowGrabbing picks up gold if in same squareReleasing drops the gold in same square

Actuators: Left turn, Right turn, Forward, Grab, Release,ShootSensors: Stench, Breeze, Glitter, Bump, Scream

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Wumpus world characterization

Fully Observable? No – only local perceptionDeterministic? Yes – outcomes exactly specifiedEpisodic? No – sequential at the level of actionsStatic? Yes – Wumpus and Pits do not moveDiscrete? YesSingle-agent? Yes – Wumpus is essentially a naturalfeature

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Exploring a Wumpus world

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Exploring a Wumpus world

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Exploring a Wumpus world

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Exploring a Wumpus world

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Exploring a Wumpus world

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Exploring a Wumpus world

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Exploring a Wumpus world

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Exploring a Wumpus world

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Logic in general

Logics are formal languages for representing informationsuch that conclusions can be drawnSyntax defines the sentences in the languageSemantics defines the “meaning” of sentences

i.e., define truth of a sentence in a world

E.g., the language of arithmetic

x + 2 ≥ y is a sentence; x2+ y > is not a sentencex + 2 ≥ y is true iff the number x + 2 is no less than thenumber yx + 2 ≥ y is true in a world where x = 7, y = 1x + 2 ≥ y is false in a world where x = 0, y = 6

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Entailment

Entailment means that one thing follows from another:

KB � α

Knowledge base KB entails sentence α if and only if α istrue in all worlds where KB is true

e.g., the KB containing “Celtic won” and “Hearts won”entails “Celtic won or Hearts won”Considering only worlds where Celtic plays Hearts (andno draws) it entails “Either Celtic won or Hearts won”e.g., x + y = 4 entails 4 = x + yEntailment is a relationship between sentences (i.e.,syntax) that is based on semantics

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Models

Logicians typically think in terms of models, which areformally structured worlds with respect to which truth canbe evaluatedWe say m is a model of a sentence α if α is true in m

M (α) is the set of all modelsof αThenKB � α iff M(KB) ⊆ M(α)

The stronger an assertion, thefewer models it has.

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Entailment in the Wumpus world

Situation after detecting nothingin [1,1], moving right, breeze in[2,1]

Consider possible models for KBassuming only pits

3 Boolean choices =⇒ 8 possible models

Mid-lecture Exercise: What are these 8 models?

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Wumpus models

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Wumpus models

KB = Wumpus-world rules + observations

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Wumpus models

KB = Wumpus-world rules + observationsα1= "[1,2] has no pit", KB � α1, proved by modelchecking

In every model in which KB is true, α1 is also trueCristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Wumpus models

KB = Wumpus-world rules + observations

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Wumpus models

KB = Wumpus-world rules + observationsα2= "[2,2] has no pit", KB 2 α2

In some models in which KB is true, α2 is also trueCristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Inference

KB `i α: sentence α can be derived from KB by aninference procedure i

Soundness: i is sound if whenever KB `i α, it is also truethat KB � α

Completeness: i is complete if whenever KB � α, it isalso true that KB `i αPreview: we will define first-order logic:

expressive enough to say almost anything of interest,sound and complete inference procedure exists.But first...

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Propositional logic: Syntax

Propositional logic is the simplest logic – illustrates basicideas:

The proposition symbols P1, P2 etc. are sentencesIf S is a sentence, ¬S is a sentence (negation)If S1 and S2 are sentences, S1 ∧ S2 is a sentence(conjunction)If S1 and S2 are sentences, S1 ∨ S2 is a sentence(disjunction)If S1 and S2 are sentences, S1 ⇒ S2 is a sentence(implication)If S1 and S2 are sentences, S1 ⇔ S2 is a sentence(biconditional)

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Propositional logic: Semantics

Each model specifies true/false for each propositionsymbol e.g. P1,2 P2,2 P3,1

false true falseWith these symbols, 8 possible models, can beenumerated automatically.Rules for evaluating truth with respect to a model m:

¬S is true iff S is falseS1 ∧ S2 is true iff S1 is true and S2 is trueS1 ∨ S2 is true iff S1 is true or S2 is trueS1 ⇒ S2 is true iff S1 is false or S2 is true

i.e. is false iff S1 is true and S2 is falseS1 ⇔ S2 is true iff S1 ⇒ S2 is true and S2 ⇒ S1 is true

Simple recursive process evaluates an arbitrary sentence, e.g.,

¬P1,2∧(P2,2 ∨ P3,1) = true∧(true ∨ false) = true∧true = trueCristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Truth tables for connectives

P Q ¬P P ∧ Q P ∨ Q P ⇒ Q P ⇔ Q

false false true false false true truefalse true true false true true falsetrue false false false true false falsetrue true false true true true true

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Wumpus world sentences

Let Pi ,j be true if there is a pit in [i , j ].

Let Bi ,j be true if there is a breeze in [i , j ].

¬P1,1

¬B1,1

B2,1

“Pits cause breezes in adjacent squares”

B1,1 ⇔ (P1,2 ∨ P2,1)

B2,1 ⇔ (P1,1 ∨ P2,2 ∨ P3,1)

Recall: α1= "[1,2] has no pit",

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Truth tables for inference

B1,1 B2,1 P1,1 P1,2 P2,1 P2,2 P3,1 KB α1

false false false false false false false false truefalse false false false false false true false true...

......

......

......

......

true true false false false false false false truefalse true false false false false true true truefalse true false false false true false true truefalse true false false false true true true truefalse true false false true false false false true...

......

......

......

......

true true true true true true true false false

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Inference by enumeration

Depth-first enumeration of all models is sound and complete

PL-TRUE? returns true if a sentence holds within a modelEXTEND(P, val ,model)returns a new partial model in whichP has value valFor n symbols, time complexity:O(2n), space complexity:O(n)

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Logical equivalence

Two sentences are logically equivalent iff true in the samemodels: α ≡ β iff α � β and β � α

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Validity and satisfiability

A sentence is valid if it is true in all models,

e.g. true, A ∨ ¬A, A⇒ A, (A ∧ (A⇒ B))⇒ B

Validity is connected to inference via the DeductionTheorem:

KB � α if and only if (KB ⇒ α) is valid

A sentence is satisfiable if it is true in some model

e.g., A ∨ B , C

A sentence is unsatisfiable if it is true in no models

e.g.,A ∧ ¬A

Satisfiability is connected to inference via the following:

KB � α if and only if (KB ∧ ¬α) is unsatisfiableCristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Proof methodsProof methods divide into (roughly) two kinds:

Application of inference rulesLegitimate (sound) generation of new sentences from oldProof = a sequence of inference rule applications.

Can use inference rules as operators in a standardsearch algorithmTypically require transformation of sentences into anormal formExample: resolution

Model checkingtruth table enumeration (always exponential in n)improved backtracking, e.g.,Davis-Putnam-Logemann-Loveland (DPLL) methodheuristic search in model space (sound but incomplete)

e.g., min-conflicts-like hill-climbing algorithmsCristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Summary

Logical agents apply inference to a knowledge base toderive new information and make decisionsBasic concepts of logic:

syntax: formal structure of sentencessemantics: truth of sentences w.r.t. modelsentailment: necessary truth of one sentence given anotherinference: deriving sentences from other sentencessoundness: derivations produce only entailed sentencescompleteness: derivations can produce all entailedsentences

Wumpus world requires the ability to represent partial andnegated information, reason by cases, etc.Does propositional logic provide enough expressive powerfor statements about the real world?

Cristina Alexandru Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World