Lattices for Space/Belief and Extrusion/Utterance
PPDP - Siena University. July, 2015!!
Salim PERCHY, COMÈTE(LIX) - INRIA joint work with
Stefan HAAR, Camilo Rueda and Frank VALENCIA
Context: Spatial Multi-Agent Systems
An agent’s space has:
Information
Processes
Other agents’ spaces
Agents are able to:
Run apps
Move data and apps
Share opinions and/or lies
Goal: A sound mathematical model for mobility
c ed
[c t "i ([d]j)]i t [e]j = [c]i t [d t e]j
Goal: A sound mathematical model for mobility
c de c?
[e t [c t (c ! "j d)]j]i = [e t d t [c]j]i
A bit of background: Lattices3.2. Concurrent constraint programming
Figure 3.1: A Herbrand constraint system
true
{x = a} {y = a} {x = y} {y = b} {x = b}
(x = a,
y = a
) (x = a,
y = b
) (x = b,
y = a
) (x = b,
y = b
)
false
A term T is said to be closed if every variable X in T occurs in the
scope of an expression µX.P . We refer to closed terms as processes and
use Proc to denote the class of all processes.
In most presentations of CCP, for example [Sar89], there is also a hiding
operator, denoted 9x
P . To simplify our presentation, we omit this operator,
because we believe is it orthogonal to the extensions of CCP that we are
going to present.
Before giving the semantics of processes, we give some intuitions about
their behaviour. First, processes execute in the context of a store, which
contains certain information, and to which the processes may sometimes add
information. The basic processes are tell, ask, and parallel composition.
Intuitively, tell(c) in a store d adds c to d to make c available to other
processes with access to this store. This addition, represented as d t c, is
performed whether or not dt c = false. The process ask(c) ! P in a store
e may execute P if c is entailed by e, i.e., c v e . The process P k Q stands
for the parallel execution of P and Q. Also, given I = {i1, . . . , im} we use
37
Complete Algebraic Lattice
C = (Con,v,t, false, true)
A bit of background: Modal Logics
' ::= p | ¬' | ' ^ ' | ⇤i'
Bi(') : Agent i believes '
Ki(') : Agent i knows '
¬Bi(false)
Ki(') ) '
A bit of background: CCP
P ::= tell(c) | ask(c) do P | P k Q | µX.P
temperature=50?.Ptemperature>42
temperature<70 0<temperature<100?.Q
S T O R E(MEDIUM)
Processes, constraints and formulas
Process Calculus Lattice of Information Modal Logic
tell(c) c p
P || Q c ⊔ d φ ⋀ φ
skip ⊥ true
abort ⊤ false
⋮ ⋮ ⋮
[ [c] B
[ ? ?
This Talk• Contribution: Algebraic structure to formalize space and
extrusion operations for multi-agent systems
• Roadmap:
1. Motivation & Background
2. Spatial Constraint Systems
3. The Extrusion Problem
4. Properties of Extrusion
5. An application as a bimodal logic
Spatial CS
• [c]i is interpreted as locality (information c is present in agent i's space)
• [[c]i]j is viewed as nesting of spaces (Agent i's space inside agent j's space)
• Joining space functions is possible (i.e [c]i ⊔ [d]j )
A space function of an agent [∙]i is a self-map on the elements of the lattice (Con, ⊑).
Spatial CS
• The spatial functions must fulfill:
• S.1 [true]i = true (emptiness)
• S.2 [c]i ⊔ [d]i = [c ⊔ d]i (distribution)
• Distribution yields the next property:
• S.3 if c ⊑ d then [c]i ⊑ [d]i (monotonicity)
A spatial constraint system (scs) is a cs equipped with n spatial functions.
Spatial CS• SCS’s allow the following:
• [false]i ≠ false (Inconsistency Confinement)
• [c]i ⊔ [d]j ≠ false even if c ⊔ d = false (Freedom of opinion)
• [red]i = [green]i still when red ≠ green (Information Blindness)
Spatial CS with Extrusion
• Extrusion: Movement of information from one space to the outside with no side effect.
!
!
• We call the epistemic interpretation of this action Utterance
c d c d
Spatial CS with Extrusion
• We then define the extrusion as the right inverse of a space. From S.2 and E.1: [d ⊔↑i c]i = [d]i ⊔ c.
An extrusion function ↑i is a self-map on the elements of (Con, ⊑), where:
E.1 [↑i c]i = c
A scs with extrusion (scs-e) is an scs equipped with n extrusion functions satisfying E.1
Derived Constructions in scs-e
• c → d is defined as ⨅{ e | e ⊔ c ⊒ d } (Heyting implication)
• This implication satisfies modus ponens: c ⊔ (c → d ) ⊒ d
• ¬c is defined as c → false (complement)
Communication Example
• Guarded extrusion of inconsistency (w.r.t agent i's information):
• Suppose: [c ⊔ c → (↑i [d]j)]i ⊔ [e]j
• Equivalent to: [c]i ⊔ [d ⊔ e]j
Information d is now in the space of agent j
This Talk• Contribution: Algebraic structure to formalize space and
extrusion operations for multi-agent systems
• Roadmap:
1. Motivation & Background
2. Spatial Constraint Systems
3. The Extrusion Problem
4. Properties of Extrusion
5. An application as a bimodal logic
Finding an extrusion operator
Problem: Given a scs (Con, ⊑, [∙]i, …, [∙]n) find maps ↑i, …, ↑n that satisfy E.1 [↑i c]i = c
Theorem: If [∙]i is a surjective and continuous function then the map ↑i c = ⨆{d | [c]i-1} satisfies E.1.
Max. extrusion
[∙]i is surjective iff ↑i exists (Axiom of Choice)
Distributed Extrusion
Result: Not always the right inverse of a surjective (even continuous) space function satisfies E.3
What about S.1 and S.2 counterparts? We say that the extrusion distributes globally/objectively if:
!E.2! ↑i(true) = true
E.3! ↑i (c ⊔ d) = ↑i (c) ⊔ ↑i (d)
Theorem: If [∙]i is a surjective and meet-complete function then the map ↑i c = ⨅{d | [c]i-1} satisfies E.1-E.3
Min. extrusion
Spatial CS=• SCS’s SCS-E’s allow the following:
• [false]i ≠ false (Inconsistency Confinement)
• [c]i ⊔ [d]j ≠ false even if c ⊔ d = false (Freedom of opinion)
• [red]i = [green]i still when red ≠ green (Information Blindness)
SCS-E
[false]i = false Inconsistencies propagate
✓
✓[∙]i is not necessarily
injective
This Talk• Contribution: Algebraic structure to formalize space and
extrusion operations for multi-agent systems
• Roadmap:
1. Motivation & Background
2. Spatial Constraint Systems
3. The Extrusion Problem
4. Properties of Extrusion
5. An application as a bimodal logic
Properties of Extrusion
• ↑i is distributed then c ⊑ d ⇔ ↑i(c) ⊑ ↑i(d)
• [⋅]i is injective then c ⊑ d ⇔ [c]i ⊑ [d]i!
• ↑i is defined as min. extrusion then ↑i(c) ⊑ d ⇔ c ⊑ [d]i
[⋅]i is an order-embedding
↑i is an order-embedding
The pair (↑i, [⋅]i) is a Galois connection
Application: Bimodal Logic with Utterance/Belief
' ::= p | ¬' | ' ^ ' | Bi' | Ui'
right inverse of belief
Oi(')def= Bi(' ^ Ui('))
Hi(')def= Bi(¬' ^ Ui('))
Oi(') , (Bi') ^ '
Hi(') , (Bi¬') ^ '
These equivalences hold:
Application: Bimodal Logic with Utterance/Belief(P(�),◆, [·]1, . . . , [·]n, "1, . . . , "n) where :
� : all pairs (M, s) where s is a state of M 2 Mltu
t : \[c]i = {(M, s) 2 � | 8t if s !i t then (M, t) 2 c}"i: max. extrusion
• Left Unique
• Left Total
• We proposed a lattice structure to represent information locality and extrusion in a distributed multi-agent system.
• The extrusion is seen as the right-inverse operation of locality. We studied different constructions and their properties.
• The structure can be used to derive a bimodal logic with belief and utterance behaviors.
Summarizing…