This paper presents a decentralized method for synthesizing surveillance strategies in mobile sensor networks, ensuring global surveillance objectives are met without centralized coordination by decomposing the problem into local subgames.
Contribution
The paper introduces a novel decentralized synthesis approach for mobile sensor surveillance, reducing computational complexity and enabling independent sensor strategy generation.
Findings
01
Decentralized strategies guarantee global surveillance objectives.
02
Method reduces state space complexity compared to centralized approaches.
03
Case study demonstrates practical application of the synthesis method.
Abstract
We study the problem of synthesizing strategies for a mobile sensor network to conduct surveillance in partnership with static alarm triggers. We formulate the problem as a multi-agent reactive synthesis problem with surveillance objectives specified as temporal logic formulas. In order to avoid the state space blow-up arising from a centralized strategy computation, we propose a method to decentralize the surveillance strategy synthesis by decomposing the multi-agent game into subgames that can be solved independently. We also decompose the global surveillance specification into local specifications for each sensor, and show that if the sensors satisfy their local surveillance specifications, then the sensor network as a whole will satisfy the global surveillance objective. Thus, our method is able to guarantee global surveillance properties in a mobile sensor network while…
Tables1
Table 1. TABLE I: Synthesis times for each surveillance subgame
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Full text
Distributed Synthesis of Surveillance Strategies for Mobile Sensors
Suda Bharadwaj1 and Rayna Dimitrova2 and Ufuk Topcu11Suda Bharadwaj and Ufuk Topcu are with the University of Texas at Austin2Rayna Dimitrova is with the University of Leicester, UK.
Abstract
We study the problem of synthesizing strategies for a mobile sensor network to conduct surveillance in partnership with static alarm triggers. We formulate the problem as a multi-agent reactive synthesis problem with surveillance objectives specified as temporal logic formulas. In order to avoid the state space blow-up arising from a centralized strategy computation, we propose a method to decentralize the surveillance strategy synthesis by decomposing the multi-agent game into subgames that can be solved independently. We also decompose the global surveillance specification into local specifications for each sensor, and show that if the sensors satisfy their local surveillance specifications, then the sensor network as a whole will satisfy the global surveillance objective. Thus, our method is able to guarantee global surveillance properties in a mobile sensor network while synthesizing completely decentralized strategies with no need for coordination between the sensors. We also present a case study in which we demonstrate an application of decentralized surveillance strategy synthesis.
I INTRODUCTION
The importance of surveillance in our daily life has been constantly growing in the past couple of decades, and with that, also the need for more efficient and sophisticated mechanisms for surveillance. One of the major challenges comes from the need to perform surveillance in large and complex environments, where it is not always feasible or cost effective to have complete surveillance coverage of the entire area at all times. Furthermore, sensors might not always be able to classify threats, and often require human intervention to assess the threat level. It can thus be necessary to deploy multiple mobile sensors, that work together with conventional static sensors to maintain a sufficient level of knowledge on the location of a potential threat. This is particularly crucial in applications where it is necessary to monitor a potential threat which can move over a large area until it can be accounted for.
In a formal setting, designing a surveillance strategy for a (mobile) sensor network dealing with a potentially adversarial target can be modelled as a two-player game in which one player represents the sensor network and the other player represents the adversary. There are several variants of such games, including pursuit-evasion games [1] and graph-searching games [2]. In such games, the problem is formulated as enforcing eventual detection, which is, in essence, a search problem – once the target is detected, the game ends. These types of games are too restrictive for applications where the goal is not to capture, but instead to maintain information about the location of the adversary for an unbounded time horizon.
Another class of games used in physical security are Stackelberg games, also known as leader-follower games. In such games the defender acts first, for example by placing their defence system, and the attacker follows with his action, possibly after obtaining information about the placed defence system. In recent years Stackelberg games have seen use in, among others, LAX airport, [3] and the US Coast Guard [4]. These games aim to compute randomized policies for the defender to protect target locations from an attacker. Extensions of this model [5] have been proposed to generate infinite-horizon patrolling strategies either for mobile resources alone or in concert with static alarm triggers [6, 7]. However, these models cannot be used to reason about the uncertain set of possible locations of dynamic threats.
Our objective in this work is not to just compute a patrolling strategy for the mobile sensors, but also to quantify the sensor network’s knowledge of the possible locations of active threats and use this information to synthesize strategies for the mobile sensors that provide knowledge guarantees on the threat location over an infinite-time horizon.
As a motivating case study we consider the use of autonomous drones working in cooperation with static sensors in wildlife conservation. UAVs are increasingly being adopted for monitoring of illegal hunting and poaching [8], though they are mostly remotely controlled [9]. In Kenya, for example, remotely controlled drones were deployed in 2014 in an attempt to reduce poaching by providing constant surveillance [10], allowing authorities to arrest rhino poachers when they are sensed by the drones. Autonomous UAVs have not been used in this setting yet, and proposed plans involve drones following pre-programmed paths [11]. In this paper, we propose a method for automatically constructing autonomous reactive surveillance strategies for multiple mobile sensors (like UAVs) working in concert with static sensors in the field.
We study the problem of synthesizing strategies for enforcing temporal surveillance objectives, such as the requirement to never let the sensor network’s uncertainty about the target’s location exceed a given threshold, or recapturing the target every time it escapes. To this end, we consider surveillance objectives specified in linear temporal logic (LTL), equipped with basic surveillance predicates. Our computational model is that of a two-player game played on a finite graph, whose nodes represent the joint possible locations of all the mobile sensors and the target, and whose edges model the possible (deterministic) moves between locations. The mobile sensors play the game with partial information, as they can only observe the target when it is in the area of sight of one of the sensors. The target, on the other hand, always has full information about the locations of all sensors in the network. In that way, we consider a model with one-sided partial information, making the computed strategy for the agent robust against a potentially more powerful adversary.
We formulate surveillance strategy synthesis as the problem of computing a joint winning strategy for the multiple mobile sensors in a partial-information game with a surveillance objective. Partial-information games with LTL objectives have been well studied [12, 13] and it is well known that the synthesis problem is EXPTIME-hard [14, 15]. In a companion publication at CDC 2018 we describe a framework for formalizing single-agent surveillance synthesis as a two-player game with partial information, and propose an abstraction-based method for solving such games. The interested reader is referred to the extended version [16] for details about the abstraction-based synthesis method. The price of resorting to abstraction is the potential overapproximation of the set of possible target locations (that is, loss of precision in the sensors’ knowledge) which may make satisfying the surveillance requirements more difficult. There is thus a trade-off between the strictness of the surveillance requirements, i.e, how closely a target needs to be tracked, and the size of the abstract game necessary for a surveillance strategy to exist.
Sensor networks consisting of a large number of dynamic sensors, as well as static sensors, can achieve better coverage, and thus, in general, can make do with much coarser abstractions to satisfy a given surveillance objective. However, even when using abstraction, the size of the game is exponential in the number of sensors. To address the blow-up of the state space incurred by a large number of sensors, we propose a decentralized synthesis method that aims to compute a surveillance strategy for each mobile sensor separately.
Contribution: Our contribution is as follows.
We decompose the original surveillance game into a set of subgames, one for each sensor. Accordingly, the global surveillance objective is broken up into a local objective for each subgame. Our reduction guarantees that if the local strategy in each subgame satisfies the local surveillance objective, then the composition of the strategies fulfills the global surveillance objective. This allows us to solve each subgame under its local surveillance objective independently, using off-the-shelf reactive synthesis tools.
There has been work in decentralized synthesis for GR(1) specifications, however, the synthesis process often involves a centralized computation as in [17] or synchronization [18, 19]. Our approach, on the other hand is fully decentralized and the sensors require no coordination as simply satisfying their local properties guarantees the global objective.
II MOTIVATING CASE STUDY
We first describe the multi-agent surveillance synthesis problem informally, in the context of a motivating case study.
We consider wildlife conservation in Africa, in particular, at the Selous Game Reserve (SGR) located in Tanzania, where the African Black Rhinoceros population is under serious threat due to poaching. We are motivated by a recommended anti-poaching initiative in the SGR by the World Heritage Centre, to study the use of a sensor network for tracking the position of a potential poacher with user-specified precision. Since the SGR is a very large area, the network consists of both mobile and static sensors. We apply the distributed synthesis method proposed in this paper to synthesize surveillance strategies for the mobile sensors that satisfy the desired tracking requirement.
Figure 1 shows a section of the SGR that we represent as a gridworld which will form the state space of the game. Each static sensor monitors a given area of the grid (shown in yellow) and detects any presence of the target (i.e., threat) in these states, but cannot determine the target’s exact location. The requirement is to ensure that over and over again, the set of potential locations of the target is reduced to 5 cells. In other words, every time the target escapes from the vision of all sensors, the network guarantees that eventually the uncertainty about its position will be reduced to 5 grid cells.
III GAMES WITH SURVEILLANCE OBJECTIVES
We begin by providing a formal model for describing multi-agent surveillance strategy synthesis problems, in the form of a two-player game between the mobile sensors in a network and a target, in which the sensors have partial information about the target’s location.
III-A Multi-Agent Surveillance Game Structures
We define a multi-agent surveillance game structure to be a tuple G=(S,sinit,T,vis1,…,visn) where:
•
S=Ls×Lt is the set of states, where Ls=L1×L2×⋯×Ln is the set of joint locations of the n mobile sensors, Li is the set of possible locations of sensor i, and Lt is the set of possible locations of the target;
•
sinit=(l1init,…,lninit,ltinit) is the initial state;
•
T⊆S×S is the transition relation describing the possible joint moves of the sensors and the target; and
•
vis1,…,visn are the visibility functions for the n sensors, where visi:Li×Lt→B maps a state (li,lt) to true iff * position lt is in the area of sight of li*.
Additionally, we define the joint visibility functionVis:S→B that maps a state (l,lt) to true iff the set I={i∣visi(li,lt)=true} is non-empty. Informally, Vis(ls,lt) is true if the target is in view of at least one of the sensors.
The transition relation T encodes the one-step move of the target and the n sensors: First, the target makes a move, and then, the sensors move jointly in a synchronized manner.
We denote with T↓i the projection of the transition relation T on the sets of locations of the target and the sensor with index i. Formally, we define
T↓i={((li,lt),(li′,lt′))∈(Li×Lt)2∣∃l1,l1′,…,li−1,li−1′,li+1,li+1′,…,ln,ln′:((l1,…,ln,lt),(l1′,…,ln′,lt′))∈T}.
For a state (ls,lt)∈S we define succt(ls,lt) to be the set of possible successor locations of the target:
We extend succt to sets of locations of the target by stipulating that for L⊆Lt, the set succt(ls,L) consists of all possible successor locations of the target for states in {ls}×L. Formally, let succt(ls,L)=⋃lt∈Lsucct(ls,lt).
For a state (ls,lt) and a successor location of the target lt′, we denote with succ(ls,lt,lt′) the set of successor locations of the sensors, given that the target moves to lt′:
We assume that, for every state s∈S, there exists a state s′∈S such that (s,s′)∈T, that is, from every state there is at least one move possible (including self transitions). We also assume, that when the target moves to an invisible location, its position does not influence the possible one-step moves of the sensors. Formally, we require that if Vis(ls,lt′)=Vis(ls,lt′)=false, then succ(ls,lt,lt′)=succ(ls,lt,lt′) for all lt,lt′,lt,lt′∈Lt. This assumption is natural in the setting where each of the sensors can move in one step only to locations that are in its sight.
Example 1
Figure 2 shows an example of a multi-agent surveillance game on a grid. The sets of possible locations Li and Lt for the each of the sensors and for the target consist of the squares of the grid. The transition relation T encodes the possible one-step moves of all the sensors and the target on the grid, and incorporates all desired constraints. For example, moving to a location occupied by another sensor or the target, or to an obstacle, is not allowed.
In this example, the function visi encodes straight-line visibility with a range of 2: a location lt is visible to sensor i from location li if there is no obstacle on the straight line between them and the distance between the target and sensor i is not larger than 2. Initially the target is not in the area of sight of the sensors, but the initial position of the target is known. However, once the target moves to one of the locations reachable in one step, in this case, locations 17,19 and 23, this might no longer be the case. More precisely, if the target moves to location 17, then the green sensor observes its location, but if it moves to one of the other locations, then neither sensor can observe it, and its exact location will not be known. ∎
III-B Static Sensors
We now describe a way to incorporate static sensors in the multi-agent surveillance game framework. Let G be a multi-agent surveillance game structure as defined previously.
We identify a static sensor with a set of locations Λ⊆Lt over which it operates.
A surveillance game can have multiple static sensors (or none). Let M={Λ1,…,Λm} be a given set of m static sensors for G. For each location lt∈Lt we define J(lt) to be the set of all indices of static sensors such that lt belongs to the corresponding set of locations, i.e, J(lt)={j∈{1,…,m}∣lt∈Λj}. We refer to J(lt) as the set of triggered static sensors at location lt. We also define J(L)=⋃lt∈LJ(lt) for a set of locations L⊆Lt.
We assume that sensors do not suffer from false positives or negatives (studying these is an avenue for future work).
III-C Belief-Set Game Structures
In surveillance strategy synthesis, we need to state properties of, and reason about, the information which the sensors have, i.e, the belief about the location of the target. To this end, we can employ a powerset construction which is commonly used to transform a partial-information game into a perfect-information one, by explicitly tracking the joint knowledge of the sensors as a set of possible locations of the target. In that way we define a two-player game in which one player represents the whole sensor network, and the other player represents the target.
Given a set A, we denote with P(A)={A′∣A′⊆A} the powerset (set of all subsets) of A.
Given a multi-agent surveillance game structure G=(S,sinit,T,vis1,…,visn) with m static sensors M={Λ1,…,Λm}, we define the corresponding belief-set game structureGbelief=(Sbelief,sbeliefinit,Tbelief) where:
•
Sbelief=Ls×P(Lt)×P({1,…,m}) is the set of states, where Ls is the set of joint locations of the sensors, and P(Lt) the set of belief sets describing information about the location of the target, and P({1,…,m}) is the set of possible sets of triggered sensors;
•
sbeliefinit=(l1init,…,lninit,{ltinit},J(ltinit)) is initial state;
•
Tbelief⊆Sbelief×Sbelief is the transition relation where ((ls,Bt,J),(ls′,Bt′,J′))∈Tbelief iff ls′∈succ(ls,lt,lt′) for some lt∈Bt and lt′∈Bt′ , J′⊆J(Bt′), and one of the following three conditions is satisfied:
Bt′={lt′∈succt(ls,Bt)∣Vis(ls,lt′)=false}∩Bt′=⋂j∈J′Λj, and J′=∅;
(3)
Bt′={lt′∈succt(ls,Bt)∣Vis(ls,lt′)=false}∖Bt′=⋃j=1mΛj, and J′=∅.
Condition (1) captures the successor locations of the target that can be observed from one of the mobile sensors’ current locations. Condition (2) captures the cases when the target moves to a location that cannot be observed by the mobile sensors, but triggers a non-empty set J′ of static sensors. Finally, condition (3) corresponds to the successor locations of the target not visible from the current location of any of the mobile sensors, and not triggering any static sensors.
Example 2
Consider the surveillance game structure from Example 1. The initial belief set is {18}, as the target’s initial position is known. Figure 2b shows some of the successor states of the
state ((20,4),{18}) in Gbelief.∎
Based on Tbelief, we can define the functions succt:Sbelief→P(P(Lt)×P({1,…,m})) and succ:Sbelief×P(Lt)×P({1,…,m})→P(Ls) similarly to the corresponding functions defined for G.
A run in Gbelief is an infinite sequence s0,s1,… of states in Sbelief, where s0=sbeliefinit and (si,si+1)∈Tbelief for all i.
A strategy for the target in Gbelief is a function ft:Sbelief+→P(Lt)×P({1,…,m}) such that ft(π⋅s)=(Bt,J) implies (Bt,J)∈succt(s) for every π∈Sbelief∗ and s∈Sbelief. That is, a strategy for the target suggests a move resulting in some belief set reachable from a location in the current belief, and a set of triggered sensors.
A joint strategy for the sensors in Gbelief is a function fs:Sbelief+×P(Lt)→Sbelief such that, if, fs(π⋅s,Bt,J)=(ls′,Bt,J′) then, Bt′=Bt, J′=J, and ls′∈succ(s,Bt) for every π∈Sbelief∗, s∈Sbelief and Bt∈P(Lt). Intuitively, a strategy for the sensors suggests a joint move based on the observed history of the play, the current belief about the target’s position, and the set of currently triggered sensors.
The outcome of given strategies fs and ft for the sensors and the target in Gbelief, denoted outcome(Gbelief,fs,ft), is a run s0,s1,… of Gbelief such that for every i≥0, we have si+1=fs(s0,…,si,Bti), where Bti=ft(s0,…,si).
III-D Temporal Surveillance Objectives
We consider a set of surveillance predicatesSP={pb∣b∈N>0}, where for b∈N>0 we say that a state (ls,Bt) in the belief game structure satisfies pb (denoted (ls,Bt)⊨pb) iff
∣{lt∈Bt∣Vis(ls,lt)=false}∣≤b.
Intuitively, pb is satisfied by the states in the belief game structure where the size of the belief set does not exceed the threshold b∈N>0.
We study surveillance objectives expressed in a fragment of linear temporal logic (LTL) over surveillance predicates. We consider safety surveillance objectives expressed using the temporal operator \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture and liveness surveillance objectives expressed using the temporal operators \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture and \leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture.
A safety surveillance objective\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb requires that the size of the belief-set never exceeds the given threshold b. More formally, an infinite sequence of states s0,s1,… in Gbelief satisfies the safety property \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb if and only if for every i≥0 it holds that si⊨pb. A liveness surveillance objective\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, on the other hand, requires that
the size of the belief is smaller or equal to the bound b infinitely often. That is, s0,s1,… in Gbelief satisfies \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb if for every i≥0 there exists j≥i such that sj⊨pb.
In this paper we consider safety and liveness surveillance objectives, as well as conjunctions of such objectives. We remark the following equivalences of surveillance objectives:
if a≤b, then \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepa∧\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb≡\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepa.
Using these equivalences, we can restrict our attention to surveillance objectives of one the following forms: \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb or \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepa∧\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, where a>b.
III-E Multi-Agent Surveillance Synthesis Problem
A multi-agent surveillance game is a triple (G,M,φ), where G is a surveillance game structure, M is a set of static sensors, and φ is a surveillance objective. A winning strategy for the sensors for (G,M,φ) is a joint strategy fs for the sensors in the corresponding belief-set game structure Gbelief such that for every strategy ft for the target in Gbelief it holds that outcome(Gbelief,fs,ft)⊨φ. Analogously, a winning strategy for the target for (G,M,φ) is a strategy ft such that, for every strategy fs for the mobile sensors in Gbelief, it holds that outcome(Gbelief,fs,ft)⊨φ.
**Problem statement: ** Given a multi-agent surveillance game (G,M,φ), compute a joint strategy for the mobile sensors that is winning for the game (G,M,φ).
In the remainder of the paper we show how to solve the multi-agent surveillance synthesis problem in a compositional manner. The key idea is to decompose the problem into a set of single-sensor surveillance games over smaller sets of locations, and solve each of these games separately.
IV DISTRIBUTED SURVEILLANCE GAMES
In the sequel we assume that L1=L2=⋯=Lt≜L in the surveillance game structure, i.e, all n sensors and the target operate in the same state space. For the remainder of the paper, let G=(S,sinit,T,vis1,…,visn) be a multi-agent surveillance game structure defined over L, and let M={Λ1,…,Λm} be a set of static sensors. We define a state-space partition of size n of the set L of locations in a game structure G to be a tuple L=(L1,…,Ln) of subsets of Li such that ⋃i=1nLi=L, and Li∩Lj=∅ for i=j.
IV-A Surveillance Subgames
We now describe how, given a state-space partition L=(L1,…,Ln), to construct a tuple of single-agent surveillance game structures G=(G1,…,Gn) that contains one surveillance subgameGi for each mobile sensor i. Each subgame, Gi is defined over the subset of locations Li. Since the target and sensors operate on the same state space we will have Lsi=Lti=Li. Additionally, to each Lti we add an auxiliary locationki that encapsulates all possible locations of the target that are outside of this subgame’s region, i.e., all locations in L∖Li. We then model transitions leaving or entering Lti as transitions to or from location ki respectively.
We require that the initial location liinit of sensor i is in Li.
Formally, given a subset Li⊆L we define the subgame of G corresponding to sensor i as the tuple Gi=(Si,siinit,Ti,visi) where:
•
Si=Li×(Lti∪ki) is the set of states.
•
siinit=(liinit,lt) is the initial state, where lt=ltinit, if
ltinit∈Li, and lt=ki otherwise.
•
The set Ti consists of two types of transitions: the transitions in T↓i that originate and end in the subgame’s region are preserved as they are. Transitions of the target exiting or entering Lti are replaced by transitions to and from location ki respectively, since ki represents all target locations outside of Lti.
Formally, for every pair of states (li,lt)∈Si and (li′,lt′)∈Si we have that ((li,lt),(li′,lt′))∈Ti if and only if there exists a transition
((li,lt),(li′,lt′))∈T↓i for which the following conditions are satisfied:
–
if lt∈Lti and lt′∈Lti, then
lt=lt and lt′=lt′, that is, we have a transition internal for the region Lti;
–
if lt∈Lti and lt′=ki, then
lt∈Lti and lt′∈Lti, that is, we have a transition exiting the region Lti;
–
if lt=ki and lt′∈Lti, then
lt∈Lti and lt′∈Lti, that is, we have a transition entering the region Lti;
–
if lt=ki and lt′=ki, then
lt∈Lti and lt′∈Lti, that is, we have a transition completely outside Lti.
•
The visibility function visi in the subgame Gi agrees with the visibility function visi of sensor i in the original game when the target’s location is in the subgame’s region. Target locations outside of the region Lti (summarized by location ki) are invisible to the sensor in the subgame. Formally, visi(li,lt)=visi(li,lt) when lt∈Lti, and visi(li,lt)=false if lt=ki.
Example 3
In Figure 3a, we have two subgames: G1 for the green mobile sensor and G2 for the blue one. The initial states in the subgames are s1=(20,14), and s2=(4,k2). Recall that ki is an indicator state to represent that the target is not subgame i. The transitions shown in Figure 3b show that the target has the ability to leave G1 and enter G2.
∎
Note that in this construction, sensor i is not able to leave the region of locations Li. Furthermore, all the information about the target’s behaviour outside of the subgame’s region is completely hidden from the mobile sensor controller, since all locations outside of Lti are represented by the single location ki.
In section IV-C, we discuss the local knowledge (belief) of sensor i in the game structure Gi.
IV-B Static Sensors in Subgames
We assumed that all information about the target’s behaviour outside of subgame Gi is completely hidden from sensor i. Hence, sensor i is only privy to static sensors that operate in the state space of the subgame Gi, i.e, static sensors Λm where Λm∩Li=∅. For simplicity of the presentation we assume that each static static sensor operates in exactly one region Li. Our results can easily be extended to the general case. We define Qi={i∣Λi∩Li=∅} to be the set of static sensors operating in the subgame Gi.
IV-C Local Beliefs in Surveillance Subgames
A surveillance subgame is a game structure with a single mobile sensor and some number of static sensors, and thus, is a special case of multi-agent surveillance game structure. With this, the definition of belief-set game structures from Section III-C directly applies to surveillance subgames.
In the belief-set game structure for a surveillance subgame Gi=(Si,siinit,Ti,visi) with static sensors Qi, the belief sets represent the local belief of sensor i. More specifically, a belief set in Gbeliefi is an element of P(Lti∪{ki}), and can thus contain the auxiliary location. Intuitively, if ki is present in the sensor’s current belief, then the target could possibly be outside of the local set of locations Li, or if the belief is the singleton {ki}, then sensor i knows for sure that the target is outside of its region. Additionally, if there is a triggered static sensor in the region, the sensor will know that the target must be in the state space of the static sensor and ki cannot be in the belief. Due to the definition of surveillance subgames in Section IV-A, the location kimust be in the belief of sensor iwhenever it is possible that the target is outside of its region. If n≥2, then at every given time ki must be in the belief set of at least one sensor (possibly several).
We define the global interpretation[[Bt]] of a belief set Bt in Gbeliefi, which is a set of locations in G, as
[TABLE]
Strategies of sensor i in the belief-set game Gbeliefi depend only on the sequence of states in this game, and thus, only on local information. Following the definitions in Section III-C, the outcome of a pair of given strategies fi and fti for the sensor and the target in Gbeliefi is a sequence of states in Gbeliefi, each of which is a pair consisting of a location of sensor i and a belief-set for sensor i in Gbeliefi.
IV-D Distributed Surveillance Synthesis Problem
Given a state-space partitioning L and the corresponding tuple of subgames G=(G1,…,Gn)
we will define a distributed surveillance strategy synthesis problem, which, intuitively, asks to synthesize strategies for the sensors in the individual belief subgames, such that together they guarantee the global surveillance objective. In this section we formalize this intuitive problem description. We first need to define what it means for the individual sensor strategies to jointly satisfy together a global requirement.
The surveillance requirements are defined in terms of the belief-states in Gbelief, but strategies in the belief subgames are defined in terms of sequences of local belief states. Hence, we need to define a mapping of states of the form ((l1,…,ln),Bt,J) to elements of P(Lti∪{ki}) for each i. Since, by definition, a strategy for sensor i in the corresponding belief subgame guarantees that it remains in Li, we only need to define the mapping for states li∈Li.
Formally, for a state ((l1,…,ln),Bt,J) in Gbelief we define its projection on belief subgame i as ((l1,…,ln),Bt,J)↓i=(li,Bt↓i,J∩Qi), where
[TABLE]
The mapping extends to sequences of states in the usual way.
Intuitively, this mapping projects the joint knowledge of the sensors in Gbelief onto the local belief of each sensor, where the sensors do not share their local beliefs with each other, that is, the sensors have no information about the target’s position outside of their own region. The global, shared belief of the sensors is formed by the combination of their local beliefs. More precisely, this is the intersection of the global interpretation of the local beliefs. Indeed, it is easy to see that the property Bt=⋂i=1n[[Bt↓i]] holds.
Now we are ready to define the joint strategy of the sensors in Gbelief obtained by executing together a given set of sensor strategies in the individual subgames.
Let fs1,…,fsn be strategies for the sensors in the belief subgames (Gbelief1,…,Gbeliefn). We define the compositionfs1⊗…⊗fsn of fs1,…,fsn, which is a joint strategy fs for the sensors in Gbelief, as follows:
for every sequence s0,…,sk of states in Gbelief, global belief Bt∈P(Lt) and set of triggered sensors J⊆{1,…,m}, we let
[TABLE]
where li=fsi((s0,…,sk)↓i,Bt↓i,J∩Qi) for each i.
Remark. If, for some i, the projection (s0,…,sk)↓i is undefined, then fs(s0,…,sk,Bt) is undefined. However, by the definition of each fsi we are guaranteed that the projection is defined for every prefix consistent with fsi.
Intuitively, the joint strategy fs1⊗…⊗fsn makes decisions consistent with the choices of the individual strategies fs1,…,fsn in the respective belief subgames.
Our goal is to synthesize a joint strategy fs that enforces a given surveillance property in the belief-set game Gbelief by synthesizing individual strategies for all the sensors in the corresponding belief subgames. That is, we want to solve the following distributed surveillance synthesis problem.
**Problem statement: **Given a multi-agent surveillance game (G,M,φ) with n sensors, and a state-space partition L, compute strategies fs1,…,fsn for the sensors in the belief subgames Gbelief1,…,Gbeliefn respectively, such that the composed strategy fs1⊗…⊗fsn is a joint winning strategy for the sensors in the surveillance game (G,M,φ).
Thus, in the distributed surveillance synthesis problem we have to compute strategies fs1,…,fsn such that for every strategy ft for the target in Gbelief it holds that outcome(Gbelief,fs1⊗…⊗fsn,ft)⊨φ. To this end, we have to provide local surveillance objectives for all the sensors, such that if all strategies are winning with respect to their local objectives, then their composition is winning with respect to the original surveillance objective. In this way we will reduce the multi-agent surveillance synthesis problem to n single-agent surveillance problems over smaller sets of locations. This reduction is the subject of the next section.
V FROM GLOBAL TO LOCAL SPECIFICATIONS
In order to reduce the multi-agent surveillance synthesis problem for a given surveillance specification φ to solving a number of single-sensor surveillance subgames, we need to provide local surveillance objectives for the individual subgames. The local objectives should be such that by composing the strategies that are winning with respect to the local objectives we should obtain a strategy that is winning for the global surveillance objective. More precisely, we have to provide local surveillance specifications φ1,…,φn such that if for each i it holds that fsi is a winning strategy for the sensor in (Gi,Qi,φi), then the strategy fs1⊗…⊗fsn is a joint winning strategy for the sensors in (G,M,φ).
Recall that the surveillance objective φ is of the form \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, or \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, or \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepa∧\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, where a>b. We will provide translations for each of these types of specifications.
First, note that the belief sets in a belief subgame Gbeliefi can contain the auxiliary location ki, which represents all locations in L∖Li. Thus, when the local belief set contains ki, the size of the global belief set depends on the local beliefs of the other agents as well. We have to account for this in the translation from global into local surveillance objectives.
Example 4
*Consider the global safety surveillance specification \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturep5 in a network with two mobile sensors. In this case we can reduce the multi-agent surveillance problem to two single-agent surveillance games, each of which has \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturep3 as the local specification.
To see why, consider the two possible cases of local belief set of sensor 1 whose size is less than or equal to 3. If k1 is not part of the belief set of sensor 1, then the target is definitely in the region of sensor 1, meaning that the global belief is of size less than or equal to 3, and hence smaller that 5. If, on the other hand, k1 is part of the local belief of sensor 1, then the target can be in at most 2 locations in L1. If at the same time we have that the local belief of sensor 2 is of size at most 3, this would guarantee that the size of the global belief does not exceed 5.
Local specifications \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturep4, on the other hand do not imply the global specification. Indeed, if at a given point in time both sensors have local beliefs of size 4, each of which contains the corresponding location ki, the resulting global belief will be of size 6 and thus violate the global specification.∎*
Generalizing the observations made in this example, for any number of sensors n≥2 and global safety surveillance objective \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, we define the local safety surveillance objective for each of the sensors, denoted local(\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb,n), as local(\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb,n)≜\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepc, where c=⌊nb⌋+1. Since n≥2 and b>0, we have c≤b.
Note that this translation is conservative, since if according to the belief of sensor i the target could be outside its region, it should guarantee that the number of locations in its own region the target could be in is at most ⌊nb⌋, even if the target can possibly be in only one of the other regions. This conservativeness is necessary to guarantee soundness in the absence of coordination between the sensors.
We now turn to liveness surveillance objectives. It is easy to see that each sensor guaranteeing a small enough local belief infinitely often is not enough to satisfy the global surveillance objective, since the local guarantees can happen in time-steps different for the different sensors.
Example 5
Consider the global surveillance specification \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturep5 for a network with two sensors. Suppose f1 is a strategy for the sensor in Gbelief1, which ensures that every even step the size of the local belief is 10, and every odd step the local belief contains k1 and its size is 3. Strategy f2 in Gbelief2, is similar, but even and odd steps are interchanged: every even step the local belief contains k2 and its size is 3, and every odd step the size of the local belief is 10. Thus, while f1 and f2 guarantee that their local belief is ”small enough” infinitely often, they do this at different steps.
We circumvent the problem illustrated in this example by requiring that each sensor satisfies the liveness guarantee on its own. For this, we have to consider two cases. First, if from some point on sensor i always knows that the target is outside of its region, it has no obligation to satisfy the liveness surveillance guarantee. If, on the other hand, according to sensor i’s belief the target could be in Li infinitely often (note that this is true for at least one sensor), then it has to satisfy the corresponding liveness guarantee.
In order to capture this intuition, we need two additional types of surveillance predicates. First, we need to be able to express the negation of the property that the local belief of sensor i is the singleton {ki} (which means that sensor i knows that the target is outside Li). For this, we introduce the predicate belief={ki}. Second, in order to express the local liveness guarantee, we need to be able to state that ki is not in Li (which means that sensor i knows that the target is in its region). The predicate we introduce for this property is ki∈belief. Both predicates can be interpreted over belief sets similarly to pb and incorporated in LTL.
Formally, we define the local liveness specification for sensor i denoted locali(\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb) as
[TABLE]
Note that the agent cannot trivially satisfy locali(\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb), since the belief set is defined precisely by it’s sequence of observations and is not under the agent’s direct control.
This translation is again conservative, since it would suffice that the liveness guarantee is satisfied by a single sensor. However, these can be different sensors for different behaviours of the target. Thus, we require that every sensor i satisfies locali(\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb). This requires that if the target crosses from one region to another infinitely often, then both sensors have to satisfy the liveness surveillance objective.
Finally, for a global surveillance specification \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepa∧\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, the local surveillance specification for sensor i is
[TABLE]
Slightly abusing the notation, we denote with locali(φ,n) the local surveillance specification for sensor i for any of the three types of global surveillance specifications.
The next theorem, which follows from the definition of the local specifications, states the soundness of the reduction.
Theorem 1
Let (G,M,φ) be a multi-agent surveillance game with n sensors, where φ is of the form \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, or \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, or \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepa∧\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturepb, where a>b. Let L be a state-space partition. Suppose that f1,…,fn are strategies for the sensors in the subgames Gbelief1,…,Gbeliefn respectively, such that for each sensor i the strategy fi is winning in the surveillance game (Gi,Qi,locali(φ,n)). Then, it holds that the composed strategy fs1⊗…⊗fsn is a joint winning strategy for the sensors in the surveillance game (G,M,φ).
VI EXPERIMENTAL EVALUATION
We now return to the case study outlined in Section II. We have implemented the proposed method in Python, using the slugs reactive synthesis tool [21], and evaluated it on the multi-agent surveillance game modelling the problem described in Section II. The experiments were performed on an Intel i5-5300U 2.30 GHz CPU with 8 GB of RAM.
We analyzed two scenarios. In Figure 4a, we have six mobile sensors. We compare the surveillance strategy with the situation in Figure 4b where we have three mobile sensors. In both cases there are four static sensors depicted in yellow in Figure 4. Our global surveillance task is \leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturep5, i.e, we need to infinitely often bring the belief of the target location to 5 cells or lower.
Solving either case centralized is not computationally feasible as the state space grows exponentially with the number of sensors - we will have in the order of 4006 and 4003 states respectively. Thus, we partition the multi-agent surveillance game into subgames as shown in Figures 4a and 4b. We then solve each game individually with local specifications locali(\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturep5). We solve these single-agent surveillance games using an abstraction-based method detailed in a companion publication at CDC 2018, detailed in [16].
We report the synthesis times in Table I.
The multi-agent surveillance game in Figure 4a results in more subgames compared to the game in 4b. However, each game is much smaller and strategies can be synthesized faster in each subgame. Figure 5 shows snapshots in time of the simulation of the 3 sensor surveillance game in Figure 4b. The target is being controlled by a human and the sensors are following their synthesized local surveillance strategies. The global belief is depicted in Figure 5 as grey cells, meaning that the combined knowledge of all the sensors has restricted the location of the target into one of the grey cells.
We see, in Figures 5a - 5c, that the target is in the subgame corresponding to sensor 2. Hence, only sensor 2 is moving and trying to lower its belief to below 5 cells (which it does in Figure 5d). In Figures 5b - 5d, the target starts moving towards subgame 3 at which point the target is detected by the static sensor in subgame 3 and sensor 3 takes over in figures 5e - 5f. There is no coordination between any of the agents, and each satisfy only their local surveillance specification. However, our construction guarantees that the global specification of \leavevmodeto8.7pt\vboxto8.7pt\pgfpicture\makeatletter\lower-1.76527ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt2.58333pt\pgfsys@lineto4.09026pt6.67358pt\pgfsys@lineto8.18053pt2.58333pt\pgfsys@lineto4.09026pt-1.50694pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture\leavevmodeto6.97pt\vboxto6.97pt\pgfpicture\makeatletter\lower-1.11945ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.51666pt\pgfsys@invoke\pgfsys@roundjoin\pgfsys@invoke\pgfsys@moveto0.0pt-0.86111pt\pgfsys@lineto0.0pt5.5972pt\pgfsys@lineto6.45831pt5.5972pt\pgfsys@lineto6.45831pt-0.86111pt\pgfsys@closepath\pgfsys@stroke\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturep5 will be satisfied.
VII CONCLUSIONS
We presented a method for decentralized synthesis of surveillance strategies for a mobile sensor network working together with static sensors. Problems that would otherwise be computationally intractable can be solved by decomposing the global game into local subgames for each sensor with individual surveillance specifications. We show that although each game is solved completely independently with no information sharing, we can still guarantee global surveillance properties.
In future work we aim to incorporate false positives in static alarm triggers as well as noisy observations from the mobile sensors while still guaranteeing surveillance specifications.
Acknowledgement: This work was supported in part by grant Sandia National Lab 801KOB, grant ARO W911NF-15-1-0592, and grant DARPA W911NF-16-1-0001.
Bibliography21
The reference list from the paper itself. Each links out to its DOI / PubMed record.
1[1] T. H. Chung, G. A. Hollinger, and V. Isler, “Search and pursuit-evasion in mobile robotics,” Autonomous Robots , vol. 31, p. 299, Jul 2011.
2[2] S. Kreutzer, Graph Searching Games . Cambridge University Press, 2011, pp. 213–261.
3[3] M. Jain, B. An, and M. Tambe, “An overview of recent application trends at the AAMAS conference: Security, sustainability and safety,” AI Magazine , vol. 33, no. 3, p. 14, 2012.
4[4] B. An, J. Pita, E. Shieh, M. Tambe, C. Kiekintveld, and J. Marecki, “Guards and protect: next generation applications of security games,” vol. 10, pp. 31–34, 01 2011.
5[5] N. Basilico, N. Gatti, and F. Amigoni, “Patrolling security games: Definition and algorithms for solving large instances with single patroller and single intruder,” Artif. Intell. , vol. 184-185, June 2012.
6[6] N. Basilico, G. De Nittis, and N. Gatti, “A security game combining patrolling and alarm-triggered responses under spatial and detection uncertainties.” in AAAI , 2016, pp. 404–410.
7[7] E. Munoz de Cote, R. Stranders, N. Basilico, N. Gatti, and N. R Jennings, “Introducing alarms in adversarial patrolling games,” vol. 2, pp. 1275–1276, 01 2013.
8[8] R. Schiffman, “Drones flying high as new tool for field biologists,” 2014.