1. Introduction
Kidney transplantation is one of the best treatment methods for those who are suffering from endstage renal failure. Unfortunately, it is quite difficult for some patients to find suitable kidneys because of a lack of deceased donors and incompatibility of their blood and tissue types with willing donors. Although some patients can buy living donor kidneys from marketplaces, it is commonly considered to be unethical to commercialize of human organs. Moreover, it is in fact illegal in most countries. Living donation is regarded as legal as long as it occurs as a gift instead of a commodity to make profit. But it often arises that a donor who in general is a relative or friend of a patient is willing to donate a kidney to the patient even though their kidneys are not physiologically compatible such that the kidney transplantation cannot be carried out. Therefore, it is a significant research topic to effectively utilize livingdonor kidneys such that their incompatible intended recipients can obtain one compatible kidney from these livingdonor kidneys by exchanging. In 1986, Rapaport [
1] first presented the idea of kidney paired donation where two incompatible patientdonor pairs reciprocally exchange the donors’ kidneys so that two patients respectively obtain a compatible kidney, where an incompatible patientdonor pair represents a patient and his willing but incompatible donor. Since then, kidney exchange programs have developed rapidly and have already been established in some countries, for example, the USA, the UK, Turkey, Switzerland, and South Korea [
2].
The Kidney Exchange problem (KEP) is the central issue of kidney exchange programs from a computational point of view. In a set of incompatible patientdonor pairs, the KEP is to find the exchanges with the maximum collective benefit such that each patientdonor pair of the exchanges can donate a kidney to some pair and receive a compatible kidney from another pair. The collective benefit is usually measured by the total number of possible kidney transplants [
3,
4,
5,
6,
7,
8]. From a graph theory perspective, as a type of barter exchange, kidney exchange is implemented by cycles comprising patientdonor pairs, where each donor in a pair donates a kidney to the patient in the next pair. Theoretically speaking, long cycle exchanges are better, since they are beneficial in improving the chances that more incompatible pairs are contained into the exchanges. However, the length of cycles must be limited in a certain range for the following reasons. First, to ensure an exchange cycle is executed successfully, all operations should be performed simultaneously so as to reduce the risk that a donor might break his promise after his incompatible patient has obtained a kidney before he donates his kidney. Long cycle exchanges may bring substantial logistical difficulties because the number of personnel and facilities required for simultaneous operations is too large. Second, all exchanges of a cycle will be cancelled if the final crossmatch test before operations detects new incompatibilities. Hence, longer cycles may cause greater logistical complexity and greater exchange failure risk. As a result, the length of cycles is generally limited in the range
$[2,L]$, where
L is a given constant and usually
$2\le L\le 5$. Therefore, the KEP can be regarded as finding an optimal packing of vertexdisjoint cycles from a given directed graph such that the length of each cycle is at most
L.
When considering altruistic donors, kidney exchange allows the inclusion of chains which start from altruistic donors and end with either a pair or a patient in a wait list. The KEP becomes more complex, and can be modelled as finding an optimal set of vertexdisjoint cycles and chains from the directed graph of given instance such that the length of each cycle is at most
L [
5]. In a chain exchange, if the donor of a patientdonor pair backs out of the chain after his patient has received a transplant, no pair in the remaining tail of the planned chain suffers irreparable harm. Hence, a chain exchange can be conducted nonsimultaneously [
9] and the length of a chain exchange can be much longer than that of a cycle exchange [
10,
11]. But a donor in a nonsimultaneous exchange still has the risk of reneging, which can make some patientdonor pairs lose exchange opportunity, thus in some literatures the limitation of chain length is still considered, e.g., the same length constrained for chains and cycles in [
12]. An altruistic donor can be seen as a patientdonor pair with a “dummy” patient which is compatible with each donor of other incompatible patientdonor pairs. Thus, in this way, chain exchange and cycle exchange can be treated similarly in optimization models. In this paper, we mainly address the KEP without chains.
Over the past decades, there has been a rich literature on models, market mechanisms, and optimal algorithms for the KEP. There are many different variations of the KEP when considering different scenarios and limitations. The reader is referred to surveys on KEP variants [
2,
13]. In this section, we mainly describe the previous work of the KEP from a computational point of view. The complexity of the KEP was investigated in [
3,
4], and [
14]. When
$L\ge 3$, the KEP is NPhard, meaning that it is unlikely there exists a polynomial time exact algorithm.
For the KEP, most exact algorithms are based on Integer Programming (IP) approaches, and research work focuses mainly on IP formulations. Roth et al. [
5] proposed two noncompact formulations of IP for the KEP: the edge formulation and the cycle formulation with exponential numbers of constraints and variables, respectively. Abraham et al. [
3] compared the two formulations and showed that the cycle formulation is tighter than the edge formulation when the cycle size is limited. They presented an incremental formulation approach to solve the cycle formulation based on enhancing the column generation method and the branchandprice search technique [
15]. To reduce the number of constraints and variables of the two formulations from exponential to polynomial, Constantino et al. [
2] gave two compact formulations for the KEP: the edge assignment formulation and the extended edge formulation, and showed by computational analysis that when the scale of KEP becomes large, the compact formulations have more merits than noncompact ones. Klimentova et al. [
16] presented the disaggregated cycle decomposition model which is regarded as a DantzigWolfe decomposition [
17] of the extended edge formulation proposed in [
2], and solved the model by a branchandprice method. Recently, Dickerson et al. [
18] introduced models where chains are represented by only a polynomial number of positionindexed edge variables which bring about great improvements on running time for the KEP with chains. MakHau [
19] studied the edge formulations for the KEP with and without chains and presented some polyhedral results. For a detailed review of various IP approaches to solving the KEP, see a recent survey of MakHau [
20].
Approximation technique is also one of the main approaches of solving the KEP. Biró et al. [
4] proved the APXcompleteness of the maximum size KEP when
$L=3$, and gave an
$(L1+\epsilon )$approximation algorithm for the maximum cycle weight KEP and an
$(L/2+\epsilon )$approximation algorithm for the maximum size KEP (for any
$\epsilon >0$). Luo et al. [
21] proved three inapproximability results for the KEP in a weighted graph. It is NPhard to approximate the KEP within
$\frac{14}{13}$ under a fixed integer
$L>3$ and within
$\frac{434}{433}$ when
$L=3$. In an unweighted graph, it is NPhard to approximate the KEP within
$\frac{698}{697}$ when
$L=3$. Jia et al. [
22] presented near optimal approximation algorithms by combining heuristics and local search technique.
Recently, some researchers started studying exact exponential algorithms and parameterized algorithms for the KEP. For the maximum cycle weight KEP with
$L=3$, an
${O}^{*}({2}^{k})$ FPT algorithm [
4] was proposed by turning it into a maximum weight matching problem, where
k is the minimum size of an arc set
S where there is at least one arc in
S from each 3cycle of the instance. However, the problem finding an arc set
S with the minimum size is NPhard. Recently, Xiao and Wang [
8] studied the variant of the KEP which contains chain exchanges and allows some compatible patientdonor pairs to participate in exchanges to find better matched kidneys. They designed two
$O({2}^{n}{n}^{3})$ exact algorithms based on dynamic programming and subset convolution for the KEP with and without length constraints, respectively. Dickerson et al. [
23] contracted the representation of a compatibility graph by introducing a way to class the vertices in the graph into different types according to some actual meaning. Based on the number
k of vertex types, Xiao and Wang [
8] designed an FPT algorithm of running time
$O({2}^{O({k}^{2})}{k}^{2{k}^{2}}+n(n+m))$ for the KEP without length constraints by using decomposition technique.
Randomness is an essential resource for solving many computational problems, and randomization is a powerful tool for developing algorithms [
24,
25,
26,
27,
28,
29]. Recently, stochastic matching approaches have been applied to deal with the KEP [
30,
31]. In fact, stochastic methods can naturally describe many settings of barter exchange problems [
32,
33]. Thus, in the future stochastic approaches for the KEP will become an important research issue.
In this paper, we study randomized algorithms for the parameterized KEP without chains by the random partitioning technique [
24,
25] and the randomized algebraic technique [
26,
27,
28,
29]. For ease of description, in what following we use “KEP” to refer to the kidney exchange problem without chains. We consider the parameterized KEP involving only 2cycle and 3cycle exchanges (namely the case of
$L=3$), with respect to parameters that correspond to the numbers
${k}_{2}$ and
${k}_{3}$ of 2cycle exchanges and 3cycle exchanges, respectively. We note that the solution
P of a given instance of the KEP involves only 2cycle and 3cycle exchanges. Suppose that the vertex set of a given instance can be correctly split into two subsets
${S}_{1}$ and
${S}_{2}$, where the subset
${S}_{1}$ involves only 2cycle exchanges of
P and the subset
${S}_{2}$ involves 3cycle exchanges of
P. Then we can easily find these 2cycle exchanges in
${S}_{1}$ by transforming it into maximum matching problem and find these 3cycle exchanges in
${S}_{2}$ by utilizing an existing 3setpacking algorithm [
34]. Hence, we obtain a parameterized algorithm of running time
${O}^{*}({4.6}^{3{k}_{3}}\xb7{2}^{2{k}_{2}})$ by the random partitioning technique. For the case of
$L\ge 3$, we discuss the parameterized KEP with respect to the number
k of possible kidney transplants. Applying the randomized algebraic technique, we reduce the KEP to the multilinear monomial detection problem, and obtain an
${O}^{*}({2}^{(k+L)}{(k+L)}^{2}{L}^{3}{n}^{L})$ algorithm based on the results of Koutis and Williams [
27,
28,
29].
This paper is organized as follows.
Section 2 covers the preliminaries and notations, and introduces the formal definitions of the KEP without chains. In
Section 3 and
Section 4, we investigate the randomized algorithms for two parameterized models of the KEP, and we present two randomized FPT algorithms. Finally, in
Section 5 we give a short summary of our works and some future directions.
3. A Randomized Algorithm Based on Random Partitioning Technique
For the KEP, Roth [
5] showed that in a large population, all the gains from exchange can be obtained by using 2cycle, 3cycle and 4cycle exchanges. Especially, 2cycle and 3cycle exchanges capture almost all the gains from exchange, and their marginal contribution is significantly large. In practice, 2cycle and 3cycle exchanges are typically used, such as in the New England Program [
38] and the kidney exchange program of the United Network for Organ Sharing [
5]. In this section, we consider the maximum exchange size KEP whose exchanges is limited only 2cycle and 3cycle exchanges (namely
$L=3$). The model is defined as follows:
Parameterized KEP${}_{L=3}$ (pKEP${}_{L=3}$):
Input: a simple directed graph $D=(V,A)$, and two positive integers ${k}_{2}$ and ${k}_{3}$;
Parameter:${k}_{2}$ and ${k}_{3}$;
Question: Is there a packing of vertexdisjoint cycles in D, comprising at least ${k}_{2}$ 2cycles and at least ${k}_{3}$ 3cycles?
Applying random partitioning technique, we design a randomized algorithm for the pKEP${}_{L=3}$. Given an instance $(D,{k}_{2},{k}_{3})$ of the pKEP${}_{L=3}$, we stochastically divide the vertex set V into two subsets ${V}_{2}$ and ${V}_{3}$ by putting v into ${V}_{2}$ or ${V}_{3}$ with probability $1/2$ for each vertex $v\in V$. When the instance is a Yesinstance, there exists a proper partition such that ${k}_{2}$ 2cycles are in $D\left[{V}_{2}\right]$ and ${k}_{3}$ 3cycles are in $D\left[{V}_{3}\right]$. We can easily find a packing with ${k}_{2}$ vertexdisjoint 2cycles in $D\left[{V}_{2}\right]$ through transforming into the maximum matching problem of an undirected graph and invoking the corresponding algorithm, and find a packing with ${k}_{3}$ vertexdisjoint 3cycles in $D\left[{V}_{3}\right]$ by transforming into the 3setpacking problem and invoking the corresponding algorithm. Algorithm 1 RKEP$(D,{k}_{2},{k}_{3})$ is the detailed randomized algorithm of the pKEP${}_{L=3}$ based on the random partitioning technique, where c is a constant which is applied to adjust the probability that Algorithm RKEP$(D,{k}_{2},{k}_{3})$ fails.
Algorithm 1 RKEP$(D,{k}_{2},{k}_{3})$ 
Input: a directed graph $D=(V,A)$, positive integer c, and two positive integers ${k}_{2}$ and ${k}_{3}$; Output: a packing of vertexdisjoint cycles in D, comprising at least ${k}_{2}$ 2cycles and at least ${k}_{3}$ 3cycles, otherwise return no solution exists.
 1:
$times$=0;  2:
while$times\le c\xb7{2}^{3{k}_{3}+2{k}_{2}}$do  3:
$times=times+1$;  4:
${V}_{2}={V}_{3}=\varnothing $;  5:
for all $v\in V$ do  6:
put v into ${V}_{2}$ or ${V}_{3}$ with probability $1/2$;  7:
end for  8:
for the induced subgraph $D\left[{V}_{2}\right]$, find a packing ${P}_{2}$ of at least ${k}_{2}$ vertexdisjoint 2cycles;  9:
if no ${P}_{2}$ exists then  10:
goto next loop iteration;  11:
end if  12:
for the induced subgraph $D\left[{V}_{3}\right]$, find a packing ${P}_{3}$ of at least ${k}_{3}$ vertexdisjoint 3cycles;  13:
if no ${P}_{3}$ exists then  14:
goto next loop iteration;  15:
end if  16:
return ${P}_{2}\cup {P}_{3}$;  17:
end while  18:
return no solution exists;

Theorem 1. For the pKEP${}_{L=3}$, there exists a randomized algorithm of running time ${O}^{*}({4.6}^{3{k}_{3}}\xb7{2}^{2{k}_{2}})$ which, for any given constant $c>0$, produces the desired packing in a Yesinstance with probability at least $1\frac{1}{{e}^{c}}$.
Proof. For the pKEP${}_{L=3}$, if an instance $(D,{k}_{2},{k}_{3})$ is a Noinstance, then no matter how the vertex set V is split, we cannot find a required packing in ${V}_{2}$ and ${V}_{3}$. Thus, no solution to the pKEP${}_{L=3}$ will be returned in line 18 of Algorithm RKEP$(D,{k}_{2},{k}_{3})$.
Now assume that the given instance $(D,{k}_{2},{k}_{3})$ is a Yesinstance and P is a solution to the pKEP${}_{L=3}$. Then there are ${k}_{2}$ vertexdisjoint 2cycles and ${k}_{3}$ vertex disjoint 3cycles in $D\left[P\right]$. Let ${P}_{2}$ and ${P}_{3}$ be the vertex sets of ${k}_{2}$ vertexdisjoint 2cycles and ${k}_{3}$ vertex disjoint 3cycles, respectively. Thus, ${P}_{2}=2{k}_{2}$ and ${P}_{3}=3{k}_{3}$. By random partitioning, if the vertex set V can be correctly divided into ${V}_{2}$ and ${V}_{3}$ such that ${P}_{2}\subseteq {V}_{2}$ and ${P}_{3}\subseteq {V}_{3}$, then we can obtain ${P}_{2}$ by maximum matching algorithm for ${V}_{2}$ in line 8 and obtain ${P}_{3}$ by 3setpacking algorithm for ${V}_{3}$ in line 12. Thus in line 16, ${P}_{2}\cup {P}_{3}$ can be correctly returned.
We analyze the probability that RKEP$(D,{k}_{2},{k}_{3})$ fails to find a packing P in D. Since each vertex $v\in V$ is put into ${V}_{2}$ or ${V}_{3}$ with probability $1/2$ in each while loop, the vertices ${V}_{2}$ and ${V}_{3}$ can be correctly partitioned in line 5–7 with probability ${(\frac{1}{2})}^{2{k}_{2}}\xb7{(\frac{1}{2})}^{3{k}_{3}}={2}^{2{k}_{2}3{k}_{3}}$. Thus, the probability in each loop iteration is $1{2}^{2{k}_{2}3{k}_{3}}$ such that there exists at least one vertex $v\in {P}_{2}$ which is put into ${V}_{3}$ or at least one vertex $u\in {P}_{3}$ which is put into ${V}_{2}$. Hence, after executing $c\xb7{2}^{2{k}_{2}+3{k}_{3}}$ loops, the probability that ${P}_{2}$ and ${P}_{3}$ are not divided correctly is ${(1{2}^{2{k}_{2}3{k}_{3}})}^{c\xb7{2}^{2{k}_{2}+3{k}_{3}}}={({(1\frac{1}{{2}^{2{k}_{2}+3{k}_{3}}})}^{{2}^{2{k}_{2}+3{k}_{3}}})}^{c}\le \frac{1}{{e}^{c}}$. Therefore, by the random partitioning operation, there exist ${P}_{2}\subseteq {V}_{2}$ and ${P}_{3}\subseteq {V}_{3}$ with a probability at least $1\frac{1}{{e}^{c}}$.
We analyze the running time of RKEP
$(D,{k}_{2},{k}_{3})$. In each loop iteration, lines 5–7 run in
$O(V(D))$ time. For line 8, we transform it into the maximum matching problem of an undirected graph
G. Graph
G can be constructed in time
$O({V}_{2}{}^{2})$ in the following way: Let
$V(G)={V}_{2}$. For
${v}_{i},{v}_{j}\in {V}_{2}$, if
$({v}_{i},{v}_{j})\in A(D\left[{V}_{2}\right])$ and
$({v}_{j},{v}_{i})\in A(D\left[{V}_{2}\right])$, then there is an edge
$\{{v}_{i},{v}_{j}\}\in E(G)$. Line 8 takes
$O(E(G)\sqrt{{V}_{2}})$ time by applying Edmonds’ algorithm [
39] for the maximum matching problem of graph
G. For line 12, we find a packing of
${k}_{3}$ vertexdisjoint 3cycles in
${V}_{3}$ by transforming into the 3setpacking problem and invoking the corresponding algorithm in
${O}^{*}({2.3}^{3{k}_{3}})$ [
34]. Thus, the running time of Algorithm 1 RKEP
$(D,{k}_{2},{k}_{3})$ is
${O}^{*}({4.6}^{3{k}_{3}}\xb7{2}^{2{k}_{2}})$. ☐
4. A Randomized Algorithm Based on Algebraic Technique
Efficient kidney exchange can be achieved by 2cycle and 3cycle exchange. However, with the progress of technology, cycle exchange with length more than 3 has proved useful in kidney exchange. Limitations on the maximum length of cycles may be weakened in the future. It is reported that a 9cycle exchange was performed successfully in 2015 [
20]. In this section, we discuss the KEP with
$L\ge 3$ parameterized by the size of kidney transplants. The parameterized model is defined as follows:
Parameterized KEP (pKEP):
Input: a simple directed graph $D=(V,A)$, and a positive integer k;
Parameter:k;
Question: In graph D, is there a packing S of vertexdisjoint cycles such that $V(S)\ge k$ and the length of each cycle is in the range $[2,L]$?
Here,
L is a fixed integer at least 3. For an integer
t and a packing
S, if
$V(S)=t$ and
$t\ge k$, then
S is called a solution set of size
t for the
pKEP.
By the above definition, the
pKEP is a special class of the set packing problem. For the set packing problem, most work has focused on the case that each set has the same size, such as the deterministic time
${O}^{*}({2.3}^{3k})$ algorithm for the 3set
kpacking problem [
34] and the randomized algorithm with time
${O}^{*}({2}^{mk})$ for the
mset
kpacking problem [
27]. However, so far relatively little research has been carried out on the set packing problem such as the
pKEP which the size of each set is limited in a range
$[2,L]$. In the section, we develop a randomized algorithm for the
pKEP based on the algebraic technique, introduced by Koutis in [
27]. Developed by Koutis and Williams [
28,
29], the randomized algebraic technique has been successfully applied to some graph problems and counting problems [
26,
40,
41]. An outstanding example is the improved algorithm with running time
$O({1.657}^{n})$ for the Hamiltonian path problem [
26], which resolves the open problem for half of a century whether there exists an
$O({c}^{n})$ time algorithm with some constant
$c<2$ for the Hamiltonian path problem. The main idea of the algebraic approach is as follows: By constructing an appropriate multivariate polynomial for a given problem instance, the problem is reduced to the multilinear monomial detection problem for the sumproduct expansion of the polynomial represented by a monotone arithmetic circuit, where a monomial
${x}_{1}^{{i}_{1}}{x}_{2}^{{i}_{2}}\cdots {x}_{k}^{{i}_{k}}$ whose degree is
${\sum}_{j=1}^{k}{i}_{j}$ is called multilinear if each
${i}_{j}$$(1\le j\le k)$ is either 0 or 1, and the degree of a polynomial is the maximum degree of all monomials in its expansion. A monotone arithmetic circuit is a directed acyclic graph in which each vertex of indegree 0 is an input gate labeled either with variable or a nonnegative real constant, the other vertices have indegree 2 and are labeled either “+” (addition gates) or “×” (multiplication gates), and there is exactly one vertex with outdegree 0 which is called output gate. A polynomial is represented by a monotone arithmetic circuit if it can be computed by the output gate of the circuit. The multilinear monomial detection problem is to decide whether a polynomial
$P(X)$ which can be represented by an arithmetic circuit contains a multilinear monomial of degree at most
k in its sumproduct expansion. Koutis and Williams gave randomized algorithms for multilinear monomial detection problem in [
27] and [
29], respectively. In [
28], they extended their methods and gave Lemma 1 which is rephrased as follows in terms of our notation.
Lemma 1 (see Lemma 1 in [
28])
. Let X be a variable set, z be an extra variable, and $P(X,z)$ be a polynomial represented by a monotone arithmetic circuit of size $s(n)$. Assume that the sumproduct expansion of $P(X,z)$ is expressed the form ${\sum}_{i\in \mathbb{N}}{Q}_{i}(X){z}^{i}$. There is a randomized algorithm that on every $P(X,z)$ runs ${O}^{*}({2}^{k}{t}^{2}s(n))$ time, outputs "YES" with high probability if ${Q}_{t}(X)$ contains a multilinear monomial of degree at most k, and always outputs "NO" if there is no multilinear monomial of degree at most k in ${Q}_{t}(X)$. Our algorithm for the pKEP relies on Lemma 1. For a given directed graph $D=(V,A)$ of the pKEP, we construct a suitable polynomial $P(X,z)$ such that for a positive integer k, the coefficient of ${z}^{k}$ is a polynomial ${Q}_{k}(X)$ in the sumproduct expansion of $P(X,z)$, the degree of each monomial in ${Q}_{k}(X)$ is k, and each multilinear monomial in ${Q}_{k}(X)$ maps to a packing of vertexdisjoint cycle in $D=(V,A)$. Hence, we can prove that there is a solution set S of size k for the pKEP if and only if ${Q}_{k}(X)$ contains a multilinear monomial of degree k (see Lemma 2 below).
According to the above idea, we first construct a polynomial from the given instance. In a given directed graph $D=(V,A)$, let vertex set $V=\{{v}_{1},{v}_{2},\cdots ,{v}_{n}\}$, variable set $X=\{{x}_{1},{x}_{2},\cdots ,{x}_{n}\}$ and z be an extra variable. There is a onetoone mapping relationship between V and X which each vertex ${v}_{i}\in V$ is mapped to a product $z{x}_{i}$ for $i=1,\cdots ,n$. If ${v}_{{i}_{1}}\cdots {v}_{{i}_{j}}{v}_{{i}_{1}}$ form a directed cycle C in graph D, then define a monomial $\pi (C)=z{x}_{{i}_{1}}\cdots z{x}_{{i}_{j}}={z}^{V(C)}{x}_{{i}_{1}}\cdots {x}_{{i}_{j}}$. In graph D, let $\mathcal{C}$ denote the cycle set which contains all cycles of length in the range $[2,L]$, and $\mathcal{C}({v}_{i})$ denote a cycle set, each of which passes through vertex ${v}_{i}$. For graph D, we partition $\mathcal{C}$ into $\mathcal{C}({v}_{1}),\mathcal{C}({v}_{2}),\cdots ,\mathcal{C}({v}_{n})$ by the following Partitioning Operation.
Partitioning Operation 
 1:
