1 Introduction
The concept of factors is fundamental in graph theory, dating back to the 19th century, specifically to the work of Petersen JP1891. In modern terminology, an factor is defined as a spanning subgraph which satisfies degree constraints (given in terms of the degree function ) placed on each vertex of the graph DW00. Some of the most fundamental results on factors were obtained by Tutte, who gave sufficient and necessary conditions for the existence of factors WT52. In addition, he developed a method for reducing the factor computation problem to the perfect matching WT54 problem, which gives a straightforward polynomial time algorithm for the problem of deciding the existence of an factor. There are also several detailed surveys on factors of graphs, for instance by Chung and Graham CG81, Akiyama and Kano JK85, Lovász and Plummer LP86.
Aside from work on general factors, substantial attention has been devoted to the variant of factors where we require the subgraph to be connected (see for instance the survey articles by Kouider and Vestergaard KV05 and Plummer PM07). Unlike the general factor problem, deciding the existence of a connected factor is complete GJ79; CC90. It is easy to see that the connected factor problem (Connected Factor) generalizes Hamiltonian Cycle (set for every vertex ), and even the existence of a deterministic singleexponential (in the number of vertices) algorithm is open for the problem PhilipR14.
The completeness of this problem has motivated several authors to study the Connected Factor for various restrictions on the function . Cornelissen et al. BN13 showed that Connected Factor remains complete even when is at least for each vertex and any constant between 0 and 1. Similarly, it has been shown that the problem is polynomial time solvable when is at least NR15 for every vertex . Aside from these two fairly extreme cases, the complexity landscape of Connected Factor based on lower bounds on the function , has largely been left uncharted.
Complexity Class  

