Title: An Introduction to Causal Reasoning about Actions and Change
1An Introduction to CausalReasoning about Actions
and Change
- Pedro Cabalar
- AI Lab., Dept. of Computer Science
- University of Corunna, SPAIN.
2Outline
- Reasoning about Actions Change
- Causal approaches
- Reasoning about causes
- Conclusions
3Reasoning about Actions Change (RAC)
- "Programs with common sense" (McCarthy59)(Advice
Taker) capable of performing tasks like - prediction
- temporal explanation
- planning
- Main innovation explicit (logical)
representation of domain knowledge - (McCarthyHayes69) introduce Situation Calculus
1st order logic 3 sorts - Actions
- Fluents
- Situations
4RAC scenarios
- Dynamic systems usually discrete transition
systems - Ex. of typical scenarios
- circuits like
- missionaries and cannibals3 missionaries and 3
cannibals come to a river and find a boat that
only holds 2. If the cannibals ever outnumber the
missionaries in either bank, the missionaries
will be eaten. How shall they cross? - We identify
- Fluents system properties like num(can,left,2)
- Actions what the agent can perform to force
transitionstransport(1,0) (1 cannibal,0
missionaries)
sw(2)
?sw(1)
?light
5RAC goals
- Prediction (or temporal projection)
- we know initial state sequence of actions
- we obtain final state.
- Postdiction (or temporal explanation)
- we know partial observations of final and
initial state we obtain complete initial state
(even performed actions) that explain the
observations - Planning
- we know initial state goal state
- we obtain sequence of actions that guarantee
reaching goal
6RAC goals
- But then RAC playing with transition diagrams?
- No ? Main goal quality of knowledge
representation.We look for a formal
representation that allows - clear descriptions
- reliable/efficient inference methods
- flexibility with respect to slight modifications
in the scenario "elaboration tolerance". - All this can be done using formal logic.
7Representational problems
- Elaboration tolerance logic some problems.
- Effect axioms describe the effects of each
action sw(1) ? toggle(1) ? ?sw(1)' - Frame axioms describe what the action does not
modify battery ? toggle(1) ? battery - "Frame problem" frame axioms are not scalable.
We needInertia default in absence of evidence
on the contrary, every fluent remains unchanged
8Nonmonotonic Reasoning
- AI Journal 13, 1980
- Circumscription (McCarthy)minimize the extent of
a predicate - Default logic (Reiter)use special inference
rules like - Autoepistemic Logic (Moore)non-monotonic modal
logic (L ? ? is "believed") - Important connection (BidoitFroidevaux87)
- Logic Programs under Answer Sets semantics are
some type of default theories.
? ? ?
9New problems minimal change
- Minimize changes (use of abnormal predicate)
- Yale Shooting Problem load, wait, shoot
load
wait
shoot
alive ?loaded
alive loaded
alive loaded
? alive
10Causal minimizations
- (Lifschitz 87) (Haugh 87)Include some type of
facts like causes(shoot, alive,
false) causes(load, loaded, true) - Since we don't have causes(wait, loaded, false)
- the problem is avoided.
11Ramification problem
- Describing indirect effects avoid explicit
reference to actions involved - Example a suitcase with two latches
- up1 ? up2 ? open
toggle1
?up1 up2 ?open
up1 up2 open
12Causal approaches
- (McCainTurner 95) (McCainTurner 97)conditional
operator ??? - (Lin 95) special predicate caused(fluent,situation
) - Other
- (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.
13A Preliminary Study on Reasoning About Causes
Pedro Cabalar AI Lab., Dept. of Computer
Science University of Corunna, SPAIN.
14Outline
- A motivating example
- Syntax and Semantics
- LP translation
- Related work
- Conclusions
15A 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 ...
16A motivating example
? sw(1)
sw(2)
? light
?
- Trivial case we had opened sw(1) while sw(2)
closed ...
17A motivating example
? sw(1)
sw(2)
? light
?
- Trivial case we had opened sw(1) while sw(2)
closed ...
- Toggling sw(1) has caused ? light.
18A motivating example
? sw(1)
sw(2)
?
? light
- 2nd case we had closed sw(2) while sw(1) open ...
19A motivating example
? sw(1)
sw(2)
? light
- 2nd case we closed sw(2) while sw(1) open ...
- The light persists off (no cause for ? light).
20A motivating example
? sw(1)
sw(2)
?
? light
- Interesting case toggling both switches
simultaneously.
21A 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!
22Another example
sw(1)
sw(2)
?
?
light
?
- Consider now this state. If we close both
switches...
23Another example
sw(1)
sw(2)
light
- whereas, toggling both switches again...
24Summary
- 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
light sw(2) causes light if sw(1) - in favor of sw(1) ?sw(2) causes light
25Outline
- A motivating example
- Syntax and Semantics
- LP translation
- Related work
- Conclusions
26Syntax
- 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), Ø - Notationa, b, ... actions A, B, ...
compound actions f, g, ... fluents ?, ?, ...
sets of compound actions p, q, ... symbols
27Syntax
- Formulas L denotes the language formed with
?, p, ??, ?, ???, A ? A ? ?
"compound action A has caused ? to hold" - Usual derived operators ?, ?, ?, ?, plusC? ?
? A ? N? ? ? ?? C? A ? 2A
28Semantics
Interpretation ??, ??
- ? 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 thatfor instance, ?A(light) t iff
(A, light) ? ?.
29Semantics
Let I??, ??
- 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 Aand follows the next rules...
30Semantics
?, ? ? Ø
vI (?) ? f Ø
31Semantics
?, ? ? Ø
vI (?) ? f Ø
Truth persistent "copy" the other conjunct
32Semantics
?, ? ? Ø
vI (?) ? f Ø
one conjunct false caused explains whole
conjunction, when the other conjunct is true
33Semantics
?, ? ? Ø
vI (?) ? f Ø
both false caused any of their causes is also
a cause for the conjunciton
34Semantics
?, ? ? Ø
vI (?) ? f Ø
both true caused (any) union of cause in ?
with cause in ? is a cause for the conjunciton
35Semantics
?, ? ? Ø
vI (?) ? f Ø
Areas for ? and ?.
36Semantics
- We add a pair of restrictions
2 - Axiom A ? ? a for any comp. action A, and
any a ? A.
37Some properties
- Disjunction table change t by f and vice versa.
- Relevance in tautologies p ??p cannot be just
replaced by ?. - "Unfolding" propertiesA (? ?? ) ? (A ? ? ?N ? )
? (A ? ? ?N ?) (1) A (? ?? ) ? (A ? ? N ? ) ? (A
? ? N ?) ? ? (A1 ? ? A2 ? ) (2) A1?A2
AN (? ?? ) ? N? ? N? (3) N (? ?? ) ? N? ?
N? (4)
38Outline
- A motivating example
- Syntax and Semantics
- LP translation
- Related work
- Conclusions
39LP translation
- Dynamic action domains introduce new
requirements - NMR for inertia default,
- directional behavior for causal rules.
- A simple solution we follow (GelfondLifschitz93)
methodology - high level action language, plus
- translation into Logic Programming (answer sets).
40Action 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).
41LP 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 rulesc(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 axiomsc(Lit) - c(A,Lit). g - g', not
c(-g). Lit - c(Lit). -g - -g', not c(g).
n(Lit) - Lit, not c(Lit).
42Outline
- A motivating example
- Syntax and Semantics
- LP translation
- Related work
- Conclusions
43Related 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) constraintsinfluence 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), ...
44Related 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.
45Outline
- A motivating example
- Syntax and Semantics
- LP translation
- Related work
- Conclusions
46Conclusions
- 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, ...
47Pearl's circuit
Apparently equivalent to light sw(1) ?
sw(2)
? sw(2)
? sw(1)
? light
... but when sw(1) is true (down), sw(2) is
irrelevantlight sw(1) ? ? sw(1) ? sw(2)