Comprative Study Kirchoff's and Tutte Matrix Theorem

Total Page:16

File Type:pdf, Size:1020Kb

Comprative Study Kirchoff's and Tutte Matrix Theorem International Journal on Recent and Innovation Trends in Computing and Communication ISSN: 2321-8169 Volume: 5 Issue: 6 1497 – 1501 _______________________________________________________________________________________________ Comprative Study Kirchoff’s and Tutte Matrix Theorem Dr. Sudhir Prakash Srivastava IET, Dr RML Avadh University, Faizabad 224001 E_mail : [email protected] Abstract: In the mathematical field of graph theory, there are so many topic. In general the Cayley’s formula which provides the number of spanning tree in complete graph. There are two theorem Kirchoff’s Matrix theorem and Tutte Martrix theorem are also used to count spanning tree of a graph. In this paper we focus to count number of spanning in a graph with help of both theorem. At last we draw conclusion that Tutte Matrix theorem approach to compute the number of spanning arborescence of graph also. Key Word : Laplacian Matrix, Digraph, Adjacency Matrix, incidence matrix, Undirected graph. __________________________________________________*****_________________________________________________ I. Introduction : Let us consider a simple graph means without no loop & paralled edges 퐺 = (푉, 퐸) where V is the set of vertices & 퐸 is set of edges each of whose element is a pair of distinct vertices.We can assume that we will familiar with basic concept graph theory. Let 푉 = {1,2,3, … , 푛} & 퐸 = {푒1, 푒2, … . 푒푛 }.Then adjacency matric 퐴(퐺) of 퐺 is 푛 × 푛. Matrix with its row and columns indexed by 푉 with the (푖, 푗) eintry equal to 1 if vertices 푖, 푗 are adjacent and 0 otherewise. 푡푕 Thus 퐴(퐺) is symmetry matrix its 푖 row or column sum equal to deg(푣푖 ) which define as degree of vertex. Let 퐷 퐺 denoted the 푛 × 푛 diagonal matrix whose 푖푡푕 diagonal entry is 푑푖 퐺 , 푖 = 1, 2, … , 푛. Then Laplaein matrix of 퐺 denoted by 퐿(퐺) is define as 퐿 퐺 = 퐷(퐺) − 퐴(퐺) For example Let a graph 퐺. The vertex set 푉 = {푣1, 푣2, 푣3, 푣4, 푣5} and the edges set 퐸 = {푒1, 푒2, 푒3, 푒4, 푒5} then 0 1 1 0 0 1 0 1 1 0 퐴 퐺 = 1 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1497 IJRITCC | June 2017, Available @ http://www.ijritcc.org _______________________________________________________________________________________ International Journal on Recent and Innovation Trends in Computing and Communication ISSN: 2321-8169 Volume: 5 Issue: 6 1497 – 1501 _______________________________________________________________________________________________ 2 0 0 0 0 0 3 0 0 0 퐷 퐺 = 0 0 3 0 0 0 0 0 3 0 0 0 0 0 1 2 −1 −1 0 0 −1 3 −1 −1 0 퐿 퐺 = 퐷 퐺 − 퐴(퐺) = −1 −1 3 −1 0 0 −1 −1 3 −1 0 0 0 −1 1 There is another way to represent Laplacian matrix. Let now consider 퐺 is a digraph. Then we can take an incidence matrix of 퐺 is 푄(퐺) of 푛 × 푚. The row and column of 푄(퐺) is 0. If vertex 푖 and edges 푒푗 are not incident other wise it is 1 or -1 for example fig. 1 0 1 0 0 0 −1 1 0 1 0 0 푄 퐺 = 0 −1 −1 0 1 0 0 0 0 −1 −1 −1 0 0 0 0 0 1 Then we can determine 푄(퐺)푇. If we define 푄(퐺). 푄(퐺)푇 then it is equal to 퐿(퐺). So we can say 퐿 퐺 = 푄 퐺 . 푄(퐺)푇 Then we can describe some basic properties of Laplacian Matrix. (i) Laplacian Matrix is symmetric matrix (ii) The non-diagonal element of Laplacian matrix is non-positive, mean non-diagonal element is either 0 or -1. That implies Laplacin matrix is Stieltjes Matrix. Stieltjes Matrix : A matrix which all non-diagonal element is either 0 or negative and value of that matrix is positive then that matrix is known stieltjes Matrix. (iii) The rank of 퐿(퐺) is (푛 − 푘), where 푘 is number of connected component of 퐺 In particular if 퐺 is connected then rank of 퐿(퐺) is (푛 − 1). There are so many properties of Laplacian matrix known but it this papere we focused Kirchhoff’s matrix theorem,which useful to determine spanning tree or tree nature. II. Kirchhoff’s Matrix-Tree Theorem : It is very beautiful theorem that useful to count spanning tree in graph. It describe very good connection between graph theory and linear algebra. The result discovered by German Physicist Gustav Kirchhoffs in 1847 during study of electric circuit. We well known about spanning tree that if a subgraph 퐻 of a Graph 퐺 contain every vertices of Graph 퐺 and that subgraph has no any cycle that such subgraph is known as spanning tree. We can also define a Laplacian matrix another way 1498 IJRITCC | June 2017, Available @ http://www.ijritcc.org _______________________________________________________________________________________ International Journal on Recent and Innovation Trends in Computing and Communication ISSN: 2321-8169 Volume: 5 Issue: 6 1497 – 1501 _______________________________________________________________________________________________ deg⁡(푣푗 ) 푖푓 푖 = 푗 퐿푖푗 = −1 푖푓 푖 ≠ 푗 푎푛푑 (푣푖 푣푗 ) 0 표푡푕푒푟푤푖푠푒 It is equivalently 퐿 = 퐷 − 퐴. Theorem : It 퐺(푉, 퐸) is an undirected graph and 퐿 is its Laplacian matrix, then number of spanning tree (푁푇) contained in 퐺 is determine by following computation. 푡푕 푡푕 (i) Chosen a vertex (푉푖 ) and eliminate the 푖 row and 푖 column from 퐿 to get new matrix 퐿푖 . (ii) Compute 푁푇 = det⁡(퐿푖 ) where 푁푇 count spanning tree that are distinct as subgraph of 퐺. Thus some of the tree that contribute to 푁푇 may be isomorphic. For example If 퐺 we take 퐺 to be the graph whose Laplacian is 퐿 = 퐷 − 퐴 2 0 0 0 0 1 1 0 0 2 0 0 1 0 1 0 = − 0 0 3 0 1 1 0 1 0 0 0 1 0 0 1 0 2 −1 −1 0 −1 2 −1 0 = −1 −1 3 −1 0 0 −1 1 Choose 푣푗 = 푣푖 , we get 2 −1 0 퐿1 = −1 3 −1 푁푇 = det 퐿1 = 3 0 −1 1 The number 푁푗 is count spanning arborescences that are distinct as subgraphs of 퐺 equivalently we regard the vertices as distinguishable. Hence some of the arborescences that contribute to 푁푗 may be isomorphic,but if they involve different edges we will count them separately. For example 1499 IJRITCC | June 2017, Available @ http://www.ijritcc.org _______________________________________________________________________________________ International Journal on Recent and Innovation Trends in Computing and Communication ISSN: 2321-8169 Volume: 5 Issue: 6 1497 – 1501 _______________________________________________________________________________________________ 퐿 = 퐷푖푛 − 퐴 2 0 0 0 0 1 0 0 0 3 0 0 1 0 1 1 = − 0 0 1 0 0 1 0 1 0 0 0 2 1 1 0 0 2 −1 0 0 −1 3 −1 −1 = 0 −1 1 −1 −1 −1 0 2 3 −1 −1 푁1 = −1 1 −1 det 푁푖 = 2 −1 0 2 Similarly we can determine 푁2, 푁3, 푁4 as det 푁2 = 4, det 푁3 = 7, det 푁4 = 7. We can draw 푁4 (means vertex 푉4) spanning tree. Above three spanning tree along the vertex 푉4 like as an arborescences spanning tree. This is alternative, note that as Cayley’s formula count’s the number of distinct tabled trees of complete graph 퐾푛 . We need to compute any cofactor of the Laplacian matrix 퐾푛 . The Laplacian matrix in this case 푛 − 1 −1 ⋯ −1 −1 푛 − 1 ⋯ −1 퐿1 = −1 푛 − 1 ⋯ −1 ⋮ −1 −1 ⋯ 푛 − 1 Any cofactor of the above matrix is 푛푛−2, which is Cayley formula. III. Tutte Matrix-Tree Theorem : After Kirchhoff result in 1948. W. T. Tutte discovered a result for directed graph or diagraph. To study that result we can define some important definition. Definition : A vertex 푣 ∈ 푉 in a diagraph 퐺(푉, 퐸) is a root if very other vertex is assessable from 푣. Definition : A graph 퐺 푉, 퐸 is directed tree or arborescence if 퐺 contain a root and the graph 퐺 that one obtains by ignoring the directedness of the edges is a tree. Definition : A subgraph 푇 푉, 퐸1 of a diagraph 퐺(푉, 퐸) is a spanning arborescence if 푇 is arborescence that contain all the vertices 퐺. 1500 IJRITCC | June 2017, Available @ http://www.ijritcc.org _______________________________________________________________________________________ International Journal on Recent and Innovation Trends in Computing and Communication ISSN: 2321-8169 Volume: 5 Issue: 6 1497 – 1501 _______________________________________________________________________________________________ The graph is an arborescence whose 푣 is root vertex. Theorem : If 퐺(푉, 퐸) is a diagraph with vertex set 푣 = {푣1, 푣2, … . , 푣푛 } and 퐿 is an 푛 × 푛 matrix whose entries are given by deg⁡(in)⁡(푣푗 ) 푖푓 푖 = 푗 퐿푖푗 = −1 푖푓 푖 ≠ 푗 푎푛푑 (푣푖 푣푗 ) ∈ 퐸 0 표푡푕푒푟푤푖푠푒 Then number of spanning arborescence with root 푣푗 is 푁푗 = det⁡(퐿푗 ) IV. Conclusion : Details of above both theorem are long. So we will describe some part of both theorem in this paper. One of these is the connection between Tutte directed matrix tree theorem and Kirchoff’s undirected version. The idea is come in above figure when we want to count spanning tree an undirected graph. If we make any undirected graph to directed graph with same vertex set but two running directed edges means one running in each direction for each of edges. Means if 퐺 is an undirected graph with edge 푒 = (푎, 푏) then 퐻 has a directed graph with edge 푒 is (푎, 푏) and 푏, 푎 . We choose an arbitrary vertex 푣 in 퐻 and count the spanning arborescences that have 푣 as root. It is not necessary that each spanning tree in 퐺 coresponds to a unique 푣 −rooted arborescence in 퐻 and vice-versa means there is a bijection between the set of spanning trees in 퐺 and 푣 −rooted spanning arborescences in 퐻.
Recommended publications
  • Planar Graph Perfect Matching Is in NC
    2018 IEEE 59th Annual Symposium on Foundations of Computer Science Planar Graph Perfect Matching is in NC Nima Anari Vijay V. Vazirani Computer Science Department Computer Science Department Stanford University University of California, Irvine [email protected] [email protected] Abstract—Is perfect matching in NC? That is, is there a finding a perfect matching, was obtained by Karp, Upfal, and deterministic fast parallel algorithm for it? This has been an Wigderson [11]. This was followed by a somewhat simpler outstanding open question in theoretical computer science for algorithm due to Mulmuley, Vazirani, and Vazirani [17]. over three decades, ever since the discovery of RNC matching algorithms. Within this question, the case of planar graphs has The matching problem occupies an especially distinguished remained an enigma: On the one hand, counting the number position in the theory of algorithms: Some of the most of perfect matchings is far harder than finding one (the former central notions and powerful tools within this theory were is #P-complete and the latter is in P), and on the other, for discovered in the context of an algorithmic study of this NC planar graphs, counting has long been known to be in problem, including the notion of polynomial time solvability whereas finding one has resisted a solution. P In this paper, we give an NC algorithm for finding a perfect [4] and the counting class # [22]. The parallel perspective matching in a planar graph. Our algorithm uses the above- has also led to such gains: The first RNC matching algorithm stated fact about counting matchings in a crucial way.
    [Show full text]
  • Structural Results on Matching Estimation with Applications to Streaming∗
    Structural Results on Matching Estimation with Applications to Streaming∗ Marc Bury, Elena Grigorescu, Andrew McGregor, Morteza Monemizadeh, Chris Schwiegelshohn, Sofya Vorotnikova, Samson Zhou We study the problem of estimating the size of a matching when the graph is revealed in a streaming fashion. Our results are multifold: 1. We give a tight structural result relating the size of a maximum matching to the arboricity α of a graph, which has been one of the most studied graph parameters for matching algorithms in data streams. One of the implications is an algorithm that estimates the matching size up to a factor of (α + 2)(1 + ") using O~(αn2=3) space in insertion-only graph streams and O~(αn4=5) space in dynamic streams, where n is the number of nodes in the graph. We also show that in the vertex arrival insertion-only model, an (α + 2) approximation can be achieved using only O(log n) space. 2. We further show that the weight of a maximum weighted matching can be ef- ficiently estimated by augmenting any routine for estimating the size of an un- weighted matching. Namely, given an algorithm for computing a λ-approximation in the unweighted case, we obtain a 2(1+")·λ approximation for the weighted case, while only incurring a multiplicative logarithmic factor in the space bounds. The algorithm is implementable in any streaming model, including dynamic streams. 3. We also investigate algebraic aspects of computing matchings in data streams, by proposing new algorithms and lower bounds based on analyzing the rank of the Tutte-matrix of the graph.
    [Show full text]
  • The Polynomially Bounded Perfect Matching Problem Is in NC2⋆
    The polynomially bounded perfect matching problem is in NC2⋆ Manindra Agrawal1, Thanh Minh Hoang2, and Thomas Thierauf3 1 IIT Kanpur, India 2 Ulm University, Germany 3 Aalen University, Germany Abstract. The perfect matching problem is known to be in ¶, in ran- domized NC, and it is hard for NL. Whether the perfect matching prob- lem is in NC is one of the most prominent open questions in complexity theory regarding parallel computations. Grigoriev and Karpinski [GK87] studied the perfect matching problem for bipartite graphs with polynomially bounded permanent. They showed that for such bipartite graphs the problem of deciding the existence of a perfect matchings is in NC2, and counting and enumerating all perfect matchings is in NC3. For general graphs with a polynomially bounded number of perfect matchings, they show both problems to be in NC3. In this paper we extend and improve these results. We show that for any graph that has a polynomially bounded number of perfect matchings, we can construct all perfect matchings in NC2. We extend the result to weighted graphs. 1 Introduction Whether there is an NC-algorithm for testing if a given graph contains a perfect matching is an outstanding open question in complexity theory. The problem of deciding the existence of a perfect matching in a graph is known to be in ¶ [Edm65], in randomized NC2 [MVV87], and in nonuniform SPL [ARZ99]. This problem is very fundamental for other computational problems (see e.g. [KR98]). Another reason why a derandomization of the perfect matching problem would be very interesting is, that it is a special case of the polynomial identity testing problem.
    [Show full text]
  • 3.1 the Existence of Perfect Matchings in Bipartite Graphs
    15-859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Finding Perfect Matchings Date: 20 Sep, 2004 Scribe: Viswanath Nagarajan 3.1 The existence of perfect matchings in bipartite graphs We will look at an efficient algorithm that determines whether a perfect matching exists in a given bipartite graph or not. This algorithm and its extension to finding perfect matchings is due to Mulmuley, Vazirani and Vazirani (1987). The algorithm is based on polynomial identity testing (see the last lecture for details on this). A bipartite graph G = (U; V; E) is specified by two disjoint sets U and V of vertices, and a set E of edges between them. A perfect matching is a subset of the edge set E such that every vertex has exactly one edge incident on it. Since we are interested in perfect matchings in the graph G, we shall assume that jUj = jV j = n. Let U = fu1; u2; · · · ; ung and V = fv1; v2; · · · ; vng. The algorithm we study today has no error if G does not have a perfect matching (no instance), and 1 errs with probability at most 2 if G does have a perfect matching (yes instance). This is unlike the algorithms we saw in the previous lecture, which erred on no instances. Definition 3.1.1 The Tutte matrix of bipartite graph G = (U; V; E) is an n × n matrix M with the entry at row i and column j, 0 if(ui; uj) 2= E Mi;j = xi;j if(ui; uj) 2 E The determinant of the Tutte matrix is useful in testing whether a graph has a perfect matching or not, as the following claim shows.
    [Show full text]
  • Chapter 4 Introduction to Spectral Graph Theory
    Chapter 4 Introduction to Spectral Graph Theory Spectral graph theory is the study of a graph through the properties of the eigenvalues and eigenvectors of its associated Laplacian matrix. In the following, we use G = (V; E) to represent an undirected n-vertex graph with no self-loops, and write V = f1; : : : ; ng, with the degree of vertex i denoted di. For undirected graphs our convention will be that if there P is an edge then both (i; j) 2 E and (j; i) 2 E. Thus (i;j)2E 1 = 2jEj. If we wish to sum P over edges only once, we will write fi; jg 2 E for the unordered pair. Thus fi;jg2E 1 = jEj. 4.1 Matrices associated to a graph Given an undirected graph G, the most natural matrix associated to it is its adjacency matrix: Definition 4.1 (Adjacency matrix). The adjacency matrix A 2 f0; 1gn×n is defined as ( 1 if fi; jg 2 E; Aij = 0 otherwise. Note that A is always a symmetric matrix with exactly di ones in the i-th row and the i-th column. While A is a natural representation of G when we think of a matrix as a table of numbers used to store information, it is less natural if we think of a matrix as an operator, a linear transformation which acts on vectors. The most natural operator associated with a graph is the diffusion operator, which spreads a quantity supported on any vertex equally onto its neighbors. To introduce the diffusion operator, first consider the degree matrix: Definition 4.2 (Degree matrix).
    [Show full text]
  • Algebraic Graph Theory
    Algebraic graph theory Gabriel Coutinho University of Waterloo November 6th, 2013 We can associate many matrices to a graph X . Adjacency: 0 0 1 0 1 0 1 B 1 0 1 0 1 C B C A(X ) = B 0 1 0 1 1 C B C @ 1 0 1 0 0 A 0 1 1 0 0 Tutte: 0 1 1 0 0 0 0 1 0 1 0 x12 0 x14 0 1 0 1 1 0 0 B C B −x12 0 x23 0 x25 C Incidence: B 0 0 1 0 1 1 C B C B C B 0 −x23 0 x34 x35 C B 0 1 0 0 0 1 C B C @ A @ −x14 0 −x34 0 0 A 0 0 0 1 1 0 0 −x25 −x35 0 0 What is it about? - the tools Matrices Problem 1 - (very) regular graphs Groups Problem 2 - quantum walks Polynomials Matrices Gabriel Coutinho Algebraic graph theory 2 / 30 Adjacency: 0 0 1 0 1 0 1 B 1 0 1 0 1 C B C A(X ) = B 0 1 0 1 1 C B C @ 1 0 1 0 0 A 0 1 1 0 0 Tutte: 0 1 1 0 0 0 0 1 0 1 0 x12 0 x14 0 1 0 1 1 0 0 B C B −x12 0 x23 0 x25 C Incidence: B 0 0 1 0 1 1 C B C B C B 0 −x23 0 x34 x35 C B 0 1 0 0 0 1 C B C @ A @ −x14 0 −x34 0 0 A 0 0 0 1 1 0 0 −x25 −x35 0 0 What is it about? - the tools Matrices Problem 1 - (very) regular graphs Groups Problem 2 - quantum walks Polynomials Matrices We can associate many matrices to a graph X .
    [Show full text]
  • Perfect Matching Testing Via Matrix Determinant 1 Polynomial Identity 2
    MS&E 319: Matching Theory Instructor: Professor Amin Saberi ([email protected]) Lecture 1: Perfect Matching Testing via Matrix Determinant 1 Polynomial Identity Suppose we are given two polynomials and want to determine whether or not they are identical. For example, (x 1)(x + 1) =? x2 1. − − One way would be to expand each polynomial and compare coefficients. A simpler method is to “plug in” a few numbers and see if both sides are equal. If they are not, we now have a certificate of their inequality, otherwise with good confidence we can say they are equal. This idea is the basis of a randomized algorithm. We can formulate the polynomial equality verification of two given polynomials F and G as: H(x) F (x) G(x) =? 0. ≜ − Denote the maximum degree of F and G as n. Assuming that F (x) = G(x), H(x) will be a polynomial of ∕ degree at most n and therefore it can have at most n roots. Choose an integer x uniformly at random from 1, 2, . , nm . H(x) will be zero with probability at most 1/m, i.e the probability of failing to detect that { } F and G differ is “small”. After just k repetitions, we will be able to determine with probability 1 1/mk − whether the two polynomials are identical i.e. the probability of success is arbitrarily close to 1. The following result, known as the Schwartz-Zippel lemma, generalizes the above observation to polynomials on more than one variables: Lemma 1 Suppose that F is a polynomial in variables (x1, x2, .
    [Show full text]
  • Planar Graph Perfect Matching Is in NC
    Planar Graph Perfect Matching is in NC Nima Anari1 and Vijay V. Vazirani2 1Computer Science Department, Stanford University,∗ [email protected] 2Computer Science Department, University of California, Irvine,y [email protected] Abstract Is perfect matching in NC? That is, is there a deterministic fast parallel algorithm for it? This has been an outstanding open question in theoretical computer science for over three decades, ever since the discovery of RNC matching algorithms. Within this question, the case of planar graphs has remained an enigma: On the one hand, counting the number of perfect matchings is far harder than finding one (the former is #P-complete and the latter is in P), and on the other, for planar graphs, counting has long been known to be in NC whereas finding one has resisted a solution. In this paper, we give an NC algorithm for finding a perfect matching in a planar graph. Our algorithm uses the above-stated fact about counting matchings in a crucial way. Our main new idea is an NC algorithm for finding a face of the perfect matching polytope at which W(n) new conditions, involving constraints of the polytope, are simultaneously satisfied. Several other ideas are also needed, such as finding a point in the interior of the minimum weight face of this polytope and finding a balanced tight odd set in NC. 1 Introduction Is perfect matching in NC? That is, is there a deterministic parallel algorithm that computes a perfect matching in a graph in polylogarithmic time using polynomially many processors? This has been an outstanding open question in theoretical computer science for over three decades, ever since the discovery of RNC matching algorithms [KUW86; MVV87].
    [Show full text]
  • 1 Matchings in Graphs
    CS367 Lecture 8 Perfect Matching Scribe: Amir Abboud Date: April 28, 2014 1 Matchings in graphs This week we will be talking about finding matchings in graphs: a set of edges that do not share endpoints. Definition 1.1 (Maximum Matching). Given an undirected graph G =(V,E), find a subset of edges M ⊆ E of maximum size such that every pair of edges e,e′ ∈ M do not share endpoints e ∩ e′ = ∅. Definition 1.2 (Perfect Matching). Given an undirected graph G = (V,E) where |V | = n is even, find a subset of edges M ⊆ E of size n/2 such that every pair of edges e,e′ ∈ M do not share endpoints e ∩ e′ = ∅. That is, every node must be covered by the matching M. Obviously, any algorithm for Maximum Matching gives an algorithm for Perfect Matching. It is an exercise to show that if one can solve Perfect Matching in T (n) time, then one can solve Maximum Matching in time O˜(T (2n)). The idea is to binary search for the maximum k for which there is a matching M with |M|≥ k. To check whether such M exists, we can add a clique on n − 2k nodes to the graph and connect it to the original graph with all possible edges. The new graph will have a perfect matching if and only if the original graph had a matching with k edges. We will focus on Perfect Matching and give algebraic algorithms for it. Because of the above reduction, this will also imply algorithms for Maximum Matching.
    [Show full text]
  • Matrix Multiplication Based Graph Algorithms
    Matrix Multiplication and Graph Algorithms Uri Zwick Tel Aviv University February 2015 Last updated: June 10, 2015 Short introduction to Fast matrix multiplication Algebraic Matrix Multiplication j i Aa ()ij Bb ()ij = Cc ()ij Can be computed naively in O(n3) time. Matrix multiplication algorithms Complexity Authors n3 — n2.81 Strassen (1969) … n2.38 Coppersmith-Winograd (1990) Conjecture/Open problem: n2+o(1) ??? Matrix multiplication algorithms - Recent developments Complexity Authors n2.376 Coppersmith-Winograd (1990) n2.374 Stothers (2010) n2.3729 Williams (2011) n2.37287 Le Gall (2014) Conjecture/Open problem: n2+o(1) ??? Multiplying 22 matrices 8 multiplications 4 additions Works over any ring! Multiplying nn matrices 8 multiplications 4 additions T(n) = 8 T(n/2) + O(n2) lg8 3 T(n) = O(n )=O(n ) ( lgn = log2n ) “Master method” for recurrences 푛 푇 푛 = 푎 푇 + 푓 푛 , 푎 ≥ 1 , 푏 > 1 푏 푓 푛 = O(푛log푏 푎−휀) 푇 푛 = Θ(푛log푏 푎) 푓 푛 = O(푛log푏 푎) 푇 푛 = Θ(푛log푏 푎 log 푛) 푓 푛 = O(푛log푏 푎+휀) 푛 푇 푛 = Θ(푓(푛)) 푎푓 ≤ 푐푛 , 푐 < 1 푏 [CLRS 3rd Ed., p. 94] Strassen’s 22 algorithm CABAB 11 11 11 12 21 MAABB1( 11 Subtraction! 22 )( 11 22 ) CABAB12 11 12 12 22 MAAB2() 21 22 11 CABAB21 21 11 22 21 MABB3 11() 12 22 CABAB22 21 12 22 22 MABB4 22() 21 11 MAAB5() 11 12 22 CMMMM 11 1 4 5 7 MAABB6 ( 21 11 )( 11 12 ) CMM 12 3 5 MAABB7( 12 22 )( 21 22 ) CMM 21 2 4 7 multiplications CMMMM 22 1 2 3 6 18 additions/subtractions Works over any ring! (Does not assume that multiplication is commutative) Strassen’s nn algorithm View each nn matrix as a 22 matrix whose elements
    [Show full text]
  • Matchings in Graphs 1 Definitions 2 Existence of a Perfect Matching
    Matchings in Graphs Lecturer: Prajakta Nimbhorkar Meeting: 7 Scribe: Karteek 18/02/2010 In this lecture we look at an \efficient" randomized parallel algorithm for each of the follow- ing: • Checking the existence of perfect matching in a bipartite graph. • Checking the existence of perfect matching in a general graph. • Constructing a perfect matching for a given graph. • Finding a min-weight perfect matching in the given weighted graph. • Finding a Maximum matching in the given graph. where “efficient" means an NC-algorithm or an RNC-algorithm. 1 Definitions Definition 1 NC: The set of problems that can be solved within poly-log time by a polynomial number of processors working in parallel. Definition 2 RNC: The set of problems for which there is a poly-log time algorithm which uses polynomially many processors in parallel and in addition is allowed polynomially many random bits and the following properties hold: 1 • If the correct answer is YES, the algorithm returns YES with probabilty ≥ 2 . • If the correct answer is NO, the algorithm always returns NO. 2 Existence of a perfect matching 2.1 Bipartite Graphs Here we consider the decision problem of checking if a bipartite graph has a perfect matching. Let the given graph be G = (V; E). Let V =A[B. Since we are looking for perfect matchings, we only look at graphs where jAj = jBj = n, because otherwise, there cannot be a perfect matching. Fact 3 In a bipartite graph as above, every perfect matching can be seen as a permutation from Sn and every permutation from Sn can be seen as perfect matching.
    [Show full text]
  • 1 Introduction 2 Improving Rabin-Vazirani To
    Lecture 10 More on Matching Scribe: Michael P. Kim Date: April 30, 2014 1 Introduction In the last lecture, we discussed two algorithms for finding perfect matchings both of which leveraged a random substitution of the Tutte Matrix to find edges in a pefect matching. Recall the Tutte Matrix is defined as follows. 0 if(i,j) 6∈ E T (i,j)= xij if i<j −xij if i>j The naive algorithm uses the determinant of the Tutte Matrix as an oracle for whether a perfect matching exists, while the Rabin-Vazirani Algorithm finds edges to include in the matching by leveraging properties of the Tutte Matrix. Recall the naive algorithm. Algorithm 1: NaiveMatch(G) for e ∈ E do if det TG\{e} 6= 0 then Remove e from G; Because we can compute the determinant of T with an O˜(nω) randomized algorithm, this gives us an O(nω+2) benchmark. Now, recall the Rabin -Vazirani algorithm. Algorithm 2: RV(G) T ← random substitution of Tutte Matrix mod some prime p > n3; M ← ∅; n while |M| < 2 do N ← T −1 // run time bottleneck to invert T Find j s.t. N(1,j) 6= 0, T (1,j) 6= 0; M ← M ∪ {(i,j)}; T ← T{1,j},{1,j} Remember that the runtime of RV is O(nω+1), primarily due to the bottleneck in the while loop to compute the inverse of the Tutte Matrix in each iteration. In this lecture, we will improve upon this run time, to O(n3) by using a specialized algorithm to invert the Tutte Matrix.
    [Show full text]