Algorithms and complexity for geodetic sets on interval and chordal graphs6


Abstract

We study the computational complexity of finding the geodetic number of a graph on chordal graphs and interval graphs. A set \(S\) of vertices of a graph \(G\) is a geodetic set if every vertex of \(G\) lies in a shortest path between some pair of vertices of \(S\). The Minimum Geodetic Set (MGS) problem is to find a geodetic set with minimum cardinality of a given graph. We show that Minimum Geodetic Set is fixed parameter tractable for chordal graphs when parameterized by its tree-width (which equals its clique number). This implies a polynomial-time algorithm for \(k\)-trees, for fixed \(k\). Then, we show that Minimum Geodetic Set is NP-hard on interval graphs, thereby answering a question of Ekim et al. (LATIN, 2012), who showed that Minimum Geodetic Set is polynomial-time solvable on proper interval graphs. As interval graphs are very constrained, to prove the latter result, we design a rather sophisticated reduction technique to work around their inherent linear structure.

1 Introduction↩︎

A simple undirected graph \(G\) has vertex set \(V(G)\) and edge set \(E(G)\). For two vertices \(u,v\in V(G)\), let \(I(u,v)\) denote the set of all vertices in \(G\) that lie in some shortest path between \(u\) and \(v\). For a subset \(S\) of vertices of a graph \(G\), let \(I(S)=\bigcup_{u,v\in S} I(u,v)\). We say that \(T\subseteq V(G)\) is covered by \(S\) if \(T\subseteq I(S)\). A set of vertices \(S\) is a geodetic set if \(V(G)\) is covered by \(S\). The geodetic number is the minimum integer \(k\) such that \(G\) has a geodetic set of cardinality \(k\). Given a graph \(G\), the Minimum Geodetic Set (MGS) problem, introduced in [3], is to compute a geodetic set of \(G\) with minimum cardinality. In this paper, we study the computational complexity of Minimum Geodetic Set on interval and chordal graphs. Minimum Geodetic Set is a natural graph covering problem that falls in the class of problems dealing with the important geometric notion of convexity: see [4][6] for some general discussion on graph convexities. The setting of Minimum Geodetic Set is quite natural, and it can be applied to facility location problems such as the optimal determination of bus routes in a public transport network [7], [8]. See also [9] for further applications. The aim of this paper is to study Minimum Geodetic Set on chordal graphs. Chordal graphs are the graphs with no induced cycle of order greater than \(3\); equivalently, they are the intersection graphs of subtrees of trees. Their structural properties imply an interesting behaviour for various types of convexity, as pointed out in [5], [10].

The algorithmic complexity of Minimum Geodetic Set has been studied actively. Minimum Geodetic Set is known to be NP-hard on chordal graphs [10], chordal bipartite graphs [11], [12], subcubic graphs [13], planar graphs [7], partial grids [1], [2], co-bipartite graphs [9], line graphs [1], and graphs of diameter 2 [1]. On the positive side, polynomial-time algorithms to solve Minimum Geodetic Set are known for cographs [12], split graphs [10], [12] and its superclass well-partitioned chordal graphs [14], ptolemaic graphs [5] and more generally distance-hereditary graphs [15], block-cactus graphs [9], outerplanar graphs [16], solid grid graphs [1], [2], and proper interval graphs [9]. From the perspective of parameterized complexity, Minimum Geodetic Set is unlikely to be FPT (it is W[1]-hard) for the parameters solution size, feedback vertex set number, and pathwidth, combined [17]. In fact it is even NP-hard for graphs that have pathwidth 17 and feedback vertex set number 13 [18]. The problem is FPT for each of the parameters tree-depth, modular-width and feedback edge set number [17], and also for treewidth and diameter, combined [19]. The approximability of Minimum Geodetic Set has also been studied in [7], [20], and fine-grained complexity aspects with respect to solution size and structural parameters have been studied in [19], [21].

Our results. To complement the hardness of Minimum Geodetic Set on chordal graphs, in this paper, we design an FPT algorithm for Minimum Geodetic Set on chordal graphs when parameterized by its treewidth, which equals its clique number \(\omega\) minus one. We use dynamic programming on tree-decompositions to prove the following.

Theorem 1. Minimum Geodetic Set can be solved in time \(2^{2^{O(w)}} n\) for chordal graphs and in time \(2^{O(w)}n\) for interval graphs, where \(n\) is the order and \(w\) the treewidth of the input graph.

This result applies to the following setting. A \(k\)-tree is a graph formed by starting with a complete graph on \((k + 1)\) vertices and then repeatedly adding vertices by making each added vertex adjacent to exactly \(k\) neighbours forming a \((k+1)\)-clique. Allgeier [22] gave a polynomial-time algorithm to solve Minimum Geodetic Set on maximal outerplanar graphs, which is a subclass of \(2\)-trees, and thus our algorithm generalizes this result (note that \(2\)-trees are both chordal and planar), as it shows that Minimum Geodetic Set can be solved in time \(2^{2^{O(k)}}n\) for \(k\)-trees of order \(n\). Recall that this is unlikely to hold for partial \(k\)-trees (which are exactly the graphs of treewidth at most \(k\)) since Minimum Geodetic Set is NP-hard for graphs of treewidth 14 [18]. Recently, it has been proved that Minimum Geodetic Set does not admit a \(2^{2^{o(w)}}\cdot n^{O(1)}\) algorithm (where \(w\) is the treewidth) even on bounded diameter graphs [19].

In this paper, we further strengthen the existing NP-hardness result of Minimum Geodetic Set on chordal graphs by proving it to be NP-hard on interval graphs. An interval representation of a graph \(G\) is a collection of intervals on the real line such that two intervals intersect if and only if the corresponding vertices are adjacent in \(G\). A graph is an interval graph if it has an interval representation. Ekim et al. [9] asked if there is a polynomial-time algorithm for Minimum Geodetic Set on interval graphs. We give a negative answer to their question in the following theorem (note that proper interval graphs are the interval graphs with no induced \(K_{1,3}\)).

Theorem 2. Minimum Geodetic Set is NP-hard for interval graphs (even with no induced \(K_{1,5}\)).

This result is somewhat surprising, as most covering problems can be solved in polynomial time on interval graphs (but other distance-based problems, like Metric Dimension, are NP-complete for interval graphs [23]). Our reduction (from \(3\)-Sat) uses a quite involved novel technique, that we hope can be used to prove similar results for other distance-related problems on interval graphs. The main challenge here is to overcome the linear structure of the graph to transmit information across the graph. To this end, we use a sophisticated construction of many parallel tracks, i.e., shortest paths with intervals of (mostly) the same length spanning roughly the whole graph, and such that each track is shifted with respect to the previous one. Each track represents shortest paths that will be used by solution vertices from our variable and clause gadgets. In between the tracks, we are able to build our gadgets.

We remark that Minimum Geodetic Set admits a polynomial-time algorithm on proper interval graphs by a nontrivial dynamic programming scheme [9]. Problems known to be NP-complete on interval graphs but polynomial-time solvable on proper interval graphs are quite rare; two examples known to us are Equitable Coloring [24] and Induced Subgraph Isomorphism [25]. Theorem 2 together with the algorithm from [9] adds Minimum Geodetic Set to this list. The state-of-the-art complexity status of Minimum Geodetic Set for various subclasses of chordal graphs is depicted in Figure 1.

Structure of the paper. In Section  3, we describe the fixed parameter tractable algorithm for chordal graphs. In Section 4, we prove hardness for interval graphs. We conclude in Section 5.

Figure 1: Inclusion diagram for subclasses of chordal graphs. If a class A has an upward path to class B, then A is included in B. For graphs in the green classes, Minimum Geodetic Set is polynomial-time solvable; for graphs in the red classes, it is NP-complete. The results from the two bold boxes are proved in this paper.

2 Preliminaries↩︎

Let \(G\) be a graph. Throughout this paper, unless otherwise specified, all graphs are assumed to be connected. This is without loss of generality, as the geodetic number of a disconnected graph is simply the sum of the geodetic numbers of its connected components. For a subset \(S\subseteq V(G)\), let \(G[S]\) denote the subgraph of \(G\) induced by the vertex set \(S\). Further, let \(G-S\) denote the subgraph \(G[V(G)\setminus S]\). To ease the presentation, for a vertex \(v\in V(G)\) and a subgraph \(H\) of \(G\), we denote \(G-\{v\}\) by \(G-v\) and \(G-V(H)\) by \(G-H\). For two vertices \(u,v\in V(G)\), let \(d(u,v)\) denote the length of a shortest path between \(u\) and \(v\). For a vertex \(v\in V(G)\), let \(N(v) = \{u~|~uv\in E(G)\}\) and let \(N[v] = N(v)\cup \{v\}\). A subgraph \(H\) of \(G\) is a clique if every \(u,v\in V(H)\), \(uv \in E(G)\). The maximum size of a clique in \(G\) is defined as the clique number of \(G\), denoted by \(\omega(G)\). A vertex set \(X\subseteq V(G)\) is a clique cutset of \(G\) if \(G[X]\) is a clique and \(G-X\) is disconnected.

A graph is chordal if every cycle of length at least \(4\) has a chord. A vertex \(v\in V(G)\) is simplicial if \(N[v]\) induces a clique in \(G\). It is well known that every non-trivial chordal graph has at least two simplicial vertices. It is easy to observe that if \(v\) is a simplicial vertex of \(G\), then every geodetic set of \(G\) contains \(v\) as for any \(u,w\) distinct from \(v\), \(v\notin I(u,w)\).

Definition 1 (Treewidth). A tree decomposition* of a graph \(G\) is a pair \((T,\beta)\), where \(T\) is a tree and \(\beta\) is a mapping from \(V(T)\) to subsets of \(V(G)\) (also called bags), i.e., \(\beta: V(T) \rightarrow 2^{V(G)}\), satisfying the following properties.*

  1. For every \(uv \in E(G)\), there exists \(t\in V(T)\), such that \(\{u,v\} \subseteq \beta(t)\).

  2. For every \(v \in V(G)\), the subgraph of \(T\) induced by the set \(T_v = \{ t \in V(T)~|~v \in \beta(t)\}\) is a non-empty tree.

The width* of a tree decomposition \((T,\beta)\) is \(\max_{t\in V(T)} |\beta(t)| - 1\). The treewidth of \(G\) is the minimum possible width of a tree decomposition of \(G\). The mapping \(\beta\) is extended from vertices of \(T\) to subgraphs of \(T\). In particular, for a subgraph \(U\) of \(T\), \(\beta(U) = \bigcup_{v\in V(U)} \beta(v)\).*

In order to better facilitate the dynamic programming, it is sometimes beneficial to have a tree decomposition with “nice” additional properties. Our algorithm performs dynamic programming on a nice tree decomposition of the input chordal graph, as defined in [26] based on the notion of nice tree-decompositions for general graphs [27]. To ease the presentation of our algorithm, we assume additional properties that the leaf nodes and the root node are empty bags. Notice that this can be attained by adding \(O(|V(G)|)\) many nodes to the tree decomposition using standard techniques.

Definition 2. A nice tree decomposition* of a chordal graph \(G\) is a tree decomposition \((T, \beta)\), of width \(\omega(G)-1\), where \(T\) is a rooted tree and each internal node of \(T\) has one or two children, with the following additional properties.*

  1. For each node \(v\in V(T)\), either \(\beta(v)=\emptyset\) or \(G[\beta(v)]\) is a clique.

  2. Each node of \(T\) belongs to one of the following types: introduce, forget, join* or leaf.*

  3. A join node \(v\) has two children \(v_1\) and \(v_2\) such that \(\beta(v) = \beta(v_1) = \beta(v_2)\).

  4. An introduce node \(v\) has one child \(v_1\) such that \(\beta(v) \setminus \left\{x\right\} = \beta(v_1)\), where \(x \in \beta(v)\).

  5. A forget node \(v\) has one child \(v_{1}\) such that \(\beta(v) = \beta(v_1) \setminus \left\{x\right\}\), where \(x \in \beta(v_1)\).

  6. A leaf node \(v\) is a leaf of \(T\) with \(\beta(v)=\emptyset\).

  7. The tree \(T\) is rooted at a leaf node \(r\) with \(\beta(r) = \emptyset\).

3 FPT Algorithm for Chordal Graphs↩︎

We present an FPT algorithm for chordal graphs parameterized by the clique number (which is also the treewidth plus \(1\)). We assume a nice tree decomposition \((T, \beta)\) of our chordal graph. If no such decomposition is given, we can compute one in \(O(n+m)\) time. Our algorithm traverses the nice tree decomposition bottom-up. At each node \(v\) of the tree, we construct a table of size \(O\left(2^{2^{\omega(G)}}\right)\) containing “partial solutions” for the graph induced by the vertices in the bags of the subtree rooted at \(v\) (denoted by \(G_{\leq v}\)). Informally, a partial solution for \(G_{\leq v}\) is a set of vertices of \(G_{\leq v}\) that, when combined with certain other vertices of \(G-G_{\leq v}\), covers all vertices of \(G_{\leq v}\). We associate a “type” to each of these partial solutions which encodes, among other information, the vertices required to convert it into a valid solution for \(G_{\leq v}\), and the effect of this partial solution to the rest of the graph (Definition 4).

To ensure that at least one of these partial solutions can be “extended” and will be part of a geodetic set with minimum cardinality of \(G\), we characterize the shortest path structure between a pair of vertices \(u,w\) where \(u\in V(G_{\leq v})\) and \(w\in V(G) \setminus V(G_{\leq v})\) (Lemma 1). Observe that \(v\) cannot be a leaf or parent of a leaf in \(T\), and therefore, we observe that the vertices in the bag \(\beta(v)\) induce a clique cutset (clique whose removal disconnects the graph) and all shortest paths between \(u,w\) contain vertices from \(\beta(v)\). Let \(X'\subseteq \beta(v)\) be the vertices lying in some shortest path between \(u,w\). Observe that “pre-selecting” the vertices of \(X'\) captures the effect of \(w\) on \(G_{\leq v}\), if \(w\) is selected in the solution set. For a given solution set, doing this for all vertices of the set, we obtain a collection of subsets of \(\beta(v)\). Hence, by considering all \(2^{2^{|\beta(v)|}}\) different collections of subsets of \(\beta(v)\), we can capture the possible effects of all the solution vertices in \(G-G_{\leq v}\), i.e., “exterior vertices” on \(G_{\leq v}\). For different collections of subsets of \(\beta(v)\), we have different “types” of partial solutions.

Once we have all the partial solutions for the children of a node \(v\), we show how to extend these to get the partial solutions of \(v\). It is possible that a partial solution of a node of some “type” is extended to a partial solution of its parent of a different “type”. Depending on the node under consideration, we define an exhaustive set of rules to ensure that the extended partial solutions are valid (Definitions 5, 6, 7, 8). We prove the exhaustiveness of these rules in Lemmas 4, 5, 6, 7 and we prove the correctness of our algorithm in Lemma 8.

3.1 Geodetic Sets and Clique Cutsets↩︎

Recall that on general (non-chordal) graphs, Minimum Geodetic Set is W[1]-hard when parameterized by treewidth (even for much more restricted parameters solution size, feedback vertex set number and pathwidth, combined) [17] and even NP-hard for graphs of feedback vertex set number 13 and pathwidth 17 [18]. What helps us achieve tractability in the case of chordal graphs is the existence of clique cutsets in chordal graphs and the fact that they interact nicely with the shortest paths. We introduce a few definitions and notations first.

Definition 3. Consider a graph \(G\), and let \(y\) be a vertex of \(G\) and \(X\) be a subset of \(V(G)\) such that \(G[X]\) is a clique. We say that \(y\) is close* to a nonempty set \(A \subseteq X\) with respect to \(X\) if \(d(y,x) = d_y\) when \(x \in A\) and \(d(y,x) = d_y +1\) when \(x \in X \setminus A\), for some integer \(d_y\).*

Using this definition, we have the following intuitive but crucial lemma.

Lemma 1. Let \(X\) be a clique cutset of a graph \(G\) and \(u,v\) be vertices lying in two different connected components of \(G-X\). Let \(A\) and \(B\) be two subsets of \(X\) such that \(u\) (resp. \(v\)) is close to \(A\) (resp. \(B\)) with respect to \(X\). Then, a vertex \(x\in I(u,v) \cap X\) if and only if \(x \in A \cap B\) or, \(A \cap B = \emptyset\) and \(x \in A \cup B\).

Proof. Assume that for all \(y \in A\), \(d(u,y) = d_u\) and for all \(y \in B\), \(d(v,y) = d_v\) for some integers \(d_u\), \(d_v\) and let \(x \in X\). We distinguish the following two cases. See Figure 2 for an illustration.

a
b

Figure 2: Illustration of Lemma 1. In both (a) and (b), any \(u,v\)-path passing through \(z\) has length at least \(d_u+d_v+2\), and hence \(z\notin I(u,v)\). In (a), \(y\in I(u,v)\) and \(x,w\notin I(u,v)\) since any \(u,v\)-path that passes through any of \(x\) or \(y\) has length at least \(d_u+d_v+1\). In (b), both \(x,w\in I(u,v)\).. a — \(A\cap B \neq \emptyset\) and \(y\in A\cap B\). Here, \(d(u,v)= d_u +d_v\)., b — \(A\cap B = \emptyset\). Here, \(d(u,v)= d_u +d_v+1\).

  1. \(A \cap B\neq\emptyset\). Let \(y\) be some vertex in \(A\cap B\). First, observe that \(d(u,v) \leq d(u,y)+d(v,y) = d_u + d_v\) and \(d(u,v) \geq d_u+d_v\) as any shorter path would contradict the definition of \(A\) and \(B\). Thus \(d(u,v) = d_u+d_v\). If \(x \in A \cap B\), then \(d(u,x) + d(x,v) = d_u + d_v\), and hence, \(x \in I(u,v)\). Conversely, if \(x \notin A \cap B\), then observe that \(d(u,x) + d(x,v) \geq d_u + d_v +1\) since every \(u\) to \(v\) path contains an edge entirely contained in \(G[X]\), and hence, \(x \notin I(u,v)\).

  2. \(A \cap B = \emptyset\). First, observe that \(d(u,v) \geq d_u + d_v + 1\), as any shorter path would imply the existence of a vertex \(y \in X\) such that \(d(u,y) + d(y,v) \leq d_u + d_v\), which would contradict \(A \cap B = \emptyset\). Since there is some vertex \(y\in A\), \(d(u,v) \leq d_u + d_v + 1\) as \(d(u,y) + d(y,v) \leq d_u + d_v +1\). Hence, \(d(u,v) = d_u + d_v + 1\). Now, if \(x\in A \cup B\), then \(d(u,x) + d(x,v) = d_u + d_v +1\), and hence \(x \in I(u,v)\). Conversely, if \(x \notin A \cup B\), then \(d(u,x) + d(x,v) = d_u + d_v +2\), and hence \(x \notin I(u,v)\).

This completes the proof. ◻

3.2 The Algorithm↩︎

From now on, let \(T\) denote a nice tree decomposition of \(G\). For a node \(v\in T\), let \(G_{\leq v}\) be the subgraph of \(G\) induced by the vertices present in the nodes of the subtree of \(T\) rooted at \(v\); let \(G_{< v}\) denote \(G_{\leq v}-\beta(v)\); \(G_{\geq v}\) denote \(G-V(G_{ <v})\); and \(G_{> v}\) denote \(G_{\geq v}-\beta(v)\). For a node \(v\), let \(\mathcal{T}_v\) be the set of all \(5\)-tuples \(\tau= (\tau^{int}, \tau^{ext}, \tau^{cov}, \tau^{uncov}, \tau^{bag})\) where \(\tau^{int},\tau^{ext}\) are Boolean vectors of size \(2^{|\beta(v)|}\) indexed by subsets of \(\beta(v)\) and \(\tau^{cov},\tau^{uncov},\tau^{bag}\) are subsets of \(\beta(v)\), and together they constitute a partition of \(\beta(v)\). Since \(|\beta(v)|\leq \omega(G)\), the cardinality of \(\mathcal{T}_v\) is \(2^{2^{O(\omega(G))}}\). We provide an intuition for the elements of the tuple in the following paragraphs.

For a node \(v\) and a \(5\)-tuple \(\tau= (\tau^{int}, \tau^{ext}, \tau^{cov}, \tau^{uncov}, \tau^{bag})\) let \(H^{\tau}_{v}\) denote the graph obtained by adding a vertex \(S_v\) to \(G_{\leq v}\) whenever there is a set \(S\subseteq \beta(v)\) with \(\tau^{ext}[S] = 1\), and making \(S_v\) adjacent to each \(x \in S\). See Figure 3 for an illustration. Let \(S^{\tau}_{v} = \left\{S_v \colon S\subseteq \beta(v),\tau^{ext}[S]=1\right\}\) denote the set of newly added vertices. Observe that \(G_{\leq v}\) is an induced subgraph of \(H^{\tau}_{v}\) for any \(5\)-tuple \(\tau\in \mathcal{T}_v\).

Figure 3: Here v is a node of T such that \beta(v) = \left\{x_1,\ldots,x_6\right\}. Further, let \tau= (\tau^{int}, \tau^{ext}, \tau^{cov}, \tau^{uncov}, \tau^{bag}) be a 5-tuple such that for S\subseteq \beta(v), \tau^{ext}[S] = 1 iff S\in \mathcal{S}=\left\{\left\{x_1,x_2,x_3\right\}, \left\{x_2,x_4,x_6\right\}, \left\{x_3,x_4\right\}, \left\{x_5,x_6\right\}, \left\{x_6\right\}\right\}. We construct H^{\tau}_{v} by first considering the graph G_{\leq v} and for each S\in \mathcal{S}, we add a vertex in S^{\tau}_{v} and connect it to each vertex of S.

