Backtrackingbased dynamic programming for resolving transmit ambiguities in WSN localization
Abstract
The complexity of agent localization increases significantly when unique identification of the agents is not possible. Corresponding application cases include multiplesource localization, in which the agents do not have identification sequences at all, and scenarios in which it is infeasible to send sufficiently long identification sequences, e.g., for highly resourcelimited agents. The complexity increase is due to the need to solve an additional optimization problem to resolve the indifferentiability of the agents and thus to enable their localization. In this work, we present a thorough analysis of this problem and propose a maximum a posteriori (MAP)optimal algorithm based on graph decompositions and expression trees. The proposed algorithm efficiently exploits the fixedparameter tractability of the underlying graphtheoretical problem and employs dynamic programming and backtracking. We show that the proposed algorithm is able to reduce the run time by up to 88.3% compared with a corresponding MAPoptimal integer linear programming formulation.
Keywords
Wireless sensor networks Localization Transmit ambiguitiesAbbreviations
 BT
Backtracking
 CHOPS
Cold heavy oil production with sand
 CW
Cliquewidth
 DSCDMA
DirectSequence (Spread Spectrum) CodeDivision Multiple Access
 FDMA
Frequencydivision multiple access
 FPT
Fixedparameter tractability
 ID
Identification number or sequence
 ILP
Integer linear program
 MWISPSC
Minimumweight independent set problem with size constraints
 MMSE
Minimum meansquared error
 MAP
Maximum a posteriori
 RTT
Roundtrip time
 RV
Random variable
 SN
Serial number
 TA
Transmit ambiguity
 TDMA
Timedivision multiple access
AMS Subject Classification
90C35 90C391 Introduction
The unique identification of wireless sensors or agents is generally regarded as an axiomatic design criterion for wireless systems. However, in certain application cases, unique identification is either inherently impossible, such as in multiplesource localization, or infeasible because of applicationspecific constraints. In many scenarios, agent localization relies on pairwise intersensor distance measurements, for which precise information about the identification of the agents and the obtained measurements is required when using classical localization algorithms. In cases in which unique identification is not possible, the localization of wireless agents requires solving an additional optimization problem to overcome the nonunique identification of the agents. In this work, the corresponding problem is thoroughly analyzed and an efficient and optimal algorithm is presented. Subsequently, a relevant use case for these algorithms is presented.

An outer diameter of less than 5 mm to ensure that a significant number of the sensors remain intact after passing through the injection pumps.

A robust shell able to withstand pressures of up to 6 MPa [2].

Several tens of thousands of sensor motes to survey a significant portion of the environment while accounting for the fact that many sensors will be destroyed and remain unrecovered in the environment. In this regard, [1] report an extraction ratio of approximately 8%. The large required number of agents is also motivated by the limited sensing range of each agent.

Energy supply for an operating time of approximately 48 h.
To facilitate the localization of the agents, they are equipped with ultrasonic transceivers and perform ranging by measuring the roundtrip times to other agents. These measurements are only stored locally and are not forwarded to nearby agents. The positioning, i.e., localization, of the sensor motes is performed offline after the extraction of the agents by a central unit, which can utilize significant computational resources for this purpose. This unit has access to all measurements recorded by the recovered agents.
 1.
The small sensor size and the long operation time significantly constrain the consumable energy, particularly because the majority of the available space inside the agents is already occupied by hardware such as transceivers and environmental sensors.
 2.
Because of the small sensor mote size and its implications, DirectSequence (Spread Spectrum) CodeDivision Multiple Access (DSCDMA) approaches are needed because, e.g., frequencydivision multiple access (FDMA) and TDMA require both a wide bandwidth and sharp filters^{2} and accurate synchronization, respectively, and thus cannot be used. For DSCDMA, it is known that the code length is equal to the number of users in the network^{3}. Thus, the use of unique codes would result in excessive power consumption for the transmission of each ranging pulse.
Consequently, only shorter—meaning nonunique—DSCDMA codes can provide a reduction in the energy requirements that is sufficient to enable this application scenario^{4}. Therefore, the central unit (fusion center) needs to resolve the resulting ambiguities in the pairwise distance measurements, before positioning using classical localization algorithms will be possible.
It is believed that a computationally intensive tracking of the agents can be replaced by several quasistatic localizations whenever the swarm is distributed entirely within the environment. This is because on the one hand many agents are needed for the exploration and because on the other hand it may take long for the agents to pass through the environment. Consequently, a further important task is to estimate—based on the agent measurements—when these localizations should take place.
Note that the underlying problem of insufficient time or frequency resources to uniquely address all agents can likewise occur in other multipleaccess schemes. Additionally, note that there is no negative impact regarding, e.g., the signal processing, hardware resources, or energy consumptions of the agents as a result of the nonunique identification. This is because the increased localization complexity that results from nonunique identification and the resolution of the resulting ambiguities are borne by the fusion center.
In this work, the implications of nonunique identification for the localization of sensor motes are investigated. In this regard, we show that nonunique identification results in an additional optimization problem beyond the actual localization itself. We refer to this additional problem as the transmitambiguity resolution problem (TARP). To address this problem, we propose an algorithm that is able to resolve the ambiguities optimally in the sense of the maximum a posteriori (MAP) probability and that is up to 8.55 times faster than an equivalent integer linear programming (ILP) formulation, which is \(\mathcal {NP}\)hard in general and which serves as a baseline in this work. This corresponds to a runtime reduction of 88.5%. The algorithms presented in this work are designed to be used in conjunction with classical localization algorithms, such as those based on semidefinite programming [3, 4, 5, 6, 7, 8, 9], secondorder cone programming (SOCP) [10], or leastsquares methods [11, 12], for the described scenarios. Consequently, it is said that the presented algorithms reenable the localization with existing localization algorithms.
1.1 Related work
Motivated by an initial feasibility study regarding the exploration of inaccessible environments [1] and related experiments in which the need for shared transmission identifiers has been foreseen, the authors of [13] presented the first procedure aimed at resolving the transmit ambiguities caused by nonunique identification for FDMAbased scenarios. The presented method was heuristic and was not derived from an optimality measure such as minimum meansquared error (MMSE) or maximumlikelihood (ML). Moreover, its complexity was not analyzed, and measurement noise was not explicitly considered. The proposed method relied on a neighbormatching procedure in which the ambiguities were resolved by comparing the distance measurements of neighboring sensors.
In [14], we extended this approach to purely additive noise scenarios using adjacency and neighborhood estimation. In [15], we considered a joint localization and transmitambiguity resolution approach in which a heuristic was used to resolve the ambiguities.
Moreover, in our conference work [16], we introduced the concept of dynamic programming on kambiguity trees by exploiting fixedparameter tractability to efficiently solve the TARP. The run time of this method was compared with that of the integer programming implementation of the MMSEoptimal algorithm.
1.2 Contributions
The contribution of this work is fourfold: First, we present a detailed and comprehensive mathematical formulation of the TARP, which arises in the case of the nonunique identification of sensor motes, including the governing equations and its optimal ILPbased optimization problem. Second, we propose to use dynamic programming instead of solving the \(\mathcal {NP}\)hard ILP problem to reenable the localization of the agents. Third, we describe a new representation of the problem using kambiguity trees, which are derived from kexpression trees and are used in a dynamic programming manner to solve the problem optimally. This tree representation is based on a fixedparameter tractability analysis, which is the basis for the efficient solution of the TARP. Fourth, we improve the dynamic programming approach by employing backtracking, which yields a further reduction in the computational complexity by incrementally evaluating partial solution candidates.
This work is partly based on our previous conference work [16], which is extended in this work in terms of the following: (1) detailed derivations of the presented algorithms, (2) an extensive evaluation and analysis of the algorithms, and (3) an algorithmic extension via backtracking, resulting in a new dynamic programming methodology.
Moreover, the framework developed in this work can also be extended, for example, to the multiplesource localization problem, which can be regarded as a special case of the problem at hand in which all sources have the same transmit ID.
1.3 Solution overview
This section is dedicated to a less formal description of the problem at hand and the solution steps described in this work. The sensoryagentbased approach for the exploration of unknown environments is depicted in Fig. 1. This figure shows the general procedure, from the introduction of the agents up through their (partial) extraction and the utilization of the agents’ measurements for environmental data reconstruction.
 1.The resolution of the transmit ambiguities: Conceptually, the purpose of this step is to estimate the proper mapping between the measurements and the agents. In this work, however, a mapping between pairs of measurements and pairs of agents is sought. Such a pair of measurements is called an assignment or solution candidate for the two bidirectional measurements between the corresponding pair of agents. Because of the combinatorial nature of this problem, it is \(\mathcal {NP}\)hard in general. As shown in Section 3, this problem is related to the independent set problem and can be described as an ILP problem. However, Section 4 motivates the use of dynamic programming to solve this problem more efficiently based on the fact that the problem is fixedparameter tractable. In this context, it is shown that the cliquewidth of the graph that describes the resolution problem from a graphtheoretical perspective exerts a significant influence on the solution complexity. For this reason, the following procedure is used in this work to solve the problem:
 (a)
Based on a thorough analysis of the graphtheoretical problem presented in Section 4, the constraints that govern the combinatorial problem are derived. These constraints are described by vertex sets specifying mutual exclusivity, called constraint cliques in the following.
 (b)
These constraint cliques, which are the basic entities of the graphtheoretical problem, are used to obtain a tree structure that serves as the basis for computing the complexitydetermining cliquewidth parameter. This computation is performed such that, with a reasonable computational complexity, a complexity parameter k close to the actual cliquewidth—which is the lowest possible k—is achieved. The corresponding theory and algorithm are introduced in Sections 4 and 5.
 (c)
Utilizing the previously computed tree structure, dynamic programming methods are used to obtain a solution. The solutions correspond to selected vertices of the vertex sets that specify the mutual exclusivity of the constraint cliques. Consequently, a solution to the combinatorial problem is found, and a mapping between the measurements and the agents is obtained. Two different dynamic programming algorithms are presented in Sections 6 and 7, of which the latter uses a backtracking procedure.
 (a)
 2.
The localization of the agents: Based on the mapping between the measurements and the agents, classical localization algorithms can be used for positioning. See, e.g., the last paragraph of Section 1 for an overview of possible solution methods.
1.4 Organization
Based on the steps outlined in Fig. 1, the remainder of this work is structured as follows. In Section 2, the system model and problem formulation are presented. Section 3 introduces the constraints that govern the class of input problems and their graphtheoretical description (Fig. 1, II.a first step). This special graph structure will be exploited in the proposed algorithm to efficiently solve the TARP. Finally, this section presents an overview of the ILPbased problem formulation. Section 4 summarizes the theoretical foundations of the proposed algorithms and introduces the concepts of, e.g., fixedparameter tractability and expression trees, which are needed for the subsequent discussion of the algorithm design. The proposed algorithms consist of two steps, which are described in Section 5 (Fig. 1, II.a second step) and Section 6 (Fig. 1, II.a third step). Section 5 shows how the graphtheoretical problem can be described using a special variant of the cliquewidth kexpression tree. In Section 6, this expression tree is used in a dynamic programming algorithm to resolve the transmit ambiguities. An improved backtracking version of this dynamic programming algorithm is described in Section 7 (Fig. 1, II.a third step). A numerical evaluation of the presented methods is presented in Section 8, and Section 9 gives a summary and an outlook regarding future work. To illustrate how the presented algorithms operate, Appendix 1 provides corresponding examples.
2 Problem introduction and system model
 1.
