a preliminary study on reasoning about causes pedro cabalar ai lab., dept. of computer science...

37
A Preliminary Study on Reasoning About Causes Pedro Cabalar AI Lab., Dept. of Computer Science University of Corunna, SPAIN.

Post on 19-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

A Preliminary Study on Reasoning About Causes

Pedro Cabalar

AI Lab., Dept. of Computer Science

University of Corunna, SPAIN.

2

Introduction

• Causality in Reasoning about Actions:– causal assertions (McCarthy 69). – Yale Shooting Problem:

causal minimizations (Lifschitz 87) (Haugh 87).– Ramification Problem:

(McCain&Turner 95) (Lin 95) (Thielscher 97) (Denecker et al. 98) (Schwind 99) (Shanahan 99) (Giunchiglia et al. 02).

• Causality = technical solution to ramif. problem butno real interest about causal information.

3

Introduction

• Example: we can use it to conclude 'dead' after 'shoot' but not to express that the shot was the cause for 'dead'.

• Facts like this not trivial: indirect effects, concurrence, etc. They should be derived from our causal rules.

• We present a mechanism to obtain the causes of each derived formula in terms of subsets of the performed actions.

4

Outline

A motivating example Syntax and Semantics LP translation Related work Conclusions

5

A motivating example

sw(1) sw(2) light

• How did we reach this (successor) state?

• "Who was responsible" of turning off the light?

• Let us study some possible performed actions ...

6

A motivating example

sw(1) sw(2) light

• Trivial case: we had opened sw(1) while sw(2) closed ...

7

A motivating example

sw(1) sw(2) light

• Trivial case: we had opened sw(1) while sw(2) closed ...

• Toggling sw(1) has caused light.

8

A motivating example

sw(1) light

• 2nd case: we had closed sw(2) while sw(1) open ...

sw(2)

9

A motivating example

sw(1) light

• 2nd case: we closed sw(2) while sw(1) open ...

• The light persists off (no cause for light).

sw(2)

10

A motivating example

sw(1) light

• Interesting case: toggling both switches simultaneously.

sw(2)

11

A motivating example

sw(1) sw(2) light

• Interesting case: toggling both switches simultaneously.

• Toggling sw(1) has caused light (after all, sw(2) has been closed). Note that light remains off, but caused!

12

Another example

sw(1) sw(2) light

• Consider now this state. If we close both switches...

• both actions together cause light to be on.

13

Another example

sw(1) sw(2)light

• whereas, toggling both switches again...

• any of the actions alone is a cause for light off.

14

Summary• Any change of value is due to causation. However, the opposite

does not hold.

• An effect may be equally due to different causes, and each cause can be the concurrent combination of several actions.

• Our goal: obtain causal facts, avoiding:sw(1) causes light if sw(2) sw(1),sw(2) causes lightsw(2) causes light if sw(1)

• in favor of:sw(1) sw(2) causes light

15

Outline

A motivating example Syntax and Semantics LP translation Related work Conclusions

16

Syntax

• Symbols S = A F – Actions A ={toggle(1), toggle(2)} – Fluents F ={sw(1),sw(2)}

• Compound actions 2A. Examples: {toggle(1)}, {toggle(2)}, {toggle(1), toggle(2)}, Ø

• Notation:a, b, ... = actions A, B, ... = compound actions f, g, ... = fluents , , ... = sets of compound actions p, q, ... = symbols

17

Syntax

• Formulas: L denotes the language formed with

, p, , , , A

A "compound action A has caused to hold"

• Usual derived operators , , , , plus:

C A N C

A 2A

18

Semantics

= standard truth valuation : S { t, f }

F = state A = performed (compound) action

= causal relevance relation 2A S Example: ( {toggle(1), toggle(2)}, light ) means:

{toggle(1), toggle(2)} has caused truth value (light).

can be seen as a set of functions A : S { t, f } so that

for instance, A(light) = t iff (A, light) .

Interpretation ,

19

Semantics

• Truth () for propositional connectives is standard

() will be a set of comp. actions pointing out:

A () iff A() = t

• The valuation w.r.t. I is defined as vI : L { t, f } 2A A

and follows the next rules...

Let I=,

20

Semantics

f t t f

f Ø f t t Ø

f Ø f Ø f Ø f Ø f Ø

f f Ø f ( ) f f

t f Ø f t ( ) t

t Ø f Ø f t t Ø

, Ø

vI () f Ø

"Short-circuit" behavior when false + persistent

21

Semantics

f t t f

f Ø f t t Ø

f Ø f Ø f Ø f Ø f Ø

f f Ø f ( ) f f

t f Ø f t ( ) t

t Ø f Ø f t t Ø

, Ø

vI () f Ø

Truth + persistent = "copy" the other conjunct

22

Semantics

f t t f

f Ø f t t Ø

