• 沒有找到結果。

# Monte Carlo Algorithms

N/A
N/A
Protected

Share "Monte Carlo Algorithms"

Copied!
66
0
0

(1)

## Randomization vs. Nondeterminism

a

• What are the diﬀerences between randomized algorithms and nondeterministic algorithms?

• Think of a randomized algorithm as a nondeterministic one 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.

(2)

## Monte Carlo Algorithms

a

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

– If the algorithm ﬁnds that a matching exists, it is always correct (no false positives; no type 1 errors).

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

aMetropolis & Ulam (1949).

(3)

## Monte Carlo Algorithms (continued)

• The algorithm makes a false negative with probability

≤ 0.5.a

• Again, 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 ﬂip sequences, at most half of them lead to the wrong answer.

bIn general, prob[ algorithm answers “no”| input is a yes instance ].

(4)

## Monte Carlo Algorithms (concluded)

• This probability 0.5 is not over the space of all graphs or determinants, but over the algorithm’s own coin ﬂips.

– It holds for any bipartite graph.

• In contrast, to calculate

prob[G has a perfect matching | algorithm answers “no” ], we will need the distribution of G.

• But it is an empirical statement that is very hard to verify.

(5)

## The Markov Inequality

a

Lemma 67 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 ]].

aAndrei Andreyevich Markov (1856–1922).

(6)

(7)

## fsat for k-sat Formulas (p. 500)

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

• If φ is satisﬁable, then return a satisfying truth assignment.

• Otherwise, return “no.”

• We next propose a randomized algorithm for this problem.

(8)

## A Random Walk Algorithm for φ in CNF Form

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

3: if T |= φ then

4: return “φ is satisﬁable with T ”;

5: else

6: Let c be an unsatisﬁed 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 unsatisﬁable”;

(9)

## 3sat vs. 2sat Again

• Note that if φ is unsatisﬁable, the algorithm will answer

“unsatisﬁable.”

• 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 2014 is expected O(1.30704n) time for 3sat and expected O(1.46899n) time for 4sat.c

aUse this setting per run of the algorithm.

bSch¨oning (1999). Makino, Tamaki, & Yamamoto (2011) improve the bound to deterministic O(1.3303n).

cHertli (2014).

(10)

## Random Walk Works for 2sat

a

Theorem 68 Suppose the random walk algorithm with r = 2n2 is applied to any satisﬁable 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 diﬀers from ˆT in i values.

– Their Hamming distance is i.

– Recall T is arbitrary.

(11)

## The Proof

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

found.

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

• 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 ﬂip the coin at least once.

• We ﬂip a coin to pick among the 2 literals of a clause not satisﬁed by the present T .

• At least one of the 2 literals is true under ˆT because ˆT satisﬁes all clauses.

aThat is, Statement 7.

(12)

## The Proof (continued)

• So we have at least a 50% 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 diﬀer 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.

(13)

## The Proof (continued)

• Now, put the necessary relations together:

t(0) = 0, (10)

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

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

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

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

aThe proof in the textbook does exactly that. But a student pointed out diﬃculties with this proof technique on December 8, 2004. So our proof here uses the original inequalities.

(14)

## 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. (13)

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

(15)

## 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 by Eq. (13) on p. 544.

(16)

## 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.

(17)

## The Proof (concluded)

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

• The algorithm picks r = 2n2.

• Apply the Markov inequality (p. 535) with k = 2 to yield the desired probability of 0.5.

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

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

(18)

## 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.

(19)

## 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.

(20)

## The Fermat Test for Primality

Fermat’s “little” theorem (p. 486) 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 (probably) a prime”;

6: end if

(21)

## 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 inﬁnitely 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) mentions an investment strategy based on such numbers!

bAlford, Granville, & Pomerance (1992).

(22)

## Square Roots Modulo a Prime

• Equation x2 ≡ a mod p has at most two (distinct) roots by Lemma 64 (p. 491).

– 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 eﬃcient deterministic general-purpose square-root-extracting

(23)

## Euler’s Test

