Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook §...

47
Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2

description

Slide 3 Recap Planning Represent possible actions with ….. Plan can be found by….. Or can be found by mapping planning problem into… STRIPS CSP search

Transcript of Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook §...

Page 1: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Slide 1

Propositional Logic Intro, Syntax

Jim LittleUBC CS 322 – CSP October 17, 2014

Textbook § 5.1- 5.1.1 – 5.2

Page 2: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Slide 2

Lecture Overview

• Recap Planning

• Logic Intro

• Propositional Definite Clause Logic: Syntax

Page 3: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Slide 3

Recap Planning

• Represent possible actions with …..

• Plan can be found by…..

• Or can be found by mapping planning problem into…

STRIPS

CSP

search

Page 4: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Solve planning as CSP: pseudo code

Slide 4

solved = falsefor horizon h=0,1,2,… map STRIPS into a CSP csp with horizon h solve that csp if solution exists then return solution else horizon = horizon + 1end

Page 5: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Planning as CSP

Slide 5

Page 6: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

STRIPS to CSP applet

Slide 6

Allows you:• to specify a planning problem in STRIPS• to map it into a CSP for a given horizon• the CSP translation is automatically loaded into the CSP applet where it can be solved

Practice exercise using STRIPS to CSP is available on AIspace

Page 7: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

West

North

East

South

62

8Q

QJ65

97

AK53

A9

Slide 7

Now, do you know how to implement a planner for….

• Emergency Evacuation?• Robotics?• Space Exploration?• Manufacturing Analysis?• Games (e.g., Bridge)?• Generating Natural language

• Product Recommendations ….

Page 8: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Slide 8

No , but you (will) know the

key ideas !• Ghallab, Nau, and TraversoAutomated Planning: Theory and PracticeMorgan Kaufmann, May 2004ISBN 1-55860-856-7

• Web site: http://www.laas.fr/planning

Page 9: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Slide 9

Lecture Overview

• Recap Planning

• Logic Intro

• Propositional Definite Clause Logic: Syntax

Page 10: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Lecture Overview

• Recap of Lecture 6• Planning as CSP • Logic

• Intro• Propositional Definite Clause Logic (PDCL)• Logical Consequences and Proof Procedures• Bottom Up Proof Procedure

Slide 10

Page 11: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Where Are We?Environment

Problem Type

Query

Planning

Deterministic Stochastic

Constraint Satisfaction Search

Arc Consistency

Search

Search

Logics

STRIPS

Vars + Constraints

Value Iteration

Variable Elimination

Belief Nets

Decision Nets

Markov Processes

Static

Sequential

RepresentationReasoningTechnique

Variable Elimination

First Part of the Course Slide 11

Page 12: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Where Are We?Environment

Problem Type

Query

Planning

Deterministic Stochastic

Constraint Satisfaction Search

Arc Consistency

Search

Search

Logics

STRIPS

Vars + Constraints

Value Iteration

Variable Elimination

Belief Nets

Decision Nets

Markov Processes

Static

Sequential

RepresentationReasoningTechnique

Variable Elimination

Back to static problems, but with

richer representation

Slide 12

Page 13: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Logics in AI: Similar slide to the one for planning

Propositional Logics

First-Order Logics

Propositional Definite Clause

Logics

Semantics and Proof Theory

Satisfiability Testing (SAT)

Description Logics

Cognitive Architectures

Video Games

Ontologies

Semantic Web

Information Extraction

Summarization

Production Systems

Tutoring Systems

Hardware Verification

Product Configuration

Software Verification

Applications

Slide 13

Page 14: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Logics in AI: Similar slide to the one for planning

Propositional Logics

First-Order Logics

Propositional Definite Clause

Logics

Semantics and Proof Theory

Description Logics

Cognitive Architectures

Video Games

Hardware Verification

Product ConfigurationOntologies

Semantic Web

Information Extraction

Summarization

Production Systems

Tutoring Systems

Software Verification

You will know

You will know a little

Applications

Satisfiability Testing (SAT)

