Vor'un cevabı standart tanımı verir. Farkı biraz daha sezgisel olarak açıklamaya çalışayım.
Let , bir dil için sınırlı bir hata olasılıksal polinom zamanlı algoritma düzgün biçimde olasılık ile cevap, en azından . Let giriş ve olmak giriş boyutu.MLp ≥12+ δxn
Rasgele bir algoritmasını algoritmasından şey, de kabul etme olasılığı ile kabul etme olasılığı arasındaki pozitif boşluktur . PPBPPx∈Lx∉L ile ilgili en önemli şey , boşluğun en az . Bu ayrımın neden önemli olduğunu açıklamaya çalışacağım ve nin etkili algoritmalar (hatta eşit olduğu tahmin ediliyor ) olarak değerlendirilmemize izin verirken verimsiz (aslında içerirBPPn−O(1)BPPPPPPPNP ). Bütün bunlar bu boşluktan geliyor.
daha dikkatli bakarak başlayalım .PP
Bir algoritma yürütme sırasında en fazla rastgele bit kullanıyorsa ve hata olasılığı den küçükse, hata olasılığının aslında olduğunu unutmayın. algoritmanın yanlış cevap vermesini sağlayın.r(n)2−r(n)0
Ayrıca, zaman çalışan bir algoritma daha kullanamaz , en kötü durum çalışan zamanlı bir olasılık algoritmanın hata bu durumda, rastgele bit daha iyi olduğut(n)t(n)t(n)
Benzer bir argümanla de kabul etme olasılığı ile kabul etme olasılığı arasındaki farkın çok küçük olduğu durumun, neredeyse hiçbir farkımızın olmadığı duruma benzer olduğunu gösterebiliriz. olarak durumda.x∈Lx∉LPP
Şimdi .BPP
Olasılıksal algoritmalarda, doğru cevap verme olasılığını artırabiliriz. Diyelim ki hata olasılığı (katlanarak küçük hata) için doğruluk olasılığını yükseltmek istiyoruz .1−ϵϵ=2−n
Fikir basit: birkaç kez çalıştırın ve çoğunluğun cevabını alın.M
Hata olasılığını en fazla elde etmek için kaç kez çalıştırmalıyız ? kez. Kanıt bu cevabın alt kısmında verilmiştir.MϵΘ(δ−1lgϵ)
Şimdi tartıştığımız algoritmaların polinom-zaman olması gerektiğine bakalım. Bu, polinomdan birçok kez daha fazla çalıştıramayacağımız anlamına gelir . Başka bir deyişle, veya daha basitMΘ(δ−1lnϵ)=nO(1)
δ−1lgϵ=nO(1)
Bu ilişki, sınırlı hata olasılık algoritmalarını hata olasılıklarına bağlı olarak sınıflara ayırır. Hata olasılığı ile veya pozitif bir sabit (yani ile değişmez ) veya . Polinom zamanının içinde kalırken bunlardan bir diğerine geçebiliriz.ϵ2−nn12−nO(1)
Ancak çok küçükse, diyelim , , hatta ise, doğruluk olasılığını artırmak ve hata olasılığını yeterince azaltmak için bir yolumuz yoktur. içine .δ02−nn−ω(1)BPP
Buradaki ana nokta, de hata olasılığını katlanarak etkili bir şekilde azaltabilmemizdir, bu nedenle cevaplar hakkında neredeyse ve bu algoritma sınıfını verimli algoritmalar olarak görmemizi sağlayan şey budur. Hata olasılığı o kadar azaltılabilir ki, bir donanım arızası daha olasıdır veya hatta bilgisayara düşen bir meteor olasılıklı algoritma tarafından hata yapmaktan daha olasıdır.BPP
Bu için doğru değil, hata olasılığını azaltmanın hiçbir yolunu bilmiyoruz ve neredeyse cevabı elde etmek için bir para atarak cevap gibi kalıyoruz (tamamen değiliz, olasılıklar yarı yarıya değil, ama bu duruma çok yakın).PP
Bu bölüm, bir hata olasılığının elde edilmesi için kanıt sağlar GAP ile bir algoritma ile başlar zaman kaçmalıyız kez.ϵ(12−δ,12+δ)M Θ(δ−1lgϵ)
Let çalışan algoritma olması için çoğunluğun cevaba göre cevaplar ardından süreleri ve. Kolaylık olması açısından, ettiğini varsayalım biz bağları zorunda kalmamak garip.NkMkk
Davayı düşünün . Örnek benzerdir. Sonra
doğruluk olasılığını analiz etmek için , çalışır kabul ediyoruz.x∈Lx∉L
Pr{M(x) accepts}=p≥12+δ
Nkk
Let eğer 1 olmak inci sayı kabul eder ve olmayacak o reddederse. Her bir çalışmanın, bağımsız rastgele bitler kullandığından diğerlerinden bağımsız olduğunu unutmayın. Böylece bağımsız Boole rastgele değişkenleridir; burada
Xii0Xi
E[Xi]=Pr{Xi=1}=Pr{M(x) accepts}=p≥12+δ
Let . Çoğunluğun kabul etme olasılığını, yani olasılığını tahmin .Y=Σki=1XiY≥k2
Pr{Nk(x) accepts}=Pr{Y≥k2}
Nasıl yapılır? Beklenen değere yakın olasılık yoğunluğunu bize bildiren Chernoff sınırını kullanabiliriz. Beklenen değerine sahip herhangi bir rastgele değişken için ,Zμ
Pr{|Z−μ|>αμ}<eα24μ
bu olasılığı söylüyor bir kadar, beklenen değerden üstel olarak azalır artar. Bunu olasılığını sınırlamak için kullanacağız .ZαμμαY<k2
Beklentinin doğrusallığı ile
E[Y]=E[Σki=1Xi]=Σki=1E[Xi]=kp≥k2+kδ
Şimdi Chernoff sınırını uygulayabiliriz. olasılığı üzerinde bir üst sınır istiyoruz . Chernoff sınırı yeter. SahibizY<k2|Y−(k2+kδ)|>kδ
Pr{|Y−kp|>αkp}<e−α24kp
ve almak durumunda şekilde Biz yapılır biz almak, böylece .ααkp=kδα=δp≤2δ2δ+1
Bu nedenle
Pr{Y<k2}≤Pr{|Y−(k2+kδ)|>kδ}≤Pr{|Y−kp|>αkp}<e−α24kp
ve eğer hesaplamaları yaparsanız,
α24kp≤δ24δ+2k=Θ(kδ)
sahibiz
Pr{Y<k2}<e−Θ(kδ)
Hatanın en fazla olmasını istiyoruz, bu yüzdenϵ
e−Θ(kδ)≤ϵ
veya başka bir deyişle
Θ(δ−1lgϵ)≤k
Buradaki temel nokta sürecinde biz çok daha fazla rastgele bit kullanacak ve aynı zamanda çalışma süresi yani, en kötü durum çalışan zamanlı artmasıdır kabaca edilecektir kez çalışan zamanlı .NkkM
Burada boşluğun orta noktası . Ancak genel olarak durum böyle olmak zorunda değildir. Kabul etmek için çoğunluk yerine diğer kesirleri alarak diğer değerler için benzer bir yöntem benimseyebiliriz.12