MAMADOU MOUSTAPHA KANT É Benjamin Bergougnoux

AND O-Joung Kwon

AN OPTIMAL XP ALGORITHM FOR HAMILTONIAN CYCLE ON GRAPHS OF BOUNDED CLIQUE-WIDTH

Keywords: XP-algorithm, Hamiltonian cycle, clique-width. B. Bergougnoux and M

For MSO2-expressible problems like Edge Dominating Set or Hamiltonian Cycle, it was open for a long time whether there is an algorithm which given a clique-width k-expression of an n-vertex graph runs in time f (k) • n O(1) for some function f . Recently, Fomin et al. (SIAM. J. Computing, 2014) presented several lower bounds; for instance, there are no f (k) • n o(k) -time algorithms for Edge Dominating Set and for Hamiltonian Cycle unless the Exponential Time Hypothesis (ETH) fails. They also provided an algorithm running in time n O(k) for Edge Dominating Set, but left open whether Hamiltonian Cycle can be solved in time n O (k) .

In this paper, we prove that Hamiltonian Cycle can be solved in time n O(k) . This improves the naive algorithm that runs in time n O(k 2 ) by Espelage et al. (WG 2001). We present a general technique of representative sets using two-edge colored multigraphs on k vertices. The essential idea behind is that for a two-edge colored multigraph, the existence of an Eulerian trail that uses edges with different colors alternatively can be determined by two information, that are the number of colored edges incident with each vertex and the number of connected components containing an edge. This allows to avoid storing all possible graphs on k vertices with at most n edges, which gives the n O(k 2 ) running time. We can apply this technique to other problems such as q-Cycle Covering or Directed Hamiltonian Cycle as well.

Introduction

Tree-width is one of the graph width parameters that plays an important role in graph algorithms. Various problems which are NP-hard on general graphs, have been shown to be solvable in polynomial time on graphs of bounded tree-width [START_REF] Arnborg | Linear time algorithms for NP-hard problems restricted to partial k-trees[END_REF][START_REF] Bodlaender | A partial k-arboretum of graphs with bounded treewidth[END_REF]. A celebrated algorithmic meta-theorem by Courcelle [START_REF] Courcelle | The monadic second-order logic of graphs I: Recognizable sets of finite graphs[END_REF] states that every graph property expressible in monadic second-order logic which allows quantifications over edge and vertex sets (MSO 2 ) can be decided in linear time on graphs of bounded tree-width. Minimum Dominating Set, q-Coloring, and Hamiltonian Cycle problems are such graph problems.

Courcelle and Olariu [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF] defined the notion of clique-width of graphs, whose modeling power is strictly stronger than tree-width. The motivation of clique-width came from the observation that many algorithmic problems are tractable on classes of graphs that can be recursively decomposable along vertex partitions (A, B) where the number of neighbourhood types between A and B are small. Courcelle, Makowsky, and Rotics [START_REF] Courcelle | Linear time solvable optimization problems on graphs of bounded clique width[END_REF] extended the meta-theorem on graphs of bounded tree-width [START_REF] Courcelle | The monadic second-order logic of graphs I: Recognizable sets of finite graphs[END_REF] to graphs of bounded clique-width, at a cost of a smaller set of problems, namely, the class of problems expressible in MSO 1 , which allows quantifications on vertex sets only. Some of the known examples of graph problems that are MSO 2 -definable, but not MSO 1 -definable are Max-Cut, Edge Dominating Set, and Hamiltonian Cycle problems.

A natural question is whether such problems allow an algorithm with running time f (k)• n O (1) for some function f , when a clique-width k-expression of an n-vertex input graph is given. This question has been carefully answered by Fomin et al. [START_REF] Fomin | Intractability of clique-width parameterizations[END_REF][START_REF] Fomin | Almost optimal lower bounds for problems parameterized by clique-width[END_REF]. In particular, they showed that for Max-Cut and Edge Dominating Set, there is no f (k) • n o(k) -time algorithm unless the Exponential Time Hypothesis (ETH) fails, and proposed for both problems algorithms with running time n O(k) . They argued that Hamiltonian Cycle also cannot be solved in time f (k) • n o(k) , unless ETH fails, but left open the question of finding an algorithm running in time n O(k) . Until now, the best algorithm is the one by Espelage, Gurski, and Wanke [START_REF] Espelage | How to solve NP-hard graph problems on clique-width bounded graphs in polynomial time[END_REF] which runs in time n O(k 2 ) .

Our Contribution. In this paper, we prove that Hamiltonian Cycle can be solved in time n O(k) , thereby resolving the open problem in [START_REF] Fomin | Almost optimal lower bounds for problems parameterized by clique-width[END_REF]. A Hamiltonian cycle in a graph is a cycle containing all vertices of the graph. We formally define clique-width in Section 2.

Hamiltonian Cycle

Input : A graph G Question : Does G have a Hamiltonian cycle? Theorem 1.1. Given an n-vertex graph G and its clique-width k-expression, one can solve Hamiltonian Cycle in time n O(k) .

A k-labeled graph is a graph whose vertices are labeled by integers in {1, . . . , k}. Cliquewidth k-expressions are expressions which allow to recursively construct a graph with the following graph operations: (1) creating a graph with a single vertex labeled i for some i ∈ {1, . . . , k}, (2) taking the disjoint union of two k-labeled graphs, [START_REF] Courcelle | The monadic second-order logic of graphs I: Recognizable sets of finite graphs[END_REF] adding all edges between vertices labeled i and vertices labeled j, for j = i, (4) renaming all vertices labeled i into j. The clique-width of a graph is the minimum k such that it can be constructed using labels in {1, . . . , k}. One observes that if a graph contains a Hamiltonian cycle C, then each k-labeled graph introduced in the clique-width k-expression admits a partition of its vertex set into pairwise vertex-disjoint paths, path-partitions, which is a restriction of the Hamiltonian cycle C. A natural approach is to enumerate all such partitions into paths. Furthermore, since the adjacency relations between this k-labeled graph and the remaining part only depend on the labels, it is sufficient to store for each pair of labels (i, j), the number of paths whose end vertices are labeled by i and j. As the number of paths between two label classes is bounded by n, there are at most n O(k 2 ) possible such information. This is the basic idea of the XP algorithm developed by Espelage, Gurski, and Wanke [START_REF] Espelage | How to solve NP-hard graph problems on clique-width bounded graphs in polynomial time[END_REF].

