POLYNOMIAL TIME ALGORITHMS FOR COMPUTING A

POLYNOMIAL TIME ALGORITHMS FOR COMPUTING A
MINIMUM HULL SET IN DISTANCE-HEREDITARY AND
CHORDAL GRAPHS
MAMADOU MOUSTAPHA KANTÉ AND LHOUARI NOURINE
Abstract. We give linear and polynomial time algorithms for computing
the hull number of distance-hereditary and chordal graphs respectively. The
complexity of computing the hull number in chordal and distance-hereditary
graphs was open since the introduction of the notion in [Martin G. Everett
and Stephen B. Seidman, The hull number of a graph, Discrete Mathematics 57(3), 1985]. Prior to our result polynomial time algorithms were only
known for sub-classes of considered graph classes, e.g., split graphs, cographs,
interval graphs, . . . . Our techniques allow us to give at the same time a linear time algorithm for computing the geodetic number in distance-hereditary
graphs. Another consequence of the used techniques is an incremental outputpolynomial algorithm to list the set of (inclusion-wise) minimal hull sets in
any graphs.
1. Introduction
Convexity spaces form a classical topic in several branches of mathematics and
have received attention earlier in discrete mathematics and Euclidean geometry
[30, 22, 25, 14, 33]. Convexity spaces are related to lattice theory and are sometimes
called Moore families and links with convex geometry, anti-matroids and matroids
are well-covered (see for instance [9]). Of particular interest are the convexity
spaces associated with graphs, particularly those associated with paths in graphs
and that are well-studied the last decades (see for instance the survey [34]). Indeed,
many convexity parameters associated with convexity spaces give rise to interesting
parameters when considering graph convexities [25, 24, 34].
In this paper we consider the convexity related to shortest paths in graphs,
called geodetic convexity, and the graph convexity parameter hull number [24]. For
an undirected graph G and a subset X of the vertex set of G, let I[X] be the set
of vertices that lie in a shortest path between two vertices of X. A subset Y of
V (G) is said closed if I[Y ] = Y , and the closure of X ⊆ V (G) is the (inclusionwise) smallest closed set Y containing X. A subset X of V (G) is a geodetic set if
I[X] = V (G), and it is a hull set if its closure is V (G). The geodetic number and the
hull number of a graph are respectively the minimum size of a geodetic set and of a
hull set. The notion of hull number has been introduced in [24] and has attracted
many interest in the last years [1, 8, 17, 18]. Computing the minimum hull number
of bipartite graphs is NP-complete [1] and polynomial time algorithms have been
proposed for some graph classes: proper interval graphs, cographs, split graphs
Date: March 20, 2015.
AN EXTENDED ABSTRACT WITHOUT PROOFS APPEARS IN THE PROCEEDINGS OF SOFSEM’13
1
2
M.M. KANTÉ AND L. NOURINE
[17], cobipartite graphs, (q, q − 4)-graphs [1] to cite a few. It was asked several
times in the litterature [1, 17, 24] whether one can compute in polynomial time the
hull number in chordal graphs. We answer positively this question by providing a
polynomial time algorithm that, given a chordal graph G, computes a minimum hull
set of G. Surprisingly, the related notion geodetic number has been proven to be
NP-complete in chordal graphs [19] and a polynomial time algorithm for interval
graphs is open (polynomial time algorithms for split graphs and proper interval
graphs are given in [19] and [23]). We also propose a linear time algorithm for
computing a minimum hull set and a minimum geodetic set in distance-hereditary
graphs.
The linear time algorithm for distance-hereditary graphs is not surprising and can
be derived easily from the definition of distance-hereditary graphs once we know the
results of Courcelle and others on monadic second-order logic. It can be summarised
as follows. We will first give a monadic second-order formula HullSet(X) (resp.
GeodeticSet(X)) that holds in a distance-hereditary graph G if and only if X is
a hull set (resp. geodetic set) of G. We will then use Courcelle et al.’s theorem
[13] stating that monadic second-order properties can be solved in linear time in
distance-hereditary graphs. In order to write the formula HullSet(X) we will
express in monadic second-order logic the property "z is in a shortest path between
x and y", a property that is not expressible in monadic second-order logic in general.
The algorithm for chordal graphs is however a bit involved and is based upon the
notion of functional dependencies which are constraints used in relational database
design and specially in normalization process [10]. We first represent the betweenness relation “z is in a shortest path between x and y” by a set of functional dependencies. We then use an encoding of functional dependencies by directed graphs,
called dependence graphs, and that is commonly used to represent constraints in
databases (see for instance [35]). A consequence of this representation is that a
hull set in a graph G corresponds then to what is commonly called a superkey
in database theory and the computation of a minimum superkey is a well-studied
problem in database theory. This representation has moreover the advantage of
bringing several tools and results from database theory to the computation of the
hull number in graphs and related problems. For instance, we can derive from
this representation an incremental output-polynomial algorithm for listing the set
of (inclusion-wise) minimal hull sets. We demonstrate the usefulness of this encoding with chordal graphs. Chordal graphs are known to admit a nice structure, in
particular every n-vertex chordal graph admits a linear ordering (x1 , . . . , xn ) of its
vertex set such that the neighbours of xi in {xi+1 , . . . , xn } induce a clique in G [26].
We combine this ordering of chordal graphs with a decomposition of dependence
graphs for the computation of minimum keys in databases given in [35] to derive
a polynomial time algorithm for computing a minimum hull set in chordal graphs.
We postpone the details to Section 4.2.
2. Preliminaries
2.1. Graphs. If A and B are two sets, A\B denotes the set {x ∈ A | x ∈
/ B}. The
power set of a set V is denoted by 2V , and we denote by V 3 the set V × V × V .
The size of a set A is denoted by |A|.
We refer to [15] for our graph terminology. A graph G is a pair (VG , EG ) where
VG is the set of vertices and EG ⊆ (VG × VG ) \ ({(x, x) | x ∈ VG }) is the set of
COMPUTING MINIMUM HULL SET
3
edges. A graph G is said to be undirected if EG is symmetric; an edge (x, y) is
hence written xy (equivalently yx). Otherwise it is called directed. For a graph
G, we denote by G[X], called the subgraph of G induced by X ⊆ VG , the graph
(X, EG ∩(X ×X)). The size of a graph G, denoted by kGk, is defined as |VG |+|EG |.
For a vertex x of a graph G, we let NG (x) be the set {y | (x, y) ∈ EG }.
A path of length k in a graph G from the vertex x to the vertex y is a sequence
(x = x0 , x1 , . . . , xk = y) such that the set {(xi , xi+1 ) | 0 ≤ i ≤ k − 1} is a
subset of EG ; this path is said chordless if (xi , xj ) ∈
/ EG whenever j > i + 1 or
j < i − 1. It is worth noticing that whenever G is undirected, if P := (x0 , . . . , xk )
is a path from x to y, (xk , . . . , x0 ) is also a path from y to x and we will say in
this case that P is a path between x and y. A graph G is said strongly connected
if for every pair (x, y) of vertices there exists a path from x to y and also a path
from y to x. A strongly connected component of a graph G is a maximal strongly
connected induced subgraph of G. Strongly connected undirected graphs are simply
said to be connected and their strongly connected components are called connected
components.
The distance between two vertices x and y in an undirected graph G, denoted
by dG (x, y), is the minimum k such that there exists a path of length k between
x and y; if no such path exists then dG (x, y) = ∞ (this does happen if G is not
connected). Any path between two vertices x and y of length dG (x, y) is called a
shortest path and is by definition a chordless path.
An undirected graph G is said complete if EG = (VG × VG ) \ ({(x, x) | x ∈ VG }),
and it is called a cycle of length n if its edge-set is the set {xi xi+1 | 1 ≤ i ≤
n−1}∪{x1 xn } with (x1 , . . . , xn ) an ordering of its vertex-set. A tree is a connected
undirected graph without any cycle. An undirected graph G is called distancehereditary [3] if for every two vertices x and y of G all the chordless paths between
x and y have the same length, and it is called chordal [16] if it has no induced cycle
of length greater than or equal to 4. A vertex x of an undirected graph G is called
simplicial if G[NG (x)] is a complete graph. It is now well-known that every chordal
graph has at least two simplicial vertices [16]. A perfect elimination ordering of a
graph G is an ordering (x1 , . . . , xn ) of VG such that for every 1 ≤ i ≤ n, the vertex
xi is simplicial in G[{xi , . . . , xn }]. The following is a well-known result.
Theorem 1. [26, 28] A graph G is chordal if and only if it has a perfect elimination
ordering. Moreover, a perfect elimination ordering can be computed in time O(kGk).
2.2. Betweenness Relations. Let V be a finite set. A betweenness relation on V
is a ternary relation B ⊆ V 3 such that for every x, y, z ∈ V , we have B(x, z, y) holds
if and only if B(y, z, x) holds; z is said to be between x and y. Several betweenness
relations, particulary in graphs, are studied in the literature (see [9, 34]).
Let B be a betweenness
relation on a finite set V . For every subset X of V , we
S
let B o (X) be
{z ∈ V | B(x, z, y)}. A subset X of V is B-convex if B o (X) = X
x,y∈X
and the B-convex hull of X, denoted by B + (X), is the smallest B-convex set that
contains X. A subset X of V is a B-hull set (resp. B-geodetic set) if B + (X) = V
(resp. B o (X) = V ).
For every undirected graph G, the geodesic betweenness on VG , denoted by SP G ,
is such that SP G (x, z, y) holds if and only if z is in a shortest path between x and
y. The minimum size of a SP G -hull set and of a SP G -geodetic set are called
respectively hull number and geodetic number of G.
4
M.M. KANTÉ AND L. NOURINE
Let us now recall some easy observations about the minimum hull and geodetic
sets in graphs.
Fact 1. A SP G -hull set of a non connected undirected graph G is the union of the
SP G -hull sets of its connected components. Similarly for SP G -geodetic sets.
Proof. This follows from the fact that for every triple x, y, z of VG , z is in a shortest
path between x and y if and only if dG (x, y) = dG (x, z) + dG (z, y).
Fact 2. Any SP G -hull set (or SP G -geodetic set) of an undirected graph G must
contain the set of simplicial vertices of G.
Proof. This follows from the fact that a simplicial vertex z cannot be in any shortest
path, except if it is an end point of the path. Indeed, if z is not the end point of
a shortest path P beween x and y and z ∈ P \ {x, y}, then two neighbors z1 and
z2 of z are in P . But, since z is simplicial we have z1 z2 ∈ EG contradicting P is a
shortest path.
From fact 1 for computing the hull number of a graph we can assume it to
be connected, and by Fact 2 we know that the number of simplicial vertices is a
lower bound for the hull or geodetic number. We conclude this section with some
facts about shortest paths in connected undirected graphs. Let G be a connected
undirected graph. A BFS (Breadth-First Search) tree at x in G is a tree constructed
by a BFS search starting at x [11]. For each i > 1, let Li , called the level i, be
the set {y ∈ VG | dG (x, y) = i}. It is well-known that a BFS tree T partitions the
edges of G into 3 parts: the edges of the BFS tree that we call white edges; the
edges between two vertices in the same level, called red edges; and those that are
between two vertices in consecutive levels, called blue edges.
Proposition 1. Let x be a vertex in a connected undirected graph G and let T be
a BFS tree at x in G. Then, a sequence P := (x = x0 , x1 , . . . , xk ) is a shortest path
if and only if xi xi+1 is either white or blue with xi ∈ Li and xi+1 ∈ Li+1 for all
0 ≤ i ≤ k − 1.
Proof. By induction on the length k of P . The statement is clear for k = 1. Assume
it is true for some k ≥ 1 and let us prove it for k + 1.
Let P := (x = x0 , x1 , . . . , xk+1 ) be a path where xi xi+1 is either white or blue,
and xi ∈ Li and xi+1 ∈ Li+1 for all 0 ≤ i ≤ k. By induction, (x = x0 , x1 , . . . , xk ) is
a shortest path between x and xk . Since xk+1 is in level Lk+1 , then dG (x, xk+1 ) =
k + 1, i.e., P is a shortest path between x and xk+1 .
Assume now that P := (x = x0 , x1 , . . . , xk+1 ) is a shortest path. By definition,
(x0 = x, . . . , xk ) is a shortest path between x and xk and by inductive hypothesis
xi xi+1 is white or blue for all 0 ≤ i ≤ k − 1. Since xk+1 is in level k + 1 and xk is
in level k (dG (x, xk ) = k and dG (x, xk+1 ) = k + 1), the edge xk xk+1 can only be
blue or white. This finishes the proof.
As a corollary, we get the following.
Proposition 2. Let G be a connected undirected graph and let x be a vertex of G.
Then, we can compute all the sets SP oG ({x, y}), for
all vertices y ∈ VG \ {x}, in
!!
P o
time O kGk + log(|VG |) ·
SP G ({x, y})
.
y∈VG \{x}
COMPUTING MINIMUM HULL SET
5
Proof. In the algorithm that computes a BFS tree T at x, we initialise SP oG ({x})
and SP oG ({x, y}), for all y ∈ NG (x), to ∅. And
a vertex y in level
S when adding
i ≥ 2 of T we let SP oG ({x, y}) be the set
(SP oG ({x, z}) ∪ {z}). Let us
z∈Li−1 ∩NG (y)
prove by induction on i that this modified BFS search at x computes SP oG ({x, y})
for each y ∈ VG \ {x} at level i. The statement is clear for i ≤ 1. Assume the
statement is true for all z in level i and let us prove it for y at level i + 1. By
Proposition 1 each z ∈ Li ∩ NG (y) is in a shortest path between x and y and any
shortest path between x and y should contain a z ∈ Li ∩ NG (x) as a penultimate
vertex. Hence, since shortest paths satisfy the triangular inequality we have that z
is in a shortest path between x and y if and only if z ∈ Li ∩ NG (y) or there exists
z 0 ∈ Li ∩S
NG (y) such that z is in a shortest path between x and z 0 . This implies
that
(SP oG ({x, z}) ∪ {z}), which proves the statement.
z∈Li ∩NG (y)
The time complexity is bounded by the time taken by the BFS search algorithm
which is known to be O(kGk) and the time to compute SP oG ({x, y}) for all y ∈
VG \{x} since eachSset SP oG ({x, y}) is computed once. Since SP oG ({x, y}) for y ∈ Li
is equal to
(SP oG ({x, z}) ∪ {z}), the computation of SP oG ({x, y}) is
z∈Li−1 ∩NG (y)
the same as the computation of the union of sets, and since by representing sets
by balanced search tree we can perform this operation in time O(n · log(n)) for
two sets S1 and S2 with n = |S1 | ≥ |S2 |, the upper bound on the time complexity
follows.
2.3. Monadic Second-Order Logic. We refer to [12] for more information since
we recall only the necessary definitions for the understanding. A relational signature
is a finite set R := {R, S, T, . . .} of relation symbols, each of which given with
an arity ar(R) ≥ 1. A relational R-structure A is a tuple (A, (RA )R∈R ) with
RA ⊆ Aar(R) for every R ∈ R and A is called its domain. Each graph G can be
seen as the relational {edg}-structures, with ar(edg) = 2, (VG , edgG ) with domain
its set of vertices VG and edgG (x, y) holds if and only if (x, y) ∈ EG .
We now review monadic second-order formulas on relational structures. We will
use lower case variables x, y, z, . . . (resp. upper case variables X, Y, Z, . . .) to denote elements of domains (resp. subsets of domains) of relational structures. Let
R be a relational signature. The atomic formulas over R are x = y, x ∈ X and
R(x1 , . . . , xar(R) ) for R ∈ R. The set M SR of monadic second-order formulas
over R is the set of formulas formed from atomic formulas over R with Boolean
connectives ∧, ∨, ¬, =⇒, ⇐⇒, element quantifications ∃x and ∀x, and set quantifications ∃X and ∀X. An occurrence of a variable which is not under the scope
of a quantifier is called a free variable. We will write ϕ(x1 , . . . , xm , Y1 , . . . , Yq ) to
express that the formula ϕ has x1 , . . . , xm , Y1 , . . . , Yq as free variables and A |=
ϕ(a1 , . . . , am , Z1 , . . . , Zq ) to say that the formula ϕ(x1 , . . . , xm , Y1 , . . . , Yq ) holds
in A when substituting (a1 , . . . , am ) ∈ Am to element variables (x1 , . . . , xm ) and
(Z1 , . . . , Zq ) ∈ (2A )q to set variables (Y1 , . . . , Yq ) in the formula ϕ. The following
is an example of a formula expressing that two vertices x and y are connected by a
path
∀X(x ∈ X ∧ ∀z, t(z ∈ X ∧ edg(z, t) =⇒ t ∈ X) =⇒ y ∈ X).
If ϕ(x1 , . . . , xm , Y1 , . . . , Yq ) is a formula in M SR , we let optϕ , with opt ∈ {min, max},
be the problem that consists in, given a relational R-structure A, to finding a tuple
6
M.M. KANTÉ AND L. NOURINE
(Z1 , . . . , Zq ) of (2A )q such that



 X X
