Rational Agents Paolo Turrini Department of Computing, Imperial - - PowerPoint PPT Presentation

rational agents
SMART_READER_LITE
LIVE PREVIEW

Rational Agents Paolo Turrini Department of Computing, Imperial - - PowerPoint PPT Presentation

Intro to AI (2nd Part) Rational Agents Paolo Turrini Department of Computing, Imperial College London Introduction to Artificial Intelligence 2nd Part Paolo Turrini Intro to AI (2nd Part) Intro to AI (2nd Part) What you have seen You have


slide-1
SLIDE 1

Intro to AI (2nd Part)

Rational Agents

Paolo Turrini

Department of Computing, Imperial College London

Introduction to Artificial Intelligence 2nd Part

Paolo Turrini Intro to AI (2nd Part)

slide-2
SLIDE 2

Intro to AI (2nd Part)

What you have seen

You have seen procedures for computational problem-solving: searching learning planning

Paolo Turrini Intro to AI (2nd Part)

slide-3
SLIDE 3

Intro to AI (2nd Part)

What we will be looking at

An agent, a mathematical entity acting in a simple world

Paolo Turrini Intro to AI (2nd Part)

slide-4
SLIDE 4

Intro to AI (2nd Part)

What we will be looking at

An agent, a mathematical entity acting in a simple world Able to reason about the world around

true facts (knowledge) plausible facts (beliefs)

Paolo Turrini Intro to AI (2nd Part)

slide-5
SLIDE 5

Intro to AI (2nd Part)

What we will be looking at

An agent, a mathematical entity acting in a simple world Able to reason about the world around

true facts (knowledge) plausible facts (beliefs)

Able to take decisions under uncertainty

Imperfect and incomplete information Quantifying uncertainty, attaching probabilities Going for uncertain outcomes, calculating expected utility

Paolo Turrini Intro to AI (2nd Part)

slide-6
SLIDE 6

Intro to AI (2nd Part)

What we will be looking at

An agent, a mathematical entity acting in a simple world Able to reason about the world around

true facts (knowledge) plausible facts (beliefs)

Able to take decisions under uncertainty

Imperfect and incomplete information Quantifying uncertainty, attaching probabilities Going for uncertain outcomes, calculating expected utility

Able to update his (or her) beliefs when confronted with new information (learning)

Paolo Turrini Intro to AI (2nd Part)

slide-7
SLIDE 7

Intro to AI (2nd Part)

What is rationality?

Robert J. Aumann

Nobel Prize Winner Economics

”A person’s behavior is rational if it is in his best interests, given his information”

Paolo Turrini Intro to AI (2nd Part)

slide-8
SLIDE 8

Intro to AI (2nd Part)

What is rationality?

Robert J. Aumann

Nobel Prize Winner Economics

”A person’s behavior is rational if it is in his best interests, given his information” Agents (not only humans) can be rational!

Paolo Turrini Intro to AI (2nd Part)

slide-9
SLIDE 9

Intro to AI (2nd Part)

The lectures one by one

Logical Agents I Logical Agents II An Uncertain World Making Sense of Uncertainty Making (Good) Decisions Making Good Decisions in time Learning from Experience I Learning from Experience II

Paolo Turrini Intro to AI (2nd Part)

slide-10
SLIDE 10

Intro to AI (2nd Part)

Logical Agents I

Paolo Turrini Intro to AI (2nd Part)

slide-11
SLIDE 11

Intro to AI (2nd Part)

The main reference

Stuart Russell and Peter Norvig Artificial Intelligence: a modern approach Chapters 7-9

Paolo Turrini Intro to AI (2nd Part)

slide-12
SLIDE 12

Intro to AI (2nd Part)

The Wumpus World

Paolo Turrini Intro to AI (2nd Part)

slide-13
SLIDE 13

Intro to AI (2nd Part)

Agents

Sensors Breeze, Glitter, Smell Actuators Turn L/R, Go, Grab, Release, Shoot, Climb Rewards 1000 escaping with gold, -1000 dying, -10 using arrow, -1 walking Environment 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

Paolo Turrini Intro to AI (2nd Part)

slide-14
SLIDE 14

Intro to AI (2nd Part)

Knowledge base

A set of sentences representing what the agent thinks about the world.

