Logical Agent

Download as pdf or txt
Download as pdf or txt
You are on page 1of 63

Guru Nanak Institutions Technical Campus

(Autonomous )
Guest Lecture on
Logical Agents and Knowledge Representation
Organized by:
Department of Civil Engineering
Resource Person
Dr. K. Venkata Rao
Director and Professor (GNITC)
Logical Agents &
Knowledge Representation
• Logical Agents
• Knowledge-based agents
• The Wumpus world
• Logic
• Propositional logic: the very simple logic
• Knowledge Representation
• Introduction, approaches to knowledge representation-
relational knowledge, knowledge represented as logic,
procedural knowledge, knowledge representation using
semantic networks, inheritance in semantic net.
Logical Agents
• Knowledge-based agents – agents that have an explicit representation
of knowledge that can be reasoned with.

• These agents can manipulate this knowledge to infer new things at the
“knowledge level”
• Humans can know “things” and “reason”
• Representation: How are the things stored?
• Reasoning: How is the knowledge used?
• To solve a problem…
• To generate more knowledge…

• Knowledge and reasoning are important to artificial agents because


they enable successful behaviors difficult to achieve otherwise
• Useful in partially observable environments
• Can benefit from knowledge in very general forms, combining and
recombining information

6
Knowledge-Based Agents
• Central component of a Knowledge-Based Agent is a Knowledge-Base
• A set of sentences in a formal language
• Sentences are expressed using a knowledge representation language

• Two generic functions:


• TELL - add new sentences (facts) to the KB
• “Tell it what it needs to know”
• ASK - query what is known from the KB
• “Ask what to do next”

7
• C=a + b;  generic
• C=4+6;
• C=4.5+5.6;
• Tell function:
• Charith is CSE student.
• All CSE students are intelligent.
• Ask:
• Is Charith intelligent?
• Yes.
Knowledge bases

• Knowledge base = set of sentences in a formal language

• Declarative approach to building an agent (or other system):


• Tell it what it needs to know

• Then it can Ask itself what to do - answers should follow from the KB

• Agents can be viewed at the knowledge level - i.e., what they know, regardless of
how implemented

• Or at the implementation level


• i.e., data structures in KB and algorithms that manipulate them
Knowledge-Based Agents
• The agent must be able to: Domain-Independent
Algorithms
Inference Engine
• Represent states and actions Knowledge-Base
• Incorporate new percepts
• Update internal representations of the Domain-Specific Content

world
• Deduce hidden properties of the world
• Deduce appropriate actions

10
Knowledge-Based Agents(agent program)

11
Knowledge-Based Agents
• Declarative Approach
• You can build a knowledge-based agent simply by “TELLing” it what it needs
to know

• Procedural Approach
• Encode desired behaviors directly as program code
• Minimizing the role of explicit representation and reasoning can result in a
much more efficient system

12
Wumpus World
• Performance Measure
• Gold +1000, Death – 1000
• Step -1, Use arrow -10

• Environment
• Square adjacent to the Wumpus are smelly
• Squares adjacent to the pit are breezy
• Glitter iff gold is in the same square
• Shooting kills Wumpus if you are facing it
• Shooting uses up the only arrow
• Grabbing picks up the gold if in the same square
• Releasing drops the gold in the same square

• Actuators
• Left turn, right turn, forward, grab, release, shoot

• Sensors
• Breeze, glitter, and smell

• See page 197-8 for more details!

13
Wumpus World
Wumpus World PEAS description
• Performance measure
• gold +1000, death -1000
• -1 per step, -10 for using the arrow

• Environment: 4 x 4 grid of rooms


• Squares adjacent to wumpus are smelly
• Squares adjacent to pit are breezy
• Glitter iff gold is in the same square
• Shooting kills wumpus if you are facing it
• Shooting uses up the only arrow
• Grabbing picks up gold if in same square
• Releasing drops the gold in same square

• Sensors: Stench, Breeze, Glitter, Bump, Scream (shot Wumpus)


• Actuators: Left turn, Right turn, Forward, Grab, Release, Shoot
Wumpus world characterization
• Fully Observable

• Deterministic

• Episodic

• Static

• Discrete

• Single-agent?
Wumpus world characterization
• Fully Observable No – only local perception

• Deterministic

• Episodic

• Static

• Discrete

• Single-agent?
Wumpus world characterization
• Fully Observable No – only local perception

• Deterministic Yes – outcomes exactly specified

• Episodic

• Static