The essential idea is to introduce an equivalence relation between two path-partitions. Given a path-partition P that is a restriction of a Hamiltonian cycle C, we consider the maximal paths in C -P ∈P E(P ) as another path-partition Q. As depicted in Figure 1, we can construct a multigraph associated with P and Q on the vertex set {v 1 , . . . , v k }, by adding a red edge v i v j (an undashed edge) if there is a path in P with end vertices labeled by i and j, and by adding a blue edge v i v j (a dashed edge) if there is a path in Q with end vertices labeled by i and j. A crucial observation is that this multigraph admits an Eulerian trail where red edges and blue edges are alternatively used. This is indeed a characterisation of the fact that two such path-partitions can be joined into a Hamiltonian cycle. To determine the existence of such an Eulerian trail, it is sufficient to know the degree of each vertex and the connected components of the corresponding multigraphs of the two path-partitions. This motivates an equivalence relation between path-partitions. As a byproduct, we can keep in each equivalence class a representative and since the number of equivalence classes is bounded by 2 k log(k) • n k , we can turn the naive algorithm into an n O(k) -time algorithm. A more detailed explanation of our algorithm is provided in Section 3, after the required definitions.

C 1 C 2 C 3 C 4 v 1 v 2 v 3 v 4
The paper is organized as follows. Section 2 contains the necessary preliminaries and required notions. Section 3 is devoted to the overview of the algorithm and the proof of the existence of Eulerian trails in two-edge colored multigraphs. We then introduce in Section 4 the equivalence relation between multigraphs on the vertex set {v 1 , . . . , v k }, and introduce operations related to the update of path-partitions in clique-width k-expressions, and prove that they preserve the equivalence relation. We define the notion of representatives in Section 5.1 and give the algorithm in Section 5.2. We conclude with more applications of our notion of representatives in Section 6.

Preliminaries

The size of a set V is denoted by |V |, and we write [V ] 2 to denote the set of all subsets of V of size 2. We denote by N the set of non-negative integers.

We essentially follow [START_REF] Diestel | Graph Theory[END_REF] for our graph terminology, but we deal only with finite graphs. The vertex set of a graph G is denoted by V (G) and its edge set by E(G) ⊆ [V (G)] 2 . As usual, we write xy to denote an edge {x, y}. Let G be a graph. For X ⊆ V (G), we denote by G[X] the subgraph of G induced by X, and for F ⊆ E(G), we write G -F for the subgraph (V (G), E(G) \ F ). The degree of a vertex x, denoted by deg G (x), is the number of edges incident with x. For two sets A, B ⊆ V (G), A is complete to B if for every v ∈ A and w ∈ B, vw ∈ E(G). A cut-edge in a connected graph is an edge e such that G -{e} is disconnected. We recall that a cycle in a graph G is a Hamiltonian cycle if it covers all vertices of G.

η 1,3 ⊕ ρ 3→2 η 2,3 ⊕ η 1,2 ⊕ 1(a) 2(b) η 1,3 ⊕ 3(c) 1(d) 3(e) Figure 2. 3-expression of C 5 .
A graph is non-trivial if it contains an edge, otherwise it is said trivial. A walk of a graph is an alternating sequence of vertices and edges, starting and ending at some vertices, where for every consecutive pair of a vertex x and an edge e, x is incident with e. A trail of a graph is a walk where each edge is used at most once. A trail is closed if its first and last vertices are the same.

A multigraph is essentially a graph, but we allow two edges to be incident with the same set of vertices. Formally, a multigraph G is a pair (V (G), E(G)) of disjoint sets, also called sets of vertices and edges, respectively, together with a map mult G : 2 , which maps every edge to one or two vertices, still called its end vertices. Note that we admit loops in multigraphs, while we do not in our definition of graphs. If there is e ∈ E(G) such that mult G (e) = {x, y} (or mult G (e) = {x}), we use the term multiedge to refer to {x, y} (or {x}). The degree of a vertex x in a multigraph G, is defined analogously as in graphs, except that each loop is counted twice, and similarly for other notions. If there are exactly k edges e such that mult G (e) = {x, y} (or mult G (e) = {x}), then we denote these distinct edges by {x, y} 1 , . . . , {x, y} k (or {x} 1 , . . . , {x} k ); if k = 1, then for the sake of clarity, we write {x, y} (or {x}) instead of {x, y} 1 (or {x} 1 ).

E(G) → V (G) ∪ [V (G)]
An Eulerian trail in a multigraph is a closed trail containing all edges.

2.1. Clique-width. A graph is k-labeled if there is a labeling function f : V (G) → {1, . . . , k}, and we call f (v) the label of v. For a k-labeled graph G, we simply call the set of all vertices with label i as the label class i of G.

The clique-width of a graph G is the minimum number of labels needed to construct G using the following four operations:

(1) Creation of a new vertex v with label i (denoted by i(v)).

(2) Disjoint union of two labeled graphs G and H (denoted by G ⊕ H).

(3) Joining by an edge each vertex with label i to each vertex with label j (i = j, denoted by η i,j ). ( 4) Renaming label i to j (denoted by ρ i→j ).

Every graph can be defined by an algebraic expression using these four operations. Such an expression is called a clique-width k-expression or shortly a k-expression if it uses at most k distinct labels.

For instance, the cycle abcdea of length 5 can be constructed using the following 3expression:

η 1,3 (ρ 3→2 η 2,3 (η 1,2 (1(a) ⊕ 2(b)) ⊕ η 1,3 (3(c) ⊕ 1(d))) ⊕ 3(e))
. We can represent this expression as a tree-structure, depicted in Figure 2. Such trees are known as syntactic trees associated with k-expressions.

A clique-width k-expression is called irredundant if whenever η i,j is applied, the constructed graph contains no prior edges between vertices with label i and vertices with label j. Courcelle and Olariu [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF] proved that given a clique-width k-expression, it can be transformed into an irredundant k-expression in linear time. Therefore, we can assume that a given clique-width expression is irredundant.