”I am in [2,1]” ”I am out of arrows” ”I smell Wumpus” ”I’d better not go forward”

We interpret it as what the agent knows, but it can very well work for what the agent believes.

Paolo Turrini Intro to AI (2nd Part)

slide-15
SLIDE 15

Intro to AI (2nd Part)

Updating the knowledge base

Paolo Turrini Intro to AI (2nd Part)

function KB-Agent( percept) returns an action static: KB, a knowledge base t, a counter, initially 0, indicating time Tell(KB,Make-Percept-Sentence( percept,t)) action ← Ask(KB,Make-Action-Query(t)) Tell(KB,Make-Action-Sentence(action,t)) t ← t + 1 return action

What we TELL the knowledge base What we ASK the knowledge base

slide-16
SLIDE 16

Intro to AI (2nd Part)

Rational explorations

Paolo Turrini Intro to AI (2nd Part)

The starting state...

slide-17
SLIDE 17

Intro to AI (2nd Part)

Rational explorations

Paolo Turrini Intro to AI (2nd Part)

and what we know.

slide-18
SLIDE 18

Intro to AI (2nd Part)

Rational explorations

Paolo Turrini Intro to AI (2nd Part)

B stands for Breeze

slide-19
SLIDE 19

Intro to AI (2nd Part)

Rational explorations

Paolo Turrini Intro to AI (2nd Part)

Where is the pit? We are ruling out one square!

slide-20
SLIDE 20

Intro to AI (2nd Part)

Rational explorations

Paolo Turrini Intro to AI (2nd Part)

S stands for smell What do we know?

slide-21
SLIDE 21

Intro to AI (2nd Part)

Rational explorations

Paolo Turrini Intro to AI (2nd Part)

Logic is the key

slide-22
SLIDE 22

Intro to AI (2nd Part)

Rational explorations

Paolo Turrini Intro to AI (2nd Part)

The further we go the more we know

slide-23
SLIDE 23

Intro to AI (2nd Part)

Rational explorations

Paolo Turrini Intro to AI (2nd Part)

The further we go the more we know

slide-24
SLIDE 24

Intro to AI (2nd Part)

Rational explorations

Paolo Turrini Intro to AI (2nd Part)

Gold!

slide-25
SLIDE 25

Intro to AI (2nd Part)

Rational explorations

Paolo Turrini Intro to AI (2nd Part)

We know the way out Game over

slide-26
SLIDE 26

Intro to AI (2nd Part)

Reasoning in the Wumpus World

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].

Paolo Turrini Intro to AI (2nd Part)

slide-27
SLIDE 27

Intro to AI (2nd Part)

Reasoning in the Wumpus World

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

Paolo Turrini Intro to AI (2nd Part)

slide-28
SLIDE 28

Intro to AI (2nd Part)

Reasoning in the Wumpus World

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”

Paolo Turrini Intro to AI (2nd Part)

slide-29
SLIDE 29

Intro to AI (2nd Part)

Reasoning in the Wumpus World

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) “A square is breezy if and only if there is an adjacent pit”

Paolo Turrini Intro to AI (2nd Part)

slide-30
SLIDE 30

Intro to AI (2nd Part)

Expressivity: at what cost?

OK if we were only dealing with finite objects But even then we would have to enumerate all the possibilities;

Paolo Turrini Intro to AI (2nd Part)

slide-31
SLIDE 31

Intro to AI (2nd Part)

Expressivity: at what cost?

OK if we were only dealing with finite objects But even then we would have to enumerate all the possibilities; Propositional Logic lacks expressive power

Paolo Turrini Intro to AI (2nd Part)

slide-32
SLIDE 32

Intro to AI (2nd Part)

First order logic

Massive increase of expressivity But there are costs, e.g., decidability We will see how to exploit the gains while limiting the costs

Paolo Turrini Intro to AI (2nd Part)

slide-33
SLIDE 33

Intro to AI (2nd Part)

FOL KB

Paolo Turrini Intro to AI (2nd Part)

We can encode the KB at each particular time point using FOL

function KB-Agent( percept) returns an action static: KB, a knowledge base t, a counter, initially 0, indicating time Tell(KB,Make-Percept-Sentence( percept,t)) action ← Ask(KB,Make-Action-Query(t)) Tell(KB,Make-Action-Sentence(action,t)) t ← t + 1 return action

