5.3 Approximation Algorithms
5.3.2 Improving the approximation factor
insert the cell in the data structure. Hence, we have in hand that how many and which points of P are in a cell. After processing the points we just need go through the data structure to report the required points. For one point we spendO(logn) time, hence for n points it takes O(nlogn) time. Thus the running time for Algorithm 5.1 follows.
Consider a 37-hexagon H. H can be viewed as a 19-hexagon, say H0, surrounded by 18 cells. Let us consider the convex hull overlay, say CH, of the set of corners of H0 (shown as loop in Figure 5.6(b)). Observe that the maximum distance between any two points in the convex hull overlay CH is at most 5
√3
2 (> 4). Let S = CH ∩ P, S0 = {p ∈ P | δ(p, q) ≤ 1 f or q ∈ S}, and S00 = {p ∈ P | δ(p, q) ≤ 1 f or q ∈ S0}, where δ(p, q) denotes the Euclidean distance between p and q. We first propose an approximation algorithm to find a liar’s dominating set SH ⊆ S00 for S0. Next, we use the above approximation result to design an approximation algorithm to find out a liar’s dominating set for P. Let OP TSH0 denotes an optimal liar’s dominating set ofS0. Lemma 5.3.4. |OP TSH0 | ≤183.
Proof. The points inS0\S lie in at most 24 cells aroundH by definition ofS0 (i.e., one layer around H). Hence, the points in S0 can span over 61 cells. If we choose at most three points for each cell, we get a liar’s dominating set. Thus, the cardinality ofOP TS0H
cannot be more than 183.
Lemma 5.3.5. If H1 and H2 are two same colored 37-hexagons, then OP TS0H
1 and
OP TS0
H2 are independent, i.e., OP TS0
H1 ∩OP TS0
H2 =∅. Proof. The proof follows from Lemma 5.3.3.
The detailed pseudo code to find a liar’s dominating set for the points lying in a given 37-hexagon H is given in Algorithm 5.2. For a given k (3 ≤ k ≤ 183), we choose all possible t= 1,2, . . . , k−1 combinations of points inS00 to find a 2-tuple dominating set ofS0. For each combination, we check the combination of points is a 2-tuple dominating set or not (Line number 5). While considering the subsets, if there exists a subset SH
that is a 2-tuple dominating set, then for every distinct pair of points pi and pj in S0, we check whether |(N[pi]∪N[pj])∩SH| ≥ 3 or not (Line number 7). A subset SH
satisfying the above condition is reported and is a liar’s dominating set for S0. In the algorithm Boolean variablef lagis used to ensure that the set returned by the algorithm is a feasible solution.
Lemma 5.3.6. For a given 37-hexagon H, Algorithm 5.2 produces a solution SH for the set S0 from S00 with size is at most 183k × |OP TH|, where 3≤k ≤183 and OP TH is an optimum solution for the points lying in H.
Proof. If the algorithm cannot produce a solution of sizek−1 for givenk (3≤k ≤183), then |OP TH| ≥k. Observe that, our algorithm may produce a solution SH whose size is 183, in the worst. Hence |OP T|SH|
H| ≤ 183k . Algorithm 5.2 Liar’s dominating set (H, k)
Require: Point setP, a 37-hexagon H and an integer 3 ≤k≤183.
Ensure: A liar’s dominating set of size ≤ k − 1 for the set S0 from S00 (if exists), otherwise a set SH(⊆S00) of size at most 183.
1: Obtain sets S, S0, and S00.
2: f lag= 0.
3: for (t = 1,2, . . . , k−1)do
4: for (each combination SH of t points in S00)do
5: if (|SH ∩N[pi]| ≥2 ∀pi ∈S0)then
6: for (every distinct pair of points pi and pj in S0)do
7: if (|(N[pi]∪N[pj])∩SH| ≥3)then
8: f lag= 1.
9: else
10: f lag= 0.
11: break/*break the for loop in line number 6 */
12: end if
13: end for
14: end if
15: if (f lag= 1) then
16: Return SH.
17: break/*break the for loop in line number 3 */
18: end if
19: end for
20: end for
21: SH ← ∅
22: if (f lag = 0) then
23: Consider any three points from each non-empty cell corresponding toS0 and add it toSH (if a non-empty cell contains less than three points we choose the remaining points from its neighbors as in Algorithm 5.1).
24: end if
25: Return SH.
Lemma 5.3.7. Algorithm 5.2 runs in O(nk+1∆) time, where ∆ = max{|N[p]|:p∈ P}
and 3≤k ≤183.
Proof. Algorithm 5.2 chooses all possible k − 1 combinations for a given k. If any of these combinations satisfies liar’s domination conditions, Algorithm 5.2 reports the combination of points. If it is not possible to find a solution of sizek−1, the algorithm chooses at most three points for each non-empty cell (like in Algorithm 5.1). Steps 4-19 in Algorithm 5.2 can be done in O(nt−1)(O(∆) +O(n2∆)) = O(nt+1∆). Hence, steps 3-20 take k−1P
t=1
O(nt+1)∆ time. Steps 1 and 22 can be done in O(nlogn) time. Therefore the total running time of Algorithm 5.2 is O(nk+1∆). Thus the running time result follows.
We consider each 37-hexagon and compute a feasible solution (using Algorithm 5.2) for the points lying in it. Two same colored 37-hexagons can be solved independently as the minimum distance between them is greater than 4. Let Sj be the union of solutions generated by the algorithm for the 37-hexagons colored j, for j ∈ {A, B, C, D}. The set
S = S
j∈{A,B,C,D}
Sj is reported.
Theorem 5.3.8. S is a liar’s dominating set of P
Proof. In Algorithm 5.2, for a 37-hexagon H, we find a liar’s dominating set SH for S0 from S00 (refer the definitions of S0 and S00 defined previously in this section). Now,
S = S
H∈{all 37-hexagons in R}
SH. Thus, the theorem follows.
Theorem 5.3.9. The 4-coloring scheme gives a 732k -factor approximation algorithm for the geometric liar’s domination problem in the plane and runs in O(nk+1∆) time, where 3≤k ≤183.
Proof. By Lemma 5.3.3, any two same colored 37-hexagons are greater than five units apart. Therefore, we can solve them independently. LetOP Tj be the union of solutions in optimal solution for the 37-hexagons colored j, for j ∈ {A, B, C, D}. Also, let OP T
be an optimum solution for the point set P, hence, |OP Tj| ≤ |OP T| for each j ∈ {A, B, C, D} and OP T =OP TA∪OP TB∪OP TC ∪OP TD. Observe that, OP Tj is the optimum for color class j, where we dominate the sets S0 with respect to the group of 37-hexagons of color j using the points fromS00 and not justS0. The 4-coloring scheme reports the set S, which is the union of the solutions for all 37-hexagons. Therefore,
|S| ≤ 183k (|OP TA| +|OP TB| +|OP TC| +|OP TD|). Implies, |S| ≤ 732k × |OP T| as
|OP Ti| ≤ |OP T| for each i∈ {A, B, C, D}.
The running time result follows from Lemma 5.3.7 and the fact that a point in P participates a finite number of times in the algorithm. Hence the theorem.