• Discrete

• Single-agent?
Wumpus world characterization
• Fully Observable No – only local perception

• Deterministic Yes – outcomes exactly specified

• Episodic No – sequential at the level of actions

• Static

• Discrete

• Single-agent?
Wumpus world characterization
• Fully Observable No – only local perception

• Deterministic Yes – outcomes exactly specified

• Episodic No – sequential at the level of actions

• Static Yes – Wumpus and Pits do not move

• Discrete

• Single-agent?
Wumpus world characterization
• Fully Observable No – only local perception

• Deterministic Yes – outcomes exactly specified

• Episodic No – sequential at the level of actions

• Static Yes – Wumpus and Pits do not move

• Discrete Yes

• Single-agent?
Wumpus world characterization
• Fully Observable No – only local perception

• Deterministic Yes – outcomes exactly specified

• Episodic No – sequential at the level of actions

• Static Yes – Wumpus and Pits do not move

• Discrete Yes

• Single-agent? Yes – Wumpus is essentially a natural


feature
Wumpus World
• Percepts given to the agent
1.Stench
2.Breeze
3.Glitter
4.Bump (ran into a wall)
5.Scream (wumpus has been hit by arrow)
• Principle Difficulty: agent is initially ignorant of the
configuration of the environment – going to have to
reason to figure out where the gold is without getting
killed!
Exploring the Wumpus World

Initial situation:

Agent in 1,1 and percept is


[None, None, None, None, None]

From this the agent can infer the neighboring squares are safe (otherwise there would be a breeze
or a stench)
Exploring a wumpus world
Exploring a wumpus world
Exploring a wumpus world
Exploring a wumpus world

In each case where the agent draws a conclusion from the available
Information, that conclusion is guaranteed to be correct if the available
Information is correct…
This is a fundamental property of logical reasoning
Logic
• Knowledge bases consist of sentences.
• Logics are formal languages for representing information such that conclusions can be drawn

• Syntax defines how symbols can be put together to form the sentences in the language

• Semantics define the "meaning" of sentences;


• i.e., define truth of a sentence in a world (given an interpretation)

• E.g., the language of arithmetic


• x+2 ≥ y is a sentence; x2+y > {} is not a sentence
• x+2 ≥ y is true iff the number x+2 is no less than the number y
• x+2 ≥ y is true in a world where x = 7, y = 1
• x+2 ≥ y is false in a world where x = 0, y = 6
1. Rama plays football.  Correct (Syntax, Semantics)

2. Football plays Rama.


Entailment
• Entailment means that one thing follows logically from another:
KB ╞ α

• Knowledge base KB entails sentence α if and only if α is true in all


worlds where KB is true
• E.g., the KB containing “the Phillies won” and “the Reds won” entails “Either
the Phillies won or the Reds won”
• E.g., x+y = 4 entails 4 = x+y
• Entailment is a relationship between sentences (i.e., syntax) that is based on
semantics
Models
• Logicians typically think in terms of models, which are formally
structured worlds with respect to which truth can be evaluated
m
• We say m is a model of a sentence α if α is true in m
Alpha
• M(α) is the set of all models of α

• Then KB ╞ α iff M(KB)  M(α)

E.g. KB = Phillies won and


Yankees won α = Phillies won
Entailment in the wumpus world
Situation after detecting nothing in
[1,1], moving right, breeze in [2,1]

Consider possible models for KB


assuming only pits

3 Boolean choices 23 =8 possible


models
Wumpus possible models
Wumpus models

• KB = wumpus-world rules + observations


Wumpus models

• KB = wumpus-world rules + observations


• α1 = “there is no pit in [1,2]", KB ╞ α1, proved by model checking
Wumpus models

• KB = wumpus-world rules + observations


Wumpus models

• KB = wumpus-world rules + observations


• α2 = “there is no pit in [2,2]", KB ╞ α2
Inference and Entailment
• Inference is a procedure that allows new sentences to be derived
from a knowledge base.
1.Doly is a dolphin.
2. All dolphins are intelligent.

Derived:
• Understanding inference and entailment: think of
Doly is intelligent. • Set of all consequences of a KB as a haystack
• α as the needle

• Entailment is like the needle being in the haystack


• Inference is like finding it
Inference
• KB ├i α = sentence α can be derived from KB by inference procedure I
• Soundness: i is sound if whenever KB ├i α, it is also true that KB╞ α
• Ex: Assignment-1 is true then Assignments conducted is true