We begin by providing an intuition for our \(5\)-tuple parameters. For each \(5\)-tuple \(\tau\) of \(\mathcal{T}_v\), we will store a “partial solution” of minimum size, say \(Q\subseteq V(G_{\leq v})\), which has the following properties: In graph \(H^{\tau}_{v}\), for each vertex \(x\in \tau^{cov}\), there exists a pair of vertices \(w_1,w_2 \in Q\cup S^{\tau}_{v}\) such that \(w_1\in Q\) and \(x\) is covered by \(w_1\) and \(w_2\) (i.e., \(x\in I(w_1,w_2)\)). Intuitively, for a set \(A\subseteq \beta(v)\) of vertices, the Boolean \(\tau^{int}[A]\) represents whether there is some vertex \(y\) in the partial solution for \(G_{\leq v}\) such that \(y\) is close to \(A\) with respect to \(\beta(v)\) (“int” stands for “interior”). The Boolean \(\tau^{ext}[A]\) represents whether we need to add, at a later step of our algorithm, some vertex \(y\) which is close to \(A\) with respect to \(\beta(v)\). Here, \(y\) is a vertex of \(G_{> v}\) that needs to be added later to the solution, in the upper part of the tree (“ext” stands for “exterior”). Moreover, \(\tau^{bag}\) is the set of vertices of the partial solution that are present in the bag (i.e., \(Q\cap \beta(v)\)). Furthermore, \(\tau^{cov}\) imposes the condition on which vertices of \(\beta(v)\) must be covered by a pair of vertices, one of which must be from the partial solution and the other vertex could be either from the partial solution or could be an exterior solution vertex from \(G_{>v}\). Finally, \(\tau^{uncov}= \beta(v)\setminus (\tau^{bag}\cup \tau^{cov})\) are the vertices of \(\beta(v)\) that will only be covered by a pair of vertices from \(G_{>v}\).

Since each non-empty bag of our tree decomposition induces a clique, the information whether there is a vertex in the partial solution that is close to \(A\) with respect to \(\beta(v)\) (stored in \(\tau^{int}[A]\)) and whether there will be a vertex that will be selected later in the solution that will be close to \(A\) with respect to \(\beta(v)\) (stored in \(\tau^{ext}[A]\)) shall be very useful to us (using Lemma 1). We formally define the properties of the \(5\)-tuples and partial solutions that we will be using for our algorithm in the following definition.

Definition 4. Let \(v\) be a node of \(T\). A \(5\)-tuple \(\tau= (\tau^{int}, \tau^{ext}, \tau^{cov}, \tau^{uncov}, \tau^{bag})\) of \(\mathcal{T}_v\) is a “type associated with \(v\)” if there exists a set of vertices \(X\subseteq V(H^{\tau}_{v})\) such that the following hold.

  1. \(S^{\tau}_{v} \subseteq X\) and \(\tau^{bag}= X \cap \beta(v)\).

  2. For each vertex \(w\in V(G_{< v}) \cup \tau^{cov}\), there exists a pair \(w_1,w_2 \in X\) such that \(w\in I(w_1,w_2)\) and \(w_1 \in X\setminus S^{\tau}_{v}\).

  3. For a subset \(A\subseteq \beta(v)\), we have \(\tau^{int}[A]=1\) if and only if \(X \cap V(G_{\leq v})\) contains a vertex which is close to \(A\) with respect to \(\beta(v)\).

Moreover, we shall say that the set \(X\setminus S^{\tau}_{v}\) is a “certificate” for \((v,\tau)\).

Remark Note that Definition 4 requires that vertices in \(\tau^{cov}\) are covered by \(X\), but it does not explicitly forbid vertices in \(\tau^{uncov}\) from being covered. In our dynamic programming algorithm, if a partial solution \(X\) covers a vertex \(w \in \tau^{uncov}\), it will also be a valid certificate for a "stronger" type where \(w \in \tau^{cov}\). Since we compute a minimum-size set, the algorithm will naturally propagate the type that correctly identifies \(w\) as covered whenever this information is necessary for extending the solution. Thus, for simplicity, we do not enforce the negative constraint in the definition.

Observe that the only type associated with the root node of \(T\) is \(\tau_0 = (\mathbf{0},\mathbf{0},\emptyset,\emptyset,\emptyset)\) where \(\mathbf{0}\) denotes the all-\(0\) vector. Now, we characterize the types associated with different sorts of nodes of the nice tree decomposition \(T\). Lemma 1 implies that to compute an optimal (partial) solution for \(G_{\leq v}\) for a given node \(v\), it is sufficient to “guess” for which subsets \(A\) of \(\beta(v)\), there will exist (in the future solution that will be computed for ancestors of \(v\)) a vertex \(y\) which is close to \(A\) with respect to \(\beta(v)\).

Suppose we have a fixed geodetic set \(D\) of \(G\). In the following lemma, we show that when \(D\) is restricted to a particular subgraph \(G_{\leq v}\), the set \(D\cap G_{\leq v}\) serves as a certificate of some \((v,\tau)\).

Lemma 2. Let \(D\) be a geodetic set of \(G\), then for each node \(v\in T\), there is a \(5\)-tuple \(\tau=(\tau^{int},\tau^{ext},\tau^{cov},\tau^{uncov},\tau^{bag})\) such that \(\tau\) is a type associated with \(v\) and \(D\cap V(G_{\leq v})\) is a certificate of \((v,\tau)\).

Proof. We construct \(\tau\) from \(D\) as follows. Define \(\tau^{bag}= D\cap \beta(v)\). For each vertex \(u\in D\cap V(G_{\leq v})\) we find the set \(Z_u\subseteq \beta(v)\) such that \(u\) is close to \(Z_u\) with respect to \(\beta(v)\) and put \(\tau^{int}[Z_u]=1\). For each \(u\in D\cap V(G_{>v})\) we find the set \(Z_u\subseteq \beta(v)\) such that \(u\) is close to \(Z_u\) with respect to \(\beta(v)\) and put \(\tau^{ext}[Z_u]=1\). Similarly, let us construct \(H^{\tau}_v\), and let \(X= S^{\tau}_v \cup (D\cap G_{\leq v})\). Now, for each vertex \(w\in \beta(v)\setminus D\), if \(w\in I(w_1,w_2)\) such that \(w_1,w_2\in X\) and \(w_1\in X\setminus S^{\tau}_v\), then we put \(w\) in \(\tau^{cov}\). Finally, we put \(\tau^{uncov}=\beta(v) \setminus (\tau^{bag}\cup \tau^{cov})\). Observe that \(D \cap V(G_{\leq v})\) is a certificate of \((v,\tau)\) and \(\tau\) is a type associated with \(v\). ◻

For a node \(v\), there might be some \(5\)-tuples in \(\mathcal{T}_v\) which are not associated with \(v\). In the following lemma, we establish certain restrictions that any type associated with \(v\) must follow.

Lemma 3. Let \(v\) be a node of \(T\) and \(\tau=(\tau^{int},\tau^{ext},\tau^{cov},\tau^{uncov},\tau^{bag})\) be a type associated with \(v\). Then \(\tau\) must satisfy all of the following conditions.

  1. Whenever we have a vertex \(u \in \tau^{bag}\) we have \(\tau^{int}[\left\{u\right\}] = 1\).

  2. \(\tau^{int}[\emptyset] = \tau^{ext}[\emptyset] = 0\).

  3. Let \(x \in \beta(v)\) and \(A,B\subseteq \beta(v)\) such that \(\tau^{int}[A] = 1\) and \(\tau^{ext}[B] = 1\). Then, if either \(x \in A \cap B\) or \(A \cap B = \emptyset\) and \(x \in A \cup B\), then \(x\in \tau^{cov}\).

Proof. The proof of (a) follows from the fact that for a clique cutset \(X\) and a vertex \(u\in X\), \(u\) is close to \(\left\{u\right\}\) with respect to \(X\). The proof of (b) follows from the fact that there can be no vertex close to \(\emptyset\) with respect to \(\beta(v)\). The proof of (c) follows directly from Lemma 1. ◻

From now on for a node \(v\), we will only consider the \(5\)-tuples which satisfy the conditions of Lemma 3.

Let \(v\) be an introduce node and \(u\) be its child, and let \(\tau,\tau_1\) be types associated with \(v,u\) respectively. Below, we state some compatibility rules that \(\tau\) and \(\tau_1\) must follow so that the certificate of \((u,\tau_1)\) can be extended to a certificate of \((v,\tau)\).

Definition 5. Let \(v\) be an introduce node and \(\tau\) be a type associated with \(v\). Let \(u\) be the child of \(v\) such that \(\beta(v) =\beta(u) \cup \{x\}\) and \(\tau_1\) be a type associated with \(u\). The pair \((\tau,\tau_1)\) is compatible* if the following holds.*

  1. \(\tau^{bag}_1 = \tau^{bag}\setminus \left\{x\right\} =\tau^{bag}\cap \beta(u)\).

  2. If \(x\notin \tau^{bag}\), then \(\tau^{cov}_1 = \tau^{cov}\setminus \left\{x\right\} = \tau^{cov}\cap \beta(u)\) and \(\tau^{uncov}_1 = \tau^{uncov}\setminus \left\{x\right\} = \tau^{uncov}\cap \beta(u)\).

  3. If \(x\in \tau^{bag}\), then let us define the set \(Cov(v)\) as follows: for each \(w\in \beta(u)\), we put the vertex \(w\) in \(Cov(v)\) if and only if all of the following are true:

    1. \(\exists A\subseteq \beta(u)\) with \(w\in A\) such that \(\tau^{ext}[A] = \tau^{ext}_1[A]=1\), and

    2. for each \(B\subseteq \beta(u)\) such that \(w\in \beta(u)\), \(\tau^{int}_1[B] = 0\), and

    3. for each \(B\subseteq \beta(u)\) with \(w\in \beta(u)\) such that \(\tau^{ext}_1[B] = 1\), \(\tau^{bag}_1 \subseteq B\setminus \{w\}\).

    Then, \(\tau^{cov}_1 = \tau^{cov}\setminus Cov(v)\), \(\tau^{cov}= \tau^{cov}_1\cup Cov(v)\), and \(\tau^{uncov}_1 = \tau^{uncov}\cup Cov(v)\).

  4. For all non-empty \(A \subsetneq \beta(u)\), \(\tau^{ext}_1[A] = 1\) if and only if \(\tau^{ext}[A] = 1\) or \(\tau^{ext}[A \cup \left\{x\right\}] = 1\).

  5. \(\tau^{ext}_1[\emptyset] = 0\). Moreover, given that \(\beta(u) \neq \emptyset\), \(\tau^{ext}_1[\beta(u)] = 1\) if and only if \(\tau^{ext}[\beta(v)] = 1\), \(\tau^{ext}[\beta(u)] = 1\), \(x \in \tau^{bag}\) or \(\tau^{ext}[\left\{x\right\}] = 1\).

  6. If \(x\in \tau^{cov}\) then there exist non-empty sets \(A\subseteq \beta(u)\), \(B\subseteq \beta(v)\setminus A\) such that \(\tau^{int}_1[A]=1\) and \(\tau^{ext}[B\cup \left\{x\right\}]=1\).

  7. \(\tau^{int}[\left\{x\right\}] = 1\) if and only if \(x \in \tau^{bag}\).

  8. For all non-empty \(A \subseteq \beta(u)\), \(\tau^{int}[A \cup \left\{x\right\}] = 0\).

  9. For all \(A \subseteq \beta(u)\), \(\tau^{int}[A] = 1\) if and only if \(\tau^{int}_1[A] = 1\).

Lemma 4. Let \(v\) be an introduce node, \(\tau\) be a type associated with \(v\), \(u\) be the child of \(v\) and \(D\) be a minimal certificate of \((v,\tau)\). Then there exists a type \(\tau_1\) associated with \(u\) such that \((\tau,\tau_1)\) is a compatible pair.

