An Extension of the Permutation Group Enumeration Technique(Collapse of the Polynomial Hierarchy: \mathbf{NP=P})

An Extension of the Permutation Group Enumeration Technique
(Collapse of the Polynomial Hierarchy: )

Javaid Aslam111 ©Copyright Javaid Aslam 2009-2017, Santa Clara, CA 95054 All rights reserved.
July 3, 2019

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.

Keywords: Perfect Matching, Permutation Group Enumeration, Counting Complexity, NP-Completeness, Polynomial Hierarchy.

1 Introduction

Enumeration problems [GJ79] 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 [Val79a]. As noted by Jerrum [Jerrum94counting], 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  [Val79] even though the associated search problem has long been known to be in  [kuhn55, egervary, Edmonds65].

Enumeration of a permutation group has long been known to be in ([Butler91, LNCS82]). 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.

Figure 1: A Hierarchy of the Coset
Decompositions of

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 .

Figure 2: The Extended Partition Hierarchy

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

Figure 3: Partition of a CVMPSet into
MinSet Sequences

Main results of this paper are summarized as follows:

  1. The Mapping : Section 3 develops the concepts leading to the graph theoretic counterparts of the permutation group generating set. It defines the mapping (Lemma 3.5) of a specific generating set of to a set of graph theoretic structures.

  2. 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 LABEL:L:CountofCMS states how exponentially many MinSet sequences in any CVMPSet are partitioned into polynomially many equivalence classes of polynomially many prefixes to the MinSet sequences.

  3. Polynomial Time Enumeration: Algorithm LABEL:ALG:countMatchings describes a high level logic to count all the perfect matchings in time .

Section LABEL:S:conclusion provides the conclusion, collapse of the Polynomial Time Hierarchy.

2 Preliminaries: Group Enumeration

The following concepts can be found in many standard books (including [Butler91]) on permutation group theory. The notations and definitions used here are taken mostly from  [LNCS82].

2.1 The 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:

  1. .

  2. there exists an element, , called the identity, such that .

  3. , 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.2 The 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  [GJ79] 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 (2.2) gives rise to a generating set given by the following Theorem  [LNCS82].

Theorem 2.1.

[LNCS82] Let be a set of right coset representatives for in . Then a generating set of the group is given by


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. (2.2), the set of coset representatives are [LNCS82]


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 (2.2) 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 .

Table 1: The Generators of

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.

3 The 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. (2.7), with the Right Coset Decomposition (Eqn. (2.1)) for group enumeration.

First we develop the concepts for defining the permutation multiplication in a bipartite graph.

3.1 Permutation Multiplication in a Bipartite Graph

Let be a bipartite subgraph of on nodes, and let denote a perfect matching in realizing a permutation .

Theorem 3.1.

Let be realized as a perfect matching in . Then for any transposition, , the product is also realized by iff contains a cycle of length 4 such that the two alternate edges in the cycle are covered by and the other two by .

(The proof is in Appendix LABEL:ap:multBasic1)


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.

Figure 4: Permutation Multiplication in a Bipartite Graph

3.2 Graph 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 (2.7) to a set of edge pairs in with the help of Theorem 3.1.

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 3.1, 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 .

Figure 5: Multiplication by a Coset Representative
Corollary 3.2.

Let be a complete bipartite graph, and be a set of right coset representatives of in given by Eqn. (2.6). Then, for each , and for each , is realized by using a unique edge pair, in , which forms a cycle of length 4 with and represents for a given , such that .

When the coset representative is an identity, we have a special case of the above behavior where the edge pair reduces to one edge for each .

Definition 3.3.

A partition representative, , , for the subgraph in is defined as:


where is a cycle of length 4 in .

The following Property states how each is partitioned into equivalence classes induced by each .

Property 3.4.

For each , if is fixed, then the subset of that can realize is:


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 .

Lemma 3.5.

There exists a 1-1 mapping

s.t., , is realized by a unique pair using a unique cycle of length 4 in , defined by , such that the edge pair is covered by , and the other two alternate edges in the cycle are covered by .
When , the identity in , the cycle collapses to one edge covered by and both.


Follows from Corollary 3.2 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 .

