Muhtemelen daha hızlı rastgele algoritmalar ile P'deki problemler


20

de deterministik algoritmaların alt sınırlarını randomize algoritmaları olan herhangi bir problem var mı? Daha somut olarak, olan herhangi bir biliyor ? Burada \ mathsf {PTIME} (f (n)) , f (n) adımlarında sabit sınırlı (bir veya iki taraflı) hatası olan rastgele bir TM tarafından karar verilebilen dil grubu anlamına gelir .PkP T I M E ( f ( n ) ) f ( n )DTIME(nk)PTIME(nk)PTIME(f(n))f(n)

Rasgelelik bize \ mathsf {P} içinde herhangi bir şey alıyorP mu?

Açık olmak gerekirse, farkın asimptotik olduğu bir şey arıyorum (tercihen polinom, ancak polilogaritmik için razı olurum), sadece sabit değil.

En kötü durumda asimptotik olarak daha iyi algoritmalar arıyorum. Daha iyi beklenen karmaşıklığa sahip algoritmalar aradığım şey değil. ZPP yerine RP veya BPP'deki gibi randomize algoritmaları kastediyorum.


Belki de "Yao'nun tekniği" aradığınız şey budur. Kısa bir açıklama cs.pitt.edu/~kirk/cs2150/yao/yao.html
Wu Yin

@WuYin, deterministik algoritmanın ortalama vaka davranışı ile alt sınırlayıcı randomize algoritmalar yönünde doğru bir şekilde anlarsam .. Daha fazla bakacağım, ama benim gördüğüm şekilde, bu sadece bu rastgeleğin kanıtlanmasına yol açabilir yok değil içeride bize bir şey satın .. Am I düzeltmek? P
aelguindy

1
[ , ] ' de sıralı uzunluğunda herhangi bir öğeyi bulmak için rastgele herhangi bir öğeyi döndürebiliriz ve ile doğru olur olasılık dolayısıyla O (1)! Bir Deterministik algoritma en azından girdinin bir kısmını ve dolayısıyla . nn 3nn4 13n4 Ω(n)12Ω(n)
rizwanhudda

@rizwanhudda Bununla ilgili bazı sorunlar olabilir. İlk olarak, bir karar sorunu arıyorum. İkincisi, Turing modelinde, rastgele erişim olmadığı için rastgele bir eleman döndürmek . Belki, makine her zaman ilk elemanı çıkarır? Yine de ilk sorun daha büyük. Ω(n)
aelguindy

2
Son paragraf mantıklı değil çünkü her Las Vegas algoritması Monte Carlo algoritmasına dönüştürülebilir.
Tsuyoshi Ito

Yanıtlar:


17

Polinom kimlik testi rastgele bir polinom zaman algoritmasını kabul eder (bkz. Schwartz-Zippel lemması ) ve şu anda bunun için deterministik bir polinom zamanı veya hatta alt-üstel bir zaman algoritması yoktur.

Oyun ağacı değerlendirmesi Her biri 0/1 değeri depolayanyaprak düğümüolan tam bir ikili ağaç düşünün. Dahili düğümler, alternatif düzeylerde OR / AND geçitleri içerir. Her deterministik algoritmanınen kötü durumdayaprak düğümleriniincelemesi gerekeceği düşündürücü argüman kullanılarak kanıtlanabilir. Ancak etti alır basit bir randomize algoritması yoktur beklenen çalışma süresi Bakılacaklar slaytlar konuşma 14-27.Ω ( n ) O ( n, 0.793 )nΩ(n)O(n0.793)

