Rastgeleleştirme algoritmaları ne zaman hızlandırıyor ve “yapmamalı” mı?


39

Bu Adleman ispatı içerdiği gösterir zaman içinde hareket eder bu sorun için bir randomize, algoritma var ise, bu boyutu girdilerine , o zaman da sorun için deterministik algoritma o zaman çalışır boyutu girdilerine [algoritmasına randomize algoritması çalışan bağımsız rastgele dizileri. Tekrarlanan algoritma için rastlantısallık olması gerekir, ki bu için iyidir.P / s O l y t ( n ) n, Θ ( t ( n ) n ) n- Θ ( n ) 2 , nBPPP/polyt(n)nΘ(t(n)n)nΘ(n)2nolası girişler]. Deterministik algoritma tek tip değildir - farklı girdi boyutları için farklı davranabilir. Bu nedenle, Adleman'ın argümanı - eğer tek biçimliliği önemsemiyorsa - randomizasyon, algoritmaları yalnızca girdi boyutunda doğrusal olan bir faktörle hızlandırabilir.

Randomizasyonun hesaplamayı hızlandırdığı bazı somut örnekler nelerdir (bilgimizin yararına)?

Bir örnek, polinom kimlik testidir. Buradaki girdi, bir alan üzerinde m değişkenli bir polinomu hesaplayan n boyutlu bir aritmetik devredir ve görev, polinomun aynı sıfır olup olmadığını bulmaktır. Rastgele bir algoritma polinomu rastgele bir noktada değerlendirebilir, bildiğimiz en iyi deterministik algoritma ise polinomu birçok noktada değerlendirir.

Bir başka örnek ise, Karger-Klein-Tarjan'ın en iyi randomize algoritmasının doğrusal zaman olduğu (ve hata olasılığının üssel olarak küçük olduğu) minimum yayılma ağacıdır, Chazelle'nin en iyi deterministik algoritması ( , Ackermann işlevinin tersidir, bu nedenle randomizasyon hızı gerçekten küçüktür). İlginç bir şekilde, Pettie ve Ramachandran tarafından, minimum yayılan ağaç için tekdüze bir deterministik doğrusal zaman algoritması varsa, o zaman aynı zamanda düzgün bir deterministik lineer zaman algoritmasının da mevcut olduğu kanıtlanmıştır.O(mα(m,n))α

Başka örnekler neler? Hangi örneklemelerin rasgele hızlanmanın büyük olduğunu biliyorsunuz, ancak bu muhtemelen henüz yeterince etkili deterministik algoritmalar bulamadığımız için mi?


5
Yakından ilişkili: BPP'deki sorunlar P
usul

Her zaman rastgele herhangi bir algoritmayı, belirli bir algoritmaya, rastgele oluşturucuyu, kriptografik kalitede bir sahte rasgele oluşturucu ile değiştirerek dönüştürebilirsiniz. Mantıklı kriptografik varsayımlar altında, bilgimizin en iyisine göre geçerli olan bu işe yarar. Bu nedenle cevabım şu olacaktır: "bilgimizin en iyisine göre, cevap şu: böyle bir gerçek dünya sorunu yok". (Başka bir deyişle, bildiğimiz kadarıyla, çalışma süresindeki boşluk, gerçek bir farktan ziyade sıkı çalışma süresi sınırlarını kanıtlayamamamızı yansıtır.)
DW

1
Makul sertlik varsayımları altında, algoritma rastgeleliğini bir yalancı üreticiden besleyebilirsiniz, ancak gerçekte deterministik bir algoritma elde etmek için algoritmayı olası tüm tohumlar üzerinde çalıştırmanız gerekir. Bu çalışma zamanı patlatır!
Dana Moshkovitz

Dana'nın amacına ek olarak, BPP'nin yeniden seçimini kaldırmak için PRG'nin orijinal algoritmadan daha fazla zamanda çalışması gerektiğini düşünüyorum (aradaki boşluğun ne olduğunu bilmeme rağmen). Ayrıca, bu kesinlik ve katlanarak yüksek güven arasında (temel?) Bir boşluğu gösterebilir: doğruluk olasılığı elde etmek için zamanları (herhangi bir sabit ) rastgele bir algoritmayı tekrarlamak yeterlidir ; deterministik versiyonun tüm polinomlu birçok tohumu kontrol etmesi gerekiyor. cc2O(c)
usul

