An Extension of the Permutation Group Enumeration Technique
The distinguishing result of this paper is a -time enumerable partition of all the possible perfect matchings in a bipartite graph. This partition is a set of equivalence classes induced by the missing edges in the potential perfect matchings.
We capture the behavior of these missing edges in a polynomially bounded representation of the exponentially many perfect matchings by a graph theoretic structure, called MinSet Sequence, where MinSet is a P-time enumerable structure derived from a graph theoretic counterpart of a generating set of the symmetric group. This leads to a polynomially bounded generating set of all the classes, enabling the enumeration of perfect matchings in polynomial time. The sequential time complexity of this -complete problem is shown to be .
And thus we prove a result even more surprising than , that is, , where is the class of functions, , computable in polynomial time on a deterministic model of computation.
: Perfect Matching, Permutation Group Enumeration, Counting Complexity, NP-Completeness, Polynomial Hierarchy.
Enumeration problems  deal with counting the number of solutions in a given instance of a search problem, for example, counting the total number of perfect matchings in a bipartite graph. Their complexity poses unique challenges and surprises. Most of them are -hard, and therefore, even if , it does not imply a polynomial time solution of an -hard enumeration problem.
-hard enumeration problems fall into a distinct class of polynomial time equivalent problems called the -complete problems . As noted by Jerrum , problems in are ubiquitous- those in are more of an exception. What has been found quite surprising is that the enumeration problem for perfect matching in a bipartite graph is -complete  even though the associated search problem has long been known to be in .
Enumeration of a permutation group has long been known to be in (). The basic technique for enumerating a permutation group (any subgroup of the symmetric group ) is based on creating a hierarchy of the Coset Decompositions over a sequence of the subgroups of , where the smallest subgroup is the trivial group .
A Coset Decomposition of is essentially a set of equivalence classes defining a Partition of for a subgroup of , induced by a set of group elements called Coset Representatives(CR). Here each element in CR represents a unique subset of , called Coset of in , obtained by multiplying each element in by , in certain (right or left) order. For the symmetric group, , the partition hierarchy for a fixed subgroup sequence is shown as an -partite directed acyclic graph in Figure 1, where the nodes in each partition are the elements in CR representing the subsets of a group in the subgroup sequence . The edges represent a disjoint subset relationship.
The enumeration technique for perfect matchings
extends the above coset decomposition scheme
by further partitioning each coset into a family of polynomially many equivalence classes. This extended partition hierarchy (Figure 2) then captures the perfect matchings as an equivalence class in this partition, where each such class allows the P-time enumeration uniformly for all .
The associated equivalence relation over a coset is induced by a graph theoretic attribute called edge requirements which confirms a potential perfect matching subset in each equivalence class.
The hierarchy of the various classes for a bipartite graph holds the following containment relationship:
The extended partition hierarchy contains “other equivalence classes” CVMPSets and MinSet Sequences, described below.
We map a specific generating set of the symmetric group to a graph theoretic “generating set”, such that each coset representative of a (group, subgroup) pair is mapped to a set of graph theoretic coset representatives. This mapping is then used to construct a generating graph for generating all the perfect matchings as directed paths in the generating graph which is a directed acyclic -partite graph of size .
Each perfect matching in a bipartite graph with nodes is expressed as a unique directed path of length , called Complete Valid Multiplication Path (CVMP) in the generating graph. The condition for a CVMP of length to represent a unique perfect matching in the given bipartite graph is captured by an attribute of the CVMP, called Edge Requirement (ER).
The graph theoretic coset representatives induce disjoint subsets of the Cosets, called CVMPSets, an equivalence class containing the CVMPs.
Each C VMPSet is further partitioned into polynomially bounded classes called MinSet Sequences induced by the ER of each CVMP, where a MinSet is the set of all Valid Multiplication Paths (VMPs) of common ER.
A judicious choice of the common ER of these VMPs allows a MinSet and any sequence of the MinSets to be P-time enumerable, and which makes the perfect matchings also P-time enumerable as follows.
These MinSet sequences can be viewed as an instance of a perfect matching subproblem, where a sequence containing only one MinSet would represent a set of perfect matchings when each CVMP is of length with common .
There are exponentially many MinSet sequences in a CVMPSet, and all of them can be covered by only unique prefix MinSets. And thus these unique prefixes induce polynomially many equivalence classes each containing exponentially many MinSet sequences (Figure 3).
Further, each class size decreases exponentially with , and thus this hierarchy enables enumeration of all the equivalence classes in polynomial time.
Main results of this paper are summarized as follows:
The Mapping : Section 3 develops the concepts leading to the graph theoretic counterparts of the permutation group generating set. It defines the mapping (Lemma ?) of a specific generating set of to a set of graph theoretic structures.
The Extended Partition Hierarchy:
Section 4 describes how to partition all the potential perfect matchings into a set of equivalence classes induced by the missing edges in all the potential perfect matching in the given bipartite graph.
Lemma ? states how exponentially many MinSet sequences in any CVMPSet are partitioned into polynomially many equivalence classes of polynomially many prefixes to the MinSet sequences.
Polynomial Time Enumeration: Algorithm ? describes a high level logic to count all the perfect matchings in time .
Section 6 provides the conclusion, collapse of the Polynomial Time Hierarchy.
2Preliminaries: Group Enumeration
2.1The Permutation Group
Let be a finite set of elements, and let “” be an associative binary operation, called multiplication. Then is a group if satisfies the following axioms:
there exists an element, , called the identity, such that .
, there is an element , called the inverse of , such that .
Let be a subgroup of , denoted as . Then the set is called a right coset of in . Since any two cosets of a subgroup are either disjoint or equal, any group can be partitioned into its right (left) cosets. That is, using the right cosets of we can partition as:
The elements in the set are called the right coset representatives (AKA a complete right traversal) for in .
In this paper we will deal with only one specific type of finite groups called permutation groups.
A permutation of a finite set, , is a 1-1 mapping from onto itself, where for any , the image of under is denoted as . The product of two permutations, say and , of will be defined by .
A permutation group contains permutations of a finite set where the binary operation, the multiplication, is the the product of two permutations. The group formed on all the permutations of is a distinguished permutation group called the Symmetric Group of , denoted as .
We will use the cycle notation for permutations. That is, if a permutation where , and , then , for and . Of course, a permutation could be a product of two or more disjoint cycles.
2.2The Enumeration Technique
A permutation group enumeration problem is essentially finding generators for all the permutations in the group, and thus leading to finding order of the group. It can also be viewed as an enumeration problem corresponding to any search problem  over a finite universe.
A generating set of a permutation group is defined to be the set of permutations, , such that all the elements in can be written as a (polynomially bounded) product of the elements in .
Let be a subgroup of obtained from by fixing all the points in . That is, , and , . Then it is easy to see that , where and . The sequence of subgroups
is referred to as a stabilizer chain of .
The stabilizer chain in gives rise to a generating set given by the following Theorem .
Group enumeration by a generating set creates a canonic representation of the group elements, i.e., a mapping defined as
The order can then be easily computed in time by
These generating sets are not unique, and the one we are interested in is derived from those coset representatives that are transpositions (except for the identity). That is, for and for the subgroup tower in Eqn. , the set of coset representatives are 
Then the generating set of is given by
The partition hierarchy of the coset decompositions for is shown above in Figure 1.
All the coset representatives for the stabilizer chain of the symmetric group are shown in Table 1. Each permutation in can be expressed as a unique ordered product, , of the four permutations and .
For example, the permutation (1,3,2,4) in has a unique canonic representation, ; the element is represented as .
Also, note that under this enumeration scheme the order of is the product, .
Perfect Matchings in a Bipartite Graph
Let be a bipartite graph on nodes, where, , is the edge set, and both the node sets and are labeled from in the same order. Under such an ordering of the nodes, the node pair will often be referred to as simply the node pair at position in .
A perfect matching in is a subset of the edges in such that each node in is incident with exactly one edge in . A perfect matching in represents a permutation in , and hence a 1-1 onto correspondence in a natural way. That is, for each edge .
We will use the above group generating set concepts in developing a combinatorial structure, i.e., a graph theoretic analog of the generating set , for generating all the perfect matchings in a bipartite graph.
3The Mapping: Graph Theoretic Generators
In this Section we develop the basic framework for defining the partition hierarchy of the Symmetric group applicable to the perfect matchings in a bipartite graph. We will develop the concepts leading to the graph theoretic counterparts of the permutation group generating set. Specifically, we choose the generating set of the Symmetric group, , to be the set of transpositions given by Eqn. , with the Right Coset Decomposition (Eqn. ) for group enumeration.
First we develop the concepts for defining the permutation multiplication in a bipartite graph.
3.1Permutation Multiplication in a Bipartite Graph
Let be a bipartite subgraph of on nodes, and let denote a perfect matching in realizing a permutation .
(The proof is in Appendix ?)
Figure 4(a) shows an instance of having two perfect matchings, and realizing the product of the permutations (identity permutation) and . Figure 4(b) shows the two perfect matchings, realizing and , and the associated graph cycle , representing the multiplier (2, 3), responsible for the multiplication.
Figure 4(c) shows the same multiplication as a cascade of the two associated perfect matchings in the two bipartite graphs.
3.2Graph Theoretic Coset Partition
We can now define a set of graph theoretic counterparts of the Coset Representatives, called partition representatives. These are obtained by mapping the symmetric group generators in to a set of edge pairs in with the help of Theorem ?.
Let denote the set of permutations realized as perfect matchings in a bipartite graph . Let denote the sub (bipartite) graph of , induced by the subgroup , such that . That is, , there is exactly one edge incident on the nodes and . Moreover, contains a complete bipartite graph, , on the nodes at positions .
The following is a direct Corollary of Theorem ?, and is the basis for mapping the Coset representatives in to a set of edge pairs in bipartite graph .
Let , where .
Let be an ordered pair of edges in , where .
The following Property states how each is partitioned into equivalence classes induced by each .
The following Lemma states the exact mapping, showing how is effectively the graph theoretic counterpart of , where the element is the ID element corresponding to . We will denote each by .
Proof. Follows from Corollary ? and noting that the ID element in is not mapped by a cycle in but corresponds to the edge .
Now we can define a generating set for enumerating all the perfect matchings in , analogous to a generating set for the Symmetric group .
Let , , denote a transposition realized by the edge pair .
The Multiplicative Behavior of the Generators
Group enumeration by a generating set creates a canonic representation of the group elements, i.e., a mapping defined as
This suggests the need for a set of similar rules that would govern the multiplication of elements. The binary relations in the next sub sections are aimed to do precisely that.
Binary Relations over the Generating Set
We now formulate two binary relations, and , over the generating set . These two relations will be used to capture a far more complex relationship than what exists in a permutation group generating set in order to enumerate the group elements.
First we define some more terms.
Let , represent a class of permutations defined as follows.
For brevity we will often qualify a permutation as “ covers a set of edges e” whenever the corresponding perfect matching, in covers .
Let denote the coset representative of in realized by the edge pair for some such that .
Corresponding to the identity coset representative we will call the edge pair at node pair as identity edge pair, denoted by .
The Transitive Relation over
The following definition of the relation specifies the condition under which two coset representatives, and , corresponding to the two edge pairs and , may realize the product, by the bipartite graph .
Proof. Let and .
First we consider the case when each of these edge pairs, and , are related by the virtue of two graph cycles, and respectively, satisfying the condition of Corollary ?. Then, for , it is easy to see that we can merge and by deleting the edge, say , common to and , and replacing it with the 2 edges in [Figure 6(b)].
Clearly this process of merging the two cycles can be iterated for each , . The result then follows from the induction on .
In the event that , the transitivity is trivial as would multiply each permutation.
In the event that in the above definition is composed of 2 or more disjoint permutation cycles, the corresponding graph cycles are also disjoint and hence their composition is always valid. Therefore, .
The Disjoint Relationship
3.3The Generating Graph
We now develop graph theoretic concepts to represent each permutation in by a directed path in a directed acyclic graph, called generating graph, denoted as . This generating graph models the multiplicative behavior of the elements in the set (Eqn. ).
Thus the generating graph is an -partite directed acyclic graph where the nodes in the partition are from (Eqn. ), representing the right coset representative of in , and therefore, are labeled naturally by the corresponding edge pairs, .
The edges in represent either the transitive relation (by a solid directed line) between the two nodes, or the disjoint relationship between the two nodes (by a dotted directed line) in the adjacent partitions. Each edge is a directed edge from a lower partition node to the higher partition node. Figure 7 shows a generating graph for the complete bipartite graph .
The edges in will be referred to as -edges. Similarly, the edges in will be referred to as -edges. An -edge between two nodes that are not in the adjacent partitions will be called a jump edge, whereas those between the adjacent nodes will sometimes be referred to as direct edges. Moreover, for clarity we will always represent a jump edge by a solid curve.
Note: The treatment of a “path” formed by a sequence of adjacent and -edges (generally called as -path) is more complex and will be discussed in the next sub Section.
Two -edges, and , , meeting at a common node are said to be disjoint if the associated cycles in are vertex disjoint.
Now we can define a distinguished path called valid multiplication path (VMP) in a generating graph , in order to represent a perfect matching in a bipartite graph.
Valid Multiplication Path (VMP)
Note that a VMP, , is any sub-path of a , which contains .
The Multiplying DAG: General Specification for Multiplying two Nodes
We can now define an inductive structure called Multiplying Directed Acyclic Graph (abbr. mdag) that can be used to specify a VMP of length using a VMP of length .
Perfect Matching Represented by a CVMP
The following Lemma follows directly from Lemma ?
4The Extended Partition Hierarchy
We extend the permutation group enumeration technique to the set of perfect matchings by essentially identifying two additional levels of the partition hierarchy of , consisting
of C VMPSets and MinSet sequences:
In this Section we develop these two key structures and the associated enumeration algorithms for the perfect matchings.
4.1The C VMPSet
A C VMPSet is essentially a collection of CVMPs to represent the partition of a Coset of a subgroup in . First we define a more general structure, the VMP Set, a set of all the VMPs.
Let , denote a family of mdags. We also note that each mdag, , can reduce to an -edge when .
For brevity we will use the notation to represent an mdag, at some node in the node partition of for a bipartite graph on nodes.
Representation of a VMPSet
A polynomial size representation of a VMPSet, , is a subgraph of the generating graph . This subgraph contains all the VMPs between the mdags at the node pair .
A data structure, for representing a is a collection, called “Struct”, of various primitive components defined using Algol kind of notation as follows.
A CVMPSet can analogously be represented by the same structure.
The following Figure [Figure 9] shows a subset of a C VMPSet between two fixed mdags at nodes (16,31) and (57,85).
Product of two VMPs
Let and be the corresponding permutation in , where .
Then by we imply the product , where .
Further, by induction, we can use the term product of two adjacent VMPs, , to denote the multiplication of the associated permutations, noting that when it is same as .
The product of two VMPSet then can be defined as,
Note that again, all cannot be multiplied by all .
C VMPSet Properties
Let be any node in the th node partition of the generating graph , where . Let and be the two coset representatives in realized by the nodes and respectively, where is the set of coset representatives for the subgroup .
Proof. Note that each CVMP set, , is uniquely defined by its two mdags. Moreover, every as well as every -edge and every mdag at are unique. And therefore, if every CVMP, , is unique, so are all . That is, for each and for each ,
And hence, by induction, the disjointness of follows from the disjointness of the contained CVMPs.
Proof. We simply note that there are nodes at any node partition in there are mdags at each node. Moreover, there are only two nodes in the node partition .
Partition of a Coset into C VMPSets
Proof. The proof follows essentially from Property ? and an observation that the multiplication where , defines an equivalence relation over the coset .
Clearly, each distinct cvmp in a represents a unique permutation . By the definition of a C VMPSet we also know that it contains precisely those CVMPs from which can be multiplied by a common mdag at the node .
Since the set represents the coset representative , each CVMP in represents the product in the coset .
Therefore, a union of all these (disjoint) subsets satisfying gives .
. For each node there are distinct over which the above union operation in is performed.
Coverage of the Symmetric Group
Proof. The proof follows from of Lemma ?.
Note that is the set of all the edge pairs that collectively represent the generators (elements in the set of right coset representatives), , and further all the associated CVMP sets are mutually disjoint (Property ?).
Counting Perfect Matchings in
To demonstrate the basic counting technique, we first present a counting algorithm that enumerates seemingly a trivial set, viz., the set of all perfect matchings in in polynomial time. We will then augment the same algorithm to allow the counting in any bipartite graph, while still maintaining the polynomial time bound. The following algorithm describes the high level steps which realize the group enumeration technique as captured by Property ? and ?.
As we shall see that the most complex step in the above algorithm ? is the step (4), incrementing a by an .
The Disjoint Subsets of CVMP Sets
Unlike the product in a coset of the group , most cannot multiply all the CVMPs in any , but only a subset thereof induced by . Therefore, we need to find the disjoint subsets of in which all CVMPs can be multiplied by a common . The structure, , defined below is one accomplishes this capability.
Let be node in the node partition of for ; let denote an mdag at the node , and let be any subset of the coset in . We define as a family of disjoint subsets of as follows.
. In general a node in covered by can have 0 to 2 -edges incident upon it. Thus for each , there are 4 possible disjoint subsets induced by the 2 incident -edges.
The following Property follows directly from the above definition.
Proof. Folllows from the definition of the product of two VMPs in .
4.2Perfect Matching Generators
In this section we develop generators for a subproblem of perfect matchings, the MinSet sequences. This subproblem is an equivalence class of the perfect matchings, represented as a sequence of a P-time enumerable structure called MinSets which is induced by the missing edges in each potential perfect matching.
We first define MinSets which are collections of VMPs induced by the “missing” edges, and which in turn are modeled as an attribute called Edge Requirements(ER) of a CVMP that would represent an existing perfect matching under certain conditions on the ER. These MinSets become generators for the MinSet Sequences, and hence for the perfect matchings.
Edge Requirements: the CVMP Qualifier
Edge Requirement is an algebraic formulation of the perfect matching behavior that every node in the graph is incident with exactly one edge, i.e., the matched edge. To define the edge requirement of a CVMP (VMP), , we will define two terms, viz. the edge requirement, , of a node, in , and surplus edge, , of an -edge .
Let be CVMP in for a bipartite graph . The (initial) Edge Requirement, of a node in is
represents an initial assignment of the matched edges incident on the node pair .
We first consider the perfect matchings in . There are exactly two ways each node pair can be incident with 2 matched edges in a perfect matching in :
The node pair is incident with an edge pair represented by , and
one or both the edges in incident on are replaced by 2 alternate edges of a cycle formed between and such that , where is in .
For each instance of an -edge in , the edge in the edge-pair being replaced by the -cycle will be called a Surplus Edge, , and is defined as follows:
When the given graph is not a complete bipartite graph, the edge requirement of a node in can be met by the surplus edge(s) as determined by the -edges incident on . For example, in Figure 11, for the CVMP , the initial of various nodes on , i.e.,, is satisfied by the SE of the incident -edges.
The Edge Requirement of a VMP, in , is the collection of each of the nodes’ Edge Requirement that is not satisfied by the SE of the -edge incident on that node. That is,
(The intersection in the second term is needed simply to avoid any “negative edge requirements” resulting from any redundant edges incident on any of the nodes.)
As a VMP in grows, its edge requirements can change. We will show later (Lemma ?) that the edge requirements of a VMP, in is null iff leads to a perfect matching in . Note that is specific to a given bipartite graph since the ER of a node in depends on , whereas SE of an -edge is fixed for all .
The following corollary follows directly from Lemma ?
The Condition for a CVMP to be a Perfect Matching
Proof. The expression for in can be re-written as:
Therefore, iff either
(1) , or
(2) , and hence .
Thus both cases lead to being realized by .
A Pattern of ER Satisfiability
Following the enumeration scheme in ?, each step of constructing incrementally larger length C VMPSet can reduce the of its member CVMPs by at the most one edge. For example, each perfect matching in can allow at the most one missing edge in the perfect matchings in as illustrated in Figure 12 below.
The following Property is a consequence of Lemma ?.
The permutation group enumeration (Lemma ?) requires that each be multiplied by exactly one generating element in order to generate another member in .
MinSets: The VMPs of Common ER
Counting all the VMPs of a common ER for any given bipartite graph cannot be done in polynomial time because of the possibility of exponentially many ER sequences over a VMPSet. However, for certain small fixed patterns of the ERs, the VMPSet can be counted in polynomial time.
The above Property ? drives the definition of an ER-constrained set, called MinSet, which has a common ER for all the contained VMPs. A can then be expressed as a polynomially bounded set of a sequence of P-time enumerable MinSets.
Let denote the ER of a node covered by a VMP, .
Representation of a MinSet
A MinSet has a representation similar to that of a VMPSet except for the additional attributes for the common ER and the incident -edges. For notational convenience, the common ER at the 3rd node is not being captured, although it can differ between any two .
Notation: The labeling of nodes and edges in
Assuming the nodes in are labeled from using decimal numbers, a node is then labeled as , while the -edges are labled by , where is used as a delimiter to separate the node labels. When the node numbers are , we will ignore this delimiter .
Finding the MinSets of a C VMPSet
We begin with an example C VMPSet, showing how do the various MinSets compose a C VMPSet. We show how a MinSet is determined for the various values of ERs of and in the subset of a in a bipartite graph. We consider two cases: a) when , and b) when .
Here the two MinSets differ in the common -edge incident at .
Proof. By Definition ?, for a fixed , two MinSets in can differ only due to 3rd distinguished node because of the incident -edges can make its ER to be different. For any other node at positions , a non-null ER would imply MinSets of shorter length.
Moreover, the first two nodes do not have any -edges incident on them. Thus, the 3rd node is the only one left that can induce subsets of due to its two possible ERs resulting from the incident -edges.
Now the ER of this 3rd distinguished node, , can take at the most 4 values corresponding to the 4 possible subsets of the edge pair in . Therefore, for any fixed ,
. Clearly, any of length more than 3 can have an empty MinSet, , because of the non null edge requirements.
Proof. The bound follows from the bound on the maximum number of mdags covered by any in a given node partition, where there can be mdags, at any node .
The Structure of a C VMPSet Partition
We will now show the exact composition of a C VMPSet in terms of its components, the MinSets.
The Covering MinSet- a subset of CVMPSet
Now we show how each can be partitioned into disjoint subsets which are equivalence classes represented by a sequence of MinSets. We first define this MinSet sequence and then show how does it cover a .
Let denote the product of two or more adjacent MinSets, similar to the product of VMPSets.
The following Lemma ? precisely states the composition of a in terms of its MinSet sequences.
(The proof is deferred until after the counting algorithm)
The Equivalence Class- MinSet Sequences
We define a new equivalence class induced by the following equivalence relation over the
set C VMPSet.
The Equivalence Relation
Proof. Follows from Property ?.
Proof. Note that each mdag in the mdag sequence induced by the nodes with is unique because of the uniqueness of the missing edges in the bipartite graph.
Now one can view each MinSet sequence, , as words composed out of unique mdags with , and without repetitions.
Thus, two MinSet sequences are identical iff the two sequences of the “delimiting” mdags are identical. Hence each sequence of unique mdags gives rise to a unique sequence in .
Proof. Note that for each fixed mdag , ,
and (Lemma ?).
Partitions Induced by the MinSet Prefixes
The following Lemma is another version of representing a C VMPSet partition induced by the prefix MinSets.
Let denote a class of MinSets, , containing VMPs of length . Also, we define all MinSet sequences of zero length , , to be an identity, , such that
Proof. The proof follows from Lemma ?, Property ? and Property ?.
The following figures ([Figure 16 and Figure 17]) depict the partition implied by , i.e., how prefix MinSets induce polynomially many () equivalence classes containing exponentially many sequences in .
A Generating Set for the MinSet Sequences
Before we can describe the counting algorithm, we need one more generating set to consolidate the generation of all the MinSets shared by the various CVMPSets through their CMS partitions. To accomplish this we define a generating set, called , for generating the Covering MinSets which constitute a partition of C VMPSet.
Note that contains all the MinSet prefixes for exponentially many sequences, , for all in .
The following two properties follow from the definitions of GMS and CMS.
Note that is precisely the set of all the which connect the pair of mdags, , by all the VMPs in in , where .
Thus, this bound is same as the bound on the number of edges in a graph with nodes.
Therefore, by Lemma ?,