Circuit Bounds for Bipartite Matching in Planar Grid Graphs

Aayush Ojha, 13009

Sarthak Garg, 13624

Project Advisor:- Dr. Raghunath Tewari

Preliminaries

  • Grid Graphs:- Graphs that can be embedded in a planar integral lattice and all edges are between neighboring points in lattice.
  •           :- Family of Circuits with AND, OR, and NOT gates and having unbounded fan-in for AND and OR gates. Constant depth.
  •            :- All gates from         and               gates for all     . "AC with counters". Constant depth.
  • Semigroups:- A set along with an associative binary operation over it.
  • Monoids:- Semigroups with identity.
  • Solvable Monoid:- All groups contained in Monoid are solvable.
  • Aperiodic Monoid:- All groups contained in Monoid are trivial.
AC^0
AC0AC^0
AC^0
AC0AC^0
Mod\, m
ModmMod\, m
ACC^0
ACC0ACC^0
m
mm

Preliminaries

Monoid Word Problem:-  Given                                      

                find                         ,

        where       is a monoid and     is monoid product.

 

Non Uniform DFA over Monoids:- For a length n, let advice be a mapping    from alphabets to monoid elements then for a string 

                      we output                                           . 

 

                   iff     is recognized by NUDFA over aperiodic monoid.

                   iff     is recognized by NUDFA over solvable monoid.

x_1, x_2,\ldots,x_n \in \mathcal{M}
x1,x2,,xnMx_1, x_2,\ldots,x_n \in \mathcal{M}
x_1\circ x_2 \circ \ldots x_n
x1x2xnx_1\circ x_2 \circ \ldots x_n
\mathcal{M}
M\mathcal{M}
\circ
\circ
a_1a_2a_3\ldots a_n
a1a2a3ana_1a_2a_3\ldots a_n
f(a_1)\circ f(a_2) \circ \ldots \circ f(a_n)
f(a1)f(a2)f(an)f(a_1)\circ f(a_2) \circ \ldots \circ f(a_n)
f
ff
L \in AC^0
LAC0L \in AC^0
L
LL
L \in ACC^0
LACC0L \in ACC^0
L
LL

Preliminaries

Concatenation of grid graphs

G_1
G1G_1
G_2
G2G_2
G_1 \oplus G_2
G1G2G_1 \oplus G_2

Motivation

Recently, It was shown that Bipartite Matching for Grid Graph is

in            by Hansen et al.

They reduced it to Monoid word problem using NUDFA over Monoid. Then they showed that underlying Monoid is solvable. Although this might be a loose result.

 

So we aim to show that underlying Monoid is aperiodic. This will put  Bipartite Matching for Grid Graph in        .

 

Known lower bound for this problem is        thus if proved this will

be a tight bound. 

 

 

 

 

ACC^0
ACC0ACC^0
AC^0
AC0AC^0
AC^0
AC0AC^0

Conditions for Aperiodic Monoid

Underlying Monoid:-

\mathcal{M} = \{ G^{\mathcal{M}}: \text{G is an odd length grid layered planar graph} \} \cup \{1\} \cup \{0\}
M={GM:G is an odd length grid layered planar graph}{1}{0}\mathcal{M} = \{ G^{\mathcal{M}}: \text{G is an odd length grid layered planar graph} \} \cup \{1\} \cup \{0\}
G^{\mathcal{M}} = (X,Y,R)
GM=(X,Y,R)G^{\mathcal{M}} = (X,Y,R)
(A,B) \in R \text{ there is a matching for all vertices except } \overline{A} \text{ and } B
(A,B)R there is a matching for all vertices except A and B(A,B) \in R \text{ there is a matching for all vertices except } \overline{A} \text{ and } B
X\text{ is set of vertices in leftmost layer of } G
X is set of vertices in leftmost layer of GX\text{ is set of vertices in leftmost layer of } G
Y\text{ is set of vertices in rightmost layer of } G
Y is set of vertices in rightmost layer of GY\text{ is set of vertices in rightmost layer of } G

Binary Operation:-