@DanaMoshkovitz, buna teorik bir bakış açısıyla mı yoksa bir uygulayıcı bakış açısıyla mı yaklaşacağınıza bağlıdır. Bir uygulayıcı perspektifinden, hayır, bunu yapmanıza gerek yok. Sadece tohumlarda algoritmayı çalıştıran cs.stackexchange.com/a/41723/755 adresindeki ana hattaki yapıya bakınız . Rastgele kehanet modeli altında, asimptotik çalışma süresinde bir artış olmadığı ve hesaplamalara bağlı bir rakip bulunmadığının, algoritmanın yanlış cevabı ürettiği algoritmaya herhangi bir girdi bulamayacağı gösterilebilir. Bu muhtemelen tüm pratik amaçlar için yeterince iyidir. O(1)
DW

Yanıtlar:


28

Ben randomizasyon veya yardım Ancak tamsayı asallık test zamanında yapılabilir “olmamalı” “gerektiği” olup olmadığını bilmiyorum Bildiğim kadarıyla olarak ise, Miller-Rabin randomize kullanarak, en iyi bilinen deterministik algoritmalar koşulsuz GRH (deterministik Miller-Rabin) veya koşulsuz (AKS varyantları varsayılarak ) 'dir. ˜ O (n4) ˜ O (n6)O~(n2)O~(n4)O~(n6)


İçin küçük kompozitlik tanık inanmak için neden vardır rağmen düzeyindedir bir verecek, algoritması. Ancak bu, RH değişkenleri gibi standart sayı teorik varsayımları altında bile kanıtlanmamıştır. günlüğü N günlüğü günlüğü N ˜ O ( n 3 )NlogNloglogNO~(n3)
Emil Jeřábek

Benzer bir damardaki sorun, yine bilinen deterministik algoritmanın randomize algoritmalardan daha kötü sınırlara sahip olduğu sonlu alanlar üzerinde polinom indirgenemezlik testidir, ancak ayrıntıları hatırlamıyorum.
Emil Jeřábek,

19

Eski bir örnek hacim hesaplamasıdır. Üyelik kâhiri tarafından açıklanan bir poliprop verildiğinde, hacmini faktörüne göre tahmin etmek için polinom zamanında çalışan randomize bir algoritma vardır , ancak deterministik bir algoritma koşulsuz olarak bile yaklaşamaz .1+ϵ

Böyle bir randomize stratejinin ilk örneği Dyer, Frieze ve Kannan'dı ve deterministik algoritmalar için sertlik sonucu Bárány ve Füredi'dir. Alistair Sinclair'in bu konuda güzel ders notları var .

Sorunun "ve olmamalı" kısmını tam olarak anladığımdan emin değilim, bu yüzden tasarıma uygun olduğundan emin değilim.


