Knowledge in the Situation Calculus Adrian Pearce 8 July 2009 - - PowerPoint PPT Presentation

knowledge in the situation calculus
SMART_READER_LITE
LIVE PREVIEW

Knowledge in the Situation Calculus Adrian Pearce 8 July 2009 - - PowerPoint PPT Presentation

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation Knowledge in the Situation Calculus Adrian Pearce 8 July 2009 includes slides by Ryan Kelly Introduction Asynchronicity Kripke models


slide-1
SLIDE 1

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge in the Situation Calculus

Adrian Pearce 8 July 2009 includes slides by Ryan Kelly

slide-2
SLIDE 2

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Outline

1

Introduction

2

Asynchronicity

3

Kripke models

4

Observations

5

Knowledge

6

Group Knowledge

7

Bisimulation

slide-3
SLIDE 3

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Outline

1

Introduction

2

Asynchronicity

3

Kripke models

4

Observations

5

Knowledge

6

Group Knowledge

7

Bisimulation

slide-4
SLIDE 4

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge

Extensions to the Situation Calculus for representing and reasoning about knowledge Reasoning about knowledge with hidden actions Reasoning about group-level knowledge modalities Explanation closure assumes complete knowledge of Dssa Golog assumes complete knowledge of Dad and Duna in S0 What if incomplete knowledge: Knows(φ, s)?

slide-5
SLIDE 5

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Basic Action Theory (Revisited)

Definition (Basic Action Theory) A basic action theory, denoted D, consists of: the foundational axioms of the situation calculus (Σ); action description axioms such as preconditions (Dad); successor state axioms describing how primitive fluents change between situations (Dssa); axioms describing the initial situation (DS0); and axioms describing background facts (Dbg) D = Σ ∪ Dad ∪ Dssa ∪ DS0 ∪ Dbg

slide-6
SLIDE 6

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Basic Action Theory (Revisited)

Definition (Basic Action Theory) A basic action theory, denoted D, consists of: the foundational axioms of the situation calculus (Σ); action description axioms such as preconditions (Dad); successor state axioms describing how primitive fluents change between situations (Dssa); axioms describing the initial situation (DS0); and axioms describing background facts (Dbg) D = Σ ∪ Dad ∪ Dssa ∪ DS0 ∪ Dbg Regression operator performs induction over Σ, Dssa and Dbg resulting in query Dbg ∪ DS0

slide-7
SLIDE 7

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Basic Action Theory (Revisited)

Definition (Basic Action Theory) A basic action theory, denoted D, consists of: the foundational axioms of the situation calculus (Σ); action description axioms such as preconditions (Dad); successor state axioms describing how primitive fluents change between situations (Dssa); axioms describing the initial situation (DS0); and axioms describing background facts (Dbg) D = Σ ∪ Dad ∪ Dssa ∪ DS0 ∪ Dbg Regression operator performs induction over Σ, Dssa and Dbg resulting in query Dbg ∪ DS0 Complete knowledge of Dad, Dbg and Dssa assumed.

slide-8
SLIDE 8

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Outline

1

Introduction

2

Asynchronicity

3

Kripke models

4

Observations

5

Knowledge

6

Group Knowledge

7

Bisimulation

slide-9
SLIDE 9

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Limitation: Synchronicity

This works well, but it depends on two assumptions: Complete knowledge (linear plan, no sensing) Synchronous domain (agents proceed in lock-step) Nearly universal in the literature: ”assume all actions are public”. Challenge: Regression depends intimately on synchronicity

slide-10
SLIDE 10

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Two aspects to knowledge

Two aspects to knowledge incomplete information (through action can learn) lack of synchronisation (don’t know how many actions have

  • ccurred)
slide-11
SLIDE 11

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Example: Alternating Bit Protocol

Protocol for S: i:=0 while true do begin read xi; send xi i := i+1 end Protocol for R: when KR(x0) set i:=0 while true do begin write xi; i:= i+1 end

slide-12
SLIDE 12

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Example: Alternating Bit Protocol

Protocol for S: i:=0 while true do begin read xi; send xi until KSKR(xi); i := i+1 end Protocol for R: when KR(x0) set i:=0 while true do begin write xi; send “KR(xi)” i:= i+1 end

