• 沒有找到結果。

Bipartite Perfect Matching

N/A
N/A
Protected

Academic year: 2022

Share "Bipartite Perfect Matching"

Copied!
51
0
0

加載中.... (立即查看全文)

全文

(1)

Bipartite Perfect Matching

• We are given a bipartite graph G = (U, V, E).

– U = {u1, u2, . . . , un}.

– V = {v1, v2, . . . , vn}.

– E ⊆ U × V .

• We are asked if there is a perfect matching.

– A permutation π of {1, 2, . . . , n} such that (ui, vπ(i)) ∈ E

for all i ∈ {1, 2, . . . , n}.

(2)

A Perfect Matching in a Bipartite Graph

X

X

X

X

Y

Y

Y

Y

(3)

Symbolic Determinants

• We are given a bipartite graph G.

• Construct the n × n matrix AG whose (i, j)th entry AGij is a symbolic variable xij if (ui, vj) ∈ E and 0 otherwise, or

AGij =



xij, if (ui, vj) ∈ E, 0, othersie.

(4)

Symbolic Determinants (continued)

• The matrix for the bipartite graph G on p. 481 isa

AG =









0 0 x13 x14 0

0 x22 0 0 0

x31 0 0 0 x35

x41 0 x43 x44 0

x51 0 0 0 x55









. (6)

aThe idea is similar to the Tanner graph in coding theory by Tanner (1981).

(5)

Symbolic Determinants (concluded)

• The determinant of AG is det(AG) = ∑

π

sgn(π)

n i=1

AGi,π(i). (7)

– π ranges over all permutations of n elements.

– sgn(π) is 1 if π is the product of an even number of transpositions and −1 otherwise.

– Equivalently, sgn(π) = 1 if the number of (i, j)s such that i < j and π(i) > π(j) is even.a

• det(AG) contains n! terms, many of which may be 0s.

aContributed by Mr. Hwan-Jeu Yu (D95922028) on May 1, 2008.

(6)

Determinant and Bipartite Perfect Matching

• In

π sgn(π)n

i=1 AGi,π(i), note the following:

– Each summand corresponds to a possible perfect matching π.

– All of these summandsn

i=1 AGi,π(i) are distinct monomials and will not cancel.

• det(AG) is essentially an exhaustive enumeration.

Proposition 58 (Edmonds (1967)) G has a perfect matching if and only if det(AG) is not identically zero.

(7)

Perfect Matching and Determinant (p. 481)

X

X

X

X

X

Y

Y

Y

Y

Y

(8)

Perfect Matching and Determinant (concluded)

• The matrix is (p. 483)

AG =









0 0 x13 x14 0

0 x22 0 0 0

x31 0 0 0 x35

x41 0 x43 x44 0

x51 0 0 0 x55









.

• det(AG) = −x14x22x35x43x51 + x13x22x35x44x51 + x14x22x31x43x55 − x13x22x31x44x55.

(9)

How To Test If a Polynomial Is Identically Zero?

• det(AG) is a polynomial in n2 variables.

• There are exponentially many terms in det(AG).

• Expanding the determinant polynomial is not feasible.

– Too many terms.

• If det(AG) ≡ 0, then it remains zero if we substitute arbitrary integers for the variables x11, . . . , xnn.

• When det(AG) ̸≡ 0, what is the likelihood of obtaining a zero?

(10)

Number of Roots of a Polynomial

Lemma 59 (Schwartz (1980)) Let p(x1, x2, . . . , xm) ̸≡ 0 be a polynomial in m variables each of degree at most d. Let M ∈ Z+. Then the number of m-tuples

(x1, x2, . . . , xm) ∈ {0, 1, . . . , M − 1}m such that p(x1, x2, . . . , xm) = 0 is

≤ mdMm−1.

• By induction on m (consult the textbook).

(11)

Density Attack

• The density of roots in the domain is at most mdMm−1

Mm = md

M . (8)

• So suppose p(x1, x2, . . . , xm) ̸≡ 0.

• Then a random

(x1, x2, . . . , xm) ∈ { 0, 1, . . . , M − 1 }m has a probability of ≤ md/M of being a root of p.