Proof. Let \(\beta(v)=\beta(u) \cup \left\{x\right\}\). Define \(\tau^{bag}_1 = D \cap \beta(u)\), and \(\tau^{int}_1[A] = 1\) if and only if there exists \(y \in D \setminus \left\{x\right\}\) such that \(y\) is close to \(A\) with respect to \(\beta(u)\). Finally, define \(\tau^{cov}_1\) and \(\tau^{uncov}_1\) according to Definitions 5[it:intro-bnew] and 5[it:intro-bnew1], and define \(\tau^{ext}_1\) according to Definitions 5[it:intro-c] and 5[it:intro-d]. To complete our proof, we will establish that the set \(D'=D\setminus \left\{x\right\}\) satisfies all of the conditions in Definition 4 for \((u,\tau_1)\) and the pair \((\tau,\tau_1)\) satisfies all conditions in Definition 5. Observe that all of the conditions are trivially satisfied if \(\beta(u) =\emptyset\), thus we assume that \(\beta(u) \neq \emptyset\) for the rest of the proof.

To begin with, we establish that \(\tau_1\) is a type associated with \(u\) satisfying all of the conditions in Definition 4. Since \(\tau\) is a type associated with \(v\) and \(D\) is a (minimal) certificate, we have that there exists a set of vertices \(X\subseteq V(H^{\tau}_v)\) such that \(X=D \cup S^{\tau}_v\) and (i) \(S^{\tau}_v \subseteq X\) and \(\tau^{bag}=X\cap \beta(v)\), (ii) for each vertex \(w\in (V(G_{\leq v})\setminus \beta(v)) \cup \tau^{cov}\), \(\exists w_1,w_2\in X\) such that \(w\in I(w_1,w_2)\) and \(w_1\in X\setminus S^\tau_v\), and (iii) for each \(A\subseteq \beta(v)\), we have \(\tau^{int}[A]=1\) if and only if \(X\cap V(G_{\leq v})\) contains a vertex which is close to \(A\) with respect to \(\beta(v)\). Now, let \(X'= (X\cap V(G_{\leq u}) \cup S^{\tau_1}_u = D'\cup S^{\tau_1}_u\) . By definition of \(\tau^{bag}_1\) and \(X'\), we have that \(\tau^{bag}_1 = D\cap \beta(u) = (D' \cup \left\{x\right\}) \cap \beta(u) = D' \cap \beta(u)\) (since \(x\notin \beta(u)\)), and \(S^{\tau_1}_v \subseteq X'\). Since Definition 4[it:type-1] and 4[it:type-3] are trivially satisfied, to complete our proof we will show that for each vertex \(w\in V(G_{< v}) \cup \tau^{cov}\), \(\exists w_1,w_2\in X\) such that \(w\in I(w_1,w_2)\) and \(w_1\in X\setminus S^\tau_v\). Targeting a contradiction, let there be some vertex \(w'\in V(G_{< u})\cup \tau^{cov}_1\) such that there is no \(w'_1,w'_2 \in X'\) such that \(w'\in I(w'_1,w'_2)\) and \(w'_1\in X'\setminus S^{\tau_1}_v\). Since, \(\tau^{cov}_1\subseteq \tau^{cov}\) and \(V(G_{\leq u})\setminus \beta(u) = V(G_{\leq v})\setminus \beta(v)\), we have that \(w'\in (V(G_{\leq v})\setminus \beta(v)) \cup \tau^{cov}\). Therefore, \(\exists w_1,w_2\in X\) such that \(w'\in I(w_1,w_2)\) and \(w_1\in X\setminus S^\tau_v \subseteq (X'\setminus S^{\tau_1}_u)\cup \left\{x\right\}\). We distinguish two cases depending on whether \(x\in \tau^{bag}\) or not.

  1. \(x\notin \tau^{bag}\): Then, \(w_1 \neq x\) and \(w_2\neq x\). In this case \(w_1\in X'\setminus S^{\tau_1}_u\). Here, if \(w_2\in X'\setminus S^{\tau_1}_u\), then we reach a contradiction since \(w'\in I(w_1,w_2)\), \(w_1,w_2\in X'\) and \(w_1\in X'\setminus S^{\tau_1}_v\). If \(w_2\notin X'\setminus S^{\tau_1}_u\), then \(w_2\in S^{\tau}_v\). Thus, \(\exists A\subseteq \beta(v)\) such that \(\tau^{ext}[A]=1\). Now, as per Definition 5[it:intro-c]-[it:intro-d], if \(A\subsetneq \beta(v)\), then \(\tau^{ext}_1[A]=1\) and else, \(\tau^{ext}[\beta(u)]\)=1. In both cases, there is a vertex \(w'_2\in S^{\tau_1}_u\) whose impact on the bag is same as \(w_2\), leading us to a contradiction.

  2. \(x\in \tau^{bag}\). If \(w_1\neq x\) and \(w_2\neq x\), then our proof is identical to the above case. Therefore, without loss of generality, let us assume that \(w_1= x\). Since \(x\in \tau^{bag}\), due to Definition 5[it:intro-d], we have that \(\tau^{ext}_1[\beta(u)]=1\), i.e., \(\exists z\in S^{\tau_1}_{u}\) such that \(N_{H^{\tau_1}_{u}}(z)=\beta(u)\). Therefore, if \(w_2\notin S^{\tau}_v\) (i.e, \(w_2\in D\cap (V(G_{\leq v})\setminus \{x\}) = D\cap V(G_{\leq u})\)), then \(w'\in I(w_2,z)\), a contradiction.

    Thus, let us assume that \(w_2\in S^{\tau}_v\). Therefore, \(\exists A\subseteq \beta(v)\setminus \{x\} =\beta(u)\) with \(w'\in A\) such that \(\tau^{ext}[A] = \tau^{ext}_1[A]=1\) (Definition 5[it:intro-h]). We will establish that \(w'\) satisfies all three conditions of Definition 5[it:intro-bnew1]. Moreover, if \(\exists B \subseteq \beta(u)\) with \(w'\in B\) such that \(\tau^{int}_1[B]=1\), then \(w'\) is covered due to Lemma 3(c). Therefore, we have that \(\forall B\subseteq \beta(u)\) with \(w'\in \beta(u)\), \(\tau^{int}_1[B]=0\). Next, if \(\exists B\subseteq \beta(u)\) with \(w'\in B\) such that \(\tau^{ext}_1[B]=1\) and \(\tau^{bag}_1\) contains a vertex \(z\in \beta(u) \setminus (B \setminus \left\{w'\right\})\), then observe that \(w'\in I(z,B_v)\). Therefore, we have that \(\forall B\subseteq \beta(u)\) with \(w'\in \beta(u)\) such that \(\tau^{ext}_1[B] =1\), \(\tau^{bag}_1\subseteq B \setminus \left\{w'\right\}\). Observe that \(w'\) satisfies all three conditions of Definition 5[it:intro-bnew1], implying \(w'\in Cov(v)\). Since \(\tau^{cov}_1 = \tau^{cov}\setminus Cov(v)\) (recall that \(x\in \tau^{bag}\) and hence Definition 5[it:intro-bnew1] is applied) and \(w'\in Cov(v)\), we have that \(w'\notin \tau^{cov}_1(u)\). This is a contradiction to our assumption that \(w'\in \tau^{cov}_1\). This completes our proof.

Finally, we establish that the pair \((\tau,\tau_1)\) satisfies all conditions in Definition 5. Observe that the conditions in Definition 5[it:intro-a], 5[it:intro-bnew], 5[it:intro-bnew1], 5[it:intro-c],5[it:intro-d] follow directly from our construction of \(\tau_1\). Next, we establish other conditions of Definition 5. Since \(\beta(u)\) is a clique cutset that separates \(x\) from \(V(G_{<u})\), we have that \(\tau^{int}[\left\{x\right\}]=1\) if and only if \(x\in \tau^{bag}\) and for all non-empty \(A\subseteq \beta(u)\), \(\tau^{int}[A\cup \{x\}]=0\) (Definition 5[it:intro-f] and 5[it:intro-g]). Definition 5[it:intro-h] follows from the fact that \(D'=D\setminus \{x\}\) and for each \(A\subseteq \beta(u)\), \(\tau^{int}[A]\) and \(\tau^{int}_1[A]\) depend on \(D'\). Finally, to complete our proof, we establish Definition 5[it:intro-e]. First, observe that no two vertices \(y,z\in \beta(v)\setminus \{x\}\) can cover \(x\) since \(G[\beta(v)]\) is a clique. Since \(\beta(u) = \beta(v)\setminus \left\{x\right\}\) separates \(\{x\}\) from \(V(G_{<v})\), we have that for each vertex \(y\in V(G_{<v})\), \(d(y,\beta(v))+1 \leq d(y,x)\). Therefore, in \(H^{\tau}_v\), for any two vertices \(y,z \in V(G_{\leq v})\setminus \{x\}\), it is not possible that \(x\in I(y,z)\). Thus, if \(\exists y,z\in H^{\tau}_v\) such that \(x\in I(y,z)\), then exactly one of \(\left\{y,z\right\}\) must be from \(S^{\tau}_v\) (recall that one of \(\left\{y,z\right\}\) must be from \(V(G_{\leq v})\setminus \{x\}\)). Without loss of generality, let us assume that \(y\in S^{\tau}_v\) and \(z\in V(G_{\leq v})\setminus \{x\}\). Since \(z\in \beta(v)\cap \tau^{bag}\), we have that \(\tau^{int}_1[\{z\}] = 1\) (Lemma 3(a)). Let \(y\) correspond to a vertex of \(S^{\tau}_v\) that is close to \(B\subseteq \beta(v)\), implying \(\tau^{ext}[B]=1\). Since \(x\in I(y,z)\) and \(\beta(v)\) induces a clique, we have that \(z\notin B\) (\(yz\notin E(H^{\tau}_v)\)) and that \(x\in B\). Therefore, \(\tau^{ext}[B\cup \{x\}]=1\). This completes our proof. ◻

For an introduce node \(v\) with child \(u\), let \(\mathcal{C}_{v}\) denote the set of compatible pairs \((\tau,\tau_1)\) where \(\tau,\tau_1\) are types associated with \(v\) and \(u\), respectively.

Let \(v\) be a forget node and \(u\) be its child. Let \(\tau,\tau_1\) be types associated with \(v,u\) respectively. Below, we state some rules that \(\tau\) and \(\tau_1\) must follow so that the certificate of \((u,\tau_1)\) can be extended to a certificate of \((v,\tau)\).

Definition 6. Let \(v\) be a forget node and \(\tau\) be a type associated with \(v\). Let \(u\) be the child of \(v\) such that \(\beta(v) = \beta(u)\setminus \left\{x\right\}\) and \(\tau_1\) be a type associated with \(u\). The pair \((\tau,\tau_1)\) is compatible* if the following holds.*

  1. \(\tau^{bag}= \tau^{bag}_1 \setminus \left\{x\right\}\),

  2. For all \(A \subseteq \beta(v)\), \(\tau^{ext}_1[A] = 1\) if and only if \(\tau^{ext}[A] = 1\),

  3. For all \(A \subseteq \beta(v)\), \(\tau^{ext}_1[A \cup \left\{x\right\}] = 0\).

  4. For all non-empty \(A \subsetneq \beta(v)\), \(\tau^{int}[A] = 1\) if and only if \(\tau^{int}_1[A] = 1\) or \(\tau^{int}_1[A \cup \left\{x\right\}] = 1\).

  5. \(\tau^{int}[\emptyset] = 0\). Moreover, given that \(\beta(v) \neq \emptyset\), \(\tau^{int}[\beta(v)] = 1\) if and only if \(\tau^{int}_1[\beta(u)] = 1\), \(\tau^{int}_1[\beta(v)] = 1\), \(\tau^{int}_1[\left\{x\right\}] = 1\), or \(x\in \tau^{bag}_1\),

  6. If \(x\notin \tau^{bag}_1\), then \(\tau^{cov}_1 = \tau^{cov}\cup \left\{x\right\}\) and \(\tau^{uncov}_1 = \tau^{uncov}\), and if \(x\in \tau^{bag}_1\), then \(\tau^{cov}_1 = \tau^{cov}\) and \(\tau^{uncov}_1 = \tau^{uncov}\).

Lemma 5. Let \(v\) be a forget node, \(\tau\) be a type associated with \(v\), \(u\) be the child of \(v\), and \(D\) be a minimal certificate of \((v,\tau)\). Then there exists a type \(\tau_1\) associated with \(u\) such that \((\tau,\tau_1)\) is a compatible pair.

Proof. Let \(\beta(v) = \beta(u) \setminus \left\{x\right\}\). Define \(\tau^{bag}_1 = D \cap \beta(u)\). Moreover, define \(\tau^{uncov}_1\) and \(\tau^{cov}_1\) as per Definition 6[it:forget-f], and \(\tau^{ext}_1\) according to Definition 6[it:forget-b] and 6[it:forget-c]. Finally, \(\tau^{int}_1[A] = 1\) if and only if there exists \(y \in D\) such that \(y\) is close to \(A\) with respect to \(\beta(u)\). First, we establish that \(\tau_1\) and \(D\) satisfy all of the conditions in Definition 4, and thus \(\tau_1\) is a type associated with \(u\). Consider the graphs \(H^\tau_v\) and \(H^{\tau_1}_u\). Observe that due to the definition of \(\tau^{ext}_1\), we have that \(S^{\tau}_v = S^{\tau_1}_u\). We claim that \(D\) is a certificate of \((u,\tau_1)\) as well. Clearly, \(S^{\tau_1}_v \subseteq D\) and \(\tau^{bag}_1 = D\cap \beta(u)\), satisfying Definition 4[it:type-1]. To see that Definition 4[it:type-2] is satisfied, observe that \(V(G_{< u})\cup \tau^{cov}_1 \subseteq V(G_{<v}) \cup \tau^{cov}\). Finally, Definition 4[it:type-3] is trivially satisfied since we define \(\tau^{int}_1\) to satisfy this definition. Moreover, Definition 6[it:forget-f] enforces that \(\tau_1\) is compatible with \(\tau\) only if \(x\in \tau^{bag}_1 \cup \tau^{cov}_1\), i.e., \(x\notin \tau^{uncov}_1\).

Next, we establish that \((\tau,\tau_1)\) is a compatible pair. Definition 6[it:forget-a] is trivially satisfied, and we define \(\tau_1\) according to Definitions 6[it:forget-b], 6[it:forget-c], and 6[it:forget-f]. Therefore, to complete our proof, we only need to establish that \((\tau,\tau_1)\) also satisfy Definition 6[it:forget-d] and 6[it:forget-e]. To see that Definition 6[it:forget-d] is satisfied, let \(A\subsetneq \beta(v)\) be an arbitrary subset or \(\beta(v)\). In one direction, if \(\tau^{int}[A] = 1\), then there exists a vertex \(w\in V(G_{<v})\cap D\) such that \(w\) is close to \(A\) with respect to \(\beta(v)\). Since \(A\neq \beta(v)\), clearly \(w\neq x\) as \(G[x\cup \beta(v)]\) is a clique. Because \(\beta(u) = \beta(v) \cup \{x\}\), we have that either \(w\) is close to \(A\) or \(A\cup \left\{x\right\}\) in \(\beta(u)\), implying either \(\tau^{int}_1[A]=1\) or \(\tau^{int}_1[A\cup \left\{x\right\}] = 1\). In the other direction, let \(\tau^{int}_1[A]=1\) or \(\tau^{int}_1[A\cup \left\{x\right\}] = 1\). Then, there is a vertex \(w\in D\) such that \(w\) is close to either \(A\) or \(A\cup \left\{x\right\}\) with respect to \(\beta(u)\), and hence clearly, \(w\) is close to \(A\) with respect to \(\beta(v) = \beta(u)\setminus \{x\}\), implying \(\tau^{int}[A]=1\). Finally, we prove that Definition 6[it:forget-e] is satisfied. In one direction, let \(\tau^{int}[\beta(v)] =1\), implying that there is a vertex \(w\in D\cap G_{<v}\) that is close to \(\beta(v)\) (with respect to \(\beta(v)\)). If \(w=x\), then \(x\in \tau^{bag}_1\), and the claim is vacuously true. Thus, we assume that \(w\neq x\). Since each vertex \(y\in \beta(u)\setminus \{x\}\) is at the same distance from \(w\), say \(t\), we have that \(d(w,x) \in \{ t-1,t,t+1\}\). If \(d(w,x)=t-1\), then \(\tau^{int}_1[\left\{x\right\}]=1\), if \(d(w,x)=t\), then \(\tau^{int}_1[\beta(u)]=1\), and if \(d(w,x)=t+1\), then \(\tau^{int}_1[\beta(v)]=1\). In the other direction, let \(\tau^{int}_1[\beta(u)] = 1\), \(\tau^{int}_1[\beta(v)] = 1\), \(\tau^{int}_1[\left\{x\right\}] = 1\), or \(x\in \tau^{bag}_1\). If \(\tau^{int}_1[\beta(u)] = 1\), \(\tau^{int}_1[\beta(v)] = 1\) or \(\tau^{int}_1[\left\{x\right\}]=1\), then using similar arguments as above, we have that \(\tau^{int}[\beta(v)]=1\). If \(x\in \tau^{bag}_1\), then \(x\in D\cap V(G_{<v})\) such that \(x\) is close to \(\beta(v)\) with respect to \(\beta(v)\), implying \(\tau^{int}[\beta(v)]=1\). This completes our proof. ◻

For a node \(v\) with child \(u\), let \(\mathcal{C}_{v}\) denote the set of compatible pairs \((\tau,\tau_1)\) where \(\tau,\tau_1\) are types associated with \(v\) and \(u\), respectively.

Let \(v\) be a join node, and let \(u_1,u_2\) be its children. Let \(\tau,\tau_1,\tau_2\) be types associated with \(v,u_1,u_2\) respectively. Below, we state some rules that \(\tau,\tau_1,\tau_2\) must follow so that the certificates for \((u_1,\tau_1)\) and \((u_2,\tau_2)\) can be combined and extended to a certificate of \((v,\tau)\). Since we assume connectedness of the input graph, we can safely assume that a join node will never join two empty nodes.

Definition 7. Let \(v\) be a join node and \(\tau\) be a type associated with \(v\). Let \(u_1,u_2\) be the children of \(v\) and \(\tau_1,\tau_2\) be types associated with \(u_1,u_2\) respectively. The triplet \((\tau,\tau_1,\tau_2)\) is compatible if all of the following holds.

  1. \(\tau^{bag}= \tau^{bag}_1 = \tau^{bag}_2\),

  2. For \(i,j\) such that \(\left\{i,j\right\}= \left\{1,2\right\}\) and \(A \subseteq \beta(v)\), \(\tau^{ext}_i[A] = 1\) if and only if \(\tau^{int}_j[A] = 1\) or \(\tau^{ext}[A] = 1\).

  3. Let \(Cov(u_1,u_2)\subseteq \beta(v)\) be the set of all vertices \(x\) such that for each \(x\in Cov(u_1,u_2)\), there exists \(A,B \subseteq \beta(v)\) with \(\tau^{int}_1[A] =1\), \(\tau^{int}_2[B] =1\) and either \(x \in A \cap B\) or \(A \cap B = \emptyset\) and \(x \in A \cup B\). Then, \(\tau^{cov}= \tau^{cov}_1 \cup \tau^{cov}_2 \cup Cov(u_1,u_2)\). Moreover, \(\tau^{uncov}= (\tau^{uncov}_1 \cap \tau^{uncov}_2) \setminus Cov(u_1,u_2)\).

  4. For \(i,j\) such that \(\left\{i,j\right\}= \left\{1,2\right\}\) and \(A \subseteq \beta(v)\), if \(\tau^{int}_i[A] = 1\) then \(\tau^{int}[A] = 1\) and \(\tau^{ext}_j[A] = 1\).

  5. For \(i,j\) such that \(\left\{i,j\right\}= \left\{1,2\right\}\) and \(A \subseteq \beta(v)\), if \(\tau^{int}_i[A] = 0\) and \(\tau^{int}_j[A] = 0\) then \(\tau^{int}[A] = 0\).

Lemma 6. Let \(v\) be a join node, \(\tau\) be a type associated with \(v\), and \(D\) be a minimal certificate of \((v,\tau)\). Let \(u_1,u_2\) be the children of \(v\). Then there are types \(\tau_1,\tau_2\) associated with \(u_1,u_2\) respectively such that \((\tau,\tau_1,\tau_2)\) is a compatible triplet.

Proof. For each \(i\in \left\{1,2\right\}\) define \(\tau^{bag}_i = \tau^{bag}\) and \(\tau^{int}_i[A] = 1\) if and only if there exists \(y \in D \cap G_{\leq u_i}\) such that \(y\) is close to \(A\) with respect to \(\beta(u_i)\). Define \(\tau^{ext}_i\) according to Definition 7[it:join-b]. Define \(\tau^{cov}_i\) in the following manner: Let \(D_i = D\cap V(G_{\leq u_i})\). Recall the definition of the graph \(H^{\tau_i}_{u_i}\) and \(S^{\tau_i}_{u_i}\) (from beginning of the Section 3.2). Then, let \(\tau^{cov}_i = \left\{w~|~w\in I(x,y)\cap \beta(v), x\in D_i~ \& ~(y\in D_i\cup S^{\tau_i}_{u_i} )\right\}\). Observe that for each \(i\in \left\{1,2\right\}\) the sets \(D_i\) satisfies all of the conditions in Definition 4 for \((u_i,\tau_i)\).

We establish that the triplet \((\tau,\tau_1,\tau_2)\) is compatible. Observe that Definition 7[it:join-a] and 7[it:join-b] are trivially satisfied by construction. Consider \(A\subseteq \beta(v)\) and let \(\left\{i,j\right\} = \left\{1,2\right\}\). If \(\tau^{int}_i[A]=1\), then there is a vertex \(w\in D\cap V(G_{<u_i})\) such that \(w\) is close to \(A\) with respect to \(\beta(u_i)=\beta(v)= \beta(u_j)\), implying \(\tau^{int}[A] =1\), and since \(w\in V(G_{>u_j})\), \(\tau^{ext}_j[A]=1\). Thus, Definition 7[it:join-d] is satisfied. The proof of Definition 7[it:join-e] follows from the fact that \(\beta(u_i)=\beta(u_j) = \beta(v)\) and \(D\cap V(G_{<v}) = D\cap (V(G_{<u_i}) \cup V(G_{<u_j}))\). Finally, to see the Definition 7[it:join-c], observe that, due to Lemma 1, each vertex of \(Cov(u_1,u_2)\) is covered by vertices in \(D\cap (V(G_{<u_i}) \cup V(G_{<u_j}))\), and hence \(\tau^{cov}= \tau^{cov}_1 \cup \tau^{cov}_2 \cup Cov(u_1,u_2)\) and \(\tau^{uncov}= (\tau^{uncov}_1 \cap \tau^{uncov}_2) \setminus Cov(u_1,u_2)\). Therefore, the triplet \((\tau,\tau_1,\tau_2)\) is compatible. ◻

For a join node \(v\) with children \(u_1,u_2\), let \(\mathcal{C}_{v}\) denote the set of compatible triplets \((\tau,\tau_1,\tau_2)\) where \(\tau,\tau_1,\tau_2\) are types associated with \(v,u_1,u_2\), respectively. Finally, we consider the root \(r\). Recall that the only type associated with \(r\) is \(\tau_0 = (\mathbf{0},\mathbf{0},\emptyset,\emptyset,\emptyset)\).

Definition 8. Consider the root \(r\), its child \(u\) with \(\beta(u)=\left\{x\right\}\) and a type \(\tau\) associated with \(u\). Then \((\tau_0,\tau)\) is a compatible pair if \(x \in \tau^{cov}_1 \cup \tau^{bag}_1\) and \(\tau^{ext}[A] = 0\) for all \(A \subseteq \beta(u)\).

The proof for the following lemma is analogous to that of Lemmas 46.

Lemma 7. For any minimal geodetic set of \(G\), there is a compatible pair \((\tau_0,\tau_1)\) where \(\tau_1\) is a type associated with \(u\).

Let \(\mathcal{C}_{r}\) denote the set of compatible pairs \((\tau_0,\tau)\) where \(\tau\) is a type associated with the only child \(u\) of the root \(r\).

Now we are ready to describe our algorithm. We process the nodes of \(T\) bottom-up. Let \(v\) be the current node under consideration. If \(v\) is a leaf node, then define \[sol\left[v , (\mathbf{0},\mathbf{0},\emptyset,\emptyset,\emptyset)\right] =\emptyset\]

Let \(v\) be an introduce node having \(u\) as child. Then for each type \(\tau\in \mathcal{T}_v\) define \[sol\left[v , \tau\right] = \displaystyle\min\limits_{(\tau,\tau_1)\in \mathcal{C}_{v}} sol\left[u , \tau_1\right] \cup \tau^{bag}\]

Let \(v\) be a forget node having \(u\) as child. Then for each type \(\tau\in \mathcal{T}_v\) define \[sol\left[v , \tau\right] = \displaystyle\min\limits_{(\tau,\tau_1)\in \mathcal{C}_{v}} sol\left[u , \tau_1\right]\]

Let \(v\) be a join node having \(u_1,u_2\) as children. Then for each type \(\tau\in \mathcal{T}_v\) define \[sol\left[v , \tau\right] = \displaystyle\min\limits_{(\tau,\tau_1,\tau_2)\in \mathcal{C}_{v}} sol\left[u_1 , \tau_1\right] \cup sol\left[u_2 , \tau_2\right]\]

Finally, for the root \(r\) let \(u\) be its child and \(\tau_0 = (\mathbf{0},\mathbf{0},\emptyset,\emptyset,\emptyset)\). Define \[sol\left[r , \tau_0\right] = \displaystyle\min\limits_{(\tau_0,\tau_1)\in \mathcal{C}_{r}} sol\left[u , \tau_1\right]\]

We show in the following lemma that \(sol\left[r , (\mathbf{0},\mathbf{0},\emptyset,\emptyset,\emptyset)\right]\) corresponds to a geodetic set of \(G\) with minimum cardinality. Recall the definitions of \(H^{\tau}_{v}\) and \(S^{\tau}_{v}\).

Lemma 8. For each node \(v\) and type \(\tau\) associated with \(v\), \(sol\left[v , \tau\right]\) is a certificate of \((v,\tau)\) with minimum cardinality.

Proof. The statement of the lemma is trivially true when \(v\) is a leaf node. By induction we assume the lemma to be true for all nodes of the subtree rooted at \(v\).

  1. Assume that \(v\) is an introduce node. Let \(u\) be the child of \(v\) and \(\beta(v) = \beta(u) \cup \left\{x\right\}\). First, we show that \(sol\left[v , \tau\right]\) is a certificate of \((v,\tau)\). Let \(\tau_1\) be a type associated with \(u\) such that \(sol\left[v , \tau\right] = sol\left[u , \tau_1\right] \cup \tau^{bag}\) and consider the set \(D = sol\left[u , \tau_1\right] \cup \tau^{bag}\cup S^{\tau}_{v}\). By Definition 5[it:intro-a] we have that \(\tau^{bag}_1 = \tau^{bag}\setminus \left\{x\right\}\). Hence, \(D\cap \beta(v) = sol\left[v , \tau\right] \cap \beta(v) = (sol\left[u , \tau_1\right] \cup \tau^{bag}) \cap \beta(v) = (sol\left[u , \tau_1\right] \cap \beta(v)) \cup (\tau^{bag}\cap \beta(v)) = (sol\left[u , \tau_1\right] \cap (\beta(u)\cup \left\{x\right\})) \cup \tau^{bag}= (sol\left[u , \tau_1\right] \cap \beta(u)) \cup \tau^{bag}= \tau^{bag}_1 \cup \tau^{bag}= \tau^{bag}\). Hence, \(D\) satisfies Definition 4[it:type-1].

    Now, consider any vertex \(w\in (V(G_{\leq v}) \setminus \beta(v)) \cup \tau^{cov}\) which is distinct from \(x\). Then \(w\in (V(G_{\leq u}) \setminus \beta(u)) \cup (\tau^{cov}\cap \beta(u))\). Definition 5[it:intro-bnew] and Definition 5[it:intro-bnew1] dictate \(\tau^{cov}_1\). If \(x\notin \tau^{bag}\), then Definition 5[it:intro-bnew] ensures that \(\tau^{cov}_1= \tau^{cov}\cap \beta(u)\) and hence \(w\in (V(G_{\leq u}) \setminus \beta(u)) \cup \tau^{cov}_1\). Now, due to our induction hypothesis, we have that there exists \(w_1,w_2\in sol\left[u , \tau_1\right] \cup S^{\tau_1}_{u}\) such that \(w\in I(w_1,w_2)\) and \(w_1\in sol\left[u , \tau_1\right]\). If \(w_2\in sol\left[u , \tau_1\right]\) then \(w_1,w_2\in sol\left[v , \tau\right]\) and therefore \(w_1,w_2\in D\). Hence, Definition 4[it:type-2] is satisfied in this case. Else, \(w_2\in S^{\tau_1}_{u}\); then, there is a set \(A\subseteq \beta(u)\) such that \(w_2=A\) and \(\tau^{ext}_1[A] = 1\). If \(A\neq \beta(u)\), then, due to Definition 5[it:intro-c], we know that there is a set \(B\supseteq A\) such that \(\tau^{ext}[B]=1\). Hence, there is a vertex \(b\in S^{\tau}_{v}\) such that \(b=B\) and is adjacent to all vertices of \(A\). Observe that \(w\in I(w_1,b)\). If \(A=\beta(u)\), then again, due to Definition 5[it:intro-d] and similar arguments as above, we have a vertex \(b'\in S^{\tau}_{v}\) such that \(w\in I(w_1,b')\). Hence, Definition 4[it:type-2] is satisfied. Now, consider the vertex \(x\). Since \(x\notin \tau^{bag}\), due to Definition 5[it:intro-e], we have sets \(A\subseteq \beta(u)\), \(B\subseteq \beta(v)\setminus A\) such that \(\tau^{int}_1[A]=1\) and \(\tau^{ext}[B\cup \left\{x\right\}]=1\). Hence, \(sol\left[u , \tau_1\right]\) contains a vertex, say \(a\), which is close to \(A\) with respect to \(\beta(u)\). There also exists a vertex, say \(b\in S^{\tau}_{v}\), such that \(b=B\). By Lemma 1, \(x\in I(a,b)\). Therefore, Definition 4[it:type-2] is satisfied in this case. Now, consider the case when \(x\in \tau^{bag}\). Recall the definition of \(Cov(v)\) from Definition 5[it:intro-bnew1], and now, \(\tau^{bag}=\tau^{bag}_1\cup Cov(v)\). We can cover the vertices from \(V(G_{<v})\cup \tau^{cov}_1\) as discussed above. To complete the proof of the fact that Definition 4[it:type-2] is satisfied in this case, we only need to show that for each vertex \(w\in Cov(v)\), there exist vertices \(S^{\tau}_v \cup D\) such that \(w\in I(w_1,w_2)\). Since \(w\in Cov(v)\), we have that \(\exists A\subseteq \beta(v)\setminus \{x\}\) such that \(\tau^{ext}[A]=1\) and since \(x\in \tau^{bag}\), \(\tau^{int}[\{x\}]=1\). Finally, as \(w\in A\cup \{x\}\) and \(A\cap \{x\} =\emptyset\), \(w\) is covered due to Lemma 3(c). Therefore, Definition 4[it:type-2] is satisfied.

    Consider \(A\subseteq \beta(v)\) such that \(\tau^{int}[A]=1\). If \(A=\left\{x\right\}\), then, due to Definition 5[it:intro-f], we have \(x\in \tau^{bag}\) and therefore \(x\in D\). Due to Definition 5[it:intro-g], we have \(A\subseteq \beta(u)\). By Definition 5[it:intro-h], \(\tau^{int}_1[A]=1\) and therefore, \(sol\left[u , \tau_1\right]\) contains a vertex \(w\) such that \(w\in V(G_{\leq u})\) and \(w\) is close to \(A\) with respect to \(\beta(u)\). Since \(v\) is an introduce node with \(\beta(v)=\beta(u)\cup \left\{x\right\}\), \(w\) must be close to \(A\) with respect to \(\beta(v)\). Hence, Definition 4[it:type-3] is satisfied. Hence, \(sol\left[v , \tau\right]\) is a certificate of \((v,\tau)\). Now, Lemma 4 implies that \(sol\left[v , \tau\right]\) is minimum.

  2. Now, assume that \(v\) is a forget node. Let \(u\) be the child of \(v\) and \(\beta(v) = \beta(u) \setminus \left\{x\right\}\). First, we show that \(sol\left[v , \tau\right]\) is a certificate of \((v,\tau)\). Let \(\tau_1\) be a type associated with \(u\) such that \(sol\left[v , \tau\right] = sol\left[u , \tau_1\right]\) and consider the set \(D = sol\left[u , \tau_1\right] \cup S^{\tau}_{v}\). By Definition 6[it:forget-a], we have that \(\tau^{bag}= \tau^{bag}_1 \setminus \left\{x\right\}\). Hence, \(D\cap \beta(v) = sol\left[v , \tau\right] \cap \beta(v) = sol\left[u , \tau_1\right] \cap (\beta(u) \setminus \left\{x\right\}) = (sol\left[u , \tau_1\right] \cap \beta(u)) \setminus \left\{x\right\} = \tau^{bag}_1 \setminus \left\{x\right\} = \tau^{bag}\). Hence \(D\) satisfies Definition 4[it:type-1].

    Now, consider any vertex \(w\in (V(G_{\leq v}) \setminus \beta(v)) \cup \tau^{cov}\). Observe that \(V(G_{\leq v}) = V(G_{\leq u})\), \(\beta(v) \subset \beta(u)\). Moreover, due to Definitions 6[it:forget-b] and 6[it:forget-c], we have that \(\tau^{ext}=\tau^{ext}_1\). Therefore, for any \(w\in (V(G_{\leq u}) \setminus \beta(u)) \cup \tau^{cov}_1\), there exist \(w_1,w_2 \in sol\left[u , \tau_1\right] =sol\left[v , \tau\right]\) such that \(w\) is covered by \(w_1,w_2\) in \(H^{\tau}_{v}\). Hence, Definition 4[it:type-2] is satisfied.

    By Definition 6[it:forget-d], for \(A\subsetneq \beta(v)\), \(\tau^{int}[A] = 1\) if and only if \(\tau^{int}_1[A] = 1\) or \(\tau^{int}_1[A \cup \left\{x\right\}] = 1\). Indeed, if some \(y \in G_{\leq v}\) is close to \(A\) or \(A \cup \left\{x\right\}\) with respect to \(\beta(u)\), then it is close to \(A\) with respect to \(\beta(v)\). Conversely, if there exists some \(y \in G_{\leq v}\) close to \(A\) with respect to \(\beta(v)\), then \(A\) is \(B \cap \beta(v)\) where \(B\) is the set to which \(y\) is close to with respect to \(\beta(u)\). The only possibilities for \(B\) are \(A\) and \(A \cup \left\{x\right\}\). By Definition 6[it:forget-e], \(\tau^{int}[\beta(v)] = 1\) if and only if \(\tau^{int}_1[\beta(u)] = 1\), \(\tau^{int}_1[\beta(v)] = 1\), \(x\in \tau^{bag}_1\), or \(\tau^{int}_1[\left\{x\right\}] = 1\). Indeed, if some \(y \in G_{\leq v}\) is close to \(\beta(u)\), \(\beta(v)\) or \(\left\{x\right\}\) with respect to \(\beta(u)\), then it is close to \(\beta(v)\) with respect to \(\beta(v)\). Conversely, if there exists some \(y \in G_{\leq v}\) close to \(\beta(v)\) with respect to \(\beta(v)\), then \(\beta(v)\) is included in \(A\) or \(\beta(u) \setminus A\), where \(A\) is the set to which \(y\) is close to with respect to \(\beta(u)\). The only possibilities for \(A\) are \(\beta(u)\), \(\beta(v)\) or \(\left\{x\right\}\). Hence Definition 4[it:type-3] is satisfied. Hence, \(sol\left[v , \tau\right]\) is a certificate of \((v,\tau)\). Finally, Lemma 5 implies that \(sol\left[v , \tau\right]\) is minimum.

  3. Assume \(v\) to be a join node. Let \(u_1,u_2\) be the children of \(v\). Let \(\tau_1,\tau_2\) be types associated with \(u_1,u_2\) such that \(sol\left[v , \tau\right] = sol\left[u_1 , \tau_1\right] \cup sol\left[u_2 , \tau_2\right]\). Consider the set \(D=sol\left[v , \tau\right] \cup S^{\tau}_{v}\). Due to Definition 7[it:join-a] we have \(\tau^{bag}= \tau^{bag}_1=\tau^{bag}_2\). This implies \(sol\left[v , \tau^{bag}\right] \cap \beta(v) = (sol\left[u , \tau_1\right] \cap \tau^{bag}_1) \cup (sol\left[u_2 , \tau_2\right] \cap \tau^{bag}_2) = \tau^{bag}\).

    Consider \(y \in (V(G_{\leq v}) \setminus \beta(v)) \cup \tau^{cov}\). If \(y \in (V(G_{\leq u_1}) \setminus \beta(u_1)) \cup \tau^{cov}_1\), then \(y\) is covered by a pair of vertices \(y_1\) and \(y_2\) in \(sol\left[u , \tau_1\right] \cup S^{\tau_1}_{u_1}\). If \(y_1,y_2\in sol\left[u_1 , \tau_1\right]\) then \(y_1,y_2\in D\) and we are done. Otherwise, assume without loss of generality that \(y_2 \in S^{\tau_1}_{u_1} \setminus S^{\tau}_{v}\). There must be a set \(A\subseteq \beta(u_1)\) such that \(\tau^{ext}_1[A]=1\) and \(y_2=A\). By Definition 7[it:join-b], either \(\tau^{ext}[A]=1\) or \(\tau^{int}_2[A]=1\). If the first case is true, then there exists a vertex \(y'_2\in S^{\tau}_{v}\) such that \(y\) is covered by \(y_1\) and \(y'_2\) is in \(G_{\leq v}\). If the second case is true, then there exists a vertex \(y'_2\in sol\left[u_2 , \tau_2\right]\) such that \(y'_2\) is close to \(A\) with respect to \(\beta(u_2)\). Due to Lemma 1, we have that \(y\) is covered by \(y_1\) and \(y'_2\). The case where \(y \in (V(G_{\leq u_2}) \setminus \beta(u_2)) \cup \tau^{cov}_2\) is symmetrical. If \(y \in Cov(u_1,u_2)\), by its definition in Definition 7[it:join-c] and Lemma 1, \(y\) is covered by vertices in \(sol\left[v , \tau\right]\). Hence, Definition 4[it:type-2] is satisfied.

    By Definitions 7[it:join-d] and 7[it:join-e], we have that for any \(A\subseteq \beta(v)\), \(\tau^{int}[A] = 1\) if and only if \(\tau^{int}_1[A] = 1\) or \(\tau^{int}_2[A] = 1\). Therefore by induction Definition 4[it:type-3] is satisfied. The minimality follows from Lemma 6.

  4. When \(v\) is the root node, the statement follows easily from Definition 8 and Lemma 7.

This completes the proof. ◻

3.3 The case of interval graphs↩︎

When the input graph \(G\) is an interval graph, the nice tree decomposition of \(G\) does not contain any join nodes because we can choose as "root" the vertex associated with the leftmost interval. Moreover, the linear structure of interval graphs helps us to reduce the time complexity of the dynamic programming algorithm proposed in the previous section. Essentially, we establish that the number of different types associated with a node \(v\) is at most \(O(2^{\omega (G)})\). We shall use the following lemma.

Lemma 9. Let \(X\) be a clique cutset of an interval graph \(G\). There exists a collection \(\mathcal{A}\) of subsets of \(X\) of size \(O(\left|X\right|)\) such that for each vertex \(v \in V(G)\), if \(v\) is close to \(A\) with respect to \(X\), then \(A \in \mathcal{A}\).

Proof. If \(v \in X\), then \(A = \left\{v\right\}\). Without loss of generality, assume now that \(\min(v) < \min(X)\) (where \(\min(v)\) denotes the left endpoint of the interval associated to \(v\), and \(\min(X)\), the leftmost left endpoint of an interval of \(X\)). If \(u \in X\) such that \(d(v,u) = d\), then for every \(w \in X\) such that \(\min(w) \leq \min(u)\), \(d(v,w) \leq d\). Indeed, take a shortest path from \(v\) to \(u\) and let \(z\) be the neighbour of \(u\) in this path. Then, \(z\) is also a neighbour of \(w\). This implies that \(v\) is close to a set \(A\) with respect to \(X\) which belongs to one of the following sets: \(\bigcup\limits_{u \in X} \left\{\left\{w \in X| \min(w) \leq \min(u)\right\}\right\}\). Hence, \[\mathcal{A} = \bigcup\limits_{u \in X} \left\{\left\{w \in X| \min(w) \leq \min(u)\right\}, \left\{w \in X| \max(w) \geq \max(u)\right\}, \left\{u\right\}\right\}\] Observe that \(\left|\mathcal{A}\right|\) is \(O(|X|)\). ◻

The above lemma implies that for an interval graph, the set of \(5\)-tuples for a node \(v\) can be chosen as a subset of \(\left\{0,1\right\}^{\mathcal{A}} \times \left\{0,1\right\}^{\mathcal{A}} \times 2^{\beta(v)} \times 2^{\beta(v)} \times 2^{\beta(v)}\). Hence, there are \(2^{O(\omega)}\) types for an interval graph. This proves the statement of Theorem 1 regarding interval graphs.

4 Hardness for interval graphs↩︎

We now prove Theorem 2. Let \(F\) be an instance of 3-Sat with variables \(x_1, \dots, x_n\) and clauses \(C_1,\dots,C_m\). We construct a set \(D\) of intervals in polynomial time such that the geodetic number of the intersection graph of \(D\) (denoted as \(\mathcal{I}(D)\)) is at most \(4 + 7n + 58m\) if and only if \(F\) is a positive instance of 3-Sat.

The key intuition that explains why the problem is hard on interval graphs is that considering two solution vertices \(x\) and \(y\), the structure of the covered set \(I(x,y)\) can be very complicated. Indeed, it can be that many vertices lying “in between” \(x\) and \(y\) in the interval representation, are not covered. This allows us to construct gadgets, by controlling which of these vertices get covered, and which do not. Moreover, we can easily force some vertices to be part of the solution by representing them by an interval of length \(0\) (then, they are simplicial vertices), which is very useful to design our reduction. Nevertheless, implementing this idea turns out to be far from trivial, and to this end we need the crucial idea of tracks, which are shortest paths spanning a large part of the construction. Each track starts at a key interval called its root (representing a literal, for example) and serves as a shortest path from the root to the rightmost end of the construction. In a way, each track “carries the effect of the root” being chosen in a solution to the rest of the graph. The tracks are shifted in a way that no shortcut can be used going from one track to another. We are then able to locally modify the tracks and place our gadgets so that the track of, say, a literal, enables the interval of that literal to cover an interval of a specific clause gadget (while the other tracks are of no use for this purpose).

4.1 Overview of the reduction↩︎

There are four main stages of our reduction. Figure 4 (a) shows a roadmap of the reduction. We initialise it by constructing a set of intervals which we call the start gadget (denoted as \(\mathscr{S}\)).

After creating the start gadget, we create the variable gadgets, which are placed consecutively, after the start gadget. For each variable \(x_i\), with \(1\leq i\leq n\), we create the variable gadget \(\mathscr{X}_i\). Each variable gadget is composed of several implication gadgets. An implication gadget \(IMP\left[\neg \boldsymbol{\boldsymbol{p}} \rightarrow \boldsymbol{\boldsymbol{q}}\right]\) ensures that if \(\boldsymbol{p}\) is not chosen in a geodetic set of our constructed intervals, then \(\boldsymbol{q}\) must be chosen. These are used to encode the behaviour of the variables of the 3-SAT instance: there will be two possible solutions, corresponding to both truth values of \(x_i\).

After creating all the variable gadgets, we create the clause gadgets, also placed consecutively, after the variable gadgets. For each clause \(C_j\) with \(1\leq j\leq m\), we construct the clause gadget \(\mathscr{C}_j\). Each clause gadget is composed of a covering gadget, several implication gadgets, and several AND gadgets. The covering gadget of a clause \(C_i\) is denoted by \(\mathrm{\small COV}[i]\). For two intervals \(\boldsymbol{p}\) and \(\boldsymbol{q}\), the corresponding AND gadget is denoted by \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{p}} , \boldsymbol{\boldsymbol{q}}\right]\). Together, these gadgets will ensure that all intervals of the clause gadget corresponding to the clause \(C_i\) are covered by six intervals if and only if one of the intervals corresponding to the literals of \(C_i\) is chosen in a geodetic set. This encodes the behaviour of the clauses of the 3-SAT instance.

After creating all the clause gadgets, we conclude our construction by creating the end gadget \(\mathscr{E}\), placed after all clause gadgets. Figure 4 (b) shows the arrangement of the gadgets in the reduction.

Figure 4: Overview of the reduction. (a) Roadmap of the reduction procedure for proving Theorem 2. (b) An illustration of the arrangements of the gadgets are shown. The box with label \mathscr{S} represents the start gadget, the box labelled \mathscr{E} represents the end gadget. A box labelled \mathscr{C}_i represents the gadget for clause C_i and a box labelled \mathscr{X}_j, the gadget for variable x_j. Lines between such gadgets represent the tracks.

Organisation of this section: In Subsection 4.2, we introduce some notations to use them in the description of the reduction. In Subsection 4.3, we describe the construction of the start gadget. In Subsection 4.4, we describe a generic construction of the implication gadget \(IMP\left[\neg \boldsymbol{p} \rightarrow \boldsymbol{q}\right]\). In Subsection 4.5, we describe a generic construction of the cover gadget \(\mathrm{\small COV}[i]\). In Subsection 4.6, we describe a generic construction of the insert gadget \(\mathrm{\small INS}\left[\boldsymbol{p} , \boldsymbol{q}\right]\). In Subsection 4.7, we describe a generic construction of the AND-gadget \(\mathrm{\small AND}\left[\boldsymbol{p} , \boldsymbol{q}\right]\). Then, in Subsection 4.8, we describe the construction of the variable gadget. In Subsection 4.9, we describe the construction of the clause gadget. In Subsection 4.10, we describe the construction of the end gadget.

4.2 Notations↩︎

We shall use the following notations. Let \(S\) be a set of intervals. For a vertex \(v\in V(\mathcal{I}(S))\), the corresponding interval will be denoted by \(\boldsymbol{v}\). The notations \(min(\boldsymbol{v}), max(\boldsymbol{v})\) shall denote the left boundary and right boundary of \(\boldsymbol{v}\), respectively. The rightmost neighbour of an interval \(\boldsymbol{v}\) is the interval intersecting \(\boldsymbol{v}\) that has the maximum right boundary. For a set \(S\) of intervals, let \(min(S)=\min\{ min(\boldsymbol{v}) \colon \boldsymbol{v}\in S \}\), \(max(S)=\max\{ max(\boldsymbol{v}) \colon \boldsymbol{v}\in S \}\). For two intervals \(\boldsymbol{u},\boldsymbol{v}\) we have \(\boldsymbol{u} < \boldsymbol{v}\) if \(max(\boldsymbol{u}) < min(\boldsymbol{v})\).

Let \(S\) be a set of intervals and \(\boldsymbol{u},\boldsymbol{v}\in S\). A shortest path between \(\boldsymbol{u},\boldsymbol{v}\) is a shortest path between \(u,v\) in \(\mathcal{I}(S)\). The set \(I(\boldsymbol{u},\boldsymbol{v})\) is the set of intervals that belong to some shortest path between \(\boldsymbol{u},\boldsymbol{v}\). The geodetic set of \(S\) is analogously defined. For a set of intervals \(S\), the phrase “\(S\) is covered by \(S'\)” means that \(S'\) is a geodetic set of \(S\).

A point interval is an interval of the form \([a,a]\). A unit interval is an interval of the form \([a,a+1]\). A set of intervals is good if no two intervals contain each other. A set \(T=\{\boldsymbol{u}_1, \boldsymbol{u_2}, \ldots, \boldsymbol{u_t}\}\) of intervals is a track if \(\max(\boldsymbol{u_i}) = \min\left(\boldsymbol{u_{i+1}}\right)\) for all \(1\leq i<t\). Observe that if \(T\) is a track, then \(\mathcal{I}(T)\) is a path. In our construction, each track \(T\) will be associated with a set of intervals called its roots, denoted by \(R(T)\). Sometimes we shall use the sentence “root \(\boldsymbol{v}\) of a track \(T\)” to say \(\boldsymbol{v} \in R(T)\).

Definition 9. Let \(T\) and \(T'\) be two tracks such that \(T\cup T'\) is a good set of intervals. Then, \(T < T'\) if \(max(T) < max(T')\).

