 # On the Complexity Landscape of Connected f -Factor Problems

Let G be an undirected simple graph having n vertices and let f be a function defined to be f:V(G) -> 0,..., n-1. An f-factor of G is a spanning subgraph H such that degree of a vertex v in H is f(v) for every vertex v in V(G). The subgraph H is called a connected f-factor if, in addition, H is connected. A classical result of Tutte(1954) is the polynomial time algorithm to check whether a given graph has a specified f-factor. However, checking for the presence of a connected f-factor is easily seen to generalize HAMILTONIAN CYCLE and hence is NP-complete. In fact, the CONNECTED f-FACTOR problem remains NP-complete even when we restrict f(v) to be at least n^e for each vertex v and 0<e<1; on the other side of the spectrum of nontrivial lower bounds on f, the problem is known to be polynomial time solvable when f(v) is at least n/3 for every vertex v. In this paper, we extend this line of work and obtain new complexity results based on restrictions on the function f. In particular, we show that when f(v) is restricted to be at least n/(log n)^c , the problem can be solved in quasi-polynomial time in general and in randomized polynomial time if c<=1. Furthermore, we show that when c>1, the problem is NP-intermediate.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 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 single-exponential (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.

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 quasi-polynomial 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 lower-bounded by for every vertex and . For this, we also require algebraic techniques that have found several applications in the design of fixed-parameter 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 one-sided 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 quasi-polynomial 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 :

 1−(c⌈logn⌉)2n2≤(1−1n2)clogn
###### Proof

Using simple term manipulations, we obtain:

 (1−1n2)clogn=(n2−1n2)clogn=(n2−1)clogn(n2)clogn (1)

Since , it follows that:

 (n2−1)c⌈logn⌉(n2)c⌈logn⌉≤(n2−1)clogn(n2)clogn (2)

By using the binomial formula, we obtain:

 (n2−1)c⌈logn⌉ = c⌈logn⌉∑i=0(c⌈logn⌉i)(n2)c⌈logn⌉−i(−1)i = n2c⌈logn⌉+c⌈logn⌉∑i=1(c⌈logn⌉i)(n2)c⌈logn⌉−i(−1)i = n2c⌈logn⌉−c⌈logn⌉∑i=1−(c⌈logn⌉)i(n2)c⌈logn⌉−i(−1)i

To obtain an upper bound on , we show next that the absolute values of the terms in the sum are decreasing with increasing .

 |(c⌈logn⌉i)(n2)c⌈logn⌉−i(−1)i| = (c⌈logn⌉i)(n2)c⌈logn⌉−i ≥ c⌈logn⌉n2(c⌈logn⌉i)(n2)c⌈logn⌉−i ≥ c⌈logn⌉(c⌈logn⌉i)(n2)c⌈logn⌉−(i+1) ≥ (c⌈logn⌉i+1)(n2)c⌈logn⌉−(i+1)

The first inequality above holds because . Hence, we obtain.

 c⌈logn⌉∑i=1−(c⌈logn⌉i)(n2)c⌈logn⌉−i(−1)i ≤ c⌈logn⌉∑i=1(c⌈logn⌉i)(n2)c⌈logn⌉−i ≤ (c⌈logn⌉)⋅(c⌈logn⌉)(n2)c⌈logn⌉−1 = (c⌈logn⌉)2(n2)c⌈logn⌉−1

Putting the above back into Equation 1 and using Inequality 2 together with the expressions above, we obtain:

 (1−1n2)clogn ≥ (n2−1)c⌈logn⌉(n2)c⌈logn⌉ = n2c⌈logn⌉−∑c⌈logn⌉i=1−(c⌈logn⌉i)(n2)c⌈logn⌉−i(−1)i(n2)c⌈logn⌉ ≥ n2c⌈logn⌉−(c⌈logn⌉)2(n2)c⌈logn⌉−1(n2)c⌈logn⌉ ≥ 1−(c⌈logn⌉)2n2

The above concludes the proof of the lemma. ∎

The function we deal with is always a positive real-valued 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 f-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 edge-disjoint alternating circuits that are cycles. As an example, consider for each the alternating circuit which consists of two (edge-disjoint) 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 g-Bounded f-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 quasi-polynomial 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 111We use to denote , i.e., omits polynomial factors, for any function . for Partition Connector, then there is a deterministic quasi-polynomial 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 g-Bounded f-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 brute-force 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:

1. Each is a partition of the vertex set , and .

2. Each is an -factor of , and connects .

3. For each , is a refinement of satisfying the following:

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

2. .

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 lower-bound 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:

1. 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

 |NHi(v)∩Qi|≥ |NHi−1(v)∩Qi|−2(|Qi|−1) = |NHi−1(v)∩Qi−1|−2(|Qi|−1) ≥ f(v)−(∑1≤j≤i−12(|Qj|−1))−2(|Qi|−1) = f(v)−(∑1≤j≤i2(|Qj|−1))

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

 |NHℓ−1(v)∩Q|≥ f(v)−∑1≤j<ℓ2(|Qj|−1) ≥ ng(n)−∑1≤j<ℓ2(g(n)) ≥ ng(n)−2(ℓ−1)g(n) ≥ ng(n)−2(g(n))2

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 Restricted--factor 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 Restricted--factor 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 Quasi-polynomial 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

Let be a connected -factor of . For any partition of the vertex set, it follows from Observation 3.2 that is connected. Consider a spanning tree of . Clearly, there exists at least one -factor containing and hence is connected. Once we have , can be computed in polynomial time using Fact 2.2. ∎

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 exact-exponential 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 (f-Blowup)

Let be a graph and let be such that for each . Let be the graph constructed as follows:

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

2. 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 f-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