Wj | A |= ϕ(a1 , . . . , am , W1 , . . . , Wq ) .
|Zi | = opt


1≤i≤q
1≤i≤q
Many optimisation graph problems, e.g., minimum dominating set, maximum
clique, . . . , correspond to optϕ for some M S{edg} formula ϕ.
Let A be a finite set. An A-coloured graph is a graph with its edges and vertices
labelled with elements in A. Let RA be the relational signature {(edga )a∈A , (nlaba )a∈A }
with ar(edga ) = 2 and ar(nlaba ) = 1 for every a ∈ A. Every A-coloured graph G
can be represented by the relational RA -structure (VG , (edgaG )a∈A , (nlabaG )a∈A )
where edgaG (x, y) holds if and only if xy ∈ EG is labelled with a ∈ A and nlabaG (x)
holds if and only if x ∈ VG is labelled with a ∈ A.
Clique-width is a graph complexity measure introduced by Courcelle and coauthors that is important in complexity theory and that generalizes the well-known
notion of tree-width introduced by Robertson and Seymour in their Graph Minors
Project. Roughly, a graph has clique-width at most k if it can be obtained from
the empty graph by successively applying the following operations (1) the disjoint
union of two graphs, (2) add all the edges between vertices labelled i and vertices
labelled j, i 6= j, i, j ∈ {1, . . . , k}, (3) relabel the vertices labelled i into j, i, j ∈
{1, . . . , k} (4) creation of a graph with a single vertex labelled i ∈ {1, . . . , k}. The
obtained expression is called clique-width expression. Examples of graph classes
with bounded clique-width are distance-hereditary graphs, graphs of bounded treewidth, (q, q − 4)-graphs, . . . We refer to the book [12], which summarizes the most
important results in this area, for the exact definition of clique-width and for more
information on it. We recall however the following important theorem that is the
basis of our algorithm for distance-hereditary graphs.
Theorem 2. [12] Let A be a fixed finite set and let k be a fixed constant. For
every M SRA formula ϕ(x1 , . . . , xm , Y1 , . . . , Yq ), optϕ , for opt ∈ {min, max}, can be
solved in linear time in any A-coloured graph of clique-width at most k, provided
the clique-width expression is given. If the clique-width expression is not given, one
can compute one using at most f (k) labels, for some function f , in cubic time.
3. Distance-Hereditary Graphs
Our algorithm will use Theorem 2. Indeed, we will use the definition of distancehereditary graphs to write a formula stating that a set X ⊆ VG is a SP G -hull set in
a distance-hereditary graph G, and the fact that distance-hereditary graphs have
clique-width at most 3 and an optimal clique-width expression can be constructed
in linear time [27]. Let us first state the following technical proposition whose proof
is not difficult.
Proposition 3. Let B be a betweenness relation on a finite set V and assume there
exists a relational R-structure A with V ⊆ A, for some relational signature R that
contains a relation nlabV representing V . Assume also that there exists an M SR
formula Bet(x, z, y) that holds in A if and only if B(x, z, y) holds. Then, there exist
M SR formulas HullSet(X) and GeodeticSet(X) expressing respectively that X is
a B-hull set and a B-geodetic set.
COMPUTING MINIMUM HULL SET
7
Proof. We write X ⊆ Y and X ( Y as shortcuts for the formulas ∀x(x ∈ X =⇒
x ∈ Y ) and X ⊆ Y ∧ ∃y(y ∈ Y ∧ y ∈
/ X) respectively. The following formula
Closed(X), with free set variable X, says that X is a B-convex set.
X ⊆ nlabV ∧ ∀x, y(x ∈ X ∧ y ∈ X =⇒ ¬ (∃z(Bet(x, z, y) ∧ z ∈
/ X)) .
The validity of the formula Closed(X) is trivial since it states that, for each
x, y ∈ X, all z ∈ V such that B(x, z, y) holds must be in X, which is exactly the
definition of B-convex sets. The following formula, ConvexHull(X, Y ), with free
set variables X and Y , says that Y is the B-convex hull of X.
Closed(Y ) ∧ X ⊆ Y ∧ ∀Z(X ⊆ Z ∧ Z ( Y =⇒ ¬Closed(Z)).
The formula ConvexHull(X, Y ) states that Y is closed, contains X and for any
X ⊆ Z ( Y we have that Z is not a B-convex set, which is the definition of B-convex
hull set. The next formulas are HullSet(X) and GeodeticSet(X) respectively (in
this order).
∀Z Z ( nlabV =⇒ ¬ConvexHull(X, Z) .
X ⊆ nlabV ∧ ∀z nlabV (z) =⇒ ∃x, y x ∈ X ∧ y ∈ X ∧ Bet(x, z, y) .
The first formula states that no proper subset of V is the B-convex hull of X
which is exactly the definition of B-hull set, and the second formula states that for
each z ∈ V , there exists x, y ∈ X such that B(x, z, y), which is the definition of a
B-geodetic set.
An immediate consequence of the definition of distance-hereditary graphs is the
following observation.
Fact 3. Let G be a distance-hereditary graph. Then, a sequence P := (x0 , . . . , xk )
is a shortest path in G if and only if P is a chordless path in G.
The following proposition proposes an M S formula for the geodetic convexity in
distance-hereditary graphs. The formula is not hard to write, but we include it for
completeness and for people not familiar with monadic second-order logic.
Proposition 4. There exists an M Sedg formula BetSP (x, z, y) that expresses that
z is in a shortest path between x and y in distance-hereditary graphs.
Proof. Let G be a distance-hereditary graph. By Fact 3, we have SP G (x, z, y)
holds if and only if z is in a chordless path between x and y in G. A chordless path
between x and y is a set X containing x and y that is connected and such that each
vertex, but x and y which have each degree 1, has degree 2 in X. Let the following
8
M.M. KANTÉ AND L. NOURINE
formulas.
ϕ1 (x, X) ⇔ in the subgraph induced by X the vertex x has degree 1
≡ ∃z z ∈ X ∧ edg(x, z) ∧ ∀t(t ∈ X ∧ edg(x, t) =⇒ z = t) ,
ϕ2 (x, X) ⇔ in the subgraph induced by X the vertex x has degree 2
≡ ∃z, t ∈ X z 6= t ∧ edg(x, z) ∧ edg(x, t) ∧ ∀z 0 (z 0 ∈ X ∧ edg(x, z 0 ) =⇒
z 0 = z ∨ z 0 = t) ,
ϕ3 (Y, Z, X) ⇔ {Y, Z} is a partition of X
≡ ∀x (x ∈ X ⇐⇒ x ∈ Y ∨ x ∈ Z) ∧ (x ∈ Y =⇒ x ∈
/ Z)∧
(x ∈ Z =⇒ x ∈
/ Y) ,
ϕ4 (X) ⇔ the subgraph induced by X is connected
≡ ¬ ∃Y, Z(ϕ3 (Y, Z, X) ∧ ∀y, z(y ∈ Y ∧ z ∈ Z =⇒ ¬edg(y, z))) ,
ϕ5 (x, y, X) ⇔ X is the set of vertices of a chordless path between x and y
≡ x ∈ X ∧ y ∈ X ∧ ϕ4 (X) ∧ ϕ1 (x, X) ∧ ϕ1 (y, X)∧
∀z z ∈ X ∧ z 6= x ∧ z 6= y =⇒ ϕ2 (z, X) .
The formula BetSP (x, z, y) is then the following which states that there is a set X
which induces a chordless path between x and y and z is in X.
x 6= y ∧ x 6= z ∧ y 6= z ∧ ∃X ϕ5 (x, y, X) ∧ z ∈ X .
The validity of the formulas are straightforward to check.
Theorem 3. For every distance-hereditary graph G one can compute in time
O(kGk) a minimum SP G -hull set and a minimum SP G -geodetic set of G.
Proof. By Proposition 4 one can construct an M Sedg formula BetSP (x, z, y) that
expresses that z is in a shortest path between x and y in distance-hereditary
graphs. Therefore, by Proposition 3 one can construct formulas HullSet(X) and
GeodeticSet(X) stating that X is a SP-hull set and a SP-geodetic set respectively. Since distance-hereditary graphs have clique-width at most 3 and an optimal
clique-width expression can be constructed in time O(kGk) [27], by Theorem 2 one
can compute a minimum SP G -hull set and a minimum SP G -geodetic set of every
distance-hereditary graph G in time O(kGk).
4. Chordal Graphs
In this section we give a polynomial time algorithm for computing a minimum
SP G -hull set in a chordal graph G. The algorithm is based on the notion of functional dependencies, borrowed from database community.
4.1. Functional Dependencies and Dependence Graphs. Let V be a finite
set. A functional dependency on V is a pair (X, y), often written X → y, where
X ⊆ V is called the premise, and y ∈ V is called the conclusion. If X → z is a
functional dependency with X = {x, y} (or X = {x}), for convenience we will write
xy → z (or x → z) instead of {x, y} → z (or {x} → z). A model for X → y is a
COMPUTING MINIMUM HULL SET
9
subset F of V such that y ∈ F whenever X ⊆ F . If r := X → y is a functional
dependency on V , we define the function ϕr : 2V → V where for every Z ⊆ V ,
(
Z
if X * Z,
ϕr (Z) :=
Z ∪ {y} otherwise.
A set Σ of functional dependencies on V is called an implicational system on
V . If an implicational system is composed only of functional dependencies with
premises of size 1 we call it a unit-premise implicational system. A set X ⊆ V is
said Σ-closed if it is a model for each functional dependency in Σ. The Σ-closure
Σ(X) of a set X is the smallest Σ-closed set that contains X. A key for Σ is an
(inclusion-wise) minimal subset K of V such that Σ(K) = V .
Fact 4. Let Σ be an implicational system Σ on V . For every subset K ⊆ V , there
exist functional dependencies r1 , . . . , rp in Σ such that Σ(K) = ϕrp (. . . (ϕr1 (K) . . .)).
If Σ is an implicational system on a finite set V , we let G (Σ), called the dependence graph of Σ, be the directed graph (V 0 , E 0 ) with
V 0 := V ∪ {PX | X is a premise in Σ},
[ E 0 :=
{(x, PX ) | x ∈ X} ∪ {(PX , y)} .
X→y∈Σ
!
One observes that G (Σ) has size kG (Σ)k := O |V | +
P
|X| + 1
and
X→y∈Σ
can be computed in time linear on kG (Σ)k. Before continuing let us prove that a
minimum key can be computed in linear time in every unit-premise implicational
system. It will be used in our algorithm for the computation of the hull number of
chordal graphs in the geodetic convexity.
Let Σ be a unit-premise implicational system on a finite set V and ≡Σ be the
relation where x ≡Σ y if Σ(x) = Σ(y). The relation ≡Σ is clearly an equivalence
relation. Let PΣ := (V / ≡Σ , ) where [x]≈Σ [y]≈Σ whenever there exist x0 ∈
[x]≈Σ and y 0 ∈ [y]≈Σ such that x0 → y 0 ∈ Σ.
Proposition 5. Let Σ be a unit-premise implicational system on a finite set V and
let K be obtained by choosing an element in each minimal equivalence class of ≡Σ
in PΣ . Then K is a minimum key of Σ. The graph PΣ can be moreover computed
in time O(|V | + |Σ|).
Proof. To generate V it is enough to generate an element in each equivalence class
of ≡Σ and since each such equivalence class is in a path from a minimal equivalence
class in PΣ to a maximal one in PΣ , we have Σ(K) = V . Now, K is minimum
because each key should generate at least an element of a minimal equivalence class
in PΣ , but by the definition of PΣ an element in a minimal equivalence class C can
be only generated by elements of C, i.e., we should take at least an element in each
equivalence class.
We now show how to compute the equivalence classes. It is easy to check that
x ≡Σ y if and only if x and y are in the same strongly connected component
of G (Σ). The graph G (Σ) can be computed in time O(|V | + |Σ|) and has size
O(|V | + |Σ|). And since we can compute the set of strongly connected components
in time O(kG (Σ)k) (see [11] for instance), we can then compute the equivalence
10
M.M. KANTÉ AND L. NOURINE
classes of ≡Σ in time O(kG(Σ)k) = O(|V | + |Σ|). And since the minimal elements
of can be computed in O(|V / ≡Σ |), we are done.
We now borrow some ideas from [35]. Let Σ be an implicational system on a finite
set V . A strongly connected component S of G (Σ) is called a source component if
for all x, y ∈ VG (Σ) , if (x, y) ∈ EG (Σ) and y ∈ VS , then x ∈ VS . That means that
all edges between a vertex in S and a vertex in VG (Σ) \ S is always from S.
Let R be a subset of V . We let ΣR, called the restriction of Σ to R, be the
implicational system on R defined as {X → y ∈ Σ | X ∪ {y} ⊆ R}. A contraction
of Σ to R is the implicational system Σ/R on V \ Σ(R) defined as
[
X → y | X ∪ S → y ∈ Σ, and S ⊆ Σ(R) and X ∪ {y} ⊆ V \ Σ(R)
X → y ∈ Σ | X ∪ {y} ⊆ V \ Σ(R) .
Proposition 6. [35] Let Σ be an implicational system on a finite set V and let S
be a source component of G (Σ). Then K ⊆ V is a minimum key of Σ if and only if
K = K1 ∪ K2 with K1 a minimum key of ΣVS and K2 a minimum key of Σ/VS .
If Σ is an implicational system on V , then x ∈ V is called an extreme point if
x is not the conclusion of any functional dependency in Σ. It is straightforward to
verify from Proposition 6 that any extreme point is a source component in G (Σ)
and then is in any minimum key of Σ.
Lemma 1. Let Σ := Σ1 ∪ Σ2 be an implicational system on a finite set V with
Σ1 := {z → t ∈ Σ} and Σ2 := {zt → y ∈ Σ}. Let
x in V be an extreme point in Σ2
and not in Σ1 and let Σ0 := Σ \ {xz → y ∈ Σ} ∪ {tz → y | xz → y, t → x ∈ Σ} .
Then, any minimum key K 0 of Σ0 is a minimum key of Σ. Conversely, to any
minimum key K of Σ, one can associate a minimum key K 0 of Σ0 .
Proof. It is enough to prove that for any K 0 ⊆ V with Σ0 (K) = V , also Σ(K 0 ) = V ,
and with any K ⊆ V such that Σ(K) = V , one can associate K 0 ⊆ V of same size
with Σ0 (K 0 ) = V .
Let K 0 ⊆ V be such that Σ0 (K 0 ) = V . Then, by Fact 4 there exist functional
dependencies r10 , . . . , rp0 in Σ0 such that V = ϕrp0 (. . . (ϕr10 (K 0 ) . . .)). For each i let ri
be in Σ where
(
ri0
if ri0 ∈ Σ,
ri :=
xz → y if ri0 := tz → y ∈ Σ0 \ Σ.
Because V = ϕrp0 (. . . (ϕr10 (K 0 ) . . .)) and by the definition of the mapping ϕr for a
functional dependency r, for each z ∈ V either z ∈ K 0 or there exists 1 ≤ i ≤ p
0
such that z ∈
/ ϕri−1
(. . . (ϕr10 (K 0 ) . . .)) but z ∈ ϕri0 (. . . (ϕr10 (K 0 ) . . .)). Therefore,
0
if x is in K , then V = ϕrp (. . . (ϕr1 (K 0 ) . . .)). Now, if x is not in K 0 , then we
let i be the smallest integer such that ri0 ∈ Σ0 \ Σ. Then, ri0 = tz → y where
0
t → x ∈ Σ, and t ∈ ϕri−1
(. . . (ϕr10 (K 0 ) . . .)). Let r := t → x. Therefore, it is clear
that V = ϕrp (. . . (ϕri (ϕr (ϕri−1 (. . . (ϕr1 (K 0 ) . . .))))) . . .).
Conversely, let K be such that Σ(K) = V . Then, there also exist functional
dependencies r1 , . . . , rp in Σ such that V = ϕrp (. . . (ϕr1 (K 0 ) . . .)). For each i let ri0
be in Σ0 where
(
ri
if ri ∈ Σ0 ,
0
ri :=
tz → y if ri = xz → y ∈ Σ \ Σ0 .
COMPUTING MINIMUM HULL SET
11
If x is not in K, then we clearly have V = ϕrp0 (. . . (ϕr10 (K 0 ) . . .)) because there
exists some functional dependency ri := t → x and if rj := xz → y, we have
j > i and then z ∈ ϕrj (. . . (ϕr1 (K) . . .)) if and only if z ∈ ϕrj (. . . (ϕr1 (K) . . .)) for
every 1 ≤ j ≤ p. We now assume that x is in K. If there exists t ∈ V such that
r0 := t → x ∈ Σ and t ∈ K, then we clearly have V = ϕrp0 (. . . (ϕr10 (K 0 ) . . .)) because
if z is obtained with the rule rj := xy → z, it can be also obtained with the rule
rj0 := ty → z. Otherwise, let K 0 := K \ {x} ∪ {t} where r0 := t → x ∈ Σ. Then,
with similar reasons as above one can check that V = ϕrp0 (. . . (ϕr10 (ϕr0 (K 0 )) . . .)).
This concludes the proof.
It is worth noticing that the mapping in Lemma 1 as suggested by the proof is
not a bijection.
4.2. The Algorithm for Chordal Graphs. We associate with every graph G
the implicational system on VG
[
ΣG :=
{xy → z | z ∈ SP oG ({x, y}) \ {x, y}}.
x,y∈V
One notices that a vertex x of a graph G is simplicial if and only if x is an
extreme point in ΣG . The proof of the following is straightforward.
Fact 5. Let G be an undirected graph. SP +
G (X) = ΣG (X) for every X ⊆ VG .
Therefore, K is a minimum SP G -hull set of G if and only if K is a minimum key
of ΣG .
We now explain the strategy of our algorithm which consists in computing a
minimum key of ΣG . According to Proposition 6 it is enough to find a source
component S in G(ΣG ), compute a minimum key K1 of ΣG VS and a minimum
key K2 of ΣG/VS , and return K1 ∪ K2 . However, we do not have any insight in the
structure of the implicational systems ΣG VS and ΣG/VS , and we cannot iterate
because they may be not implicational systems constructed from chordal graphs.
To overcome these difficulties we take a perfect elimination ordering (x1 , . . . , xn ) of
G, and for each 1 < i ≤ n we construct an implicational system Σi from Σi−1 with
Σ1 := ΣG and with the property that
• either xi is extreme in Σi , i.e., xi is a source component in G(Σi ) and should
be in any key of Σi , and thus we can use Proposition 6 to construct Σi+1 ,
and put xi in the already computed solution set K,
• or Σi := Σ0 ∪ Σ00 with Σ0 a unit-implicational system and xi is an extreme
point in Σ00 , and in this case we can use Lemma 1 to eliminate xi from Σ00
and get Σi+1 .
At the end of this process either we end up with an empty implicational system
and then we return the already computed set K or the remaining implicational
system is a unit-premise implicational system. By Proposition 5 we can compute a
minimum key S of this latter and we return K ∪ S. We refer to Algorithm 1 for the
description of the algorithm by a pseudo code, and to Example 1 for an execution
of the algorithm on a chordal graph.
Example 1. See Figure 1 for a chordal graph G. The numbering on the vertices
follow a perfect elimination ordering of its vertex set. We show the execution of
the algorithm on ΣG . First 1 is an extreme point in ΣG , then we contract ΣG on
1, and then 2 is an extreme point in ΣG/1 and we contract ΣG/1 on 2, and get a
12
M.M. KANTÉ AND L. NOURINE
unit-premise implicational system. Then, we pick either 3 or 4, ending on {1, 2, 3}
or {1, 2, 4}, which in this example are the only minimum hull sets.
ΣG
ΣG/1
ΣG/{1, 2}
12 → 567
2 → 567
3→4
13 → 47
3 → 47
4→3
15 → 6
5→6
16 → 7
6→7
23 → 5
23 → 5
24 → 3567
24 → 3567
27 → 56
27 → 56
36 → 57
36 → 57
45 → 37
45 → 37
46 → 7
46 → 7
4
3
5
1
7
2
6
Figure 1. A chordal graph G.
We now prove the correctness of Algorithm 1.
Theorem 4. For every chordal graph G, one can
! compute a minimum SP G -hull
P o
set of G in time O kGk +
SP G ({x, y}) , which is less than O(|VG |3 ).
x,y∈VG
Proof. Let G be a chordal graph. By Fact 1 it is enough to prove that we can
compute a minimum SP G -hull set in each connected component of G, and hence we
can assume without loss of generality that G is connected. We show that Algorithm
!
P o
1 computes a minimum SP G -hull set of G in time O kGk +
SP G ({x, y}) .
x,y∈VG
Let (x1 , . . . , xn ) be a perfect elimination ordering of G and for each 1 ≤ i ≤ n, let
Gi := G[{xi , . . . , xn }].
The important variables of the algorithm are K, K + , and Σ with K + = ΣG (K),
and Σ is the current implicational system. We claim that at each iteration i of the
for loop K ∪ S is a minimum key of ΣG with S a minimum key of Σ. This claim
is trivially true before entering the for loop because Σ is initialised to ΣG and the
COMPUTING MINIMUM HULL SET
13
other variables to ∅. We will assume that it is true after the ith iteration i and will
prove that it is still true after the (i + 1)st iteration.
One easily proves by induction on i using Proposition 6 that at any iteration i
of the for loop, only vertices in VGi \ K + can appear as premises in the functional
dependencies {xy → z ∈ Σ}. One also easily proves, still by induction, that at
any time K + is equal to ΣG (K). We now prove that after (i + 1)st iteration, the
set K ∪ S is a minimum key for ΣG . We can moreover easily prove by induction
on i, still using Proposition 6, that after the ith iteration, for every i < j ≤ n if
xj ∈ K + , then xj does not appear in any functional dependency in Σ.
Now, if xi+1 ∈ K + , then from the discussion above it cannot be in any functional
dependency of Σ and then cannot be in any key of Σ. Hence, we are done in this
case. So, we will assume that xi+1 is not in K + .
At iteration i+1, the vertex xi+1 is a simplicial vertex in Gi+1 . We first claim that
there exists no functional dependency of the form zt → xi+1 in Σ. Assume there
exist z, t ∈ VG \ K + such that xi+1 is in a shortest path between them and let P be
such a path. P cannot be included in Gi+1 , otherwise xi+1 would not be a simplicial
vertex in Gi+1 . Let j < i + 1 be the least number such that xj is in P . Then, P is
included in Gj . But, this should contradict the fact that xj is simplicial in Gj . So,
there is no functional dependency of the form zt → xi+1 in Σ. Now, if xi+1 is not
the conclusion of any functional dependency in Σ, that means that it is an extreme
point in Σ and then must be in any key of Σ. Then by Proposition 6, {xi+1 } ∪ S
where S is a key of Σ/xi+1 is key for Σ. By induction, K ∪ {xi+1 } ∪ S is a key for
ΣG and then we are done. Assume now that there exists a functional dependency
t → xi+1 in Σ and let Σ0 := Σ \ {xi z → t} ∪ {tz → y | xi z → y, t → xi ∈ Σ} .
By Lemma 1 any minimum key of Σ0 is a minimum key of Σ and to any minimum
key of Σ one can associate a minimum key of Σ0 . Therefore, after iteration i + 1
the set K ∪ S is a minimum key for ΣG where S is a minimum key for Σ := Σ0 .
The fact that after the for loop, Σ is a unit-premise implicational system follows
from the fact that the functional dependencies in Σ with premises of size 2 have
their premises included in Gi , with i ≤ n.
We now discuss the time complexity. By Proposition 2 The implicational
system
!
P o
SP G ({x, y}) . The test in Line
ΣG can be constructed in time O kGk +
x,y∈VG
6 can be done in time O(log(|VG |)) by implementing K + as a binary search tree (or
any other data structure that allows logarithmic search and insertion operations).
Lines 7, 9, 10 and 11 are done in time O(|ΣG |) (to compute ΣG ({xi+1 }) it suffices
to search for all vertices of G that are reachable from xi+1 in G(Σ) by a BFS
search and such that except the neighbors of xi+1 , a vertex z is in level i only if
there exists r := zy → t with z and t in level i − 1). Line 13 is done !
in time
P o
O(|VG | + |ΣG |) by Proposition 5. Since |ΣG | = O
SP G ({x, y}) , then
x,y∈VG
we can conclude that the algorithm
computes a minimum SP G -hull set in time
!
P o
O kGk +
SP G ({x, y}) .
x,y∈VG
14
M.M. KANTÉ AND L. NOURINE
Algorithm 1: ChordalMinimumHullSet(G)
Data : A connected chordal graph G
Result: A SP G -hull set of minimum size of G
begin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Let (x1 , . . . , xn ) be a perfect elimination ordering of G
K := ∅
K + := ∅
Σ := ΣG
for i ← 1 to n do
if xi ∈
/ K + then
if xi ∈
/ {x | z → x ∈ Σ} then
K := K ∪ {xi }
K + := K + ∪ Σ({xi })
Σ := Σ/xi
else
Σ := Σ \ {xi z → t} ∪ {tz → y | xi z → y, t → xi ∈ Σ}
//At this step Σ is a unit-premise implicational system
if Σ 6= ∅ then
compute a minimum key S of Σ
else
S := ∅
return K ∪ S
end
5. Concluding Remarks
We have given a linear time algorithm and a cubic-time algorithm for computing
a minimum SP G -hull set in distance-hereditary and chordal graphs respectively.
The technique for the algoritm on chordal graphs is different from the techniques
known in the graph theory literature, and we hope the use of functional dependencies and associated dependence graphs borrowed from database community can be
a promising tool. For instance another positive effect not discussed, to the best of
our knowledge, in the literature on graph convexities is that given a betweenness
relation B computable in polynomial time in every input graph and a graph G,
we can enumerate the set of all (inclusion-wise) minimal B-hull sets in G without
repetitions [32]. This can be of interest when dealing with betweenness relations in
social networks (see for instance the book [31]). Notice however that the algorithm
in [32] is incremental output-polynomial which means that the delay between two
outputs is polynomial in the size of the input and the number of already computed
solutions, and up to now no polynomial delay algorithm is known, i.e., an algorithm
which, after a polynomial time pre-processing, outputs the minimal superkeys one
COMPUTING MINIMUM HULL SET
15
by one and the delay between two consecutive outputs is bounded by a polynomial on the size of the input (we refer for instance to [36] for precise definitions of
enumeration algorithms).
S
An implicational system Σ on V is direct if Σ(X) = X ∪ {y | Z ⊆ X, Z → y ∈
Σ} for every X ⊆ V . This means that for every betweenness relation B on V , if its
associated implicational system ΣB := {xy → z | B(x, z, y)} is direct, then X is a
hull set if and only if X is a geodetic set. In [4] the authors characterized the direct
implicational systems. We ask whether one can characterize the graphs for which
ΣG is direct. Notice that ΣG is not necessarily direct on an interval graph G, and
hence our algorithm cannot be used to compute a geodetic set in interval graphs
(which is still open). The status of the computational complexity of computing
a minimum SP G -hull set is still open in several other well-studied graph classes
admitting nice structures. We can cite among them graph classes of bounded treewidth and more generally those of bounded clique-width, weakly chordal graphs,
degenerate graphs, . . . Are the tools used here of some help?
Our techniques for distance-hereditary graphs allow at the same time to derive
a linear time algorithm for computing a minimum SP G -geodetic set of a distancehereditary graph. In fact the whole ingredient in Theorem 3 was the possibility to
encode the betweenness relation SP G in a distance-hereditary graph by a monadic
second-order formula and then use Courcelle et al.’s theorem [12, 13]. A natural
question that arises is whether we can extend this encoding to other graph classes.
Indeed, we can for all graphs by using the dependence graphs as stated below.
Proposition 7. There exists a formula BetSP (x, z, y) that is true in the dependence graph of G(ΣG ) if and only if SP G (x, z, y) holds.
Proof. Let A be the set {V, M}. For every undirected graph G, let G 0 (ΣG ) be the
A-coloured graph obtained from G(ΣG ) by labelling vertices of VG by V and the
others by M. One easily checks that the following formula BetSP (x, z, y) is true in
G 0 (ΣG ) if and only if SP G (x, z, y) holds
nlabV (x) ∧ nlabV (y) ∧ nlabV (z) ∧ ∃t nlabM (t) ∧ edg(x, t) ∧ edg(y, t) ∧ edg(t, z) .
A consequence of Theorem 2, and of Propositions 3 and 7 combined with results
in [29] gives the following.
Proposition 8. Let k be a fixed integer. Let G be an undirected graph such that
G(ΣG ) has clique-width at most k. Then, one can compute in time O(|VG |6 ) a
minimum SP G -hull set and a minimum SP G -geodetic set of G.
Can we easily characterize/recognize the graphs which have dependence graphs
of bounded clique-width? We conclude by pointing out that the logical tools can
be used for computing minimum hull sets and geodetic sets for other graph convexities, e.g., the monophonic convexity which deals with chordless paths [20], the
P3 -convexity dealing with paths of length 2 [5, 6], the P3∗ -convexity which concerns
induced path of length 2 [2], the m3 -convexity concerning induced paths of length
at least 2 [21], the triangle-path convexity which concerns paths admitting only triangles as chords [7], . . . The betweenness relations associated with each of the above
cited convexities can be expressed in monadic second-order logic and therefore using Theorem 2 and Proposition 3 we can compute for each of them a minimum hull
16
M.M. KANTÉ AND L. NOURINE
set and a minimum geodetic set in cubic time, thus generalising some of the known
results in the literature [2, 5, 20]. Notice that for all of them computing a minimum hull set and a minimum geodetic set is NP-complete (except the monophonic
convexity where computing a minimum hull set is polynomial while computing a
minimum geodetic set is NP-complete [20]).
Proposition 9. Let k be a fixed positive integer. Let G be a graph (directed or not)
of clique-width at most k. Then, one can compute in time O(|VG |3 ) a minimum
hull set and a minimum geodetic set of G for any of the convexities: monophonic,
P3 -convexity, P3∗ -convexity, m3 -convexity, triangle-path convexity.
References
[1] Júlio Araújo, Victor Campos, Frédéric Giroire, Nicolas Nisse, Leonardo Sampaio, and
R. Soares, On the hull number of some graph classes, Theor. Comput. Sci. 475 (2013),
1–12.
[2] R. Araújo, Rudini M. Sampaio, Vinícius F. Santos, and Jayme L. Szwarcfiter, The convexity
of induced paths of order three and applications: complexity aspects., Tech. report, Federal
University of Rio de Janeiro, 2014, Submitted.
[3] Hans-Jürgen Bandelt and Henry Martyn Mulder, Distance-hereditary graphs, J. Comb. Theory, Ser. B 41 (1986), no. 2, 182–208.
[4] Karell Bertet and Bernard Monjardet, The multiple facets of the canonical direct unit implicational basis, Theor. Comput. Sci. 411 (2010), no. 22-24, 2155–2166.
[5] Victor Campos, Rudini M. Sampaio, Ana Silva, and Jayme L. Szwarcfiter, Graphs with few
P4 ’s under the convexity of paths of order three, Discrete Applied Mathematics (2014), no. 0,
–.
[6] Carmen C. Centeno, Simone Dantas, Mitre Costa Dourado, Dieter Rautenbach, and
Jayme Luiz Szwarcfiter, Convex partitions of graphs induced by paths of order three, Discrete Mathematics & Theoretical Computer Science 12 (2010), no. 5, 175–184.
[7] Manoj Changat and Joseph Mathew, On triangle path convexity in graphs, Discrete Mathematics 206 (1999), no. 1–3, 91 – 95.
[8] Gary Chartrand, John Frederick Fink, and Ping Zhang, The hull number of an oriented
graph, International Journal of Mathematics and Mathematical Sciences 2003 (2003), no. 36,
2265–2275.
[9] Vašk Chvátal, Antimatroids, betweenness, convexity, Research Trends in Combinatorial Optimization (William J. Cook, László Lovász, and Jens Wygen, eds.), Springer, 2009, pp. 57–64.
[10] E. F. Codd, Further normalization of the data base relational model, Data Base Systems
(R. Rustin, ed.), Prentice Hall, Englewood cliffs, NJ, 1972, pp. 33–64.
[11] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction
to algorithms, 2nd ed., the MIT Press, 2002.
[12] Bruno Courcelle and Joost Engelfriet, Graph structure and monadic second-order logic: a
language theoretic approach, Encyclopedia of Mathematics and its Applications, vol. 138,
Cambridge University Press, 2012.
[13] Bruno Courcelle, Johann A. Makowsky, and Udi Rotics, Linear time solvable optimization
problems on graphs of bounded clique-width, Theory Comput. Syst. 33 (2000), no. 2, 125–150.
[14] Gilbert de Beauregard Robinson, The foundations of geometry, Mathematical expositions,
University of Toronto Press, 1952.
[15] Reinhardt Diestel, Graph theory, 3rd ed., Springer-Verlag, 2005.
[16] G.A. Dirac, On rigid circuit graphs, Abhandlungen Aus Dem Mathematischen Seminare der
Universität Hamburg 25 (1961), no. 1-2, 71–76.
[17] Mitre Costa Dourado, John G. Gimbel, Jan Kratochvíl, Fábio Protti, and Jayme Luiz Szwarcfiter, On the computation of the hull number of a graph, Discrete Mathematics 309 (2009),
no. 18, 5668–5674.
[18] Mitre Costa Dourado, Fábio Protti, Dieter Rautenbach, and Jayme Luiz Szwarcfiter, On the
hull number of triangle-free graphs, SIAM J. Discrete Math. 23 (2010), no. 4, 2163–2172.
, Some remarks on the geodetic number of a graph, Discrete Mathematics 310 (2010),
[19]
no. 4, 832–837.
COMPUTING MINIMUM HULL SET
17
[20] Mitre Costa Dourado, Fábio Protti, and Jayme Luiz Szwarcfiter, Complexity results related
to monophonic convexity, Discrete Applied Mathematics 158 (2010), no. 12, 1268–1274.
[21] Feodor F. Dragan, Falk Nicolai, and Andreas Brandstädt, Convexity and hhd-free graphs,
SIAM J. Discrete Math. 12 (1999), no. 1, 119–135.
[22] Paul H. Edelman and Robert E. Jamison, The theory of convex geometries, Geometriae
Dedicata, vol 19, N¡3 (R. Rustin, ed.), springer, 1985, pp. 247–270.
[23] Tinaz Ekim, Aysel Erey, Pinar Heggernes, Pim van ’t Hof, and Daniel Meister, Computing minimum geodetic sets of proper interval graphs, LATIN (David Fernández-Baca, ed.),
Lecture Notes in Computer Science, vol. 7256, Springer, 2012, pp. 279–290.
[24] Martin G. Everett and Stephen B. Seidman, The hull number of a graph, Discrete Mathematics 57 (1985), no. 3, 217–223.
[25] Martin Farber and Robert E. Jamison, Convexity in graphs and hypergraphs, SIAM Journal
on Algebraic and Discrete Methods 7 (1986), 433–444.
[26] D.R. Fulkerson and O.A. Gross, Incidence Matrices and Interval Graphs, Pacific J. Math.
15 (1965), no. 3, 835–855.
[27] Martin Charles Golumbic and Udi Rotics, On the clique-width of some perfect graph classes,
Int. J. Found. Comput. Sci. 11 (2000), no. 3, 423–443.
[28] Michel Habib, Ross M. McConnell, Christophe Paul, and Laurent Viennot, Lex-bfs and partition refinement, with applications to transitive orientation, interval graph recognition and
consecutive ones testing, Theor. Comput. Sci. 234 (2000), no. 1-2, 59–84.
[29] Petr Hlinený and Sang il Oum, Finding branch-decompositions and rank-decompositions,
SIAM J. Comput. 38 (2008), no. 3, 1012–1032.
[30] D.C. Kay and E.W. Womble, Axiomatic convexity theory and relationships between the
Carathéodory, Helly, and Radon numbers, Pacific Journal of Mathematics 38 (1971), 471–
485.
[31] Jure Leskovec, Anand Rajaraman, and Jeffrey D. Ullman, Mining of massive datasets,
second ed., Cambridge University Pess, 2014, Available at http://infolab.stanford.edu/ ullman/mmds/book.pdf.
[32] Claudio L. Lucchesi and Sylvia L. Osborn, Candidate keys for relations, J. Comput. Syst.
Sci. 17 (1978), no. 2, 270–279.
[33] Karl Menger, Untersuchungen über allgemeine metrik, Mathematische Annalen 100 (1928),
75–163, 10.1007/BF01448840.
[34] Ignacio M. Pelayo, On convexity in graphs, Tech. report, UPC, 2004.
[35] Hossein Saiedian and Thomas Spencer, An efficient algorithm to compute the candidate keys
of a relational database schema, Comput. J. 39 (1996), no. 2, 124–132.
[36] Yann Strozecki, Enumeration complexity and matroid decomposition, Ph.D. thesis, Université
Paris Diderot - Paris 7, 2010.
Clermont-Université, Université Blaise Pascal, LIMOS, CNRS, France