(X_1,Y_1,R)(X_2,Y_2,S) = (X_1,Y_2,R \circ S) \text{ for } Y_1 = X_2.
(X1,Y1,R)(X2,Y2,S)=(X1,Y2,RS) for Y1=X2.(X_1,Y_1,R)(X_2,Y_2,S) = (X_1,Y_2,R \circ S) \text{ for } Y_1 = X_2.
\text{Otherwise, } (X_1,Y_1,R)(X_2,Y_2,S) = 0
Otherwise, (X1,Y1,R)(X2,Y2,S)=0\text{Otherwise, } (X_1,Y_1,R)(X_2,Y_2,S) = 0
1x=x=x1
1x=x=x11x=x=x1
0x=0=x0
0x=0=x00x=0=x0

Conditions for Aperiodic Monoid

Monoid Product is corresponding to graph concatenation

\text{Let } S \text{ be any grid graph of } w \text{ rows and } l \text{(odd) columns}
Let S be any grid graph of w rows and l(odd) columns\text{Let } S \text{ be any grid graph of } w \text{ rows and } l \text{(odd) columns}
G = S \oplus S \oplus \ldots
G=SSG = S \oplus S \oplus \ldots
G \text{ is an infinite graph. We call each } S \text{ a block.}
G is an infinite graph. We call each S a block.G \text{ is an infinite graph. We call each } S \text{ a block.}
\text{Suppose }G \text{ has a perfect matching and }M_i\text{ be matching edges in } i_{th} \text{ block.}
Suppose G has a perfect matching and Mi be matching edges in ith block.\text{Suppose }G \text{ has a perfect matching and }M_i\text{ be matching edges in } i_{th} \text{ block.}
\tilde{G_i} = M_i \cup M_{i+1} \text{. We say } M_i \text{ matching and } M_{i+1} \text{ projected edges in } \tilde{G_i}
Gi~=MiMi+1. We say Mi matching and Mi+1 projected edges in Gi~\tilde{G_i} = M_i \cup M_{i+1} \text{. We say } M_i \text{ matching and } M_{i+1} \text{ projected edges in } \tilde{G_i}
\tilde{G} = \tilde{G_1} \oplus \tilde{G_2} \oplus \ldots
G~=G1~G2~\tilde{G} = \tilde{G_1} \oplus \tilde{G_2} \oplus \ldots

Conditions for Aperiodic Monoid

\tilde{G} = \tilde{G_1} \oplus \tilde{G_2} \oplus \ldots
G~=G1~G2~\tilde{G} = \tilde{G_1} \oplus \tilde{G_2} \oplus \ldots
\text{Non-existence of infinite path in } \tilde{G}
Non-existence of infinite path in G~\text{Non-existence of infinite path in } \tilde{G}
\forall m \exists( n = km) \text{ st. no path exists from first layer }
m(n=km) st. no path exists from first layer \forall m \exists( n = km) \text{ st. no path exists from first layer }
\text{ to rightmost layer of } n_{th} \text{ block}
 to rightmost layer of nth block\text{ to rightmost layer of } n_{th} \text{ block}

Important Properties

\tilde{G} \text{ can have infinite paths, path segments and closed loops}
G~ can have infinite paths, path segments and closed loops\tilde{G} \text{ can have infinite paths, path segments and closed loops}
\text{For every matching edge in } i_{th}\text{ block there is a corresponding }
For every matching edge in ith block there is a corresponding \text{For every matching edge in } i_{th}\text{ block there is a corresponding }
\text{projected edge in } (i-1)_{th}\text{ block.}
projected edge in (i1)th block.\text{projected edge in } (i-1)_{th}\text{ block.}
\text{Direction of a matching edge and projected edge is opposite.}
Direction of a matching edge and projected edge is opposite.\text{Direction of a matching edge and projected edge is opposite.}
\text{For every path, P, we have a projected path } \hat{P} \text{ formed by}
For every path, P, we have a projected path P^ formed by\text{For every path, P, we have a projected path } \hat{P} \text{ formed by}
\text{1) Corresponding matching edges to projected edges in P}
1) Corresponding matching edges to projected edges in P\text{1) Corresponding matching edges to projected edges in P}
\text{2) Forward projecting every matching edge in P to next block}
2) Forward projecting every matching edge in P to next block\text{2) Forward projecting every matching edge in P to next block}

