Proposed by Mohamed Wahbi
The general definition of the SensorDisCSP family is as follows:
The target tracking in distributed sensor network problem (SensorDisCSP) is a real distributed resource allocation problem. This problem consists of a set of n stationary sensors, S={s1,…,sn}, and a set of m targets, T={t1,…,tm}, moving through their sensing range. The objective is to track each target by sensors. Thus, sensors have to cooperate for tracking all targets. In order for a target to be tracked accurately, at least three sensors must concurrently turn on overlapping sectors. This allows the target’s position to be triangulated. However, each sensor can track at most one target. Hence, a solution is an assignment of three distinct sensors to each target.
A solution must satisfy the visibility and the compatibility constraints. The visibility constraint defines the set of sensors to which a target is visible. This mainly depends on the sensing range of each sensor and to the presence of obstacles in the sensing range. The sensing ranges of all sensors form a sensing graph. The compatibility constraint defines the compatibility among sensors (sensors within the communication range of each other). There may be obstacles or noise sources on the communication area leading to breaking links of communication. The compatibility constraints are represented through the communication network.
The Grid-based SensorDisCSP (or GSensorDisCSP, for short) is a specific variant of the general SensorDisCSP: as before, we have multiple sensors S={s1,…,sn}, multiple objects/tagets T={t1,…,tm} which are to be tracked by the sensors subject to visibility and compatibility constraints, and the goal is to allocate three sensors to track each object/target, while keeping these triplets of sensors pair-wise disjoint. However, in GSensorDisCSP the sensors are located on the nodes of a uniform grid of n nodes, and the target objects are located within the surface enclosed by the grid (i.e., the grid specifies the generally trackable region).
Fig.1 shows an example of the target tracking problem in distributed sensor networks where si represents the sensor and tj represents the target. In this example sensors are arranged on the nodes of a uniform grid and it is assumed that only one target can exist in one area. This instance consists of 2 targets: t1 and t2 and 6 sensors: s1, …, and s6. Each target has a set of sensors that can possibly detect it (the sensors in the nodes of the area where the target is located), as depicted by the bipartite sensing graph in Fig.1(a). For example, t1 can be tracked by s1, s2, s4, and s5. In addition, it is required that each target be assigned three sensors that satisfy a compatibility relation with each other; this compatibility relation is depicted by the communication network in Fig.1(b). Each sensor can communicate with all sensors that are at most 1 hop (rectilinear and/or diagonal) from it. Finally, it is required that each sensor only track at most one target. A possible solution is depicted in Fig.1(c), where the set of three sensors assigned to each target is indicated by the green edges.
In the following, three Distributed CSP based formalizations for target tracking in sensor network problem are shown. These are TaV, STaV and SaV.
Target as Variable (TaV) is a model of formalization which defines an agent for each target (i.e., the set of agent is exactly the set of targets A=T). There are three variables per agent, one for each sensor that we need to allocate to the corresponding target. The domain of each variable is the set of sensors that can detect the corresponding target (the visibility constraint defines such sensors). The inter-agent constraints between the variables of one agent (target) specify that the three sensors assigned to the target must be distinct.
In Fig. 2, the instance of target tracking in distributed sensor network shown in Fig. 1 is formalized as a TaV problem. Each target is represented by an agent, i.e., there is two agents A1 representing t1 and agent A2 representing t2. Each agent controls 3 distinct variables (one for each sensor to track the target). Agent A1 has variables x11, x21, and x31, while agent A2 has variables x12, x22, and x32. The domain of variables of each agent is the set of sensors that can track the target represented by the that agent. Target t1 can be tracked by s1, s2, s4, and s5, thus, D11=D21=D31={1,2,4,5}. For agent/target A2/t2, D12=D22=D32={2,3,5,6}. The domains are used to represent the visibility constraint. There is a clique constraint between variables of each agent: clique(3,[x11,x21,x31]) (respectively clique(3,[x12,x22,x32])) specifying that there is a maximum clique of size 3 in the communication graph between sensors assigned to target t1 (respectively t2). clique constraint is used for representing the compatibility constraint. An allDiff constraint on the variables of agents having a common sensor in there domains is used to specify that each sensor can track at most one target: allDiff(x11,x21,x31,x12,x22,x32).
A solution (Fig.1(c)) to that problem is: x11=1,x21=2,x31=4,x12=3,x22=5,x32=6.
Sensor-Target as Variable (STaV) is a model of formalization which defines a variable for a pair of a sensor and a target. Each sensor si is modeled by an agent Ai. For each agent Ai there is a binary variable xji (i.e., Dji={0,1}) for each target tj that can be tracked by si. For each sensor, there is a constraint specifying that it can not track more than one target: ∀si∈S,∑mj=1xji≤1. For each target, there is a constraint specifying that it must be tracked by at least 3 sensors: ∀tj∈T,∑ni=1xji≥3.
An example of a sensor network shown in Fig. 1 is formalized as a STaV problem shown in Fig. 3. In Fig. 3, xji represents a variable of si for target tj. For each sensor si, variables are defined for targets that can be observed by si. In this example, A1, A3, A4, and A6 have one variable each because they represent sensors that can observe only one target (t1 for s1 and s4 and t2 for s3 and s6). s2 and s5 have two variables because they can observe two targets (i.e., t1 and t2). A value of xji represents which sensors are allocated to tj. We have 4 constraints in that problem where constraints c1 and c2 specifying that a sensor can track at most one target and constraints c3 and c4 specifying that a target must be tracked by at least 3 sensors.
A solution (Fig.1(c)) to that problem is: x11=1,x12=1,x22=0,x23=1,x14=1,x15=0,x25=1,x26=1.
Sensor as Variable (SaV) is a model of formalization which defines an agent Ai for each sensor si. For each agent/sensor Ai there is one single variable xi. The domain of a variable xi is defined by the set of targets that sensor si can track. There is an atleast constraint on the variables [xi,…,xk] that can track each target, i.e., ∀tj∈T,atleast(3,[xi,…,xk],j) such that ∀xl∈[xi,…,xk], j∈Dl.
An example of a sensor network shown in Fig. 1 is formalized as a SaV problem shown in Fig. 4. In Fig. 4, each sensor si is represented by a variable xi controlled by agent Ai. Thus, there is 6 variales/agents (i.e., x1,…,x6). The domain of each variable xi is the set of targets that si can track. Thus, D1=D4={1}, D3=D6={2} and D2=D5={1,2}. There is 2 atleast constraints (one for each target): atleast(3,[x1,x2,x4,x5],1) and atleast(3,[x2,x3,x5,x6],2) specifying that at least 3 sensors among {s1,s2,s4,s5} must track target t1 and at least 3 sensors among {s2,s3,s5,s6} must track target t2.
A solution (Fig.1(c)) to that problem is: x1=1,x2=1,x3=2,x4=1,x5=2,x6=2.