The agents, equipped with ultrasonic transducers, are introduced into the environment.
 2.
The agents record measurements of physical properties such as pressure and temperature. In addition, the agents perform roundtrip time (RTT) measurements to facilitate distance estimates to neighboring agents. Because of the strict energy limitations, there is no forwarding or transmission of any data aside from the RTT measurements.
 3.
The agents are recovered from the environment, and their RTT measurements are jointly processed by the transmitambiguity solver to overcome the ambiguities in the distance measurements.
 4.
Classical localization algorithms are used to estimate the positions of the agents for each time instance when an RTT measurement was made.
where all \(n_{i,j} \sim \mathcal {N}\left (0,\sigma _{i,j}^{2}\right)\) are independently and identically distributed (iid) Gaussian variables with variance \(\sigma _{i,j}^{2}\). Moreover, it is assumed that bidirectional measurements are made. Note that bidirectional communication is also a requirement for RTT measurements. Hence, it is assumed that if sensor i measured a distance to sensor j, then sensor j also measured a similar distance with respect to sensor i. An illustration of the notation is given in Fig. 2. The set of RVs referring to the range measurements received by sensor mote i, which uses ID \(I_{\mathcal {L}}\), from nodes sending with ID \(I_{\mathcal {K}}\) is denoted by \(\mathcal {D}_{i} = \{ d_{j\rightarrow i} \vert j\in \mathcal {K} \}\). The set of distances that sensor i has measured with respect to sensors using \(\mathcal {I}_{K}\) is denoted by \(\mathcal {M}_{i} = \left \{m_{i}^{1},\,m_{i}^{2},\ldots \right \}\), where \({m}_{i}^{l}\) denotes the corresponding lth range measurement of sensor i^{5}. As full connectivity is not necessarily given, the following holds: \(\vert \mathcal {M}_{i} \vert \leq \vert \mathcal {D}_{i}\vert \). Consequently, \(\mathcal {M}_{i}\) is an unordered or permuted subset of the random variates, i.e., realizations, of the RVs \(\mathcal {D}_{i}\).
The following definition of the derived problem is used.
Definition 1
[transmitambiguity resolution problem (TARP)] The TARP is the problem of overcoming the inability to differentiate among agents that use the same transmit code during communication. In the context of RTT ranging, e.g., for the sake of agent localization, the TARP is the problem of finding the correct mapping between the distance or RTT measurements \(m_{i}^{l}\) and the RVs d_{j→i} and, thus, the agents. Thereby, a decision is made regarding the source of a ranging pulse and its resulting distance or RTT measurement.
Example 1
An example of the consequences of the reuse of DSCDMA codes with respect to localization is illustrated in Fig. 3a. This figure shows two sensor motes, “5” and “6,” that are both using ID \(I_{\mathcal {L}}\). A third sensor mote (“7”) is using ID \(I_{\mathcal {K}}\). Because the sensor motes can differentiate only between different DSCDMA codes and not between different sensor motes that are using the same code, sensor mote “7” measures two distances that cannot be related to sensor motes “5” and “6.” More precisely, sensor mote “7” measures \(\mathcal {M}_{7} = \left \lbrace m^{1}_{7} m^{2}_{7} \right \rbrace \) (realizations of the RVs contained in \(\mathcal {D}_{7} = \{ d_{5\rightarrow 7}d_{6\rightarrow 7} \}\)), and before offline localization can be performed, the mapping between these measurements and sensors “5” and “6” needs to be estimated.
Consequently, classical localization methods, which do not consider application scenarios with transmit ambiguities—such as [3, 6, 7], which use semidefinite programming, or [11], which uses a linearized leastsquares approach—cannot be used without first applying algorithms to resolve the TARP such as those presented in this work.
3 Graph representation and graph problem formulation
In this section, a graphtheoretical formulation of the problem resulting from DSCDMA code reuse is given. Moreover, a detailed analysis of the problem’s properties, which will be exploited in Section 4, is presented.
The following description utilizes the particular properties of a type of graph whose instances are henceforth called ambiguity graphs. Such a graph is denoted by \(\mathcal {G} = (\mathcal {V},\mathcal {E},\mathcal {W})\), and its components, i.e., the vertex set, edge set and weight function, are defined in the following.
Every vertex of the ambiguity graph is uniquely identified by the notation v_{i,j}(l,r), where i and j refer to agents i and j and l and r refer to their respective lth and rth measurements. Therefore, the vertex v_{i,j}(l,r) refers to the RVs (d_{j→i},d_{i→j}) and their potential realization given by the measurements \(\left (m_{i}^{l},m_{j}^{r} \right)\). In the following, this relation is denoted by \(v_{i,j}(l,r) \overset {\text {ref.}}{\sim } \left (m_{i}^{l},m_{j}^{r} \right)\). Moreover, this vertex has a weight, which corresponds to the likelihood that the measurements \(m_{i}^{l}\) and \(m_{j}^{r}\) were both measured between agents i and j. This section describes how this weight is calculated and presents the definition of the edges of this graph.
Example 2
A simple example of an ambiguity graph for a network is shown in Fig. 3a. For simplicity, a linear index v_{ k } is used to denote the vertices of the ambiguity graph. The relationship between this linear notation and the v_{i,j}(l,r) notation is as follows: v_{1}=v_{5,7}(1,1), which relates to \(\left (m_{5}^{1}, m_{7}^{1} \right)\); v_{2}=v_{5,7}(1,2), which relates to \(\left (m_{5}^{1}, m_{7}^{2} \right)\); v_{3}=v_{6,7}(1,1), which relates to \(\left (m_{7}^{1}, m_{6}^{1} \right)\); and v_{4}=v_{6,7}(1,2), which relates to \(\left (m_{6}^{1}, m_{7}^{2} \right)\). With this shorthand notation, the edge and vertex sets for this example are given as follows: \(\mathcal {E}_{1,a}(5,1) = \{(v_{1},v_{2})\}\), \(\mathcal {E}_{1,a}(6,1) = \{(v_{3},v_{4})\}\), \(\mathcal {E}_{1,b}(7,1) = \{(v_{1},v_{3})\}\), \(\mathcal {E}_{1,b}(7,2) = \{(v_{2},v_{4})\}\), \(\mathcal {E}_{2}(5,7) = \{(v_{1},v_{2})\}\), \(\mathcal {E}_{2}(6,7) = \{(v_{3},v_{4})\}\), \(\mathcal {V}_{1,a}(5,1) = \{v_{1},v_{2}\}\), \(\mathcal {V}_{1,a}(6,1) = \{v_{2},v_{4}\}\), \(\mathcal {V}_{1,b}(7,1) = \{v_{1},v_{3}\}\), \(\mathcal {V}_{1,b}(7,2) = \{v_{2},v_{4}\}\), \(\mathcal {V}_{2}(5,7) = \{v_{1},v_{2}\}\), and \(\mathcal {V}_{2}(6,7) = \{v_{3},v_{4}\}\).
 1.In the following problem descriptions, edges are used to denote complementary constraints, and any distance measurement \(m_{i}^{l}\) can be assigned to only one RV d_{∙→i}; therefore, edges are introduced as follows:
 Between \(v_{i,j}(l,r)\overset {\text {ref.}}{\sim } \left (m_{i}^{l},m_{j}^{r} \right)\) and any other vertex \(v_{i,j^{\prime }}(l,r^{\prime }) \overset {\text {ref.}}{\sim } \left (m_{i}^{l},m_{j^{\prime }}^{r^{\prime }} \right)\) that relates to \(m_{i}^{l}\). The set of all edges created based on this condition is denoted by \(\mathcal {E}_{1,a}(i,l)\).$$ {\selectfont{\begin{aligned} \mathcal{E}_{1,a}(i,l) = \left\{(v_{x},v_{y}) \in \mathcal{V} \times \mathcal{V} \big\vert~ v_{x} \overset{\text{ref.}}{\sim} \left(m_{i}^{l}, m_{j}^{r} \right) \wedge v_{y} \overset{\text{ref.}}{\sim} \left(m_{i}^{l}, m_{j^{\prime}}^{r^{\prime}} \right)\right\} \end{aligned}}} $$(2)
 Between \(v_{i,j}(l,r)\overset {\text {ref.}}{\sim } \left (m_{i}^{l},m_{j}^{r} \right)\) and any other vertex \(v_{i^{\prime },j}(l^{\prime },r) \overset {\text {ref.}}{\sim } \left (m_{i^{\prime }}^{l^{\prime }},m_{j}^{r} \right)\) that relates to \(m_{j}^{r}\). The set of all edges created based on this condition is denoted by \(\mathcal {E}_{1,b}(j,r)\).$$ {\selectfont{\begin{aligned} \mathcal{E}_{1,b}(j,r) = \left\{(v_{x},v_{y}) \in \mathcal{V} \times \mathcal{V} ~\big\vert~ v_{x} \overset{\text{ref.}}{\sim} \left(m_{i}^{l}, m_{j}^{r} \right) \wedge v_{y} \overset{\text{ref.}}{\sim} \left(m_{i^{\prime}}^{l^{\prime}}, m_{j}^{r} \right) \right\} \end{aligned}}} $$(3)

 2.Similarly, a pair (tuple) of RVs (d_{j→i},d_{i→j}) can only be matched to at most one tuple of measurements, i.e., one vertex of the ambiguity graph. Therefore, edges are introduced between any vertex v_{i,j}(l,r) and v_{i,j}(l^{′},r^{′}), i.e., any other vertex that corresponds to the same bidirectional link between sensors i and j. The set of all edges created based on this condition is denoted by \(\mathcal {E}_{2}(i,j)\).$$ {\selectfont{\begin{aligned} \mathcal{E}_{2}(i,j) = \left\{ (v_{x},v_{y}) \in \mathcal{V} \times \mathcal{V} ~\big\vert~ v_{x} \overset{\text{ref.}}{\sim} \left(m_{i}^{l}, m_{j}^{r} \right) \wedge v_{y} \overset{\text{ref.}}{\sim} \left(m_{i}^{l^{\prime}}, m_{j}^{r^{\prime}} \right) \right\} \end{aligned}}} $$(4)
Note that the index of each edge set, such as _{1,a} or _{2}, refers to the corresponding (sub)item and its constraints as given in the listing above.
where \(f_{d_{j\rightarrow i},d_{i\rightarrow j}} (x,y)\) denotes the joint probability density function (PDF) of the RVs d_{j→i} and d_{i→j} and, hence, of the noisy distance measurements. A derivation of the PDF used in the numerical evaluation of this work is given in Appendix 2.

Every vertex v_{i,j}(l,r) is uniquely identified by a pair of measurements \(\left (m_{i}^{l}, m_{j}^{r} \right)\). This vertex describes a possible solution candidate for the measurement assignment problem. More precisely, it reflects the probability that \(m_{i}^{l}\) and \(m_{j}^{r}\) are the realizations of d_{i→j} and d_{j→i}, respectively. In the subsequently described optimization problem, the goal will therefore be to select a subset of these solution candidates.

The likelihood that the mapping denoted by v_{i,j}(l,r) is correct is given by the corresponding weight \(\mathcal {W}(v_{i,j}(l,r))\).

