Keywords

1 Introduction

A string graph is a graph with simple curves on a plane as vertices, and two vertices are adjacent if they intersect. String graphs are important as it contains all intersection graphs of connected sets in \(\mathbb {R}^2\). Asinowski et al. [1] introduced the concept of \(B_k\)-VPG graphs to initiate a systematic study of string graphs and its subclasses. A path is a simple rectilinear curve and a k-bend path is a path having k cusps (bend). The \(B_k\)-VPG graphs are intersection graphs of k-bend paths. Any string graph has a \(B_k\)-VPG representation for some k [1]. A unit k-bend path is a k-bend path with each segments being of unit length. The unit \(B_k\)-VPG graphs are intersection graphs of unit k-bend paths. Any string graph has a unit \(B_{k'}\)-VPG representation for some \(k'\).

A dominating set of a graph \(G=(V,E)\) is a subset D of vertices V such that each vertex in \(V\setminus D\) is adjacent to some vertex in D. The Minimum Dominating Set (MDS) problem is to find a minimum cardinality dominating set of a graph G. It is not possible to approximate the MDS problem on string graphs with n vertices to within \((1-\alpha )\ln n\) unless \(NP\subseteq DTIME(n^{O(\log \log n)})\) [5]. Researchers have studied the MDS problem extensively on important graph classes like planar graphs, permutation graphs, cocomparability graphs all of which are subclasses of string graphs [1, 13, 14, 16] and hence unit \(B_k\)-VPG graphs for some k. The MDS problem admits constant factor approximation algorithms on intersection graphs of unit disks, rectangles with bounded aspect ratio, r-regular polygons etc. all of which are also subclasses of string graphs [10, 12]. Mehrabi [18] gave constant factor approximation algorithms for the MDS problem on restricted subclasses of \(B_1\)-VPG graphs. However, for \(k\ge 1\), it is not known if there is an f(k)-approximation algorithm for the MDS problem on \(B_k\)-VPG graphs. We show that the MDS problem remains NP-Hard on unit \(B_k\)-VPG graphs with \(k\ge 1\).

Theorem 1

It is NP-Hard to solve the MDS problem on unit \(B_k\)-VPG graphs with \(k\ge 1\).

We achieved a constant factor approximation algorithm for the MDS problem on unit \(B_k\)-VPG graphs for a given unit \(B_k\)-VPG representation and fixed k.

Theorem 2

Given a unit \(B_k\)-VPG representation of a graph G with n vertices, there is an \(O(k^2n^5)\)-time \(O(k^4)\)-approximation algorithm to solve the MDS problem on G.

The MDS problem remains difficult in restricted families of \(B_1\)-VPG graphs. An L-path is a 1-bend path having the shape ‘L’. A vertically-stabbed-L-representation of a graph is a collection of L-paths along with a vertical line intersecting all the paths such that each path in the collection represents a vertex of the graph and two paths intersect if and only if the vertices they represent are adjacent in the graph. A graph is a vertically-stabbed-L graph if it has a vertically-stabbed-L-representation. Bandyapadhyay et al. [2] proved APX-hardness for the MDS problem on vertically-stabbed-L graphs. The class of vertically-stabbed-L graphs was introduced by McGuinness [17] and it contains many important graph classes like interval graphs, outerplanar graphs, permutation graphs, circle graphs as subclasses. Researchers have studied the MDS problem on these classes of graphs [4, 7,8,9, 11]. An \(\epsilon \)-net based algorithm of Mehrabi [18] gives an O(1)-approximation algorithm for the MDS problem on vertically-stabbed-L-graphs. The specific value of the constant (which is at least 32) was not reported by the author. In this paper, we prove the following.

Theorem 3

Given a vertically-stabbed-L-representation of a graph G with n vertices, there is an \(O(n^5)\)-time 8-approximation algorithm to solve the MDS problem on G.

To prove Theorems 2 and 3, we needed to prove a lemma about the stabbing segment with rays (SSR) problem introduced by Katz et al. [15]. In this problem, the inputs are a set of disjoint leftward-directed horizontal rays and a set of disjoint vertical segments. The objective is to select a minimum number of leftward-directed horizontal rays that intersect all vertical segments. Throughout this article, we let \(\mathcal {SSR}(R,V)\) denote an SSR instance where R is a given set of disjoint leftward-directed horizontal rays and V is a given set of disjoint vertical segments. We observe the following lemma.

Lemma 1

Let R be a set of leftward-directed horizontal rays and V be a set of vertical segments. The cost of an optimal solution for the Integer Linear Program (ILP) of \(\mathcal {SSR}(R, V)\) is at most twice the cost of an optimal solution for the relaxed linear program (LP) of \(\mathcal {SSR}(R, V)\).

As a consequence of the above Lemma 1, we have a subquadratic 2-approximation algorithm for the SSR problem.

Theorem 4

There is an \(O((n+m)\log (n+m))\)-time 2-approximation algorithm for SSR problem where n and m are the number of rays and segments, respectively.

We prove both Lemma 1 and Theorem 4 in Sect. 2 and prove Theorem 3 in Sect. 3. In Sect. 4, we prove Theorems 1 and 2.

2 Proof of Lemma 1 and Theorem 4

In this section, we represent a leftward-directed horizontal ray by simply a ray and a vertical segment by a segment in short. Let R be a set of disjoint rays and V be a set of disjoint vertical segments. We assume each segment intersects at least one ray in R and no two segments in V has the same x-coordinate.

To prove Lemma 1, first we present an iterative algorithm consisting of three main steps. The first step is to include all rays \(r\in R\) in heuristic solution S whenever some segments in V intersect precisely a single ray r in that iterative step. In the next step, delete all segments intersecting any ray in S from V. In the final step, find a ray in \(R\setminus S\) whose x-coordinate of the right endpoint is the smallest among all rays in \(R\setminus S\) and delete it from R (when there are multiple such rays, choose anyone arbitrarily). We repeat the above three steps until V is empty. The above algorithm takes \(O((|R|+|V|)\log (|R|+|V|))\) time (using segment trees [3]) and outputs a set S of rays such that all segments in V intersect at least one ray in S.

We describe the above algorithm formally in Algorithm 1. Below we introduce some notations used to describe the algorithm. We assign token \(T_r=\{r\}\) for each \(r\in R\) initially. For \(i\ge 1\), let \(R_i,V_i,S_i\) be the set of rays, the set of segments and the heuristic solution constructed by this Algorithm 1, respectively at the end of \(i^{th}\) iteration. A ray \(r\in R_i\) is critical if there is a segment \(v\in V_i\) such that r is the only ray in \(R_i\) that intersects v. We describe a discharging technique below.

Let D be a subset of R. A ray \(r\in D\) lies in between two rays \(r',r''\in D\) if the y-coordinate of r lies in between those of \(r',r''\). A ray \(r\in D\) lies just above (resp. just below) a ray \(r'\in D\) if y-coordinate of r is greater (resp. smaller) than that of \(r'\) and no other ray lies in between \(r,r'\) in D. Two rays \(r,r'\in D\) are neighbours of each other if r lies just above or below \(r'\).

Discharging Method: Let \(r\in R_{i-1}\setminus S_{i}\) be a ray whose x-coordinate of the right endpoint is the smallest. The phrase “r discharges the token to its neighbours” in the \(i^{th}\) iteration means the following operations in the given order.

  1. (i)

    Let \(r'\) lie just above r and \(r''\) lie just below r in \(R_{i-1}\setminus S_i\). For all \(x\in T_r\) (x and r not necessarily distinct) do the following. If there is a segment in \(V_{i}\) that intersects \(x,r'\) and r then assign \(T_{r'}=T_{r'}\cup \{x\}\) and if there is a segment in \(V_{i}\) that intersects \(x,r''\) and r then \(T_{r''}=T_{r''}\cup \{x\}\).

  2. (ii)

    Make \(T_r=\emptyset \) after performing the above step.

figure a

We have the following observation.

Observation A. For some \(v\in V_k, k\ge 1,\) if some ray \(r\in R_0\) intersects v, then either \(r\in R_k\) or there exists some ray \(r'\in R_k\) such that \(r\in T_{r'}\).

Proof

Assume \(r\notin R_k\). Let \({<}r_1,r_2,\ldots ,r_k{>}\) be a sorted order of the rays such that for \(i<j\), \(r_i\) discharged the token to the neighbours before \(r_j\). Due to step 5 of SSR-algorithm, \(X={<}r_1,r_2,\ldots ,r_k{>}\) is an increasing sequence based on the x-coordinate of their right endpoint. Observe that, whenever a ray \(r_i\in X\) discharged its token to its neighbours in the \(i^{th}\) iteration, all the vertical segments in \(V_i\) intersected by \(r_i\) also intersects one of the immediate neighbours of \(r_i\). Again as \(v\in V_k\), v is not intersected by critical ray within k iteration. Hence the result follows.   \(\square \)

Lemma 2

For a ray r, there are at most two tokens containing r.

Proof

If r never discharged its token to its neighbours, then the statement is true. Let r discharged the token to its neighbours at iteration i. Note that, r discharged tokens to at most two of its neighbours. Since r gets deleted after the discharging step, the rays whose token contain r become neighbours of each other.

Let j be the minimum integer with \(i<j\) such that at the end of \((j-1)^{th}\) iteration, there is a ray \(p\in R_{j-1}\) which is critical and \(r\in T_p\). Note that iteration of SSR-Algorithm may stop before encountering such events. However, within iteration i to \(j-1\), there may exist some rays which discharged their tokens containing r due to step 5 of SSR-Algorithm.

To prove the lemma, we use induction to show that there are at most two tokens containing r in any iteration from i upto \(j-1\). Consider some k, \(i<k<j\), such that \(x_1\), \(x_2\in R_{k-1}\) be only two rays where \(r\in T_{x_1}\) and \(r\in T_{x_2}\). Notice that, \(x_1\) and \(x_2\) are neighbours of each other and without loss of generality assume \(x_1\) lies just above \(x_2\) in \(V_{k-1}\). Assume \(x_1\) discharged its token at \(k^{th}\) iteration. If there exists a neighbour of \(x_1\) (say \(x_3\)) which is different from \(x_2\), then due to the discharging step of \(k^{th}\) iteration, \(x_1\) passes the token to its neighbours (i.e \(x_2\) and \(x_3\)) and gets deleted from \(R_{k-1}\) to create \(R_{k}\). If \(x_3\) does not exist, then \(x_1\) shall pass the token only to \(x_2\). Therefore \(x_2\) becomes the top-most ray among those rays in \(R_k\) which intersect some segment intersecting r.

Moreover, if x was the only ray in \(R_{k-1}\) such that \(r\in T_x\), then x was the top-most (or bottom-most) ray among those rays in \(R_{k-1}\) which intersect some segment intersecting r. Therefore, at the end of \(k^{th}\) iteration there is exactly one ray \(x'\in R_{k}\) such that \(r\in T_{x'}\) and \(x'\) must be the top-most (resp. bottom-most) ray among those rays in \(R_k\) which intersect some segment intersecting r.

Hence we conclude that for each k with \(i\le k<j\), there is at most two rays \(r', r''\in R_{k}\) such that \(r\in T_{r'}\,\cap \,T_{r''}\) and they are neighbours. If there is exactly one ray \(r'''\in R_{k}\) such that \(r\in T_{r'''}\) then \(r'''\) must be the top-most or bottom-most ray among those rays in \(R_k\) which intersect some segment intersecting r.

In iteration j, ray p is critical and \(r\in T_p\) and p is put in heuristic solution. If p is the only ray whose token contained r, only \(T_p\) will contain r after the termination of Algorithm 1. Let \(r',p\in R_{j-1}\) be the rays whose token contained r. They must be neighbours. Without loss of generality assume that p lies just above \(r'\). If both \(r',p\) are selected in \(S_j\), then there is nothing to prove. Now consider the set A of segments in \(V_{j}\) that intersects r but not p. Note that, no ray above p intersects any segment in A. Hence \(r'\) becomes the only ray in next iterative step whose token contains r and \(r'\) turns to be bottom most ray among those rays in \(R_{j-1}\) which intersect some segment intersecting r. Now consider any iteration \(k>j\). By similar arguments as above, there would be at most one ray in \(R_k\) that contains the token r. Hence the lemma follows.   \(\square \)

For a segment \(v\in V\), let \(N(v)\subseteq R\) be the set of rays that intersect v. Let \(r\in S\) be a ray, i be the minimum integer such that \(r\in S_i\). There must exist a segment \(\nu _r\in V_{i-1}\) such that r is the only ray in \(R_{i-1}\) that intersects \(\nu _r\) and all rays in \(N(\nu _r)\setminus \{r\}\) must have passed the token to its neighbours. So, for each ray \(r\in S\), there exists a segment \(\nu _r\) such that for all \(x\in N(\nu _r)\setminus \{r\}\) we have \(T_{x}=\emptyset \). We call \(\nu _r\) a critical segment with respect to r.

Observation B. For a ray \(r\in S\) let \(\nu _r\) be a critical segment with respect to r. Then \(N(\nu _r)\subseteq T_r\).

Proof

Consider any arbitrary but fixed deleted ray \(y\in N(\nu _r)\setminus \{r\}\) which was deleted at some \(j^{th}\) iteration. By Observation A, there exists a ray \(y'\in R_j\) such that \(y'\) intersects v and \(y\in T_{y'}\). Applying the above argument for all rays in \(N(\nu _r)\setminus \{r\}\), we have the proof.   \(\square \)

Lemma 3

If S is the set returned by SSR-algorithm with rays R and segments V, then \(|S|\le 2|OPT|\), where OPT is an optimum solution of \(\mathcal {SSR}(R,V)\).

Proof

Let R be the set of rays and V be the set of segments with \(|R|=n, |V|=m\). Consider the ILP formulation Q of \(\mathcal {SSR}(R,V)\). For each ray \(r\in R\), let \(x_r\in \{0,1\}\) denote the variable corresponding to r. Objective is to minimize \(\sum \limits _{r\in R} x_r\) with constraints \(\sum \limits _{r\in N(v)} x_r \ge 1\) for all \(v\in V\). Let the corresponding relaxed LP formulation be \(Q_l\).

Let \(\mathbf Q _l=\{x_r\}_{r\in R}\) be an optimal solution of \(Q_l\). Consider SSR-algorithm. Here, define \(y_r=1\) if \(r\in S\), \(y_r=0\) if \(r\notin S\) and \(\mathbf Q '=\{y_r\}_{r\in R}\), obtained by the algorithm. This is a feasible solution of Q as SSR-algorithm terminates only when no segments are left in \(V_i\). Now we fix any arbitrary \(r\in S\) and \(\nu _r\) be a critical segment with respect to r. Then due to Observation B, we know that for all \(z\in N(\nu _r)\setminus \{r\}\) we have \(T_{z}=\emptyset \) and \(N(\nu _r)\subseteq T_r\). Therefore, for the constraint corresponding to \(\nu _r\) in \(Q_l\), we have that

$$\sum _{z\in N(\nu _r)} y_z=1\le \sum _{z\in N(\nu _r)} x_z \le \sum _{z\in T_r} x_z \left[ \text {since }N(\nu _r)\subseteq T_r\text { by Observation B}\right] $$

Therefore, from above argument and from Lemma 2 we conclude that

$$|S|=\sum _{r\in S} y_r=\sum _{r\in S} \sum _{z\in N(\nu _r)} y_z\le \sum _{r\in S} \sum _{z\in T_r} x_z \le 2\sum _{z\in R} x_z \le 2|OPT|.$$

Hence we have the proof.   \(\square \)

The proofs of Lemma 1 and Theorem 4 follows directly from the proof of Lemma 3.

3 Proof of Theorem 3

In this section, we shall give an \(O(n^5)\)-time 8-approximation algorithm to solve the MDS problem on vertically-stabbed-L graphs. In the rest of the paper, OPT(Q) and \(OPT(Q_l)\) denote the cost of the optimum solution of an ILP Q and LP \(Q_l\) respectively.

Overview of the Algorithm: First, we solve the relaxed LP formulation of the ILP of the MDS problem on the input vertically-stabbed-L graph G and create two subproblems. We shall show that one of those two subproblems is equivalent to the SSR problem and the other is equivalent to a Stabbing Rays with Segments problem (defined below) introduced by Katz et al. [15]. We solve these two subproblems individually.

In the Stabbing Rays with Segments (SRS) problem, the input is a set R of disjoint leftward-directed horizontal rays and a set V of disjoint vertical segments. The objective is to select a minimum cardinality subset of V that intersects all rays in R. We shall propose a heuristic algorithm that gives a feasible solution, and its cost is at most twice the cost of the optimum solution of the ILP of SRS.

2-Approximation Algorithm for SRS Problem: With each segment \(v\in V\), we associate a token \(T_v\) which is a subset of V. Initialise \(T_v=\emptyset \) for each \(v\in V\). Let \(r_i\) be the ray whose right-endpoint, \((x_i , y_i)\), has the smallest x-coordinate. We assume without loss of generality that x- and y-coordinates of the endpoints of the rays are all distinct. Assuming that there is a feasible solution to the SRS instance, there must exist a segment of V that intersects \(r_i\). Let \(N(r_i)\subseteq V\) be the set of segments that intersect \(r_i\). Let \(v_{top}\) (resp. \(v_{bot}\)) be a segment in \(N(r_i)\) whose top endpoint is top-most (resp., bottom endpoint is bottom-most); it may be that \(v_{top}=v_{bot}\). We add both \(v_{top}\) and \(v_{bot}\) to our heuristic solution set S. Also we set \(T_{v_{top}}=T_{v_{bot}}=N(r_i)\). We remove from R all of the rays that intersect \(v_{top}\) or \(v_{bot}\), delete all segments in \(N(r_i)\) and then repeat the above steps untill \(R=\emptyset \). Observe that for each ray r, there is a segment \(v\in S\) that intersects r. Also observe that for each segment \(v\in V\), there are at most two tokens such that both of them contains v.

Lemma 4

Let Q be the ILP of the SRS instance with a set of rays R and set of segments V as input and \(Q_l\) be the corresponding relaxed LP. Then \(OPT(Q)\le 2\cdot OPT(Q_l)\).

Proof

Let \(\mathbf X =\{x_v\}_{v\in V}\) be an optimal solution of \(Q_l\) where \(x_v\) denotes the value of the variable in \(Q_l\) corresponding to \(v\in V\). Let S be the solution returned by the above algorithm with RV as input. Now define for each \(v\in V\), \(y_v=1\) if \(v\in S\), \(y_v=0\) if \(v\notin S\) and let \(\mathbf Y =\{y_v\}_{v\in V}\). Observe that \(\mathbf Y \) is a feasible solution of Q. For each \(z\in S\), there is a ray \(r_i\) such that \(T_z=N(r_i)\). Therefore, \(y_z= 1 \le \displaystyle \sum \limits _{v\in N(r_i)} x_v = \displaystyle \sum \limits _{v\in T_{z}} x_v\).

As a segment v is contained in at most two tokens, using the above inequality we have

$$|S|= \displaystyle \sum \limits _{v\in S} y_v\le \displaystyle \sum \limits _{v\in S} \displaystyle \sum \limits _{v'\in T_v} x_{v'}\le 2\displaystyle \sum \limits _{v'\in V} x_{v'}= 2\cdot OPT(Q_l)$$

Hence the result follows.   \(\square \)

Now we describe our approximation algorithm for MDS problem on vertically-stabbed-L graphs. Let \(\mathcal {R}=\{\textsc {L}_u\}_{u\in V}\) be a vertically-stabbed-L-representation of a graph \(G=(V,E)\). Without loss of generality, we assume that (i) the vertical line \(x=0\) intersects all the L-paths in \(\mathcal {R}\) and the x-coordinate of the corner point of each L-path in \(\mathcal {R}\) is strictly less than 0, and (ii) whenever two distinct L-paths intersect in \(\mathcal {R}\), they intersect at exactly one point.

For a vertex \(u\in V\), let N[u] denote the closed neighbourhood of u in G, \(H_u=\{c\in N[u]:\textsc {L}_c~\text {intersects the horizontal segment of}~\textsc {L}_u\}\) and let \(V_u\) denote the set \(N(u)\setminus H_u\). Based on these we have the following ILP (say Q) of the problem of finding a minimum dominating set of G.

figure b

Let \(Q_l\) be the the relaxed LP formulation of Q and \(\mathbf Q _l=\{x_v:v\in V\}\) be an optimal solution of \(Q_l\). Now we define the following sets.

$$A_1=\left\{ u\in V:\displaystyle \sum \limits _{v\in H_u} x_v \ge \frac{1}{2} \right\} , A_2=\left\{ u\in V:\displaystyle \sum \limits _{v\in V_u} x_v \ge \frac{1}{2} \right\} $$
$$H=\bigcup \limits _{u\in A_1} H_u,V=\bigcup \limits _{u\in A_2} V_u$$

Based on these, we consider the following two integer programs \(Q'\) and \(Q''\).

figure c

Let \(Q'_l\) and \(Q''_l\) be the relaxed LP of \(Q'\) and \(Q''\) respectively. Clearly, the solutions of \(Q'\) and \(Q''\) gives a feasible solution for Q. Hence \(OPT(Q)\le OPT(Q') + OPT(Q'')\). For each \(x_v\in \mathbf Q _l\), define \(y_v=\min \{1,2x_v\}\) and define \(\mathbf Y _l=\{y_v\}_{x_v\in \mathbf Q _l}\). Notice that \(\mathbf Y _l\) gives a solution to \(Q'_l\) and \(Q''_l\). Therefore, \(OPT(Q'_l) + OPT(Q''_l)\le 4\cdot OPT(Q_l)\). We have the following lemma.

Lemma 5

\(OPT(Q')\le 2\cdot OPT(Q'_l)\) and \(OPT(Q'')\le 2\cdot OPT(Q''_l)\).

Proof

Note that for each vertex \(u\in A_1\), \(H_u\) is non-empty and for each \(v\in H_u\), \(L_v\) intersects the horizontal segment of \(L_u\). Let R be the set of horizontal segments of the L-paths representing the vertices in \(A_1\) and S be the set of vertical segments of the L-paths representing the vertices in H. Since all horizontal segments in R intersect the vertical line \(x=0\) and the x-coordinates of the vertical segments in S is strictly less than 0, we can consider the horizontal segments in R as rightward directed rays. Hence, solving \(Q'\) is equivalent to solving the ILP, say \(\mathcal {E}\), of the problem of finding a minimum cardinality subset of vertical segments S that intersects all rays in the set R of rightward-directed rays. Hence solving \(\mathcal {E}\) is equivalent to solving an SRS instance with R and S as input. By Lemma 4, we have that

$$OPT(Q')=OPT(\mathcal {E})\le 2\cdot OPT(\mathcal {E}_l)\le 2\cdot OPT(Q'_l)$$

where \(\mathcal {E}_l\) is the relaxed LP of \(\mathcal {E}\). Hence we have proof of the first part.

For the second part, using similar arguments as above, we can show that solving \(Q''\) is equivalent to solving an SSR instance. Hence, by Lemma 1, we have that \(OPT(Q'')\le 2\cdot OPT(Q''_l)\). Hence the proof follows.   \(\square \)

Proof of Theorem 3: Lemma 5 implies that solving \(Q'\) (resp. \(Q''\)) is equivalent to solving SRS (resp. SSR) problem instance. Let A be the union of the solutions returned by 2-approximation algorithm for SRS problem and SSR-algorithm, used to solve \(Q'\) and \(Q''\) respectively. Hence,

$$|A|\le 2(OPT(Q'_l)+OPT(Q''_l)) \le 8\cdot OPT(Q_l) \le 8\cdot OPT(Q)$$

Since \(Q_l\) consists of n variables where \(n=|V|\), solving \(Q_l\) takes \(O(n^5)\) time [19]. Solving both the SSR and SRS instances takes a total of \(O(n\log n)\) time and therefore the total running time of the algorithm is \(O(n^5)\).

4 Proof of Theorem 1 and Theorem 2

First we prove the NP-hardness for the MDS problem on unit \(B_1\)-VPG graphs. The (hw)-grid is the undirected graph G with vertex set \(\{(x,y):x,y\in \mathbb {Z}, 1\le x\le h, 1\le y\le w\}\) and edge set \(\{(u,v)(x,y):|u-x|+|v-y|=1\}\). A graph G is a grid graph if G is an induced subgraph of (hw)-grid for some positive integers hw.

Proof of Theorem 1: We shall reduce the NP-complete MDS problem on grid graphs [6] to the MDS problem on unit \(B_1\)-VPG graphs. It is sufficient to show that for any positive integers hw the (hw)-grid has a unit \(B_1\)-VPG representation. Let \(G=(V,E)\) be a (hw)-grid and \(\epsilon =\frac{1}{hw}\). For each \((x,y)\in V\) consider the unit L-path \(\textsc {L}_{(x,y)}\) such that top endpoint of vertical segment of \(\textsc {L}_{(x,y)}\) is \((x,y-\epsilon (x-1))\). The set \(\mathcal {R}=\{\textsc {L}_{(x,y)}:(x,y)\in V\}\) is a unit \(B_1\)-VPG representation of G. This completes the proof.

To prove Theorem 2 we will need Lemma 6. For sake of clarity, first we shall prove Theorem 2 assuming Lemma 6 to be true. The proof of Lemma 6 uses Lemma 1, but it is omitted due to space constraints.

Lemma 6

Let \(S_1\) and \(S_2\) be sets of orthogonal unit length segments. Let \(\mathcal {C}\) be the ILP of the problem of finding a minimum cardinality subset D of \(S_2\) such that every segment in \(S_1\) intersects some segment in D. There is an \(O(n^5)\)-time algorithm to compute a set \(D'\) which gives a solution of \(\mathcal {C}\) and \(|D'|\le 18\cdot OPT(\mathcal {C}_l)\) where \(n=|S_1\cup S_2|\) and \(\mathcal {C}_l\) is the relaxed LP of \(\mathcal {C}\).

Completion of Proof of Theorem 2 Assuming Lemma 6: Let \(\mathcal {R}\) be a unit \(B_k\)-VPG representation of a unit \(B_k\)-VPG graph \(G=(V,E)\). We shall assume that every vertex of G has a self loop (this does not contradict the intersection model as every rectilinear path intersects itself). For a vertex \(v\in V\), let P(v) denote the path in \(\mathcal {R}\) that corresponds to v. For a vertex \(v\in V\), N(v) and N[v] denote the open neighbourhood and closed neighbourhood of v, respectively. Throughout this section, we assume that the segments of each path \(P\in \mathcal {R}\) are numbered consecutively starting from the leftmost segment by \(1,2,\ldots ,t\) where \(t (\le k+1)\) is the number of segments in P.

Define \(\phi :E\rightarrow \mathbb {N}\times \mathbb {N}\) such that for an edge uv, \(\phi (uv)=(i,j)\) if and only if the \(i^{th}\) segment of P(u) intersects the \(j^{th}\) segment of P(v), and for all \(1\le a<i\) and \(1\le b<j\), the \(a^{th}\) segment of P(u) does not intersect the \(b^{th}\) segment of P(v).

For a vertex \(u\in V\), let \(X_u(i,j)=\{v\in N[u] :\phi (uv)=(i,j)\}\). For distinct pairs (ij) and \((i',j')\) the sets \(X_u(i,j)\) and \(X_u(i',j')\) are disjoint. Let \(\mathcal {K}\) denote the set \(\{1,2,\ldots ,k+1\}\times \{1,2,\ldots ,k+1\}\). Based on these we have the following ILP of the MDS problem on G.

figure d

First step of our algorithm is to solve the relaxed LP formulation (say \(Q_l\)) of Q. Let \(\mathbf {Q}_l=\{x_v:v\in V \}\) be an optimal solution of \(Q_l\). For each vertex \(u\in V\), there is a pair \((i,j)\in \mathcal {K}\) such that \(\sum \limits _{v\in X_u(i,j)} x_v \ge \frac{1}{(k+1)^2}\). For each pair \((i,j)\in \mathcal {K}\), define

$$A(i,j)=\left\{ u\in V:\sum \limits _{v\in X_u(i,j)} x_v \ge \frac{1}{(k+1)^2}\right\} , B(i,j)=\displaystyle \bigcup \limits _{u\in A(i,j)} X_{u}(i,j)$$

Based on these, we have the following ILP for each pair \((i,j)\in \mathcal {K}\).

figure e

For each pair \((i,j)\in \mathcal {K}\), let \(Q_l(i,j)\) be the relaxed LP of Q(ij). We have the following

$$OPT(Q)\le \displaystyle \sum \limits _{(i,j)\in \mathcal {K}} OPT(Q(i,j))$$

For each \(x_v\in \mathbf Q _l\), define \(y_v=\min \{1,x_v(k+1)^2\}\) and define \(\mathbf Y _l=\{y_v\}_{x_v\in \mathbf Q _l}\). Clearly, \(\mathbf Y _l\) gives a solution to \(Q_l(i,j)\) for each \((i,j)\in \mathcal {K}\). Moreover,

$$\displaystyle \sum \limits _{(i,j)\in \mathcal {K}} OPT(Q_l(i,j)) \le (k+1)^4\cdot OPT(Q_l)$$

Now we have the following lemma.

Lemma 7

For each pair \((i,j)\in \mathcal {K}\), there is a solution D(ij) for Q(ij) such that \(|D(i,j)|\le 18\cdot OPT(Q_l(i,j))\).

Proof

For any \((i,j)\in \mathcal {K}\), solving Q(ij) is equivalent to finding a minimum cardinality subset D of B(ij) such that each vertex \(u\in A(i,j)\) has a neighbour in \(D\cap X_u(i,j)\). Notice that, for each \(u\in A(i,j)\) the set \(X_u(i,j)\) is non-empty and each \(v\in X_u(i,j)\), the \(i^{th}\) segment of P(u) intersects the \(j^{th}\) segment of P(v). Let \(S=\{i^{th}\text { segment of } P(u):u\in A(i,j)\}, T=\{j^{th}\text { segment of } P(v):v\in B(i,j)\}\).

Solving Q(ij) is equivalent to the problem of finding a minimum cardinality subset D of T such that every segment in S intersect at least one segment in D. Moreover, every segment in \(S\cup T\) have unit length. Hence by Lemma 6, we have a solution (say D(ij)) for Q(ij) such that \(|D(i,j)|\le 18\cdot OPT(Q(i,j))\).   \(\square \)

For each pair \((i,j)\in \mathcal {K}\), due to Lemma 7, we have a solution D(ij) of Q(ij) such that \(|D(i,j)|\le 18\cdot OPT(Q_l(i,j))\) in polynomial time. Let D be the union of D(ij)’s for all \((i,j)\in \mathcal {K}\). We have that

$$\begin{aligned} \begin{aligned} |D|&= \displaystyle \sum \limits _{(i,j)\in \mathcal {K}} |D(i,j)| \\&\le \displaystyle \sum \limits _{(i,j)\in \mathcal {K}} 18\cdot OPT(Q_l(i,j)) \\&\le 18\cdot (k+1)^4\cdot OPT(Q_l)\le 18\cdot (k+1)^4\cdot OPT(Q) \end{aligned} \end{aligned}$$

This completes the proof of Theorem 2.

5 Conclusion

We initiated the study of approximating MDS of string graphs in terms of their unit \(B_k\)-VPG representation. It is unlikely that there is \(o(\log k)\)-approximaiton algorithm for MDS problem on \(B_k\)-VPG graphs. This naturally leads to the following question.

Question 1

Is there an \(O(\log k)\)-approximation algorithm for the MDS problem on \(B_k\)-VPG graphs or unit \(B_k\)-VPG graphs?