• Note that M is under our control!

– One can raise M to lower the error probability, e.g.

(12)

Density Attack (concluded)

Here is a sampling algorithm to test if p(x1, x2, . . . , xm) ̸≡ 0.

1: Choose i1, . . . , im from {0, 1, . . . , M − 1} randomly;

2: if p(i1, i2, . . . , im) ̸= 0 then

3: return “p is not identically zero”;

4: else

5: return “p is (probably) identically zero”;

6: end if

(13)

Analysis

• If p(x1, x2, . . . , xm) ≡ 0 , the algorithm will always be correct as p(i1, i2, . . . , im) = 0.

• Suppose p(x1, x2, . . . , xm) ̸≡ 0.

– The algorithm will answer incorrectly with

probability at most md/M by Eq. (8) on p. 490.

• We next return to the original problem of bipartite perfect matching.

(14)

A Randomized Bipartite Perfect Matching Algorithm

a

1: Choose n2 integers i11, . . . , inn from {0, 1, . . . , 2n2 − 1}

randomly; {So M = 2n2.}

2: Calculate det(AG(i11, . . . , inn)) by Gaussian elimination;

3: if det(AG(i11, . . . , inn)) ̸= 0 then

4: return “G has a perfect matching”;

5: else

6: return “G has no perfect matchings”;

7: end if

aLov´asz (1979). According to Paul Erd˝os, Lov´asz wrote his first sig- nificant paper “at the ripe old age of 17.”

(15)

Analysis

• If G has no perfect matchings, the algorithm will always be correct as det(AG(i11, . . . , inn)) = 0.

• Suppose G has a perfect matching.

– The algorithm will answer incorrectly with

probability at most md/M = 0.5 with m = n2, d = 1 and M = 2n2 in Eq. (8) on p. 490.

• Run the algorithm independently k times.

• Output “G has no perfect matchings” if and only if all say no.

• The error probability is now reduced to at most 2−k.

(16)

L´ oszl´ o Lov´ asz (1948–)

(17)

Remarks

a

• Note that we are calculating

prob[ algorithm answers “no”| G has no perfect matchings ], prob[ algorithm answers “yes”| G has a perfect matching ].

• We are not calculatingb

prob[ G has no perfect matchings| algorithm answers “no” ], prob[ G has a perfect matching| algorithm answers “yes” ].

aThanks to a lively class discussion on May 1, 2008.

bNumerical Recipes in C (1988), “[As] we already remarked, statistics is not a branch of mathematics!”

(18)

But How Large Can det(A

G

(i

11

, . . . , i

nn

)) Be?

• It is at most

n! (

2n2)n

.

• Stirling’s formula says n! ∼

2πn (n/e)n.

• Hence

log2 det(AG(i11, . . . , inn)) = O(n log2 n) bits are sufficient for representing the determinant.

• We skip the details about how to make sure that all

(19)

An Intriguing Question

a

• Is there an (i11, . . . , inn) that will always give correct answers for the algorithm on p. 493?

• A theorem on p. 591 shows that such an (i11, . . . , inn) exists!

– Whether it can be found efficiently is another matter.

• Once (i11, . . . , inn) is available, the algorithm can be made deterministic.

aThanks to a lively class discussion on November 24, 2004.

(20)

Randomization vs. Nondeterminism

a

• What are the differences between randomized algorithms and nondeterministic algorithms?

• One can think of a randomized algorithm as a

nondeterministic algorithm but with a probability associated with every guess/branch.

• So each computation path of a randomized algorithm has a probability associated with it.

aContributed by Mr. Olivier Valery (D01922033) and Mr. Hasan Al- hasan (D01922034) on November 27, 2012.

(21)

Monte Carlo Algorithms

a

• The randomized bipartite perfect matching algorithm is called a Monte Carlo algorithm in the sense that

– If the algorithm finds that a matching exists, it is always correct (no false positives).

– If the algorithm answers in the negative, then it may make an error (false negatives).

aMetropolis and Ulam (1949).

(22)

Monte Carlo Algorithms (continued)

• The algorithm makes a false negative with probability