2.2. Path-partition. For a graph G, a set P = {P 1 , . . . , P m } of pairwise vertex-disjoint paths in G is called a path-partition of G if 1≤i≤m V (P i ) = V (G). A path-partition P is k-labeled if each
end vertex of a path in P is labeled by some integer in {1, . . . , k}. For a path-partition P of a k-labeled graph G, the labeling of P induced by the labeling of G consists in assigning to each end vertex of a path in P its label in G. Lastly, for a k-labeled path-partition P of a graph, we define the auxiliary multigraph Aux(P) with vertex set {v 1 , . . . , v k } and edge set i,j∈{1,...,k}

{{v i , v j } 1 , . . . , {v i , v j } ij }
where ij is the number of paths in P with end vertices labeled i and j respectively.

Overview of the algorithm

In an irredundant clique-width k-expression φ defining a given graph G, G is recursively constructed using k-labeled graphs. Such k-labeled graphs H arising in the k-expression defining G are subgraphs of G and satisfy the following properties:

(1) for two vertices v, w ∈ V (H) with same labels in

H, N G (v) ∩ (V (G) \ V (H)) = N G (w) ∩ (V (G) \ V (H)), (2)
for some label class i, say L i , and label class j, say L j , in

H with i = j, if there exist v ∈ L i , w ∈ L j with vw ∈ E(G) \ E(H), then L i is complete to L j in G,
and there are no edges between L i and L j in H. In (2), the former statement is because when we add vw, all vertices in each set of L i or L j have same labels, and the latter statement is because of the irredundancy of φ. Given such a k-labeled subgraph H of G, for any Hamiltonian cycle C, the restriction of C to H induces a k-labeled path-partition of H. Because of the two properties ( 1) and ( 2), it is sufficient to store the end vertices of each path. This is naturally represented as a multigraph on k vertices, motivating the definition of the auxiliary multigraphs associated with klabeled path-partitions. Our algorithm will be based on the following characterization of equivalent path-partitions.

We formally prove the following relations between two path-partitions in Section 5.

Proposition 5.2. Let P 1 and P 2 be k-labeled path-partitions of H whose labelings are induced by the labeling of H. If

• (deg Aux(P 1 ) (v 1 ), . . . , deg Aux(P 1 ) (v k )) = (deg Aux(P 2 ) (v 1 ), . . . , deg Aux(P 2 ) (v k )) and • {V (C) | C is a component of Aux(P 1 )} = {V (C) | C is a component of Aux(P 2
)}, then the following are equivalent.

(1) G has a Hamiltonian cycle C 1 containing each path in P 1 as a subpath and such that every edge in C 1 -

( P ∈P 1 E(P )) is contained in E(G) \ E(H).
(2) G has a Hamiltonian cycle C 2 containing each path in P 2 as a subpath and such that every edge in C 2 -

( P ∈P 2 E(P )) is contained in E(G) \ E(H).
Suppose there are two such path-partitions P 1 and P 2 , and G has a Hamiltonian cycle C 1 containing each path in P 1 as a subpath and such that every edge in C 1 -(

P ∈P 1 E(P )) is contained in E(G) \ E(H).
Let Q be the subpaths of C 1 connecting two consecutive paths in P 1 . See Figure 1 for an illustration, where dashed edges denote the paths of Q. Note that if a path in Q is an edge, then it is an edge between two label classes, and since φ is an irredundant k-expression, these two label classes are completely adjacent to each other.

One can observe that there is a one-to-one correspondence between the end-vertices of P 1 and those of Q. Let us label each end vertex of a path in Q as the label of H, We consider the auxiliary multigraph Aux(P 1 ) and the auxiliary multigraph Aux(Q) by considering Q as a path-partition of the underlying graph on Q∈Q V (Q). We obtain a multigraph F from the disjoint union of Aux(P 1 ) and Aux(Q) by identifying each v i . Following the Hamiltonian cycle C, one easily checks that there is an Eulerian trail which alternates between edges in Aux(P 1 ) and edges in Aux(Q).

We will prove that if we replace Aux(P 1 ) with Aux(P 2 ) in F , then the new graph also admits an Eulerian trail, because of the given conditions in Proposition 5.2. To see this, we observe the following, which is a strengthen of Euler's theorem on Eulerian trails. It is well known that a connected multigraph contains an Eulerian trail if and only if every vertex has even degree. Moreover, when edges are colored by two colors, say red and blue, and each vertex is incident with the same number of edges for both colors, then we can find an Eulerian trail where the two colors appear alternatively. We call such an Eulerian trail a red-blue alternating Eulerian trail. For a multigraph G colored by red and blue and v ∈ V (G), let rdeg G (v) denote the number of red edges incident with v, and let bdeg G (v) denote the number of blue edges incident with v. Lemma 3.1. Let G be a connected multigraph whose edges are colored by red and blue. Then the following are equivalent. Then G has a red-blue alternating Eulerian trail if and only if for every vertex v, bdeg

G (v) = rdeg G (v).
Proof. It is clear that if G has a red-blue alternating Eulerian trail, then for every vertex v, bdeg G (v) = rdeg G (v). We prove the other direction. Let m be the number of edges in G. We choose a red-blue alternating trail v 1 e 1 v 2 e 2 • • • v i e i v i+1 with maximum i such that e 1 is colored red, and there is exactly one non-trivial component C of G -j∈{1,...,i} {e j } , and C contains v 1 and v i+1 , and in

G i := G - j∈{1,...,i} {e j } , • for each v ∈ V (G) \ {v 1 , v i+1 }, rdeg G i (v) = bdeg G i (v), • if v i+1 = v 1
, and e i is colored red (resp. blue), then bdeg

G i (v i+1 ) = rdeg G i (v i+1 )+1 (resp. rdeg G i (v i+1 ) = bdeg G i (v i+1 ) + 1) and bdeg G i (v 1 ) = rdeg G i (v 1 ) + 1. • if v i+1 = v 1 , then bdeg G i (v 1 ) = rdeg G i (v 1 ) or bdeg G i (v 1 ) = rdeg G i (v 1 ) + 2.
We claim i = m -1. Suppose i < m -1. Note that there are at least two edges in

