In this section, we show how we proved the theorems stated in the Results section.
Proof of Theorem 1
We first present an upper bound on the size of an optimal solution of ChrP to show that ChrP is in NP. Then, we prove that ChrP is NP-hard.
Lemma 1 Let G = (V, E) be a chromosome graph. Also, let C be a multi-set of chromosomes on G that minimizes W(C) such that |c
i
| ≤ λ
i
for c
i
∈ C. Then, C has at most U(4|V| + 1)(|E| + 1) edges.
Proof Let c ∈ C be a chromosome in C. We define an edge e in c as non-excessive if e ∈ E
S
and m(C, e) ≤ n(e), and excessive otherwise. Let t
c
be the number of non-excessive edges visited by c. If t
c
>0, c can be written as c = p1e1p2e2 ... e
t
cp
t
c+1, where e
k
(1 ≤ k ≤ t
c
) is a non-excessive edge and p
k
(1 ≤ k ≤ t
c
+1) is a possibly empty path that contains only excessive edges (Figure 6). If p
k
contains a cycle as its subpath, the cycle can be removed to decrease W(C), a contradiction. Accordingly, p
k
does not contain a cycle. This implies that p
k
visits at most 2|V| vertices and, thus, 2|V| edges. Therefore, at most, 4|V | excessive edges are visited for each non-excessive edge. Note that a non-excessive edge e can be visited, at most, n(e)-times. Therefore, .
Chromosomes such that t
c
= 0 can exist only if they contribute to the decrease of the first or the second term of W(C) defined by (1). Accordingly, the number of such chromosomes is, at most, n
N
+n
T
. In addition, a chromosome c, such that t
c
= 0, does not contain any cycles because such a cycle can be removed to decrease W(C). Therefore, at most, c visits 2|V| vertices and, thus, 2|V| edges.
Consequently, C contains, at most, 2|V|(n
N
+n
T
) + (4|V| +1) P
e
***
E
S n(e) ≤ U(4|V |+1)(|E|+1) edges.
Lemma 2 The problem ChrP is in NP.
Proof Once an optimal solution C is given, whether or not W(C) is greater than a given constant can be determined in O(|V ||E|) time by Lemma 1. □
Lemma 3 The problem ChrP is NP-hard.
Proof The Hamiltonian Cycle problem (HC) is a problem of finding a cycle that visits each vertex of a graph exactly once, and is a well-known NP-complete problem [34]. Here, we reduce HC to ChrP. Consider HC on a directed graph H = (V', E'), where is a set of vertices and E' is a set of edges. We construct a chromosome graph G = (V, E) from H (Figure 7), where
is a set of vertices, and E = E
S
∪ E
L
∪ E
R
is a set of edges. Here, E
S
consists of
E
R
consists of
E
L
consists of
In addition, we set n
N
= 1, n
T
= 0, and λ
i
= |V'| + 3 for any i. Then, we prove that H has a Hamiltonian cycle if, and only if, ChrP on G has a solution C such that W(C) = 0. Suppose that h is a Hamiltonian cycle on H. Let c be a chromosome that begins with and then visits in the order that edges appear in h from i' = 1, and finally ends with . Then, a set of a single chromosome C = {c} satisfies W(C) = 0 and .
Conversely, let C be a solution of ChrP that satisfies W(C) = 0. Because (2) holds, |C| = 1, Tr(C) = 0, and m(C, e) = n(e). Let c be the only chromosome in C. Because n(e1,1) = 2 and n(ei,1) = 1 for 2 ≤ i ≤ |V'|, a path that visits vertices in the order that ei,1 appears in c is a Hamiltonian cycle on H. □
Theorem 1 directly follows Lemma 2 and 3.
Proof of Theorem 2
Circulation on a bidirected graph
Let G = (V, E) be a bidirected graph, and a
v,e
for v ∈ V and e ∈ E be an integer such that
Also let b
v
be an integer defined for each v ∈ V, Z be the set of non-negative integers, and l(e) and u(e) be two non-negative integers assigned to each edge e ∈ E called a lower bound and an upper bound, respectively. Unless otherwise specified, in this study l(e) = 0 and u(e) = ∞.
Definition 5 A bidirected flow (biflow) [19, 20] is a mapping f : E → Z such that
(4)
(5)
The cost of f is defined as W(f) = ∑e∈Ew(f, e), where w(f, e) is a cost of f on e ∈ E. A circulation is a biflow such that b
v
= 0 for any v ∈ V.
Circular chromosome graph
Definition 6 (Circular chromosome graph) Let G = (V,E) be a chromosome graph, and let v
N
and v
T
be new vertices. In addition, let E
N
be a set of the following edges: for 1 ≤ i ≤ N
C
,
and
Also, let E
D
be a set of the following edges for e ∈ E
S
∪ {e
N
, e
T
}:
where and are vertices at the ends of e. The graphis called a circular chromosome graph.
See Figure 8 for an example. Let n(e
N
) = n
N
and n(e
T
) = n
T
. For e ∈ E
S
∪{e
N
, e
T
}, we set l(e) = n(e), , and . For e ∈ E
L
∪ E
R
, we set l(e) = 1. We also set l(e
t
(v)) to 1 for v ∈ V
W
because these edges have to be visited in the solution.
Lemma 4 Let w(f, e) = |e|f(e) and W0 = Q
N
n
N
+ Q
T
n
T
+ ∑e∈E|e|n(e). For any multi-set C of chromosomes on G, there is a circulation f on such that
(6)
Conversely, for any circulation f on that minimizes W ( f ), there is a multi-set C of chromosomes on G that satisfies (6). In addition, C can be calculated in time.
Let E+ = {e ∈ E ∪ E
N
∪ E
D
|l(e) ≥ 1 or n(e) ≥ 1}. Note that has only one weakly connected component because of WCC.
Proof First, we show that for any multi-set C of chromosomes on G, there exists a circulation f on that satisfies (6). Let End(v) be the number of chromosomes that begin or end with v. Consider the following f:
Then, f is a circulation on because f satisfies (4) and (5). Thus, we observe that
for e ∈ E
S
, and
Therefore, because |e| = 0 for e ∈ E
L
∪ E
R
∪{e
t
(v)|v ∈ V} and w(f, e) = |e|f(e), f satisfies (6).
Conversely, let f be a circulation on that minimizes W(f). We show how to construct a multi-set C of chromosomes on G that satisfies (6).
First, for e ∈ E
S
∪ {e
N
, e
T
}, we subtract from f(e), and also set to 0.
Second, we construct a set R of cycles such that m(R, e) = f(e) for any edge e in . For directed graphs, the flow decomposition theorem [35] ensures that such R can be obtained in time. This is also true for bidirected graphs.
Third, we merge cycles in R. Whenever a vertex is shared by two cycles in R, they are merged into a single cycle. Because of WCC, consists of only one weakly connected component. This implies that all cycles that contain edges in E+ can be merged into a single cycle. Note that any r ∈ R contains at least one edge in E+, because otherwise r can be removed to decrease W(f). Therefore, all cycles in R can be merged into a single cycle .
Finally, let C be a multi-set of paths generated by removal of v
N
, v
T
, and edges in E
N
from . Because c ∈ C is connected to edges in E
N
in , the first and last edge of c is in E
S
due to the directions of these edges. Accordingly, c is a chromosome. Therefore, C is a multi-set of chromosomes on G.
All of these steps can be completed in time. In addition, we observe that the following equations hold:
Accordingly, for e ∈ E
S
, and
Therefore, C satisfies (6).
By Lemma 4, the solution of ChrW can be obtained by calculating a circulation f on that minimizes W(f). By Lemma 1, setting u(e) = U(4|V| + 1)(|E| + 1) does not affect the solution. In addition, |E
N
| = O(|E|) and |E
D
| = O(|E|). Accordingly, the circulation f can be calculated in O(|E|2 log |V| log |E|) time by using Gabow's algorithm [20]. Therefore, the optimal solution can be calculated in O(|E|2 log |V| log |E|) time.
Proof of Theorem 3
ChrL is in NP because of Lemma 1.
Here, we show that the well-known PARTITION problem [34] can be reduced to ChrL. Let n be a positive integer and S = {i ∈ Z|1 ≤ i ≤ n}. Also, let s(i) be an integer function defined for i ∈ S such that Yasuda and Miyano Page 9 of 11 s(i) > 0, and SΣ = ∑i∈Ss(i). The problem of finding a subset S' ⊂ S such that
is called the partition problem (hereafter referred to as PARTITION) [34]. It is well known that PARTITION is NP-complete. We reduce PARTITION to ChrL by constructing a chromosome graph whose solution for ChrL contains two chromosomes that correspond to two subsets of a solution of PARTITION.
Let G = (V, E) be a chromosome graph, where
is a set of vertices, and E = E
S
∪ E
L
∪ E
R
be a set of edges. Here, E
S
consists of
In addition, E
R
consists of
and E
L
consists of
We set λ
i
= 10SΣ for any i ≥ 1, Q
N
= Q
T
= 100SΣ, n
N
= n+2, and n
T
= 0. See Figure 9 for an example. In addition, we set V
W
to V5 ∪ V3, and E
W
to E by making all edges in E
L
∪ E
R
required so that G satisfies WCC.
We show that PARTITION for S has a solution S' ⊂ S if, and only if, there exists a solution C of ChrL such that W(C) = 0. First, suppose that PARTITION has a solution S'. Let r
S'
be a cycle generated by merging cycles for i ∈ S'. We define rS-S'in the same way. Consider a multi-set C = {c1,..., cn+2}, where c
i
∈ C is a chromosome on G such that
Then, W(C) = 0 because |C| = n + 2, Tr(C) = 0, and m(C, e) = n(e) for e ∈ E
S
. In addition, C visits all required edges. Furthermore, |c
i
| = 10Σ ≤ λ
i
for 1 ≤ i ≤ n + 2.
Conversely, suppose that ChrL for G has an optimal solution C that satisfies W(C) = 0. Because W(C) = 0, we obtain |C| = n + 2, Tr(C) = 0, and m(C, e) = n(e) for e ∈ E. Because ∑e∈E|e|n(e) = 10(n + 2)SΣ, |c| = 10Σ for each c ∈ C. Let c
i
be a chromosome that begins with ei,0 for 1 ≤ i ≤ n. The other two chromosomes are denoted by cn+1 and cn+2. Then, c1 begins with . Suppose that c1 does not visit . Then, there is a chromosome c
i
that visits , whose previous edge has to be e1,1 in c
i
. Therefore, for some paths p1 and p2,
(7)
Because of (7), . Therefore, . We modify C so that
The modified C still satisfies the required conditions. After this modification is repeated for 2 ≤ i ≤ n until no more modifications can be applied, C satisfies for 1 ≤ i ≤ n. Another chromosome exists that visits ei,1 for each 1 ≤ i ≤ n, which is one of cn+1 and cn+2. Let S' = {i|m(cn+1, ei,1) >0}. Then, ∑i∈S's(i) = 10SΣ − (9/2+5)SΣ = 1/2SΣ. Therefore, S' is a solution of PARTITION.
Comments
View archived comments (2)