Let \(\mathcal{T}\) be a set of tracks and \(T\in \mathcal{T}\). The phrase “the track just preceding \(T\)” shall refer to the track \(T'\) such that \(T'<T\) and there is no \(T''\) such that \(T'<T''<T\). The phrases “the track just following \(T\)”, “maximal track of \(\mathcal{T}\)” and “minimal track of \(\mathcal{T}\)” are analogously defined.

4.3 Initiation and construction of start gadget \(\mathscr{S}\)↩︎

Let \(F\) be an instance of 3-Sat with variables \(x_1, \dots, x_n\) and clauses \(C_1,\dots,C_m\). Let \(\epsilon=\frac{1}{(n+m)^4}\). The start gadget \(\mathscr{S}\) consists of four intervals which are defined as follows: the start interval \({\boldsymbol{o}}= \left[1,1\right]\), \(\boldsymbol{u_o} = \left[1,2\right]\), the true interval \({\boldsymbol{\top}}= \left[1+\epsilon,1+\epsilon\right]\) and \(\boldsymbol{ u_{\top} } = \left[1+\epsilon,2+\epsilon\right]\). Let \(T_1=\{\boldsymbol{u_o} \}\) and \(T_2=\{\boldsymbol{u_\top}\}\). Observe that \(T_1,T_2\) are tracks and \(T_1 < T_2\). See Figure 5.

Figure 5: The start gadget \mathscr{S}. For drawing purposes, the proportions of the intervals were changed. Nevertheless, the obtained interval graph is unchanged.

We initialize two more sets, the set \(\mathcal{T}=\{T_1,T_2\}\), and the set \(D = \mathscr{S}\). In what follows, \(\mathcal{T}\) will contain all constructed tracks and \(D\) will contain all constructed intervals. As we proceed with the construction, we shall insert more intervals in \(T_1,T_2\) while maintaining that both of them are tracks. We shall also add more tracks in \(\mathcal{T}\). Let \(R(T_1)=\{{\boldsymbol{o}}\}\) and \(R(T_2)=\{{\boldsymbol{\top}}\}\). Recall that for a track \(T\), \(R(T)\) denotes the set of root intervals of \(T\).

4.4 Implication gadget of a root \(\boldsymbol{p}\)↩︎

In order to construct the variable gadgets and the clause gadgets, we need to define the implication gadget. Below we describe a generic procedure to construct implication gadgets of a root \(\boldsymbol{p}\) which is different from \({\boldsymbol{o}}\) of \(\mathscr{S}\). Let \(T_{\boldsymbol{p}}\in \mathcal{T}\) be the track such that \(\boldsymbol{p} \in R(T_{\boldsymbol{p}})\). Since \(\boldsymbol{p} \neq {\boldsymbol{o}}\), \(T_{\boldsymbol{p}}\) is not the minimal element in \(\mathcal{T}\). Below we describe the three steps for constructing \(IMP\left[\neg \boldsymbol{p} \rightarrow \boldsymbol{q}\right]\). See Figure 6 for a graphical representation of the intervals.

Figure 6: The implication gadget IMP\left[\neg \boldsymbol{p} \rightarrow \boldsymbol{q}\right]. For drawing purposes, the proportions of the intervals were changed. Nevertheless, the obtained interval graph is unchanged.
  1. Extension of existing tracks: For each track \(T\in \mathcal{T}\), introduce three new intervals \(\boldsymbol{u_T}=\left[max(T),max(T)+1\right]\), \(\boldsymbol{v_T}=\left[max(T)+1,max(T)+2\right]\) and \(\boldsymbol{w_T}=\left[max(T)+2,max(T)+3\right]\). Let \(T_{new}=\{ \boldsymbol{u_T}, \boldsymbol{v_T}, \boldsymbol{w_T} \}\). Observe that, for two tracks \(T,T'\in \mathcal{T}\) with \(T < T'\), we have \((T \cup T_{new}) < (T'\cup T'_{new})\).

  2. Creation of new intervals: Let \(X\) and \(X'\) be the tracks that precede and follow \(T_{\boldsymbol{p}}\) in \(\mathcal{T}\), respectively. Note that \(X\) always exists since \(\boldsymbol{p}\neq \boldsymbol{o}\). When \(X'\) exists, let \(\theta = max(\boldsymbol{u_{X'}})\) and \(\theta'=max(\boldsymbol{v_{X'}})\). Otherwise, \(\theta=max(\boldsymbol{u_{T_{\boldsymbol{p}}}}) + \epsilon\) and \(\theta'=max(\boldsymbol{v_{T_{\boldsymbol{p}}}}) + \epsilon\).

    Define \(\boldsymbol{q}=\left[\frac{max(\boldsymbol{u_X}) + max(\boldsymbol{u_{T_{\boldsymbol{p}}}})}{2}, \frac{max(\boldsymbol{u_{T_{\boldsymbol{p}}}}) + \theta }{2}\right]\), \(\boldsymbol{r_q}=\left[ max(\boldsymbol{q}), \frac{max(\boldsymbol{v_{T_{\boldsymbol{p}}}}) + \theta'}{2} \right]\) and \(\boldsymbol{s_q}=[max(\boldsymbol{r_q}),max(\boldsymbol{r_q})]\).

  3. Creation of new tracks: In this step, we shall create two new tracks. We define three more intervals as follows: \(\boldsymbol{t}=\left[max(\boldsymbol{s_q}),max(\boldsymbol{s_q})+1\right]\), \(\boldsymbol{t_1}=\left[max(\boldsymbol{q}),\frac{max(\boldsymbol{v_{T_{\boldsymbol{p}}}}) + min(\boldsymbol{s_q})}{2}\right]\) and \(\boldsymbol{t_2}=\left[max(\boldsymbol{t_1}),max(\boldsymbol{t_1})+1\right]\). Now, let \(T_1=\{ \boldsymbol{t_1},\boldsymbol{t_2} \}\), \(R(T_1)=\{ \boldsymbol{q}\}\), \(T_{2}=\{\boldsymbol{t}\}\) and \(R(T_{2})=\{\boldsymbol{r_q},\boldsymbol{s_q}\}\).

To complete the construction of the implication gadget, we define \(IMP\left[\neg \boldsymbol{p} \rightarrow \boldsymbol{q}\right] = \{ \boldsymbol{q}, \boldsymbol{r_q}, \boldsymbol{s_q} \} \cup T_1 \cup T_2 \cup \bigcup\limits_{T\in \mathcal{T}} \{\boldsymbol{u_T}, \boldsymbol{v_T}, \boldsymbol{w_T} \}\). Let \(D=D \cup IMP\left[\neg \boldsymbol{p} \rightarrow \boldsymbol{q}\right]\). For each \(T\in \mathcal{T}\), let \(T=T\cup T_{new}\) and \(\mathcal{T} = \mathcal{T} \cup \{T_1,T_2\}\). Observe that the intersection graph of \(D\) does not contain \(K_{1,5}\) as induced subgraph.

4.5 Construction of covering gadgets↩︎

Below we describe the three steps for constructing the covering gadget of the clause \(C_i\). See Figure 7.

Figure 7: The covering gadget COV[i]. For drawing purposes, the proportions of the intervals were changed. Nevertheless, the obtained interval graph is unchanged.
  1. Extension of existing tracks: For each track \(T\in \mathcal{T}\), introduce three new intervals \(\boldsymbol{u^i_T}=\left[max(T),max(T)+1\right]\), \(\boldsymbol{v^i_T}=\left[max(T)+1,max(T)+2\right]\) and \(\boldsymbol{w^i_T}=\left[max(T)+2,max(T)+3\right]\). Let \(T_{new}=\{ \boldsymbol{u^i_T}, \boldsymbol{v^i_T}, \boldsymbol{w^i_T} \}\). Observe that, for two tracks \(T,T'\in \mathcal{T}\) with \(T < T'\), we have \((T \cup T_{new}) < (T'\cup T'_{new})\).

  2. Creation of new intervals: Let \(T\) be the maximal track in \(\mathcal{T}\). Let \(\theta = min(\boldsymbol{u^i_T})+\epsilon\). We define \(\boldsymbol{a_{i}} = \left[\theta, \theta+\epsilon\right]\), \(\boldsymbol{b_{i}} = \left[\theta,\theta+2\epsilon\right]\), \(\boldsymbol{c_{i}} = \left[\theta, \theta+3\epsilon\right]\) and \(\boldsymbol{d_{i}} = \left[\theta,\theta\right]\). Also define \(\boldsymbol{cov_{i}} = \left[max(\boldsymbol{v^i_T}) + 4\epsilon, max(\boldsymbol{v^i_T}) + 7\epsilon\right]\), and \(\boldsymbol{f_{i}} = \left[ max(\boldsymbol{cov_{i}}), max(\boldsymbol{cov_{i}})\right]\).

  3. Creation of new tracks: Now we create five more tracks as follows. Let \(T_{\boldsymbol{a_{i}}} = \left\{ \left[max(\boldsymbol{a_{i}})+k , max(\boldsymbol{a_{i}})+k+1\right] |~k \in \left\{0,1,2\right\}\right\}\), \(T_{\boldsymbol{b_{i}}} = \left\{ \left[max(\boldsymbol{b_{i}})+k , max(\boldsymbol{b_{i}})+k+1\right] |~k \in \left\{0,1,2\right\}\right\}\) and \(T_{\boldsymbol{c_{i}}} = \left\{ \left[max(\boldsymbol{c_{i}})+k , max(\boldsymbol{c_{i}})+k+1\right] |~k \in \left\{0,1,2\right\}\right\}\). Observe that \(T_{\boldsymbol{a_{i}}},T_{\boldsymbol{b_{i}}},T_{\boldsymbol{c_{i}}}\) are tracks and define \(R(T_{\boldsymbol{a_{i}}}) = \left\{\boldsymbol{a_{i}}\right\}, R(T_{\boldsymbol{b_{i}}}) = \left\{\boldsymbol{b_{i}}\right\}\) and \(R(T_{\boldsymbol{c_{i}}}) = \left\{\boldsymbol{c_{i}}\right\}\).

    Also, define \(T_{\boldsymbol{d_{i}}} = \left\{ \left[max(\boldsymbol{d_{i}})+k , max(\boldsymbol{d_{i}})+k+1\right] |k \in \left\{0,1,2\right\}\right\}\) where \(R(T_{\boldsymbol{d_{i}}}) = \left\{\boldsymbol{d_{i}}\right\}\) and \(T_{\boldsymbol{f_{i}}} = \left\{ \left[max(\boldsymbol{f_{i}}), max(\boldsymbol{f_{i}})+1 \right] \right\}\) where \(R(T_{\boldsymbol{f_{i}}}) = \left\{\boldsymbol{cov_{i}},\boldsymbol{f_{i}}\right\}\).

To complete the construction of the covering gadget of \(C_i\), we define \(\mathrm{\small COV}[i] = \left\{ \boldsymbol{a_{i}} , \boldsymbol{b_{i}}, \boldsymbol{c_{i}}, \boldsymbol{cov_{i}}, \boldsymbol{d_{i}}, \boldsymbol{f_{i}} \right\} \cup \{ \boldsymbol{u^i_T}, \boldsymbol{v^i_T}, \boldsymbol{w^i_T} \}_{T\in \mathcal{T}} \cup \left(\displaystyle\bigcup\limits_{\boldsymbol{y}\in \{\boldsymbol{a},\boldsymbol{b},\boldsymbol{c},\boldsymbol{d},\boldsymbol{f}\}} T_{\boldsymbol{y_{i}}}\right)\). For each \(T\in \mathcal{T}\), let \(T=T\cup T_{new}\) and \(\mathcal{T} = \mathcal{T} \cup \left\{T_{\boldsymbol{a_{i}}},T_{\boldsymbol{b_{i}}},T_{\boldsymbol{c_{i}}},T_{\boldsymbol{d_{i}}},T_{\boldsymbol{f_{i}}}\right\}\). We set \(D = D \cup \mathrm{\small COV}[i]\). Observe that the intersection graph of \(D\) does not contain \(K_{1,5}\) as induced subgraph.

4.6 Construction of the insert gadget↩︎

Let \(T_{\boldsymbol{p}}\) and \(T_{\boldsymbol{q}}\) be two tracks of \(\mathcal{T}\) with roots \(\boldsymbol{p}\) and \(\boldsymbol{q}\), respectively. Without loss of generality, assume that \(T_{\boldsymbol{p}} < T_{\boldsymbol{q}}\). Below we describe the three steps for constructing the insert gadget \(\mathrm{\small INS}\left[\boldsymbol{p} , \boldsymbol{q}\right]\). See Figure 8.

Figure 8: The insert gadget \mathrm{\small INS}\left[\boldsymbol{p} , \boldsymbol{q}\right]. For drawing purposes, the proportions of the intervals were changed. Nevertheless, the obtained interval graph is unchanged.
  1. Extension of existing tracks: For each track \(T\in \mathcal{T}\), we introduce one new interval \(\boldsymbol{u_T}=\left[max(T),max(T)+1\right]\). Let \(T_{new}=\left\{ \boldsymbol{u_T} \right\}\). Observe that, for two tracks \(T,T'\in \mathcal{T}\) with \(T < T'\), we have \((T \cup T_{new}) < (T'\cup T'_{new})\).

  2. Creation of a new interval: Let \(X\) be the track that just follows \(T_{\boldsymbol{p}}\) in \(\mathcal{T}\). Observe that \(X\) always exists. Let \(\boldsymbol{\sigma(p,q)} = \left[\frac{max(\boldsymbol{u}_{T_{\boldsymbol{p}}}) + max(\boldsymbol{u}_{X}) }{2} , \frac{max(\boldsymbol{u}_{T_{\boldsymbol{p}}}) + max(\boldsymbol{u}_{X}) }{2}\right]\).

  3. Creation of a new track: Let \(T_m = \left\{ \left[max(\boldsymbol{\sigma(p,q)}), max(\boldsymbol{\sigma(p,q)})+1\right]\right\}\) and \(R(T_m) = \left\{\boldsymbol{\sigma(p,q)}\right\}\).

To complete the construction, we define \(\mathrm{\small INS}\left[\boldsymbol{p} , \boldsymbol{q}\right] = \left\{ \boldsymbol{\sigma(p,q)}\right\}\;\cup\;\left\{ \boldsymbol{u_T}, \boldsymbol{v_T} \right\}_{T\in \mathcal{T}}\;\cup\;T_m\). We set \(D=D\;\cup\;\mathrm{\small INS}\left[\boldsymbol{p} , \boldsymbol{q}\right]\). For each \(T\in \mathcal{T}\), let \(T=T\cup T_{new}\) and \(\mathcal{T} = \mathcal{T} \cup \{ T_m\}\). Observe that \(T_{\boldsymbol{p}} < T_m < T_{\boldsymbol{q}}\) in \(\mathcal{T}\). Moreover, observe that the intersection graph of \(D\) does not contain \(K_{1,5}\) as induced subgraph.

4.7 Construction of AND gadgets↩︎

Let \(T_{\boldsymbol{p}}\) and \(T_{\boldsymbol{q}}\) be two tracks of \(\mathcal{T}\) with roots \(\boldsymbol{p}\) and \(\boldsymbol{q}\), respectively. Without loss of generality, assume that \(T_{\boldsymbol{p}} < T_{\boldsymbol{q}}\). Below we describe the four steps of constructing \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{p}} , \boldsymbol{\boldsymbol{q}}\right]\). See Figure 9.

Figure 9: The AND gadget \mathrm{\small AND}\left[\boldsymbol{p} , \boldsymbol{q}\right]. For drawing purposes, the proportions of the intervals were changed. Nevertheless, the obtained interval graph is unchanged.
  1. Creation of insert gadget: Create an insert gadget \(\mathrm{\small INS}\left[\boldsymbol{\boldsymbol{p}} , \boldsymbol{\boldsymbol{q}}\right]\). Recall that the interval named \(\boldsymbol{\sigma(p,q)}\) exists and it is the root of track, say, \(T_m\).

  2. Extension of existing tracks: For each track \(T\in \mathcal{T}\), introduce two new intervals \(\boldsymbol{u}_T=[max(T),max(T)+1]\) and \(\boldsymbol{v}_T=[max(T)+1,max(T)+2]\). Let \(T_{new}=\{ \boldsymbol{u}_T, \boldsymbol{v}_T \}\). Observe that, for two tracks \(T,T'\in \mathcal{T}\) with \(T < T'\), we have \((T \cup T_{new}) < (T'\cup T'_{new})\).

  3. Creation of new intervals: Let \(Y_1\) be the track just preceding \(T_{\boldsymbol{p}}\). Recall that \(T_m\) is the track just following \(T_{\boldsymbol{p}}\). Define \(\boldsymbol{\alpha\left(p,q\right)} = \left[ \frac{ max(\boldsymbol{u_{Y_1}}) + max(\boldsymbol{u_{T_{\boldsymbol{p}}}}) }{2} , \frac{ max(\boldsymbol{u_{T_{\boldsymbol{p}}}}) + max(\boldsymbol{u_{T_m}}) }{2} \right]\) and \(\boldsymbol{\beta\left(p,q\right)} = \left[ \frac{max(\boldsymbol{u_{T_{\boldsymbol{p}}}}) + max(\boldsymbol{\alpha\left(p,q\right)})}{2} , \frac{max(\boldsymbol{u}_{T_{\boldsymbol{p}}}) + max(\boldsymbol{\alpha\left(p,q\right)}) }{2} \right]\).

    Let \(Y_2\) be the track just preceding \(T_{\boldsymbol{q}}\) in \(\mathcal{T}\). Observe that either \(Y_2 = T_m\) or \(T_m < Y_2 < T_{\boldsymbol{q}}\). Now define \(\boldsymbol{\gamma\left(p,q\right)} = \left[ max(\boldsymbol{\alpha\left(p,q\right)}) , \frac{ max(\boldsymbol{u_{Y_2}}) + max(\boldsymbol{u_{T_{\boldsymbol{q}}}}) }{2}\right]\). Let \(Y'_2\) be the track just following \(T_{\boldsymbol{q}}\) in \(\mathcal{T}\). We define \(h = max(\boldsymbol{u_{Y'_2}})\) if \(Y'_2\) exists and \(h = max(\boldsymbol{u_{T_{\boldsymbol{q}}}})+\epsilon\) otherwise. Now we define \(\boldsymbol{\delta\left(p,q\right)} = \left[max(\boldsymbol{\gamma\left(p,q\right)}), \frac{ max(\boldsymbol{u_{T_{\boldsymbol{q}}}}) + h }{2}\right]\).

  4. Creation of new tracks: We create \(T_1 = \left\{ \left[max(\boldsymbol{\beta\left(p,q\right)}), max(\boldsymbol{\beta\left(p,q\right)} + 1\right] \right\}\) where \(R(T_1)=\left\{\boldsymbol{\alpha\left(p,q\right)},\boldsymbol{\beta\left(p,q\right)}\right\}\), \(T_2 = \left\{\left[max(\boldsymbol{\gamma\left(p,q\right)}), max(\boldsymbol{\gamma\left(p,q\right)}) + 1\right] \right\}\) where \(R(T_2) = \left\{\boldsymbol{\gamma\left(p,q\right)}\right\}\) and \(T_3 = \left\{\left[\boldsymbol{\delta\left(p,q\right)},\boldsymbol{\delta\left(p,q\right)}+1\right]\right\}\) where \(R(T_3) = \left\{\boldsymbol{\delta\left(p,q\right)}\right\}\).

To complete the construction, define \(\mathrm{\small AND}\left[\boldsymbol{p} , \boldsymbol{q}\right] = \left\{ \boldsymbol{\alpha\left(p,q\right)} , \boldsymbol{\beta\left(p,q\right)}, \boldsymbol{\gamma\left(p,q\right)}, \boldsymbol{\delta\left(p,q\right)}\right\} \cup \left\{ \boldsymbol{u_T}, \boldsymbol{v_T} \right\}_{T\in \mathcal{T}} \cup \left\{T_j\right\}_{1\leq j\leq 3}\). For each \(T\in \mathcal{T}\), let \(T=T\cup T_{new}\). Let \(D = D \cup \mathrm{\small AND}\left[\boldsymbol{p} , \boldsymbol{q}\right]\) and \(\mathcal{T}=\mathcal{T} \cup \{T_1, T_2,T_3\}\). Observe that the intersection graph of \(D\) does not contain \(K_{1,5}\) as induced subgraph.

4.8 Construction of variable gadgets↩︎

We construct the variable gadgets sequentially and connect each of them to the previous one (\(\mathscr{X}_1\) is connected to the start gadget \(\mathscr{S}\)). Assuming that we have placed \(\mathscr{S},\mathscr{X}_1,\ldots,\mathscr{X}_{i-1}\), we construct \(\mathscr{X}_i\) as follows. For variable \(x_i\), the gadget \(\mathscr{X}_i\) consists of two implication gadgets. Let \(D\) and \(\mathcal{T}\) be the set of intervals and tracks created so far. First, we construct \(IMP\left[\neg \boldsymbol{\top} \rightarrow \boldsymbol{x_i}\right]\). Observe that the sets \(D\) and \(\mathcal{T}\) have been updated after the last operation. There is an interval \(\boldsymbol{x_i}\) in \(D\) and there is a track \(T\in \mathcal{T}\) whose root is \(\boldsymbol{x_i}\). Now we construct \(IMP\left[\neg \boldsymbol{x_i} \rightarrow \boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mux_i\mkern-1.5mu}\mkern 1.5mu}\right]\). Observe that after constructing all the variable gadgets, for each literal \(\ell\), there is an interval named \(\boldsymbol{\ell}\) in \(D\). See Figure 10 for an illustration of \(\mathscr{X}_i\) created corresponding to the variable \(x_i\).

Figure 10: The variable gadget \mathscr{X}_i created corresponding to the variable x_i. The first implication gadget contains three special intervals named \boldsymbol{x_i}, \boldsymbol{r_{x_i}}, \boldsymbol{s_{x_i}}. The second implication gadget contains three special intervals named \boldsymbol{\overline{x_i}}, \boldsymbol{r_{\overline{x_i}}}, \boldsymbol{s_{\overline{x_i}}}.

4.9 Construction of clause gadgets↩︎

We shall complete our construction of clause gadget \(\mathscr{C}_i\) corresponding to the clause \(C_i = (\ell_i^1, \ell_i^2, \ell_i^3)\). First, we create the covering gadget \(\mathrm{\small COV}[i]\) and update \(D,\mathcal{T}\) as described in Section 4.5. Recall from the construction of \(\mathrm{\small COV}[i]\) that the intervals named \(\boldsymbol{a_{i}}\), \(\boldsymbol{b_{i}}\), \(\boldsymbol{c_{i}}\) exist. Also recall from the construction of variable gadgets (described in Section 4.8) that the intervals \(\boldsymbol{\ell_i^1}\), \(\boldsymbol{\ell_i^2}\), \(\boldsymbol{\ell_i^3}\) and \(\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^1\mkern-1.5mu}\mkern 1.5mu}\), \(\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^2\mkern-1.5mu}\mkern 1.5mu}\), \(\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^3\mkern-1.5mu}\mkern 1.5mu}\) exist. Now we create, in this order, \(IMP\left[\neg \boldsymbol{ \boldsymbol{a_{i}}} \rightarrow \boldsymbol{\boldsymbol{a'_{i}}}\right]\), \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a_{i}}} , \boldsymbol{\ell_i^1}\right]\), \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a'_{i}}} , \boldsymbol{\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^1\mkern-1.5mu}\mkern 1.5mu}}\right]\), \(IMP\left[\neg \boldsymbol{ \boldsymbol{b_{i}}} \rightarrow \boldsymbol{\boldsymbol{b'_{i}}}\right]\), \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{b_{i}}} , \boldsymbol{\ell_i^2}\right]\), \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{b'_{i}}} , \boldsymbol{\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^2\mkern-1.5mu}\mkern 1.5mu}}\right]\), \(IMP\left[\neg \boldsymbol{ \boldsymbol{c_{i}}} \rightarrow \boldsymbol{\boldsymbol{c'_{i}}}\right]\), \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{c_{i}}} , \boldsymbol{\ell_i^3}\right]\), \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{c'_{i}}} , \boldsymbol{\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^3\mkern-1.5mu}\mkern 1.5mu}}\right]\) where \(\boldsymbol{a'_{i}}\), \(\boldsymbol{b'_{i}}\) and \(\boldsymbol{c'_{i}}\) are three new intervals constructed in the corresponding implication gadgets. This completes the construction of \(\mathscr{C}_i\). See Figure 11 for an illustration of the clause gadget \(\mathscr{C}_i\).

Figure 11: Illustration of the clause gadget \mathscr{C}_i with literals \ell_i^1,\ell_i^2,\ell_i^3. The names of the special intervals created at each gadget are highlighted above or below the box illustrating the respective gadgets.

4.10 Construction of end gadget↩︎

Figure 12: Illustration of the gadgets for the 3-SAT instance (x_1 \lor \overline{x_2} \lor x_3). The names of the special intervals created at each gadget are highlighted above or below the box illustrating the respective gadgets.

For each \(T\in \mathcal{T}\), we introduce two new intervals \(\boldsymbol{u}_T=[max(T), max(T) + 1], \boldsymbol{e_{T}} = [max(\boldsymbol{u}_T),max(\boldsymbol{u}_T)]\) and define \(T=T\cup \{ \boldsymbol{u}_T \}, D=D\cup \{ \boldsymbol{u}_T, \boldsymbol{e}_T \}_{T\in \mathcal{T}}\). For each \(T\in \mathcal{T}\), let \(\boldsymbol{e_{T}}\) be the tail of \(T\). The end gadget \(\mathscr{E}\) consists of all the new intervals created above. See Figure 12 for an illustration of all the gadgets created corresponding to the 3-SAT instance \(F=(x_1 \lor \overline{x_2} \lor x_3)\). Observe that the intersection graph of \(D\) does not contain \(K_{1,5}\) as induced subgraph.

4.11 Proofs↩︎

Figure 13: Roadmap for proof of Theorem 2.

In this section, we shall show that the 3-SAT instance is satisfiable if and only if the constructed graph has a geodetic set with a certain cardinality. For the entirety of this section, \(F\) shall denote a 3-SAT instance with variables \(x_1,x_2,\ldots, x_n\) and clauses \(C_1,C_2,\ldots,C_m\). The set \(D\) will denote the set of constructed intervals, \(\mathcal{T}\) will denote the tracks. For each \(i\in [n]\), \(\mathscr{X}_i\) shall denote the constructed variable gadget and for each \(j\in [m]\), \(\mathscr{C}_j\) shall denote the set of constructed gadget. The reader may use Figure 13 to navigate the proof of Theorem 2.

We begin by showing that the number of vertices in the constructed graph is polynomial in the number of variables and clauses, which implies that the construction procedure takes polynomial time.

Lemma 10. There are \(2+4n+35m\) tracks in \(\mathcal{T}\) and \(4+ 6n + 52m\) point intervals in \(D\). The total number of intervals in \(D\) is \(O((n+m)^2)\).

Proof. Recall that the construction of the start gadget consists of creating two point intervals and two tracks. The construction of one implication gadget consists of creating one point interval and two new tracks. The construction of one AND gadget consists of creating two point intervals (one of which is due to the creation of the insert gadget) and four new tracks. The construction of one covering gadget consists of creating two point intervals and five new tracks. Recall that each variable gadget consists of two implication gadgets, and one clause gadget contains three implication gadgets. Thus, the total number of implication gadgets created is \(2n+3m\). Each clause gadget contains six AND gadgets. Hence, the total number of AND gadgets created is \(6m\). The total number of covering gadgets created is \(m\). So, the total number of tracks created is \(2+4n+35m\). The end gadget contains one distinct point interval for each track. Hence, the total number of point intervals is \(4+ 6n + 52m\). Thus, the total number of intervals in \(D\) is \(O((n+m)^2)\). ◻

In the next few lemmas, we prove that if an induced path of an interval graph has a certain structure, then it is also a shortest path between its end-vertices.

Lemma 11. Let \(\boldsymbol{u}\) and \(\boldsymbol{v}\) be two intervals of \(D\) such that \(\min(\boldsymbol{u}) < \min(\boldsymbol{v})\). Let \(P=\boldsymbol{u_0} \boldsymbol{u_1} \dots \boldsymbol{u_k} \boldsymbol{v}\) be an induced path such that \(\boldsymbol{u_0}=\boldsymbol{u}\) and \(\boldsymbol{u_{i+1}}\) is the rightmost neighbour of \(\boldsymbol{u_i}\) for \(0\leq i\leq k-1\), and \(\boldsymbol{u_{k-1}} \notin N(\boldsymbol{v})\), while \(\boldsymbol{u_{k}} \in N(\boldsymbol{v})\). Then, \(P\) is a shortest path.

Proof. Let \(P = \boldsymbol{u_0} \boldsymbol{u_1} \dots \boldsymbol{u_k} \boldsymbol{v}\) and \(P'\) be a shortest path from \(\boldsymbol{u}\) to \(\boldsymbol{v}\) which starts by the longest common subpath with \(P\). Hence \(P'= \boldsymbol{u_0} \boldsymbol{u_1} \dots \boldsymbol{u_i} \boldsymbol{z} \dots \boldsymbol{v}\) with \(\boldsymbol{z} \notin P\). If \(i=k\) then \(P\) and \(P'\) have the same length. Otherwise, replace \(\boldsymbol{z}\) in \(P'\) by \(\boldsymbol{u_{i+1}}\) to obtain a path \(P''\). It is indeed a path as \(\max(\boldsymbol{z}) < \max(\boldsymbol{u_{i+1}})\). Moreover \(P'\) and \(P''\) have the same length, a contradiction with the definition of \(P'\). ◻

Definition 10. Let \(P=\boldsymbol{u_1}\ldots \boldsymbol{u_k}\) be a path such that \(\boldsymbol{u_{i+1}}\) is the rightmost neighbour of \(\boldsymbol{u_i}\) for all \(i\in 1\leq i\leq k-2\) and \(\boldsymbol{u_{k-2}}\) is not adjacent to \(\boldsymbol{u_{k}}\). The path \(P\) is a shortest path between \(\boldsymbol{u_1}\) and \(\boldsymbol{u_k}\) by Lemma 11. We say that such a path is a “good shortest path”.

Definition 11. Let \(\boldsymbol{u},\boldsymbol{v},\boldsymbol{w}\) be three intervals of \(D\) such that \(\max(\boldsymbol{u}) < \min(\boldsymbol{w})\) and \(\boldsymbol{v} \in I(\boldsymbol{u},\boldsymbol{w})\). A shortest path \(P=\boldsymbol{u_0} \boldsymbol{u_1} \ldots \boldsymbol{u_k} \boldsymbol{v} \boldsymbol{u_{k+1}} \ldots \boldsymbol{w}\) between \(\boldsymbol{u_0}=\boldsymbol{u}\) and \(\boldsymbol{w}\) is “semi-good” if for each \(0\leq i\leq k-1\), \(\boldsymbol{u_{i+1}}\) is the rightmost interval of \(\boldsymbol{u_i}\).

Lemma 12. Let \(\boldsymbol{u},\boldsymbol{v},\boldsymbol{w}\) be two intervals of \(D\) such that \(\max(\boldsymbol{u}) < \min(\boldsymbol{w})\) and \(\boldsymbol{v} \in I(\boldsymbol{u},\boldsymbol{w})\). Then, there exists a semi-good shortest path between \(\boldsymbol{u}\) and \(\boldsymbol{w}\) containing \(\boldsymbol{v}\).

Proof. Let \(P=\boldsymbol{u_0} \ldots \boldsymbol{u_k} \boldsymbol{v} \boldsymbol{u_{k+1}} \ldots \boldsymbol{w}\) be a shortest path between \(\boldsymbol{u_0} = \boldsymbol{u}\) and \(\boldsymbol{w}\) that contains \(\boldsymbol{v}\). Now consider the path \(Q = \boldsymbol{u'_0} \ldots \boldsymbol{u'_k}\) such that \(\boldsymbol{u'_0}=\boldsymbol{u}\) and for \(0\leq i \leq k-1\), \(\boldsymbol{u'_{i+1}}\) is the rightmost neighbour of \(\boldsymbol{u'_i}\). Observe that \(\boldsymbol{u'_k}\) intersects \(\boldsymbol{v}\) and \(\boldsymbol{u'_k}\) does not intersect \(\boldsymbol{u_{k+1}}\) (else, it contradicts the fact that \(P\) is a shortest path). Therefore, \(\boldsymbol{u'_0} \ldots \boldsymbol{u'_k} \boldsymbol{v} \boldsymbol{u_{k+1}} \ldots \boldsymbol{w}\) is a semi-good shortest path containing \(v\). ◻

In Subsection 4.11.1, we shall show that if the 3-SAT instance is satisfiable, then the constructed interval graph has a geodetic set of certain cardinality. In Section 4.11.2, we shall show that if the constructed interval graph has a geodetic set of certain cardinality, then the 3-SAT instance is satisfiable.

4.11.1 Satisfiability implies optimality↩︎

Recall that each track \(T\) is associated with a set of intervals called its roots, denoted by \(R(T)\). Also from our construction, it is clear that an interval is the root of at most one track. Hence we define the following notation: for an interval \(\boldsymbol{z}\), let \(T(\boldsymbol{z})\) denote the track \(T\) such that \(\boldsymbol{z} \in R(T(\boldsymbol{z}))\).

Lemma 13. If \(T\) is a track in \(\mathcal{T}\), then \(T \subseteq I({\boldsymbol{o}}, \boldsymbol{e_{T}})\).

Proof. Let \(T = \left\{\boldsymbol{a_1},\dots,\boldsymbol{a_j}\right\}\) be the set of intervals of \(T\) such that \(max(\boldsymbol{a_i})=min(\boldsymbol{a_{i+1}})\) for \(i\in [j-1]\). Let \(T({\boldsymbol{o}}) = \left\{\boldsymbol{b_1},\dots,\boldsymbol{b_k}\right\}\) such that \(max(\boldsymbol{b_i})=min(\boldsymbol{b_{i+1}})\) for \(i\in [k-1]\). By Lemma 11, the path induced by the set \(\{{\boldsymbol{o}}, \boldsymbol{b_1},\dots,\boldsymbol{b_k},\boldsymbol{z},\boldsymbol{e_{T}}\}\) is a good shortest path from \({\boldsymbol{o}}\) to \(\boldsymbol{e_{T}}\) where \(z\) is the rightmost neighbour of \(\boldsymbol{b_k}\). Hence the distance between \({\boldsymbol{o}}\) and \(\boldsymbol{e_{T}}\) is \(k+3\).

Observe that both \(\boldsymbol{b_k}\) and \(\boldsymbol{a_j}\) belong to the end gadget and therefore they are adjacent with \(\max(\boldsymbol{b_k}) < \max(\boldsymbol{a_j})\). From the construction it implies that \(\min(\boldsymbol{b_{k}}) < \min(\boldsymbol{a_{j}})\). Since \(\max(\boldsymbol{b_{k-1}}) = \min(\boldsymbol{b_{k}})\), it follows that \(\boldsymbol{b_{k-1}}\) is not adjacent with \(\boldsymbol{a_j}\). Hence the path induced by the set \(\{{\boldsymbol{o}}, \boldsymbol{b_1},\dots,\boldsymbol{b_k},\boldsymbol{a_j},\boldsymbol{e_{T}}\}\) has length \(k+3\) and therefore is a shortest path.

Now, using an inductive argument on \(i\) (from \(i=j\) to \(i=1\)), it follows that \(\boldsymbol{a_i}\) and \(\boldsymbol{b_{k-j+i}}\) are neighbours. Hence, the path induced by the set \(\{{\boldsymbol{o}}, \boldsymbol{b_1},\dots,\boldsymbol{b_{k-j+1}},\boldsymbol{a_1},\dots,\boldsymbol{a_j},\boldsymbol{e_{T}}\}\) induces a shortest path \(P'\) from \({\boldsymbol{o}}\) to \(\boldsymbol{e_{T}}\) such that \(V(T)\subseteq V(P')\). Hence, \(T \subseteq I({\boldsymbol{o}}, \boldsymbol{e_{T}})\). ◻

Lemma 14. Consider an implication gadget \(IMP\left[\neg \boldsymbol{p} \rightarrow \boldsymbol{q}\right]\). We have that \(\boldsymbol{q} \in I(\boldsymbol{p}, \boldsymbol{s_q})\) and \(\boldsymbol{r_q} \in I({\boldsymbol{o}}, \boldsymbol{s_q})\).

Proof. Consider the track \(T(\boldsymbol{p})\). Observe from the construction of \(IMP\left[\neg \boldsymbol{\boldsymbol{p}} \rightarrow \boldsymbol{\boldsymbol{q}}\right]\) that there exists a subset \(\left\{\boldsymbol{v_1}, \boldsymbol{v_2}, \ldots, \boldsymbol{v_{k+2}}\right\} \subseteq T(\boldsymbol{p})\) such that \(\boldsymbol{p}\) and \(\boldsymbol{v_1}\) are adjacent, \(\boldsymbol{v_{i+1}}\) is the rightmost neighbour of \(\boldsymbol{v_{i}}\) for \(1 \leq i \leq k+1\) and \(\boldsymbol{v_k}\) is the leftmost neighbour of \(\boldsymbol{q}\). By Lemma 11, \(\left\{\boldsymbol{p},\boldsymbol{v_1},\boldsymbol{v_2}, \ldots, \boldsymbol{v_k}, \boldsymbol{v_{k+1}}, \boldsymbol{v_{k+2}}, \boldsymbol{s_q}\right\}\) induces a good shortest path between \(\boldsymbol{p}\) and \(\boldsymbol{s_q}\). Hence, the path induced by \(\left\{\boldsymbol{p},\boldsymbol{v_1},\boldsymbol{v_2}, \ldots, \boldsymbol{v_k}, \boldsymbol{q}, \boldsymbol{r_q}, \boldsymbol{s_q}\right\}\) is also a shortest path between \(\boldsymbol{p}\) and \(\boldsymbol{s_q}\).

Now consider the track \(T({\boldsymbol{o}})\). Observe from the construction of \(IMP\left[\neg \boldsymbol{\boldsymbol{p}} \rightarrow \boldsymbol{\boldsymbol{q}}\right]\) that there exists a subset \(\left\{\boldsymbol{w_1}, \boldsymbol{w_2}, \ldots, \boldsymbol{w_{t}}\right\} \subseteq T({\boldsymbol{o}})\) such that \(\boldsymbol{w_1}\) is the rightmost neighbour of \({\boldsymbol{o}}\), \(\boldsymbol{w_{i+1}}\) is the leftmost neighbour of \(\boldsymbol{v_{i}}\) for \(1 \leq i \leq t-1\), \(\boldsymbol{s_q}\cap \boldsymbol{w}_{t-1}=\emptyset\), and \(\boldsymbol{s_q}\subset \boldsymbol{w}_t\). By Lemma 11, the set \(\left\{{\boldsymbol{o}},\boldsymbol{w_1},\boldsymbol{w_2}, \ldots, \boldsymbol{w_{t-1}}, \boldsymbol{w_t}, \boldsymbol{s_q}\right\}\) is a shortest path between \({\boldsymbol{o}}\) and \(\boldsymbol{s_q}\) of length \(t+1\). Also observe from the construction that \(\boldsymbol{w}_{t-1}\) is adjacent to \(\boldsymbol{r}_q\). Hence, the path induced by the set \(\left\{{\boldsymbol{o}},\boldsymbol{w_1},\boldsymbol{w_2}, \ldots, \boldsymbol{w_{t-1}}, \boldsymbol{r_q}, \boldsymbol{s_q}\right\}\) is a shortest path between \({\boldsymbol{o}}\) and \(\boldsymbol{s_q}\). ◻

Lemma 15. Consider the cover gadget \(\mathrm{\small COV}[i]\) and let \(\boldsymbol{z} \in \left\{\boldsymbol{a_{i}},\boldsymbol{b_{i}},\boldsymbol{c_{i}}\right\}\). Then, \(\boldsymbol{z}\in I(\boldsymbol{d_{i}}, \boldsymbol{e_{T(\boldsymbol{z})}})\) and \(\boldsymbol{cov_{i}}\in I(\boldsymbol{z},\boldsymbol{f_{i}})\).

Proof. Let \(T\) denote the track \(T(\boldsymbol{z})\) and let \(T=\left\{\boldsymbol{u_1},\boldsymbol{u_2},\ldots,\boldsymbol{u_{k}}\right\}\) such that \(\boldsymbol{u_{i+1}}\) is the rightmost neighbour of \(\boldsymbol{u_{i}}\) for all \(1\leq j\leq k-1\). Observe from the construction that the path induced by the set \(\left\{\boldsymbol{d_{i}},\boldsymbol{z},\boldsymbol{u_1},\boldsymbol{u_2},\ldots,\boldsymbol{u_{k}},\boldsymbol{e_{T}}\right\}\) is a shortest path between \(\boldsymbol{d_{i}}\) and \(\boldsymbol{e_{T}}\). This proves the first part of the proposition. For the second part, consider the path \(P\) induced by the set \(\left\{\boldsymbol{z},\boldsymbol{u_1},\boldsymbol{u_2},\boldsymbol{cov_{i}},\boldsymbol{f_{i}}\right\}\). Clearly, \(P\) is a shortest path between \(\boldsymbol{z}\) and \(\boldsymbol{f_{i}}\). ◻

Lemma 16. Consider an AND gadget \(\mathrm{\small AND}\left[\boldsymbol{p} , \boldsymbol{q}\right]\) and the insert gadget \(\mathrm{\small INS}\left[\boldsymbol{p} , \boldsymbol{q}\right]\). Let \(T_1 = T(\boldsymbol{\alpha\left(p,q\right)})\), \(T_2 = T(\boldsymbol{\gamma\left(p,q\right)})\) and \(T_3=T(\boldsymbol{\delta\left(p,q\right)})\). Then

  1. \(\boldsymbol{\gamma\left(p,q\right)} \in I(\boldsymbol{\sigma(p,q)}, \boldsymbol{e_{T_2}})\),

  2. \(\boldsymbol{\alpha\left(p,q\right)} \in I(\boldsymbol{p}, \boldsymbol{e_{T_1}})\), \(\boldsymbol{\delta\left(p,q\right)} \in I(\boldsymbol{q}, \boldsymbol{e_{T_3}})\), and

  3. \(\boldsymbol{\alpha\left(p,q\right)} \in I(\boldsymbol{\beta\left(p,q\right)} , \boldsymbol{\gamma\left(p,q\right)})\) and \(\boldsymbol{\delta\left(p,q\right)} \in I(\boldsymbol{\gamma\left(p,q\right)},\boldsymbol{e_{T_3}})\).

Proof. First, we prove (a). Consider the track \(T(\boldsymbol{\sigma(p,q)})\). Observe from the construction that \(T(\boldsymbol{\sigma(p,q)})\) can be partitioned into two sets \(P_a=\left\{\boldsymbol{u_1},\boldsymbol{u_2},\ldots,\boldsymbol{u_j}\right\}\) and \(P'_a = \left\{\boldsymbol{u_{j+1}},\boldsymbol{u_{j+2}},\ldots,\boldsymbol{u_k}\right\}\) where \(\boldsymbol{u_1}\) is the rightmost neighbour of \(\boldsymbol{\sigma(p,q)}\), \(\boldsymbol{u_{i+1}}\) is the rightmost neighbour of \(\boldsymbol{u_i}\) for all \(1\leq i\leq k-1\), and \(\boldsymbol{u_j}\) is the interval of \(T(\boldsymbol{\sigma(p,q)})\) with minimal index which intersects \(\boldsymbol{\boldsymbol{\gamma\left(p,q\right)}}\). Let \(\boldsymbol{z_a}\) be the rightmost neighbour of \(\boldsymbol{u_k}\). Since \(\boldsymbol{u_k}\in \mathscr{E}\), either \(\boldsymbol{z_a} = \boldsymbol{u_{T_2}}\) or \(\max(\boldsymbol{z_a})\geq \max(\boldsymbol{e_{T_2}})\). Therefore \(\boldsymbol{e_{T_2}}\) is adjacent to \(\boldsymbol{z_a}\). Hence, by Lemma 11, the path induced by \(Q_a=\left\{\boldsymbol{\sigma(p,q)}\right\} \cup P_a \cup P'_a \cup \left\{\boldsymbol{z_a},\boldsymbol{e_{T_2}}\right\}\) is a good shortest path between \(\boldsymbol{\sigma(p,q)}\) and \(\boldsymbol{e_{T_2}}\). Observe from the construction that \(|T_2| = |P'|\). Therefore, the set \(Q'_a=\left\{\boldsymbol{\sigma(p,q)}\right\} \cup P_a \cup \left\{\boldsymbol{\gamma\left(p,q\right)}\right\} \cup T_2 \cup \{ \boldsymbol{e_{T_2}}\}\) has the same cardinality as \(Q_a\). Moreover, \(Q'_a\) induces a path. This implies \(Q'_a\) induces a shortest path between \(\boldsymbol{\sigma(p,q)}\) and \(\boldsymbol{e_{T_2}}\).

Second, we prove (b). Consider the track \(T(\boldsymbol{p})\). Observe from the construction that \(T(\boldsymbol{p})\) can be partitioned into two sets \(P_b=\left\{\boldsymbol{v_1},\boldsymbol{v_2},\ldots,\boldsymbol{v_{j'}}\right\}\) and \(P'_b = \left\{\boldsymbol{v_{j'+1}},\boldsymbol{v_{j'+2}},\ldots,\boldsymbol{v_{k'}}\right\}\) where \(\boldsymbol{v_1}\) is the rightmost neighbour of \(\boldsymbol{p}\), \(\boldsymbol{v_{i+1}}\) is the rightmost neighbour of \(\boldsymbol{v_i}\) for all \(1\leq i\leq k'-1\), and \(\boldsymbol{v_{j'}}\) is the interval of \(T(\boldsymbol{p})\) with minimal index which intersects \(\boldsymbol{\boldsymbol{\alpha\left(p,q\right)}}\). Let \(\boldsymbol{z_b}\) be the rightmost neighbour of \(\boldsymbol{v_{k'}}\). Since \(\boldsymbol{v_{}k'}\in \mathscr{E}\), either \(\boldsymbol{z_b} = \boldsymbol{u_{T_1}}\) or \(\max(\boldsymbol{z_b})\geq \max(\boldsymbol{e_{T_1}})\). Therefore \(\boldsymbol{e_{T_1}}\) is adjacent to \(\boldsymbol{z_b}\). Hence, by Lemma 11, the path induced by \(Q_b=\left\{\boldsymbol{p}\right\} \cup P_b \cup P'_b \cup \left\{\boldsymbol{z_b},\boldsymbol{e_{T_1}}\right\}\) is a good shortest path between \(\boldsymbol{p}\) and \(\boldsymbol{e_{T_1}}\). Observe from the construction that \(|T_1| = |P'_b|\). Therefore, the set \(Q'_b=\left\{\boldsymbol{p}\right\} \cup P_b \cup \left\{\boldsymbol{\alpha\left(p,q\right)}\right\} \cup T_1 \cup \{ \boldsymbol{e_{T_1}}\}\) has the same cardinality as \(Q_b\). Moreover, \(Q'_b\) induces a path. This implies \(Q'_b\) induces a shortest path between \(\boldsymbol{p}{q}\) and \(\boldsymbol{e_{T_1}}\). Using similar arguments, we can show that \(\boldsymbol{\delta\left(p,q\right)} \in I(\boldsymbol{q}, \boldsymbol{e_{T_3}})\).

Finally, we prove \((c)\). Observe from the construction that the distance between \(\boldsymbol{\beta\left(p,q\right)}\) and \(\boldsymbol{\delta\left(p,q\right)}\) is two and therefore \(\boldsymbol{\alpha\left(p,q\right)} \in I(\boldsymbol{\beta\left(p,q\right)} , \boldsymbol{\gamma\left(p,q\right)})\). Let \(T_3 = \left\{\boldsymbol{w_1},\boldsymbol{w_2},\ldots,\boldsymbol{w_{k''}}\right\}\) such that \(\boldsymbol{w_1}\) is the rightmost neighbour of \(\boldsymbol{\delta\left(p,q\right)}\), \(\boldsymbol{w_{i+1}}\) is the rightmost neighbour of \(\boldsymbol{w_i}\) for all \(1\leq i\leq k''-1\). Hence, by Lemma 11, the path induced by \(\left\{\boldsymbol{\delta\left(p,q\right)}, \boldsymbol{w_1},\boldsymbol{w_2},\ldots,\boldsymbol{w_{k''}}, \boldsymbol{e_{T_3}}\right\}\) is a good shortest path. Now observe from the construction that the distance between \(\boldsymbol{w_1}\) and \(\boldsymbol{\gamma\left(p,q\right)}\) is two and no neighbour of \(\boldsymbol{\gamma\left(p,q\right)}\) is adjacent to \(\boldsymbol{w_i}\) for \(2\leq i \leq k''\). This implies that the path induced by the set \(\left\{ \boldsymbol{\gamma\left(p,q\right)}, \boldsymbol{\delta\left(p,q\right)}, \boldsymbol{w_1},\boldsymbol{w_2},\ldots,\boldsymbol{w_{k''}}, \boldsymbol{e_{T_3}}\right\}\) is a shortest path between \(\boldsymbol{\gamma\left(p,q\right)}\) and \(\boldsymbol{e_{T_3}}\). This completes the proof. ◻

Lemma 17. If the 3-SAT instance \(F\) is satisfiable then \(\mathcal{I}(D)\) has a geodetic set of cardinality \(4 + 7n + 58m\).

Proof. We shall show that if \(F\) is satisfiable, then \(D\) has a geodetic set of cardinality \(4 + 7n + 58m= n_{point} + n + 6m\). Let \(S_p\) denote the set of point intervals in \(D\). Note that the point intervals are the only simplicial vertices in \(D\). Hence, they must all belong to any geodetic set of \(D\). Let \(\phi \colon \{ x_1,x_2,\ldots,x_n \} \rightarrow \{1,0\}\) be a satisfying assignment of \(F\). Now, define the following sets. Let \(S_1=\{ \boldsymbol{x_i} \colon \phi(x_i)=1 \} \cup \{ \boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mux_i\mkern-1.5mu}\mkern 1.5mu} \colon \phi(x_i)=0 \}\). Let \(S_2=\emptyset\). Now, for each clause \(C_i=(\ell_i^1, \ell_i^2, \ell_i^3)\), do the following.

  1. If \(\phi(\ell_i^1) = 1\), then put \(S_2=S_2 \cup \left\{\boldsymbol{a_{i}},\boldsymbol{\gamma\left(\boldsymbol{a'_{i}},\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^1\mkern-1.5mu}\mkern 1.5mu}\right)}\right\}\) and if \(\phi(\ell_i^1) = 0\) then put \(S_2=S_2 \cup \left\{\boldsymbol{a'_{i}},\boldsymbol{\gamma\left(\boldsymbol{a_{i}},\boldsymbol{\ell_i^1}\right)}\right\}\).

  2. If \(\phi(\ell_i^2) = 1\), then put \(S_2=S_2 \cup \left\{\boldsymbol{b_{i}},\boldsymbol{\gamma\left(\boldsymbol{b'_{i}},\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^2\mkern-1.5mu}\mkern 1.5mu}\right)}\right\}\) and if \(\phi(\ell_i^2) = 0\) then put \(S_2=S_2 \cup \left\{\boldsymbol{b'_{i}},\boldsymbol{\gamma\left(\boldsymbol{b_{i}},\boldsymbol{\ell_i^2}\right)}\right\}\).

  3. If \(\phi(\ell_i^3) = 1\), then put \(S_2=S_2 \cup \left\{\boldsymbol{c_{i}},\boldsymbol{\gamma\left(\boldsymbol{c'_{i}},\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^3\mkern-1.5mu}\mkern 1.5mu}\right)}\right\}\) and if \(\phi(\ell_i^3) = 0\) then put \(S_2=S_2 \cup \left\{\boldsymbol{c'_{i}},\boldsymbol{\gamma\left(\boldsymbol{c_{i}},\boldsymbol{\ell_i^3}\right)}\right\}\).

Let \(S=S_1\cup S_2 \cup S_p\). We shall show that \(S\) is a geodetic set of \(D\). Due to Lemma 10, we have that \(|S_1 \cup S_2 \cup S_p| = 4 + 7n + 58m\).

As \(S_p \subseteq S\), observe that \({\boldsymbol{o}}\in S\) and for each track \(T\in \mathcal{T}\), the point interval \(\boldsymbol{e_{T}}\in S\). Hence, due to Lemma 13, we have that each track \(T\in \mathcal{T}\) is covered by \(S\).

Consider any variable gadget \(\mathscr{X}_i\) corresponding to the variable \(x_i\). Recall that from the construction, \(\mathscr{X}_i = IMP\left[\neg \boldsymbol{\top} \rightarrow \boldsymbol{x_i}\right] \cup IMP\left[\neg \boldsymbol{x_i} \rightarrow \boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mux_i\mkern-1.5mu}\mkern 1.5mu}\right]\). Due to Lemma 14, we have that \(\boldsymbol{x_i} \in I({\boldsymbol{\top}},\boldsymbol{s_{x_i}})\) and \(\boldsymbol{r_{x_i}} \in I({\boldsymbol{o}},\boldsymbol{s_{x_i}})\). Hence, \(IMP\left[\neg \boldsymbol{\top} \rightarrow \boldsymbol{x_i}\right] \subseteq I(S)\). Now, consider the implication gadget \(IMP\left[\neg \boldsymbol{x_i} \rightarrow \boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mux_i\mkern-1.5mu}\mkern 1.5mu}\right]\). Due to Lemma 14, we have that \(\overline{x_i} \in I({\boldsymbol{o}},\boldsymbol{s_{\overline{x_i}}})\). Since \(\phi\) is a satisfying assignment, then either \(\boldsymbol{\overline{x_i}} \in S\) or \(\boldsymbol{x_i} \in S\). In the latter case, due to Lemma 14, \(\boldsymbol{r_{\overline{x_i}}} \in I(\boldsymbol{x_i}, \boldsymbol{s_{\overline{x_i}}})\). Hence, \(IMP\left[\neg \boldsymbol{x_i} \rightarrow \boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mux_i\mkern-1.5mu}\mkern 1.5mu}\right] \subseteq S\), and therefore \(\mathscr{X}_i \subseteq I(S)\).

Now, consider any clause \(C_i = (\ell_i^1,\ell_i^2,\ell_i^3 )\) and recall the construction of \(\mathscr{C}_i\). Since \(\phi\) is a satisfying assignment, observe that, there exists at least one interval \(\boldsymbol{z} \in \left\{\boldsymbol{a_{i}},\boldsymbol{b_{i}},\boldsymbol{c_{i}}\right\} \cap S\). Now due to Lemma 15, \(\boldsymbol{z}\in I(\boldsymbol{d_{i}}, \boldsymbol{e_{T(\boldsymbol{z})}})\) and \(\boldsymbol{cov_{i}}\in I(\boldsymbol{z},\boldsymbol{f_{i}})\). Hence \(\mathrm{\small COV}[i] \subseteq I(S)\). Now, consider the implication gadget \(IMP\left[\neg \boldsymbol{\boldsymbol{a_{i}}} \rightarrow \boldsymbol{\boldsymbol{a'_{i}}}\right]\). From our definition of \(S_2\), it follows that \(\left\{\boldsymbol{a_{i}},\boldsymbol{a'_{i}}\right\}\cap S \neq \emptyset\). Now due to Lemma 14, \(\boldsymbol{\boldsymbol{a'_{i}}} \in I(S)\) and \(\boldsymbol{r_{\boldsymbol{a'_{i}}}} \in I(S)\). Hence, \(IMP\left[\neg \boldsymbol{\boldsymbol{a_{i}}} \rightarrow \boldsymbol{\boldsymbol{a'_{i}}}\right] \subseteq I(S)\). Repeating the above arguments for \(IMP\left[\neg \boldsymbol{\boldsymbol{b_{i}}} \rightarrow \boldsymbol{\boldsymbol{b'_{i}}}\right]\) and \(IMP\left[\neg \boldsymbol{\boldsymbol{c_{i}}} \rightarrow \boldsymbol{\boldsymbol{c'_{i}}}\right]\), we infer that \[IMP\left[\neg \boldsymbol{\boldsymbol{a_{i}}} \rightarrow \boldsymbol{\boldsymbol{a'_{i}}}\right] \cup IMP\left[\neg \boldsymbol{\boldsymbol{b_{i}}} \rightarrow \boldsymbol{\boldsymbol{b'_{i}}}\right] \cup IMP\left[\neg \boldsymbol{\boldsymbol{c_{i}}} \rightarrow \boldsymbol{\boldsymbol{c'_{i}}}\right] \subseteq I(S)\]

Now, consider the AND gadgets \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a_{i}}} , \boldsymbol{\ell_i^1}\right]\) and \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a'_{i}}} , \boldsymbol{\overline{\ell_i^1}}\right]\). From our definition of \(S_2\), it follows that either \(\left\{\boldsymbol{a_{i}},\boldsymbol{\gamma\left(\boldsymbol{a'_{i}},\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^1\mkern-1.5mu}\mkern 1.5mu}\right)}\right\} \subseteq S\) or \(\left\{\boldsymbol{a'_{i}},\boldsymbol{\gamma\left(\boldsymbol{a_{i}},\boldsymbol{\ell_i^1}\right)}\right\} \subseteq S\). First consider the case when \(\left\{\boldsymbol{a_{i}},\boldsymbol{\gamma\left(\boldsymbol{a'_{i}},\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^1\mkern-1.5mu}\mkern 1.5mu}\right)}\right\} \subseteq S\). This means \(\phi(\ell_i^1)=1\) and therefore \(\boldsymbol{\ell_i^1} \in S\). Now invoking Lemma 16[it:and-cover-1] and [it:and-cover-2] (with \(\boldsymbol{p}=\boldsymbol{\boldsymbol{a_{i}}}\) and \(\boldsymbol{q}=\boldsymbol{\ell_i^1}\)), we have that \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a_{i}}} , \boldsymbol{\boldsymbol{\ell_i^1}}\right] \subseteq I(S)\). Also, invoking Lemma 16[it:and-cover-1] and [it:and-cover-3] (\(\boldsymbol{p}=\boldsymbol{a'_{i}}\) and \(\boldsymbol{q} = \boldsymbol{\overline{\ell_i^1}}\)) we have that \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a'_{i}}} , \boldsymbol{\boldsymbol{\overline{\ell_i^1}}}\right] \subseteq I(S)\). The above arguments imply that when \(\left\{\boldsymbol{a_{i}},\boldsymbol{\gamma\left(\boldsymbol{a'_{i}},\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^1\mkern-1.5mu}\mkern 1.5mu}\right)}\right\} \subseteq S\), we have \[\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a_{i}}} , \boldsymbol{\ell_i^1}\right] \cup \mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a'_{i}}} , \boldsymbol{\overline{\ell_i^1}}\right] \subseteq I(S)\]

Similarly when \(\left\{\boldsymbol{a'_{i}},\boldsymbol{\gamma\left(\boldsymbol{a_{i}},\boldsymbol{\ell_i^1}\right)}\right\} \subseteq S\) using similar arguments we have \(\left(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a_{i}}} , \boldsymbol{\ell_i^1}\right] \cup \mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a'_{i}}} , \boldsymbol{\overline{\ell_i^1}}\right]\right) \subseteq I(S)\). Now arguing similarly for \(\left(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{b_{i}}} , \boldsymbol{\ell_i^2}\right] \cup \mathrm{\small AND}\left[\boldsymbol{\boldsymbol{b'_{i}}} , \boldsymbol{\overline{\ell_i^2}}\right] \right)\) and \(\left(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{c_{i}}} , \boldsymbol{\ell_i^3}\right] \cup \mathrm{\small AND}\left[\boldsymbol{\boldsymbol{c'_{i}}} , \boldsymbol{\overline{\ell_i^3}}\right]\right)\), we have that \(\mathscr{C}_i\subseteq I(S)\). This completes the proof. ◻