E(G) \ E(G i ).
We observe that there are at most one cut-edge in G i incident with v i+1 . If there are two cut-edges incident with v i+1 , then one cut-edge f satisfies that G i -f has a connected component C that does not contain v 1 and v i+1 . However, all vertices v in C satisfy rdeg G i (v) = bdeg G i (v) by the assumption, and in particular, they have even degrees, and this is not possible. Therefore, there are at most one cut-edge in G i incident with v i+1 .

Suppose v i+1 = v 1 and e i is colored red. The proof is symmetric when e i is colored blue. If there is a blue edge e incident with v i+1 in G i , then we can choose e as a next edge to extend the red-blue alternating trail. Thus, we may assume there is only one edge e incident with v i+1 and it is a cut-edge of G i . By the condition, v i+1 is not adjacent to any red edge in G i , and thus it has degree 1 in G i . Therefore, G i -e has only one non-trivial component, and it implies that we can choose e as a next edge to extend the red-blue alternating trail.

Suppose

v i+1 = v 1 and bdeg G i (v 1 ) = rdeg G i (v 1 ) + 2.
In this case, e i should be a red edge. Since there are at least two blue edges incident with v i+1 in G i , we can choose a blue edge e that is not a cut-edge. Suppose v i+1 = v 1 and bdeg G i (v 1 ) = rdeg G i (v 1 ). In this case, e i should be a blue edge. Note that rdeg G i (v 1 ) = 0 by the condition that there is at least one non-trivial connected component containing v 1 and v i+1 , and thus there is at least one red edge incident with v i+1 in G i . We claim that there is at least one red edge among them that is not a cut-edge. Suppose for contradiction that there is only one red edge incident with v i+1 in G i and it is a cut-edge in G i . By the assumption, there is exactly one blue edge incident with v i+1 in G i . Since one of two edges incident with v i+1 is not a cut-edge, the other one is also not a cut-edge. It contradicts to the assumption. Thus, we can choose a red edge e that is not a cut-edge.

In each case, we can extend the red-blue alternating trail using e, which contradicts to the maximality. Therefore i = m -1, and v i+1 should be connected to v 1 by a blue edge

f := v i+1 v 1 . Thus, v 1 e 1 v 2 e 2 • • • v i e i v i+1 f v 1 is a required red-blue alternating Eulerian trail.
Indeed, when we replace Aux(P 1 ) with Aux(P 2 ) in F , the set of components does not change (thus consists of one non-trivial component), and each vertex is incident with same number of red and blue edges, and by Lemma 3.1, the resulting graph has an Eulerian trail. We will argue that one can construct a Hamiltonian cycle of G from paths of P 2 using the properties (1) and (2) at the beginning of this section.

Motivated by Proposition 5.2, we define in Section 4 an equivalence relation between two sets of multigraphs on the same vertex set {v 1 , . . . , v k }. We further define operations on those multigraphs, corresponding to procedures of updating path-partitions, and prove that the equivalence between two sets is preserved under such operations. These results will form the skeleton of the main algorithm.

An equivalence relation between families of k-vertex multigraphs

For two multigraphs G and H on the same vertex set {v 1 , . . . , v k } and with disjoint edge sets, we denote by G//H the multigraph with vertex set {v 1 , . . . , v k } and edge set E(G) ∪ E(H).

For families F, F 1 , F 2 of multigraphs on the vertex set {v 1 , . . . , v k } and two distinct integers i, j ∈ {1, . . . , k}, we define the following operations:

(1) F + (i, j) is the set of all multigraphs F where F can be obtained from a multigraph F in F as follows 1 : choose two distinct edges {v i , v i } t and {v j , v j } s , and let F be the multigraph on vertex set {v 1 , . . . , v k } and edge set (E(F ) \ {{v i , v i } t , {v j , v j } s }) ∪ {e} with e / ∈ E(F ) mapped to {v i , v j }. (2) F + t(i, j) is the set constructed from F by doing the operation +(i, j) t times.

(3) F| i→j is the set of all multigraphs F where F can be obtained from a multigraph in F by replacing every edge by an end vertex v i with an edge with an end vertex