Lemma 69 (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 and x2 ≡ a mod p has no roots.

(24)

## The Proof (continued)

• Let r be a primitive root of p.

• Fermat’s “little” theorem says rp−1 ≡ 1 mod p, so r(p−1)/2

is a square root of 1.

• In particular,

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.

(25)

## The Proof (continued)

• Let a = rk mod p for some k.

• Suppose a(p−1)/2 ≡ 1 mod p.

• Then

1 ≡ a(p−1)/2 ≡ rk(p−1)/2 

r(p−1)/2 k

≡ (−1)k mod p.

• So k must be even.

(26)

## The Proof (continued)

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

• Then

a(p−1)/2 ≡ rj(p−1) ≡ 1 mod p.

• The two distinct roots of a are

rj, −rj(≡ rj+(p−1)/2 mod p).

– If rj ≡ −rj mod p, then 2rj ≡ 0 mod p, which implies rj ≡ 0 mod p, a contradiction as r is a primitive root.

(27)

## The Proof (continued)

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

• Each such a ≡ r2j mod p has 2 distinct square roots.

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

– The square roots of diﬀerent a’s must be diﬀerent.

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

• As a result,

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

(28)

## The Proof (concluded)

• Suppose a = r2j+1 mod p now.

• Then it has no square roots because all the square roots have been taken.

• Finally,

a(p−1)/2 

r(p−1)/2 2j+1

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

(29)

The Legendre Symbola and Quadratic Residuacity Test

• By Lemma 69 (p. 553),

a(p−1)/2 mod p = ±1 for a ≡ 0 mod p.

• For odd prime p, deﬁne 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.

• It is sometimes pronounced “a over p.”

aAndrien-Marie Legendre (1752–1833).

(30)

The Legendre Symbol and Quadratic Residuacity Test (concluded)

• Euler’s test (p. 553) 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).

(31)

## Gauss’s Lemma

Lemma 70 (Gauss) Let p and q be two distinct odd primes. Then (q | p) = (−1)m, where m is the number of residues in R =Δ { iq mod p : 1 ≤ i ≤ (p − 1)/2 } that are greater than (p − 1)/2.

• All residues in R are distinct.

– If iq = jq mod p, then p | (j − i) or p | q.

– But neither is possible.

• No two elements of R add up to p.

– If iq + jq ≡ 0 mod p, then p | (i + j) or p | q.

– But neither is possible.

(32)

## The Proof (continued)

• Replace each of the m elements a ∈ R such that a > (p − 1)/2 by p − a.

– This is equivalent to performing −a mod p.

• Call the resulting set of residues R.

• All numbers in R are at most (p − 1)/2.

• In fact, R = { 1, 2, . . . , (p − 1)/2 } (see illustration next page).

– Otherwise, two elements of R would add up to p,a which has been shown to be impossible.

aBecause then iq ≡ −jq mod p for some i = j.

(33)

5 1 2 3 4

6 5

1 2 3 4

6

p = 7 and q = 5.

(34)

## The Proof (concluded)

• Alternatively, R = { ±iq mod p : 1 ≤ i ≤ (p − 1)/2 }, where exactly m of the elements have the minus sign.

• Take the product of all elements in the two representations of R.

• So

[(p − 1)/2]! ≡ (−1)mq(p−1)/2[(p − 1)/2]! mod p.

• Because gcd([(p − 1)/2]!, p) = 1, the above implies 1 = (−1)mq(p−1)/2 mod p.

(35)

## Legendre’s Law of Quadratic Reciprocity

a

• Let p and q be two distinct odd primes.

• The next result says (p | q) and (q | p) are distinct if and only if both p and q are 3 mod 4.

Lemma 71 (Legendre, 1785; Gauss)

(p | q)(q | p) = (−1)p−12 q−12 .

aFirst stated by Euler in 1751. Legendre (1785) did not give a cor- rect proof. Gauss proved the theorem when he was 19. He gave at least 8 diﬀerent proofs during his life. The 152nd proof appeared in 1963. A computer-generated formal proof was given in Russinoﬀ (1990).

As of 2008, there had been 4 such proofs. Wiedijk (2008), “the Law of Quadratic Reciprocity is the ﬁrst nontrivial theorem that a student encounters in the mathematics curriculum.”

(36)

## The Proof (continued)

• Sum the elements of R in the previous proof in mod2.

• On one hand, this is just (p−1)/2

i=1 i mod 2.

• On the other hand, the sum equals mp +

(p−1)/2

i=1



iq − p

iq p



mod 2

= mp +

⎝q (p−1)/2

i=1

i − p

(p−1)/2

i=1

iq p

⎞⎠ mod 2.

m of the iq mod p are replaced by p − iq mod p.

– But signs are irrelevant under mod2.

(37)

## The Proof (continued)

• Ignore odd multipliers to make the sum equal

m +

(p−1)/2

i=1

i −

(p−1)/2

i=1

iq p

⎞⎠ mod 2.

• Equate the above with (p−1)/2

i=1 i modulo 2.

• Now simplify to obtain

m ≡

(p−1)/2

i=1

iq p



mod 2.

(38)

## The Proof (continued)

(p−1)/2

i=1 iqp is the number of integral points below the line