f Ø f Ø f Ø f Ø f Ø

f f Ø f ( ) f f

t f Ø f t ( ) t

t Ø f Ø f t t Ø

, Ø

vI () f Ø

one conjunct false + caused explains whole conjunction, when the other conjunct is true

23

Semantics

f t t f

f Ø f t t Ø

f Ø f Ø f Ø f Ø f Ø

f f Ø f ( ) f f

t f Ø f t ( ) t

t Ø f Ø f t t Ø

, Ø

vI () f Ø

both false + caused: any of their causes isalso a cause for the conjunciton

24

Semantics

f t t f

f Ø f t t Ø

f Ø f Ø f Ø f Ø f Ø

f f Ø f ( ) f f

t f Ø f t ( ) t

t Ø f Ø f t t Ø

, Ø

vI () f Ø

both true + caused: (any) union of cause in with cause in is a cause for the conjunciton

25

Semantics

f t t f

f Ø f t t Ø

f Ø f Ø f Ø f Ø f Ø

f f Ø f ( ) f f

t f Ø f t ( ) t

t Ø f Ø f t t Ø

, Ø

vI () f Ø

Areas for and .

26

Semantics

vI (A ) t {A} if vI () = t and A

f {Ø} otherwise

We add a pair of restrictions:

(a) {{a}} if (a) = t

{Ø} otherwise1 - For any atomic action a,

2 - Axiom: A a for any comp. action A, and any a A.

27

Some properties• Disjunction table: change t by f and vice versa.• Relevance in tautologies:

p p cannot be just replaced by .• "Unfolding" properties:

A ( ) (A N ) (A N ) (1) A ( ) (A N ) (A N )

(A1 A2 ) (2)

A1A2 = A

N ( ) N N (3) N ( ) N N (4)

28

Outline

A motivating example Syntax and Semantics LP translation Related work Conclusions

29

LP translation

• Dynamic action domains introduce new requirements:

– NMR for inertia default,

– directional behavior for causal rules.

• A simple solution: we follow (Gelfond&Lifschitz93) methodology:

– high level action language, plus

– translation into Logic Programming (answer sets).

30

Action Language

• Causal rules: causes if after classical formula, fluent literal, and fluent formulas.

• Intuitive meaning: once and proved true, check whether A holds for some A. If so, derive A.

• Abbreviation: g:= if after

• Translation into LP use properties (1)-(4) to "unfold" causal dependences (details in the paper).

causes g if after causes g if after

31

LP translation• Example: switches scenario

toggle(N) causes sw(N) after sw(N) toggle(N) causes sw(N) after sw(N)light := sw(1) sw(2)

• some generated program rules:c({t(1)},light) :- c({t1},sw(1)), n(sw(2)).c({t(2)},light) :- c({t2},sw(2)), n(sw(1)).c({t(1),t(2)},light) :- c({t1},sw(1)), c({t2},sw(2)).c({t(1)},-light) :- c({t1},-sw(1)), -n(-sw(2)).c({t(2)},-light) :- c({t2},-sw(2)), -n(-sw(1)).

• other axioms:c(Lit) :- c(A,Lit). g :- g', not c(-g). Lit :- c(Lit). -g :- -g', not c(g). n(Lit) :- Lit, not c(Lit).

32

Outline

A motivating example Syntax and Semantics LP translation Related work Conclusions

33

Related work

• Transformation of causal expressions: Event Calculus (Shanahan 99), inductive causation (Denecker et al.98).

• Use of influence relations (which action may affect which fluent value):

– (Thielscher 97) constraints+influence = causal rules.

– (Castilho et al.99) use influence relations as primitive information (problem of elaboration tolerance).

• Use of a "caused" flag: caused predicate (Lin 95), occlusion (Sandewall 94), ...

34

Related work

• But the most related approach is Pertinence Logic, L2, (Otero97), which has been used as a starting point.

• Two valuation functions: truth {t, f} + pertinence {p, n}.Pertinence = flag caused/non-caused, regardless the actions responsible for that.

• When limiting to unique action, current approach degenerates into L2.

Exception: and become pertinent when any of their

operands are so, regardless their truth.

35

Outline

A motivating example Syntax and Semantics LP translation Related work Conclusions

36

Conclusions

• Causal "introspection": derive the reasons for each effect.

• We could even go further, and use this in rule conditions: A dead causes jail(peter) if perfomed(peter, A)

• Allows characterizing causally different domains apparently equivalent w.r.t. truth-value transitions (see Pearl's circuit example (Pearl00) in the paper).

• A lot of topics for future work: causes minimization, nesting of causal operators, delayed effects, ...

37

Pearl's circuit

sw(1) light

sw(2)

Apparently equivalent to: light := sw(1) sw(2)

... but when sw(1) is true (down), sw(2) is irrelevant:light := sw(1) sw(1) sw(2)