Closed Region

\text{A set of points that can be matched with themselves.}
A set of points that can be matched with themselves.\text{A set of points that can be matched with themselves.}
\text{Every Closed Region must have even number of points.}
Every Closed Region must have even number of points. \text{Every Closed Region must have even number of points.}
\text{A path which always moves forward is } H\text{-monotone}
A path which always moves forward is H-monotone\text{A path which always moves forward is } H\text{-monotone}

H-monotone and V-monotone Paths

\text{A path which continuously goes down to bottom row and then }
A path which continuously goes down to bottom row and then \text{A path which continuously goes down to bottom row and then }
\text{continuously up to top row and so on is } V\text{-monotone.}
continuously up to top row and so on is V-monotone.\text{continuously up to top row and so on is } V\text{-monotone.}

Our Results

\text{No infinite Paths for } n=2 \text{ and } 3
No infinite Paths for n=2 and 3\text{No infinite Paths for } n=2 \text{ and } 3
\text{Non-existence of infinite } H\text{-monotone and }V\text{-monotone paths}
Non-existence of infinite H-monotone and V-monotone paths\text{Non-existence of infinite } H\text{-monotone and }V\text{-monotone paths}
\text{Non-existence of infinite } V\text{-monotone paths}
Non-existence of infinite V-monotone paths\text{Non-existence of infinite } V\text{-monotone paths}
\text{Non-existence of infinite paths which goes from top row to bottom row}
Non-existence of infinite paths which goes from top row to bottom row\text{Non-existence of infinite paths which goes from top row to bottom row}
\text{Non-existence of infinite } H\text{-monotone and }V\text{-monotone paths}
Non-existence of infinite H-monotone and V-monotone paths\text{Non-existence of infinite } H\text{-monotone and }V\text{-monotone paths}
\text{Consider a segment } P\text{ of such a path going from the top to the bottom row.}
Consider a segment P of such a path going from the top to the bottom row.\text{Consider a segment } P\text{ of such a path going from the top to the bottom row.}
\text{This segment leads to the formation of a closed region }C \text{.}
This segment leads to the formation of a closed region C.\text{This segment leads to the formation of a closed region }C \text{.}
\text{The left boundary of } C \text{ is formed by the matching edges of } P \text{.}
The left boundary of C is formed by the matching edges of P.\text{The left boundary of } C \text{ is formed by the matching edges of } P \text{.}
\text{The right boundary of } C \text{ is formed by the matching edges of } \hat{P} \text{.}
The right boundary of C is formed by the matching edges of P^.\text{The right boundary of } C \text{ is formed by the matching edges of } \hat{P} \text{.}
\text{We will show that the number of vertices in } C\text{ is odd.}
We will show that the number of vertices in C is odd.\text{We will show that the number of vertices in } C\text{ is odd.}
\text{The segment } P \text{ enters and exits the } i^{th} \text{ row exactly once.}
The segment P enters and exits the ith row exactly once.\text{The segment } P \text{ enters and exits the } i^{th} \text{ row exactly once.}
C(i) = \text{number of vertices in } C \text{ present in the } i^{th} \text{ row.}
C(i)=number of vertices in C present in the ith row.C(i) = \text{number of vertices in } C \text{ present in the } i^{th} \text{ row.}
C \text{ is set of points enclosed by two boundaries.}
C is set of points enclosed by two boundaries.C \text{ is set of points enclosed by two boundaries.}
\text{Non-existence of infinite } H\text{-monotone and }V\text{-monotone paths}
Non-existence of infinite H-monotone and V-monotone paths\text{Non-existence of infinite } H\text{-monotone and }V\text{-monotone paths}
\text{ Case 1: Enters by a matching edge and exits by a matching edge}
 Case 1: Enters by a matching edge and exits by a matching edge\text{ Case 1: Enters by a matching edge and exits by a matching edge}
C(i) \equiv 0 \text{ mod } 2
C(i)0 mod 2C(i) \equiv 0 \text{ mod } 2
\text{ Case 2: Enters by a matching edge and exits by a projected edge}
 Case 2: Enters by a matching edge and exits by a projected edge\text{ Case 2: Enters by a matching edge and exits by a projected edge}