slide-34
SLIDE 34

Intro to AI (2nd Part)

FOL

You already know how to describe the WW in first order logic

Paolo Turrini Intro to AI (2nd Part)

slide-35
SLIDE 35

Intro to AI (2nd Part)

FOL

You already know how to describe the WW in first order logic

Percept (at given time), e.g., Percept([Stench, Breeze, Glitter], 5) or Percept([None, Breeze, None], 3)

Paolo Turrini Intro to AI (2nd Part)

slide-36
SLIDE 36

Intro to AI (2nd Part)

FOL

You already know how to describe the WW in first order logic

Percept (at given time), e.g., Percept([Stench, Breeze, Glitter], 5) or Percept([None, Breeze, None], 3) Starting Knowledge Base, e.g., ¬AtGold(0)

Paolo Turrini Intro to AI (2nd Part)

slide-37
SLIDE 37

Intro to AI (2nd Part)

FOL

You already know how to describe the WW in first order logic

Percept (at given time), e.g., Percept([Stench, Breeze, Glitter], 5) or Percept([None, Breeze, None], 3) Starting Knowledge Base, e.g., ¬AtGold(0) Axioms to generate new knowledge from percepts, e.g., ∀ s, b, t Percept([s, b, Glitter], t) ⇒ AtGold(t)

Paolo Turrini Intro to AI (2nd Part)

slide-38
SLIDE 38

Intro to AI (2nd Part)

FOL

You already know how to describe the WW in first order logic

Percept (at given time), e.g., Percept([Stench, Breeze, Glitter], 5) or Percept([None, Breeze, None], 3) Starting Knowledge Base, e.g., ¬AtGold(0) Axioms to generate new knowledge from percepts, e.g., ∀ s, b, t Percept([s, b, Glitter], t) ⇒ AtGold(t) Axioms to generate actions (plans) from KB, e.g., ∀ t AtGold(t) ∧ ¬Holding(Gold, t) ⇒ Action(Grab, t)

Paolo Turrini Intro to AI (2nd Part)

slide-39
SLIDE 39

Intro to AI (2nd Part)

FOL

You already know how to describe the WW in first order logic

Percept (at given time), e.g., Percept([Stench, Breeze, Glitter], 5) or Percept([None, Breeze, None], 3) Starting Knowledge Base, e.g., ¬AtGold(0) Axioms to generate new knowledge from percepts, e.g., ∀ s, b, t Percept([s, b, Glitter], t) ⇒ AtGold(t) Axioms to generate actions (plans) from KB, e.g., ∀ t AtGold(t) ∧ ¬Holding(Gold, t) ⇒ Action(Grab, t) Axioms from knowledge to knowledge, e.g., ∀ t AtGold(t) ∧ Action(Grab, t) ⇒ Holding(Gold, t + 1)

Paolo Turrini Intro to AI (2nd Part)

slide-40
SLIDE 40

Intro to AI (2nd Part)

Describing the world

Perception ∀ s, b, t Percept([s, b, Glitter], t) ⇒ AtGold(t)

Paolo Turrini Intro to AI (2nd Part)

slide-41
SLIDE 41

Intro to AI (2nd Part)

Describing the world

Perception ∀ s, b, t Percept([s, b, Glitter], t) ⇒ AtGold(t) Location At(Agent, s, t)

Paolo Turrini Intro to AI (2nd Part)

slide-42
SLIDE 42

Intro to AI (2nd Part)

Describing the world

Perception ∀ s, b, t Percept([s, b, Glitter], t) ⇒ AtGold(t) Location At(Agent, s, t) Decision-making ∀ t AtGold(t) ⇒ Action(Grab, t)

Paolo Turrini Intro to AI (2nd Part)

slide-43
SLIDE 43

Intro to AI (2nd Part)

Describing the world

Perception ∀ s, b, t Percept([s, b, Glitter], t) ⇒ AtGold(t) Location At(Agent, s, t) Decision-making ∀ t AtGold(t) ⇒ Action(Grab, t) Internal reflection ∀ t AtGold(t) ∧ ¬Holding(Gold, t) ⇒ Action(Grab, t), do we have gold already? (notice we cannot observe if we are holding gold, we need to track it)

Paolo Turrini Intro to AI (2nd Part)

slide-44
SLIDE 44