BN13  
(Theorem 1.2)  
RP (Theorem 1.3)  
P (Theorem 1.1) 
Our results and techniques. In this paper, we provide new results (both positive and negative) on solving Connected Factor based on lower bounds on the range of . Since we study the complexity landscape of Connected Factor through the lens of the function , it will be useful to formally capture bounds on the function via an additional “bounding” function . To this end, we introduce the connected Bounded factor problem (Connected Bounded Factor) below:
[t]0.99
Connected Bounded Factor
Instance: An vertex undirected simple graph and a mapping
such that .
Task: Find a connected factor of .
First, we obtain a polynomial time algorithm for Connected Factor when is at least for every vertex and any constant . This result generalizes the previously known polynomial time algorithm for the case when is at least . This is achieved thanks to a novel approach for the problem, which introduces a natural way of converting one factor to another by exchanging a set of edges. Here we formalize this idea using the notion of Alternating Circuits. These allow us to focus on a simpler version of the problem, where we merely need to ensure connectedness across a coarse partition of the vertex set. Furthermore, we extend this approach to obtain a quasipolynomial time algorithm for the Connected Factor when is at least for every vertex. To be precise, we prove the following two theorems (see Section 2 for an explanation of the function in formal statements).
Theorem 1.1
For every function , Connected Bounded Factor can be solved in polynomial time.
Theorem 1.2
For every and function , Connected Bounded Factor can be solved in time where .
Second, we build upon these new techniques to obtain a randomized polynomial time algorithm which solves Connected Factor in the more general case where is lowerbounded by for every vertex and . For this, we also require algebraic techniques that have found several applications in the design of fixedparameter and exact algorithms for similar problems CyganNPPRW11; Wahlstrom13; GutinWY13; PhilipR14. Precisely, we prove the following theorem.
Theorem 1.3
For every function , Connected Bounded Factor
can be solved in polynomial time with constant error probability.
We remark that the randomized algorithm in the above theorem has onesided error with ‘Yes’ answers always being correct. Finally, we obtain a lower bound result for Connected Factor when is at least for . Specifically, in this case we show that the problem is in fact intermediate, assuming the Exponential Time Hypothesis RF01 holds. Formally speaking, we prove the following theorem.
Theorem 1.4 ()
For every and for every , Connected Bounded Factor is neither in nor hard unless the Exponential Time Hypothesis fails.
We detail the known as well as new results on the complexity landscape of Connected Factor in Table 1.
Organization of the paper. After presenting required definitions and preliminaries in Section 2, we proceed to the key technique and framework used for our algorithmic results, which forms the main part of Section 3. In Section 3.2, we obtain both of our deterministic algorithms, which are formally given as Theorem 1.1 (for the polynomial time algorithm) and Theorem 1.2 (for the quasipolynomial time algorithm). Section 4 then concentrates on our randomized polynomial time algorithm, presented in Theorem 1.3. Finally, Section 5 focuses on ruling out (under established complexity assumptions) both completeness and inclusion in possibilities for Connected Bounded Factor for all polylogarithmic functions in .
2 Preliminaries
2.1 Basic Definitions
We use standard definitions and notations from West DW00. The notation denotes the degree of a vertex in a graph . Similarly, represents the set of vertices adjacent to in . A component in a graph is a maximal subgraph that is connected. Note that the set of components in a graph uniquely determines a partition of the vertex set. A circuit in a graph is a cyclic sequence where each is of the form and occurs at most once in the sequence. An Eulerian circuit in a graph is a circuit in which each edge in the graph appears. Any graph having an Eulerian circuit is called an Eulerian graph.
Let be a subset of the vertices in the graph . The vertex induced subgraph is the graph over vertex set containing all the edges in whose endpoints are both in . Given , is the edge induced subgraph of whose edge set is and vertex set is the set of all vertices incident on edges in .
Given two subgraphs and of , the graph is the subgraph . The union of the graphs is the graph whose vertex set is and edge set is .
Given a partition of the vertex set of , the quotient graph is constructed as follows: The vertex set of is . Corresponding to each edge in where in , in , , add an edge to . Thus, is a multigraph without loops. For a subgraph of , we say connects a partition if is connected. Further, we address the graph to be a partition connector. A refinement of a partition is a partition of where each part in is a subset of some part in . This notion of partition refinement was used, e.g., by Kaiser TK12. A spanning tree of the quotient graph refers to a subgraph of with 1 edges that connects . The following lemma will later be used in the analysis of the error probability of our randomized algorithm.
Lemma 1
The following holds for every with :
Proof
Using simple term manipulations, we obtain:
(1) 
Since , it follows that:
(2) 
By using the binomial formula, we obtain:
To obtain an upper bound on , we show next that the absolute values of the terms in the sum are decreasing with increasing .
The first inequality above holds because . Hence, we obtain.
Putting the above back into Equation 1 and using Inequality 2 together with the expressions above, we obtain:
The above concludes the proof of the lemma. ∎
The function we deal with is always a positive realvalued function, defined on the set of positive integers. For the cases we consider, the function always takes a value greater than 1. Unless otherwise mentioned, is in . Whenever is part of the problem definition, the target set of the function is the set of integers . Consequently, we have the following fact.
Fact 2.1
Let be a graph and let for each in . If is an factor of , then the number of components in is at most .
2.2 Colored Graphs, (Minimal) Alternating Circuits, and Factors
A graph is colored if each edge in is assigned a color from the set . In a colored graph , we use and to denote spanning subgraphs of whose edge sets are the set of red edges () and blue edges () respectively. We use this coloring in our algorithm to distinguish between edge sets of two distinct factors of the same graph . A crucial computational step in our algorithms is to consider the symmetric difference between edge sets of two distinct factors and perform a sequence of edge exchanges preserving the degree of each vertex. The following definition is used extensively in our algorithms.
Definition 1
A colored graph is an alternating circuit if there exists an Eulerian circuit in , where each pair of consecutive edges are of different colors.
Clearly, an alternating circuit has an even number of edges and is connected. Further, for each in . A minimal alternating circuit is an alternating circuit where each vertex in has at most two red edges incident to . Note that alternating circuits, as opposed to Eulerian circuits, cannot always be decomposed into edgedisjoint alternating circuits that are cycles. As an example, consider for each the alternating circuit which consists of two (edgedisjoint) cycles of length and length , respectively, that share one common vertex . Let the coloring of the edges of be as illustrated in Figure 1. Informally, the edges of both cycles are colored in an alternating manner along each cycle so that the edges of the first cycle incident to have the same color, which is distinct from the color given to the edges incident with in the second cycle. Every alternating circuit in contains all edges of and cannot be decomposed further into smaller alternating circuits.
Fact 2.2
Let be a subset of . An factor of containing all the edges in , if one exists, can be computed in polynomial time.
The fact follows from the observation that a candidate for can be computed from an factor of the spanning subgraph , where for each . Note that given a partition of , one can check for the existence of an factor connecting in polynomial time by iterating over each edge in the cut and applying Fact 2.2 by setting . Further, this can be extended for any arbitrary partition of constant size, or when we are provided with a spanning tree of that is guaranteed to contain in some factor of .
Definition 2
Let and be two subgraphs of where each component in is Eulerian. Let be the unique coloring function which colors the edges in with color red and those in with color blue. The subgraph is called a switch on if every component of the colored graph obtained by applying c on , is an alternating circuit.
Definition 3
For a subgraph which is a switch on another subgraph of , we define Switching(,) to be the subgraph of .
We use switching as an operator where the role of the second operand is to bring in specific edges to the first, retaining the degrees of vertices by omitting some less significant edges. One can easily infer that if the result of applying the coloring function c to is a minimal alternating circuit, then the switching operation replaces at most two edges incident on each vertex in .
Fact 2.3
Let be an alternating circuit and be a subset of edges in . There is a polynomial time algorithm that outputs a set of edge disjoint minimal alternating circuits in , each of which has at least one edge from and such that every edge in is contained in some minimal alternating circuit in .
It is not difficult to see the proof of Fact 2.3. A skeptical reader can refer (NR15, Lemma 6). Note that given and , is not unique.
Fact 2.4
Let be an factor of and let be a partitioning of the vertex set of . If is connected and is connected for each in , then is a connected factor.
Fact 2.4 implies that if is not a connected factor and is connected then there exists some such that is not connected.
3 A Generic Algorithm for Finding Connected Bounded Factors
Our goal in this section is to present a generic algorithm for Connected Bounded Factor. In particular, we in a certain sense reduce the question of solving Connected Bounded Factor to solving a related problem which we call Partition Connector. This can be viewed as a relaxed version of the original problem, since instead of a connected factor it merely asks for an factor which connects a specified partitioning of the vertex set. A formal definition is provided below.
[t]0.99
Partition Connector
Instance: An vertex graph , , and a partition of .
Task: Find an factor of that connects .
The algorithms for solving Partition Connector are presented in the later parts of this article. Specifically, a deterministic algorithm that runs in quasipolynomial time whenever (Section 3.2) and a randomized polynomial time algorithm for the case when (Section 4).
The majority of this section is devoted to proving the key Theorem 3.1 stated below, which establishes the link between Partition Connector and Connected Bounded Factor.
Theorem 3.1