y = (q/p) x for 1 ≤ x ≤ (p − 1)/2.

• Gauss’s lemma (p. 561) says (q | p) = (−1)m.

• Repeat the proof with p and q reversed.

• Then (p | q) = (−1)m, where m is the number of integral points above the line y = (q/p) x for

1 ≤ y ≤ (q − 1)/2.

(39)

## The Proof (concluded)

• As a result,

(p | q)(q | p) = (−1)m+m.

• But m + m is the total number of integral points in the [1, p−12 ] × [1, q−12 ] rectangle, which is

p − 1 2

q − 1 2 .

(40)

## Eisenstein’s Rectangle

(p,q)

(p - 1)/2 (q - 1)/2

Above, p = 11, q = 7, m = 7, m = 8.

(41)

## The Jacobi Symbol

a

• The Legendre symbol only works for odd prime moduli.

• The Jacobi symbol (a | m) extends it to cases where m is not prime.

a is sometimes called the numerator and m the denominator.

• Trivially, (1 | m) = 1.

• Deﬁne (a | 1) = 1.

aCarl Jacobi (1804–1851).

(42)

## The Jacobi Symbol (concluded)

• Let m = p1p2 · · · pk be the prime factorization of m.

• When m > 1 is odd and gcd(a, m) = 1, then

(a | m) =Δ

k i=1

(a | pi).

– Note that the Jacobi symbol equals ±1.

– It reduces to the Legendre symbol when m is a prime.

(43)

## Properties of the Jacobi Symbol

The Jacobi symbol has the following properties when it is deﬁned.

1. (ab | m) = (a | m)(b | m).

2. (a | m1m2) = (a | m1)(a | m2).

3. If a ≡ b mod m, then (a | m) = (b | m).

4. (−1 | m) = (−1)(m−1)/2 (by Lemma 70 on p. 561).

5. (2 | m) = (−1)(m2−1)/8.a

6. If a and m are both odd, then (a | m)(m | a) = (−1)(a−1)(m−1)/4.

aBy Lemma 70 (p. 561) and some parity arguments.

(44)

## Properties of the Jacobi Symbol (concluded)

• Properties 3–6 allow us to calculate the Jacobi symbol without factorization.

– It will also yield the same result as Euler’s testa when m is an odd prime.

• This situation is similar to the Euclidean algorithm.

• Note also that (a | m) = 1/(a | m) because (a | m) = ±1.b

aRecall p. 553.

bContributed by Mr. Huang, Kuan-Lin (B96902079, R00922018) on December 6, 2011.

(45)

## Calculation of (2200 | 999)

(2200| 999) = (202 | 999)

= (2 | 999)(101 | 999)

= (−1)(9992−1)/8(101| 999)

= (−1)124750(101| 999) = (101 | 999)

= (−1)(100)(998)/4(999| 101) = (−1)24950(999| 101)

= (999| 101) = (90 | 101) = (−1)(1012−1)/8(45| 101)

= (−1)1275(45| 101) = −(45 | 101)

= −(−1)(44)(100)/4(101| 45) = −(101 | 45) = −(11 | 45)

= −(−1)(10)(44)/4(45| 11) = −(45 | 11)

= −(1 | 11) = −1.

(46)

## A Result Generalizing Proposition 10.3 in the Textbook

Theorem 72 The group of set Φ(n) under multiplication mod n has a primitive root if and only if n is either 1, 2, 4, pk, or 2pk for some nonnegative integer k and an odd prime p.

This result is essential in the proof of the next lemma.

(47)

## The Jacobi Symbol and Primality Test

a

Lemma 73 If (M | N) ≡ M(N−1)/2 mod N for all M ∈ Φ(N), then N is a prime. (Assume N is odd.)

• Assume N = mp, where p is an odd prime, gcd(m, p) = 1, and m > 1 (not necessarily prime).

• Let r ∈ Φ(p) such that (r | p) = −1.

• The Chinese remainder theorem says that there is an M ∈ Φ(N) such that

M = r mod p, M = 1 mod m.

aMr. Clement Hsiao (B4506061, R88526067) pointed out that the text- book’s proof for Lemma 11.8 is incorrect in January 1999 while he was a senior.

(48)

## The Proof (continued)

• By the hypothesis,

M(N−1)/2 = (M | N) = (M | p)(M | m) = −1 mod N.

• Hence

M(N−1)/2 = −1 mod m.

• But because M = 1 mod m,

M(N−1)/2 = 1 mod m, a contradiction.

(49)

## The Proof (continued)

• Second, assume that N = pa, where p is an odd prime and a ≥ 2.