4.11.2 Optimality implies satisfiability↩︎

Now, we shall show that if the geodetic number of \(D\) is at most \(4 + 7n + 58m\), then \(F\) is satisfiable.

Lemma 18. Let \(S\) be a geodetic set of \(D\). There exists a geodetic set \(S^*\) of \(D\) with \(|S^*|\leq |S|\) such that for any track \(T\in \mathcal{T}\) we have \(S\cap T = \emptyset\).

Proof. Let \(U\) consists of all intervals contained in some track. In other words, \(U=\displaystyle\bigcup\limits_{T\in \mathcal{T}} T\). Let \(S_p\) denote the set of point intervals in \(D\). Observe that \(S_p \subseteq S\). Let \(\boldsymbol{u} \in S \cap U\) be the interval with \(min(S\cap U)=min(\boldsymbol{u})\) such that \(\boldsymbol{u}\) belongs to a track with a root \(\boldsymbol{y}\). Let \(A_1\) and \(A_2\) be the sets of all \(\boldsymbol{\gamma\left(p,q\right)}\) intervals and \(\boldsymbol{r}_q\) intervals in \(D\), respectively. Let \(A_3 = \left\{\boldsymbol{z}\in D \colon \boldsymbol{z}\in \left\{\boldsymbol{a_{i}},\boldsymbol{b_{i}},\boldsymbol{c_{i}}\right\}, 1\leq i\leq m\right\}\) and \(A = A_1 \cup A_2 \cup A_3\) and \(\overline{A}=D \setminus (A \cup U \cup S_p)\). Due to Lemma 13, 14, 15, and 16, observe that, \(A\cup U \subseteq I(S_p)\). Therefore, we will be done by proving the following claim.