Let . If there is a deterministic algorithm running in time ^{1}^{1}1We use to denote , i.e., omits polynomial factors, for any function . for Partition Connector, then there is a deterministic quasipolynomial time algorithm for Connected Bounded factor with running time .

Let . If there exists a randomized algorithm running in time with error probability for Partition Connector, then there exists a randomized polynomial time algorithm for Connected Bounded factor that has a constant error probability.
3.1 A generic algorithm for Connected Bounded Factor
The starting point of our generic algorithm is the following observation.
Observation 3.2
Let be an undirected graph and be a function . The graph has a connected factor if and only if for each partition of the vertex set , there exists an factor of that connects .
We remark that for the running time analysis for our generic algorithm we assume that we are only dealing with instances of Connected Bounded Factor, where the number of vertices exceeds . As is in , this does not reduce the applicability of our algorithms, since there is a constant such that for every ; because is part of the problem description, does not depend on the input instance. Consequently, we can solve instances of Connected Bounded Factor where by bruteforce in constant time. We will therefore assume without loss of generality in the following that and hence .
Our algorithm constructs a sequence of pairs which is maximal (cannot be extended further) satisfying the following properties:

Each is a partition of the vertex set , and .

Each is an factor of , and connects .

For each , is a refinement of satisfying the following:

Each part in induces a component in , for some in .

.

The following lemma links the existence of a connected factor to the properties of maximal sequences satisfying (M1)–(M3).
Lemma 2
Let be an instance of Connected Bounded Factor and let be a maximal sequence satisfying (M1)–(M3). Then, has a connected factor if and only if is a connected factor of .
Proof
Towards showing the forward direction of the claim, suppose for a contradiction that is not a connected factor of . Because connects (Property (M2)), it follows from Fact 2.4 that there is some part such that is not connected. Consider the refinement of () that splits every part in into the parts corresponding to the components of . Further, because has a connected factor and Observation 3.2, we obtain that there exists a connected factor that connects any partition . Now, the sequence could be extended by appending the pair to its end, a contradiction to our assumption that was a maximal sequence. The reverse direction is trivial. ∎
We deploy an algorithm that incrementally computes a maximal sequence satisfying (M1)–(M3) and thereby use the above lemma to solve the connected factor problem by testing whether the last factor in the sequence is connected. This involves computing from and followed by the computation of connecting . However, if the number of parts in the last partition is allowed to grow to , then such an algorithm would eventually have to solve the connected factor problem to compute an satisfying (M2). Our algorithm establishes a lower bound on the size of any part and hence an upper bound on the number of parts in any partition in which in turn bounds the length of the sequence .
The following lemma shows that given the recently computed pair in the sequence, the partition and a candidate for , one can compute a better candidate for which is closer to in the sense that most of the neighbors of a vertex in are retained as it is, in . The properties of then allow us to lowerbound the size of each part in as a function of the size of the smallest part in .
Lemma 3
Let , be two consecutive pairs occurring in a sequence satisfying properties (M1)–(M3). Then, there is an factor of connecting such that for every and . Moreover, can be computed from , , and in polynomial time.
Proof
From the premise that is an factor connecting , we know that there exists a spanning tree of . Color the edges in with color red and those in with color blue. Let be the graph . Notice that each component in is an alternating circuit. Furthermore, note that the set of blue edges is a subset of as is a subset of . Let be the set where is the component in . We compute the set of edge disjoint minimal alternating circuits using Fact 2.3 for each pair. The size of the set is at most and hence at most minimal alternating circuits in . Let and be the factor defined as Switching(,). We argue that this switching operation removes at most edges incident on any vertex in for every .
Considering the fact that the minimal alternating circuits in are edge disjoint, we visualize switching with as a sequence of switching operations on each with a distinct minimal alternating circuit in . In each such , the number of red edges incident on a vertex that leaves during switching is at most two and the operation Switching(,) retains at least neighbors of each vertex. Thus, for any subset of if we consider the subgraph alone, it must be the case that for each in . Furthermore, is at most . Since the set is a subset of , connects . From Fact 2.3, the computation of and hence of takes polynomial time. This completes the proof of the lemma. ∎
By employing the above lemma, our algorithm ensures that the maximal sequence so constructed satisfies the following additional property:

For every , every and it holds that .
This property plays a key role in the analysis of our algorithm as it allows us to bound the number of parts in each partition . Towards this aim we require the following auxiliary lemma.
Lemma 4
Let be a sequence satisfying properties (M1)–(M4). Then, for every with , and .
Proof
We show the claim by induction on starting from . Let and . Because is an factor of and is a component of , we obtain that . Using Property (M4) for , we obtain , as required. Hence assume that the claim holds for and we want to show the claim for . Let and and let be the part in containing . Note that . From the induction hypothesis we obtain that . Because is a component of , it holds that . Hence together with Property (M4), we obtain
as required. This completes the proof of the lemma. ∎
Recall that is at least for each . Our next step is to show that the length of the maximal sequence constructed by our algorithm does not exceed .
Lemma 5
Let be a maximal sequence satisfying properties (M1)–(M4). Then, for every with . Moreover, the length of is at most .
Proof
The claim clearly holds for . It also holds for because the parts in correspond to the components of , which are at most due to Fact 2.1. Assume for a contradiction that the claim does not hold and let be a maximal sequence satisfying (M1)–(M4) witnessing this and let be the smallest integer such that . Then, and . Because and for every , is larger than , we obtain that for every . Hence, or in other words .
From Lemma 4, we obtain that
for every and . This implies that every component of for some , and hence also every part of has size at least . Since , we conclude that the number of vertices of is greater than . Rearranging for we obtain that which contradicts our assumption that . Since is a proper refinement of for every with and , we infer that the length of the sequence is at most . This completes the proof of the lemma. ∎
We are now ready to prove the main theorem of this section which outlines how the running time of Connected Bounded Factor is dominated by the Partition Connector module.
Proof (Theorem 3.1)
We present an algorithm for Connected Bounded factor that employs an algorithm for Partition Connector as a subroutine. All parts of the algorithm apart from the subroutine Partition Connector will be deterministic and run in polynomial time. The main idea is to construct a maximal sequence satisfying properties (M1)–(M4). Recall our assumption that . Let be an instance of Connected Bounded factor. The algorithm starts by computing an arbitrary factor . If no factor exists, then clearly the algorithm reports failure. If on the other hand the computed factor is already connected, then the algorithm returns and exits.
Observe that , where , is a valid starting pair for a sequence satisfying properties (M1)–(M4). Further, the algorithm extends the sequence by adding successors as long as one exists. The sequence is extended by invoking a recursive subroutine Restrictedfactor with parameters and the most recently added pair to compute a new pair that can be appended to the sequence, if one exists. Otherwise, the procedure concludes that can no longer be extended, in which case it either returns a connected factor of or reports nonexistence of one. The subroutine Restrictedfactor works as follows.
The procedure starts by computing a refinement of containing one part for every component in where is a part in . If then because of Fact 2.4, already constitutes a connected factor of and the procedure correctly returns . Otherwise, the procedure calls the provided algorithm for Partition Connector on , , and to obtain an factor connecting . If the provided algorithm for Partition Connector returns failure, the procedure also returns failure, relying on Observation 3.2 and assuming that no factor connecting exits. Otherwise, observe that the pair already constitutes a valid successor of the pair in any sequence satisfying properties (M1)–(M3). To ensure Property (M4), the procedure now calls a polynomial time subroutine on the pairs and to obtain the desired factor connecting and such that the pairs and satisfy Property (M4). The existence of such a polynomial time subroutine is from Lemma 3. The procedure now calls itself on the pair . This completes the description of the algorithm.
Note that given the correctness of the algorithm for Partition Connector the correctness of the algorithm follows from Lemma 2. Let us now analysis the running time of the algorithm. Apart from the calls to the provided subroutine for Partition Connector, all parts of the algorithm run in polynomial time. Because the algorithm calls the provided algorithm for Partition Connector at most once for every pair in a maximal sequence satisfying properties (M1)–(M4), we obtain from Lemma 5 that the number of those calls is bounded by . Moreover, from the same lemma, we obtain that the size of a partition given as an input to the algorithm for Partition Connector is at most . Hence, if Partition Connector can be solved in time , then the algorithm runs in time showing the first statement of the theorem. Similarly, if Partition Connector can be solved in time , then the algorithm runs in time , which given shows that the algorithm claimed in the second statement of the theorem runs in polynomial time. We use the following lemma to prove the second part of the theorem.
Lemma 6
The Partition Connector can be solved by a randomized algorithm with running time and error probability .
It remains to show that the randomized algorithm has the stated error probability. Towards this aim we calculate a lower bound on the success probability of the algorithm, i.e., the probability that the algorithm returns a connected factor of if such an factor exists. Hence, let us suppose that has a connected factor. It follows from Observation 3.2 that contains an factor connecting for every partition of its vertex set. Hence every call to the subroutine Partition Connector is made for a “Yes”instance, which together with Lemma 6 implies that every such call succeeds with probability at least . Because , we obtain from Lemma 1 that this probability is at least for some constant . Since there are at most such calls, the probability that the algorithm succeeds for all of these calls is hence at least , as required. This completes the proof of the theorem. ∎
3.2 A Quasipolynomial Time Algorithm for Polylogarithmic Bounds
In this section, we prove Theorem 1.1 and Theorem 1.2. In fact, we prove a more general result, from which both theorems directly follow.
Theorem 3.3 ()
For every and function , the Connected Bounded factor problem can be solved in time.
We make use of the following simple lemma.
Lemma 7
Let be a graph having a connected factor. Let be a partition of the vertex set . There exists a spanning tree of such that for some factor of , . Furthermore, can be computed from in polynomial time.
Proof
In light of Theorem 3.1, it now suffices to prove the following Lemma 8, from which Theorem 3.3 immediately follows.
Lemma 8
Partition Connector can be solved in time .
Proof
It follows from Lemma 7 that we can solve Partition Connector by going over all spanning trees of and checking for each of them whether there is an factor of containing the edges of . The lemma now follows because the number of spanning trees of is at most , which is upper bounded by , and for every such tree we can check the existence of an factor containing in polynomial time. ∎
4 A Randomized Polynomial Time Algorithm for Logarithmic Bounds
In this section we prove Theorem 1.3. Due to
Theorem 3.1, it is sufficient for us to provide a
randomized algorithm for Partition Connector
with running time and error probability
.
This is precisely what we do in the rest of this section (Lemma 6). As a first step, we design an algorithm for the “existential version” of the problem which we call Partition Connector and define as follows.
Partition Connector Input: A graph with vertices, , and a partition of . Question: Is there an factor of that connects ?
We then describe how to use our algorithm for this problem as a subroutine in our algorithm to solve Partition Connector.
4.1 Solving Partition Connector in Randomized Polynomial Time
The objective of this subsection is to prove the following lemma which implies a randomized polynomial time algorithm for Partition Connector when .
Lemma 9
There exists an algorithm that, given the graph , a function , and a partition of , runs in time and outputs

NO if has no factor connecting

YES with probability at least otherwise.
We design this algorithm by starting from the exactexponential algorithm in PhilipR14 and making appropriate modifications. During the description, we point out the main differences between our algorithm and that in PhilipR14. We now proceed to the details of the algorithm. We begin by recalling a few important definitions and known results on factors. These are mostly standard and are also present in PhilipR14, but since they are required in the description and proof of correctness of our algorithm, we state them here.
Definition 4 (Blowup)
Let be a graph and let be such that for each . Let be the graph constructed as follows:

For each vertex of , we add a vertex set of size to .

For each edge of we add to vertices and and edges for every and for every . Finally, we add the edge .
This completes the construction. The graph is called the blowup of graph . We use to denote the blowup of . We omit the subscript when there is no scope for ambiguity.
Definition 5 (Induced blowup)
For a subset , we define the blowup of induced by as follows. Let the blowup of be . Begin with the graph and for every edge
Comments
There are no comments yet.