slide-13
SLIDE 13

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Example: Alternating Bit Protocol

Protocol for S: i:=0 while true do begin read xi; send xi until KSKR(xi); send “KSKR(xi)” until KSKRKSKR(xi) i := i+1 end Protocol for R: when KR(x0) set i:=0 while true do begin write xi; send “KR(xi)” until KRKSKR(xi); send “KRKSKR(xi)” until KR(xx+1) i:= i+1 end

slide-14
SLIDE 14

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Equivalence relations

Definition (Kripke Models) A Kripke model M is a tuple S, V , R1, . . . , Rm where:

slide-15
SLIDE 15

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Equivalence relations

Definition (Kripke Models) A Kripke model M is a tuple S, V , R1, . . . , Rm where:

1 S is a non-empty set of states, possible worlds or epistemic

alternatives,

slide-16
SLIDE 16

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Equivalence relations

Definition (Kripke Models) A Kripke model M is a tuple S, V , R1, . . . , Rm where:

1 S is a non-empty set of states, possible worlds or epistemic

alternatives,

2 V : S → (p → {true, false}) is a truth assignment to the

propositional atoms (p) per state,

slide-17
SLIDE 17

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Equivalence relations

Definition (Kripke Models) A Kripke model M is a tuple S, V , R1, . . . , Rm where:

1 S is a non-empty set of states, possible worlds or epistemic

alternatives,

2 V : S → (p → {true, false}) is a truth assignment to the

propositional atoms (p) per state,

3 Ri ⊆ S × S (for all i ∈ A) are the epistemic accessibility

relations for each agent.

slide-18
SLIDE 18

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Equivalence relations

Definition (Kripke Models) A Kripke model M is a tuple S, V , R1, . . . , Rm where:

1 S is a non-empty set of states, possible worlds or epistemic

alternatives,

2 V : S → (p → {true, false}) is a truth assignment to the

propositional atoms (p) per state,

3 Ri ⊆ S × S (for all i ∈ A) are the epistemic accessibility

relations for each agent. For any state or possible world s, (M, s) | = p (for p ∈ P) iff V (s)(p) = true

slide-19
SLIDE 19

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Example: Muddy Children Puzzle

Example k children get mud on their foreheads Each can see the mud on others, but not on his/her own forehead The father says at least one of you had mud on your head” initially. The father then repeats Can any of you prove you have mud

  • n your head? over and over.

Assuming that the children are perceptive, intelligent, truthful, and that they answer simultaneously, what will happen?

slide-20
SLIDE 20

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Muddy Children Puzzle (Initially)

(1,1,1)

  • 2
  • 3

1

  • (1,1,0)
  • 2
  • 2
  • (1,0,1)
  • 3

1

  • (0,1,1)
  • 3

2

  • (1,0,0)
  • 1
  • (0,1,0)
  • 2
  • (0,0,1)
  • 3

(0,0,0)

slide-21
SLIDE 21

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Muddy Children Puzzle (After the father speaks)

(1,1,1)

  • 2
  • 3

1

  • (1,1,0)
  • 2
  • 2
  • (1,0,1)
  • 3

1

  • (0,1,1)
  • 3

2

  • (1,0,0)
  • (0,1,0)
  • (0,0,1)
slide-22
SLIDE 22

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Forms of knowledge

DGp: the group G has distributed knowledge of fact p SGp: someone in G knows p SGp ≡ ∨i∈GKip EGp: everyone in G knows p EGp ≡ ∧i∈GKip

slide-23
SLIDE 23

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Forms of knowledge

E k

Gp for k ≥ 1: E k Gp is defined by

E 1

Gp = EGp

E k+1

G

p = EGE k

Gp for k ≥ 1

CGp: p is common knowledge in G CG ≡ EGp ∧ E 2

Gp ∧ . . . E m G p ∧ . . .

slide-24
SLIDE 24

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Synchronisation (Revisited)

Example (The Coordinated Attack Problem (Byzantine Generals)) Suppose General A sends a message to General B saying Let’s attack at Dawn. Does not have any common knowledge fixpoint (in spite of acknowledgements). It seems that common knowledge is theoretically unachievable

  • how can this be so?

