Efficient representations for the modal logic S5 Alexandre Niveau - - PowerPoint PPT Presentation

efficient representations for the modal logic s5
SMART_READER_LITE
LIVE PREVIEW

Efficient representations for the modal logic S5 Alexandre Niveau - - PowerPoint PPT Presentation

Intro KC for S5 ESDs KC map Efficient representations for the modal logic S5 Alexandre Niveau Bruno Zanuttini GREYC lab, Normandie Univ., Caen, France Recent trends in knowledge compilation Dagstuhl seminar, September 2017 0 / 23 Intro


slide-1
SLIDE 1

Intro KC for S5 ESDs KC map

Efficient representations for the modal logic S5

Alexandre Niveau Bruno Zanuttini

GREYC lab, Normandie Univ., Caen, France

Recent trends in knowledge compilation Dagstuhl seminar, September 2017

0 / 23

slide-2
SLIDE 2

Intro KC for S5 ESDs KC map

Plan

1

Epistemic logic S5 for contingent planning

2

Compiling subjective S5 formulas

3

Epistemic splitting diagrams

4

Knowledge compilation map

0 / 23

slide-3
SLIDE 3

Intro KC for S5 ESDs KC map

Plan

1

Epistemic logic S5 for contingent planning

2

Compiling subjective S5 formulas

3

Epistemic splitting diagrams

4

Knowledge compilation map

0 / 23

slide-4
SLIDE 4

Intro KC for S5 ESDs KC map

Introduction

S5 = modal logic of mono-agent knowledge: K(x ∨ y): “I know that x or y is true” Kx: “I know that x is false” ≡ ¬Kx Kx ∨ Kx: “I know the value of x”

1 / 23

slide-5
SLIDE 5

Intro KC for S5 ESDs KC map

Introduction

S5 = modal logic of mono-agent knowledge: K(x ∨ y): “I know that x or y is true” Kx: “I know that x is false” ≡ ¬Kx Kx ∨ Kx: “I know the value of x” Semantics: interpreted on knowledge states (KSs) knowledge state = set of propositional assignments = all worlds considered to be possibly the actual one KS | = Kϕ: ∀m ∈ KS, m| =ϕ KS | = ¬Kϕ: ∃m ∈ KS, m| =ϕ

1 / 23

slide-6
SLIDE 6

Intro KC for S5 ESDs KC map

Introduction

S5 = modal logic of mono-agent knowledge: K(x ∨ y): “I know that x or y is true” Kx: “I know that x is false” ≡ ¬Kx Kx ∨ Kx: “I know the value of x” Semantics: interpreted on knowledge states (KSs) knowledge state = set of propositional assignments = all worlds considered to be possibly the actual one KS | = Kϕ: ∀m ∈ KS, m| =ϕ KS | = ¬Kϕ: ∃m ∈ KS, m| =ϕ

Note: we only consider subjective S5 formulas

1 / 23

slide-7
SLIDE 7

Intro KC for S5 ESDs KC map

Contingent planning

Motivation: contingent planning with sensing the agent has a current KS, e.g. {xyh, xyh}

  • ntic (nondeterministic) action

toss in {xyh, xyh} → {xyh, xyh, xyh, xyh} sensing action watch in {xyh, xyh, xyh, xyh}, feedback h → {xyh, xyh} goal: reaching a state (or acquiring a certain knowledge)

2 / 23

slide-8
SLIDE 8

Intro KC for S5 ESDs KC map

Contingent planning

Motivation: contingent planning with sensing the agent has a current KS, e.g. {xyh, xyh}

  • ntic (nondeterministic) action

toss in {xyh, xyh} → {xyh, xyh, xyh, xyh} sensing action watch in {xyh, xyh, xyh, xyh}, feedback h → {xyh, xyh} goal: reaching a state (or acquiring a certain knowledge) Planning (offline): reasoning on epistemic formulas consider all possible executions → set of KSs → S5 formula Ex: plan toss; watch in {xyh, xyt}:

  • {xyh, xyh}, {xyt, xyt}
  • goal: positive S5 formula

consistency checking, entailment checking, conjunction, forgetting

2 / 23

slide-9
SLIDE 9

Intro KC for S5 ESDs KC map

Plan

1

Epistemic logic S5 for contingent planning

2

Compiling subjective S5 formulas

3

Epistemic splitting diagrams

4