v j . (4) F 1 F 2 := {F 1 //F 2 : F 1 ∈ F 1 , F 2 ∈ F 2 }.
Let F 1 and F 2 be two families of multigraphs on the vertex set {v 1 , . . . , v k }. We write F 1 F 2 if for every multigraph H on the vertex set {v 1 , . . . , v k }, -whenever there exists

G 2 ∈ F 2 such that (deg G2 (v 1 ), . . . , deg G2 (v k )) = (deg H (v 1 ), . . . , deg H (v k ))
and G 2 //H has at most one non-trivial component, there exists

G 1 ∈ F 1 such that (deg G1 (v 1 ), . . . , deg G1 (v k )) = (deg H (v 1 ), . . . , deg H (v k ))
and G 1 //H has at most one nontrivial component.

We say that F 1 is equivalent to F 2 , written

F 1 ≡ F 2 , if F 1 F 2 and F 2 F 1 .
We prove that the equivalence between two families is preserved by the operation +(i, j).

Proposition 4.1. Let F 1 and F 2 be two families of multigraphs on the vertex set {v 1 , . . . , v k }.

If F 1 ≡ F 2 , then F 1 + (i, j) ≡ F 2 + (i, j).
Proof. Suppose F 1 ≡ F 2 . It is sufficient to prove that F 1 + (i, j) F 2 + (i, j). For this, suppose there exist a graph H on {v 1 , . . . , v k } and

G 2 ∈ F 2 + (i, j) such that (deg G 2 (v 1 ), . . . , deg G 2 (v k )) = (deg H (v 1 ), . . . , deg H (v k )) and G 2 //H has at most one non- trivial component. Since G 2 ∈ F 2 + (i, j), there exist F 2 ∈ F 2 , edges {v i , v i } t , {v j , v j } s in F 2 such that G 2 = (V (F 2 ), E(F 2 ) \ {{v i , v i } t , {v j , v j } s } ∪ {e}) with e / ∈ E(F 2 ) mapped to {v i , v j } in G 2 . Let H := (V (H), E(H) ∪ {e }) with e / ∈ E(H) mapped to {v i , v j } in H. We claim that • (deg F 2 (v 1 ), . . . , deg F 2 (v k )) = (deg H (v 1 ), . . . , deg H (v k )) and
• F 2 //H has at most one non-trivial component. By the construction of G 2 from F 2 , for every v ∈ V (F 2 ) \ {v i , v j }, v has the same degree in F 2 and G 2 , and the degrees of v i and v j in G 2 are one less than the degrees in F 2 , respectively. Since the degrees of v i and v j in H are one more than the degrees in H, we have (deg

F 2 (v 1 ), . . . , deg F 2 (v k )) = (deg H (v 1 , . . . , deg H (v k ))
. Assume now that F 2 //H has at least two non-trivial components. First observe that the four vertices v i , v j , v i , v j are in the same non-trivial component C of F 2 //H , and

{v i , v i } are in a same non-trivial component of G 2 //H. If C is another non-trivial component of F 2 //H , then it does not intersect {v i , v i , v j , v j }, i.e., C is non-trivial component in G 2 //H that does not intersect the one containing {v i , v i }, yielding a contradiction. Since F 1 ≡ F 2 , there exists F 1 ∈ F 1 such that (deg F 1 (v 1 ), . . . , deg F 1 (v k )) = (deg H (v 1 ), . . . , deg H (v k ))
and F 1 //H has at most one non-trivial component. By Lemma 3.1, F 1 //H contains an Eulerian trail where edges in F 1 and edges in H are alternatively used. Let {v i , v i } t and {v j , v j } s be the edges where {v i , v i } t , e , {v j , v j } s appear in the Eulerian trail in this order (recall that e is mapped to {v i , v j }). Clearly, if we remove the edges {v i , v i } t , e , {v j , v j } s and add an edge f mapped to {v i , v j } in F 1 //H , then the obtained multigraph K still admits an alternating Eulerian trail. Let

G 1 = (V (F 1 ), E(F 1 ) \ {{v i , v i } t , {v j , v j } s } ∪ {f }) with f / ∈ E(F 1 ) mapped to {v i , v j } in G 1 .
One easily checks that K = G 1 //H, and since K has an Eulerian trail where edges in G 1 and edge in H are alternatively used, by Lemma 3.1, (deg

G 1 (v 1 ), . . . , deg G 1 (v k )) = (deg H (v 1 ), . . . , deg H (v k ))
and G 1 //H has at most one non-trivial component. Because G 1 ∈ F 1 + (i, j), we can thus conclude that F 1 + (i, j) F 2 + (i, j).

We prove a similar property for the other operations. Proposition 4.2. Let F 1 and F 2 be families of multigraphs on the vertex set {v 1 , . . . , v k } and let i, j ∈ {1, . . . , k} be two distinct integers. If

F 1 ≡ F 2 , then F 1 | i→j ≡ F 2 | i→j . Proof. Suppose F 1 ≡ F 2 . It is sufficient to prove that F 1 | i→j F 2 | i→j . Suppose there exist a graph H on {v 1 , . . . , v k } and G 2 ∈ F 2 | i→j such that (deg G 2 (v 1 ), . . . , deg G 2 (v k )) = (deg H (v 1 ), . . . , deg H (v k )
) and G 2 //H has at most one non-trivial component. By Lemma 3.1, there is an Eulerian trail C where edges of G 2 and edges of H are alternatively used. Since G 2 ∈ F 2 | i→j , there exists F 2 ∈ F 2 such that G 2 is obtained from F 2 by replacing every edge with an end vertex v i with an edge with an end vertex v j . Clearly, we can construct F 2 from G 2 by reversing each of these operations. We construct the multigraph H from H as follows :

• following the construction of F 2 from G 2 , whenever an edge {v , v j } t is replaced with {v , v i } s for some v , we replace the edge {v , v j } t with {v , v i } p in H where {v , v j } t and {v j , v } s are consecutive edges in C.

This operation preserves the existence of an alternating Eulerian trail. It implies that (deg

F 2 (v 1 ), . . . , deg F 2 (v k )) = (deg H (v 1 ), . . . , deg H (v k ))
and F 2 //H also has at most one non-trivial component.

Since

F 1 ≡ F 2 , there exists F 1 ∈ F 1 such that (deg F 1 (v 1 ), . . . , deg F 1 (v k )) = (deg H (v 1 ), . . . , deg H (v k ))
and F 1 //H has at most one non-trivial component. In other words, F 1 //H has an Eulerian trial where edges in F 1 and edges in H are alternatively used. Similar to the previous procedure, we can obtain a graph G 1 form F 1 by following the construction of H from H , such that G 1 ∈ F 1 | i→j and G 1 //H has an Eulerian trail where edges in G 1 and edges in H are alternatively used. By Lemma 3.1

(deg G 1 (v 1 ), . . . , deg G 1 (v k )) = (deg H (v 1 ), . . . , deg H (v k ))
and G 1 //H has at most one nontrivial component, and we conclude that