• By Theorem 72 (p. 576), there exists a primitive root r modulo pa.

• From the assumption, MN−1 =

M(N−1)/2 2

= (M|N)2 = 1 mod N for all M ∈ Φ(N).

(50)

## The Proof (continued)

• As r ∈ Φ(N) (prove it), we have

rN−1 = 1 mod N.

• As r’s exponent modulo N = pa is φ(N) = pa−1(p − 1), pa−1(p − 1) | (N − 1),

which implies that p | (N − 1).

• But this is impossible given that p | N.

(51)

## The Proof (continued)

• Third, assume that N = mpa, where p is an odd prime, gcd(m, p) = 1, m > 1 (not necessarily prime), and a is even.

• The proof mimics that of the second case.

• By Theorem 72 (p. 576), there exists a primitive root r modulo pa.

• From the assumption, MN−1 =

M(N−1)/2 2

= (M|N)2 = 1 mod N for all M ∈ Φ(N).

(52)

## The Proof (continued)

• In particular,

MN−1 = 1 mod pa (14)

for all M ∈ Φ(N).

• The Chinese remainder theorem says that there is an M ∈ Φ(N) such that

M = r mod pa, M = 1 mod m.

• Because M = r mod pa and Eq. (14), rN−1 = 1 mod pa.

(53)

## The Proof (concluded)

• As r’s exponent modulo N = pa is φ(N) = pa−1(p − 1), pa−1(p − 1) | (N − 1),

which implies that p | (N − 1).

• But this is impossible given that p | N.

(54)

## The Number of Witnesses to Compositeness

Theorem 74 (Solovay & Strassen, 1977) If N is an

odd composite, then (M | N) ≡ M(N−1)/2 mod N for at most half of M ∈ Φ(N).

• By Lemma 73 (p. 577) there is at least one a ∈ Φ(N) such that (a | N) ≡ a(N−1)/2 mod N.

• Let B =Δ { b1, b2, . . . , bk } ⊆ Φ(N) be the set of all

distinct residues such that (bi | N) ≡ b(N−1)/2i mod N.

• Let aB =Δ { abi mod N : i = 1, 2, . . . , k }.

• Clearly, aB ⊆ Φ(N), too.

(55)

## The Proof (concluded)

• | aB | = k.

abi ≡ abj mod N implies N | a(bi − bj), which is

impossible because gcd(a, N) = 1 and N > | bi − bj |.

• aB ∩ B = ∅ because

(abi)(N−1)/2 ≡ a(N−1)/2b(N−1)/2i ≡ (a | N)(bi | N) ≡ (abi | N).

• Combining the above two results, we know

| B |

φ(N) | B |

| B ∪ aB | = 0.5.

(56)

1: if N is even but N = 2 then

2: return “N is composite”;

3: else if N = 2 then

4: return “N is a prime”;

5: end if

6: Pick M ∈ { 2, 3, . . . , N − 1 } randomly;

7: if gcd(M, N ) > 1 then

8: return “N is composite”;

9: else

10: if (M | N ) ≡ M(N−1)/2 mod N then

11: return “N is (probably) a prime”;

12: else

13: return “N is composite”;

14: end if

(57)

## Analysis

• The algorithm certainly runs in polynomial time.

• There are no false positives (for compositeness).

– When the algorithm says the number is composite, it is always correct.

(58)

## Analysis (concluded)

• The probability of a false negative (again, for compositeness) is at most one half.

– Suppose the input is composite.

– By Theorem 74 (p. 584),

prob[ algorithm answers “no”| N is composite ] ≤ 0.5.

– Note that we are not referring to the probability that N is composite when the algorithm says “no.”

• So it is a Monte Carlo algorithm for compositeness.a

aNot primes.

(59)

## The Improved Density Attack for compositeness

All numbers < N

Witnesses to compositeness of

N via Jacobi Witnesses to

compositeness of N via common

factor

(60)

## Randomized Complexity Classes; RP

• Let N be a polynomial-time precise NTM that runs in time p(n) and has 2 nondeterministic choices at each step.

• N is a polynomial Monte Carlo Turing machine for a language L if the following conditions hold:

– If x ∈ L, then at least half of the 2p(n) computation paths of N on x halt with “yes” where n = | x |.

– If x ∈ L, then all computation paths halt with “no.”

• The class of all languages with polynomial Monte Carlo TMs is denoted RP (randomized polynomial time).a

(61)

• In analogy to Proposition 41 (p. 331), a “yes” instance of an RP problem has many certiﬁcates (witnesses).

• There are no false positives.