Knowledge compilation map

2 / 23

slide-10
SLIDE 10

Intro KC for S5 ESDs KC map

Knowledge compilation for subjective S5

Parameterized language of Bienvenu, Fargier, Marquis [AAAI 2010]: epistemic term: T = Kϕ ∧ ¬Kψ1 ∧ · · · ∧ ¬Kψk (wlog) epistemic DNF: T1 ∨ · · · ∨ Tℓ

3 / 23

slide-11
SLIDE 11

Intro KC for S5 ESDs KC map

Knowledge compilation for subjective S5

Parameterized language of Bienvenu, Fargier, Marquis [AAAI 2010]: epistemic term: T = Kϕ ∧ ¬Kψ1 ∧ · · · ∧ ¬Kψk (wlog) epistemic DNF: T1 ∨ · · · ∨ Tℓ → general language s-S5-DNFL,L′

ϕ restricted to language L ψi restricted to language L′

Idea: K ≃ ∀ → take an L that supports efficient validity checking and an L′ that supports efficient consistency checking They considered in particular L = DNF, L′ = CNF → EDNF

3 / 23

slide-12
SLIDE 12

Intro KC for S5 ESDs KC map

EDNF

              K(ab ∨ cd) ∧ ¬K

  • (x ∨ y) ∧ (¬a ∨ z)
  • K(x) ∧ ¬K(z ∨ x) ∧ ¬K(a ∨ b)

¬K(t)

4 / 23

slide-13
SLIDE 13

Intro KC for S5 ESDs KC map

OBDD

CNF, DNF:

representations are generally large in practice hard to minimize

natural idea: L = L′ = OBDD x ϕ y z ⊤ ⊥ xyz | =

? ϕ

5 / 23

slide-14
SLIDE 14

Intro KC for S5 ESDs KC map

OBDD

CNF, DNF:

representations are generally large in practice hard to minimize

natural idea: L = L′ = OBDD x ϕ y z ⊤ ⊥ xyz | =

? ϕ

5 / 23

slide-15
SLIDE 15

Intro KC for S5 ESDs KC map

OBDD

CNF, DNF:

representations are generally large in practice hard to minimize

natural idea: L = L′ = OBDD x ϕ y z ⊤ ⊥ xyz | =

? ϕ

5 / 23

slide-16
SLIDE 16

Intro KC for S5 ESDs KC map

OBDD

CNF, DNF:

representations are generally large in practice hard to minimize

natural idea: L = L′ = OBDD x ϕ y z ⊤ ⊥ xyz | =

? ϕ

5 / 23

slide-17
SLIDE 17

Intro KC for S5 ESDs KC map

OBDD

CNF, DNF:

representations are generally large in practice hard to minimize

natural idea: L = L′ = OBDD x ϕ y z ⊤ ⊥ xyz | = ϕ

5 / 23

slide-18
SLIDE 18

Intro KC for S5 ESDs KC map

OBDD

CNF, DNF:

representations are generally large in practice hard to minimize

natural idea: L = L′ = OBDD x ϕ y z ⊤ ⊥ xyz | = ϕ xyz | =

? ϕ

5 / 23

slide-19
SLIDE 19

Intro KC for S5 ESDs KC map

OBDD

CNF, DNF:

representations are generally large in practice hard to minimize

natural idea: L = L′ = OBDD x ϕ y z ⊤ ⊥ xyz | = ϕ xyz | =

? ϕ

5 / 23

slide-20
SLIDE 20

Intro KC for S5 ESDs KC map

OBDD

CNF, DNF:

representations are generally large in practice hard to minimize

natural idea: L = L′ = OBDD x ϕ y z ⊤ ⊥ xyz | = ϕ xyz | = ϕ

5 / 23

slide-21
SLIDE 21

Intro KC for S5 ESDs KC map

EBDD

∨ ∧ ∧ K ¬K K x y y z ⊤ ⊥ ⊤ ⊥

6 / 23

slide-22
SLIDE 22

Intro KC for S5 ESDs KC map

Limitations of s-S5-DNFL,L′

Combination of Kϕ → separation between epistemic and propositional levels Epistemic splitting diagrams (ESDs) [N., Zanuttini, IJCAI 2016]: more “native” representation, viewing formulas as sets of KSs inspired from OBDDs knowledge compilation map and experimentation for the three languages (EDNFs, EBDDs, ESDs)