Claim 3. Let \(\boldsymbol{v}\) be any interval in \(S\). We have \(I(\boldsymbol{u},\boldsymbol{v}) \cap \overline{A} \subseteq I(\boldsymbol{y},\boldsymbol{v}) \cap \overline{A}\).

To prove the claim, define \(S_1=\left\{ \boldsymbol{w}\in S \colon min(\boldsymbol{w}) < min(\boldsymbol{u}) \right\}\) and \(S_2=\left\{\boldsymbol{w}\in S \colon min(\boldsymbol{u}) < min(\boldsymbol{w})\right\}\). First, assume that \(\boldsymbol{v} \in S_1\) and \(\boldsymbol{z}\) be an interval in \(I(\boldsymbol{u},\boldsymbol{v})\cap \overline{A}\). In this case, \(\boldsymbol{v}\) must be a root of some track \(T\) (by definition of \(\boldsymbol{u}\)). Now, we have the following cases.

  1. Assume \(\boldsymbol{z}=\boldsymbol{q}\) for some implication gadget \(IMP\left[\neg \boldsymbol{\boldsymbol{p}} \rightarrow \boldsymbol{\boldsymbol{q}}\right]\). Then by Lemma 12, there exists a semi-good shortest path \(Q\) between \(\boldsymbol{v}\) and \(\boldsymbol{u}\) containing \(\boldsymbol{q}\). From the construction of \(IMP\left[\neg \boldsymbol{p} \rightarrow \boldsymbol{q}\right]\), this is only possible if \(\boldsymbol{v} = \boldsymbol{p}\). By Lemma 14, \(\boldsymbol{q}\in I(\boldsymbol{p},\boldsymbol{s_q})\).

  2. Assume \(\boldsymbol{z} = \boldsymbol{cov_{i}}\) for some \(1\leq i \leq m\). Using similar arguments as above and Lemma 15, we can show that \(\boldsymbol{v} \in \left\{\boldsymbol{a_{i}},\boldsymbol{b_{i}},\boldsymbol{c_{i}}\right\}\) and therefore \(\boldsymbol{z}\in I(\boldsymbol{v}, \boldsymbol{f_{i}})\).

  3. Assume \(\boldsymbol{z} \in \left\{\boldsymbol{\alpha\left(p,q\right)} ,\boldsymbol{\delta\left(p,q\right)}\right\}\) for some AND gadget \(\mathrm{\small AND}\left[\boldsymbol{p} , \boldsymbol{q}\right]\). Using arguments as in Case \(1\) and Lemma 16, we can show that \(\boldsymbol{v} \in \left\{\boldsymbol{p},\boldsymbol{q}\right\}\) and therefore \(\boldsymbol{z}\in I(\boldsymbol{v} \cup S_p)\).

