to S, such that π
−1
|S
(x) < π
−1
|S
(y) with (x,y) ∈ S × S
and x 6= y if and only if π
−1
(x) < π
−1
(y). A subgraph
G
0
= (V
0
,E
0
) of G is said to be π-triangulated if and
only if π
|V
0
is a PES of G
0
. In particular, when G
0
is
an edge-induced subgraph, that is to say V
0
= V , it is
said to be edge-maximal if and only if ∀e ∈ E \E
0
, the
subgraph G
00
= (V,E
0
∪ {e}) is not π-triangulated. In
the same way, when G
0
is a vertex-induced subgraph,
usually noted G[S], it is said to be vertex-maximal if
and only if ∀x ∈V \S, G[S∪{x}] is not π-triangulated.
Our first triangulated subgraph extraction for a
given permutation π, noted VMTG, is as follows. A
subset S of vertices is initialized to π(n), then we
browse vertices in π from right to left. If the cur-
rent vertex x is quasi-simplicial in π
|S∪{x}
, it will be
added to S. An example of this extraction is given in
Figure 1.b. In this example, according to permutation
π
1
= (3,2,6, 7,1,5,4), S is initialized to vertex 4 from
the original graph (Figure 1.a), then vertices 5, 1, 7,
6 are progressively added to S because their first suc-
cessors are connected to their all other successors in
π
1|S
during the process. Then vertex 2 is not added
to S because its first successor in the current π
1|S
is
7 and it is not connected to vertex 1, the other suc-
cessor of 2. Finally, vertex 3 is added to S and we ob-
tain the π
1
-triangulated vertex-induced subgraph. The
largest clique is memorized for vertex 6, because its
set of successors in π
1|S
has the greatest cardinality.
Hence, for an arbitrary graph G = (V, E), the follow-
ing proposition holds.
Proposition 1. Algorithm VMTG finds a vertex-
maximal π-triangulated subgraph of G in O(n+m).
The second extraction, noted EMTG, is based on
an almost identical principle, but instead of remov-
ing the vertex we try to maximally integrate rela-
tive edges into the extracted graph while keeping the
quasi-simplicial property. An example is given in Fig-
ure 1.c. Here vertices are always added to G
0
at the
same time as necessary edges. With the same permu-
tation π
1
from previous example, the algorithm ini-
tializes G
0
with vertex 4 and empty edge set, then pro-
gressively adds vertex 5 and edge 5-4, vertex 1 and
edges 1-5, 1-4, vertex 7 and edges 7-5, 7-4, vertex 6
and edges 6-7, 6-5, 6-4, vertex 2 and edge 2-7 (but
not edge 2-1), vertex 3 and edge 3-2 (but not edge
3-1) to G
0
. The largest clique is also memorized at
adding step of vertex 6. Similarly, for an arbitrary
graph G = (V,E), the following proposition holds.
Proposition 2. Algorithm EMTG finds an edge-
maximal π-triangulated subgraph of G in O(n+m).
2.2 Interval Graph and Circular-arc
Graph Extraction
An interval graph is an intersection graph of multi-
ple segments of a line. Its generalization on a circle
(circular-arc graph) is an intersection graph of multi-
ple arcs of a circle. Intersection containing the largest
number of segments or circular-arcs is a maximum
clique of the graph, so finding the maximum clique
in these graphs can be done is linear time when all
segments or circular-arcs are well defined (Golumbic,
2004). In this section, we propose extraction methods
for an arbitrary graph and a permutation of vertices
using interval graph and circular-arc graph.
Let G = (V,E) be an arbitrary graph and π be a
permutation of vertices of V . For any i in [1..n], we
denote I
i
= [i, i + l
i
] where l
i
is such that 0 ≤ l
i
≤ n − i
and ∀l ∈ [1..l
i
],[π(i),π(i + l)] ∈ E and X = {I
i
|1 ≤
i ≤ n}. The interval set X can be seen as the repre-
sentation of an interval graph G
π
= (V,E
π
). For any
couple of vertices x, y ∈ V , [x, y] ∈ E
π
if and only if
I
i
∩ I
j
6=
/
0 with i = π
−1
(x) and j = π
−1
(y). Also for
any i in [1..n], we denote as J
i
an extension of I
i
in
which J
i
=
/
0 if l
i
< n−i or [π(i),π(1)] /∈ E. Otherwise
J
i
= [1, p
i
] where p
i
is such that 1 ≤ p
i
< i and ∀p ∈
[1..p
i
],[π(i),π(p)] ∈ E. Therefore Y = {I
i
∪J
i
|1 ≤ i ≤
n} is the representation of a circular-arc graph that
we denote
ˆ
G
π
= (V,
ˆ
E
π
). For any couple of vertices
x,y ∈ V , [x,y] ∈
ˆ
E
π
if and only if (I
i
∪J
i
)∩(I
j
∪J
j
) 6=
/
0
with i = π
−1
(x) and j = π
−1
(y).
Proposition 3. For an arbitrary graph G = (V, E)
and a permutation π of V , we have E
π
⊂
ˆ
E
π
⊂ E.
A direct corollary of Proposition 3 is that any
clique in G
π
is a clique in
ˆ
G
π
and so on any clique
in
ˆ
G
π
is also a clique in G. From now we are inter-
ested in circular-arc graph extraction instead of inter-
val graph one. The clique extraction using circular-
arc graphs, noted CAG, can be described as follows.
For each position i in the permutation, we maintain
a list L
i
of the vertices π( j) in which the circular-
arcs (I
j
∪ J
j
) pass through position i. Formally, L
i
=
{π
j
| j = [1..n] and i ∈ (I
j
∪ J
j
)}. We browse circular-
arcs all {I
j
∪ J
j
} with j ∈ [1..n] and progressively up-
date L
i
. At the end of this process the longest list will
correspond to the maximum clique of
ˆ
G
π
. Since the
circular-arc length starting from vertex π( j) does not
exceed the degree of vertex π( j) in G, the final com-
plexity of this process is obviously O(n + m). An ex-
ample of this subgraph extraction is shown in Figure
1.d. We consider permutation π
2
= (4,5, 1,7, 6,2,3),
the algorithm can start from any vertex in the order
and for simple, following this order until returning to
the same vertex. For example we begin with vertex 5,
its first unlinked vertex in the order is vertex 2, so 5
SUBGRAPH EXTRACTION AND MEMETIC ALGORITHM FOR THE MAXIMUM CLIQUE PROBLEM
79