1
MCMC yönteminin farkındaydım ama bu alt sınır değildi ve oldukça şaşırdım (bilinenlerin hepsinin # P-sertliği olduğunu düşündüm). Bu makale Füredi'nin web sayfasından erişilebilen "Hacmi Hesaplamak Zor" şeklindedir ve hacmin ne kadar iyi bir şekilde değerlendirilebileceği konusunda esasen sınırını verir . [n/logn]n
Jeremy Kun

9

Bunun sorunuzu yanıtlayıp yanıtlamadığını bilmiyorum (veya bunun en azından bir kısmı). Fakat randomizasyonun hızlanabileceği gerçek dünya örnekleri için optimizasyon problemleri ve No Free Lunch ( NFL ) teoremiyle olan ilişki vardır .

"Belki de bedava bir öğle yemeği değil, en azından bedava bir meze" diye bir yazı var.

Soyut, Özet:

Evrimsel Algoritmaların diğer optimizasyon tekniklerinden, özellikle de optimize edilecek objektif fonksiyon hakkında fazla bir şey bilmediği durumlarda, üstün olduğu iddia edilir. Bunun aksine Wolpert ve Macready (1997), tüm optimizasyon tekniklerinin aynı davranışa sahip olduğunu kanıtladı - ortalama olarak tüm burada ve sonlu kümelerdir. Bu sonuç, [Ücretsiz Öğle Yemeği Teoremi Yok] olarak adlandırılır. İşte farklı optimizasyon senaryoları sunulmuştur. Ücretsiz Öğle Yemeği Teoreminin dayandığı senaryonun neden gerçek yaşam optimizasyonunu modellemediği tartışılmaktadır. Daha gerçekçi senaryolar için, optimizasyon tekniklerinin verimliliklerinde neden farklı olduğu tartışılmaktadır. Küçük bir örnek için bu iddia kanıtlandı.X Yf:XYXY

Referanslar:

  1. Optimizasyon İçin Ücretsiz Öğle Yemeği Teoremi Yok ( optimizasyon için orijinal NFL teoremi)
  2. Belki bedava bir öğle yemeği değil, en azından bedava bir meze.
  3. Hayır Ücretsiz Öğle ve açıklama uzunluğu (yani gösterir NFL sonuçlar herhangi bir alt kümesi için tutun IFF tüm olası fonksiyonların kümesi permütasyonu altında kapalıdır, fincan )fFF
  4. Ücretsiz Öğle Yemeği sonuçlarının geçerli olmadığı işlev sınıflarında ( Kupa olan alt kümelerin kesiminin önemsiz derecede küçük olduğu kanıtlanmıştır )
  5. Öğle Yemeğinin Sonucu Olmadığı İki Geniş Fonksiyon Sınıfı (fonksiyonların açıklama uzunluğu yeterince sınırlandırıldığında , bir NFL sonucunun bir fonksiyonlar için geçerli olmadığını gösterir )
  6. Kesintisiz öğle yemekleri ücretsizdir ve en uygun optimizasyon algoritmalarının tasarımı vardır (sürekli alanlar için [ NFL'nin resmi versiyonunun] geçerli olmadığını göstermektedir. )
  7. Ücretsiz Öğle Yemeğinin Ötesinde: İsteğe Bağlı Problem Sınıfları için Gerçekçi Algoritmalar ("..] Bedava Öğle Yemeğinde Yok Teoremlerinin ihlallerinin fincan olan problem alt gruplarında blok-düzgün olmayan dağılımlar olarak ifade edilebileceğini " göstermektedir.
  8. Swarm Tabanlı Metaheuristik Algoritmalar ve Serbest Öğle Yemeği Teoremleri (bundan önce "[..t], tekrar ziyaret edilmeyen zaman sıralı yinelemelerin sonuçları, tekrarlanan yinelemelerin önemli bir varsayımını kırdığı için tekrar eden vakalar için doğru olmayabilir. NFL teoremlerini kanıtlamak için gerekli olan kap (Marshall ve Hinton, 2010) ")
  9. Bedava Öğle Yemeği ve Algoritmik Rastgele
  10. No Free Lunch and Benchmark yok (set-teorik bir yaklaşım, bardağa özgü olmayan kriterlere genelleştirilir , ancak yine de (önemsiz) randomize algoritmaların deterministik algoritmalardan ortalama olarak daha iyi performans gösterebileceğini belirtmiştir. "[..] Genel durumdaki sınırlandırılmamış NFL sonuçlarını doğrulamak için olasılık yetersizdir . [..] bu yazıda olasılık tamamen ortadan kalkar, olasılıkla tamamen dağılarak ölçü teorik sınırlamaları ortadan kaldıran teorik bir çerçeve tercih edilir.

David H. Wolpert tarafından ücretsiz öğle yemeği (ve ücretsiz öğle yemeği) hakkında özet bilgi , Akşam yemeği ücreti ne kadar? ( Not bu NFL tipi teoremler gerçek "belirtmek asla fiyatı nedeniyle ispat onların türüne")

genelleştirilmiş optimizasyon için özel (GO):

  1. İki boşluk ve . Örneğin, girişler, çıkışlar üzerinde dağılımlar.Z X ZXZXZ

  2. Fitness Fonksiyonuf:XZ

  3. m (belki de tekrarlanan) : örnekleme noktaları, burada , her işlevinin a (belki de stokastik) işlevif

    dm={dm(1),dm(2),...,dm(m)}
    t
    dm(t)={dmX(t),dmZ(t)}
    dmZ(t)f[dmX(t)]
  4. Arama algoritmasıa={dtdmX(t):t=0..m}

  5. Öklid vektör değerli Maliyet fonksiyonuC(f,dm)

  6. Belirli bir optimizasyon problemini yakalamak için problem yapısının çoğu Cinsinden ifade edilirC(.,.)

NFL teoremleri büyük ölçüde bağımsız olmasına bağlıdır . Eğer bağlıdır , ücretsiz öğle yemeği mümkün olabilir. Örneğin, olmadıkça bağımsız bir sahip olmak .f C f C ( f , d m ) f = f CfCfC(f,dm)f=f

Son olarak, basit (ve o kadar basit olmayan), rasgele seçilmenin (bir biçimde veya başka bir şekilde) kesin olarak deterministik algoritmalar üzerinde üstün performans sağladığını belirtiyor.

  1. Optimizasyon bağlamında (bununla sınırlı olmamakla birlikte), randomize bir arama prosedürü yerel ekstremattan ortalama olarak deterministik aramadan daha iyi kaçabilir ve genel ekstremuma ulaşabilir.
  2. Bir setin sıralaması, kardinalitesi ve randomizasyonu arasında ilginç (ama aynı zamanda ilk bakışta basit olmayan) bir ilişki vardır (genel anlamda). Powerset bir dizi ve (ve kardinalitesi), intrinsicaly (elemanları) kümesinin belirli bir (staticaly) sabit sipariş bağlıdır . (Unsurları) üzerine sipariş varsayarsak değil (staticaly) sabit (randomizasyon- rastgele sipariş formunda, buraya girebilir), ayarlanan o bir tür olarak düşünmek yardımcı olur (kendi POWERSET temsil etmek mümkün olabilir bir kuantum analog dinamik sipariş bir tür için hesaba gibi bir rol oynar klasik bir set için, süperpozisyon prensibi ). A A A A2AAAAA

1

En iyi örnek, belirleyici bir alt-üstel algoritma bulunmadığında (örneğin tamsayılı çarpanlara ayırma) şaşırtıcı şekilde pişirilen her popüler OWF'nin görünüşte rastgele bir alt üstel algoritmaya sahip olduğu görünen OWF'ler için şu anda en iyi adaylar olarak kabul edilen alandadır. Aslında, çoğu durumda, bazı öneriler dizeleri (kriptoanaliz) göz önüne alındığında muhtemelen etkili bir algoritma vardır.


-5

Randomizasyon kullanarak bir algoritmanız varsa, her zaman sözde rasgele sayılar kullanarak deterministik bir algoritma ile değiştirebilirsiniz: Sorunun açıklamasını yapın, bir karma kodu hesaplayın, bu karma kodu iyi bir sahte rasgele sayı üreteci için tohum olarak kullanın . Uygulamada, birileri randomizasyon kullanarak bir algoritma uyguladığında gerçekleşmesi muhtemel olan şey budur.

Eğer karma kodunu çıkarırsak, o zaman bu algoritma ile gerçek randomizasyon kullanan bir algoritma arasındaki fark, üretilen rasgele sayıların sırasını tahmin edebilmemdir ve sorunuma uygulanan öngörülen rasgele sayıların her zaman olacağı bir problem üretebilirim. mümkün olan en kötü kararı ver. Örneğin, sözde rastgele bir pivot içeren Quicksort için sözde rastgele bir pivotun her zaman dizideki olası en büyük değeri bulacağı bir girdi dizisi oluşturabilirim. Mümkün olmayan gerçek rastgelelik ile.

Karma kodla, sözde rasgele sayıların en kötü sonuçları ürettiği bir sorun inşa etmek benim için çok zor olurdu . Hala rastgele sayıları tahmin edebilirim, ancak problemi değiştirirsem sahte rastgele sayıların sırası tamamen değişir. Yine de, böyle bir sorun inşa edemediğimi kanıtlamanız imkansızdır .


Ben cstheory için yeniyim. Yani, downvoters - bu cevabın nesi var?
galdre

3
İki şey yanlıştır: (1) genel olarak sahte ve sayıların nasıl oluşturulacağını bilmiyoruz, (2) onları nasıl inşa edeceğimizi bilsek bile, hesaplamalı olarak pahalıdırlar. Uygulamada kullanılan sözde rasgele sayıların teoride çalışması garanti edilmez; bildiğimiz tek şey deneysel olarak çalıştıkları görünüyor. (Gerçekten de, gerçekte kullanımda olan PRNG'lerin çoğu kırılabilir, bu nedenle genel olarak kullanım için güvenli değillerdir, yalnızca özellikle onları kırmaya çalışmadığınızda).
Yuval Filmus

2
cstheory.se, programlama pratiği değil, teorik bilgisayar bilimi * ile ilgilidir. Beğen ya da beğenme, iki alan oldukça ayrı.
Yuval Filmus

2
@YuvalFilmus: C. Gunther tarafından 1987'de icat edilen Alternatif Adım Üreticisi henüz kırılmadı (henüz kamuoyu kırılmadı ve NSA'nın da kırdığından şüpheliyim). Yirmi sekiz yıl kırılmamış kalmak için uzun bir süre, böyle basit bir jeneratörün (üç LFSR ve bir XOR geçidi, ne kadar basit?) Kırılmadığı ve daha sık kullanılmadığı için şaşırıyorum.
William Hird

2
@WilliamHird: "Kırılmış" tanımına bağlı olarak, aslında kırılmış görünüyor (ilgili, daha verimli ve yaygın olarak kullanılan A5 / x ailesi ile aynı ölçüde). Bakınız crypto.stackexchange.com/a/342 .
Emil Jeřábek, Monica
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.