$\mathcal{C}=\varnothing $;  2:
for each ${v}_{i}\in V$ do  3:
In graph D, find cycle set $\mathcal{C}({v}_{i})$ such that $\mathcal{C}({v}_{i})$ contains all directed cycles of length in $[2,L]$  4:
and each cycle in $\mathcal{C}({v}_{i})$ passes through ${v}_{i}$;  5:
$\mathcal{C}=\mathcal{C}\cup \mathcal{C}({v}_{i})$;  6:
$D=D[V(D)\left\{{v}_{i}\right\}]$;  7:
end for

In the Partitioning Operation, we find cycle set
$\mathcal{C}({v}_{i})$ by applying Tarjan’s algorithm for strongly connected components [
42]: find a strongly connected component by the depthfirst search starting vertex
${v}_{i}$ on graph
D, where the search depth is at most
L, and then find all cycles passing through
${v}_{i}$ by the backtracking algorithm. It takes
$O(V+E)$ time running Tarjan’s algorithm. By the Partitioning Operation, we obtain
$\mathcal{C}({v}_{1}),\mathcal{C}({v}_{2}),\cdots ,$ $\mathcal{C}({v}_{n})$ and
$\mathcal{C}$. We define
Let
$P(X,z)=P(\mathcal{C})$. If we view
z as an extra indeterminate, the sumproduct expansion of
$P(X,z)$ can be expressed as follows:
Since each vertex
${v}_{i}\in V$ is mapped to a product
$z{x}_{i}$ (where
${x}_{i}\in X$). From expressions (
1) and (
2), we know that if in the expansion expression (
3) of
$P(X,z)$ there is a term which contains
${z}^{k}$, then
${Q}_{k}(X)$ is a polynomial, where the degree of each monomial is
k. By the polynomial construction, we have the following lemma.
Lemma 2. For a given graph D of the pKEP, there is a solution set S of size k if and only if the polynomial ${Q}_{k}(X)$ contains a multilinear monomial of degree k.
Proof. (⇒): For a given instance of the pKEP, assume that S is a solution set of size k and it is comprised of the vertices in s mutually vertexdisjoint cycles of length in range $[2,L]$. We use ${\mathcal{C}}^{\prime}$ to denote the cycle set and have ${\mathcal{C}}^{\prime}\subseteq \mathcal{C}$. Let $\left\{{C}_{i}\right\}={\mathcal{C}}^{\prime}\cap \mathcal{C}({v}_{i})$ and ${s}_{i}=\leftV(\left\{{C}_{i}\right\})\right$, $1\le i\le n$. By the Partitioning Operation, we know that $\mathcal{C}({v}_{i})\cap \mathcal{C}({v}_{j})=\varnothing $ when $i\ne j$. Since the cycles in ${\mathcal{C}}^{\prime}$ are mutually vertexdisjoint, either $\left\{{C}_{i}\right\}=\varnothing $ or $\left\{{C}_{i}\right\}$ has only one cycle ${C}_{i}$ of length in range $[2,L]$, we also have ${s}_{i}=0$ when $\left\{{C}_{i}\right\}=\varnothing $ and ${s}_{i}=\leftV({C}_{i})\right$ when ${C}_{i}$ is a cycle. Thus, we have ${\sum}_{i=1}^{n}{s}_{i}=k$. For $1\le i\le n$, let $p({C}_{i})=1$ if $\left\{{C}_{i}\right\}=\varnothing $, or $p({C}_{i})=\pi ({C}_{i})$ if ${C}_{i}$ is a cycle in $\mathcal{C}({v}_{i})$. It follows from the above definition and expression (1) that $p({C}_{i})$ is a monomial term in $p(\mathcal{C}({v}_{i}))$. Let $p({\mathcal{C}}^{\prime})={\prod}_{i=1}^{n}p({C}_{i})$. Since the cycles in ${\mathcal{C}}^{\prime}$ are mutually vertexdisjoint and ${\sum}_{i=1}^{n}{s}_{i}=k$, $p({\mathcal{C}}^{\prime})={z}^{k}q(X)$ where $q(X)$ is a multilinear monomial of degree k. Hence, by expressions (1), (2) and (3), there is a degree k multilinear monomial $q(X)$ in the polynomial ${Q}_{k}(X)$.
(⇐): Assume that there is a monomial of the form ${z}^{k}q(X)$ in the sumproduct expansion of $P(X,z)$, where $q(X)$ is a multilinear monomial of degree k. Obviously, $q(X)$ is a monomial in ${Q}_{k}(X)$. It follows from expressions (1) and (2) that there exists an expression ${z}^{k}q(X)={\prod}_{i=1}^{n}{p}_{i}$ (where ${p}_{i}$ is corresponding to a term from $p(\mathcal{C}({v}_{i}))$) such that either ${p}_{i}=1$ or ${p}_{i}=\pi ({C}_{i})$ for some cycle ${C}_{i}\in \mathcal{C}({v}_{i})$. Let ${\mathcal{C}}^{\prime}=\left\{{C}_{i}\right{p}_{i}\ne 1,{p}_{i}=\pi ({C}_{i}),1\le i\le n\}$. Since $q(X)$ is a multilinear monomial of degree k, the cycles in ${\mathcal{C}}^{\prime}$ are mutually vertexdisjoint. Let ${s}_{i}$ denote the degree of monomial ${p}_{i}$, then ${s}_{i}=0$ when ${p}_{i}=1$, or ${s}_{i}=\leftV({C}_{i})\right$ when ${p}_{i}\ne 1$, and ${\sum}_{i=1}^{n}{s}_{i}=k$, namely, ${\sum}_{C\in {\mathcal{C}}^{\prime}}\leftV(C)\right=k$. By the Partitioning Operation, the length of each cycle in ${\mathcal{C}}^{\prime}$ is in the range $[2,L]$. Therefore, the vertex set of ${\mathcal{C}}^{\prime}$ is a solution of size k for the pKEP. ☐
For the pKEP, we require to decide whether there is a packing S of vertexdisjoint cycles of lengths in the range $[2,L]$ such that $V(S)\ge k$. We can prove the following Lemma 3.
Lemma 3. For a given graph D of the pKEP, if each polynomial ${Q}_{i}(X)$ for $k\le i\le k+L1$ does not contain any multilinear monomial of degree i, then there does not exist a solution S with $V(S)\ge k$ for the given instance.
Proof. By Lemma 2, we know that there is no solution of size in range $[k,k+L1]$ if each polynomial ${Q}_{i}(X)$ for $k\le i\le k+L1$ does not contain any multilinear monomial of degree i. Thus, we only prove there is no solution of size at least $k+L$ by contradiction. Assume that there is a solution S with $V(S)\ge k+L$ when each polynomial ${Q}_{i}(X)$ for $k\le i\le k+L1$ does not contain any multilinear monomial of degree i. Suppose that S is comprised of mutually vertexdisjoint cycles ${C}_{1},{C}_{2},\cdots ,{C}_{l}$ of length in range $[2,L]$ and $S=\{{C}_{1},{C}_{2},\cdots ,{C}_{l}\}$. Let ${S}_{max<k}\subset S$ be the cycle set whose $V({S}_{max<k})$ is maximum and $V({S}_{max<k})<k$. Thus, there is a vertexdisjoint cycle set ${S}^{\prime}={S}_{max<k}\cup \left\{{C}_{i}\right\}$ where ${C}_{i}\in S{S}_{max<k}$ and $V({S}^{\prime})\in [k,k+L1]$. Otherwise, $V({C}_{i})>L$ and it contradicts that $V({C}_{i})\in [2,L]$ for $1\le i\le l$. Thus, ${S}^{\prime}$ is also a solution of size $V({S}^{\prime})\in [k,k+L1]$. By Lemma 2, we can get that there is a polynomial ${Q}_{V({S}^{\prime})}(X)$ containing a multilinear monomial of degree $V({S}^{\prime})$. It contradicts the fact that each polynomial ${Q}_{i}(X)$ for $k\le i\le k+L1$ dose not contain any multilinear monomial of degree i. ☐
Now, we represent the polynomial
$P(X,z)$ by a monotone arithmetic circuit. First, we require
$n+2$ input gates for the variables set
X, variable
z and constant 1. For a directed cycle
C of length in the range
$[2,L]$, we represent monomial
$\pi (C)$ by at most
$(L1)$ “×” gates. Since there are at most
${\sum}_{i=2}^{L}\left(\right)open="("\; close=")">\genfrac{}{}{0pt}{}{n}{i}$ cycles in
$\mathcal{C}$, we need at most
$(L1){\sum}_{i=2}^{L}\left(\right)open="("\; close=")">\genfrac{}{}{0pt}{}{n}{i}$ “×” gates and at most
$n+{\sum}_{i=2}^{L}\left(\right)open="("\; close=")">\genfrac{}{}{0pt}{}{n}{i}$ “+” gates to represent all of
$p(\mathcal{C}({v}_{j}))$ for
$1\le j\le n$. At last, we need at most
n “×” gates to represent the products of all
$p(\mathcal{C}({v}_{j}))$ for
$1\le j\le n$. Since
${\sum}_{i=2}^{L}\left(\right)open="("\; close=")">\genfrac{}{}{0pt}{}{n}{i}$,the size
$s(n)$ of the whole circuit is
$O({L}^{2}{n}^{L})$. Based on Lemmas 1, 2 and 3, we can call the algorithm in [
28] to decide whether in
$P(X,z)$ there is polynomial
${Q}_{i}(X)$ for
$k\le i\le k+L1$ which contains a multilinear monomial of degree
i. If it exists, then graph
D has a solution for the
pKEP and return “YES”. Otherwise, it returns “NO”. By Lemma 1, it takes time
${O}^{*}({2}^{i}{i}^{2}{L}^{2}{n}^{L})$ to decide whether there exists a polynomial
${Q}_{i}(X)$ containing a multilinear monomial of degree
i, and we need do this at most
L times. Hence, the total time of the algorithm is
$T(n)={O}^{*}({2}^{(k+L)}{(k+L)}^{2}{L}^{3}{n}^{L})$.
Note that parameter k and constant L are at most n. Therefore, by Lemmas 1, 2, and 3, we obtain clearly the following Theorem 2.
Theorem 2. There is a randomized algorithm of running time ${O}^{*}({2}^{(k+L)}{(k+L)}^{2}{L}^{3}{n}^{L})$ for the pKEP which produces the desired packing in a Yesinstance with high probability.