7 / 23

slide-23
SLIDE 23

Intro KC for S5 ESDs KC map

Plan

1

Epistemic logic S5 for contingent planning

2

Compiling subjective S5 formulas

3

Epistemic splitting diagrams

4

Knowledge compilation map

7 / 23

slide-24
SLIDE 24

Intro KC for S5 ESDs KC map

Constants

Model set of an S5 formula = set of KSs: Mod(K(x ↔ y)) =

  • {xy, xy}, {xy}, {xy}, {}
  • Mod(¬Kx) = {{x}, {x, x}}

Mod(Kx ∨ Ky) =

  • {xy, xy}, {xy}, {xy}, {}
  • {xy, xy}, {xy}, {xy}, {}
  • 8 / 23
slide-25
SLIDE 25

Intro KC for S5 ESDs KC map

Constants

Model set of an S5 formula = set of KSs: Mod(K(x ↔ y)) =

  • {xy, xy}, {xy}, {xy}, {}
  • Mod(¬Kx) = {{x}, {x, x}}

Mod(Kx ∨ Ky) =

  • {xy, xy}, {xy}, {xy}, {}
  • {xy, xy}, {xy}, {xy}, {}
  • Two KSs with no variable: {} and {

∅} → four possible formulas of empty scope → four constants: ⊥: satisfied by no KS (Mod(⊥) = ∅) ⊤: satisfied by all KSs (Mod(⊤) = {{}, { ∅}}) ∇: satisfied by all nonempty KSs (Mod(∇) = {{ ∅}}) ∆: satisfied only by the empty KS (Mod(∆) = {{}})

8 / 23

slide-26
SLIDE 26

Intro KC for S5 ESDs KC map

Split: base case

Inspired from Shannon expansion and BDDs KS = {m ∈ KS | m | = x} ∪ {m ∈ KS | m | = x} → “Split” operator: KS = spl(x, KS|x, KS|x)      xy xy xy      =

9 / 23

slide-27
SLIDE 27

Intro KC for S5 ESDs KC map

Split: base case

Inspired from Shannon expansion and BDDs KS = {m ∈ KS | m | = x} ∪ {m ∈ KS | m | = x} → “Split” operator: KS = spl(x, KS|x, KS|x)      xy xy xy      = {xy} ∪ x ·

  • y

y

  • 9 / 23
slide-28
SLIDE 28

Intro KC for S5 ESDs KC map

Split: base case

Inspired from Shannon expansion and BDDs KS = {m ∈ KS | m | = x} ∪ {m ∈ KS | m | = x} → “Split” operator: KS = spl(x, KS|x, KS|x)      xy xy xy      = {xy} ∪ x ·

  • y

y

  • = spl(x, {y},
  • y

y

  • )

9 / 23

slide-29
SLIDE 29

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?           xy xy xy      ,

  • xy

xy

  • ,
  • xy

xy

  • , {xy}

    

10 / 23

slide-30
SLIDE 30

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?           xy xy xy      ,

  • xy

xy

  • ,
  • xy

xy

  • , {xy}

    

10 / 23

slide-31
SLIDE 31

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?         x · {y} x ·

  • y

y

  ,

  • xy

xy

  • ,
  • xy

xy

  • , {xy}

    

10 / 23

slide-32
SLIDE 32

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?

  • spl(x, {y},
  • y

y

  • ),
  • xy

xy

  • ,
  • xy

xy

  • , {xy}
  • 10 / 23
slide-33
SLIDE 33

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?

  • spl(x, {y},
  • y

y

  • ),
  • xy

xy

  • ,
  • xy

xy

  • , {xy}
  • 10 / 23
slide-34
SLIDE 34

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?

  • spl(x, {y},
  • y

y

  • ),
  • x · {y}

x · {y}

  • ,
  • xy

xy

  • , {xy}
  • 10 / 23
slide-35
SLIDE 35

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?

  • spl(x, {y},
  • y

y

  • ), spl(x, {y}, {y}),
  • xy

xy

  • , {xy}
  • 10 / 23
slide-36
SLIDE 36

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?

  • spl(x, {y},
  • y

y

  • ), spl(x, {y}, {y}),
  • xy

xy

  • , {xy}
  • 10 / 23
slide-37
SLIDE 37

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?      spl(x, {y},

  • y

y

  • ), spl(x, {y}, {y}),

   x · {} x ·

  • y