≤ 0.5.a

– Note this probability refers tob

prob[ algorithm answers “no”| G has a perfect matching ] not

prob[ G has a perfect matching| algorithm answers “no” ].

aEquivalently, among the coin flip sequences, at most half of them lead to the wrong answer.

| input is a “yes” instance ].

(23)

Monte Carlo Algorithms (concluded)

• This probability o.5 is not over the space of all graphs or determinants, but over the algorithm’s own coin flips.

– It holds for any bipartite graph.

(24)

The Markov Inequality

a

Lemma 60 Let x be a random variable taking nonnegative integer values. Then for any k > 0,

prob[ x ≥ kE[ x ] ] ≤ 1/k.

• Let pi denote the probability that x = i.

E[ x ] = ∑

i

ipi = ∑

i<kE[ x ]

ipi + ∑

i≥kE[ x ]

ipi

i≥kE[ x ]

ipi ≥ kE[ x ]

i≥kE[ x ]

pi

≥ kE[ x ] × prob[x ≥ kE[ x ]].

(25)

Andrei Andreyevich Markov (1856–1922)

(26)

An Application of Markov’s Inequality

• Suppose algorithm C runs in expected time T (n) and always gives the right answer.

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.

• By Markov’s inequality, this new algorithm runs in time kT (n) and gives the wrong answer with probability

≤ 1/k.

(27)

An Application of Markov’s Inequality (concluded)

• By running this algorithm m times (the total running time is mkT (n)), we reduce the error probability to

≤ k−m.a

• Suppose, instead, we run the algorithm for the same running time mkT (n) once and rejects the input if it does not stop within the time bound.

• By Markov’s inequality, this new algorithm gives the wrong answer with probability ≤ 1/(mk).

• This is much worse than the previous algorithm’s error probability of ≤ k−m for the same amount of time.

aWith the same input. Thanks to a question on December 7, 2010.

(28)

fsat for k-sat Formulas (p. 469)

• Let ϕ(x1, x2, . . . , xn) be a k-sat formula.

• If ϕ is satisfiable, then return a satisfying truth assignment.

• Otherwise, return “no.”

• We next propose a randomized algorithm for this problem.

(29)

A Random Walk Algorithm for ϕ in CNF Form

1: Start with an arbitrary truth assignment T ;

2: for i = 1, 2, . . . , r do

3: if T |= ϕ then

4: return “ϕ is satisfiable with T ”;

5: else

6: Let c be an unsatisfied clause in ϕ under T ; {All of its literals are false under T .}

7: Pick any x of these literals at random;

8: Modify T to make x true;

9: end if

10: end for

11: return “ϕ is unsatisfiable”;

(30)

3sat vs. 2sat Again

• Note that if ϕ is unsatisfiable, the algorithm will not refute it.

• The random walk algorithm needs expected exponential time for 3sat.

– In fact, it runs in expected O((1.333· · · + ϵ)n) time with r = 3n,a much better than O(2n).b

• We will show immediately that it works well for 2sat.

• The state of the art as of 2006 is expected O(1.322n) time for 3sat and expected O(1.474n) time for 4sat.c

aUse this setting per run of the algorithm.

(31)

Random Walk Works for 2sat

a

Theorem 61 Suppose the random walk algorithm with r = 2n2 is applied to any satisfiable 2sat problem with n variables. Then a satisfying truth assignment will be

discovered with probability at least 0.5.

• Let ˆT be a truth assignment such that ˆT |= ϕ.

• Assume our starting T differs from ˆT in i values.

– Their Hamming distance is i.

– Recall T is arbitrary.

aPapadimitriou (1991).

(32)

The Proof

• Let t(i) denote the expected number of repetitions of the flipping stepa until a satisfying truth assignment is

found.

• It can be shown that t(i) is finite.

• t(0) = 0 because it means that T = ˆT and hence T |= ϕ.

• If T ̸= ˆT or any other satisfying truth assignment, then we need to flip the coin at least once.

• We flip a coin to pick among the 2 literals of a clause not satisfied by the present T .

• At least one of the 2 literals is true under ˆT because ˆT