Bir hiper küp üzerinde habersiz yönlendirmeköşeleriiçerenboyutlarında bir küp düşünün. Her tepe noktasının bir veri paketi ve sonunda paketi teslim etmek istediği bir hedefi vardır. Tüm paketlerin hedefi farklıdır. Buna rağmen, herhangi bir deterministik yönlendirme stratejisininadımlarını atacağıkanıtlanmıştır. Bununla birlikte, yüksek olasılıkla beklenenaşamalarındabitecek basit bir randomize strateji vardır.N = 2 n Ω (nN=2nO(n)Ω(Nn) O(n)

Rasgele algoritmalarda, yüksek olasılıkla beklenen maliyet (örneğin ) uygulamadaki en kötü duruma eşdeğerdir.P r [ F ( n ) > 10 E ( F ( n ) ) ] < 1E(F(n)) Pr[F(n)>10E(F(n))]<1n2


Ayrıca, ise , ve matrislerini test etmeyi düşünün . Şu anda algoritması bilmiyoruz, rastgele bir algoritması biliyoruz . Mesele şu ki, randomize algoritmaların daha iyi olduğunu kanıtlayabileceğimiz problemler var mı? B C A B = C o ( 2 2.3 ) O ( n 2 )ABCAB=Co(22.3)O(n2)
aelguindy

@aelguindy Ne demek istediğimi anladım. Ancak, PIT için en iyi bilinen determinstik algoritma üsteldir. PIT'in derandomize edilmesi Teorik CS'de önemli bir açık sorundur.
rizwanhudda

Rastgele algoritmaların deterministik muadillerinden daha iyi performans gösterdiği Oyun ağacı değerlendirmesi ve hiperküp yönlendirme özelliğini ekledim.
rizwanhudda

Tamam, Oyun Ağacı değerlendirmesi için, doğru , beklenen , değil mi? Yani da çalışacağı durumlar var . Üçüncü örnekte de durum böyle mi? Beklenilen daha iyi bir zaman için izin vermiyorum, daha iyi en kötü durum karmaşıklığı, çıkışta izin verilen hata arıyorum. Ω ( n )O(n0.793)Ω(n)
aelguindy

1
Yani en kötü durumda daha iyi değiller. Örnekleri takdir ettiğim kadar, korkarım ki tam olarak aradığım şey bu değil. Ancak örnekler çok aydınlatıcıydı!
aelguindy

5

En kötü durumu araştırmak rastgele algoritmalar için anlamsızdır. En kötü çalışma zamanı genellikle sonsuz olmakla kalmaz, aynı zamanda bu metrikte deterministik algoritmalardan daha iyi performans gösteremez .

Herhangi bir randomize algoritmayı düşünün . Deterministik algoritma elde edilir rasgele bant sabitleyerek için . Sonra, tüm için .B A 0 T B ( n ) T A ( n ) nABA0TB(n)TA(n)n


5

Etkili bir randomize algoritmayı bildiğimiz birçok sorun var ve verimli olduğunu kanıtlayabileceğimiz herhangi bir deterministik algoritma bilmiyoruz. Ancak bu, herhangi bir temel farktan ziyade karmaşıklık hakkında bir şeyler kanıtlama yeteneğimizdeki eksiklikleri yansıtabilir.

Dayanarak Yorumunuza , bu verimli bir randomize algoritması yoktur herhangi bir sorun mevcut olup olmadığına bakar sormak anlamına geliyordu ve biz yapabilirsiniz görünür kanıtlamak karşılaştırılabilir verimliliği hiçbir deterministik algoritması yoktur. Böyle bir problem bilmiyorum.

Gerçekten de, bu tür sorunların var olabileceğinden şüphelenmek için makul gerekçeler vardır. Sezgisel olarak, böyle bir sorunun varlığı muhtemelen güvenli şifrelemenin imkansız olduğu anlamına gelir. Bu oldukça mantıksız bir sonuç gibi görünüyor.

Bağlantı nedir, soruyorsun? Bazı problemleri etkili şekilde çözen herhangi bir rastgele algoritmayı düşünün . Rastgele paralara dayanır: gerçek rastgele bir kaynaktan elde edilen rastgele bitler. Şimdi, kriptografik kalitede bir psödondom jeneratörü aldığımızı ve gerçek rastgele kaynağı pseudorandom jeneratörünün çıkışıyla değiştirdiğimizi varsayalım. Ortaya çıkan algoritmayı çağırın . Not bu belirleyici bir algoritma ve çalışma süresi yaklaşık olarak aynıdır .A A AAAAA

Ayrıca, kriptografik PRNG güvenliyse, sezgisel olarak ise iyi bir algoritma olmasını beklemeliyiz : AAA

  • Örneğin, bir Las Vegas algoritmasıysa (her zaman doğru cevabı verir ve yüksek olasılıkla hızlı bir şekilde sona erer), oldukça iyi bir deterministik algoritma olacaktır (her zaman doğru cevabı verir ve çoğu girdi için hızlı bir şekilde sona erer) .A AA

  • Başka bir örnek olarak, bir Monte Carlo algoritmasıysa (deterministik çalışma süresi ve en az olasılığı ile doğru cevabı verirse ), oldukça iyi bir deterministik algoritma (deterministik çalışma süresi ve doğru çıktıyı verir) tüm girdilerin bölümü ). 1 - ε A 1 - εA1εA1ε