The above cases imply that when \(\boldsymbol{v} < \boldsymbol{u}\), then \(I(\boldsymbol{v},\boldsymbol{u}) \subset I(\boldsymbol{v},\boldsymbol{u'})\), where \(\boldsymbol{u'}\in S \setminus \left\{\boldsymbol{u}\right\}\). Now assume that \(\boldsymbol{v} \in S_2\) and \(\boldsymbol{z} \in I(\boldsymbol{u},\boldsymbol{v})\cap \overline{A}\). Observe that there exists a shortest path from \(\boldsymbol{u}\) to \(\boldsymbol{v}\) that contains \(\boldsymbol{z}\). Consider now the good shortest path between \(\boldsymbol{y}\) and \(\boldsymbol{u}\) concatenated with the shortest path between \(\boldsymbol{u}\) and \(\boldsymbol{v}\) covering \(\boldsymbol{z}\). This is a shortest path between \(\boldsymbol{y}\) and \(\boldsymbol{w}\) covering \(\boldsymbol{z}\). This completes the proof of the claim.

The above arguments imply that \(S^*=(S\setminus \left\{\boldsymbol{u}\right\})\cup \left\{\boldsymbol{y}\right\}\) is also a geodetic set of \(D\). Arguing similarly for all intervals in \(S\cap U\), we have the lemma. ◻

A good geodetic set of \(D\) is a geodetic set of minimum cardinality which does not contain any interval belonging to a track. By Lemma 18, a good geodetic set of \(D\) always exists. Now we shall prove some further properties of good geodetic sets of \(D\).

Lemma 19. Let \(S^*\) be a good geodetic set of \(D\) and \(IMP\left[\neg \boldsymbol{p} \rightarrow \boldsymbol{q}\right]\) be an implication gadget where \(\boldsymbol{p}\) is the only root of \(T(\boldsymbol{p})\). Then, either \(\boldsymbol{p} \in S^*\) or \(\boldsymbol{q}\in S^*\).

Proof. Suppose \(\boldsymbol{q}\notin S^*\). Then, Lemma 12 implies that there exists a semi-good shortest path \(P\) containing \(\boldsymbol{q}\) whose end-vertices lie in \(S^*\). Then, there must exist two intervals \(\boldsymbol{u_1},\boldsymbol{v_1}\) in \(P\) such that both \(\boldsymbol{u_1},\boldsymbol{v_1}\) intersect \(\boldsymbol{q}\) and \(\max{(\boldsymbol{u_1})}<\min{(\boldsymbol{v_1})}\). From the construction of \(IMP\left[\neg \boldsymbol{p} \rightarrow \boldsymbol{q}\right]\), it follows that \(\boldsymbol{u_1}\in T(\boldsymbol{p})\). Since \(S^*\) is a good geodetic set, our construction implies that \(\boldsymbol{p}\in S^*\). ◻

Lemma 20. Let \(S^*\) be a good geodetic set of \(D\) and \(\mathrm{\small AND}\left[\boldsymbol{p} , \boldsymbol{q}\right]\) be an AND gadget where \(\boldsymbol{p}\) is the only root of \(T(\boldsymbol{p})\) and \(\boldsymbol{q}\) is the only root of \(T(\boldsymbol{q})\). Then, either \(\left\{\boldsymbol{p},\boldsymbol{q}\right\} \subseteq S^*\), or \(S^*\) contains at least one interval among \(\left\{\boldsymbol{\alpha\left(p,q\right)},\boldsymbol{\gamma\left(p,q\right)},\boldsymbol{\delta\left(p,q\right)}\right\}\).

Proof. Suppose that \(S^*\cap \left\{\boldsymbol{\alpha\left(p,q\right)},\boldsymbol{\gamma\left(p,q\right)},\boldsymbol{\delta\left(p,q\right)}\right\}=\emptyset\). Then, Lemma 12 implies that there exists a shortest path \(P\) containing \(\boldsymbol{\alpha\left(p,q\right)}\) whose end-vertices lie in \(S^*\). Then, there must exist two intervals \(\boldsymbol{u_1},\boldsymbol{v_1}\) in \(P\) such that both \(\boldsymbol{u_1},\boldsymbol{v_1}\) intersect \(\boldsymbol{\alpha\left(p,q\right)}\) and \(\max{(\boldsymbol{u_1})}<\min{(\boldsymbol{v_1})}\). From the construction of \(\mathrm{\small AND}\left[\boldsymbol{p} , \boldsymbol{q}\right]\) it follows that \(\boldsymbol{u_1}\in T(\boldsymbol{p})\). Since \(S^*\) is a good geodetic set, our construction implies that \(\boldsymbol{p}\in S^*\).

Now, Lemma 12 implies that there exists a semi-good shortest path \(Q\) containing \(\boldsymbol{\delta\left(p,q\right)}\), whose end-vertices lies in \(S^*\). Then, there must exist two intervals \(\boldsymbol{u_2},\boldsymbol{v_2}\) in \(Q\) such that both \(\boldsymbol{u_2},\boldsymbol{v_2}\) intersect \(\boldsymbol{\delta\left(p,q\right)}\) and \(\max{\boldsymbol{u_2}}<\min{\boldsymbol{v_2}}\). From the construction of \(\mathrm{\small AND}\left[\boldsymbol{p} , \boldsymbol{q}\right]\), it follows that either \(\boldsymbol{u_2}\in T(\boldsymbol{q})\) or \(\boldsymbol{u_1}=\boldsymbol{\gamma\left(p,q\right)}\).

Consider the case when \(\boldsymbol{u_1}=\boldsymbol{\gamma\left(p,q\right)}\). Since \(\boldsymbol{\gamma\left(p,q\right)} \notin S^*\), there must exist an interval \(\boldsymbol{w_2}\) in \(Q\) such that \(\boldsymbol{\gamma\left(p,q\right)}\) intersects \(\boldsymbol{w_2}\) and the distance between \(\boldsymbol{w_2}\) and \(\boldsymbol{v_2}\) is exactly three. But again from the construction of \(\mathrm{\small AND}\left[\boldsymbol{p} , \boldsymbol{q}\right]\), it follow that no such \(\boldsymbol{w_2}\) exists, leading to a contradiction. Hence, \(\boldsymbol{u_2}\in T(\boldsymbol{q})\). Since \(S^*\) is a good geodetic set, our construction implies that \(\boldsymbol{q}\in S^*\). ◻

Lemma 21. Let \(S^*\) be a good geodetic set of \(D\) and let \(C_i=(\ell_i^1,\ell_i^2,\ell^3_i)\) be a clause. Then we have

  1. \(\left| S^* \cap \left\{\boldsymbol{a_{i}},\boldsymbol{a'_{i}}, \boldsymbol{\alpha\left(\boldsymbol{a_{i}},\ell^1_i\right)},\boldsymbol{\gamma\left(\boldsymbol{a_{i}},\ell^1_i\right)},\boldsymbol{\delta\left(\boldsymbol{a_{i}},\ell^1_i\right)}, \boldsymbol{\alpha\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\gamma\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\delta\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)}\right\}\right| \geq 2\),

  2. \(\left| S^* \cap \left\{\boldsymbol{b_{i}},\boldsymbol{b'_{i}}, \boldsymbol{\alpha\left(\boldsymbol{b_{i}},\ell^2_i\right)},\boldsymbol{\gamma\left(\boldsymbol{b_{i}},\ell^2_i\right)},\boldsymbol{\delta\left(\boldsymbol{b_{i}},\ell^2_i\right)}, \boldsymbol{\alpha\left(\boldsymbol{b'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^2_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\gamma\left(\boldsymbol{b'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^2_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\delta\left(\boldsymbol{b'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^2_i\mkern-1.5mu}\mkern 1.5mu\right)}\right\}\right| \geq 2\), and

  3. \(\left| S^* \cap \left\{\boldsymbol{c_{i}},\boldsymbol{c'_{i}}, \boldsymbol{\alpha\left(\boldsymbol{c_{i}},\ell^3_i\right)},\boldsymbol{\gamma\left(\boldsymbol{c_{i}},\ell^3_i\right)},\boldsymbol{\delta\left(\boldsymbol{c_{i}},\ell^3_i\right)}, \boldsymbol{\alpha\left(\boldsymbol{c'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^3_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\gamma\left(\boldsymbol{c'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^3_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\delta\left(\boldsymbol{c'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^3_i\mkern-1.5mu}\mkern 1.5mu\right)}\right\}\right| \geq 2\).

Proof. Recall that \(\mathscr{C}{i}\) contains the gadgets \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a_{i}}} , \boldsymbol{\ell_i^1}\right]\) and \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a'_{i}}} , \boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mu\ell_i^1\mkern-1.5mu}\mkern 1.5mu}\right]\) (along with some other gadegets). By Lemma 20, if \(\boldsymbol{a_{i}} \notin S^*\) then we need at least one vertex among \(\boldsymbol{\alpha\left(\boldsymbol{a_{i}},\ell^1_i\right)},\boldsymbol{\gamma\left(\boldsymbol{a_{i}},\ell^1_i\right)},\boldsymbol{\delta\left(\boldsymbol{a_{i}},\ell^1_i\right)}\). The same holds when \(\boldsymbol{a_{i}} \notin S^*\), we need at least one among \(\boldsymbol{\alpha\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\gamma\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\delta\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)}\). This implies that (a) holds. Using analogous arguments we can show that \((b)\) and \((c)\) holds. ◻