y

  , {xy}     

10 / 23

slide-38
SLIDE 38

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?

  • spl(x, {y},
  • y

y

  • ), spl(x, {y}, {y}), spl(x, {},
  • y

y

  • ), {xy}
  • 10 / 23
slide-39
SLIDE 39

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?

  • spl(x, {y},
  • y

y

  • ), spl(x, {y}, {y}), spl(x, {},
  • y

y

  • ), {xy}
  • 10 / 23
slide-40
SLIDE 40

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?

  • spl(x, {y},
  • y

y

  • ), spl(x, {y}, {y}), spl(x, {},
  • y

y

  • ),
  • x · {}

x · {y}

10 / 23

slide-41
SLIDE 41

Intro KC for S5 ESDs KC map

Split on sets of KSs

What happens with sets of KSs?

  • spl(x, {y},
  • y

y

  • ), spl(x, {y}, {y}), spl(x, {},
  • y

y

  • ), spl(x, {}, {y})
  • 10 / 23
slide-42
SLIDE 42

Intro KC for S5 ESDs KC map

Splits on sets of KSs

What happens with sets of KSs? ∪

  • spl(x, {y},
  • y

y

  • ), spl(x, {y}, {y})
  • spl(x, {},
  • y

y

  • ), spl(x, {}, {y})
  • 10 / 23
slide-43
SLIDE 43

Intro KC for S5 ESDs KC map

Splits on sets of KSs

What happens with sets of KSs? ∪

  • spl(x, {y},
  • y

y

  • ), spl(x, {y}, {y})
  • spl(x, {},
  • y

y

  • ), spl(x, {}, {y})
  • 10 / 23
slide-44
SLIDE 44

Intro KC for S5 ESDs KC map

Splits on sets of KSs

What happens with sets of KSs? ∪ spl(x, {y},

  • y

y

  • , {y}
  • )
  • spl(x, {},
  • y

y

  • ), spl(x, {}, {y})
  • 10 / 23
slide-45
SLIDE 45

Intro KC for S5 ESDs KC map

Splits on sets of KSs

What happens with sets of KSs? ∪ spl(x, {y},

  • y

y

  • , {y}
  • )
  • spl(x, {},
  • y

y

  • ), spl(x, {}, {y})
  • 10 / 23
slide-46
SLIDE 46

Intro KC for S5 ESDs KC map

Splits on sets of KSs

What happens with sets of KSs? ∪ spl(x, {y},

  • y

y

  • , {y}
  • )

spl(x, {},

  • y

y

  • , {y}
  • )

10 / 23

slide-47
SLIDE 47

Intro KC for S5 ESDs KC map

Splits on sets of KSs

What happens with sets of KSs? ∪ spl(x, {y},

  • y

y

  • , {y}
  • )

spl(x, {},

  • y

y

  • , {y}
  • )

10 / 23

slide-48
SLIDE 48

Intro KC for S5 ESDs KC map

Splits on sets of KSs

What happens with sets of KSs? ∪ spl(x, {y},

  • y

y

  • , {y}
  • )

spl(x, {},

  • y

y

  • , {y}
  • )

10 / 23

slide-49
SLIDE 49

Intro KC for S5 ESDs KC map

Splits on sets of KSs

What happens with sets of KSs? spl(x,

  • {y}, {}
  • ,
  • y

y

  • , {y}
  • )

10 / 23

slide-50
SLIDE 50

Intro KC for S5 ESDs KC map

Splits on sets of KSs

What happens with sets of KSs? spl(x,

  • {y}, {}
  • ,
  • y

y

  • , {y}
  • )

Cartesian product, to exploit independancy between projections on x and on x: spl(x, M, M′) = {x · KS ∪ x · KS′ | KS ∈ M, KS′ ∈ M′} Of course, not always applicable:

  • {xy}, {xy}
  • = spl(x, {y}, {}) ∪ spl(x, {}, {y})

→ not representable as a single split

10 / 23

slide-51
SLIDE 51

Intro KC for S5 ESDs KC map

ESD

ESD language: constants ⊤, ⊥, ∆, ∇ + operators spl and ∨ + order on variables ∨ x x ∨ y ∆ y z z ⊤ ∇ ⊤ ∆

11 / 23

slide-52
SLIDE 52

Intro KC for S5 ESDs KC map