(33)

The Proof (continued)

• So we have at least 0.5 chance of moving closer to ˆT .

• Thus

t(i) t(i − 1) + t(i + 1)

2 + 1

for 0 < i < n.

– Inequality is used because, for example, T may differ from ˆT in both literals.

• It must also hold that

t(n) ≤ t(n − 1) + 1 because at i = n, we can only decrease i.

(34)

The Proof (continued)

• Now, put the necessary relations together:

t(0) = 0, (9)

t(i) t(i − 1) + t(i + 1)

2 + 1, 0 < i < n, (10)

t(n) ≤ t(n − 1) + 1. (11)

• Technically, this is a one-dimensional random walk with an absorbing barrier at i = 0 and a reflecting barrier at i = n (if we replace “≤” with “=”).a

aThe proof in the textbook does exactly that. But a student pointed

(35)

The Proof (continued)

• Add up the relations for

2t(1), 2t(2), 2t(3), . . . , 2t(n − 1), t(n) to obtaina 2t(1) + 2t(2) + · · · + 2t(n − 1) + t(n)

≤ t(0) + t(1) + 2t(2) + · · · + 2t(n − 2) + 2t(n − 1) + t(n) +2(n − 1) + 1.

• Simplify it to yield

t(1) ≤ 2n − 1. (12)

aAdding up the relations for t(1), t(2), t(3), . . . , t(n−1) will also work, thanks to Mr. Yen-Wu Ti (D91922010).

(36)

The Proof (continued)

• Add up the relations for 2t(2), 2t(3), . . . , 2t(n − 1), t(n) to obtain

2t(2) + · · · + 2t(n − 1) + t(n)

≤ t(1) + t(2) + 2t(3) + · · · + 2t(n − 2) + 2t(n − 1) + t(n) +2(n − 2) + 1.

• Simplify it to yield

t(2) ≤ t(1) + 2n − 3 ≤ 2n − 1 + 2n − 3 = 4n − 4

(37)

The Proof (continued)

• Continuing the process, we shall obtain t(i) ≤ 2in − i2.

• The worst upper bound happens when i = n, in which case

t(n) ≤ n2.

• We conclude that

t(i) ≤ t(n) ≤ n2 for 0 ≤ i ≤ n.

(38)

The Proof (concluded)

• So the expected number of steps is at most n2.

• The algorithm picks r = 2n2.

– This amounts to invoking the Markov inequality

(p. 503) with k = 2, resulting in a probability of 0.5.a

• The proof does not yield a polynomial bound for 3sat.b

aRecall p. 505.

bContributed by Mr. Cheng-Yu Lee (R95922035) on November 8, 2006.

(39)

Christos Papadimitriou (1949–)

(40)

Boosting the Performance

• We can pick r = 2mn2 to have an error probability of

1 2m by Markov’s inequality.

• Alternatively, with the same running time, we can run the “r = 2n2” algorithm m times.

• The error probability is now reduced to

≤ 2−m.

(41)

Primality Tests

• primes asks if a number N is a prime.

• The classic algorithm tests if k | N for k = 2, 3, . . . ,√ N .

• But it runs in Ω(2(log2 N )/2) steps.

(42)

Primality Tests (concluded)

• Suppose N = P Q is a product of 2 distinct primes.

• The probability of success of the density attack (p. 450) is

2

√N when P ≈ Q.

• This probability is exponentially small in terms of the input length log2 N .

(43)

The Fermat Test for Primality

Fermat’s “little” theorem (p. 453) suggests the following primality test for any given number N :

1: Pick a number a randomly from {1, 2, . . . , N − 1};

2: if aN−1 ̸= 1 mod N then

3: return “N is composite”;

4: else

5: return “N is a prime”;

6: end if

(44)

The Fermat Test for Primality (concluded)

• Carmichael numbers are composite numbers that will pass the Fermat test for all a ∈ {1, 2, . . . , N − 1}.a

– The Fermat test will return “N is a prime” for all Carmichael numbers N .

• Unfortunately, there are infinitely many Carmichael numbers.b