• If we associate nondeterministic steps with ﬂipping fair coins, then we can phrase RP in the language of

probability.

– If x ∈ L, then N(x) halts with “yes” with probability at least 0.5.

– If x ∈ L, then N(x) halts with “no.”

(62)

• The probability of false negatives is ≤ 0.5.

• But any constant  between 0 and 1 can replace 0.5.

– Repeat the algorithm k =Δ −log12  times and answer

“no” only if all the runs answer “no.”

– The probability of false negatives becomes k ≤ 0.5.

(63)

## Where RP Fits

• P ⊆ RP ⊆ NP.

– A deterministic TM is like a Monte Carlo TM except that all the coin ﬂips are ignored.

– A Monte Carlo TM is an NTM with more demands on the number of accepting paths.

• compositeness ∈ RP;a primes ∈ coRP;

primes ∈ RP.b

– In fact, primes ∈ P.c

• RP ∪ coRP is an alternative “plausible” notion of eﬃcient computation.

aRabin (1976); Solovay & Strassen (1977).

cAgrawal, Kayal, & Saxena (2002).

(64)

a

## (Zero Probabilistic Polynomial)

• The class ZPP is deﬁned as RP ∩ coRP.

• A language in ZPP has two Monte Carlo algorithms, one with no false positives (RP) and the other with no false negatives (coRP).

• If we repeatedly run both Monte Carlo algorithms, eventually one deﬁnite answer will come (unlike RP).

– A positive answer from the one without false positives.

– A negative answer from the one without false negatives.

(65)

## The ZPP Algorithm (Las Vegas)

1: {Suppose L ∈ ZPP.}

2: {N1 has no false positives, and N2 has no false negatives.}

3: while true do

4: if N1(x) = “yes” then

5: return “yes”;

6: end if

7: if N2(x) = “no” then

8: return “no”;

9: end if

10: end while

(66)

## ZPP (concluded)

• The expected running time for the correct answer to emerge is polynomial.

– The probability that a run of the 2 algorithms does not generate a deﬁnite answer is 0.5 (why?).

– Let p(n) be the running time of each run of the while-loop.

– The expected running time for a deﬁnite answer is

 i=1

0.5iip(n) = 2p(n).

• Essentially, ZPP is the class of problems that can be

When the current solution is far from the correct one the algorithm behaves like a correct one, the algorithm behaves like a. steepest descent method: slow, but guaranteed

3 we show the 10-fold cross-validation errors of each learning algorithm with different feature ranking algorithms.. It is quite clear that feature selection with RFS works the

• A concrete problem is polynomial-time solvable if there exists an algorithm that solves any concrete instance of length n in time for some constant k. • Solvable = can produce

requires to be able to evaluate the integrand at arbitrary points making it easy to implement.. arbitrary points, making it easy to implement and applicable to

Lemma 86 0/1 permanent, bipartite perfect matching, and cycle cover are parsimoniously equivalent.. We will show that the counting versions of all three problems are in

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

• 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

In Chapter 3, we transform the weighted bipartite matching problem to a traveling salesman problem (TSP) and apply the concepts of ant colony optimization (ACO) algorithm as a basis

• A language in ZPP has two Monte Carlo algorithms, one with no false positives and the other with no

• The randomized bipartite perfect matching algorithm is called a Monte Carlo algorithm in the sense that.. – If the algorithm ﬁnds 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)

• 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

• If we repeatedly run both Monte Carlo algorithms, eventually one definite answer will come (unlike RP). – A positive answer from the one without

• Appearance: vectorized mathematical code appears more like the mathematical expressions found in textbooks, making the code easier to understand.. • Less error prone: without

It has been well-known that, if △ABC is a plane triangle, then there exists a unique point P (known as the Fermat point of the triangle △ABC) in the same plane such that it

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,

Real Schur and Hessenberg-triangular forms The doubly shifted QZ algorithm.. Above algorithm is locally

An algorithm is called stable if it satisfies the property that small changes in the initial data produce correspondingly small changes in the final results. (初始資料的微小變動

Then, it is easy to see that there are 9 problems for which the iterative numbers of the algorithm using ψ α,θ,p in the case of θ = 1 and p = 3 are less than the one of the

In this chapter we develop the Lanczos method, a technique that is applicable to large sparse, symmetric eigenproblems.. The method involves tridiagonalizing the given

Ant Colony Optimization (ACO) is a general purpose heuristics algorithm in spire by the study of the behavior of Ant Colonies, it is based on a cooperative search paradigm that

In the feature variables selection stage, the Genetic Algorithms with two different fitness functions, one is the Fuzzy C-Mean algorithm and the other is a Variance Index,