Lemma 22. Let \(S^*\) be a good geodetic set of \(D\) and \(C_i=(\ell_i^1,\ell_i^2,\ell^3_i)\) be a clause. If none of \(\boldsymbol{\ell^i_1},\boldsymbol{\ell^i_2},\boldsymbol{\ell^i_3}\) is in \(S^*\) then \(|S^* \cap \mathscr{C}_i|\geq 7\).

Proof. Assume none of \(\boldsymbol{\ell^i_1},\boldsymbol{\ell^i_2},\boldsymbol{\ell^i_3}\) is in \(S^*\). Since \(\boldsymbol{\ell^1_i}\notin S^*\), due to Lemma 20, we have that at least one among \(\boldsymbol{\alpha\left(\boldsymbol{a_{i}},\ell^1_i\right)}, \boldsymbol{\gamma\left(\boldsymbol{a_{i}},\ell^1_i\right)}, \boldsymbol{\delta\left(\boldsymbol{a_{i}},\ell^1_i\right)}\) lies in \(S^*\). If \(\boldsymbol{a'_{i}}\notin S^*\), then \(\boldsymbol{a_{i}}\in S^*\) and one more interval from \(\boldsymbol{\alpha\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)}, \boldsymbol{\gamma\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)}, \boldsymbol{\delta\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)}\) lies in \(S^*\) (Lemma 19 and 20). Therefore, \[\left| S^* \cap \left\{\boldsymbol{a_{i}},\boldsymbol{a'_{i}}, \boldsymbol{\alpha\left(\boldsymbol{a_{i}},\ell^1_i\right)},\boldsymbol{\gamma\left(\boldsymbol{a_{i}},\ell^1_i\right)},\boldsymbol{\delta\left(\boldsymbol{a_{i}},\ell^1_i\right)}, \boldsymbol{\alpha\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\gamma\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\delta\left(\boldsymbol{a'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^1_i\mkern-1.5mu}\mkern 1.5mu\right)}\right\}\right| \geq 3\]

Now, using Lemma 21, we also have \[\left| S^* \cap \left\{\boldsymbol{b_{i}},\boldsymbol{b'_{i}}, \boldsymbol{\alpha\left(\boldsymbol{b_{i}},\ell^2_i\right)},\boldsymbol{\gamma\left(\boldsymbol{b_{i}},\ell^2_i\right)},\boldsymbol{\delta\left(\boldsymbol{b_{i}},\ell^2_i\right)}, \boldsymbol{\alpha\left(\boldsymbol{b'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^2_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\gamma\left(\boldsymbol{b'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^2_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\delta\left(\boldsymbol{b'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^2_i\mkern-1.5mu}\mkern 1.5mu\right)}\right\}\right| \geq 2\] and \[\left| S^* \cap \left\{\boldsymbol{c_{i}},\boldsymbol{c'_{i}}, \boldsymbol{\alpha\left(\boldsymbol{c_{i}},\ell^3_i\right)},\boldsymbol{\gamma\left(\boldsymbol{c_{i}},\ell^3_i\right)},\boldsymbol{\delta\left(\boldsymbol{c_{i}},\ell^3_i\right)}, \boldsymbol{\alpha\left(\boldsymbol{c'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^3_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\gamma\left(\boldsymbol{c'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^3_i\mkern-1.5mu}\mkern 1.5mu\right)},\boldsymbol{\delta\left(\boldsymbol{c'_{i}},\mkern 1.5mu\overline{\mkern-1.5mu\ell^3_i\mkern-1.5mu}\mkern 1.5mu\right)}\right\}\right| \geq 2\]

The above arguments imply that when \(\boldsymbol{a'_{i}}\notin S^*\), \(|S^* \cap \mathscr{C}_i|\geq 7\). Arguing similarly as above, we can show that if at least one of \(\boldsymbol{b'_{i}},\boldsymbol{c'_{i}}\) does not belong to \(S^*\), then also \(|S^* \cap \mathscr{C}_i|\geq 7\). Now consider the case, when \(\left\{\boldsymbol{a'_{i}},\boldsymbol{b'_{i}},\boldsymbol{c'_{i}}\right\}\subset S^*\). Moreover, \(S^*\) contains one interval from each of \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{a_{i}}} , \boldsymbol{\ell^1_i}\right]\), \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{b_{i}}} , \boldsymbol{\ell^2_i}\right]\) and \(\mathrm{\small AND}\left[\boldsymbol{\boldsymbol{c_{i}}} , \boldsymbol{\ell^3_i}\right]\). Now, we will be done by showing that at least one of \(\boldsymbol{a_{i}},\boldsymbol{b_{i}},\boldsymbol{c_{i}}, \boldsymbol{cov_{i}}\) must be in \(S^*\).

Suppose that \(\boldsymbol{cov_{i}}\notin S^*\) and let \(\boldsymbol{cov_{i}} \in I(\boldsymbol{u},\boldsymbol{v})\), where \(\boldsymbol{u},\boldsymbol{v}\in S^*\) and \(min(\boldsymbol{u}) < min(\boldsymbol{v})\). Let \(P\) be a shortest path between \(\boldsymbol{u}\) and \(\boldsymbol{v}\) such that \(P\) contains \(\boldsymbol{cov_{i}}\). Then, \(P\) must contain two distinct intervals \(\boldsymbol{w_1}\) and \(\boldsymbol{w_2}\) such that both \(\boldsymbol{w_1},\boldsymbol{w_2}\) intersects \(\boldsymbol{cov_{i}}\) and \(\max(\boldsymbol{w_1}) < \min(\boldsymbol{w_2})\). From construction of \(\mathrm{\small COV}[i]\), it follows that \(\boldsymbol{w_1}\) lies in \(T(\boldsymbol{z})\), where \(\boldsymbol{z}\in \left\{\boldsymbol{a_{i}},\boldsymbol{b_{i}},\boldsymbol{c_{i}}\right\}\). Now, since \(S^*\) is a good geodetic set, we infer that \(S^*\) contains at least one of \(\boldsymbol{a_{i}},\boldsymbol{b_{i}},\boldsymbol{c_{i}}\). Hence \(S^*\) contains at least seven intervals from \(\mathscr{C}_i\). ◻

Lemma 23. If there is a geodetic set of \(D\) with cardinality \(4 + 7n + 58m\), then \(F\) is satisfiable.

Proof. Let \(S\) be a geodetic set of \(D\) with cardinality \(4 + 7n + 58m\). Due to Lemma 18, there exists a good geodetic set \(S^*\) of \(D\) with \(|S^*|\leq |S| \leq 4 + 7n + 58m\). Recall that a variable gadget \(\mathscr{X}_i = IMP\left[\neg \boldsymbol{\top} \rightarrow \boldsymbol{x_i}\right] \cup IMP\left[\neg \boldsymbol{x_i} \rightarrow \boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mux_i\mkern-1.5mu}\mkern 1.5mu}\right]\). Due to Lemma 19, we know that at least one among \(\left\{\boldsymbol{x_i},\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mux_i\mkern-1.5mu}\mkern 1.5mu}\right\}\) lies in \(S^*\). Let \(S_1 = S^* \cap \left(\bigcup\limits_{1\leq i\leq n} \mathscr{X}_i\right)\), and \(S_2 = S^* \cap \left(\bigcup\limits_{1\leq i\leq m} \mathscr{C}_i\right)\). Let \(S_p\) denote the set of point intervals in \(D\). Note that \(S_p \subseteq S^*\). We have \(|S_1|\geq n\), \(|S_2|\geq 6m\) by Lemma 21, and \(|S_p|=4+ 6n + 52m\). Therefore, \(|S_1|=n\) as \(\left|S^*\right| \leq 4 + 7n + 58m\). This means that for each \(1\leq i\leq n\), exactly one of \(\boldsymbol{x_i},\boldsymbol{\mkern 1.5mu\overline{\mkern-1.5mux_i\mkern-1.5mu}\mkern 1.5mu}\) lies in \(S^*\). Based on these, we define the following truth assignment \(\phi\colon \left\{x_1,\ldots,x_n\right\}\rightarrow \left\{1,0\right\}\) of \(F\). Define \(\phi(x_i)=1\) if \(\boldsymbol{x_i}\in S^*\) and \(\phi(x_i)=0\), otherwise. Using Lemma 21 we can infer that for each \(1\leq i\leq m\), we have that \(|S^*\cap \mathscr{C}_i| = 6\). Due to Lemma 22, at least one of the intervals \(\boldsymbol{\ell^i_1},\boldsymbol{\ell^i_2},\boldsymbol{\ell^i_3}\) lies in \(S^*\). Thus, for at least one literal \(\ell_i^j\), we have that \(\phi(\ell_i^j)=1\), as needed. ◻

4.11.3 Completion of Proof of Theorem 2↩︎

Lemma 1017, and 23 completes the proof of Theorem 2.

5 Conclusion↩︎

We proved that Minimum Geodetic Set is FPT on chordal graphs when parameterized by the clique number/treewidth, and that Minimum Geodetic Set is NP-hard on interval graphs.

An interesting question is whether there are FPT algorithms for Minimum Geodetic Set on interval or chordal graphs, when parameterized by the geodetic number? Are there constant-factor approximation algorithms for these classes? (These are not true for general graphs, see [17] and [7].)

Assuming the Exponential Time Hypothesis, our reduction implies that there cannot be a \(2^{o(\sqrt{n})}\) time algorithm for Minimum Geodetic Set on interval graphs of order \(n\). Are there subexponential time algorithms for Minimum Geodetic Set on interval graphs or chordal graphs, matching this lower bound? (This is the case for many graph problems on geometric intersection graphs, see [28].)

We have seen that for every \(k\), Minimum Geodetic Set is solvable in time \(f(k)n\) for \(k\)-trees (which are chordal graphs with clique number \(k+1\)), but such a running time is unlikely to be possible for partial \(k\)-trees (i.e. graphs of treewidth \(k\)), since Minimum Geodetic Set is known to be NP-complete for graphs of treewidth 14 [18]. However, it is unknown whether Minimum Geodetic Set is solvable in polynomial time on partial \(2\)-trees (also known as graphs of treewidth at most 2, series-parallel graphs, and \(K_4\)-minor-free graphs): an algorithm is known only for the special case of outerplanar graphs [16].

Finally, we think that studying the computational complexities of related problems like Isometric Path Cover [29], Strong Geodetic Set [30], Geodetic Hull [31] on interval graphs is another interesting direction of research.

Conflict of Interest: The authors declare that there is no conflict of interest.

References↩︎

[1]
D. Chakraborty, S. Das, F. Foucaud, H. Gahlawat, D. Lajou, and B. Roy, Algorithms and complexity for geodetic Sets on planar and chordal graphs,” in 31st international symposium on algorithms and computation (ISAAC 2020), 2020, vol. 181, pp. 7:1–7:15, doi: 10.4230/LIPIcs.ISAAC.2020.7.
[2]
D. Chakraborty, H. Gahlawat, and B. Roy, “Algorithms and complexity for geodetic sets on partial grids,” Theoretical Computer Science, vol. 979, p. 114217, 2023.
[3]
F. Harary, E. Loukakis, and C. Tsouros, “The geodetic number of a graph,” Mathematical and Computer Modelling, vol. 17, no. 11, pp. 89–95, 1993.
[4]
J. Araújo, M. C. Dourado, F. Protti, and R. M. Sampaio, Introduction to graph convexity: An algorithmic approach, 1st ed. Cham: Springer, 2025, pp. XV, 152.
[5]
M. Farber and R. E. Jamison, “Convexity in graphs and hypergraphs,” SIAM Journal on Algebraic Discrete Methods, vol. 7, no. 3, pp. 433–444, 1986.
[6]
I. M. Pelayo, Geodesic convexity in graphs. Springer, 2013.
[7]
D. Chakraborty, F. Foucaud, H. Gahlawat, S. K. Ghosh, and B. Roy, “Hardness and approximation for the geodetic set problem in some graph classes,” in Proceedings of the 6th international conference on algorithms and discrete applied mathematics (CALDAM’20), 2020, vol. 12016, pp. 102–115.
[8]
C. Wang et al., “Optimizing cross-line dispatching for minimum electric bus fleet,” IEEE Transactions on Mobile Computing, vol. 22, no. 4, pp. 2307–2322, 2023, doi: 10.1109/TMC.2021.3119421.
[9]
T. Ekim, A. Erey, P. Heggernes, P. van’t Hof, and D. Meister, “Computing minimum geodetic sets of proper interval graphs,” in Proceedings of the 10th Latin American Symposium on Theoretical Informatics (LATIN’12), 2012, vol. 7256, pp. 279–290.
[10]
A. L. Douthat and M. C. Kong, “Computing geodetic bases of chordal and split graph,” Journal of Combinatorial Mathematics and Combinatorial Computing, pp. 67–77, 1996.
[11]
M. C. Dourado, F. Protti, and J. L. Szwarcfiter, “On the complexity of the geodetic and convexity numbers of a graph,” in Proceedings of the International Conference on Discrete Mathematics (ICDM), 2008, vol. 7, pp. 101–108.
[12]
M. C. Dourado, F. Protti, D. Rautenbach, and J. L. Szwarcfiter, “Some remarks on the geodetic number of a graph,” Discrete Mathematics, vol. 310, no. 4, pp. 832–837, 2010.
[13]
L. R. Bueno, L. D. Penso, F. Protti, V. R. Ramos, D. Rautenbach, and U. S. Souza, “On the hardness of finding the geodetic number of a subcubic graph,” Information Processing Letters, vol. 135, pp. 22–27, 2018.
[14]
J. Ahn, L. Jaffke, O. Kwon, and P. T. Lima, “Well-partitioned chordal graphs,” Discrete Mathematics, vol. 345, no. 10, p. 112985, 2022.
[15]
M. M. Kanté and L. Nourine, “Polynomial time algorithms for computing a minimum hull set in distance-hereditary and chordal graphs,” SIAM Journal on Discrete Mathematics, vol. 30, no. 1, pp. 311–326, 2016.
[16]
M. Mezzini, “Polynomial time algorithm for computing a minimum geodetic set in outerplanar graphs,” Theoretical Computer Science, vol. 745, pp. 63–74, 2018.
[17]
L. Kellerhals and T. Koana, “Parameterized complexity of geodetic set,” J. Graph Algorithms Appl., vol. 26, no. 4, pp. 401–419, 2022.
[18]
P. Tale, “Geodetic set on graphs of constant pathwidth and feedback vertex set number,” in 20th international symposium on parameterized and exact computation, IPEC 2025, warsaw, poland, september 17-19, 2025, 2025, vol. 358, pp. 28:1–28:14.
[19]
F. Foucaud et al., “Problems in NP can admit double-exponential lower bounds when parameterized by treewidth or vertex cover,” in 51st international colloquium on automata, languages, and programming (ICALP 2024), 2024.
[20]
T. Davot, L. Isenmann, and J. Thiebaut, “On the approximation hardness of geodetic set and its variants,” in Computing and combinatorics: 27th international conference, COCOON 2021, tainan, taiwan, october 24–26, 2021, proceedings 27, 2021, pp. 76–88.
[21]
F. Foucaud et al., “Metric dimension and geodetic set parameterized by vertex cover,” in 42nd international symposium on theoretical aspects of computer science (STACS 2025), 2025, vol. 327, pp. 33:1–33:20.
[22]
B. Allgeier, “Structure and properties of maximal outerplanar graphs.” PhD thesis, University of Louisville, 2009.
[23]
F. Foucaud, G. B. Mertzios, R. Naserasr, A. Parreau, and P. Valicov, “Identification, location-domination and metric dimension on interval and permutation graphs. II. Algorithms and complexity,” Algorithmica, vol. 78, pp. 914–944, 2017.
[24]
G. C. M. Gomes, C. V. G. C. Lima, and V. F. dos Santos, Parameterized complexity of Equitable Coloring,” Discrete Mathematics & Theoretical Computer Science, vol. vol. 21 no. 1, ICGT 2018, May 2019.
[25]
P. Heggernes, P. van’t Hof, D. Meister, and Y. Villanger, “Induced subgraph isomorphism on proper interval and bipartite permutation graphs,” Theoretical Computer Science, vol. 562, pp. 252–269, 2015.
[26]
R. Belmonte, P. A. Golovach, P. Heggernes, P. van’t Hof, M. Kamiński, and D. Paulusma, “Detecting fixed patterns in chordal graphs in polynomial time,” Algorithmica, vol. 69, pp. 501–521, 2014.
[27]
T. Kloks, Treewidth, computations and approximations. Springer, 1994.
[28]
É. Bonnet and P. Rzążewski, “Optimality program in segment and string graphs,” Algorithmica, vol. 81, no. 7, pp. 3047–3073, 2019.
[29]
D. Chakraborty, A. Dailly, S. Das, F. Foucaud, H. Gahlawat, and S. K. Ghosh, “Complexity and algorithms for ISOMETRIC PATH COVER on chordal graphs and beyond,” in 33rd international symposium on algorithms and computation (ISAAC 2022), 2022, vol. 248, pp. 12:1–12:17.
[30]
C. V. G. C. Lima, V. F. dos Santos, J. H. G. Sousa, and S. A. Urrutia, “On the computational complexity of the strong geodetic recognition problem,” RAIRO Oper. Res., vol. 58, no. 5, pp. 3755–3770, 2024.
[31]
C. Hernando, T. Jiang, M. Mora, I. M. Pelayo, and C. Seara, “On the steiner, geodetic and hull numbers of graphs,” Discrete Mathematics, vol. 293, no. 1–3, pp. 139–154, 2005.

  1. School of Computing, University of Leeds, United Kingdom.↩︎

  2. Indian Statistical Institute, Kolkata, India.↩︎

  3. Université Clermont Auvergne, CNRS, Clermont Auvergne INP, Mines Saint-Etienne, LIMOS, 63000 Clermont-Ferrand, France.↩︎

  4. Department of Mathematics, Indian Institute of Technology Delhi, Hauz Khas, New Delhi 110016, India↩︎

  5. Univ. Bordeaux, Bordeaux INP, CNRS, LaBRI, UMR5800, F-33400 Talence, France↩︎

  6. This research was supported by the IFCAM project “Applications of graph homomorphisms” (MA/IFCAM/18/39), the ERC grant titled PARAPATH, the IDEX-ISITE initiative CAP 20-25 (ANR-16-IDEX-0001), the International Research Center “Innovation Transportation and Production Systems” of the I-SITE CAP 20-25, and the ANR project GRALMECO (ANR-21-CE48-0004). This work was partially carried out while Harmender Gahlawat was employed at G-SCOP, Grenoble-INP and Université Clermont Auvergne and Ben-Gurion University of the Negev.
    This paper contains the full versions of parts of an extended abstract from the proceedings of ISAAC 2020 [1]. The other results of [1] were published in a journal [2], but are completely disjoint from the results in the present paper.↩︎