Download 26 - Duke Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Randomness wikipedia , lookup

Infinite monkey theorem wikipedia , lookup

Probability box wikipedia , lookup

Probabilistic context-free grammar wikipedia , lookup

Inductive probability wikipedia , lookup

Birthday problem wikipedia , lookup

Ars Conjectandi wikipedia , lookup

Probability interpretations wikipedia , lookup

Transcript
Computability and Complexity
26-1
Probabilistic Algorithms
Computability and Complexity
Andrei Bulatov
Computability and Complexity
Non-Deterministic vs. Probabilistic
All algorithms we nave seen so far are either deterministic or impractical
(non-deterministic)
To make non-deterministic algorithms more practical we introduce
probabilistic algorithms
A probabilistic algorithm (Turing Machine) is a non-deterministic algorithm
that makes non-deterministic choices randomly, e.g. by flipping a coin
This is still not practical, because sometimes the algorithm should be
extremely lucky to solve problems
26-2
Computability and Complexity
26-3
Interactive Proofs
Prover
Verifier
Has unlimited computational
power
Can perform polynomial time
computations
Wants to convince Verifier
in something
Accepts or rejects after
performing some computation
They can exchange massages
Computability and Complexity
Proofs for Problems in NP
SAT
Prover and Verifier get an instance of SAT
Prover solves the instance using his unlimited computational power
and send a satisfying assignment to Verifier
Verifier checks (in polynomial time) if what obtained is a satisfying
assignment, and accepts if it is or rejects otherwise
26-4
Computability and Complexity
Problems from coNP
Graph Non-Isomorphism
Instance: Graphs G and H.
Question: Are G and H isomorphic?
This problem belongs to coNP, but is not believed to be coNP-complete
Apparently, there no way to prove interactively that two graphs are not
isomorphic
26-5
Computability and Complexity
Randomized Verifier
Now suppose that Verifier has a fair coin
Given graphs G and H
• Verifier chooses one of G and H by flipping a coin
• Verifier then renames somehow the vertices of the chosen
graph and send it to Prover
• Prover decides which graph it received
• Prover send the answer to Verifier
• Repeat the procedure
26-6
Computability and Complexity
Analysis
If the graphs are not isomorphic then Prover always gives the right
answer
If the graphs are isomorphic then Prover gives a correct answer with
probability 1/2
Therefore if Prover is wrong we conclude that the graphs are isomorphic
If after n repetitions of the protocol, Prover gives only right answers,
1
then Verifier can conclude with probability n that graphs are not
2
isomorphic
26-7
Computability and Complexity
Probabilistic Turing Machines
Definition
A Probabilistic Turing Machine is a nondeterministic polynomial
time Turing Machine PT such that
• from each configuration of PT, there are at most two
possible next configurations
• PT chooses which of the two possible next configurations
to take by flipping a fair coin
Thus, with each computational path, we can associate the probability of
taking this path. This probability is equal to 21k where k is the number
of coin flips made along this path
Denote this probability by Pr[p]
26-8
Computability and Complexity




26-9

Define the probability that PT accepts w to be
Pr[ PT accepts w] 
 Pr[ p]
p is an
accepting path
Clearly Pr[ PT rejects w]  1  Pr[ PT accepts w]


Computability and Complexity
Class BPP
Definition
A Probabilistic Turing Machine PT recognizes language L with
error probability  if
• w  L implies Pr[PT accepts w]  1 – 
• w  L implies Pr[PT rejects w]  1 – 
We say that PT operates with error probability 2  f ( n )
if the above inequalities hold for   2  f ( n )
where n is the
length of w
Definition
BPP is the class of languages that are recognizable by
probabilistic Turing Machines with error probability of 1/3
26-10
Computability and Complexity
Amplification
The error probability 1/3 may seem random
Actually, we can choose any value 0    1
Amplification Lemma
Let 0    1. Then for any polynomial p(n) and a
probabilistic TM PT1 that operates with error probability ,
there is a probabilistic TM PT2 that operates with an error
probability 2 p ( n )
The main idea is to run PT1 many times and then output the majority
of votes
26-11
Computability and Complexity
Math Prerequisites
Let X 1 , X 2 ,, X n be a series of independent experiments (for
example, coin flips) such that the probability of success in each of them
is p
Theorem (Chernoff Bound)
If p  1   for some   , then the probability that the
2
number of successes in a series of n experiments is less than
n is at most
e
2

 2n
6
26-12
Computability and Complexity
Proof of Amplification Lemma
Machine PT2 works as follows
On input w
• for i = 1 to t(|w|) do
- simulate PT1 on w
• if most runs of PT1 accept, then accept; otherwise reject
26-13
Computability and Complexity
Analysis
The number t(|w|) must be such that
e


 2t (|w|)
6
 2t (| w |)
6
 2  p (|w|)
  p(| w |) ln 2
 2 t (| w |)  6 p(| w |) ln 2
t (| w |) 
6 ln 2
2
p(| w |)
26-14