F 1 | i→j F 2 | i→j . Proposition 4.3. Let F 1 , F 2 , F 3 be families of multigraphs on the vertex set {v 1 , . . . , v k }. If F 1 ≡ F 2 , then F 1 F 3 ≡ F 2 F 3 . Proof. Suppose F 1 ≡ F 2 . It is sufficient to prove that F 1 F 3 F 2 F 3 . Suppose there exist a graph H on {v 1 , . . . , v k } and G 2 ∈ F 2 and G 3 ∈ F 3 such that (deg G 2 //G 3 (v 1 ), . . . , deg G 2 //G 3 (v k )) = (deg H (v 1 ), . . . , deg H (v k )
) and (G 2 //G 3 )//H has at most one non-trivial component. Thus, (G 2 //G 3 )//H has an Eulerian trail C where edges in G 2 //G 3 and edges in H are alternatively used. Clearly, (G 2 //G 3 )//H = G 2 //(G 3 //H). Now, we obtain a graph H from G 3 //H by successively repeating the following: if P is a maximal path in C which alternates between edges of G 3 and those of H, remove all the edges of P and add an edge e P between the two endpoints of the P . Notice that by replacing in C each maximal path P alternating between edges of G 3 and of H, by the edge e P , we obtain an Eulerian trail alternating between edges of G 2 and edges of H .

Since F 1 ≡ F 2 , there exists G 1 ∈ F 1 such that G 1 //H has an Eulerian trail C 1 where edges in G 1 and edges in H are alternatively used. We can replace each edge e P of H with P in C 1 , obtaining an Eulerian trail of G 1 //(G 3 //H) which alternates between edges of G 1 //G 3 and of H. Therefore, (deg

G 1 //G 3 (v 1 ), . . . , deg G 1 //G 3 (v k )) = (deg H (v 1 ), . . . , deg H (v k )
) and (G 1 //G 3 )//H has at most one non-trivial component. This concludes the proof of the statement.

Hamiltonian Cycle problem

We prove the main result of this paper. 5.1. Equivalence between partial solutions. We now define formally our notion of representatives based only on the degree sequence and connected components of auxiliary multigraphs associated with k-labeled path-partitions. Definition 5.1 (Representatives by auxiliary multigraphs). Let G and H be multigraphs on vertex set {v 1 , . . . , v k }. We write G H whenever (deg

G (v 1 ), . . . , deg G (v k )) = (deg H (v 1 ), . . . , deg H (v k )) and {V (C) | C is a component of G} is equal to {V (C) | C is a component of H}.
One easily checks that is an equivalence relation on any set F of multigraphs on vertex set {v 1 , . . . , v k }.

For a family F of multigraphs on vertex-set {v 1 , . . . , v k }, let reduce(F) be the operation which takes in each equivalence class of F/ a representative.

The goal of this section is to prove the following. Proposition 5.2. Let G be a graph with its irredundant clique-width k-expression φ, and let t be a node in the syntactic tree. Let G t be the k-labeled graph constructed at t, and let P 1 and P 2 be k-labeled path-partitions of G t whose labelings are induced by the labeling of G t . If Aux(P 1 ) Aux(P 2 ), then the following are equivalent.

(1) G has a Hamiltonian cycle C 1 containing each path in P 1 as a subpath and such that every edge in C 1 -

( P ∈P 1 E(P )) is contained in E(G) \ E(G t ).
(2) G has a Hamiltonian cycle C 2 containing each path in P 2 as a subpath and such that every edge in C 2 -

( P ∈P 2 E(P )) is contained in E(G) \ E(G t ).
Proof. By symmetry, it is sufficient to prove that (1) implies [START_REF] Bodlaender | A partial k-arboretum of graphs with bounded treewidth[END_REF]. Suppose G has a Hamiltonian cycle C 1 containing each path in P 1 as a subpath and such that every edge in

C 1 -( P ∈P 1 E(P )) is contained in E(G) \ E(G t ).
Let Q be the set of all maximal paths in C 1 -( P ∈P 1 E(P )), and let

H := G[ Q∈Q V (Q)].
We consider Q as the path-partition of H where the end vertices of paths in Q are labeled by their labels in G t . Since C 1 is a Hamiltonian cycle, Aux(P 1 )//Aux(Q) has an Eulerian trail where edges in Aux(P 1 ) and edges in Aux(Q) are alternatively used. Thus Aux(P 1 )//Aux(Q) has at most one non-trivial connected component, and

(deg Aux(P 1 ) (v 1 ), . . . , deg Aux(P 1 ) (v k )) = (deg Aux(Q) (v 1 ), . . . , deg Aux(Q) (v k )).
Since Aux(P 1 ) Aux(P 2 ) by the assumption, Aux(P 2 )//Aux(Q) has at most one nontrivial connected component and

(deg Aux(P 2 ) (v 1 ), . . . , deg Aux(P 2 ) (v k )) = (deg Aux(Q) (v 1 ), . . . , deg Aux(Q) (v k )).
Therefore, by Lemma 3.1, Aux(P 2 )//Aux(Q) admits an Eulerian trail where the edges in Aux(P 2 ) and the edges in Aux(Q) are alternatively used. Now, we show that G has a Hamiltonian cycle C 2 containing each path in P 2 as a subpath and such that every edge in C 2 -( P ∈P 2 E(P )) is contained in E(G) \ E(G t ). Let e 1 , e 2 , . . . , e 2m be the sequence of the edges in an Eulerian trail of Aux(P 2 )//Aux(Q) where edges in Aux(P 2 ) and edges in Aux(Q) are alternatively used such that e 1 ∈ E(Aux(P 2 )). For convenience, let e 0 := e 2m and e 2m+1 := e 1 . For each i ∈ {1, . . . , 2m}, let L(i) be the vertex incident with e i and e i-1 , and let R(i) be the vertex incident with e i and e i+1 . For each integer i ∈ {1, . . . , m}, let P 2i-1 be the path in P 2 corresponding to e 2i-1 , and for each integer i ∈ {1, . . . , m}, let Q 2i be the path in Q corresponding to e 2i . We construct a Hamiltonian cycle of G from ( P ∈P 2 V (P ), P ∈P 2 E(P )) as follows. Let i ∈ {1, . . . , m}.

(1) If Q 2i consists of an edge, then we add an edge between the end vertex of P 2i-1 corresponding to R(2i -1) and the end vertex of P 2i+1 corresponding to L(2i + 1). ( 2) Suppose Q 2i is a path of length at least 2. Let q 2i 1 , q 2i 2 be the end vertices of Q 2i corresponding to L(2i) and R(2i), respectively. Let q 2i 3 , q 2i 4 be the neighbors of q 2i 1 , q 2i 2 in Q 2i , respectively. Then, we add Q 2i -{q 2i 1 , q 2i 2 } to the subgraph, and add an edge between q 2i 3 and the end vertex of P 2i-1 corresponding to R(2i -1), and add an edge between q 2i 4 and the end vertex of P 2i+1 corresponding to L(2i + 1). We verify that this is always possible. Suppose Q 2i consists of an edge. By the assumption of C 1 , the edge in Q 2i is contained in E(G) \ E(G t ); in other words, this edge is added in some ascendant node of t. This also implies that R(2i-1) = L(2i+1), and by the definition of the clique-width expression, the label class with respect to the index of R(2i-1) and the label class with respect to the index of L(2i + 1) are completely adjacent to each other in G. Therefore, there is an edge between the end vertex of P 2i-1 corresponding to R(2i -1) and the end vertex of P 2i+1 corresponding to L(2i + 1), and furthermore, this edge is not in G t because φ is irredundant. So, we can add it to connect two paths. Now suppose Q 2i has length at least 2. By the definition of the clique-width expression, all vertices in a label class in G t have the same neighborhood in V (G) \ V (G t ). So, there are an edge between q 2i 3 and the end vertex of P 2i-1 corresponding to R(2i -1), and an edge between q 2i 4 and the end vertex of P 2i+1 corresponding to L(2i + 1), and we can add them.

It implies that G has a Hamiltonian cycle C 2 containing each path in P 2 as a subpath and such that every edge in C 2 -

( P ∈P 2 E(P )) is contained in E(G) \ E(G t ).
We can now prove the following which essentially tells us that if F is the set of possible k-labeled path-partitions at a node t of the syntactic tree, it is enough to store reduce({Aux(P) | P ∈ F }). Proposition 5.3. Let F be a family of graphs on the vertex set {v 1 , . . . , v k }. Then F ≡ reduce(F). Proof of Theorem 1.1. We assume that G has at least 3 vertices, otherwise we can automatically say it is a No-instance. Since every k-expression can be transformed into an (3) (Join node with the child t such that each vertex with label i is joined to each vertex with label j) Note that every path-partition of G t is obtained from a path-partition of G t by adding some edges between end vertices of label i and end vertices of label j. We can observe that when we add an edge between an end vertex v of a path P 1 with label i, and an end vertex w of a path P 2 with label j, these two paths P 1 and P 2 will be unified into a path whose end vertices are end vertices of P 1 and P 2 other than v and w. Thus, it corresponds to the operation +(i, j) on auxiliary multigraphs. We observe that c[t,(a 1 , . . . , a k )] = a i -a i =a j -a j = ≥0 a x =ax for x = i, j (c[t , (a 1 , . . . , a k )] + (i, j)).

Proof. Since reduce(F) is a subset of F, it is sufficient to prove that reduce(F) F. Let H be a multigraph on {v 1 , . . . , v k } and let G 2 ∈ F such that (deg G 2 (v 1 ), . . . , deg G 2 (v k )) = (deg H (v 1 ), . . . , deg H (v k ))
We take all possible vectors (a 1 , . . . , a k ) where a i -a i = a j -a j ≥ 0, and for all t ∈ {1, . . . , k} \ {i, j}, a t = a t . Assume = a i -a i . For each ∈ {0, 1, . . . , n}, we assign r := reduce(• • • reduce(reduce(r[t , (a 1 , . . . , a k )] + (i, j)) + (i, j)) • • • + (i, j)), where we repeat times, and assign r[t, (a 1 , . . . , a k )] := reduce(r 0 ∪ r 1 ∪ • • • ∪ r n ).

(4) (Renaming node with a child t such that the label of each vertex with label i is changed to j) Every path-partition of G t is also a path-partition of G t , and vice versa. Since just labelings of vertices are changed, we can observe that if a i = 0, then c[t, (a 1 , . . . , a k )] is the empty set, and otherwise, we have c[t,(a 1 , . . . , a k )] := ax=a x for all x = i, j a i +a j =a j c[t , (a 1 , . . . , a k )]| i→j .

If a i = 0, then we assign the empty set to r[t, (a 1 , . . . , a k )], and otherwise, we assign To confirm the correctness of our algorithm, we claim the following.

Figure 1 .

 1 Figure 1. The restriction of a Hamiltonian cycle to a k-labeled graph. The complement part can be considered as another set of paths.

Theorem 1 . 1 .

 11 Given a graph G and its k-expression, one can solve Hamiltonian Cycle in time n O(k) .

5 . 2 .

 52 and G 2 //H has at most one non-trivial component. By the definition of reduce(F), there isG 1 ∈ reduce(F) so that G 1 G 2 . By definition of , we have (deg G 1 (v 1 ), . . . , deg G 1 (v k )) = (deg H (v 1 ), . . . , deg H (v k )). Since the components are the same in G 1 and in G 2 , and the edges in H join components of G 2 in G 2 //H as in G 1 //H, we can conclude that G 1 //H has at most one non-trivial component. An n O(k) -algorithm for Hamiltonian Cycle.

r[t,(a 1

 1 , . . . , a k )] := reduce x for all x = i, j a i +a j =a j r[t , (a 1 , . . . , a k )]| i→j

  Claim 1. Let t be a node and (a 1 , . . . , a k ) ∈ {0, 1, . . . , n} k . Then r[t, (a 1 , . . . , a k )] ≡ c[t, (a 1 , . . . , a k )]. Proof. It is clear when t is a node that creates a new vertex. Suppose t is a disjoint union node with two children t 1 and t 2 . For two vectors (a 1 1 , . . . , a 1 k ) and (a 2 1 , . . . , a 2 k ) where (a 1 1 , . . . , a 1 k ) + (a 2 1 , . . . , a 2 k ) = (a 1 , . . . , a k ), we have r[t 1 , (a 1 1 , . . . , a 1 k )] r[t 2 , (a 2 1 , . . . , a 2 k )] ≡ c[t 1 , (a 1 1 , . . . , a 1 k )] c[t 2 , (a 2 1 , . . . , a 2 k )] by Proposition 4.3. Thus, we have r[t, (a 1 , . . . , a k )] ≡ c[t, (a 1 , . . . , a k )].

We allow v i (or v j ) to be equal to vi (or vj).

(2) G has a red-blue alternating Eulerian directed trail.

Using Lemma 6.1, we can proceed same as Theorem 1.1. We conclude with one question. A digraph D is an out-tree if D is an oriented tree with only one vertex of in-degree zero (called the root). The vertices of out-degree zero are called leaves of D. The Min Leaf Out-Branching problem asks for a given digraph D and an integer , whether there is a spanning out-tree of D with at most leaves. This problem generalizes Hamiltonian Path by taking = 1. Ganian, Hlinený, and Obdrzálek [10] showed that there is a n 2 O(k) -time algorithm for solving Min Leaf Out-Branching problem, when a clique-width k-expression of a digraph D is given. We ask whether it is possible to drop down the exponential blow-up 2 O(k) to O(k).

M. Kanté are supported by French Agency for Research under the GraphEN project (ANR-15-CE-0009). O. Kwon is supported by the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation programme (ERC consolidator grant DISTRUCT, agreement No. 648527).

irredundant k-expression in linear time, we may assume that G is given with an irredundant k-expression. Let φ be the given irredundant k-expression defining G, and T be the syntactic tree of φ. For every node t of T , let G t be the subgraph of G defined at node t, and for each i ∈ {1, . . . , k}, let G t [i] be the subgraph of G t induced on the vertices with label i.

For each node t and each vector (a 1 , . . . , a k ) ∈ {0, 1, . . . , n} k , let c[t, (a 1 , . . . , a k )] be the set of all graphs F on the vertex set {v 1 , . . . , v k } where

• F = Aux(P) for some k-labeled path-partition P of G t ,

• for each i ∈ {1, . . . , k}, a i is the degree of v i in F . Instead of computing the whole set c[t, (a 1 , . . . , a k )], we will compute a subset r[t, (a 1 , . . . , a

We explain how to decide whether G has a Hamiltonian cycle. Let t root be the root node of T , and let t lastjoin be the node that is a node taking the disjoint union of two graphs and closest to the root node. We can observe that G has a Hamiltonian cycle if and only if there are some node t between t root and t lastjoin with child t and a path-partition P of G t such that

• t is a join node labeled by η i,j ,

• deg Aux(P) (v i ) = deg Aux(P) (v j ) > 0 and deg Aux(P) (v i ) = 0 for all i ∈ {1, . . . , k} \ {i, j}. This is equivalent to that c[t , (a 1 , . . . , a k )] = ∅ for some vector (a 1 , . . . , a k ) where a i = a j > 0 and a i = 0 for all i ∈ {1, . . . , k} \ {i, j}. Therefore, if there is a Hamiltonian cycle, then r[t , (a 1 , . . . , a k )] = ∅ for such a tuple of t, t , and (a 1 , . . . , a k ), and we can correctly say that G has a Hamiltonian cycle, and otherwise, there are no such tuples, and we can correctly say that G has no Hamiltonian cycles. Now, we explain how to recursively generate r[t, (a 1 , . . . , a k )].

(1) (Creation of a vertex v with label i) If a i = 2 and a j = 0 for all j = i, then c[t, (a 1 , . . . , a k )] consists of one graph on the vertex set {v 1 , . . . , v k } with a loop incident with v i , and otherwise, it is an empty set. So, we add the graph ({v 1 , . . . , v k }, {v i v i }) to r[t, (a 1 , . . . , a k )] when a i = 2 and a j = 0 for all j = i, and set r[t, (a 1 , . . . , a k )] := ∅ otherwise.

(2) (Disjoint union node with two children t 1 and t 2 )

Since every path-partition of G t is obtained by taking the disjoint union of a path-partition of G t 1 and a path-partition of G t 2 , we have

We assign

Suppose t is a join node with the child t such that each vertex with label i is joined to each vertex with label j. By applying Propositions 4.1 and 5.3 recursively, we obtain that r[t, (a 1 , . . . , a k ) ≡ c[t, (a 1 , . . . , a k )].

Lastly, suppose t is a renaming node with a child t such that the label of each vertex with label i is changed to j. We may assume a i = 0. In that case, by Propositions 4.2 and 5.3, we have r[t, (a 1 , . . . , a k ) ≡ c[t, (a 1 , . . . , a k )].

♦

By Claim 1, we correctly update a representative set r[t, (a 1 , . . . , a k )] of c[t, (a 1 , . . . , a k )] for each pair of t and (a 1 , . . . , a k ). Therefore, we can correctly decide whether G has a Hamiltonian cycle or not using sets r[t, (a 1 , . . . , a k )].

Running time. Each constructed set r[t, (a 1 , . . . , a k )] consists of at most 2 O(k log k) graphs, as we keep at most one graph for each partition of {v 1 , . . . , v k } after the reduce operation. For the node taking the disjoint union of two graphs, for a fixed vector (a 1 , . . . , a k ), there are n O(k) ways to take two vectors A 1 and A 2 such that

For the node joining edges between two classes, the value can be taken from 0 to n. Since each operation +(i, j) take

for the relabeling nodes. Therefore, we can solve Hamiltonian Cycle for G in time n O(k) .

More applications and Concluding Remarks

We discuss two variants of Hamiltonian Cycle, where we can apply the same technique.

Let q be a positive integer. The q-Cycle Covering problem asks for a given graph G whether there is a set of at most q pairwise vertex-disjoint cycles in G whose union contains all vertices of G. Definitely, 1-Cycle Covering is the Hamiltonian Cycle problem. In the q-Cycle Covering problem, we relax the definition of path-partitions so that it may contain at most q cycles, and we keep the number of cycles in the pathpartition. Also, we define its auxiliary multigraph Aux(P) using those remaining paths. One can easily check that two such modified path-partitions P 1 and P 2 are equivalent for q-Cycle Covering if they contain the same number of cycles and Aux(P 1 ) Aux(P 2 ).

The second application is for Directed Hamiltonian Cycle. Clique-width was also considered for directed graphs by Courcelle and Olariu [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF]. The clique-width operations for directed graphs are the same as for the undirected graphs, except the one that add edges between two label classes, defined as follows:

(3 * ) Adding an arc (u, v) for each vertex u with label i to each vertex v with label j (i = j, denoted by η i,j ). The clique-width of a directed graph G is the minimum number of labels needed to construct G using these operations. In this case, we use directed auxiliary multigraphs. Similar to Lemma 3.1, we can show the following. Lemma 6.1. Let G be a connected directed multigraph whose arcs are colored by red and blue. Then the following are equivalent.

(1) For every vertex v, the number of blue edges leaving v is the same as the number of red edges entering v, and the number of red edges leaving v is the same as the number of blue edges entering v.