• In fact, the number of Carmichael numbers less than N exceeds N2/7 for N large enough.

• So the Fermat test is an incorrect algorithm for primes.

aCarmichael (1910). Lo (1994) mantions an investment strategy

(45)

Square Roots Modulo a Prime

• Equation x2 = a mod p has at most two (distinct) roots by Lemma 57 (p. 458).

– The roots are called square roots.

– Numbers a with square roots and gcd(a, p) = 1 are called quadratic residues.

∗ They are

12 mod p, 22 mod p, . . . , (p − 1)2 mod p.

• We shall show that a number either has two roots or has none, and testing which is the case is trivial.a

aBut no efficient deterministic general-purpose square-root-extracting algorithms are known yet.

(46)

Euler’s Test

Lemma 62 (Euler) Let p be an odd prime and a ̸= 0 mod p.

1. If

a(p−1)/2 = 1 mod p, then x2 = a mod p has two roots.

2. If

a(p−1)/2 ̸= 1 mod p, then

a(p−1)/2 = −1 mod p

(47)

The Proof (continued)

• Let r be a primitive root of p.

• By Fermat’s “little” theorem, r(p−1)/2 is a square root of 1.

• So

r(p−1)/2 = 1 or −1 mod p.

• But as r is a primitive root, r(p−1)/2 ̸= 1 mod p.

• Hence

r(p−1)/2 = −1 mod p.

(48)

The Proof (continued)

• Let a = rk mod p for some k.

• Then

1 = a(p−1)/2 = rk(p−1)/2 = [

r(p−1)/2 ]k

= (−1)k mod p.

• So k must be even.

• Suppose a = r2j for some 1 ≤ j ≤ (p − 1)/2.

• Then a(p−1)/2 = rj(p−1) = 1 mod p, and a’s two distinct roots are rj,−rj(= rj+(p−1)/2 mod p).

– If rj = −rj mod p, then 2rj = 0 mod p, which implies

(49)

The Proof (continued)

• As 1 ≤ j ≤ (p − 1)/2, there are (p − 1)/2 such a’s.

• Each such a has 2 distinct square roots.

• The square roots of all the a’s are distinct.

– The square roots of different a’s must be different.

• Hence the set of square roots is {1, 2, . . . , p − 1}.

• As a result, a = r2j, 1 ≤ j ≤ (p − 1)/2, exhaust all the quadratic residues.

(50)

The Proof (concluded)

• If a = r2j+1, then it has no roots because all the square roots have been taken.

• Now,

a(p−1)/2 = [

r(p−1)/2

]2j+1

= (−1)2j+1 = −1 mod p.

(51)

The Legendre Symbola and Quadratic Residuacity Test

• By Lemma 62 (p. 525) a(p−1)/2 mod p = ±1 for a ̸= 0 mod p.

• For odd prime p, define the Legendre symbol (a | p) as

(a| p) =

0 if p| a,

1 if a is a quadratic residue modulo p,

−1 if a is a quadratic nonresidue modulo p.

• Euler’s test (p. 525) implies

a(p−1)/2 = (a| p) mod p for any odd prime p and any integer a.

• Note that (ab|p) = (a|p)(b|p).

參考文獻

相關文件

• The randomized bipartite perfect matching algorithm is called a Monte Carlo algorithm in the sense that.. – If the algorithm finds that a matching exists, it is always correct

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.. • By Markov’s inequality, this new algorithm runs in time kT (n)

• By definition, a pseudo-polynomial-time algorithm becomes polynomial-time if each integer parameter is limited to having a value polynomial in the input length.. • Corollary 42

– At the same time, buy the option, promptly exercise it, and close the stock position.. ∗ For the call, call the lent money to

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.. • By Markov’s inequality, this new algorithm runs in time kT (n)

• The randomized bipartite perfect matching algorithm is called a Monte Carlo algorithm in the sense that.. – If the algorithm finds that a matching exists, it is always correct

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.. • By Markov’s inequality, this new algorithm runs in time kT (n)

• Suppose, instead, we run the algorithm for the same running time mkT (n) once and rejects the input if it does not stop within the time bound.. • By Markov’s inequality, this