Slide 14

Page 15: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

What you already know about logic...• From programming: Some logical

operators• If ((amount > 0) && (amount < 1000)) || !(age < 30) • ...

Logic is the language of Mathematics. To define formal structures (e.g., sets, graphs) and to prove statements about those

You know what they mean in a “procedural” way

We use logic as a Representation and Reasoning Systemthat can be used to formalize a domain and to reason about it

Slide 15

Page 16: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Logic: a framework for representation & reasoning

• When we represent a domain about which we have only partial (but certain) information, we need to represent….• Objects, properties, sets, groups, actions, events, time,

space, …• All these can be represented as

• Objects• Relationships between objects

• Logic is the language to express knowledge about the world this way• http://en.wikipedia.org/wiki/John_McCarthy (1927 - 2011) Logic and AI “The Advice Taker” Coined “Artificial Intelligence”. Dartmouth W’shop (1956)

Slide 16

Page 17: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Why Logics?“Natural” to express knowledge about the world(more natural than a “flat” set of variables & constraints)

e.g. “Every 101 student will pass the course” Course (c1) Name-of (c1, 101)

• It is easy to incrementally add knowledge • It is easy to check and debug knowledge• Provides language for asking complex

queries• Well understood formal properties

Slide 17

Page 18: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Logic: A general framework for reasoning

General problem: Query answering• tell the computer how the world works• tell the computer some facts about the world• ask a yes/no question about whether other facts must be

true

Solving it with Logic1. Begin with a task domain.2. Distinguish those things you want to talk about (the

ontology)3. Choose symbols in the computer to denote elements of your

ontology4. Tell the system knowledge about the domain5. Ask the system whether new statements about the domain

are true or false

live_w4? lit_l2? Slide 18

Page 19: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Example: Electrical Circuit

/ up

/down

Slide 19

Page 20: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

/ up

/down

Syntax: are these sentences that a reasoning procedure can process?

Semantics: what do these statements say about the world I need to represent?

Slide 20

Page 21: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

To Define a Logic We Need

• Syntax: specifies the symbols used, and how they can be combined to form legal sentences • Knowledge base is a set of sentences in the language

• Semantics: specifies the meaning of symbols and sentences

• Reasoning theory or proof procedure: a specification of how an answer can be produced.• Sound: only generates correct answers with respect to

the semantics• Complete: Guaranteed to find an answer if it exists

Slide 21

Page 22: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Propositional Definite ClausesWe will start with a simple logic

• Primitive elements are propositions: Boolean variables that can be {true, false}

Two kinds of statements:• that a proposition is true• that a proposition is true if one or more other propositions

are true

Why only propositions?• We can exploit the Boolean nature for efficient reasoning• Starting point for more complex logics

We need to specify: syntax, semantics, proof procedure Slide 22

Page 23: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Lecture Overview

• Recap of Lecture 6• Planning as CSP • Logic

• Intro• Propositional Definite Clause Logic (PDCL)

• Syntax and Semantics• Logical Consequences and Proof Procedures• Bottom Up Proof Procedure

Slide 23

Page 24: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Propositional Definite Clauses: Syntax

Definition (atom)An atom is a symbol starting with a lower case letter

Definition (body)A body is an atom or is of the form b1 ∧ b2 where b1 and b2 are bodies.

Definition (definite clause)A definite clause is - an atom or - a rule of the form h ← b where h is an atom (“head”) and b is a body. (Read this as “h if b”.)

Definition (KB)A knowledge base (KB) is a set of definite clauses

Examples: p1; live_l1

Examples: p1 ∧ p2; ok_w1 ∧ live_w0

Examples: p1 ← p2; live_w0 ← live_w1 ∧ up_s2

Slide 24

Page 25: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

atoms

rules

definiteclauses, KB

Slide 25

Page 26: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

PDCL Syntax: more examples

a) ai_is_fun

b) ai_is_fun ∨ ai_is_boring

c) ai_is_fun ← learn_useful_techniques