Definition 3.6.

A generating set, denoted as , for generating all the perfect matchings in a complete bipartite graph is defined as


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

Definition 3.7.

Two edge pairs and , are said to be related by the relation , denoted as , if , , such that is realized by , conforming to Corollary 3.2.


Figure 6: The Edge Pairs Forming the Cycles and the Relation
Lemma 3.8.

The relation is transitive.


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 3.2. 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)].
Therefore, .
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

Definition 3.9.

Any two edge pairs and in are said to be disjoint if (i) the corresponding edges in the bipartite graph are vertex-disjoint, and (ii) is false.

When the disjoint edge pairs and belong to two adjacent node partitions, i.e., and , and are said to be related as .

3.3 The 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. (3.3)).

Definition 3.10.

The generating graph for a complete bipartite graph on nodes is defined as

Figure 7: The Generating Graph for

Thus the generating graph is an -partite directed acyclic graph where the nodes in the partition are from (Eqn. (3.1)), 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.

Definition 3.11.

An -path, is a sequence of adjacent -edges between the two nodes such that .

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.

Property 3.12.

The following attributes of the generating graph follow from the Properties stated in Appendix LABEL:a:genGraphProps.

Definition 3.13.

An -path, is a sequence of adjacent -edges between the two nodes such that .
Length of an -path is the number of adjacent -edges between the node pair .

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.

3.3.1 Valid Multiplication Path (VMP)

Definition 3.14.

Let be any path formed by adjacent - and -edges in such that exactly one node is covered in each node partition , where , . Then is a valid multiplication path if on , , we have either or the edge pairs and , are vertex-disjoint in and is false.

Further, is a complete valid multiplication path (CVMP) if every -edge, (direct or jump edge) in , , is covered by .

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 .

Definition 3.15.

A Multiplying Directed Acyclic Graph (MDAG), denoted as , is a general specification for “multiplying” two nodes and in adjacent node partitions where , and defines an -edge such that all three nodes, , and are covered by a common VMP. Clearly, in the extreme case reduces to an -edge defined by , with .

Figure 8: A Simple mdag

3.3.2 Perfect Matching Represented by a CVMP

The following Lemma follows directly from Lemma LABEL:a:L:CVMP-perm

Lemma 3.16.

Every , in , of length , where , represents a unique permutation realized as a perfect matching in given by


where is a transposition defined by the edge pair , and is a set of right coset representatives of the subgroup in such that generates .

4 The 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 CVMPSets and MinSet sequences:

In this Section we develop these two key structures and the associated enumeration algorithms for the perfect matchings.

4.1 The CVMPSet

A CVMPSet 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.

Definition 4.1.

A is a set of all the VMPs between an mdag pair , in the node partition pair ,, in the generating graph .

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 [9] shows a subset of a CVMPSet between two fixed mdags at nodes (16,31) and (57,85).

Figure 9: A Subset of

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 .

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

Property 4.2.

All CVMP sets, , are mutually disjoint for each mdag pair and each .


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

Property 4.3.

There are at the most CVMP sets, , between any node pair in a generating graph .


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

4.1.1 Partition of a Coset into CVMPSets

Lemma 4.4.

Each Coset of a subgroup can be partitioned into a family of equivalence classes, viz., the CVMPSets, as follows:


where , , .


The proof follows essentially from Property 4.2 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 CVMPSet 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 .

Note. For each node there are distinct over which the above union operation in (4.3) is performed.

4.1.2 Coverage of the Symmetric Group

Property 4.5.

All the CVMPSets of length in jointly contain unique CVMPs representing precisely the permutations in . That is,


The proof follows from (4.3) of Lemma 4.4.
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 4.2).

4.1.3 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 4.4 and 4.5.

  Input: generating graph ;
  Output: count of Prefect Matchings in ;


Step (a): Inductively compute all CVMPSets
1:  for  node partitions to  do
2:     for all nodes  do
3:        for all   do
4:           compute all ;
5:        end for
6:     end for
7:  end for
Step (b): Sum the counts in each CVMPSet
Algorithm 4.1 CountAllPerfectMatchings ()

As we shall see that the most complex step in the above algorithm 4.1 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