Basic constructions

x ⊤ ∆

Cheat sheet: Mod(⊥) = ∅ Mod(⊤) = {{}, { ∅}} Mod(∆) = {{}} Mod(∇) = {{ ∅}} Mod(spl(x, Φ, Φ′)) = {x · KS ∪ x · KS′ | KS ∈ Mod(Φ), KS′ ∈ Mod(Φ′)}

12 / 23

slide-53
SLIDE 53

Intro KC for S5 ESDs KC map

Basic constructions

x Kx ⊤ ∆

Cheat sheet: Mod(⊥) = ∅ Mod(⊤) = {{}, { ∅}} Mod(∆) = {{}} Mod(∇) = {{ ∅}} Mod(spl(x, Φ, Φ′)) = {x · KS ∪ x · KS′ | KS ∈ Mod(Φ), KS′ ∈ Mod(Φ′)}

12 / 23

slide-54
SLIDE 54

Intro KC for S5 ESDs KC map

Basic constructions

x Kx ⊤ ∆ y ⊤ ∇

Cheat sheet: Mod(⊥) = ∅ Mod(⊤) = {{}, { ∅}} Mod(∆) = {{}} Mod(∇) = {{ ∅}} Mod(spl(x, Φ, Φ′)) = {x · KS ∪ x · KS′ | KS ∈ Mod(Φ), KS′ ∈ Mod(Φ′)}

12 / 23

slide-55
SLIDE 55

Intro KC for S5 ESDs KC map

Basic constructions

x Kx ⊤ ∆ y ¬Ky ⊤ ∇

Cheat sheet: Mod(⊥) = ∅ Mod(⊤) = {{}, { ∅}} Mod(∆) = {{}} Mod(∇) = {{ ∅}} Mod(spl(x, Φ, Φ′)) = {x · KS ∪ x · KS′ | KS ∈ Mod(Φ), KS′ ∈ Mod(Φ′)}

12 / 23

slide-56
SLIDE 56

Intro KC for S5 ESDs KC map

Basic constructions

x Kx ⊤ ∆ y ¬Ky ⊤ ∇ z ∇ ∇

Cheat sheet: Mod(⊥) = ∅ Mod(⊤) = {{}, { ∅}} Mod(∆) = {{}} Mod(∇) = {{ ∅}} Mod(spl(x, Φ, Φ′)) = {x · KS ∪ x · KS′ | KS ∈ Mod(Φ), KS′ ∈ Mod(Φ′)}

12 / 23

slide-57
SLIDE 57

Intro KC for S5 ESDs KC map

Basic constructions

x Kx ⊤ ∆ y ¬Ky ⊤ ∇ z ¬Kz ∧ ¬K¬z ∇ ∇

Cheat sheet: Mod(⊥) = ∅ Mod(⊤) = {{}, { ∅}} Mod(∆) = {{}} Mod(∇) = {{ ∅}} Mod(spl(x, Φ, Φ′)) = {x · KS ∪ x · KS′ | KS ∈ Mod(Φ), KS′ ∈ Mod(Φ′)}

12 / 23

slide-58
SLIDE 58

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-59
SLIDE 59

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-60
SLIDE 60

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-61
SLIDE 61

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-62
SLIDE 62

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-63
SLIDE 63

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-64
SLIDE 64

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-65
SLIDE 65

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-66
SLIDE 66

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-67
SLIDE 67

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-68
SLIDE 68

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-69
SLIDE 69

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-70
SLIDE 70

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-71
SLIDE 71

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-72
SLIDE 72

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-73
SLIDE 73

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy     

13 / 23

slide-74
SLIDE 74

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy      | = Φ

13 / 23

slide-75
SLIDE 75

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy      | = Φ {xy}

13 / 23

slide-76
SLIDE 76

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy      | = Φ {xy} | = Φ

13 / 23

slide-77
SLIDE 77

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy      | = Φ {xy} | = Φ

  • xy

xy

  • 13 / 23
slide-78
SLIDE 78

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy      | = Φ {xy} | = Φ

  • xy

xy

  • |

= Φ

13 / 23

slide-79
SLIDE 79

Intro KC for S5 ESDs KC map

Evaluation of an ESD on a given KS

x Φ y y ∆ ⊤ ∇

{y} {y, y} {} { ∅} { ∅} { ∅}

     xy xy xy      | = Φ {xy} | = Φ

  • xy