d) ai_is_fun ← learn_useful_techniques ∧ notTooMuch_work

e) ai_is_fun ← learn_useful_techniques ∧ TooMuch_work

f) ai_is_fun ← f(time_spent, material_learned)

g) srtsyj ← errt ∧ gffdgdgd

How many of the clauses below are legal PDCL clauses?

Definition (definite clause)A definite clause is - an atom or - a rule of the form h ← b where h is an atom (‘head’) and b is a body.

(Read this as ‘h if b.’) A body is an atom or is of the form b1 ∧ b2 where b1 and b2 are bodies

B. 4 C. 5A. 3 D. 6 E. 7

Slide 26

Page 27: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

PDC Syntax: more examples

a) ai_is_fun

b) ai_is_fun ∨ ai_is_boring

c) ai_is_fun ← learn_useful_techniques

d) ai_is_fun ← learn_useful_techniques ∧ notTooMuch_work

e) ai_is_fun ← learn_useful_techniques ∧ TooMuch_work

f) ai_is_fun ← f(time_spent, material_learned)

g) srtsyj ← errt ∧ gffdgdgd

Do any of these statements mean anything? Syntax doesn't answer this question!

Legal PDC clause Not a legal PDC clause

Slide 27

Page 28: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

To Define a Logic We Need

• Syntax: specifies the symbols used, and how they can be combined to form legal sentences • Knowledge base is a set of sentences in the language

• Semantics: specifies the meaning of symbols and sentences

• Reasoning theory or proof procedure: a specification of how an answer can be produced.• Sound: only generates correct answers with respect to

the semantics• Complete: Guaranteed to find an answer if it exists

Slide 28

Page 29: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Propositional Definite Clauses: Semantics

• Semantics allows you to relate the symbols in the logic to the domain you’re trying to model.Definition (interpretation)An interpretation I assigns a truth value to each atom.

Slide 29

Page 30: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Propositional Definite Clauses: Semantics

• Semantics allows you to relate the symbols in the logic to the domain you're trying to model.

Definition (interpretation)An interpretation I assigns a truth value to each atom.

Slide 30

Page 31: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Propositional Definite Clauses: Semantics

Semantics allows you to relate the symbols in the logic to the domain you're trying to model.

We can use the interpretation to determine the truth value of clauses

Definition (interpretation)An interpretation I assigns a truth value to each atom.

Definition (truth values of statements)• A body b1 ∧ b2 is true in I if and only if b1 is true in

I and b2 is true in I.• A rule h ← b is false in I if and only if b is true in I

and h is false in I.

Slide 31

Page 32: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

h b h ← bI1 F F TI2 F T FI3 T F TI4 T T T

PDC Semantics: Example

a1 a2 a1 ∧ a2

I1 F F FI2 F T FI3 T F FI4 T T T

Truth values under different interpretationsF=false, T=true

Slide 32

Page 33: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

PDC Semantics: ExampleTruth values under different interpretations

F=false, T=true h a1 a2 h ← a1 ∧ a2

I1 F F FI2 F F TI3 F T FI4 F T TI5 T F FI6 T F TI7 T T FI8 T T T

Slide 33

Page 34: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

h b h ← bI1 F F TI2 F T FI3 T F TI4 T T T

PDC Semantics: Example for truth values

Truth values under different interpretationsF=false, T=true

h ← a1 ∧ a2

Body of the clause: a1 ∧ a2

Body is only true if both a1 and a2 are true in I

h a1 a2 h ← a1 ∧ a2

I1 F F F TI2 F F T TI3 F T F TI4 F T T FI5 T F F TI6 T F T TI7 T T F TI8 T T T T

Slide 34

Page 35: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Propositional Definite Clauses: Semantics

Semantics allows you to relate the symbols in the logic to the domain you're trying to model.

We can use the interpretation to determine the truth value of clauses

Definition (interpretation)An interpretation I assigns a truth value to each atom.

Definition (truth values of statements)• A body b1 ∧ b2 is true in I if and only if b1 is true in