The edges (cf. Eq. (5)) govern the criteria under which a solution candidate v_{i,j}(l,r) may be selected. Note that the vertices that are subject to particular constraints, such as \(\mathcal {E}_{1,a}(i,l), \mathcal {E}_{1,b}(j,r)\), or \(\mathcal {E}_{2}(i,j)\), are the vertices that are the endpoints of the edges in these sets. The corresponding sets of vertices and their subgraphs are denoted by \(\mathcal {V}_{1,a}(i,l)\), \(\mathcal {V}_{1,b}(j,r)\), and \(\mathcal {V}_{2}(i,j)\) and by \(\mathcal {G}_{1,a}(\cdot,\cdot)~=~\left (\mathcal {V}_{1,a}(\cdot,\cdot), \mathcal {E}_{1,a}(\cdot,\cdot) \right)\), \(\mathcal {G}_{1,b}(\cdot,\cdot)~=~\left (\mathcal {V}_{1,b}(\cdot,\cdot),\mathcal {E}_{1,b}(\cdot,\cdot) \right)\), and \(\mathcal {G}_{2}(\cdot,\cdot)~=~\left (\mathcal {V}_{2}(\cdot,\cdot), \mathcal {E}_{2}(\cdot,\cdot) \right)\).

Every vertex \(v_{i,j}(l,r) \overset {\text {ref.}}{\sim } \left (m_{i}^{l}, m_{j}^{r} \right)\) is part of the three subgraphs \(\mathcal {G}_{1,a}(i,l)\), \(\mathcal {G}_{1,b}(j,r)\), and \(\mathcal {G}_{2}(i,j)\). This is because by the definition of item 1(a) in the listing above, v_{i,j}(l,r) is adjacent to any other vertex that relates to the measurement \(m_{i}^{l}\), and by the definition of item 1(b), v_{i,j}(l,r) is also adjacent to any other vertex that relates to the measurement \(m_{j}^{r}\). Moreover, v_{i,j}(l,r) is a solution candidate for the measurements between agents i and j and hence is also an endpoint of the edges in \(\mathcal {E}_{2}(i,j)\) and is therefore adjacent to the vertices in \(\mathcal {V}_{2}(i,j)\).
For brevity and simplicity, in the following, we may refer to the vertices v_{i,j}(l,r) as v_{ k }, \(k\in \{1,\ldots,\vert \mathcal {V}\vert \}\), if the additional information provided by the indices i, j, l, and r of v_{i,j}(l,r) is not relevant.
where x_{ k } is either one or zero and indicates whether vertex k of the ambiguity graph is in the solution set or not, respectively. This means that any measurements \( \left (m_{i}^{l}, m_{j}^{r} \right)\) that are in the solution set, i.e., whose corresponding vertices v_{i,j}(l,r) are in the independent set, are chosen as the realizations of the RVs (d_{j→i},d_{i→j}). Furthermore, w_{ k } denotes the weight of vertex \(v_{k} \in \mathcal {V}\), i.e., \(w_{k}~=~\mathcal {W}(v_{k})\). Constraint (8e) ensures the independence of the set by allowing at most one of two adjacent vertices to be included in the solution set. Constraints (8b) to (8d) refer to the conditions described in items 1(a), 1(b), and 2 of the listing above and constitute additional constraints compared with the classical independent set problem; they are called size constraints because they enforce independent sets of a particular size.
Note that because of the choice of the vertex weights (cf. Eq. (7)), the solution to Problem (8) corresponds to the feasible solution with the highest probability in the MAP sense (cf. Eq. (6)). In addition, note that Problem (8) is \(\mathcal {NP}\)hard in general [17, 18].
4 Exploiting the graph structure
Because of the \(\mathcal {NP}\)hardness of Problem (8), new algorithms are needed that can solve the TARP optimally but more efficiently than regular ILP solvers. Less computationally complex algorithms are particularly necessary to accommodate the large number of agents needed for the considered application case. The idea that serves as the basis for the following sections is to employ dynamic programming to obtain a highly tailored algorithm to facilitate efficient solution generation. This is enabled by exploiting the special graph structure described in Section 3. The underlying principle of this exploitation is the fixedparameter tractability (FPT) of the problem.
In this regard, Section 4.1 introduces the concept of FPT and a theorem that renders it applicable to the TARP and thereby forms the basis of our chosen dynamic programming approach. Section 4.2 presents an overview of the fundamental graphtheoretical concepts, including graph decomposition, that enable the application of the FPT theorem to the TARP. Based on these concepts, Section 5 introduces a novel variant of this decomposition that is tailored to ambiguity graphs.
4.1 Fixedparameter tractability
The concept of FPT is generally used to analyze problems and, in particular, to find which parameters significantly influence the computational complexity. This analysis can then be used to design efficient algorithms for solving \(\mathcal {NP}\)hard problems such as the TARP.
The idea of FPT is to describe the complexity of an \(\mathcal {NP}\)hard problem as a combination of two aspects: the first depending only on the input, such as the number of vertices of a graph, and the second being given by some fixed parameter of the problem. Generally, a problem is said to be fixedparameter tractable if some algorithm capable of solving this problem has a complexity of \( \mathcal {O}(\text {poly}(\vert x\vert) f(k)) \), where x denotes the size of the input, poly(·) denotes some polynomial function, and f(k) is some arbitrary function of the fixed parameter k [19].
The algorithm proposed in this work is based on a theorem presented by [20], which states that finding the independence number, i.e., the size of the largest independent set, is a fixedparameter tractable problem in which the complexity parameter k refers to a graph property or parameter known as the cliquewidth. The cliquewidth is introduced in detail in Section 4.2 below. Regarding the applicability of this theorem to the TARP, note that in Problem (8), the goal is to find an independent set with a particular independence number that is given by the number of distinct sets of types \(\mathcal {E}_{1,a}(\cdot {},\cdot {})\) and \(\mathcal {E}_{1,b}(\cdot {},\cdot {})\)^{6}. Because the decision variant of finding the independence number can be interpreted as answering the question “is there an independent set with a size of at least n?”, the following theorem is applicable to Eq. (8).
Theorem 1
[The problem of finding the independence number is fixedparameter tractable [20]] The problem of determining the independence number of a graph \(\mathcal {G} = (\mathcal {V},\mathcal {E})\) with a cliquewidth of at most k has a complexity of \( \mathcal {O}(\vert \mathcal {V} \vert f(k)) \) if \(\mathcal {G}\) is given by a cliquewidth kexpression.
Consequently, Theorem 1 states that the cliquewidth k of graph \(\mathcal {G}\) is an important parameter when the desire is to find the independence number of \(\mathcal {G}\). This is highlighted by the fact that for the problem of finding the independence number, [21] specifies the particular function f(k)=2^{ k } to concretize the complexity in the FPT theorem above [22]. Consequently, the objective in the following is to find a cliquewidth kexpression for instances of the ambiguity graph with the minimum possible cliquewidth k. However, computing the cliquewidth k of a graph is an \(\mathcal {NP}\)hard problem in general [23]. Therefore, suboptimal methods for finding some approximation k^{′}≥k of the cliquewidth are presented in this work.
To this end, Section 4.2 reviews the concept of the cliquewidth and shows how graphs can be described by certain operations that yield expressions that can then be modeled using a tree. In this way, a graph is said to be decomposed, e.g., into a tree structure.
Remark 1
The motivation for using treestructure decompositions of graphs, such as treedecompositions or cliquewidth kexpression trees, stems mainly from the fact that the independent set problem, for example, can be efficiently solved by applying dynamic programming on such a representation (tree structure) [20,24]. Our particular interest in decomposing graphs into cliquewidth kexpression trees is mainly driven by the FPT theorem introduced above and by the fact that the cliquewidth is upper bounded by the treewidth [25]. Furthermore, note that in our case, in which the decomposition of ambiguity graph instances is desired, the edge set \(\mathcal {E}\) is given by a union of cliques^{7} (cf. Eq. (5)), which turns out to simplify the formulation of an expression for the cliquewidth.
4.2 Graph theory definitions and notations: cliquewidth
Recall that, motivated by Theorem 1, the goal is to find cliquewidth kexpressions that correspond to ambiguity graph instances to enable efficient algorithms for solving the TARP. To this end, this section reviews the definitions of the cliquewidth and cliquewidth kexpression trees; this discussion is mainly based on [20,21].
The cliquewidth is calculated based on recursive operations on vertexlabeled graphs [20]. These operations construct a new cliquewidth kexpression tree. In the following, \(\mathcal {G} = (\mathcal {V}_{\mathcal {G}},\mathcal {E}_{\mathcal {G}},{lab}_{\mathcal {G}})\) denotes a klabeled graph where each vertex label is given by the mapping \({lab}_{\mathcal {G}}: \mathcal {V}_{\mathcal {G}}\rightarrow [\!k]\), with [ k] being the set of natural numbers [ k]:={1,…,k} [21].
Definition 2
 Disjoint union of vertexlabeled graphs: Let \(\mathcal {G} = (\mathcal {V}_{\mathcal {G}},\mathcal {E}_{\mathcal {G}},{lab}_{\mathcal {G}})\in {CW}_{k}\) and \(\mathcal {J} = (\mathcal {V}_{\mathcal {J}},\mathcal {E}_{\mathcal {J}},{lab}_{\mathcal {J}})\in {CW}_{k}\) be two vertexdisjoint labeled graphs; then, \(\mathcal {G} \oplus \mathcal {J} := (\mathcal {V}^{\prime },\mathcal {E}^{\prime },lab^{\prime })\) is also in CW_{ k }, with \(\mathcal {V}^{\prime } := \mathcal {V}_{\mathcal {G}} \cup \mathcal {V}_{\mathcal {J}}\), \(\mathcal {E}^{\prime } := \mathcal {E}_{\mathcal {G}} \cup \mathcal {E}_{\mathcal {J}}\), and$$\begin{array}{*{20}l} {lab}^{\prime}(u) := \left\{\begin{array}{ll} {lab}_{\mathcal{G}}(u) & \text{if}\ u \in \mathcal{V}_{\mathcal{G}} \\ {lab}_{\mathcal{J}}(u) & \text{if}\ u \in \mathcal{V}_{\mathcal{J}} \end{array}\right. \end{array} $$
 Edge introductions \({\eta _{i,j}}: {\eta _{i,j}\left (\mathcal {G} \right)} := (\mathcal {V}_{\mathcal {G}},\mathcal {E^{\prime }}_{\mathcal {G}},{lab}_{\mathcal {G}})\), where$$\begin{aligned} \mathcal{E}_{\mathcal{G}}^{\prime} :=& \mathcal{E}_{\mathcal{G}} \!\cup\! \big\lbrace\big\lbrace {u,v}\big\rbrace \big u,v \in \mathcal{V}_{\mathcal{G}}, u \!\neq\! v,\\ {lab}_{\mathcal{G}}(u)\!= &i, {lab}_{\mathcal{G}}(v)\,=\,j \big\rbrace \end{aligned} $$
 Vertex relabeling \({\rho _{i \rightarrow j}}: {\rho _{i \rightarrow j}\big (\mathcal {G} \big)} := (\mathcal {V}_{\mathcal {G}}, \mathcal {E}_{\mathcal {G}}, {lab^{\prime }}_{\mathcal {G}})\), where$$\begin{array}{*{20}l} {lab^{\prime}}_{\mathcal{G}}(u) := \left\{\begin{array}{ll} {lab}_{\mathcal{G}}(u) & \text{if}\ {lab}_{\mathcal{G}}\ (u) \neq i\\[2pt] j & \text{if}\ {lab}_{\mathcal{G}}\ (u) =i \end{array}\right.,\forall u {\in} \mathcal{V}_{\mathcal{G}} \end{array} $$
The resulting expression is called a cliquewidth kexpression or a CW_{ k }expression.
Using Definition 2, a CW_{ k }tree can also be defined, where the root of the tree corresponds to the original unlabeled ambiguity graph \(\mathcal {G}\). Consequently, at the root r of the expression tree, which corresponds to the complete expression, all vertices must have the same label such that the root of the tree is equal to the unlabeled graph \(\mathcal {G}\).
CW_{2}expressions and their corresponding 2labeled graphs [20]
Graph  CW_{2}expression  

\(\mathcal {G}_{1}\)  ①  ∙_{1} 
\(\mathcal {G}_{2}\)  ②  ∙_{2} 
\(\mathcal {G}_{3}\)  ① ②  \(\mathcal {G}_{1} \oplus \mathcal {G}_{2}\) 
\(\mathcal {G}_{4}\)  \(\eta _{1,2}\ (\mathcal {G}_{3}) \)  
\(\mathcal {G}_{5}\)  \( \rho _{2\rightarrow 1}~(\mathcal {G}_{4}) \)  
\(\mathcal {G}_{6}\)  \( \eta _{1,2}\ ({\mathcal {G}_{5} {\oplus } \mathcal {G}_{3}}) \) 
Example 3
Figure 4 shows the CW_{2}tree for the labeled graph \(\mathcal {G}_{6}\) given in Table 1. The vertices of the tree are annotated with the induced subgraphs of the tree nodes^{8}. Note that in this example, the original graph, \(\mathcal {G}_{6}\), was already labeled, and hence, the root of the CW_{ k }tree is identical to the original graph, with the same labels.
Generally, the decompositions into CW_{ k }expressions and CW_{ k }trees are not unique, i.e., multiple possible CW_{ k }trees exist for a given graph. The main benefit of representing a graph according to Definition 2 is that the CW_{ k }expression is directly related to the complexity of the MWISPSC, which is of \(\mathcal {O}(\vert \mathcal {V}\vert 2^{k})\).
Moreover, the attempt to solve such a problem using the CW_{ k }tree \(\mathcal {T}\) is motivated by the property that the vertex set of subgraph \(\mathcal {G}_{s}\), which corresponds to tree node s, is partitioned into \(k~\leq ~\mathcal {V}_{s}\) sets, as given by the k labels [20]. The reason for this is that during the decomposition of a graph into a CW_{ k }expression tree, the labeling will be performed such that, in the dynamic programming phase, it is sufficient to differentiate between groups of vertices that have different labels.
Example 4
Considering the independent set problem as an example, the independence criterion does not need to be checked for every vertex because all vertices that have the same properties in this regard will have the same label. This is ensured by the design of the labeling function, which is described in the following section. Consequently, for a group of vertices with the same label, a check for independence requires only a single check rather than one check for each vertex in that group.
5 The kambiguity tree
To enable the exploitation of the property mentioned in the FPT theorem, i.e., that the cliquewidth of the input graph is a critical parameter in determining the complexity of the TARP, an algorithm for obtaining the tree description—often called a graph decomposition in the literature, as it disassembles parts of the graph into a tree structure—and related operations are presented in this section. To this end, Section 5.1 introduces a shorthand, tailored version of the operations used in the CW_{ k }expressions. The main difference compared with the CW_{ k } operations is from a special design criterion that is subsequently introduced, which leads to the introduction of additional predefined edges. The tree corresponding to this tailored description is called the kambiguity tree in the following. Contrary to the notation of the CW_{ k }tree, the leaves of the kambiguity tree are chosen to be the subgraphs that correspond to the edge constraint sets \(\mathcal {E}_{1,a}(\cdot,\cdot)\), \(\mathcal {E}_{1,b}(\cdot,\cdot)\), and \(\mathcal {E}_{2}(\cdot,\cdot)\), cf. Eqs. (5a), (5b), and (5c). These subgraphs are denoted by \(\mathcal {G}_{1,a}(\cdot,\cdot) = \left (\mathcal {V}_{1,a}(\cdot,\cdot), \mathcal {E}_{1,a}(\cdot,\cdot) \right)\), \(\mathcal {G}_{1,b}(\cdot,\cdot) = \left (\mathcal {V}_{1,b}(\cdot,\cdot),\mathcal {E}_{1,b}(\cdot,\cdot) \right)\), and \(\mathcal {G}_{2}(\cdot,\cdot) = \left (\mathcal {V}_{2}(\cdot,\cdot), \mathcal {E}_{2}(\cdot,\cdot) \right)\), respectively. Note that according to the definition of the edge constraint sets, they are complete induced^{9} subgraphs, i.e., cliques^{10}.
Recall, from the definition of CW_{ k }expressions, that any expression with the operators ⊕, η_{i,j}, or ρ_{i →j}, e.g., in the form of \(\mathcal {X}_{1} \oplus \mathcal {X}_{2}\), in the CW_{ k }tree corresponds to the merging of two trees \(\mathcal {T}_{\mathcal {X}_{1}}\) and \(\mathcal {T}_{\mathcal {X}_{2}}\) that, in turn, correspond to the expressions \(\mathcal {X}_{1}\) and \(\mathcal {X}_{2}\), respectively. Consequently, we use \(\mu ({\mathcal {T}_{1}},{\mathcal {T}_{2}})\) to denote a joint operator that applies a sequence of ⊕, η_{i,j}, or ρ_{i → j} operations to serve as a merging operator. This joint operator is motivated by the canonical form of the cliquewidth expression [26], in which after each disjoint union ⊕, first, several edge introductions η_{i,j} and then several relabeling operations ρ_{i→j} must occur [20].
5.1 The merging operator
 1.
Union of the children’s vertex sets: \(\mathcal {V}_{s}\ =\ \mathcal {V}_{c_{1}(s)} \cup \mathcal {V}_{c_{2}(s)}\).
 2.
Union of the children’s edge sets and a further edge set \(\mathcal {E}_{c_{1}(s),c_{2}(s)}\): \(\mathcal {E}_{s}\ =\ \mathcal {E}_{c_{1}(s)} \cup \mathcal {E}_{c_{2}(s)} \cup \mathcal {E}_{c_{1}(s),c_{2}(s)}\). The additional edge set \(\mathcal {E}_{c_{1}(s),c_{2}(s)}\) is chosen such that \(\mathcal {G}_{s}\) is an induced subgraph, which—as mentioned above—is the desired criterion for the merging operator. Note that \(\mathcal {G}_{c_{1}(s)}\) and \(\mathcal {G}_{c_{2}(s)}\) are both also induced subgraphs, as they are also the results of merging or are cliques corresponding to leaves of the tree. Therefore, the set \(\mathcal {E}_{c_{1}(s),c_{2}(s)}\) contains only edges of the form \((v_{i},v_{j}), v_{i} \in \mathcal {V}_{c_{1}(s)}, v_{j} \in \mathcal {V}_{c_{2}(s)}\).
 3.
Vertex relabeling resulting in the fewest possible labels, \(\min _{{lab}_{s}} \vert \big \lbrace {lab}_{s}(v)  v \in \mathcal {V}_{s} \big \rbrace \vert \).
The labeling function required to perform steps 2 and 3 is defined in the following. Recall from Section 3 that every vertex v_{i,j}(l,r) is an element of exactly three cliques, namely, \(\mathcal {G}_{1,a}(i,l)\), \(\mathcal {G}_{1,b}(j,r)\), and \(\mathcal {G}_{2}(i,j)\). Because of this property, all vertices that are adjacent to v_{i,j}(l,r) are in the sets \(\mathcal {V}_{1,a}(i,l)\), \(\mathcal {V}_{1,b}(j,r)\), and \(\mathcal {V}_{2}(i,j)\).
Because the kambiguity tree corresponding to the ambiguity graph needs to reflect an increasing number of the properties of the original graph as the considered tree node becomes closer to the root of the tree, and in particular because the root of the tree represents the original graph, a tool is needed for describing which properties of a vertex of the original graph are not currently considered at a given tree node. To this end, a function R_{ s }(v_{i,j}(l,r)) is defined that describes the properties of a vertex v_{i,j}(l,r) with respect to its originally adjacent vertices. More precisely, R_{ s }(v_{i,j}(l,r)) indicates the membership of the three cliques corresponding to v_{i,j}(l,r) with respect to the subgraph \(\mathcal {G}_{s}\) at tree node s and is defined as follows:
Considering the labeling of the vertices, every occurring threetuple value of R_{ s } is chosen to correspond to a distinct label in the subgraph of tree node s. Thus, the tuple elements of two vertices, \(R_{c_{1}(s)}(v_{1})\) and \(R_{c_{2}(s)}(v_{2})\), are sufficient to determine whether an edge must be inserted between v_{1} and v_{2} by the operator μ (or η_{i,j}): iff the values and positions of at least one tuple entry in each of \(R_{c_{1}(s)}(v_{1})\) and \(R_{c_{2}(s)}(v_{2})\) are equal and nonzero, then an edge is inserted between v_{1} and v_{2}. This is because these vertices are part of the same clique in the ambiguity graph, cf. Section 3. Recall that a tuple entry of zero indicates that all edges for the corresponding clique have already been inserted.
Moreover, the function R_{ s } determines the relabeling according to the operator μ (or ρ_{i→j}). Iff R_{ s }(v_{1})=R_{ s }(v_{2}), i.e., if the complete tuples are equal, then v_{1} and v_{2} are assigned the same label at s, as illustrated in the following example.
Example 5
We consider two vertices v_{1} and v_{2} at tree node s and assume that R_{ s }(v_{1})=((0,0),(1,1), (0,0))=R_{ s }(v_{2}). Then, v_{1} and v_{2} are both lacking edges to all vertices in clique \(\mathcal {V}_{1,b}(1,1)\) that are not in \(\mathcal {V}_{s}\), i.e., to all \(v\in \mathcal {V}_{1,b}(1,1)\backslash \mathcal {V}_{s}\). Consider the merging of tree node s with another tree node s^{′} by operator μ: if an edge is inserted between v_{1} and \(v_{3} \in \mathcal {V}_{s^{\prime }}\), then an edge must also be inserted between v_{2} and v_{3} because v_{1} and v_{2} have the same properties with respect to their current clique memberships. Therefore, no distinction is needed between vertices v_{1} and v_{2} with respect to the edge insertion operation, and consequently, the same label is assigned to both vertices. This label is uniquely determined by R_{ s }(v_{1}) = R_{ s }(v_{2}).
Note that no two vertices are part of the same three cliques (cf. Section 3), and hence, two vertices can have the same label only if at least one tuple entry of R_{ s } is zero for both vertices. At the root r of the ambiguity tree, which corresponds to the entire ambiguity graph \(\mathcal {G}\), all edges are already inserted and \(R_{r}(v_{i}) = ((0,0),\ (0,0),\ (0,0)) \forall v_{i}\in \mathcal {V}\); therefore, only a single label is needed.
5.2 Building the kambiguity tree
Using the methods and, in particular, the merging operator defined previously, this section introduces an algorithm that is able to generate kambiguity trees based solely on the subgraphs \(\mathcal {G}_{1,a}(\cdot,\cdot)\), \(\mathcal {G}_{1,b}(\cdot,\cdot)\), and \(\mathcal {G}_{2}(\cdot,\cdot)\).
Because finding the cliquewidth decomposition of a graph \(\mathcal {G}\) is an \(\mathcal {NP}\)hard problem in general, the decomposition of an ambiguity graph into a kambiguity tree can also be efficiently done only in a suboptimal way. Consequently, only decompositions that require a number of labels greater than the cliquewidth are of computational interest. However, note that for such a decomposition, there is no need to build the actual ambiguity graph because the equivalent information is also provided by all subgraphs of types \(\mathcal {G}_{1,a}(\cdot,\cdot)\), \(\mathcal {G}_{1,b}(\cdot,\cdot)\), and \(\mathcal {G}_{2}(\cdot,\cdot)\). A subset of these basic entities is therefore chosen as the leaves of the kambiguity tree. Note that choosing these cliques as the leaves results in an entry of zero in R_{ s }(v) for each vertex \(v\in \mathcal {V}_{s}\). The purpose of this heuristic is to reduce the number of distinct threetuples at tree nodes closer to the root of the tree and thereby reduce the number of labels.
To simplify the notation in the following steps, \(\mathcal {C}\) is used to denote the set that contains all cliques of types \(\mathcal {G}_{1,a}(\cdot,\cdot)\), \(\mathcal {G}_{1,b}(\cdot,\cdot)\), and \(\mathcal {G}_{2}(\cdot,\cdot)\). Similarly, all labeled cliques are denoted by \(\mathcal {C}_{lab}\).
Example 6
\(\mathcal {G}_{1,a}(i,l)~=~\left (\mathcal {V}_{1,a}(i,l), \mathcal {E}_{1,a}(i,l) \right) \in \mathcal {C}\) and \(\left (\mathcal {V}_{1,a}(i,l), \mathcal {E}_{1,a}(i,l), {lab}_{1,a}(i,l) \right) \in \mathcal {C}_{lab}\).
Note that when two subgraphs \(\mathcal {G}_{i}\) and \(\mathcal {G}_{j}\) are merged that are not in each other’s neighborhoods, the merging outcome \(\mu (\mathcal {G}_{i},\mathcal {G}_{j})\) requires lab_{ i }+lab_{ j } labels. In the opposite case, fewer labels may be required.

It is the labeled induced subgraph with vertices \(\mathcal {V}_{\Re } = \mathcal {V}_{\mathcal {G}^{\prime }} \backslash \mathcal {V}_{\text {in}}\), where \(\mathcal {V}_{\text {in}} \subset \mathcal {V}_{\mathcal {G}^{\prime }}\) is the subset of vertices that already occur in subgraphs corresponding to elements of \(\mathcal {T}\).

Because it is an induced subgraph, its edge set is given by the edges in ambiguity graph \(\mathcal {G}\) whose endpoints are both in the vertex set \(\mathcal {V}_{\Re }\) [27].

Moreover, \(\Re (\mathcal {G}^{\prime },\mathcal {T})\) is a complete graph, and hence, its edge set can be easily determined.
6 Solving the TARP on the kambiguity tree
As shown in Fig. 1, the TARP is solved in two steps, of which the first—i.e., the computation of the kambiguity tree—has been presented in the previous section. The second step, in which dynamic programming algorithms are used on the kambiguity tree to solve the TARP, is presented in this section.
In the following, additional notations and concepts are introduced that are needed to describe the dynamic programming algorithm.
Moreover, Open image in new window denotes the set of labels of all vertices in \(\mathcal {V}^{\prime }\subseteq \mathcal {V}_{s}\).
which is a tuple of length 2^{κ(s)}, where each element Open image in new window , with label set Open image in new window , denotes the minimum weight of the MWISPSC such that Open image in new window .
The corresponding most generic optimization problem for computing the data structure F(s) is given in the following. Note that for consistency with the following sections, the elements of F(s) are denoted by Open image in new window . The data structures of the children of tree node s are denoted by Open image in new window and Open image in new window , cf. Fig. 6a. The elements are given by
where Open image in new window denotes the label set at tree node s of the vertices labeled with Open image in new window at c_{ i }(s).
In the following, the notation that infeasible sets have a weight of Open image in new window is adopted. Hence, we regard sets that satisfy Open image in new window as solution candidates. Using formulation Eqs. (14), (15), and (16), F(s) will be computed using dynamic programming in a bottomup fashion, starting from the leaves of the ambiguity tree. The final formulation with additional constraints, which are introduced in the following, is given in Eq. 17 and referenced in Algorithm 2.
6.1 Ensuring the independent set size in the kambiguity tree
Constraints (8b) and (8c), which determine the size of the independent set, are equivalent to the requirement that each clique in \(\mathcal {C}_{1,ab}\) must have exactly one vertex in the solution to the independent set problem. The clique set \(\mathcal {C}_{1,ab}\) is defined as a subset of the clique set \(\mathcal {C}\), which was introduced in Section 5.2: \(\mathcal {C}_{1,ab}\) consists of all cliques (complete subgraphs) that are due to ambiguity graph constraints 1(a) and 1(b), i.e., of the \(\mathcal {G}_{1,a}(\cdot,\cdot)\) and \(\mathcal {G}_{1,b}(\cdot,\cdot)\) types. To enable a feasibility check of the size constraint at each tree node s, let \(\mathcal {C}_{1,ab}(s) \subseteq \mathcal {C}_{1,ab}\) denote those cliques whose vertices are completely included in \(\mathcal {V}_{s}\). Now, set Open image in new window if there is no vertex set \(\mathcal {V}^{\prime }\) with Open image in new window that contains a vertex from every clique in \(\mathcal {C}_{1,ab}(s)\).
Example 7
If, e.g., \(R_{c_{1}(s)}(v) = \big ((\alpha _{1},\alpha _{2}), (\beta _{1},\beta _{2}),\) (γ_{1},γ_{2})) with α_{1},α_{2}>0 (cf. Eq. (9)) and R_{ s }(v)=((0,0),(β_{1},β_{2}),(γ_{1},γ_{2})), then \(\mathcal {G}_{1,a}(\alpha _{1},\alpha _{2})\) is in \(\mathcal {C}_{1,ab}(s)\), and hence, at tree node s, exactly one vertex \(v \in \mathcal {V}_{1,a}(\alpha _{1},\alpha _{2})\) must be selected as part of the independent set solution. Therefore, it is said that \(\mathcal {G}_{1,a}(\alpha _{1},\alpha _{2})\) imposes a size constraint (SC) at tree node s.
Because each nonleaf tree node s in the kambiguity tree is the result of the merging of its two children, i.e., \(\mathcal {G}_{s} = \mu (\mathcal {G}_{c_{1}(s)},\mathcal {G}_{c_{2}(s)})\), the SCs are formulated in terms of the children to enable recursive procedures. This reduces the SC clique set that needs to be checked at parent node s to those cliques that are not included in the constraint clique sets of its children c_{ i }(s): \(\mathcal {C}_{1,ab}^{\prime }(s) = \mathcal {C}_{1,ab}(s)\backslash \{ \mathcal {C}_{1,ab}(c_{1}(s)), \mathcal {C}_{1,ab}(c_{2}(s)) \}\).
The dynamic programming procedure operates on the kambiguity tree and, therefore, on label sets instead of vertex sets. Hence, the SCs in \(\mathcal {C}_{1,ab}^{\prime }(s)\) must be formulated using label sets. Recall that each label corresponds to a threetuple of the form given in Eq. (9) and that the first two elements refer to vertex sets of the \(\mathcal {V}_{1,a}(\cdot,\cdot)\) and \(\mathcal {V}_{1,b}(\cdot,\cdot)\) types. If Open image in new window and Open image in new window correspond to threetuples \(R_{c_{1}(s)}\) and \(R_{c_{2}(s)}\) that have equal and nonzero entries at the same position, then edges are inserted between vertices with labels of ℓ_{1} and ℓ_{2} by the operator μ at tree node s. Therefore, these vertices cannot be part of an independent set and are infeasible. The set of feasible labelset pairs Open image in new window at tree node s is denoted by Open image in new window .
6.2 Dynamicprogrammingbased algorithm for solving the TARP

In the case that s is a leaf, its corresponding subgraph \(\mathcal {G}_{s}\) is an element of clique set \(\mathcal {C}\). If Open image in new window addresses more than one vertex, which is not feasible, as indicated by Open image in new window . The case in which Open image in new window is feasible only for nonSC cliques, i.e., if \(\mathcal {G}_{s}\in \mathcal {C}_{2}\), we set Open image in new window .

In the case that s has two children c_{ i }(s), i=1,2, the tuple elements of F(s) are computed based on F(c_{ i }(s)), i = 1,2, by solving Problem (17). The label set Open image in new window is obtained as the union of the relabeled label sets of the children, cf. constraint (17b). Constraint (17c) ensures that the SC is satisfied (cf. Section 6.1), and constraint (17d) ensures that Open image in new window is an independent set of ambiguity graph \(\mathcal {G}\). Thus, \(\mathcal {E}_{c_{1}(s),c_{2}(s)}^{lab}\) is the labeled variant of \(\mathcal {E}_{c_{1}(s),c_{2}(s)}\), i.e., it contains the edges that are introduced during the merging of the labels of \(\mathcal {V}_{c_{1}(s)}\) and \(\mathcal {V}_{c_{2}(s)}\).
7 Backtrackingbased dynamic programming algorithm for solving the TARP
This section introduces a new dynamic programming algorithm that employs backtracking to reduce the number of labelset combinations tested before the optimal solution is found. In this regard, note that in the general formulation of Problem (17), the complete data structure Open image in new window is computed for every tree node s. However, to solve the TARP and, hence, to compute F(r) for the root r of the tree, only specific elements Open image in new window of F(s) from each tree node s are needed. Runtime reductions can be achieved by performing only ondemand computations of the necessary weight elements of the data structure F(s). To this end, bounds \(\beta _{c_{1}(s)}\) and \(\beta _{c_{2}(s)}\) on the lengths of the data structures of the children of tree node s are introduced. The partial data structure is denoted by \(\phantom {\dot {i}\!}F(s,\beta _{s}) = F(s,\beta _{c_{1}(s)},\beta _{c_{2}(s))}\), where β_{ s } is the bound on the cardinality of F(s,β_{ s }), which is controlled by the parent nodes of s. Initially, every leaf of the kambiguity tree is initialized with a bound of ∞, and all other tree nodes have an initial bound of 1. In general, the bounds will be increased only if additional labelset combinations Open image in new window need to be considered, i.e., if the currently considered combinations—which, by definition, have the lowest possible weight—are infeasible with respect to Problem (17). In general, it is possible to increase the bounds in an arbitrary way. In the following, we let \(\beta _{c_{i}(s)} = f_{\beta }(u_{c_{i}(s)})\) denote the function that determines the new bound, depending on the update counter \(u_{c_{i}(s)}\) of child c_{ i }(s). This update counter is increased by one whenever a new set of labelset combinations is requested by the parent node.
Recall that each entry Open image in new window of Open image in new window is the weight of the local MWISPSC at the corresponding tree node, where the solution set only consists of vertices labeled with Open image in new window . The bounds \(\beta _{c_{i}(s)}\), i = 1,2, specify the maximum cardinality \(\vert F(s,\beta _{c_{i}(s)}) \vert ~\leq ~ \beta _{c_{i}(s)}\) of the label sets that are considered when computing \(F(s,\beta _{c_{1}(s)},\beta _{c_{2}(s)})\) for the parent tree node s.

a_{next} and b_{next} denote the next smallest values in F(c_{1}(s)) and F(c_{2}(s)), respectively, that are not currently members of F(c_{1}(s),β_{c1(s)}) and F(c2(s),β_{c2(s)}), respectively.

a_{min} and b_{min} denote the smallest weights in F(c_{1}(s),β_{c1(s)}) and F(c_{2}(s),β_{c2(s)}), respectively.

d_{next} = min{a_{next} + b_{min},b_{next} + a_{min}} is a lower bound on the weight of the next label combinations that are in F(s) = F(s,∞) but not in F(s,β_{ s }) for the current value of β_{ s }^{13}. Depending on the minimizer of d_{next}, i.e., either a_{next} + b_{min} or b_{next} + a_{min}, the corresponding bound, i.e., either \(\beta _{c_{1}(s)}\) or \(\beta _{c_{2}(s)}\), is increased according to f_{ β } by the corresponding update counter.

Open image in new window denotes the set of label set combinations that are feasible with respect to the size constraints.
See Algorithm 3 for a complete description.
8 Numerical results and discussion
Algorithm overview
Abbreviation  Parameters  Description  

ILP  —  Solves Problem (8) using the branchandboundtype solver BARON.  
Tree  Dec.+Rec  a_{ β }=∞  Nonbacktracking version. Uses Algorithms 1 and 2. 
Dec.+BT  a_{ β }∈(0,∞),f_{ β }(x)=a_{ β }1.25^{x−1}  Backtracking version. Uses Algorithms 1 and 3.  
Dec.+BT ^{*}  —  Genieaided version of the backtracking algorithm, where the optimal bounds on the data structures are known for each tree node. Uses Algorithms 1 and 3. 
The algorithms proposed in this work are denoted by Tree: Dec. + BT and Tree: Dec. + DP to highlight the fact that these methods consist of two parts, namely, tree decomposition (Algorithm 1) and tree recursion using dynamic programming (Algorithms 2 or 3). In the case of the backtracking (BT) algorithm, the exponential bound function \(f_{\beta }^{*}(x)~=~a_{\beta } * 1.25^{x~~1}\) is used.
To enable the analysis of the theoretical performance limits of the backtracking version of the proposed algorithm, a method denoted by Tree: Dec. + BT^{*} is additionally evaluated. This method differs from Tree: Dec. + BT only in the dynamic programming (DP) part: here, it is assumed that a genieaided bound function \(f_{\beta }^{*}(\cdot)\) is already used in the first step to specify the optimal bounds on the data structure F(s,β_{ s }). Note that in this way, the overhead resulting from the computation of too many or too few data structure elements is eliminated.
Table 2 gives a brief summary of the algorithms and the abbreviations used.
8.1 Simulation setup
The simulations were performed by randomly placing N agents in the twodimensional unit box [0,1]^{2} following a uniform distribution. This setup is widely adopted in the literature and can be found, e.g., in [7,29,30] because it facilitates scaling of the obtained results. To ensure that the IDs were assigned to the agents as equally as possible, the following procedure was used: First, \(\lfloor \frac {N}{I} \rfloor \) instances of each ID were placed in the ID pool, where I is the number of IDs. Then, one additional ID instance from among the first \(N~~I\lfloor \frac {N}{I} \rfloor \) IDs was placed in the pool. Finally, the IDs in the pool were randomly assigned to the agents. Because the complexity of the algorithms increases with increasing connectivity among the agents, a communication range of \(R~=~\sqrt {2}\) was chosen for all agents in some scenarios to demonstrate the algorithms’ limits in such cases. The additive noise on the initial position estimate was assumed to have a standard deviation of \(\phantom {\dot {i}\!}\sigma _{p}~=~\sigma _{p_{i}}~=~0.1, \forall i\). All figures show averages over 100 simulations.
8.2 Simulation results
The theoretical minimum run time, as simulated using the genieaided bound function, leads to additional reductions of 66.3% (N = 40) and 57.7% (N = 80). For future work, we are interested in conducting further research on how to effectively benefit from these theoretical values for the practically relevant Tree: Dec. + BT algorithm. A brief analysis of important properties that are relevant for the implementation of this algorithm is given in Section 8.2.1.
8.2.1 Analysis of tree and backtracking parameters
Hence, additional runtime reductions could be achieved by applying treenodespecific bound functions rather than a global bound function. In future work, we intend to conduct further research on this topic and to investigate potential use cases of machine learning to push the performance of the backtracking algorithm farther toward its theoretically achievable limit.
Moreover, given the complexity as well as the size of the search space of the problem, metaheuristic optimization techniques, such as evolutionary algorithms, are also promising candidates to solve the TARP efficiently.
8.2.2 Impact of transmit ambiguities on localization
9 Conclusion
In this work, we considered application cases in which unique agent identification is not possible but where localization of the sensor motes is nevertheless required. To address this problem, we proposed an MAPoptimal solution approach that restores the ability to perform localization using wellknown and established algorithms. The proposed approach is highly tailored to the considered class of problem instances and, in our MATLAB implementation, shows a speedup factor of up to 8.55 compared with a commercial ILP solver. The obtained runtime reductions become increasingly relevant as more agents are deployed in the system.
More precisely, we developed an algorithm based on graph decomposition and dynamic programming, and we further extended this algorithm with a backtracking scheme, which achieved additional runtime reductions for the dynamic programming part of up to 48%. Moreover, we investigated the theoretical performance limits of the proposed backtracking scheme, which revealed the potential for additional runtime reduction. Consequently, the proposed framework facilitates efficient solutions to the TARP and offers potential for further enhancements.
9.1 Outlook and future work
In our future work, we are particularly interested in finding more generic and more optimal methodologies to close the gap with respect to the theoretically achievable performance; to this end, we intend to investigate, e.g., machinelearningbased approaches. In addition to improving the optimal algorithms, we also intend to use the presented framework to derive suboptimal algorithms. Further interest lies in the investigation of extensions to the presented approach to mobile agents.
10 Appendix 1
10.1 Detailed example: from cliques to backtracking
 1.
Input: An exemplary problem instance that is specified by cliques and the vertices’ clique memberships.
 2.
kambiguity tree construction: For a specific choice of cliques as leaves of the kambiguity tree, the computation of the labels, and additionally introduced edges.
 3.
Backtracking: An exemplary computation of a data structure element by the backtracking algorithm.
10.1.1 The problem input
Vertices’ clique memberships for the example in Fig. 14
v _{1}  v _{2}  v _{3}  v _{4}  v _{5}  v _{6}  v _{8}  v _{9}  

\(\mathcal {G}_{1,a} \)  \(\mathcal {C}_{7}\)  \(\mathcal {C}_{7}\)  \(\mathcal {C}_{8}\)  \(\mathcal {C}_{8}\)  \( \mathcal {C}_{8}\)  \(\mathcal {C}_{7}\)  \(\mathcal {C}_{8}\)  \(\mathcal {C}_{7}\) 
\(\mathcal {G}_{1,b}\)  \(\mathcal {C}_{5} \)  \(\mathcal {C}_{5}\)  \(\mathcal {C}_{9}\)  \(\mathcal {C}_{6}\)  \(\mathcal {C}_{6}\)  \(\mathcal {C}_{9}\)  \(\mathcal {C}_{9}\)  \(\mathcal {C}_{5}\) 
\(\mathcal {G}_{2}\)  \(\mathcal {C}_{1}\)  \(\mathcal {C}_{2}\)  \(\mathcal {C}_{2}\)  \(\mathcal {C}_{4}\)  \(\mathcal {C}_{3}\)  \(\mathcal {C}_{4} \)  \(\mathcal {C}_{1}\)  \(\mathcal {C}_{3}\) 
10.1.2 kambiguity tree construction
Threetuples used to determine the edges and labels for the example in Fig. 14
\(\mathcal {G}_{s}\)  Constraint cliques  Threetuples of the vertices of \(\mathcal {G}_{i}\)  Action/comment 

\(\mathcal {G}_{1}\)  \(\mathcal {C}_{1}\)  \(R_{1}(v_{1}) = (\mathcal {C}_{7}, \mathcal {C}_{5}, 0)\)  ∙ R_{1}(v_{1})≠R_{1}(v_{8})⇒ ℓ(v_{1})≠ℓ(v_{8})^{ † } 
\(R_{1}(v_{8}) = (\mathcal {C}_{8}, \mathcal {C}_{9}, 0)\)  
\(\mathcal {G}_{2}\)  \(\mathcal {C}_{2}\)  \(R_{2}(v_{2}) = (\mathcal {C}_{7}, \mathcal {C}_{5}, 0)\)  ∙ R_{2}(v_{2})≠R_{2}(v_{3})⇒ ℓ(v_{2})≠ℓ(v_{3})^{ † } 
\(R_{2}(v_{3}) = (\mathcal {C}_{8}, \mathcal {C}_{9}, 0)\)  
\(\mathcal {G}_{3}\)  \(\mathcal {C}_{3}\)  \(R_{3}(v_{5}) = (\mathcal {C}_{8}, \mathcal {C}_{6}, 0)\)  ∙ R_{3}(v_{5})≠R_{3}(v_{9})⇒ ℓ(v_{5})≠ℓ(v_{9})^{ † } 
\(R_{3}(v_{9}) = (\mathcal {C}_{7}, \mathcal {C}_{5}, 0)\)  
\(\mathcal {G}_{4}\)  \(\mathcal {C}_{4}\)  \(R_{4}(v_{4}) = (\mathcal {C}_{8}, \mathcal {C}_{6}, 0)\)  ∙ R_{4}(v_{4})≠R_{4}(v_{6})⇒ ℓ(v_{4})≠ℓ(v_{6})^{ † } 
\(R_{4}(v_{6}) = (\mathcal {C}_{7}, \mathcal {C}_{9}, 0)\)  
\(\mathcal {G}_{5}\)  \(\mathcal {C}_{1},\) \(\mathcal {C}_{2}\)  \(R_{5}(v_{1}) = (\mathcal {C}_{7}, \mathcal {C}_{5}, 0)\)  ∙ R_{5}(v_{ i })∼R_{5}(v_{ j }),i,j∈{1,2,3,8} ⇒ complete graph 
\(R_{5}(v_{2}) = (\mathcal {C}_{7}, \mathcal {C}_{5}, 0)\)  ∙ R_{5}(v_{1})=R_{5}(v_{2})⇒ ℓ(v_{1})=ℓ(v_{2})  
\(R_{5}(v_{3}) = (\mathcal {C}_{8}, \mathcal {C}_{9}, 0)\)  ∙ R_{5}(v_{3})=R_{5}(v_{8})⇒ ℓ(v_{3})=ℓ(v_{8})  
\(R_{5}(v_{8}) = (\mathcal {C}_{8}, \mathcal {C}_{9}, 0)\)  
\(\mathcal {G}_{6}\)  \(\mathcal {C}_{3}\), \(\mathcal {C}_{4}\), Open image in new window  \(R_{6}(v_{4}) = (\mathcal {C}_{8}, 0, 0)\)  ∙ R_{6}(v_{4})∼R_{6}(v_{5})⇒(v_{4},v_{5}) 
\(R_{6}(v_{5}) = (\mathcal {C}_{8}, 0, 0)\)  ∙ R_{6}(v_{6})∼R_{6}(v_{9})⇒(v_{6},v_{9})  
\(R_{6}(v_{6}) = (\mathcal {C}_{7}, \mathcal {C}_{9}, 0)\)  ∙ R_{6}(v_{4})=R_{6}(v_{5})⇒ ℓ(v_{4})=ℓ(v_{5})  
\(R_{6}(v_{9}) = (\mathcal {C}_{7}, \mathcal {C}_{5}, 0)\)  
\(\mathcal {G}_{7}\)  \(\mathcal {C}_{1}\), \(\mathcal {C}_{2}\), \(\mathcal {C}_{3}\), \(\mathcal {C}_{4}\), Open image in new window , \(\mathcal {C}_{6}\), Open image in new window , Open image in new window  R_{7}(v_{1})=(0,0,0)  ∙ R_{7}(v_{1})=R_{7}(v_{2})=R_{7}(v_{6})=R_{7}(v_{9}) ⇒ ℓ(v_{1})=ℓ(v_{2})=ℓ(v_{6})=ℓ(v_{9}) 
R_{7}(v_{2})=(0,0,0)  ∙ R_{7}(v_{3})=R_{7}(v_{4})=R_{7}(v_{5})=R_{7}(v_{8}) ⇒ ℓ(v_{3})=ℓ(v_{4})=ℓ(v_{5})=ℓ(v_{8})  
\(R_{7}(v_{3}) = (\mathcal {C}_{8}, 0, 0)\)  ∙ R_{7}(v_{ i })∼R_{7}(v_{ j }),(i,j)∈{1,2,6,9}^{2},i>j ⇒ (v_{ i },v_{ j })∀(i,j)∈{1,2,6,9}^{2},i>j  
\(R_{7}(v_{4}) = (\mathcal {C}_{8}, 0, 0)\)  ∙ R_{7}(v_{ i })∼R_{7}(v_{ j }),(i,j)∈{3,4,5,8}^{2},i>j ⇒ (v_{ i },v_{ j })∀(i,j)∈{3,4,5,8}^{2},i>j  
\(R_{7}(v_{5}) = (\mathcal {C}_{8}, 0, 0)\)  ∙ Note that the last two operations introduce edges between the labels\(\left \{ \ell _{1}^{1}, \ell _{2}^{2}, \ell _{2}^{3} \right \}\) and between the labels \(\left \{ \ell _{2}^{1},\ell _{1}^{2} \right \}\)  
R_{7}(v_{6})=(0,0,0)  
\(R_{7}(v_{8}) = (\mathcal {C}_{8}, 0, 0)\)  
R_{7}(v_{9})=(0,0,0) 
In Table 4, a slight change in notation is adopted for simplicity: The lengthy but descriptive notation of Eq. (9) is replaced with \(R_{s}(v)~=~(\mathcal {C}_{i}, \mathcal {C}_{j}, \mathcal {C}_{k})\) if the cliques \(\mathcal {C}_{i}\), \(\mathcal {C}_{j}\), and \(\mathcal {C}_{k}\) are not fully included at subgraph \(\mathcal {G}_{s}\) of tree node s. Likewise, if \(\mathcal {G}_{s}\) includes \(\mathcal {C}_{i}\), which is a clique of type G_{1,a}(·,·) because it appears in the first position in the threetuple, then \(R_{s}(v)~=~(0,\mathcal {C}_{j}, \mathcal {C}_{k})\) and so forth for the other tuple elements and cliques.
Recall that two vertices v_{ i } and v_{ j } are connected by an edge iff there is at least one pair of equal and nonzero entries in the same position in the threetuples \(R_{c_{1}(s)}(v_{i})\) and \(R_{c_{2}(s)}(v_{j})\). This relationship is denoted by \(R_{c_{1}(s)}(v_{i}) \sim R_{c_{2}(s)}(v_{j})\). Moreover, recall that two vertices v_{ i } and v_{ j } will have the same label at tree node s iff the threetuples of the vertices are equal, i.e., iff R_{ s }(v_{ i }) = R_{ s }(v_{ i }). In this table, ℓ(v) denotes the label of vertex v and the obtained edges and labels refer to Fig. 15, which shows the result up through \(\mathcal {G}_{7}\), which is not the root of the tree.
10.1.3 Dynamic programming: weight computation via backtracking

Assumptions: The procedure starts from \(\phantom {\dot {i}\!}\ifthenelse {\equal {s}{s}}{\beta _{s}}{\beta _{c_{s}(s)}}~=~{\beta _{c_{c_{1}(s)}(s)}}~=~{\beta _{c_{c_{2}(s)}(s)}}~=~1\). Hence, the following partial data structures are known (cf. lines 12 and 13 in Algorithm 4): F(c_{1}(s),1) = (1),a_{next} = 3,F(c_{2}(s),1) = (2),b_{next} =4.5
 Constraints:

Active SC cliques at \(\mathcal {G}_{7}\): \(\mathcal {C}_{5}\), \(\mathcal {C}_{7}\), and \(\mathcal {C}_{9}\)

The SC cliques are given by \(\mathcal {V}(\mathcal {C}_{5})~=~\left \lbrace 1,2\right \rbrace \), \(\mathcal {V}(\mathcal {C}_{7})~=~\{1,2,6,9\}\), and \(\mathcal {V}(\mathcal {C}_{9})~=~\{3,4,5,8\}\) and by the label sets \(\left \{\ell _{1}^{1}\right \}\), \(\left \{\ell _{1}^{1},\ell _{2}^{2},\ell _{2}^{3}\right \}\), and \(\left \{\ell _{1}^{2},\ell _{2}^{1}\right \}\), respectively

The only label set that satisfies all SCs is given by Open image in new window , as it contains at least one vertex from each of the three cliques

\(\mathcal {E}_{c_{1}(s),c_{2}(s)}^{{lab}} =\! \left \lbrace \left (\ell _{1}^{1}, \ell _{2}^{2}\right), \left (\ell _{1}^{1}, \ell _{2}^{3}\right), \left (\ell _{2}^{2}, \ell _{2}^{3}\right), \left (\ell _{2}^{1}, \ell _{1}^{2}\right) \right \rbrace \), cf. Table 4, bottom right cell

 Task: Computation of \(d_{\left \lbrace \ell _{3}^{1},\ell _{3}^{2}\right \rbrace }\) according to lines 12 and 13

Line 15: a_{min}= min{1}=1

Line 16: b_{min}= min{2}=2

d_{next}= min{a_{next}+b_{min},b_{next}+a_{min}}=5

Line 17: \(d_{\left \lbrace \ell _{3}^{1},\ell _{3}^{2}\right \rbrace } = a_{\ell _{1}^{1}} + b_{\ell _{2}^{1}} = 3\) is feasible because

\(\ell _{1}^{1}\) and \(\ell _{2}^{1}\) clearly yield label set \(\left \lbrace \ell _{3}^{1},\ell _{3}^{2}\right \rbrace \) at \(\mathcal {G}_{7}\)

\( a_{\ell _{1}^{1}} + b_{\ell _{2}^{1}} <5\)

\(\left (\ell _{1}^{1},\ell _{2}^{1}\right) \notin \mathcal {E}_{c_{1}(s),c_{2}(s)}^{{lab}}\)

Note that by virtue of the backtracking procedure, it becomes unnecessary to compute the other 20 combinations that yield Open image in new window , which all have higher weights.
11 Appendix 2
11.1 MAPoptimal PDF and vertex weights
 1.
An initial position estimate p_{0,i} is given for each sensor i
 2.
p_{0,i}, ∀i, is normally distributed around the sensor’s true position, i.e., p_{0,i}=p_{ i }+n_{ i }, \(\mathbf {n}_{i} \sim \mathcal {N}\left (\mathbf {0}, \sigma _{p_{i}}^{2} \mathbf {I}_{2} \right)\), with \(\sigma _{p_{i}} = \sigma _{p}, \forall i\)
Note that these assumptions are common, particularly for Kalmanfilterbased tracking algorithms, for which the conditional PDF \(\phantom {\dot {i}\!}f_{ {p}_{i} \vert \mathbf {p}_{i,0}} (x)\) is often assumed to be Gaussian.
where f_{χ2,λ}(x) denotes the PDF of the noncentral chi distribution with two degrees of freedom and a noncentrality parameter of λ and \(f_{\mathcal {N}\vert 0, \sigma ^{2} }(x)\) denotes the normal distribution with zero mean and a variance of σ^{2}.
12 Nomenclature

A sensor with a unique serial number (SN) i

The Jth nonunique transmission identifier (ID)

The actual distance between sensors j and i

A random variable (RV) denoting the distance measured by sensor i based on a signal from sensor j

A set of RVs d_{∙→i} representing range measurements at sensor i, where ∙ serves as a placeholder

The kth measurement at sensor i (realization of d_{j→i} for some unknown sensor j)

A set of measurements m_{ i }^{∙} (a subset of the realizations of RV \({\mathcal {D}_{i}}\)) at sensor i

A vertex in the ambiguity graph that refers to a measurement tuple \(\left (m_{i}^{l}, m_{j}^{r}\right)\) that may have been measured between agents i and j

Components of the edge set of the ambiguity graph, cf. Eqs. (5a), (5b), and (5c)

A particular part of the edge set, which is due to constraint item 1(a) if i=1,a; item 1(b) if i=1,b; and item 2 if i=2 (here, (·) serves as a placeholder)

The set of the vertices that are the endpoints of the edges in \(\mathcal {E}_{i}({\cdot }{,}{\cdot)}\)

The subgraph formed by the vertices \(\mathcal {V}_{i}({\cdot }{,}{\cdot)}\) and the edges \(\mathcal {E}_{i}({\cdot }{,}{\cdot)}\)

The set of labels \({\left \lbrace {1},\ldots,\kappa (s)\right \rbrace, \kappa (s)\in \mathbb {N}}\), at tree node s

Child i of tree node s, i=1,2

The set of all cliques/labeled cliques due to ambiguity graph constraints

A set of partial ambiguity trees that refer to subgraphs of the ambiguity graph

The neighborhood of a labeled subgraph \(\mathcal {G}_{i}\), i.e., the set of adjacent labeled subgraphs in \(\mathcal {T}\)

An operator that computes the union of two labeled graphs

The introduction of edges between the vertices labeled with i and those labeled with j

The relabeling of all vertices in \(\mathcal {V}\) that are currently labeled with i to label j

An operator that merges two graphs \(\mathcal {G}_{1}\) and \(\mathcal {G}_{2}\) as described in Section 5.1

The remainder graph of \(\mathcal {G}\) with respect to the subgraph corresponding to the elements in partial tree set \(\mathcal {T}\)

Open image in new window A set of labels

The power set of set \(\mathcal {X}\), i.e., the set that contains all subsets of set \(\mathcal {X}\)

Open image in new window The set of all labels of the vertices in \(\mathcal {V}\) at tree node s

Open image in new window The label set of the vertices labeled with Open image in new window at child i after relabeling at tree node s

The set of edges introduced by merging using μ

The actual position of sensor i

The ith entry of tuple F

Open image in new window The sizeconstraint (SC) clique set Open image in new window and its subset Open image in new window denoting the SC cliques at tree node s
Footnotes
 1.
In this work, we use the terms sensor mote, sensor, and agent interchangeably where the context permits.
 2.
The limiting factors for FDMA are the high transmission frequency that is required because of the small agent size and the limited bandwidth of the corresponding ultrasonic transducers.
 3.
 4.
The authors of [1] also briefly mention that because of the limited available energy, nonunique identification of the sensors plays a key role in enabling such application cases.
 5.Note that the lth measurement denotes the lth entry in set \(\mathcal {M}_{i}\) and that the value of l does not imply a chronological order.
 6.
Note that each measurement belongs to exactly one set of type \(\mathcal {V}_{1,a}(\cdot {},\cdot {})\) and one of type \(\mathcal {V}_{1,b}(\cdot {},\cdot {})\), as each vertex corresponds to two distance measurements. Because the solution to the TARP is given in the form of vertices (pairs of measurements) and because every measurement must be mapped exactly once, the size of the independent set corresponds to the number of sets of type \(\mathcal {E}_{1,a}(\cdot {},\cdot {})\), which is equal to the number of sets of type \(\mathcal {E}_{1,b}(\cdot {},\cdot {})\).
 7.
Note that items 1(a), 1(b), and 2, as listed in Section 3, introduce edges among specified sets of vertices. These vertices form the cliques.
 8.In the following, the term tree node is used to refer to a vertex of the tree, whereas a subgraph is the graph that is induced by the edge and vertex sets at a given tree node.
 9.
An induced subgraph consists of a subset of the vertex set of the graph and all edges whose endpoints are both in the vertex set [27].
 10.
For simplicity, and with a slight misuse of common terminology, we also refer to single vertices as cliques.
 11.
This becomes apparent when one notices that the CW_{ k }tree needs to reflect an increasing number of the properties of the original graph as the considered tree node becomes closer to the root of the tree. At the root of the tree, the original graph must be obtained. Ensuring that the subgraphs are induced at each tree node is an easy way to satisfy this requirement.
 12.
Note that this algorithm is easily parallelizable by virtue of the tree structure.
 13.
Assume, e.g., d_{next} = a_{next} + b_{min}, and let Open image in new window and Open image in new window denote the label sets corresponding to a_{next} and b_{min}, respectively. If Open image in new window and Open image in new window are feasible with respect to Problem (18) at tree node s, then the bound d_{next} is tight.
Notes
Acknowledgements
We gratefully acknowledge the computational resources provided by the RWTH Compute Cluster from RWTH Aachen University under project RWTH0118.
Funding
This project has received funding from the European Union’s Horizon 2020 research and innovation program under grant agreement no. 665347.
Authors’ contributions
All authors contributed equally to this work. All authors read and approved the final manuscript.
Competing interests
The authors declare that they have no competing interests.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
References
 1.E Talnishnikh, J van Pol, HJ Wörtche, in Intelligent Environmental Sensing. Smart Sensors, Measurement and Instrumentation, 13, ed. by H Leung, S Chandra Mukhopadhyay. Micro motes: a highly penetrating probe for inaccessible environments (Springer International PublishingCham, 2015), pp. 33–49.Google Scholar
 2.MB Dusseault, CHOPS—cold heavy oil production with sand in the Canadian heavy oil industry (2004). https://open.alberta.ca/dataset/2815953.Google Scholar
 3.P Biswas, Y Ye, in Information Processing in Sensor Networks, 2004. IPSN 2004. Third International Symposium On. Semidefinite programming for ad hoc wireless sensor network localization, (2004), pp. 46–54. https://doi.org/10.1109/IPSN.2004.1307322.Google Scholar
 4.AMC So, Y Ye, in Proceedings of the Sixteenth Annual ACMSIAM Symposium on Discrete Algorithms (SODA), 2005. Theory of semidefinite programming for sensor network localization (Society for Industrial and Applied MathematicsPhiladelphia, 2005), pp. 405–414.Google Scholar
 5.Z Wang, S Zheng, S Boyd, Y Ye, Further relaxations of the sdp approach to sensor network localization (2006). Technical report.Google Scholar
 6.P Biswas, TC Lian, TC Wang, Y Ye, Semidefinite programming based algorithms for sensor network localization. ACM Trans. Sen. Netw.2(2), 188–220 (2006). https://doi.org/10.1145/1149283.1149286.CrossRefGoogle Scholar
 7.P Biswas, TC Liang, KC Toh, Y Ye, TC Wang, Semidefinite programming approaches for sensor network localization with noisy distance measurements. 3(4), 360–371 (2006). https://doi.org/10.1109/TASE.2006.877401.Google Scholar
 8.H Chen, G Wang, Z Wang, HC So, HV Poor, Nonlineofsight node localization based on semidefinite programming in wireless sensor networks. IEEE Trans. Wireless Commun.11(1), 108–116 (2012). https://doi.org/10.1109/TWC.2011.110811.101739.CrossRefGoogle Scholar
 9.Q Shi, C He, H Chen, L Jiang, Distributed wireless sensor network localization via sequential greedy optimization algorithm. IEEE Trans. Signal Process.58(6), 3328–3340 (2010). https://doi.org/10.1109/TSP.2010.2045416.MathSciNetCrossRefGoogle Scholar
 10.P Tseng, Secondorder cone programming relaxation of sensor network localization. SIAM J. Optim.18(1), 156–185 (2007). https://doi.org/10.1137/050640308.MathSciNetCrossRefMATHGoogle Scholar
 11.GC Calafiore, L Carlone, M Wei, in 18th Mediterranean Conference on Control Automation (MED), 2010. Position estimation from relative distance measurements in multiagents formations, (2010), pp. 148–153. https://doi.org/10.1109/MED.2010.5547601.Google Scholar
 12.B Liu, H Chen, Z Zhong, HV Poor, Asymmetrical round trip based synchronizationfree localization in largescale underwater sensor networks. IEEE Trans. Wireless Commun.9(11), 3532–3542 (2010). https://doi.org/10.1109/TWC.2010.090210.100146.CrossRefGoogle Scholar
 13.E Duisterwinkel, L Demi, G Dubbelman, E Talnishnikh, HJ Wörtche, JW Bergmans, Environment mapping and localization with an uncontrolled swarm of ultrasound sensor motes. Proc. Meet. Acoust.20(1), 030001 (2013). https://doi.org/10.1121/1.4879264.Google Scholar
 14.S Schlupkothen, G Ascheid, in 2015 14th Annual Mediterranean Ad Hoc Networking Workshop (MEDHOCNET) (MedHocNet’15). Localization of wireless sensor networks with concurrently used identification sequences (Vilamoura, Portugal, 2015), pp. 1–7. https://doi.org/10.1109/MedHocNet.2015.7173166.Google Scholar
 15.S Schlupkothen, G Ascheid, in 2016 IEEE International Conference on Wireless for Space and Extreme Environments (WiSEE). Joint localization and transmitambiguity resolution for ultralow energy wireless sensors, (2016), pp. 48–53. https://doi.org/10.1109/WiSEE.2016.7877302.Google Scholar
 16.S Schlupkothen, B Prasse, G Ascheid, in 2016 Mediterranean Ad Hoc Networking Workshop (MedHocNet). A dynamic programming algorithm for resolving transmitambiguities in the localization of wsn, (2016), pp. 1–8. https://doi.org/10.1109/MedHocNet.2016.7528420.Google Scholar
 17.CA Floudas, PM Pardalos, Encyclopedia of Optimization, Second Edition (Springer, Secaucus, 2009).CrossRefMATHGoogle Scholar
 18.DZ Du, KI Ko, Theory of Computational Complexity. Wiley Series in Discrete Mathematics and Optimization (Wiley, New York, 2011).Google Scholar
 19.J Flum, M Grohe, Parameterized Complexity Theory. Texts in Theoretical Computer Science. An EATCS Series (Springer, Berlin Heidelberg, 2006).Google Scholar
 20.F Gurski, I Rothe, J Rothe, E Wanke, Exakte Algorithmen Für Schwere Graphenprobleme. eXamen.press (Springer, Berlin Heidelberg, 2010).CrossRefMATHGoogle Scholar
 21.F Gurski, A comparison of two approaches for polynomial time algorithms computing basic graph parameters. CoRR. abs/0806.4073: (2008). http://arxiv.org/abs/0806.4073.Google Scholar
 22.S Oum, SH Sæther, M Vatshelle, Faster algorithms for vertex partitioning problems parameterized by cliquewidth. Theor. Comput. Sci.535:, 16–24 (2014).MathSciNetCrossRefMATHGoogle Scholar
 23.MR Fellows, FA Rosamond, U Rotics, S Szeider, Cliquewidth is npcomplete. SIAM J. Discrete Math.23(2), 909–939 (2009). https://doi.org/10.1137/070687256.MathSciNetCrossRefMATHGoogle Scholar
 24.HL Bodlaender, A tourist guide through treewidth. Acta Cybern. 11(12), 1–21 (1993).MathSciNetMATHGoogle Scholar
 25.B Courcelle, S Olariu, Upper bounds to the clique width of graphs. Discrete Appl. Math.101(1–3), 77–114 (2000).MathSciNetCrossRefMATHGoogle Scholar
 26.W Espelage, F Gurski, E Wanke, in Algorithms and Data Structures: 7th International Workshop, WADS 2001 Providence, RI, USA, August 8–10, 2001 Proceedings, ed. by F Dehne, JR Sack, and R Tamassia. Deciding cliquewidth for graphs of bounded treewidth (SpringerBerlin, Heidelberg, 2001), pp. 87–98.Google Scholar
 27.EW Weisstein, Vertexinduced subgraph. From MathWorld—A Wolfram Web Resource (2016). Last visited on 02/02/2016. http://mathworld.wolfram.com/VertexInducedSubgraph.html.Google Scholar
 28.M Tawarmalani, NV Sahinidis, A polyhedral branchandcut approach to global optimization. Math. Program.103:, 225–249 (2005).MathSciNetCrossRefMATHGoogle Scholar
 29.N Patwari, AO Hero III, in Proceedings of the 2Nd ACM International Conference on Wireless Sensor Networks and Applications. WSNA ’03. Using proximity and quantized rss for sensor localization in wireless networks (ACMNew York, 2003), pp. 20–29. https://doi.org/10.1145/941350.941354.CrossRefGoogle Scholar
 30.JA Costa, N Patwari, AO Hero III, Distributed weightedmultidimensional scaling for node localization in sensor networks. ACM Trans. Sen. Netw.2(1), 39–64 (2006). https://doi.org/10.1145/1138127.1138129.CrossRefGoogle Scholar
 31.EW Weisstein, Normal difference distribution. From MathWorld—A Wolfram Web Resource (2016). http://mathworld.wolfram.com/NormalDifferenceDistribution.html. Accessed 02 Feb 2016.Google Scholar
 32.A Goldsmith, Wireless Communications (Cambridge University Press, New York, 2005).CrossRefGoogle Scholar
Copyright information
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.