xy

  • |

= Φ → to be a model, a KS cannot contain xy and must contain xy → Φ ≡ K¬(xy) ∧ ¬K¬(xy)

13 / 23

slide-80
SLIDE 80

Intro KC for S5 ESDs KC map

Compiling epistemic atoms: Kϕ

Construction of Kϕ from an OBDD ϕ: x ϕ y z ⊤ ⊥

slide-81
SLIDE 81

Intro KC for S5 ESDs KC map

Compiling epistemic atoms: Kϕ

Construction of Kϕ from an OBDD ϕ: x ϕ y z ⊤ ⊥ x Kϕ y y ⊤ ∆

14 / 23

slide-82
SLIDE 82

Intro KC for S5 ESDs KC map

Compiling epistemic atoms: ¬Kϕ

x ϕ y z ⊤ ⊥

slide-83
SLIDE 83

Intro KC for S5 ESDs KC map

Compiling epistemic atoms: ¬Kϕ

x ϕ y z ⊤ ⊥ ∨ ¬Kϕ x x ⊤ ∨ y y ⊤ ∨ z z ⊤ ⊥ ∇

15 / 23

slide-84
SLIDE 84

Intro KC for S5 ESDs KC map

A remark about “redundant” nodes

In (propositional) OBDDs: ite(x, ϕ, ϕ) ≡ ϕ In ESDs, spl(x, Φ, Φ) = Φ in general:

let Φ = Ky ∨ Kz let KS = {xyz, xyz} KS | = spl(x, Φ, Φ), but KS | = Φ

x ∨ y z ⊤ ∆

16 / 23

slide-85
SLIDE 85

Intro KC for S5 ESDs KC map

A remark about “redundant” nodes

In (propositional) OBDDs: ite(x, ϕ, ϕ) ≡ ϕ In ESDs, spl(x, Φ, Φ) = Φ in general:

let Φ = Ky ∨ Kz let KS = {xyz, xyz} KS | = spl(x, Φ, Φ), but KS | = Φ

x ∨ y z ⊤ ∆ → some operations require ESDs to be “explicitly ordered”

16 / 23

slide-86
SLIDE 86

Intro KC for S5 ESDs KC map

Plan

1

Epistemic logic S5 for contingent planning

2

Compiling subjective S5 formulas

3

Epistemic splitting diagrams

4

Knowledge compilation map

16 / 23

slide-87
SLIDE 87

Intro KC for S5 ESDs KC map

Knowledge compilation map

Comparison of theoretical efficiency of representation languages Focus on practical applications (which language for which use?) Criteria:

tractability of basic operations (queries and transformations)

  • n each language

relative succinctness of languages

17 / 23

slide-88
SLIDE 88

Intro KC for S5 ESDs KC map

Queries and transformations

Req./Tr. ESD EBDD EDNF CO √ √ √ VA, IM

  • EQ, SE
  • MCe

√ √ √ B.CEOBDD √

E

√ ? MXe √ √ √ ∨C √ √ √ ∧BC √

E

√ √ ∧C

  • ¬C
  • FO

SFO √

E

√ √

Essentially same complexity in general Checking consistency, entailment of Kϕ or ¬Kϕ polytime Forgetting a propositional variable, disjoining, B-conjoining polytime

18 / 23

slide-89
SLIDE 89

Intro KC for S5 ESDs KC map

Succinctness

“L as least as succinct as L′ ”≃ formulas are at worst polynomially larger in L than in L′ All 3 languages are incomparable wrt succinctness:

19 / 23

slide-90
SLIDE 90

Intro KC for S5 ESDs KC map

Succinctness

“L as least as succinct as L′ ”≃ formulas are at worst polynomially larger in L than in L′ All 3 languages are incomparable wrt succinctness:

EDNF vs EBDD: comes directly from DNF vs OBDD n

i=1 ¬K(y ↔ xi): polynomial in

EDNF and EBDD, exponential in ESD (

I⊆[n](. . . ))

19 / 23

slide-91
SLIDE 91

Intro KC for S5 ESDs KC map

Succinctness

“L as least as succinct as L′ ”≃ formulas are at worst polynomially larger in L than in L′ All 3 languages are incomparable wrt succinctness:

EDNF vs EBDD: comes directly from DNF vs OBDD n

i=1 ¬K(y ↔ xi): polynomial in

