Derandomizing Isolation Lemma for K 3,3 -free and K 5 -free Bipartite Graphs
DDerandomizing Isolation Lemma for K , -free and K -freeBipartite Graphs Rahul Arora, Ashu Gupta, Rohit Gurjar, and Raghunath Tewari [email protected], [email protected], [email protected], [email protected]
Indian Institute of Technology Kanpur
Abstract
The perfect matching problem has a randomized NC algorithm, using the celebratedIsolation Lemma of Mulmuley, Vazirani and Vazirani. The Isolation Lemma states thatgiving a random weight assignment to the edges of a graph, ensures that it has a uniqueminimum weight perfect matching, with a good probability. We derandomize this lemma for K , -free and K -free bipartite graphs, i.e. we give a deterministic log-space construction ofsuch a weight assignment for these graphs. Such a construction was known previously forplanar bipartite graphs. Our result implies that the perfect matching problem for K , -freeand K -free bipartite graphs is in SPL . It also gives an alternate proof for an already knownresult – reachability for K , -free and K -free graphs is in UL . The perfect matching problem is one of the most extensively studied problem in combinatorics,algorithms and complexity. In complexity theory, the problem plays a crucial role in the studyof parallelization and derandomization. In a graph G ( V, E ), a matching is a set of disjoint edgesand a matching is called perfect if it covers all the vertices of the graph. Edmonds [Edm65]gave the first polynomial time algorithm for the matching problem. Since then, there have beenimprovements in its sequential complexity [MV80], but an NC (efficient parallel) algorithm forit is not known. The perfect matching problem has various versions: • Decision-PM : Decide if there exists a perfect matching in the given graph. • Search-PM : Construct a perfect matching in the given graph, if it exists.A randomized NC ( RNC ) algorithm for
Decision-PM was given by [Lov79]. Subsequently,
Search-PM was also shown to be in
RNC [KUW86, MVV87]. The solution of Mulmuley etal. [MVV87] was based on the powerful idea of
Isolation Lemma . They defined a notion of anisolating weight assignment on the edges of a graph. Given a weight assignment on the edges,weight of a matching M is defined to be the sum of the weights of all the edges in it. Definition 1 ([MVV87]) . For a graph G ( V, E ) , a weight assignment w : E → N is isolating ifthere exists a unique minimum weight perfect matching in G , according to w . The Isolation Lemma states that a random weight assignment (polynomially bounded) isisolating with a good probability. Other parts of the algorithm in [MVV87] are deterministic.They showed that if we are given an isolating weight assignment (with polynomially boundedweights) for a graph G then a perfect matching in G can be constructed in NC . Later, Allenderet al. [ARZ99] showed that the Decision-PM is in
SPL , if an isolating weight assignment can1 a r X i v : . [ c s . CC ] N ov e constructed in L (see also [DKR10]). A language L is in class SPL if its characteristic function χ L : Σ ∗ → { , } can be (log-space) reduced to computing determinant of an integer matrix.Derandomizing the Isolation Lemma remains a challenging open question. It has been de-randomized for some special classes of graphs: planar bipartite graphs [DKR10, TV12], constantgenus bipartite graphs [DKTV12], graphs with small number of matchings [GK87, AHT07] andgraphs with small number of nice cycles [Hoa10]. A graph G is bipartite if its vertex set can bepartitioned into two parts V , V such that any edge is only between a vertex in V and a vertexin V . A graph is planar if it can be drawn on a plane without any edge crossings.We make a further step towards the derandomization of Isolation Lemma. We derandomizeit for K , -free bipartite graphs and K -free bipartite graphs. These classes are generalizationsof planar bipartite graphs. For a graph H , G is an H -free graph if H is not a minor of G . K , is the complete bipartite graph with (3 ,
3) nodes and K is the complete graph with 5 nodes. Aplanar graph is simultaneously K , -free and K -free. Theorem 1.
For a K , -free or K -free bipartite graph, an isolating weight assignment (poly-nomially bounded) can be constructed in log-space. This theorem together with the results of Allender et al. [ARZ99] and Datta et al. [DKR10]gives us the following results about matching.
Corollary 2.
For a K , -free or K -free bipartite graph, • Decision-PM is in
SPL . • Search-PM is in FL SPL . • Min-Weight-PM is in FL SPL . Here, FL SPL refers to a log-space transducer with access to an
SPL oracle. The problem
Min-Weight-PM asks to construct the minimum weight perfect matching in a given graphwith polynomially bounded weights on its edges.For K , -free bipartite and K -free bipartite graphs, an NC algorithm for Search-PM was known. This is implied by combining two results: (i)
Count-PM (counting the num-ber of perfect matchings) is in NC for K , -free graphs [Vaz89] and K -free graphs [STW14](ii) Search-PM NC -reduces to Count-PM for bipartite graphs [KMV08]. The limitation ofthis idea is that
Count-PM is P -hard for general bipartite graphs. Thus, there is no hopeof generalizing this approach to work for all graphs. While, our ideas can potentially lead to asolution for general/bipartite graphs.After our work, small genus bipartite graphs is the only remaining class of bipartite graphs forwhich Count-PM is in NC [GL99, KMV08], but construction of an isolating weight assignmentis not known. Main Idea:
We start with the idea of Datta et al. [DKR10] which showed that nonzero circu-lation (weight in a fixed orientation) for every nice cycle implies isolation of a perfect matching.To achieve nonzero circulation in a K , -free or K -free graph, we work with its 3-connected or4-connected component decomposition given by [Wag37, Asa85] (can be constructed in log-space[TW14, STW14]). The components are either planar or constant-sized. These components forma tree structure, when components are viewed as a node and there is an edge between two com-ponents if they share a separating pair/triplet. For any cycle C , we break it into its fragmentscontained within each of these components, which we call projections of C . These projectionsthemselves are cycles. 2irculation of any cycle can be seen as a sum of circulations of its projections. The compo-nents, where a cycle has a non-empty projection, form a subtree of the component tree. The ideais to assign weights such that there is ‘central’ node in this subtree which gets a weight higherthan the total weight coming from other nodes in the subtree. Weights within a component aregiven by modifying the already known techniques for planar graphs [DKR10, Kor09, TV12] andconstant sized graphs.This idea would work only if the component tree has a small depth, which might not be truein general. Thus, we create an O (log n )-depth working tree, which has the same nodes as thecomponent tree but the edge relations are different. The working tree ‘preserves’ the subtreestructure in some sense. This working tree can be constructed using the standard recursiveprocedure for finding a set of centers. But, a log-space implentation needed a non-trivial idea(Section 3.3).As there are O (log n ) levels, we need to ensure that at every level the total weight getsmultiplied by only a constant. Thus, in a planar component, every edge cannot be assigneda weight on a higher scale. Instead, we choose only those edges which surround a separatingpair/triplet, and scale their weight by the total weight coming from the subtree attached at thatseparating pair/triplet.Achieving non-zero circulation in log-space also puts directed rechability in UL [RA00,BTV09, TV12]. Thus, we get an alternate proof for the result – directed reachability for K , -freeand K -free graphs is in UL [TW14].In Section 2, we introduce the concepts of nonzero circulation, clique-sum, graph decompo-sition and the corresponding component tree. In Section 3, we give a logspace constrcution ofa weight assignment with nonzero circulation for every cycle, for a class of graphs defined viaclique-sum operations on planar and constant-sized graphs. In Section 4, we argue that K , -freeand K -free graphs fall into this class. Let us first define a skew-symmetric weight function on the edges of a graph. For this, we considerthe edges of the graph directed in both the directions. We call this directed set of edges (cid:126)E . Aweight function w : (cid:126)E → Z is called skew-symmetric if for any edge ( u, v ), w ( u, v ) = − w ( v, u ). Definition 3.
For a cycle C , whose edges are given by { ( v , v ) , ( v , v ) , . . . , ( v k − , v k ) , ( v k , v ) } ,its circulation is defined to be w ( v , v ) + w ( v , v ) + · · · + w ( v k , v ) . Clearly, as our weight function is skew-symmetric, changing the orientation of the cycle,only changes the sign of the circulation. The following lemma [TV12, Theorem 6] gives theconnection between nonzero circulations and isolation of a matching. For a bipartite (undirected)graph G ( V , V , E ), a skew-symmetric weight function w : (cid:126)E → Z on its edges, has a naturalinterpretation on the undirected edges as w : E → Z such that w( u, v ) = w ( u, v ), where u ∈ V and v ∈ V . Lemma 4 ([TV12]) . Let w : (cid:126)E → Z is skew-symmetric weight function on the edges of a bipartitegraph G such that every cycle has a non-zero circulation. Then, w : E → Z is an isolating weightassignment for G . The bipartiteness assumption is needed only in the above lemma. We will construct a skew-symmetric weight function that guarantees nonzero circulation for every cycle, for K , -free and K -free graphs, i.e. without assuming bipartiteness.3 u va bc u v u v b c a G a b G G c Figure 1: Graph G obtained by taking (i) 2-clique-sum of G and G by identifying (cid:104) u , v (cid:105) with (cid:104) u , v (cid:105) and (ii) 3-clique-sum of the resulting graph with G by identifying (cid:104) a , b , c (cid:105) with (cid:104) a , b , c (cid:105) . We will show construction of a nonzero circulation weight assignment for a special class ofgraphs, defined via a graph operation called clique-sum . Definition 5 (Clique-Sum) . Let G and G be two graphs each containing a clique (of samesize). A clique-sum of graphs G and G is obtained from their disjoint union by identifyingpairs of vertices in these two cliques to form a single shared clique, and by possibly deletingsome of the edges in the clique. It is called a k -clique-sum if the cliques involved have at most k vertices. One can form clique-sums of more than two graphs by a repeated application of clique-sumoperation on two graphs (see Figure 1 in Appendix A). Using this, we define a new class ofgraphs.Let P c be the class of all planar graphs together with all graphs of size at most c , where c is a constant. Define (cid:104)P c (cid:105) k to be the class of graphs constructed by repeatedly taking k -clique-sums, starting from the graphs which belong to the class P c . The starting graphs are called thecomponent graphs. We will construct a nonzero circulation weight assignment for the graphswhich belong to the class (cid:104)P c (cid:105) .Taking 1-clique-sum of two graphs will result in a graph which is not biconnected. As weare interested in perfect matchings, we only deal with biconnected graphs (see Section 4.1).Thus, we assume that every clique-sum operation involves either 2-cliques or 3-cliques. The 2-cliques with respect to which we take cliques-sums are called separating pairs and 3-cliques arecalled separating triplets, as their deletion will make the graph disconnected. In general, theyare called separating sets. Usually, a separating pair/triplet means any pair/triplet of vertices,whose deletion will make the graph disconnected. But, in this section, a separating pair/tripletwill only mean those pairs/triplets which are used in a clique-sum operation. In general, clique-sum operation can be performed many times using the same separating set. Inother words, many components can share a separating set. In Section 4, we show that any graphin (cid:104)P c (cid:105) can be modified via some matching preserving operations such that on decomposition,any separating set is shared by only two components. Henceforth, in this section we assume thisproperty. 4 u va bc u vu vaG G c b G ca b Figure 2: A graph G ∈ (cid:104)P c (cid:105) is shown with its component tree. Dotted circles show the nodesand dotted lines connecting them show the edges of the component tree. Dashed lines representvirtual edges and dotted triangles represent the virtual triangles, in the components.Using this assumption, we can define a component graph for any graph G ∈ (cid:104)P c (cid:105) as follows:each component is represented by a node and two such nodes are connected by an edge ifthe corresponding components share a separating set. Observe that this component graph isactually a tree. This is because when we take repeated clique-sums, a new component can beattached with only one of the already existing components, as a clique will be contained withinone component. In literature [HT73, TW14], the component tree also contains a node for eachseparating set and it is connected by all the components which share this separating set. But,here we can ignore this node as we have only two sharers for each separating set.In the component tree, each component is shown with all the separating sets it shares withother components. Thus, a copy of a separating set is present in both its sharer components.Moreover, in each component, a separating set is shown with a virtual clique, i.e. a virtualedge for a separating pair and a virtual triangle for a separating triplet. These virtual cliquesrepresent the paths between the nodes via other components (see Figure 2). If any two verticesin a separating set have a real edge in G , then that real edge is drawn in one of the sharingcomponents, parallel to the virtual edge. Note that while a vertex can have its copy in twocomponents, any real edge is present in exactly one component.In literature [HT73, TW14], for any real edge in a separating set, the component tree containsa new node called “3-bond” (a real edge with two parallel virtual edges). But, here we do nothave this node and represent the real edge as mentioned above. In this section, we construct a nonzero circulation weight assignment for a given graph in the class (cid:104)P c (cid:105) , provided that the component tree and the planar embeddings of the planar componentsare given. Moreover, to construct this weight assignment we will make some assumptions aboutthe given graph and its component tree.1. In any component, a vertex is a part of at most one separating set.2. Each separating set is shared by at most two components.3. Any virtual triangle in a planar component is always a face (in the given planar embedding).In Section 4 we show how to construct a component tree for a given K , -free or K -freegraph and then to modify it to have these properties. The third property comes naturally, asthe inside and outside parts of any virtual triangle can be considered as different components5 vu vaG G c b G ca b Gu va bc
Figure 3: Breaking a cycle into its component cycles (projections) in the component tree. Noticethat the original cycle and its components share the same set of real edges.sharing this separating triplet. All these constructions are in log-space. Let, in any non-planarcomponent, the number of real edges is bounded by m . In Section 4 we show that this bound is60, for a K , -free or K -free graph. We look at a cycle in the graph as sum of many cycles, one from each component the cycle passesthrough. Intuitively, the original cycle is broken at the separating set vertices which were partof the cycle, thereby generating fragments of the cycle in various nodes of the component tree.In all nodes containing these fragments, we include the virtual edges of the separating sets inquestion to complete the fragment into a cycle, thus resulting in component cycles in the nodesof the tree (see Figure 3).Consider a directed cycle C = { ( v , v ) , ( v , v ) , . . . , ( v k − , v ) } in a graph G = ( V, E ). With-out loss of generality, consider that G is separated into two components G and G via a sep-arating pair ( v i , v ) or a separating triplet ( v i , v , u ), where 1 ≤ i < k and u, v , . . . , v k ∈ V .Then, one of the components, say G , will contain the vertices v i , v i +1 mod k , . . . , v k − , v , andthe other ( G ) will contain the vertices v , v , . . . , v i − , v i . Then the cycles C = { ( v i , v i +1 mod k ) ,. . . , ( v k − , v ) , ( v , v i ) } and C = { ( v , v ) , . . . , ( v i − , v i ) , ( v i , v ) } in G and G respectively arethe component cycles of C , and we say that C is the sum of C and C . Observe that the edges( v i , v ) and ( v , v i ) are virtual.Repeat the processes recursively for C and C until no separating set breaks a cycle com-ponent, and we get the component cycles of the cycle C . Note that any edge in C is containedin one and only one of the component cycles, and for any component cycle, all its edges, otherthan the virtual edges, are contained in C .Observe that for any separating set in a component, a cycle can use one of its vertices to goout of the component and another vertex to come in (this transition is represented by a virtualedge in the component). As any separting set has size at most 3, a cycle can visit a node ofthe component tree only once. In other words, a cycle can have only one component cycle inany component tree node (this would not be true if we had separating sets of size 4). Also, acomponent cycle can take only one edge of any virtual triangle. Definition 6 (Projection of a cycle) . For a given component node N in the component tree, thecomponent cycle of a cycle C in N is called the projection of C on N . If there is no componentcycle of C in N , then C is said to have an empty projection on N . Lemma 7.
The circulation of a cycle is the sum of the circulations of its component cycles.
It is easy to see that for any cycle C , the components on which C has a non-empty projection,form a subtree of the component tree. The actual weight function we employ is a combination of two weight functions w and w .They are combined with an appropriate scaling so that they do not interfere with each other. w assures that all the cycles which are within one component have a non-zero circulation and w ensures that all the cycles which project on at least two components have a non-zero circulation.We first describe the construction of w . Working Tree:
The given component tree can have arbitrary depth, while our weightconstruction would need the tree-depth to be O (log n ). Thus, we define a new working tree . Itis a rooted tree, which has the same nodes as the component tree, but the edge relations aredifferent. The working tree, in some sense, ‘preserves’ the subtree structure of the original tree.For a tree S , its working tree wt ( S ) is constructed as follows: Find a ‘center’ node c ( S ) in thetree S and mark it as the root of the working tree, r ( wt ( S )). Deleting the node c ( S ) from thetree S , would give a set of disjoint trees, say { S , S , . . . , S k } . Apply this procedure recursivelyon these trees to construct their working trees wt ( S ) , wt ( S ) , . . . , wt ( S k ). Connect each wt ( S i )to the root r ( wt ( S )), as a subtree. This completes the construction.The ‘center’ nodes are chosen in a way so that the working tree depth is O (log n ). Section 3.3gives the exact log-space construction of the working tree.Note that for any two nodes v ∈ S i and v ∈ S j such that i (cid:54) = j , path( v , v ) in S passesthrough the node c ( S ) = r ( wt ( S )). Thus, we get the following property for the working tree. Observation 8.
For any two nodes u, v ∈ S , let their least common ancestor in the workingtree wt ( S ) be the node a . Then path( u, v ) in the tree S passes through a . The root r ( wt ( S )) of the working tree wt ( S ) is said to be at level 1. For any other node in wt ( S ), its level is defined to be one more than the level of its parent. Henceforth, level of a nodewill always mean its level in the working tree. From Observation 8, we can easily conclude thefollowing. Observation 9.
Let S (cid:48) be an arbitrary subtree of S , with its set of nodes being { v , v , . . . , v k } .There exists i ∗ ∈ { , , . . . , k } such that for any j (cid:54) = i ∗ , v j is a descendant of v i ∗ in the workingtree wt ( S ) .Proof. Let l ∗ be the minimum level of any node in S (cid:48) , and let v i ∗ be a node in S (cid:48) with level l ∗ .We claim that every other node in S (cid:48) is a descendant of v i ∗ , in the working tree wt ( S ). For thesake of contradiction, let there be a node v j ∈ S (cid:48) , which is not a descendant of v i ∗ . Then, theleast common ancestor of v j and v i ∗ in wt ( S ), must have a level, strictly smaller than l ∗ . Byobservation 8, this least common ancestor must be a present in the tree S (cid:48) . But, we assumed l ∗ is the minimum level in S (cid:48) . Thus, we get a contradiction.This observation plays a crucial role in our weight assignment construction, as for any cycle C in the graph G , the nodes in the component tree, where C has a non-empty projection, forma subtree of the component tree. 7omplementary to the level, we also define height of every node in the working tree. Let themaximum level of any node in the working tree be L . Then, the height of a node is defined tobe the difference between its level and L + 1.To assign weights in the graph G , we work with the working tree of its component tree. Letthe working tree be T . We start by assigning weight to the nodes having the largest level, andmove up till we reach level 1, that is, the root node r ( T ). Circulation of cycles spanning multiple components:
For any subtree T of the workingtree T , the weights to the edges inside the component r ( T ) will be given by two different schemesdepending on whether the corresponding graph is planar or constant sized.Let the maximum possible number of edges in a constant sized component be m . Then, let K be a constant such that K > max (2 m +2 , N isgiven by the function h ( N ), and the number of leaves in subtree T is given by l ( T ). Lastly,suppose the set of subtrees attached at r ( T ) is { T , T , . . . , T k } . Constant sized graph:
Let the set of (real) edges of the graph is { e , e , . . . , e m } . Theedge e j will be given weight 2 j × K h ( r ( T )) − × l ( T ) for an arbitrarily fixed direction. The intuitionbehind this scheme is that powers of 2 ensure that sum of weights for any subset of edges remainnonzero even when they contribute with different signs. Later, we prove that for a cycle C fully contained within a subtree T of the working tree, the upper bound on its circulation is K h ( r ( T )) × l ( T ). Planar graph:
Let us fix a planar embedding of the graph. For a given weight assignment w : (cid:126)E → Z on the edges of the graph, we define the circulation of a face as the circulation ofthe corresponding cycle in the clockwise direction i.e. traverse the boundary edges of the facein the clockwise direction and take the sum of their weights. Here our weighting scheme will fixcirculations for the inner faces of the graph. Lemma 13 describes how to assign weights to theedges of a planar graph to get the desired circulation for each of the inner faces. Assigning circulations to the faces: If T is a singleton, and thus there are no subtreesattached at T , we give a zero circulation to all the faces (and thus to all the edges) of r ( T ).Otherwise, consider a separating pair { a, b } where a subtree T i is attached to r ( T ). Thetwo faces adjacent to the virtual edge ( a, b ) will be assigned circulation 2 × K h ( r ( T i )) × l ( T i ).Similarly, consider a triplet { a, b, c } where a subtree T j is attached. Then all the faces (at most3) adjacent to the virtual triangle { a, b, c } get circulation 2 × K h ( r ( T j )) × l ( T j ). Repeat thisprocedure for faces adjacent to all the pairs and/or triplets where subtrees are attached. If aface is adjacent to more than one virtual edge/triangle, then we just take the sum of differentcirculations due to each virtual edge/triangle.Here, we mean that each face has a positive circulation in the clockwise direction. Theintuition behind this scheme is the following: circulation of any cycle in the planar componentis just the sum of circulations of the faces inside it. As, all of them have same sign, they cannotcancel each other. Moreover, contribution to the circulation from this planar component cannotbe canceled by the contribution from any of its subtrees.Now, we formally show that this weighting scheme ensures that all the cycles spanningmultiple components in the tree get non-zero circulation. Nonzero Circulation of a cycle:
Firstly, we derive the upper bound U T on the circulationof any cycle completely contained in a subtree T of the working tree.8 emma 10. The upper bound on the circulation of any cycle contained in a subtree T of theworking tree T is U T = K h ( r ( T )) × l ( T ) .Proof. We prove this using induction on the height of r ( T ). Base case:
The base case is when the height of r ( T ) is 1. Notice that this means that r ( T )has the maximum level amongst all the nodes in T , and therefore, r ( T ) is a leaf node, and T isa singleton. Consider the two cases: i)when r ( T ) is a planar node, and ii)when it is a constantsized node.By our weight assignment, if r ( T ) is planar, the total weight of all the edges is zero. On theother hand, if r ( T ) is a constant sized graph, the maximum circulation of a cycle is the sum ofweights of its edges, that is, (cid:80) mi =1 ( K × × i ) < m +1 ≤ K . Thus, the circulation is upperbounded by K h ( r ( T )) × l ( T ). Induction hypothesis:
The upper bound for any tree T (cid:48) with h ( r ( T (cid:48) )) ≤ j − U T (cid:48) = K h ( r ( T (cid:48) )) × l ( T (cid:48) ). Induction step:
We will prove that the upper bound for any tree T , with h ( r ( T )) = j , is U T = K h ( r ( T )) × l ( T ).Let the subtrees attached at r ( T ) be { T , T , . . . , T k } . For any cycle in T , sum of thecirculations of its projections on the subtrees T , T , . . . , T k can be at most (cid:80) ki =1 U T i .First, we handle the case when r ( T ) is planar. For any subtree T i , the total circulation offaces in r ( T ) due to connection to T i can be 6 × K h ( r ( T i )) × l ( T i ). This is because the circulationof each face adjacent to the separating set connecting with T i is 2 × K h ( r ( T i )) × l ( T i ), and therecan be at most 3 such faces. Here, note that for all i , level of r ( T i ) is one more than level of r ( T ), and thus height of r ( T i ) is one less than height of r ( T ). Thus, U T = k (cid:88) i =1 U T i + k (cid:88) i =1 (cid:16) × K h ( r ( T i )) × l ( T i ) (cid:17) = k (cid:88) i =1 (cid:16) K h ( r ( T i )) × l ( T i ) (cid:17) + k (cid:88) i =1 (cid:16) × K h ( r ( T i )) × l ( T i ) (cid:17) = k (cid:88) i =1 (cid:16) × K h ( r ( T i )) × l ( T i ) (cid:17) = 7 × K h ( r ( T )) − × k (cid:88) i =1 l ( T i ) ( ∀ i, h ( r ( T i )) = h ( r ( T )) − < K h ( r ( T )) × k (cid:88) i =1 l ( T i ) ( K > K h ( r ( T )) × l ( T )Now, consider the case when r ( T ) is a small non-planar graph. The maximum possible con-tribution from edges of r ( T ) to the circulation of a cycle in T is less than 2 m +1 × K h ( r ( T )) − × l ( T ).Similar to the case when r ( T ) is planar, contribution from all subtrees is at most K h ( r ( T )) − × l ( T ). The total circulation of a cycle in T can be at most the sum of these two bounds, andis thus bounded above by (2 m +1 + 1) × K h ( r ( T )) − × l ( T ). Since, K > m +2 , the total possiblecirculation is less than K h ( r ( T )) × l ( T ).Therefore, the upper bound U T = K h ( r ( T )) × l ( T ).To see that each cycle gets a nonzero circulation, recall Lemma 7, which says that thecirculation of the cycle is the sum of circulations of its projections on different components.9onsider a cycle C . We look at the minimum ‘level’ component on which C has a non-emptyprojection. We show two things: (i) the contribution to the circulation from this component isnonzero, and (ii) the contribution to the circulation from this component is larger than sum ofall the circulation contributions from its higher level descendants in the working tree.Observe that proving the above two will automatically prove that any cycle C projectingon multiple component nodes has a non-zero circulation. This is because the nodes havingnon-empty projection from cycle C form a subtree S C in the component tree; and when lookingat the nodes of S C in the working tree T , we can always find a node v ∗ ∈ S C such that allother nodes in S C are its descendants (see Observation 9). Let v ∗ be the root of a subtree T in the working tree. If the contribution from v ∗ (or equivalently r ( T )) to the cycle circulationis non-zero and exceeds the contribution from all its descendants, circulation of the cycle C iscertainly non-zero.Again, let the subtrees attached at r ( T ) be { T , T , . . . , T k } .Case 1: When the component is constant-sized. It is easy to see that the circulation of anycycle in this component will be nonzero as long as it takes a real edge, because the weights givenare powers of 2. Also, the minimum weight of any edge in r ( T ) is 2 × (cid:80) ki =1 U T i . Thus, when acycle takes a real edge, contribution to its circulation from r ( T ) is larger than contribution fromhigher level components (components in the subtrees attached at r ( T )). And any cycle has totake a real edge, as the virtual edges and triangles all have disjoint set of vertices. (Here, thevirtual triangle does not count as a cycle).Case 2: When the component is planar. The crucial observation here is that all the facesinside a cycle contribute to its circulation in the same orientation. Lemma 11.
In a planar graph with a given planar embedding, circulation of a cycle in clockwiseorientation is the sum of circulations of the faces inside it (Proof given in Appendix A).
As all faces have positive circulation in clockwise direction, the total sum remains nonzero.Now, observe that if the cycle C goes through the subtree T i , then its projection in r ( T ), say C i , must contain at least one of the faces adjacent to the pair/triplet in r ( T ), at which T i isconnected. Since, circulation of this face is 2 U T i , contribution from this component will surpassthe total sum of all the subtrees where C passes through.Thus, we can conclude the following. Lemma 12.
Circulation of any cycle which passes through at least two components is nonzero.
Weights from faces to edges:
Now, we come back to the question of assigning weightsto the edges in a planar component such that the faces get the desired circulations. Lemma 13describes this procedure for any planar graph. But, the scheme will assign weights to all theedges, while we are not allowed to give weights to virtual edges/triangles. So, first we collapseall the virtual triangles to one node and all the virtual edges to one node. As no two virtualtriangles/edges are adjacent, after this operation, every face remains a non-trivial face (exceptthe virtual triangle face). Now, we apply the procedure from Lemma 13. After undoing thecollapse, the circulations of the faces will not change and we will have the desired circulations.
Lemma 13. [Kor09] Let G ( V, E ) be a planar graph with F being its set of inner faces in someplanar embedding. For any given function on the inner faces w (cid:48) : F → Z , a skew symmetricweight function w : (cid:126)E → Z can be constructed in log-space such that every face f ∈ F has acirculation w (cid:48) ( f ) (Proof is described in Appendix A). irculation of cycles contained within a single component: For planar components,to construct w , we assign +1 circulation to every face using Lemma 13 (similar to the case ofmultiple components). This would ensure nonzero circulation for every cycle within the planarcomponent. This construction has been used in [Kor09] for bipartite planar graphs. [TV12] alsogives a log-space construction which ensures nonzero circulation for all cycles in a planar graph,using Green’s theorem.For the non-planar components, w already ensures that each cycle has non-zero circulation.Therefore, we set w = 0. Use a linear combination of w and w such that they do not interferewith each other. This together with Lemma 12 gives us the following. Lemma 14.
Circulation of any cycle is non-zero.
Polynomially bounded weights:
Now, we show that the weight given by this scheme ispolynomially bounded.
Lemma 15.
The total weight given by the weighting scheme is polynomially bounded.Proof.
The weight w is polynomially bounded according to the procedure in Lemma 13.Consider w . Observe that the upper bound U T for the circulation of a cycle in T is actuallyjust the sum of weights of all the edges in constant sized components, and of all the faces inplanar components. Also, sum of the circulations of faces in a planar graph equals the sum ofweight given to edges, by the construction given in the proof of Lemma 13. Therefore, U T givesthe bound on the weight function w . Since the maximum level of any node in T can be at most O (log |T | ), the height of r ( T ), that is h ( r ( T )) = O (log |T | ). Also, the total number of leaves in T is at most |T | . U T = K h ( r ( T )) × l ( T ) ≤ K O (log |T | ) × |T | = |T | O (log K ) |T | = |T | O (log K ) If n is the size of the original graph G , then clearly |T | ≤ n . Therefore, U T = O ( n O (log K ) ).Recall that K is a constant, and thus, w is also polynomially bounded.Since we use a linear combination of w and w , the total weight function is polynomiallybounded. Now, we describe the log-space construction of the working tree. The idea is inspired from theconstruction of [LMR07, Lemma 6], where they create a O (log n )-depth tree of well-matchedsubstrings of a given well-matched string. Recall that for a tree S , the working tree wt ( S ) isconstructed by first choosing a center node c ( S ) of S and marking it as the root of wt ( S ), andthen recursively finding the working trees for each component obtained by removing the node c ( S ) from S and connecting them to root of wt ( S ), as subtrees.First consider the following possible definition of the center: for any tree S with n nodes,one can define its center to be a node whose removal would give disjoint components of size ≤ / | S | . Finding such a center is an easy task and can be done in log-space. Clearly, the depthof the working tree would be O (log n ). It is not clear if the recursive procedure of finding centersfor each resulting component can be done in log-space. Therefore, we give a more complicatedway of defining the centers, so that the whole recursive procedure can be done in log-space.First, we make the tree S rooted at an arbitrary node r . To find the child-parent relationsof the rooted tree, one can do the standard log-space traversal of a tree: for every node, give itsedges an arbitrary cyclic ordering. Start traversing from the root r by taking an arbitrary edge.11f you arrive at a node u using its edge e then leave node u using the right neighbor of e . Thistraversal ends at r with every edge being traversed exactly twice.For any node v , let S v denote the subtree of S , rooted at v . For any node v and one of itsdescendant nodes v (cid:48) in S , let S v,v (cid:48) denote the tree S v \ S v (cid:48) . Moreover S v,(cid:15) would just mean S v ,for any v . With our new definition of the center, at any stage of the recursive procedure, thecomponent under consideration will always be of the form S v,v (cid:48) , for some nodes v, v (cid:48) ∈ S . Now,we give a definition of the center for a rooted tree of the form S v,v (cid:48) . Center c ( S v,v (cid:48) ) : case (i) When v (cid:48) = (cid:15) , i.e. the given tree is S v . Let c be a node in S v , suchthat its removal gives components of size ≤ / | S v | . If there are more than one such nodes thenchoose the lexicographically smaller one (there is at least one such center [Jor69]). Define c asthe center of S v,v (cid:48) .Let the children of c in S v be { c , c , . . . , c k } . Clearly, after removing c from S v , the compo-nents we get are S c , S c , . . . , S c k and S v,c . Thus, they are all of the desired form and have size ≤ / | S v | .case (ii) When v (cid:48) is an actual node in S v . Let the node sequence on the path connecting v and v (cid:48) be ( u , u , . . . , u p ), with u = v and u p = v (cid:48) . Let 0 ≤ i ≤ p be the least index such that | S u i +1 ,v (cid:48) | ≤ / | S v,v (cid:48) | . This index exists because | S u p ,v (cid:48) | = 0. Define u i as the center of S v,v (cid:48) .Let the children of u i , apart from u i +1 , be { c , c , . . . , c k } . After removal of u i from S v,v (cid:48) , thecomponents we get are S c , S c , . . . , S c k , S u i +1 ,v (cid:48) and S v,u i . By the choice of i , | S u i ,v (cid:48) | > / | S v,v (cid:48) | .Thus, | S v,u i | ≤ / | S v,v (cid:48) | . So, the only components for which we do not have a guarantee ontheir sizes, are S c , S c , . . . , S c k . Observe that when we find a center for the tree S c j ,(cid:15) in the nextrecursive call, it will fall into case (i) and the components we get will have their sizes reducedby a factor of 1 / O (log n ). Now, we describe a log-space procedure to construct the working tree. Lemma 16.
For any tree S , its working tree wt ( S ) can be constructed in log-space.Proof. We just describe a log-space procedure for finding the parent of a given node x in theworking tree. Running this procedure for every node will give us the working tree.Find the center of the tree S . Removing the center would give many components. Find thecomponent S , to which the node x belongs. Apply the same procedure recursively on S . Keepgoing to smaller components which contain x , till x becomes the center of some component. Thecenter of the previous component in the recursion will be the parent of x in the working tree.In this recursive procedure, to store the current component S v,v (cid:48) , we just need to store twonodes v and v (cid:48) . Apart from these, we need to store center of the previous component and sizeof the current component.To find the center of a given component S v,v (cid:48) , go over all possibilities of the center, dependingon whether v (cid:48) is (cid:15) or a node. For any candidate center c , find the sizes of the componentsgenerated if c is removed. Check if the sizes satisfy the specified requirements. Any of thesecomponents is also of the form S u,u (cid:48) and thus can be stored with two nodes.By the standard log-space traversal of a tree (see, for example [Lin92]), for any given tree S v,v (cid:48) , one can count the number of nodes in it and test membership of a given node. Thus, thewhole procedure works in log-space. 12 .4 Complexity of the weight assignment We use simple log-space procedures in sequence to assign the weights in the working tree. Afterconstruction of the working tree, we use iterative log-space procedures to store the following foreach node: i) the level of the node, and ii) the number of leaves in the subtree rooted at it. Bothjust require tree traversal while keeping a counter, and can clearly be done in log-space. Also,since we have the maximum level amongst all the nodes, we can use it in another straightforwardlog-space function to compute the height of every node. We store one more piece of information.Let the subtrees of the component tree S attached at a node N be S , S , . . . , S k . Correspond-ingly, in the working tree, the children of N will be r ( wt ( S )) , r ( wt ( S )) , . . . , r ( wt ( S k )). For all i (1 ≤ i ≤ k ), we remember which virtual edge/triangle of N is shared with the subtree S i bystoring a pointer to the node r ( wt ( S i )).Next, we iterate on the nodes of the working tree to assign the weights. For every non-planarcomponent, we iterate on edges inside it in an arbitrary (deterministic) fashion, and assign aweight of 2 i × K ( h ( N ) − × l ( T ( N )), where i is the iteration count, N is the node, and T ( N ) isthe subtree rooted at N .In the next step, we again iterate on the nodes, and for every node N , we visit all its virtualedges/triangles. For a given virtual edge/triangle τ i , let the child of N in the working treeattached at τ i be N i . We add a circulation of 2 × K h ( N i ) × l ( T ( N i )) to all the faces adjacent to τ i . As the last step, we find the weights for the edges which would give the desired circulationsof the faces. Lemma 13 shows that it can be done in log-space. K , -free and K -free graphs In this section, we show how to construct the desired component tree for any given K , -free or K -free graph and modify it to satisfy the assumptions made in Section 3. All these constructionsare in log-space. If a graph G is disconnected then a perfect matching in G can be constructed by taking a unionof perfect matchings in its different connected components. As connected components of a graphcan be found log-space [Rei08], we will always assume that the given graph is connected.Let G be a connected graph. A vertex a in G is called an articulation point, if its removal willmake G disconnected. A graph without any articulation point is called biconnected. Let a be anarticulation point in G such that its deletion creates connected components G , G , . . . , G m . Itis easy to see that for G to have a perfect matching, exactly one of these components should haveodd number of vertices, say G . Then, in any perfect matching of G , the vertex a will always bematched to a vertex in G . Thus, we can delete any edge connecting a to other components, andall the perfect matchings will still be preserved. It is easy to see that finding all the articulationpoints and for each articulation point, performing the above mentioned reduction can be donein log-space, via reachability queries [Rei08, TW14]. Thus, we will always assume that the givengraph is biconnected. Vertex-Split:
For a graph G , we define an operation called vertex-split , which preserves match-ings , as follows: Let v be a vertex and let X be the set of all the edges incident on v . Let X (cid:116) X v v (cid:48) e e (cid:48) e (cid:48) e e e (cid:48) e e e v (cid:48)(cid:48) e (cid:48) ( a ) ( b ) Figure 4: Vertex-Split: A vertex v is split into three vertices v, v (cid:48) , v (cid:48)(cid:48) , which are connected by apath. Some of the edges incident on v are transferred to v (cid:48)(cid:48) .Figure 5: The four-rung M¨obius ladder V .be an arbitrary partition of X . Create two new vertices v (cid:48) and v (cid:48)(cid:48) (see Figure 4). Make theedges ( v, v (cid:48) ) and ( v (cid:48) , v (cid:48)(cid:48) ). We call these two edges as auxiliary edges . For all the edges in X ,change their endpoint v to v (cid:48)(cid:48) . We denote this operation by vertex-split( v, X , X ).Let the modified graph be G (cid:48) . One can go back to the graph G by identifying vertices v , v (cid:48) and v (cid:48)(cid:48) and deleting auxiliary edges. This operation is matching preserving in the followingsense. Lemma 17.
There is a one-one correspondence between perfect matchings of G and G (cid:48) .Proof. Consider a perfect matching M in G , where v is matched with a vertex in X . It is easyto see that the matching M (cid:48) := M ∪ { ( v (cid:48) , v (cid:48)(cid:48) ) } is a perfect matching in G (cid:48) . The other case when v is matched with a vertex in X is similar.Consider a perfect matching M (cid:48) in G (cid:48) . Removing the auxiliary edge from M (cid:48) and identifyingthe vertices v , v (cid:48) and v (cid:48)(cid:48) will give us a perfect matching in G . Wagner [Wag37] and Asano [Asa85] gave exact characterizations of K -free graphs and K , -free graphs, respectively. These characterizations essentially mean that any graph in these twoclasses can be constructed by taking 3-clique-sums of graphs which are either planar or havesize bounded by 8. Theorem 2. [Asa85] Let C be the class of all planar graphs together with the -vertex clique K . Then (cid:104)C(cid:105) is the class of K , -free graphs. Theorem 3. [Wag37, Khu88] Let C be the class of all planar graphs together with the four-rungM¨obius ladder V (Figure 5). Then (cid:104)C(cid:105) is the class of K -free graphs. As mentioned in Section 4.1, we can assume that the given graph is biconnected. It is knownthat for any given biconnected K , graph G , its component tree can be constructed in log-space[TW14, Lemma 3.8]. The components here are all planar or K , which share separating pairs.Also, for any given biconnected K -free graph G , its component tree can be constructed in log-space [STW14, Definition 5.2, Lemma 5.3]. The components here are all planar or V . They can14hare a separating pair or a separating triplet. The planar embedding of a planar componentcan be computed in log-space [AM04, Rei08].The component tree defined in [TW14, STW14] slightly differs from our definition in Sec-tion 2.2. They have an extra component for each separating set. This component is connectedto all the components which share this separating set. Moreover, whenever there is a real edgebetween two nodes of a separating set, it is represented by a 3-bond component (one real edgeand two parallel virtual edges). The 3-bond component is also connected to the correspondingseparating set node. For our purposes, these two kinds of components are not needed.For any given biconnected K , -free graph or K -free graph G , we start with the componenttrees which are constructed by [TW14, STW14]. We show how to modify the component tree,in log-space, to have the assumptions made in Section 3.Applying the clique-sum operations on the modified component tree will give us the actualmodified graph G (cid:48) . We will argue that all these modifications in G are just repeated application ofthe vertex-split operation (Lemma 17) in G . Thus, these are matching preserving. As mentionedearlier, from a perfect matching in G (cid:48) , one can get a perfect matching in G by just deleting theauxiliary vertices and edges created in the vertex-split operations.We reiterate here that there may be some pairs/triplet in the graph G (or G (cid:48) ), such that theirremoval will make the graph disconnected, but still the graph is not decomposed with respectto them and they do not play any role in the component tree. Here, by separating pair/tripletwe only mean those pairs/triplets which are shared by different components of the componenttree. (i) Removing “ -bond” components: For all the 3-bond components we do the following:Remove the 3-bond component. Let τ be the separating set and C τ be the corresponding nodein the component tree, where this 3-bond component is attached (a 3-bond component is alwaysa leaf). Take an arbitrary component attached to C τ . This component will have a virtual cliquefor τ . Make an appropriate real edge parallel to the existing virtual edge, in this virtual cliquecorresponding to τ . Note that if this component was planar, it will remain so. Moreover, it iseasy to adjust the planar embedding. Clearly, this operation can be done in log-space. Thisdoes not change the actual graph G in any way. (ii) Any separating set is shared by at most two components: Let τ be a separatingset shared by m components G , G , . . . , G m . Let the cardinality of τ is t (t can be 2 or 3). Letus define a gadget M as follows: it has three sets of nodes { a i | ≤ i ≤ t } , { b i | ≤ i ≤ t } , { c i | ≤ i ≤ t } . For each i , connect a i with b i by a length-2 path and also connect a i with c i bya length-2 path. Make 3 virtual cliques each of size t , one each for nodes { a i } i , { b i } i and { c i } i .Thus, three components can be attached with M .Now, we construct a binary tree T which has exactly m − T withcomponents G , G , . . . , G m . Replace all other nodes of T with copies of the gadget M . Further,make an edge between component G and the root of T (see Figure 6). Any node of type M ,in this binary tree, shares its separating set { a i } i with its parent node, shares its separating set { b i } i with its left child node and shares its separating set { c i } i with its right child node. Thecomponents G , G , . . . , G m share their copy of τ with their respective parent nodes in the tree T . The component G shares its copy of τ with the root node of T .Doing this procedure for every separating set will ensure that every separating set is sharedbetween at most two components. Moreover, now there is no extra component for the separatingset, and the components which share a separating set are joined directly by an edge. A binary15 vG u vG u vG u vG vu u v G u v u u v v u v v u G G u v u v u v u v G Figure 6: (a) A separating pair (cid:104) u, v (cid:105) is shared by four components G , G , G , G . (b) Copiesof (cid:104) u, v (cid:105) connected by length-2 paths, to form a binary tree. Different copies are shared bydifferent components.tree with m − { x , x , . . . , x m − } , x i has children x i and x i +1 ). All the other operations here are local like deleting and creatingedges and changing vertex labels. Thus it can be done log-space.Now, we want to argue that this operation is matching preserving for the actual graph G .Let us view this operation as a repeated application of the following operation: Partition the theset of components { G , G , . . . G m } in two parts, say G (cid:48) and G (cid:48)(cid:48) . Now, take a copy of the gadget M and connect it to all three components G , G (cid:48) and G (cid:48)(cid:48) . M shares its separating sets { a i } i , { b i } i and { c i } i with G , G (cid:48) and G (cid:48)(cid:48) respectively. In the actual graph G , this operation separatesthe edges incident on a vertex in τ into three parts: edges from G , G (cid:48) and G (cid:48)(cid:48) respectively.These three sets of edges are now incident on three different copies of the vertex. Moreover twoof the copies are connected to the first copy via a length-2 path. Hence, it is easy to see this asapplying vertex-split (Lemma 17) operation twice. Now, we recursively do the same operationafter partitioning the set of components G (cid:48) and G (cid:48)(cid:48) further. Thus, the whole operation can beseen as a vertex-split operation applied many times in the actual graph G .Instead of a binary tree we could have also taken a tree with one root and m − m . On theother hand, in our construction the new components created have size at most 15 (number ofreal edges is bounded by 12). Thus, the graph G (cid:48) remains in class (cid:104)P c (cid:105) . (iii) Any vertex is a part of at most one separating set: Let a be vertex in a component C , where it is a part of separating sets τ , τ , . . . , τ m . We apply the vertex-split operation(Lemma 17) on a , m times, to split a into a star. Formally, create a set of m new nodes a , a , . . . , a m . Connect each a i with a by a path of length 2. For each i , replace a with a i inthe separating set τ i . Let the updated separating set be τ (cid:48) i . The edge in the component treewhich corresponds to τ i , should now correspond to τ (cid:48) i . Any real edge in the component C which16 d cab ab ca a d a e Figure 7: (a) Vertex a is a part of two separating pairs (cid:104) a, d (cid:105) and (cid:104) a, e (cid:105) and a separating triplet (cid:104) a, b, c (cid:105) . (b) Vertex-Split is applied on vertex a , 3 times, to split it into a star. The newseparating sets are (cid:104) a , b, c (cid:105) , (cid:104) a , d (cid:105) and (cid:104) a , e (cid:105) .is incident on a , remains that way (see Figure 7). Clearly, doing this for every vertex in all thecomponents will ensure that every vertex is a part of at most one separating set.It is easy to see that a planar component will remain planar after this operation. Themodification of the planar embedding and other changes here are local and can be done inlog-space.Now, we want to argue that this operation is matching preserving. Let us see how doesthis operation modifies the actual graph G . Let C i be the component which shares τ i with C .Removal of τ i would split the graph G into two components, say G (cid:48) i and G (cid:48)(cid:48) i , where G (cid:48) i is the onecontaining C . The above operation means that any edge in G (cid:48)(cid:48) i which was incident on a , is nowincident on a i instead of a . As each a i is connected to a by a length-2 path, this operation canbe seen as a repeated application of the vertex-split operation (Lemma 17). Thus, this operationis matching preserving. Increase in the size of non-planar components:
After this operation the size of each com-ponent will grow. Let us find out the new bound on the size of constant-sized graphs. For a K , -free graph, all non-planar components are of type K . Moreover, they are only involved ina 2-clique-sum. Hence, it can have at most (cid:0) (cid:1) = 10 separating pairs. In this case, each vertexis a part of four separating pairs. Thus, each vertex will be split into a 4-star, creating 8 newvertices and 8 new edges. Totally, there will be 45 vertices and 40 real edges. Additionally,there can be some already existing real edges, at most 10. Thus, the total number of edges isbounded by 50.For a K -free graph, all non-planar components are of type V . Moreover, they do not havea 3-clique, thus, can only be be involved in a 2-clique-sum. In worst case, it has 12 separatingpairs. Each vertex is a part of 3 separating pairs. Each vertex will be split into a 3-star, creating6 new vertices and 6 new edges. Totally, there will be 56 vertices and 48 edges. Thus, togetherwith already existing real edges, total number of real edges is bounded by 60. (iv) A separating triplet in a planar component already forms a face: If a separatingtriplet does not form a face in a planar component. Then the two parts of the graph, one insidethe triplet and the other outside, can be considered different components sharing this triplet.In fact, the construction in [STW14] already does this. When they decompose a graph withrespect to a triplet, the different components one gets by deleting this triplet are all considereddifferent components in the component tree. 17
Discussion
One of the open problems is to construct an isolating weight assignment for a more generalclass of graphs, in particular, for all bipartite graphs. Note that nonzero circulation for everycycle is sufficient but not necessary for constructing an isolating weight assignment. Althoughexistence of an isolating weight assignment can be shown by randomized arguments, no sucharguments exist for showing the existence of a nonzero circulation weight assignment. It needsto be investigated whether it is possible to achieve a nonzero circulation for every cycle (withpolynomially bounded weights) in a complete bipartite graph? Log-space construction of sucha weight assignment would imply that Bipartite Perfect Matching is in NC and answer the NL = UL ? question.Till now, isolation of a perfect matching is known only for those graphs for which countingthe number of perfect matchings is easy. On the other hand, O (log n )-genus bipartite graphsand general planar graphs are two classes of graphs for which counting is easy, but constructionof an isolating weight assignment is not known. It is surprising, as counting seems to be a muchharder problem than isolation. RG thanks TCS PhD research fellowship for support.
References [AHT07] Manindra Agrawal, Thanh Minh Hoang, and Thomas Thierauf. The polynomiallybounded perfect matching problem is in NC . In Wolfgang Thomas and PascalWeil, editors, STACS 2007 , volume 4393 of
Lecture Notes in Computer Science ,pages 489–499. Springer Berlin Heidelberg, 2007.[AM04] Eric Allender and Meena Mahajan. The complexity of planarity testing.
Informationand Computation , 189(1):117 – 134, 2004.[ARZ99] Eric Allender, Klaus Reinhardt, and Shiyu Zhou. Isolation, matching, and countinguniform and nonuniform upper bounds.
J. Comput. Syst. Sci. , 59(2):164–181, 1999.[Asa85] Takao Asano. An approach to the subgraph homeomorphism problem.
TheoreticalComputer Science , 38(0):249 – 267, 1985.[BTV09] Chris Bourke, Raghunath Tewari, and N. V. Vinodchandran. Directed planar reach-ability is in unambiguous log-space.
ACM Trans. Comput. Theory , 1(1):4:1–4:17,February 2009.[DKR10] Samir Datta, Raghav Kulkarni, and Sambuddha Roy. Deterministically isolating aperfect matching in bipartite planar graphs.
Theory of Computing Systems , 47:737–757, 2010.[DKTV12] Samir Datta, Raghav Kulkarni, Raghunath Tewari, and N. V. Vinodchandran. Spacecomplexity of perfect matching in bounded genus bipartite graphs.
J. Comput. Syst.Sci. , 78(3):765–779, 2012.[Edm65] Jack Edmonds. Path, trees, and flowers.
Canadian J. Math. , 17:449467, 1965.18GK87] Dima Grigoriev and Marek Karpinski. The matching problem for bipartite graphswith polynomially bounded permanents is in NC (extended abstract). In , pages 166–172, 1987.[GL99] Anna Galluccio and Martin Loebl. On the theory of Pfaffian orientations. I. perfectmatchings and permanents.
Electr. J. Comb. , 6, 1999.[Hoa10] Thanh Minh Hoang. On the matching problem for special graph classes. In
IEEEConference on Computational Complexity , pages 139–150. IEEE Computer Society,2010.[HT73] John E. Hopcroft and Robert Endre Tarjan. Dividing a graph into triconnectedcomponents.
SIAM J. Comput. , 2(3):135–158, 1973.[Jor69] Camille Jordan. Sur les assemblages de lignes.
Journal fr die reine und angewandteMathematik , 70:185–190, 1869.[Khu88] S. Khuller.
Parallel Algorithms for K -minor Free Graphs . Cornell University, De-partment of Computer Science, 1988.[KMV08] Raghav Kulkarni, Meena Mahajan, and Kasturi R. Varadarajan. Some perfectmatchings and perfect half-integral matchings in NC. Chicago Journal of TheoreticalComputer Science , 2008(4), September 2008.[Kor09] Arpita Korwar. Matching in planar graphs. Master’s thesis, Indian Institute ofTechnology Kanpur, 2009.[KUW86] Richard M. Karp, Eli Upfal, and Avi Wigderson. Constructing a perfect matchingis in random NC.
Combinatorica , 6(1):35–48, 1986.[Lin92] Steven Lindell. A logspace algorithm for tree canonization (extended abstract). In
Proceedings of the Twenty-fourth Annual ACM Symposium on Theory of Computing ,STOC ’92, pages 400–404, New York, NY, USA, 1992. ACM.[LMR07] Nutan Limaye, Meena Mahajan, and B.V.Raghavendra Rao. Arithmetizing classesaround NC and l. In STACS 2007 , volume 4393 of
Lecture Notes in ComputerScience , pages 477–488. Springer Berlin Heidelberg, 2007.[Lov79] L´aszl´o Lov´asz. On determinants, matchings, and random algorithms. In
FCT , pages565–574, 1979.[MV80] Silvio Micali and Vijay V. Vazirani. An O ( √ V E ) algorithm for finding maximummatching in general graphs. In
Proceedings of the 21st Annual Symposium on Foun-dations of Computer Science , SFCS ’80, pages 17–27, Washington, DC, USA, 1980.IEEE Computer Society.[MVV87] Ketan Mulmuley, Umesh V. Vazirani, and Vijay V. Vazirani. Matching is as easy asmatrix inversion.
Combinatorica , 7:105–113, 1987.[NTS95] Noam Nisan and Amnon Ta-Shma. Symmetric logspace is closed under complement.In Frank Thomson Leighton and Allan Borodin, editors,
STOC , pages 140–146.ACM, 1995. 19RA00] Klaus Reinhardt and Eric Allender. Making nondeterminism unambiguous.
SIAMJ. Comput. , 29(4):1118–1131, 2000.[Rei08] Omer Reingold. Undirected connectivity in log-space.
J. ACM , 55:17:1–17:24,September 2008.[STW14] Simon Straub, Thomas Thierauf, and Fabian Wagner. Counting the number ofperfect matchings in k5-free graphs. In
IEEE 29th Conference on ComputationalComplexity, CCC 2014, Vancouver, BC, Canada, June 11-13, 2014 , pages 66–77,2014.[TV12] Raghunath Tewari and N. V. Vinodchandran. Green’s theorem and isolation inplanar graphs.
Inf. Comput. , 215:1–7, 2012.[TW14] Thomas Thierauf and Fabian Wagner. Reachability in K , -free and K -free graphsis in unambiguous logspace. Chicago J. Theor. Comput. Sci. , 2014, 2014.[Vaz89] Vijay V. Vazirani. NC algorithms for computing the number of perfect matchings in K , -free graphs and related problems. Information and Computing , 80(2):152–164,1989.[Wag37] Klaus Wagner. ¨Uber eine Eigenschaft der ebenen Komplexe.
Math. Ann. , 114, 1937.
A Skipped proofs
Here we prove the lemmas whose proofs were skipped in the main part of the paper.
Lemma 11.
In a planar graph with a given planar embedding, circulation of a cycle in theclockwise orientation is the sum of circulations of the faces inside it.Proof.
We give the proof using mathematical induction on the number of faces inside the cycle.Consider a planar graph G = ( V, E ). For any cycle C , its circulation is denoted by w ( C ). Base case:
The base case is a cycle containing only one face inside it. By definition of thecirculation of a face, for a clockwise-oriented cycle, its circulation equals the circulation of theface.
Induction hypothesis:
The circulation of a cycle having k faces is the sum of circulationsof the faces inside it. Induction step:
Consider a clockwise-oriented cycle C having k faces, f , f , . . . , f k , insideit. Now consider a cycle C (cid:48) having the same orientation as C and with all but one face of C inside it. Without loss of generality, let this face be f k .We use the notation E ij to show the set of edges shared between faces f i and f j , taken in aclockwise direction around f i .Denote by S k the set of clockwise edges (w.r.t f k ) shared between f k and other faces inside C , that is, S k = ∪ k − i =0 E ki . Let S − k denote the same set of edges taken in the opposite direction.Also, we use the notation E ( C ) to denote the set of edges taken by a cycle C . Similarly, E k denotes the set of edges around a face f k , taken in the clockwise direction. Similar to S − k , wecan define E − k .We can see that E ( C ) \ E ( C (cid:48) ) = E k \ S k , and E ( C (cid:48) ) \ E ( C ) = S − k . w ( C ) = w ( C (cid:48) ) + w ( E ( C ) \ E ( C (cid:48) )) − w ( E ( C (cid:48) ) \ E ( C ))20 w ( C (cid:48) ) + w ( E k \ S k ) − w ( S − k )= w ( C (cid:48) ) + w ( E k ) − w ( S k ) − w ( S − k )= w ( C (cid:48) ) + w ( E k ) − w ( S k ) + w ( S k ) ( w is skew-symmetric)= k − (cid:88) i =1 w ( f i ) + w ( E k ) (Induction hypothesis)= k − (cid:88) i =1 w ( f i ) + w ( f k ) (Lemma 13)Thus, the circulation of C is the sum of circulations of the faces contained in it. Lemma 13.
Let G ( V, E ) be a planar graph with F being its set of inner faces in some planarembedding. For any given function on the inner faces w (cid:48) : F → Z , a skew symmetric weightfunction w : (cid:126)E → Z can be constructed in log-space such that every face f ∈ F has circulation w (cid:48) ( f ) .Proof. The construction in [Kor09] gives +1 circulation to every face of the graph and is in NC .We modify it to assign arbitrary circulations to the faces and argue that it works in log-space.Let G ∗ be the dual graph of G and T ∗ be a spanning tree of G ∗ . The dual graph can beeasily constructed in log-space from the planar embedding. See [NTS95, Rei08] for log-spaceconstruction of a spanning tree. Make the tree T ∗ rooted at the outer face of G . All theedges in E \ E ( T ∗ ) will get weight 0. For any node f in G ∗ (a face in G ), let T ∗ f denote thesubtree of T ∗ rooted at f . Let w (cid:48) ( T ∗ f ) denote the total sum of the weights in the tree, i.e. w (cid:48) ( T ∗ f ) = (cid:80) f ∈ T ∗ f w (cid:48) ( f ). This function can be computed for every node in the tree T ∗ , by thestandard log-space tree traversal. For any inner face f , let e f be the edge connecting f to itsparent in the dual tree T ∗ . We assign the edge e f , weight w (cid:48) ( T ∗ f ) in clockwise direction (w.r.t.face f ).We claim that under this weight assignment, circulation of any inner face f is w (cid:48) ( f ). To seethis, let us say f , f , . . . , f k are the children of f in the dual tree T ∗ . These nodes are connectedwith f using edges e f , e f , . . . , e f k respectively. Now, consider the weights of these edges in theclockwise direction w.r.t. face f . For any 1 ≤ i ≤ k , weight of e f i is − w (cid:48) ( T ∗ f i ) and weight of e f is w (cid:48) ( T ∗ f ). Clearly, sum of all these weights is w (cid:48) ( ff