In the presence of unreliable communication, common knowledge is theoretically unachievable.

slide-25
SLIDE 25

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Simultaneity

In practice, we can establish ǫ-common knowledge, Halpern and Moses (1990). Definition (ǫ-common knowledge) ǫ-common knowledge assumes that within an interval ǫ everybody knows φ.

slide-26
SLIDE 26

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge

Agent i knows p in world s of (Kripke) structure M, exactly if p is true at all worlds that i considers possible in s. Formally,

slide-27
SLIDE 27

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge

Agent i knows p in world s of (Kripke) structure M, exactly if p is true at all worlds that i considers possible in s. Formally, (M, s) | = Kip iff (M, t) | = p for all t such that (s, t) ∈ Ki

slide-28
SLIDE 28

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge

Agent i knows p in world s of (Kripke) structure M, exactly if p is true at all worlds that i considers possible in s. Formally, (M, s) | = Kip iff (M, t) | = p for all t such that (s, t) ∈ Ki Relationship between knowledge forms, DG, EG and CG:

slide-29
SLIDE 29

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge

Agent i knows p in world s of (Kripke) structure M, exactly if p is true at all worlds that i considers possible in s. Formally, (M, s) | = Kip iff (M, t) | = p for all t such that (s, t) ∈ Ki Relationship between knowledge forms, DG, EG and CG: | = EGp ⇔ ∧i∈GKip

slide-30
SLIDE 30

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge

Agent i knows p in world s of (Kripke) structure M, exactly if p is true at all worlds that i considers possible in s. Formally, (M, s) | = Kip iff (M, t) | = p for all t such that (s, t) ∈ Ki Relationship between knowledge forms, DG, EG and CG: | = EGp ⇔ ∧i∈GKip The notions of group knowledge form a hierarchy CGϕ ⊃ . . . ⊃ E k+1

G

ϕ ⊃ . . . ⊃ EGϕ ⊃ SGϕ ⊃ DGϕ ⊃ ϕ

slide-31
SLIDE 31

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

The properties of Knowledge (S5 axioms)

1 Kiϕ ∧ Ki(ϕ ⇒ Ψ)) ⇒ Ki Ψ (Distribution axiom) 2 if M |

= ϕ then M | = Ki (Knowledge generalisation rule)

3 Kiϕ ⇒ ϕ (Knowledge or truth axiom) 4 Kiϕ ⇒ KiKiϕ (Positive introspection axiom) 5 ¬Kiϕ ⇒ Ki¬Kiϕ (Negative introspection axiom)

slide-32
SLIDE 32

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

View-based knowledge interpretations

View-based knowledge interpretations, Halpern and Moses (1990): similar to Kripke structures in that have the properties of S5, additionally

  • C1. The fixed point axiom |

= CGp ⇔ EG(p ∧ CGp)

  • C2. the induction rule p ⊃ EG(p ∧ q) infer p ⊃ CGq

When views (of each agent) are indistinguishable (via equivalence relations) then common knowledge has been established: common knowledge can be induced, or CG.

slide-33
SLIDE 33

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

View-based knowledge interpretations

A view-based knowledge interpretation I is a triple (R, π, v), consisting of a set of runs R, an assignment π that associates with every point in R a truth assignment to the ground facts. For every point (r, t) ∈ R and every ground fact p ∈ P, we have π(r, t)(P) ∈ {true, false} and a view function v for R.

slide-34
SLIDE 34

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Outline

1

Introduction

2

Asynchronicity

3

Kripke models

4

Observations

5

Knowledge

6

Group Knowledge

7

Bisimulation

slide-35
SLIDE 35

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

First, we must represent asynchronicity. We reify the observations made by each agent, by adding the following action description function of the following form to Dad:

Obs(agt, c, s) = o If Obs(agt, c, s) = {} then the actions are completely hidden. View(agt, S0) = ǫ Obs(agt, c, s) = {} → View(agt, do(c, s)) = View(agt, s) Obs(agt, c, s) = {} → View(agt, do(c, s)) = Obs(agt, c, s) · View(agt, s)

slide-36
SLIDE 36

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

