
CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford ([email protected]) February 1, 2018 1 Lecture 8 - Algebraic Methods for Matching In the last lecture we showed that given an algorithm that can determine whether or not a determinant of a matrix with variable entries over some eld is non-zero we can determine whether or not a graph has a perfect matching. In this lecture we show how to use this fact to compute a perfect matching provided we can compute the determinant of an integer valued matrix with bounded entries and we show how to do this eciently using fast matrix multiplication (FMM), a common algorithmic primitive equivalent to many natural problems in this area. In the next lecture we will discuss this equivalence further. 1 From Determinants to Matchings In the the last lecture notes we proved the following lemma. Lemma 1. G = (V; E) with vertices V = f1; :::; ng has a perfect matching if and only if for variables xij for ij 2 [n] the Tutte matrix T (G) dened for all i; j 2 [n] by2 8 >0 if fi; jg 2= E <> T (G)ij = xij if i < j and fvi; vjg 2 E > :−xij if i > j and fvi; vjg 2 E satises det(T (G)) 6= 0: This lemma shows that we can check whether or not a graph has a perfect matching by checking whether or not the multivariate polynomial corresponding to the Tutte matrix is the 0 polynomial. So how do we test this? 1.1 The Schwatz Zippel Lemma As we discussed last class, a natural idea is simply to compute the determinant of T (G)[r11; :::; rnn], i.e. the determinant of T (G) where xij is set to rij, for random values of rij. This corresponds to evaluating the multi- variate polynomial at a random point. If det(T (G)) = 0 then for all rij it must be det(T (G)[r11; :::; rnn]) = 0. However, if not then we would hope there is some chance that det(T (G)[r11; :::; rnn]) 6= 0, in which case we can conclude that G does have a perfect matching. To bound the probability that this happens, we use a classic result known as the Schwartz Zippel lemma, given as follows: Lemma 2 (Schwartz Zippel Lemma). Let f 2 F[x1; :::; xn] be a non-zero polynomial of degree d over eld 3 F. Let S be a nite subset of F and suppose r1; :::; rn are chosen independently at random from S then d Pr [f(r ; r ; :::; r ) = 0] ≤ : 1 2 n jSj 1These lecture notes are a work in progress and there may be typos, awkward language, omitted proof details, etc. Moreover, content from lectures might be missing. These notes are intended to converge to a polished superset of the material covered in class so if you would like anything claried, please do not hesitate to post to Piazza and ask. 2 Note that the rule used to determine the sign of xij does not matter so long as it appears once with each sign. 3Throughout these notes, whenever we write F if you prefer you can set F = R losing little in the intuition behind these notes. CME 305: Discrete Mathematics and Algorithms - Lecture 8 2 Note that if f 2 F[x] was a univariate polynomial of degree d then it has at most d roots, i.e. f(x) = 0 for at most d distinct values, and this lemma would trivially follow from the fact that the probability we pick one of these d values is at most d. This lemma says that for a multivariate polynomial, even though it may have many more roots, e.g. (xi − 1)(x2 − 1) has degree 2 over the reals but an innite number of roots, the probability of picking one when each variable is chosen at random is the same as in the one dimensional case. We prove this lemma in several pieces. First, we formally show the standard fact that a univariate polynomial, i.e. f 2 F[x], has at most deg(f) roots and then using this we prove the lemma by induction. We begin with the following lemma which essentially proves that long division can be performed on polynomials to reduce their degree, i.e. given a polynomial f(x) that we wish to divide by d(x) we can write f(x) = q(x)·d(x)+r(x) where r(x) should be viewed as the remainder of dividing f by d and q is the amount of d that divided f. Lemma 3 (Polynomial Division). Polynomials f; d 2 F[x] with d non-zero has a unique representation as f(x) = q(x) · d(x) + r(x) where q; r 2 F[x] with deg(r) < deg(d). Proof. We prove by induction on deg(f). As our base case suppose deg(f) < deg(d). If q 6= 0 then deg(q(x) · d(x)) ≥ deg(d(x)) and deg(q(x) · d(x) + r(x)) ≥ deg(d(x)) > deg(f). Consequently, in this case we must have q(x) = 0 and r(x) = f(x) for f(x) = q(x) · d(x) + r(x). Now, suppose that the claim holds whenever deg(f) < deg(d)+k for k ≥ 0 we show it holds for k+1. Without deg(q) loss of generality we can write uniquely write q(x) = αqx + q1(x) where αq 2 F and q1(x) 2 F[x] with deg(f) deg(d) deg(q1(x)) < deg(q(x)). Express f(x) = αf x + f1(x), and d(x) = αdx + d1(x) similarly. Note that in order for f(x) = q(x) · d(x) + r(x) it must be the case that deg(q) + deg(d) = deg(f). and αqαd = αf and deg(q) f(x) − αqx · d(x) = q1(x)d(x) + r(x) deg(q) However, f(x)−αqx ·d(x) has degree at least one less than f(x) and thus the result holds by induction. We can simplify this lemma slightly in the case when d(x) = x−a; this is known as the polynomial remainder theorem. Lemma 4 (Polynomial Remainder Theorem). Polynomial f 2 F[x] for any a 2 F has a unique representation as f(x) = q(x) · (x − a) + r where r = f(a). Proof. By polynomial division we know that f has a unique representation as f(x) = q(x) · (x − a) + r(x) where deg(r(x)) < deg(x − a) = 1. Consequently r(x) has degree 0 and r(x) = r for some r 2 F. However, f(a) = q(a) · (a − a) + r = r implies r = f(a) as desired. With this lemma established, formally we say that d(x) divides f(x) if when we try to divide f by d the remainder is 0. Denition 5 (Divisibility). We say polynomial f 2 F[x] is divisible by d 2 F[x] if and only if there exists q 2 F[x] such that f(x) = q(x)d(x) where equality is in terms of the representation. With these lemmas and denitions established we see that a polynomial is divisible by (x − a) if and only if f(a) = 0. Note that if f(a) = 0 and f(b) = 0 this also implies that (x − a)(x − b) divides f. Repeating this we see that a polynomial of degree d has at most d roots, i.e. points at which it evaluates to 0, This means that if we want to know if a degree d polynomial is identically 0 it suces to evaluate it at more than d random points.With this one dimensional version of the Schwarz Zippel Lemma established we prove the full version. CME 305: Discrete Mathematics and Algorithms - Lecture 8 3 Proof of Lemma2. We prove by strong induction on the degree n. If n = 1 then f is one dimensional and it has at most d roots. The probability that r1 is exactly one of these roots is exactly d=jSj. Now suppose it holds for n − 1 we show it holds for n. Note that we can write f uniquely as d X i f(x1; :::; xn) = x1fi(x2; :::; xn) i=0 where fi(x2; :::; xn) 2 F[x2; :::; xn] for all i 2 f0; 1; :::; dg is a degree at most d−i polynomial. Now let j 2 Z≥0 be the largest value such that fj is not identically 0. By our inductive hypothesis (or trivially in the case ) with probability at most d−j we have that . When this does not happens, we have j = d jSj fj(x2:::; xn) = 0 that the resulting polynomial in x1 is degree j. In this case, since x1 is chosen independently from x2; ::; xn and since a degree polynomial has at most roots we have that with probability j . By j j f(x1; :::; xn) = 0 jSj union bound, the probability that either of these events happen is at most d as desired. jSj 1.2 Computing Perfect Matchings With the Schwartz Zippel Lemma and the fact that det(T (G)) = 0 if and only if G does not have a perfect matching we have everything we need to given an algorithm for computing a perfect matching in a general graph in polynomial time with high probability. Lemma 6. If for all n we can compute whether the determinant of an n × n integer valued matrix with 2 polynomially bounded entries is 0 in O(Tdet(n)) time, for Tdet(n) = Ω(n ), then we can compute perfect 2 matchings w.h.p.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages7 Page
-
File Size-