• Completeness: i is complete if whenever KB╞ α, it is also true that KB ├i α


• Ex: Assignments conducted is true then assignment-1 is true
• Preview: we will define a logic (first-order logic) which is expressive enough to say
almost anything of interest, and for which there exists a sound and complete inference
procedure.
• That is, the procedure will answer any question whose answer follows from what is
known by the KB.
Step Back…

This is an inference procedure whose conclusions are guaranteed to be true


In any world where the premises are true.

If KB is true in the real world, then any sentence α derived from KB by a sound
inference procedure is also true in the real world.
Propositional logic
• Propositional logic is the simplest logic – illustrates basic ideas
• SYNTAX:
• Syntax of Propositional logic defines allowable sentences.
• Atomic sentences: These are the individual syntactic elements which consists of a single
propositional symbol.
• Each symbol stands for a proposition true or false.
• Uppercase names are used for symbols Ex: P,Q,R etc.
• Ex: W1,3 stand for Wumpus is in 1,3
• Complex Sentences: Constructed from simpler sentences using logical connectives
• The proposition symbols P1, P2 etc are (atomic) sentences

• If S is a sentence, (S) is a sentence (negation)

• Connectives are: Conjunction, Disjunction, Implies, bidirectional etc.


• Eg:
• 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)


Propositional logic: Semantics
Each model specifies true/false for each proposition symbol

E.g. P1,2 P2,2 P3,1


false false true

With these symbols, 8 possible models, can be enumerated automatically.

Rules for evaluating truth with respect to a model m:

S is true iff S is false


S1  S2 is true iff S1 is true and S2 is true
S1  S2 is true iff S1is true or S2 is true
S1  S2 is true iff S1 is false or S2 is true
i.e., is false iff S1 is true and S2 is false
S1  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 = true
Truth tables for connectives
Truth tables for connectives

John likes football and John likes baseball.


John likes football or John likes baseball.
(English or is a bit different…)
Truth tables for connectives

John likes football and John likes baseball.


John likes football or John likes baseball.
If John likes football then John likes baseball.
(Note different from English – if John likes football
maps to false, then the sentence is true.)
(Implication seems to be if antecedent is true then I
claim the consequence is, otherwise I make no claim.)
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 : Pit not in 1,1

B1,1: Breeze not in 1,1

B2,1: Breeze there

"Pits cause breezes in adjacent squares“

B1,1  (P1,2  P2,1)


B2,1  (P1,1  P2,2  P3,1)
Simple Inference Procedure
• KB╞ α?

• Model checking – enumerate the models, and check if α is true in


every model in which KB is true. Size of truth table depends on #
of atomic symbols.

• Remember – a model is a mapping of all atomic symbols to true or


false – use semantics of connectives to come to an interpretation
for them.
Truth tables for inference
Inference by enumeration
• Depth-first enumeration of all models is sound and complete

• For n symbols, time complexity is O(2n), space complexity is O(n)


Logical equivalence
• Two sentences are logically equivalent iff true in same models: α ≡ ß iff α╞ β and
β╞ α
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 Deduction Theorem:


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 unsatisfiable
Proof methods
• Proof methods divide into (roughly) two kinds:
• Application of inference rules

• Legitimate (sound) generation of new sentences from old

• Proof = a sequence of inference rule applications


Can use inference rules as operators in a standard search algorithm

• Typically require transformation of sentences into a normal form

• Model checking
• truth table enumeration (always exponential in n)
• improved backtracking, e.g., Davis--Putnam-Logemann-Loveland (DPLL)
• heuristic search in model space (sound but incomplete)
e.g., min-conflicts-like hill-climbing algorithms
MAIN GATE

L
R
S
Conversion to CNF
B1,1  (P1,2  P2,1)
1. Eliminate , replacing α  β with (α  β)(β  α).
(B1,1  (P1,2  P2,1))  ((P1,2  P2,1)  B1,1)

2. Eliminate , replacing α  β with α β.


(B1,1  P1,2  P2,1)  ((P1,2  P2,1)  B1,1)

3. Move  inwards using de Morgan's rules and double-negation:


(B1,1  P1,2  P2,1)  ((P1,2  P2,1)  B1,1)

4. Apply distributivity law ( over ) and flatten:


(B1,1  P1,2  P2,1)  (P1,2  B1,1)  (P2,1  B1,1)
Resolution example

• KB = (B1,1  (P1,2 P2,1))  B1,1 α = P1,2


You might also like