Bu nedenle, kriptografik PRNG güvenliyse ve verimli bir randomize algoritma varsa, oldukça iyi bir deterministik algoritma elde edersiniz. Şimdi, bazı kriptografik varsayımlar geçerli olduğunda güvenli olduğu garanti edilen birçok kriptografik PRNG yapısı vardır. Uygulamada, bu kriptografik varsayımlara geniş çapta inanılmaktadır: en azından, güvenli ticaret ve işlemler bunların gerçek olmasına dayanmaktadır, bu yüzden görünüşe göre güvenli kriptografinin var olduğu büyük miktarlarda paraya bahse girmeye hazırız. Bu dönüşümün başarısız olmasının tek yolu kriptografik PRNG'nin mevcut olmamasıdır, bu da güvenli kriptografinin imkansız olduğunu ima eder. Durum böyle olmadığına dair bir kanıtımız olmasa da, beklenmedik bir sonuç gibi görünüyor.

Yapının ayrıntıları: İşte çalışır. Giriş üzerinde , bu bir fonksiyonu olarak şifreleme PRNG için bir tohum elde (karma, örn ) ve daha sonra simüle için bozuk para gibi şifreleme PRNG çıktısı kullanılarak, . Örneğin, belirli bir örnekleme , sonra sayaç modunda AES256 için tohum olarak veya başka bir kriptografik PRNG olacaktır. Yukarıdaki ifadeleri rastgele kehanet modeli altında ispatlayabiliriz. x x x A ( x ) A k = SHA256 ( x ) kAxxxA(x)Ak=SHA256(x)k

bazı küçük girdi kesimlerinde yanlış sonuçlar verebileceği fikrinden memnun değilseniz , bu adreslenebilir. yı birden çok kez tekrarlar ve çoğunluk oyu alırsanız , hata olasılığı yineleme sayısında katlanarak hızlı bir şekilde azalır. Bu nedenle, sabit bir sayıda yineleyerek, hata olasılığının altında olmasını sağlayabilirsiniz , bu da algoritmanın yanlış yanıtı çıkardığı girişinde karşılaşma olasılığınızın kaybolması anlamına gelir (üst üste birden fazla kez yıldırım çarpması ihtimalinden daha az). Dahası, yukarıda verdiğim yapı ile, bir rakibin bir girdi bile bulabilme şansıbir ' ε 1 / 2 256 x x bir " AAAε1/2256xx burada yanlış cevap verir, bu çok küçük yapılabilir, çünkü bu SHA256 karma güvenliğinin kırılmasını gerektirir. (Teknik olarak, bu haklı çıkarmak için rasgele kehanet modelini gerektirir, bu nedenle SHA256 ile ilgili hesaplamalarda sabit kod değil, SHA256'nın "bağımsız" seçilmesi gerektiği anlamına gelir , ancak neredeyse tüm gerçek dünya algoritmaları bu gereksinimi karşılayacaktır. .)AA

A Θ(n)1/2nnxnA1/2n2nnAAAAt(n)AΘ(nt(n))AA

Etkili bir randomize algoritmayı bildiğimiz ancak etkili olduğunu kanıtlayabileceğimiz herhangi bir deterministik algoritma bilmediğimiz ikinci teorik hususlar ve ek problemler hakkında daha fazla bilgi için bkz. Https://cstheory.stackexchange.com/q/31195 / 5038

Özetle: Etkili bir randomize algoritmayı bildiğimiz herhangi bir sorun için, pratikte etkili gibi görünen deterministik bir algoritmayı da biliyoruz - ancak şu anda bunun etkili olduğunu nasıl kanıtlayacağımızı bilmiyoruz . Olası bir yorum, algoritmalarla ilgili kanıtları kanıtlamada çok iyi olmadığımızdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.