C(i) \equiv 1 \text{ mod } 2
C(i)1 mod 2C(i) \equiv 1 \text{ mod } 2
\text{ Case 3: Enters by a projected edge and exits by a matching edge}
 Case 3: Enters by a projected edge and exits by a matching edge\text{ Case 3: Enters by a projected edge and exits by a matching edge}
C(i) \equiv 1 \text{ mod } 2
C(i)1 mod 2C(i) \equiv 1 \text{ mod } 2
\text{ Case 4: Enters by a projected edge and exits by a projected edge}
 Case 4: Enters by a projected edge and exits by a projected edge\text{ Case 4: Enters by a projected edge and exits by a projected edge}
C(i) \equiv 0 \text{ mod } 2
C(i)0 mod 2C(i) \equiv 0 \text{ mod } 2
\text{Non-existence of infinite } H\text{-monotone and }V\text{-monotone paths}
Non-existence of infinite H-monotone and V-monotone paths\text{Non-existence of infinite } H\text{-monotone and }V\text{-monotone paths}
\text{Except last row}
Except last row\text{Except last row}
\text{ if } P \text{ enters with projected edge}
 if P enters with projected edge\text{ if } P \text{ enters with projected edge}
\text{Last row suffers a parity change by the unmatched last point in } P
Last row suffers a parity change by the unmatched last point in P\text{Last row suffers a parity change by the unmatched last point in } P
\text{ if } P \text{ enters with matching edge}
 if P enters with matching edge\text{ if } P \text{ enters with matching edge}
\text{Region is not closed, so we add a Projected horizontal edge to } P
Region is not closed, so we add a Projected horizontal edge to P\text{Region is not closed, so we add a Projected horizontal edge to } P
\text{Last row suffers a parity change by the unmatched last point in } P
Last row suffers a parity change by the unmatched last point in P\text{Last row suffers a parity change by the unmatched last point in } P
\text{Thus, } C \text{ contains odd number of points.}
Thus, C contains odd number of points.\text{Thus, } C \text{ contains odd number of points.}
\text{Non-existence of infinite } V\text{-monotone paths}
Non-existence of infinite V-monotone paths\text{Non-existence of infinite } V\text{-monotone paths}
\text{Same proof works }
Same proof works \text{Same proof works }
\text{In each row, we either always go left or always go right.}
In each row, we either always go left or always go right.\text{In each row, we either always go left or always go right.}
\text{Non-existence of infinite paths which goes from top row to bottom row}
Non-existence of infinite paths which goes from top row to bottom row\text{Non-existence of infinite paths which goes from top row to bottom row}

Top Row

Bottom Row

i^{th}\text{ row}
ith rowi^{th}\text{ row}
\text{Define } C(i) \text{ as shown}
Define C(i) as shown\text{Define } C(i) \text{ as shown}

Future Works

\text{1) Generalising to any grid graph (Our results are for complete grid graphs)}
1) Generalising to any grid graph (Our results are for complete grid graphs)\text{1) Generalising to any grid graph (Our results are for complete grid graphs)}
\text{3) Identifying more Closed Regions and their analysis}
3) Identifying more Closed Regions and their analysis\text{3) Identifying more Closed Regions and their analysis}
\text{4) Structure of Closed Regions, having even vertices but no perfect matching}
4) Structure of Closed Regions, having even vertices but no perfect matching\text{4) Structure of Closed Regions, having even vertices but no perfect matching}
\text{5) Show problem to be }AC^0\text{-Hard.}
5) Show problem to be AC0-Hard.\text{5) Show problem to be }AC^0\text{-Hard.}
\text{2) Showing that all groups } \mathcal{G} \subset \mathcal{M} \text{ have order } m^{k} \text{.}
2) Showing that all groups GM have order mk.\text{2) Showing that all groups } \mathcal{G} \subset \mathcal{M} \text{ have order } m^{k} \text{.}
\text{ This will put problem in } AC^0[m]
 This will put problem in AC0[m]\text{ This will put problem in } AC^0[m]

References

NC^1
NC1NC^1

Towards Strict Circuit Bounds for Bipartite Matching

By Sarthak Garg

Towards Strict Circuit Bounds for Bipartite Matching

  • 257