Intro to AI (2nd Part)

Describing the world

Adjacent squares ∀ x, y, a, b Adjacent([x, y], [a, b]) ⇔ (x = a ∧ (y = b − 1 ∨ y = b + 1)∨ (y = b ∧ (x = a − 1 ∨ x = a + 1))

Paolo Turrini Intro to AI (2nd Part)

slide-45
SLIDE 45

Intro to AI (2nd Part)

Describing the world

Adjacent squares ∀ x, y, a, b Adjacent([x, y], [a, b]) ⇔ (x = a ∧ (y = b − 1 ∨ y = b + 1)∨ (y = b ∧ (x = a − 1 ∨ x = a + 1)) “A square is breezy if and only if there is an adjacent pit” ∀ s , Breezy(s) ⇔ ∃r (Adjacent(r, s) ∧ Pit(r))

Paolo Turrini Intro to AI (2nd Part)

slide-46
SLIDE 46

Intro to AI (2nd Part)

Describing the world

We can go on and describe plans, causal rules, etc. But let’s do some reasoning now

Paolo Turrini Intro to AI (2nd Part)

slide-47
SLIDE 47

Intro to AI (2nd Part)

Facts and Knowledge Bases

Paolo Turrini Intro to AI (2nd Part)

”Richard the Lionheart is a king”

slide-48
SLIDE 48

Intro to AI (2nd Part)

Facts and Knowledge Bases

Paolo Turrini Intro to AI (2nd Part)

”Joffrey Baratheon is a king”

slide-49
SLIDE 49

Intro to AI (2nd Part)

Telling and Asking

Tell(KB, King(Joffrey))

Paolo Turrini Intro to AI (2nd Part)

slide-50
SLIDE 50

Intro to AI (2nd Part)

Telling and Asking

Tell(KB, King(Joffrey)) Tell(KB, Person(Jaime))

Paolo Turrini Intro to AI (2nd Part)

slide-51
SLIDE 51

Intro to AI (2nd Part)

Telling and Asking

Tell(KB, King(Joffrey)) Tell(KB, Person(Jaime)) Tell(KB, ∀ x King(x) ⇒ Person(x))

Paolo Turrini Intro to AI (2nd Part)

slide-52
SLIDE 52

Intro to AI (2nd Part)

Telling and Asking

Tell(KB, King(Joffrey)) Tell(KB, Person(Jaime)) Tell(KB, ∀ x King(x) ⇒ Person(x)) Ask(KB, ∃xPerson(x)) is there a person?

Paolo Turrini Intro to AI (2nd Part)

slide-53
SLIDE 53

Intro to AI (2nd Part)

Telling and Asking

Tell(KB, King(Joffrey)) Tell(KB, Person(Jaime)) Tell(KB, ∀ x King(x) ⇒ Person(x)) Ask(KB, ∃xPerson(x)) is there a person? Askvar(KB, Person(x)) who is a person?

Paolo Turrini Intro to AI (2nd Part)

slide-54
SLIDE 54

Intro to AI (2nd Part)

Telling and Asking

Tell(KB, King(Joffrey)) Tell(KB, Person(Jaime)) Tell(KB, ∀ x King(x) ⇒ Person(x)) Ask(KB, ∃xPerson(x)) is there a person? Askvar(KB, Person(x)) who is a person? Askvar returns a list of substitutions: {x/Joffrey}, {x/Jaime}

Paolo Turrini Intro to AI (2nd Part)

slide-55
SLIDE 55

Intro to AI (2nd Part)

Substitutions

Definition Given a sentence S and a substitution σ,

Paolo Turrini Intro to AI (2nd Part)

slide-56
SLIDE 56

Intro to AI (2nd Part)

Substitutions

Definition Given a sentence S and a substitution σ, Sσ denotes the result of plugging σ into S; e.g.,

Paolo Turrini Intro to AI (2nd Part)

slide-57
SLIDE 57

Intro to AI (2nd Part)

Substitutions

Definition Given a sentence S and a substitution σ, Sσ denotes the result of plugging σ into S; e.g., S = Smarter(x, y)

Paolo Turrini Intro to AI (2nd Part)

slide-58
SLIDE 58

Intro to AI (2nd Part)

Substitutions

Definition Given a sentence S and a substitution σ, Sσ denotes the result of plugging σ into S; e.g., S = Smarter(x, y) σ = {x/Tyrion, y/Joffrey}

Paolo Turrini Intro to AI (2nd Part)

slide-59
SLIDE 59

Intro to AI (2nd Part)

Substitutions

Definition Given a sentence S and a substitution σ, Sσ denotes the result of plugging σ into S; e.g., S = Smarter(x, y) σ = {x/Tyrion, y/Joffrey} Sσ = Smarter(Tyrion, Joffrey)

Paolo Turrini Intro to AI (2nd Part)

slide-60
SLIDE 60

Intro to AI (2nd Part)

Substitutions

Definition Given a sentence S and a substitution σ, Sσ denotes the result of plugging σ into S; e.g., S = Smarter(x, y) σ = {x/Tyrion, y/Joffrey} Sσ = Smarter(Tyrion, Joffrey) Askvar(KB, S) returns some/all σ such that KB | = Sσ

Paolo Turrini Intro to AI (2nd Part)

slide-61
SLIDE 61

Intro to AI (2nd Part)

Unification

∀ x King(x) ∧ Greedy(x) ⇒ Evil(x) King(Joffrey) ∀ y Greedy(y)

Paolo Turrini Intro to AI (2nd Part)

slide-62
SLIDE 62

Intro to AI (2nd Part)

Unification

∀ x King(x) ∧ Greedy(x) ⇒ Evil(x) King(Joffrey) ∀ y Greedy(y) We can get the inference immediately if we can find a substitution matching the premises of the implication to the known facts.

Paolo Turrini Intro to AI (2nd Part)

slide-63
SLIDE 63

Intro to AI (2nd Part)

Unification

∀ x King(x) ∧ Greedy(x) ⇒ Evil(x) King(Joffrey) ∀ y Greedy(y) We can get the inference immediately if we can find a substitution matching the premises of the implication to the known facts. θ = {x/Joffrey, y/Joffrey} works

Paolo Turrini Intro to AI (2nd Part)

slide-64
SLIDE 64

Intro to AI (2nd Part)

Unification

Unify(α, β) returns θ if αθ = βθ

Paolo Turrini Intro to AI (2nd Part)

slide-65
SLIDE 65

Intro to AI (2nd Part)

Unification

Unify(α, β) returns θ if αθ = βθ

p q θ Knows(Joffrey, x) Knows(Joffrey, Sansa) Knows(Joffrey, x) Knows(y, Sansa) Knows(Joffrey, x) Knows(y, Mother(Joffrey)) Knows(Joffrey, x) Knows(x, Sansa)

Paolo Turrini Intro to AI (2nd Part)

slide-66
SLIDE 66

Intro to AI (2nd Part)

Unification

Unify(α, β) returns θ if αθ = βθ

p q θ Knows(Joffrey, x) Knows(Joffrey, Sansa) {x/Sansa} Knows(Joffrey, x) Knows(y, Sansa) Knows(Joffrey, x) Knows(y, Mother(Joffrey)) Knows(Joffrey, x) Knows(x, Sansa)

Paolo Turrini Intro to AI (2nd Part)

slide-67
SLIDE 67

Intro to AI (2nd Part)

Unification

Unify(α, β) returns θ if αθ = βθ

p q θ Knows(Joffrey, x) Knows(Joffrey, Sansa) {x/Sansa} Knows(Joffrey, x) Knows(y, Sansa) {x/Sansa, y/Joffrey} Knows(Joffrey, x) Knows(y, Mother(Joffrey)) Knows(Joffrey, x) Knows(x, Sansa)

Paolo Turrini Intro to AI (2nd Part)

slide-68
SLIDE 68

Intro to AI (2nd Part)

Unification

Unify(α, β) returns θ if αθ = βθ

p q θ Knows(Joffrey, x) Knows(Joffrey, Sansa) {x/Sansa} Knows(Joffrey, x) Knows(y, Sansa) {x/Sansa, y/Joffrey} Knows(Joffrey, x) Knows(y, Mother(Joffrey)) {y/Joffrey, x/Mother(Joffrey)} Knows(Joffrey, x) Knows(x, Sansa)

Paolo Turrini Intro to AI (2nd Part)

slide-69
SLIDE 69

Intro to AI (2nd Part)

Unification

Unify(α, β) returns θ if αθ = βθ

p q θ Knows(Joffrey, x) Knows(Joffrey, Sansa) {x/Sansa} Knows(Joffrey, x) Knows(y, Sansa) {x/Sansa, y/Joffrey} Knows(Joffrey, x) Knows(y, Mother(Joffrey)) {y/Joffrey, x/Mother(Joffrey)} Knows(Joffrey, x) Knows(x, Sansa) fail

Paolo Turrini Intro to AI (2nd Part)

slide-70
SLIDE 70

Intro to AI (2nd Part)

Standardising apart

Knows(Joffrey, x) & Knows(x, Sansa) fails

Paolo Turrini Intro to AI (2nd Part)

slide-71
SLIDE 71

Intro to AI (2nd Part)

Standardising apart

Knows(Joffrey, x) & Knows(x, Sansa) fails Standardising apart eliminates overlap of variables, e.g., Knows(z17, Sansa)

Paolo Turrini Intro to AI (2nd Part)

slide-72
SLIDE 72

Intro to AI (2nd Part)

Generalized Modus Ponens (GMP)

Definite clause: disjunction of literals, exactly one of which positive

Paolo Turrini Intro to AI (2nd Part)

slide-73
SLIDE 73

Intro to AI (2nd Part)

Generalized Modus Ponens (GMP)

Definite clause: disjunction of literals, exactly one of which positive e.g., (p1 ∧ p2 ∧ . . . ∧ pn ⇒ q)

Paolo Turrini Intro to AI (2nd Part)

slide-74
SLIDE 74

Intro to AI (2nd Part)

Generalized Modus Ponens (GMP)

Definite clause: disjunction of literals, exactly one of which positive e.g., (p1 ∧ p2 ∧ . . . ∧ pn ⇒ q)

p1′, p2′, . . . , pn′, (p1 ∧ p2 ∧ . . . ∧ pn ⇒ q) qθ where pi ′θ = piθ for all i

Paolo Turrini Intro to AI (2nd Part)

slide-75
SLIDE 75

Intro to AI (2nd Part)

Generalized Modus Ponens (GMP)

Definite clause: disjunction of literals, exactly one of which positive e.g., (p1 ∧ p2 ∧ . . . ∧ pn ⇒ q)

p1′, p2′, . . . , pn′, (p1 ∧ p2 ∧ . . . ∧ pn ⇒ q) qθ where pi ′θ = piθ for all i

Assuming all variables are universally quantified...

Paolo Turrini Intro to AI (2nd Part)

slide-76
SLIDE 76

Intro to AI (2nd Part)

Generalized Modus Ponens (GMP)

Definite clause: disjunction of literals, exactly one of which positive e.g., (p1 ∧ p2 ∧ . . . ∧ pn ⇒ q)

p1′, p2′, . . . , pn′, (p1 ∧ p2 ∧ . . . ∧ pn ⇒ q) qθ where pi ′θ = piθ for all i

Assuming all variables are universally quantified...

p1′ is King(Joffrey) p1 is King(x) p2′ is Greedy(y) p2 is Greedy(x) θ is {x/Joffrey, y/Joffrey} q is Evil(x) qθ is Evil(Joffrey)

Paolo Turrini Intro to AI (2nd Part)

slide-77
SLIDE 77

Intro to AI (2nd Part)

Soundness of GMP

Need to show that p1′, . . . , pn′, (p1 ∧ . . . ∧ pn ⇒ q) | = qθ provided that pi ′θ = piθ for all i Lemma: If ϕ is definite clause, then ϕ | = ϕθ by Universal Instantiation.

1 (p1 ∧ . . . ∧ pn ⇒ q) |

= (p1 ∧ . . . ∧ pn ⇒ q)θ = (p1θ ∧ . . . ∧ pnθ ⇒ qθ)

2 p1′, . . . , pn′ |

= p1′ ∧ . . . ∧ pn′ | = p1′θ ∧ . . . ∧ pn′θ

3 From 1 and 2, qθ follows by ordinary Modus Ponens Paolo Turrini Intro to AI (2nd Part)

slide-78
SLIDE 78

Intro to AI (2nd Part)

Coming next

Making sound and efficient inferences Where to start? How to go on?

Paolo Turrini Intro to AI (2nd Part)