I and b2 is true in I.• A rule h ← b is false in I if and only if b is true in I

and h is false in I.

• A knowledge base KB is true in I if and only if every clause in KB is true in I. Slide 35

Page 36: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Propositional Definite Clauses: Semantics

Definition (model)A model of a knowledge base KB is an interpretation in

which KB is true.

Similar to CSPs: a model of a set of clauses is an interpretation that makes all of the clauses true

Definition (interpretation)An interpretation I assigns a truth value to each atom.

Definition (truth values of statements)• A body b1 ∧ b2 is true in I if and only if b1 is true in

I and b2 is true in I.• A rule h ← b is false in I if and only if b is true in I

and h is false in I.• A knowledge base KB is true in I if and only if

every clause in KB is true in I.

Slide 36

Page 37: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

PDC Semantics: Knowledge Base (KB)

p q r s

I1 true true false false

• A knowledge base KB is true in I if and only if every clause in KB is true in I.

Slide 37

Page 38: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

PDC Semantics: Knowledge Base (KB)

p q r s

I1 true true false false

• A knowledge base KB is true in I if and only if every clause in KB is true in I.

Slide 38

Page 39: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

PDC Semantics: Example for models

p ← q KB = q r ← s

Definition (model)A model of a knowledge base KB is an interpretation in

which every clause in KB is true.

p q r sI1 T T T TI2 F F F FI3 T T F FI4 T T T FI5 F T F T

Which of the interpretations below are models of KB?

B. I1 , I3

C. I1, I3, I4

D. All of them

A. I3

Slide 39

Page 40: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

PDC Semantics: Example for models

p q r s p ← q q r ← s KBI1 T T T TI2 F F F FI3 T T F FI4 T T T FI5 F T F T

Definition (model)A model of a knowledge base KB is an interpretation in

which every clause in KB is true.

p ← q KB = q r ← s

Which of the interpretations below are models of KB? All interpretations where KB is true: I1, I3, and I4

Slide 40

Page 41: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

PDC Semantics: Example for models

p q r s p ← q q r ← s KBI1 T T T T T T T TI2 F F F F T F T FI3 T T F F T T T TI4 T T T F T T T TI5 F T F T F T F F

Definition (model)A model of a knowledge base KB is an interpretation in

which every clause in KB is true.

p ← q KB = q r ← s

Which of the interpretations below are models of KB? All interpretations where KB is true: I1, I3, and I4

Slide 41

Page 42: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

OK but….…. Who cares? Where are we going with this?

Remember what we want to do with Logic

1) Tell the system knowledge about a task domain.• This is your KB• which expresses true statements about the world

2) Ask the system whether new statements about the domain are true or false.• We want the system responses to be

– Sound: only generates correct answers with respect to the semantics– Complete: Guaranteed to find an answer if it exists

Slide 42

Page 43: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

For Instance…

1) Tell the system knowledge about a task domain.

2) Ask the system whether new statements about the domain are true or false

p? r? s?

..

.

srq

qpKB

Slide 43

Page 44: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Or, More Interestingly1) Tell the system knowledge about a task domain.

2) Ask the system whether new statements about the domain are true or false

• live_w4? lit_l2?

Slide 44

Page 45: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

To Obtain This We Need One More Definition

We want a reasoning procedure that can find all and only the logical consequences of a knowledge base

Slide 45

Page 46: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Slide 46

Study for midterm (Mon Oct 27)Midterm: ~6 short questions (10pts each) + 2 problems

(20pts each)

• Study: textbook and slides

• Work on all practice exercises and revise assignments!

• While you revise the learning goals, work on practice questions

• Will post a couple of problems from previous offering (maybe slightly more difficult) … but I’ll give you the solutions

Page 47: Slide 1 Propositional Logic Intro, Syntax Jim Little UBC CS 322 – CSP October 17, 2014 Textbook § 5.1- 5.1.1 – 5.2.

Slide 47

Next class• Definite clauses Semantics and

Proofs (textbook 5.1.2, 5.2.2)