In synchronous domains, everyone observes every action: a ∈ Obs(agt, c, s) ≡ a ∈ c Sensing results can be easily included as action#sensing pairs: a#r ∈ Obs(agt, c, s) ≡ a ∈ c ∧ SR(a, s) = r And observability can be axiomatised explicitly a ∈ Obs(agt, c, s) ≡ a ∈ c ∧ CanObs(agt, a, s)

slide-37
SLIDE 37

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

CanObs(agt, a, s) ≡ InSameRoom(agt, actor(a), s) a ∈ Obs(agt, c, s) ≡ a ∈ c ∧ CanObs(agt, a, s) ∧¬CanSense(agt, a, s) a#r ∈ Obs(agt, c, s) ≡ a ∈ c ∧ SR(a, s) = r ∧ CanObs(agt, a, s) ∧ CanSense(agt, a, s) CanSense(agt, activateSpeaker(agt2), s) ≡ CloseToSpeaker(agt)

slide-38
SLIDE 38

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

Action: global event changing the state of the world Observation: local event changing an agent’s knowledge Situation: global history of actions giving current world state View: local history of observations giving current knowledge How can we let agents reason using only their local view?

slide-39
SLIDE 39

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Outline

1

Introduction

2

Asynchronicity

3

Kripke models

4

Observations

5

Knowledge

6

Group Knowledge

7

Bisimulation

slide-40
SLIDE 40

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge

If an agent is unsure about the state of the world, there must be several different states of the world that it considers possible. The agent knows φ iff φ is true in all possible worlds. Knows(Q) ∧ ¬Knows(P) ∧ ¬Knows(R) ∧ Knows(P ∨ R)

slide-41
SLIDE 41

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge

Introduce a possible-worlds fluent K(agt, s′, s): We can then define knowledge as a simple macro: Knows(agt, φ, s)

def

= ∀s′ K(agt, s′, s) → φ(s′)

slide-42
SLIDE 42

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge follows Observation

Halpern & Moses, 1990: ”an agent’s knowledge at a given time must depend only on its local history: the information that it started out with combined with the events it has observed since then” Clearly, we require: K(agt, s′, s) ≡ View(agt, s′) = View(agt, s) We must enforce this in the successor state axiom for K.

slide-43
SLIDE 43

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge: The Synchronous Case

slide-44
SLIDE 44

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge: The Synchronous Case