EDNF and EBDD, exponential in ESD (

I⊆[n](. . . ))

n

i=1(Kxi ∨ Kxi): exponential in

EDNF and EBDD (

τ⊆X Kτ),

polynomial in ESD (figure)

19 / 23

slide-92
SLIDE 92

Intro KC for S5 ESDs KC map

Succinctness

“L as least as succinct as L′ ”≃ formulas are at worst polynomially larger in L than in L′ All 3 languages are incomparable wrt succinctness:

EDNF vs EBDD: comes directly from DNF vs OBDD n

i=1 ¬K(y ↔ xi): polynomial in

EDNF and EBDD, exponential in ESD (

I⊆[n](. . . ))

n

i=1(Kxi ∨ Kxi): exponential in

EDNF and EBDD (

τ⊆X Kτ),

polynomial in ESD (figure)

∨ x1 x1 ∆ ∆ ∨ x2 x2 ∆ ∆ ∨ ∨ xn xn ∆ ∆ ∇

19 / 23

slide-93
SLIDE 93

Intro KC for S5 ESDs KC map

Succinctness for positive formulas

Restriction to positive formulas, which have an important role in

  • ur planning application

EDNF+ and EBDD+ incomparable EDNF+ and ESD+ incomparable

20 / 23

slide-94
SLIDE 94

Intro KC for S5 ESDs KC map

Succinctness for positive formulas

Restriction to positive formulas, which have an important role in

  • ur planning application

EDNF+ and EBDD+ incomparable EDNF+ and ESD+ incomparable ESD+ strictly more succinct than EBDD+:

any positive formula in EBDD “is” an ESD (disjunction of positive epistemic atoms)

20 / 23

slide-95
SLIDE 95

Intro KC for S5 ESDs KC map

Succinctness for positive formulas

Restriction to positive formulas, which have an important role in

  • ur planning application

EDNF+ and EBDD+ incomparable EDNF+ and ESD+ incomparable ESD+ strictly more succinct than EBDD+:

any positive formula in EBDD “is” an ESD (disjunction of positive epistemic atoms) but ESD can be exponentially better because it allows for “pushing ∨-nodes downwards” (ex. in previous slide)

20 / 23

slide-96
SLIDE 96

Intro KC for S5 ESDs KC map

Experiments on succinctness

Compilation of m

i=1(Kti ∨ K¬ti) for random terms ti

→ Inspired from planning: offline progression of a knowledge state by actions test(ti). ESD, EBDD, EDNF on positive formulas (30 variables)

10 12 14 16 18 1,000 2,000 3,000 4,000 m, ti = 1 literal size 10 12 14 16 18 2,000 4,000 6,000 8,000 m, ti = 3 literals size 10 12 14 16 18 5,000 10,000 15,000 m, ti = 7 literals size

→ ESDs are more compact, comput. time ≃ EBDD Experiment for general formulas : EBDD clearly better

21 / 23

slide-97
SLIDE 97

Intro KC for S5 ESDs KC map

Conclusion

Contingent planning with sensing → reasoning on subjective S5 formulas Three representations considered:

EDNFs and EBDDs = epistemic DNFs with propositional languages in epistemic atoms ESDs do not involve epistemic atoms: representation of sets of sets of propositional assignments

Positive formulas:

ESD+ theoretically more succinct than EBDD+; seems true in practice EDNF+ less succinct than others in practice

General formulas: no theoretical winner. . . but EBDD seems experimentally better

22 / 23

slide-98
SLIDE 98

Intro KC for S5 ESDs KC map

Current work

Implementation of contingent planner using S5 representations → compilation of problems given in PDDL (but: not many benchmarks, and existing ones are rather artificial) → approaches by progression and especially regression: having compact representations is very important → comparison of the three languages in a more practical setting Compiling multi-agent epistemic formulas: can we leverage our data structures?

23 / 23

slide-99
SLIDE 99

Experiments on succinctness: time

30 variables, time for compiling m

i=1(Kt ∨ Kt) for increasing

m, random terms t ESD, EBDD, EDNF on positive formulas

10 12 14 16 18 0.5 1 1.5 m, t = 1 literal time (s) 10 12 14 16 18 0.5 1 1.5 m, t = 3 literals time (s) 10 12 14 16 18 0.5 1 1.5 m, t = 7 literals time (s)

24 / 23