In the synchronous case, K0 has a simple successor state axiom: K0(agt, s′′, do(c, s)) ≡ ∃s′, c′ : s′′ = do(c′, s′) ∧ K0(agt, s′, s) ∧ Poss(c′, s′) ∧ Obs(agt, c, s) = Obs(agt, c′, s′) And a correspondingly simple regression rule: R(Knows0(agt, φ, do(c, s))

def

= ∃o : Obs(agt, c, s) = o ∧ ∀c′ : Knows0(agt, Poss(c′) ∧ Obs(agt, c′) = o → R(φ, c′), s)

slide-45
SLIDE 45

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge: The Asynchronous Case

slide-46
SLIDE 46

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Knowledge: The Asynchronous Case

First, some notation: s <α do(c, s′) ≡ s ≤α s′ ∧ α(c, s′) PbU(agt, c, s)

def

= Poss(c, s) ∧ Obs(agt, c, s) = {} Then the intended dynamics of knowledge update are: K(agt, s′′, do(c, s)) ≡ ∃o : Obs(agt, c, s) = o ∧

  • = {} → K(agt, s′′, s)
  • = {} → ∃c′, s′ : K(agt, s′, s)

∧Obs(agt, c′, s′) = o ∧ Poss(c′, s′) ∧ do(c′, s′) ≤PbU(agt) s′′

slide-47
SLIDE 47

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Sync vs Async

We’ve gone from this: K0(agt, s′′, do(c, s)) ≡ ∃s′, c′ : s′′ = do(c′, s′) ∧ K0(agt, s′, s) ∧ Poss(c′, s′) ∧ Obs(agt, c, s) = Obs(agt, c′, s′) To this: K(agt, s′′, do(c, s)) ≡ ∃o : Obs(agt, c, s) = o ∧

  • = {} → K(agt, s′′, s)
  • = {} → ∃c′, s′ : K(agt, s′, s)

∧Obs(agt, c′, s′) = o ∧ Poss(c′, s′) ∧ do(c′, s′) ≤PbU(agt) s′′ It’s messier, but it’s also hiding a much bigger problem...

slide-48
SLIDE 48

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Regressing Knowledge

Our new SSA uses ≤PbU(agt) to quantify over all future situations. Regression cannot be applied to such an expression. An asynchronous account of knowledge cannot be approached using the standard regression operator. In fact, this quantification requires a second-order induction axiom. Must we abandon hope of an effective reasoning procedure?

slide-49
SLIDE 49

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Property Persistence (revisited)

Property persistence facilitates ”factoring out” the quantification, this allows us to get on with the business of doing regression. The persistence condition P[φ, α] of a formula φ and action conditions α to mean: assuming all future actions satisfy α, φ will remain true. P[φ, α](s) ≡ ∀s′ : s ≤α s′ → φ(s′) Like R, the idea is to transform a query into a form that is easier to deal with.

slide-50
SLIDE 50

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Property Persistence

The persistence condition can be calculated as a fixpoint: P1[φ, α](s)

def

= φ(s) ∧ ∀c : α(c) → R[φ(do(c, s))] Pn[φ, α](s)

def

= P1[Pn−1[φ, α], α]

  • Pn[φ, α] → Pn+1[φ, α]
  • ⇒ (Pn[φ, α] ≡ P[φ, α])

This calculation can be done using static domain reasoning and provably terminates in several important cases.

slide-51
SLIDE 51

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Regressing Knowledge

slide-52
SLIDE 52

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Regressing Knowledge

It becomes possible to define the regression of our Knows macro: R[Knows(agt, φ, do(c, s))] = [Obs(agt, c, s) = {} → Knows(agt, φ, s)] ∧ [∃o : Obs(agt, c, s) = o ∧ o = {} → Knows(agt, ∀c′ : Obs(agt, c′) = o → R[P[φ, PbU(agt)](do(c′, s′))], s)

slide-53
SLIDE 53

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

View-Based Reasoning

The regression operator can be modified to act over observation histories, instead of over situations: R[Knows(agt, φ, o · h)] = Knows(agt, ∀c′ : Obs(agt, c′, s′) = o → R[P[φ, PbU(agt)](do(c′, s′))], h) We can equip agents with a situation calculus model of their own environment.

slide-54
SLIDE 54

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

An Example

Ann and Bob have just received a party invitation. We can prove the following: D | = Knows(B, ¬∃x : Knows(A, partyAt(x)), S0) D | = ¬Knows(B, ¬∃x : Knows(A, partyAt(x)), do(leave(B), S0)) D | = Knows(A, partyAt(C), do(read(A), S0))

slide-55
SLIDE 55

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Summary (re-cap)

A robust account of knowledge based on observations, allowing for arbitrarily-long sequences of hidden actions. That subsumes existing accounts of knowledge With regression rules utilising the persistence condition Allowing agents to reason about their own knowledge using

  • nly their local information
slide-56
SLIDE 56

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Outline

1

Introduction

2

Asynchronicity

3

Kripke models

4

Observations

5

Knowledge

6

Group Knowledge

7

Bisimulation

slide-57
SLIDE 57

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Group-Level Knowledge

The basic group-level operator is ”Everyone Knows”: EKnows(G, φ, s)

def

=

  • agt∈G

Knows(agt, φ, s) EKnows2(G, φ, s)

def

= EKnows(G, EKnows(G, φ), s) . . . EKnowsn(G, φ, s)

def

= EKnows(G, EKnowsn−1(G, φ), s) Eventually, we get ”Common Knowledge”: CKnows(G, φ, s)

def

= EKnows∞(agt, φ, s)

slide-58
SLIDE 58

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Regressing Group Knowledge

Since EKnows is finite, it can be expanded to perform regression. CKnows is infinitary, so this won’t work for common knowledge. We need to regress it directly. Maybe like this? R[CKnows(G, φ, do(c, s))]

def

= ∃o : CObs(G, c, s) = o ∧ ∀c′ : CKnows(G, Poss(c′)∧CObs(agt, c′) = o → R[φ[do(c′, s)]], s) It is impossible to express R[CKnows] in terms of CKnows

slide-59
SLIDE 59

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Regressing Group Knowledge

slide-60
SLIDE 60

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Epistemic Path Language

R[CKnows] requires a more expressive epistemic language. Dynamic Logics are formalisms for building programs from actions: A ; ?Poss(B) ; B A ; (B ∪ C) A∗ ; ?Done x :=? ; ?Avail(x) ; pickup(X) But they don’t have to be interpreted over actions. More generally, DLs are logics of paths.

slide-61
SLIDE 61

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Epistemic Path Language

Idea from van Bentham, van Eijck and Kooi. ”Logics of Communication and Change”, Info. & Comp., 2006 We can interpret Dynamic Logic epistemically: KDo(agt, s, s′)

def

= K(agt, s′, s) KDo(?φ, s, s′)

def

= s′ = s ∧ φ[s] KDo(π1; π2, s, s′)

def

= ∃s′′ : KDo(π1, s, s′′) ∧ KDo(π2, s′′, s′) KDo(π1 ∪ π2, s, s′)

def

= KDo(π1, s, s′′) ∨ KDo(π2, s, s′) KDo(π∗, s, s′)

def

= refl.tran.closure

  • KDo(π, s, s′′)
slide-62
SLIDE 62

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Epistemic Path Language

New macro for path-based knowledge: PKnows(π, φ, s)

def

= ∀s′ : KDo(π, s, s′) → φ[s′] Used like so: Knows(agt, φ, s) ≡ PKnows(agt, φ, s) Knows(agt1, Knows(agt2, φ), s) ≡ PKnows(agt1; agt2, φ, s) EKnows(G, φ, s) ≡ PKnows(

  • agt∈G

agt, φ, s) CKnows(G, φ, s) ≡ PKnows((

  • agt∈G

agt)∗, φ, s)

slide-63
SLIDE 63

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Regressing Epistemic Paths

It’s now possible to formulate a regression rule for PKnows in synchronous domains: R[PKnows0(π, φ, do(c, s))] ⇒ ∀c′ : PKnows0(T [π, c, c′], R[φ(c′)], s) T basically encodes the semantics of KDo T [agt]

def

= s.s.a. for K fluent T [?φ]

def

= ?R[φ] T [π1 ∪ π2]

def

= T [π1] ∪ T [π2] T [π∗]

def

= T [π]∗

slide-64
SLIDE 64

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Asynchronicity

We can ”fake” asynchronicity using PKnows0 and a stack of empty actions: E[do(c, s)]

def

= do({}, do(c, E[s])) En[s]

def

= E[En−1[s]] Using a fixpoint construction that mirrors P, define: PKnows(π, φ, s)

def

= PKnows0(π, φ, E∞[s]) We prove that PKnows(agt, φ, s) ≡ Knows(agt, φ, s)

slide-65
SLIDE 65

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

An Example

Ann and Bob have just received a party invitation. We can prove the following: D | = ¬PKnows((A ∪ B)∗, partyAt(C), S0) D | = PKnows((A∪B)∗, ∃x : Knows(B, partyAt(x)), do(read(B), S0)) D | = PKnows((A∪B)∗, partyAt(C)), do(read(A), do(read(B), S0)))

slide-66
SLIDE 66

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Summary (re-cap)

Complex Epistemic Modalities: an encoding of group-level knowledge using the syntax of dynamic logic Built entirely use macro-expansion In which common knowledge is amenable to regression Incorporating arbitrarily-long sequences of hidden actions

slide-67
SLIDE 67

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Definition In a bisimulation between two Kripke models M = S, V , R and M′ = S, V ′, R′, form a relation ℜB ⊆ S × S′ that satisfies the following properties,

slide-68
SLIDE 68

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Definition In a bisimulation between two Kripke models M = S, V , R and M′ = S, V ′, R′, form a relation ℜB ⊆ S × S′ that satisfies the following properties,

1 ℜB satisfies forward choice if

∀s, t ∈ S ∀s′ ∈ S′(ℜBss′&(s, t) ∈ R) ⇒ ∃t′ ∈ S′(ℜBtt′&(s′, t′) ∈ R′)

slide-69
SLIDE 69

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Definition In a bisimulation between two Kripke models M = S, V , R and M′ = S, V ′, R′, form a relation ℜB ⊆ S × S′ that satisfies the following properties,

1 ℜB satisfies forward choice if

∀s, t ∈ S ∀s′ ∈ S′(ℜBss′&(s, t) ∈ R) ⇒ ∃t′ ∈ S′(ℜBtt′&(s′, t′) ∈ R′)

2 ℜB satisfies backwards choice if

∀s ∈ S ∀s′, t′ ∈ S′(ℜBss′&(s′, t′) ∈ R′) ⇒ ∃t ∈ S(ℜBtt′&(s, t) ∈ R)

slide-70
SLIDE 70

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Definition In a bisimulation between two Kripke models M = S, V , R and M′ = S, V ′, R′, form a relation ℜB ⊆ S × S′ that satisfies the following properties,

1 ℜB satisfies forward choice if

∀s, t ∈ S ∀s′ ∈ S′(ℜBss′&(s, t) ∈ R) ⇒ ∃t′ ∈ S′(ℜBtt′&(s′, t′) ∈ R′)

2 ℜB satisfies backwards choice if

∀s ∈ S ∀s′, t′ ∈ S′(ℜBss′&(s′, t′) ∈ R′) ⇒ ∃t ∈ S(ℜBtt′&(s, t) ∈ R)

3 Satisfies forward and backward choice, and

∀s ∈ S∀s′ ∈ S′(ℜBss′ ⇒ V (s) = V ′(s′))

slide-71
SLIDE 71

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Definition A zig zag morphism is a bisimulation between two Kripke models M = S, V , R and M′ = S, V ′, R′, in terms of relation ℜB ⊆ S × S′ that satisfies forwards and backwards choice and additionally satisfies,

slide-72
SLIDE 72

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Definition A zig zag morphism is a bisimulation between two Kripke models M = S, V , R and M′ = S, V ′, R′, in terms of relation ℜB ⊆ S × S′ that satisfies forwards and backwards choice and additionally satisfies, domain(ℜB) = S and range(ℜB) = S′

slide-73
SLIDE 73

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Definition A zig zag morphism is a bisimulation between two Kripke models M = S, V , R and M′ = S, V ′, R′, in terms of relation ℜB ⊆ S × S′ that satisfies forwards and backwards choice and additionally satisfies, domain(ℜB) = S and range(ℜB) = S′ The Zig-zag idea Segerberg (1970) van Bentham (1983) and Plotkin and Stirling (1986) van der Hoek (1992)

slide-74
SLIDE 74

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

Bisimulation is not canonical (it is weaker than graph isomorphism), example:

  • v2
  • v1
  • v4
  • v5
  • v3
  • G
  • v′

3

  • v′

1

  • v′

2

  • v′

5

  • v′

4

  • G ′
slide-75
SLIDE 75

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

Bisimulation is not canonical (it is weaker than graph isomorphism), example:

  • v2
  • v1
  • v4
  • v5
  • v3
  • G
  • v′

3

  • v′

1

  • v′

2

  • v′

5

  • v′

4

  • G ′

ℜB = {(v′

1, v1), (v′ 2, v2), (v′ 2, v3), (v′ 3, v4), (v′ 4, v4), (v′ 5, v5)}

slide-76
SLIDE 76

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

Bisimulation is not canonical (it is weaker than graph isomorphism), example:

  • v2
  • v1
  • v4
  • v5
  • v3
  • G
  • v′

3

  • v′

1

  • v′

2

  • v′

5

  • v′

4

  • G ′

ℜB = {(v′

1, v1), (v′ 2, v2), (v′ 2, v3), (v′ 3, v4), (v′ 4, v4), (v′ 5, v5)}

Furthermore, for possible world structures, branching (sub-tree) bisimulation is NP-Complete (Dovier, 2003, subgraph bisimulation).

slide-77
SLIDE 77

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

Calculus of communicating systems (CCS) (Milne, 1984) Example: a(b + c) a.b + a.c

slide-78
SLIDE 78

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

Calculus of communicating systems (CCS) (Milne, 1984) Example: a(b + c) a.b + a.c

  • a •

b

  • c
  • G
  • b
  • a
  • a
  • c

G ′

slide-79
SLIDE 79

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

Calculus of communicating systems (CCS) (Milne, 1984) Example: a(b + c) a.b + a.c

  • a •

b

  • c
  • G
  • b
  • a
  • a
  • c

G ′ τ transitions and branching time abstraction in bisimulation semantics (van Gabbek, 1996)

slide-80
SLIDE 80

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Observations

Calculus of communicating systems (CCS) (Milne, 1984) Example: a(b + c) a.b + a.c

  • a •

b

  • c
  • G
  • b
  • a
  • a
  • c

G ′ τ transitions and branching time abstraction in bisimulation semantics (van Gabbek, 1996) However: generally utilised to establish correspondence based on

  • bserved computation histories, as opposed to correspondence of

forward branching possible world structures.

slide-81
SLIDE 81

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Graph isomorphism as an equivalence relation

Let us define a relation ℜI on graphs by G1ℜG2 if G1 is isomorphic to G2, ℜI is reflexive, symmetric and transitive, and therefore graph isomorphism is an equivalence relation.

slide-82
SLIDE 82

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Attributed graph isomorphism

  • v1

a

  • a
  • v4

a b

  • v2

c

  • v3

G

  • v′

1

a

  • v′

2

a c

  • v′

4

a

  • b
  • v′

3

G ′

slide-83
SLIDE 83

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Attributed graph isomorphism

  • v1

a

  • a
  • v4

a b

  • v2

c

  • v3

G

  • v′

1

a

  • v′

2

a c

  • v′

4

a

  • b
  • v′

3

G ′ Bisimulation could solve this problem if (i) could differentiate between states and (ii) considered sufficiently long paths, for example the following bisimulation relation is impossible between graphs G1 and G2 ℜB = {(v′

1, v1), (v′ 2, v2), (v′ 4, v4), (v′ 1, v1)}

slide-84
SLIDE 84

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Attributed graph isomorphism

  • v1

a

  • a
  • v4

a b

  • v2

c

  • v3

G

  • v′

1

a

  • v′

2

a c

  • v′

4

a

  • b
  • v′

3

G ′ Bisimulation could solve this problem if (i) could differentiate between states and (ii) considered sufficiently long paths, for example the following bisimulation relation is impossible between graphs G1 and G2 ℜB = {(v′

1, v1), (v′ 2, v2), (v′ 4, v4), (v′ 1, v1)}

However, in general there are exponentially many paths (consistent with NP-complete result).

slide-85
SLIDE 85

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Publications

Ronald Fagin, Joseph Y. Halpern, Yoram Moses, and Moshe

  • Y. Vardi. Rea- soning about Knowledge. The MIT Press,

Cambridge, Massachesetts, 1995. Joseph Y. Halpern and Yoram Moses, Knowledge and Common Knowledge in a Distributed Environment, Journal of the ACM, Vol. 37, No. 3, pp. 549–587, 1990. Richard Scherl and Hector Levesque. Knowledge, Action, and the Frame Problem. Artificial Intelligence, 144:1-39, 2003. Ryan F. Kelly and Adrian R. Pearce. Knowledge and Observations in the Situation Calculus. In Proceedings of the 6th International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS’07), pages 841-843, 2007.

slide-86
SLIDE 86

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Publications (continued)

Ryan F. Kelly and Adrian R. Pearce. Complex Epistemic Modalities in the Situation Calculus. In Proceedings of the 11th International Conference on Principles of Knowledge Representation and Reasoning (KR’08), pages 611-620, 2008. Ryan Kelly. ”Asynchronous Multi-Agent Reasoning in the Situation Calculus”, PhD Thesis, The University of Melbourne, 2008

slide-87
SLIDE 87

Introduction Asynchronicity Kripke models Observations Knowledge Group Knowledge Bisimulation

Summary

1

Introduction

2

Asynchronicity

3

Kripke models

4

Observations

5

Knowledge

6

Group Knowledge

7

Bisimulation