Determinizmin zor olduğu yerlerde verimli ve basit randomize algoritmalar


33

Sıklıkla birçok problem için çok zarif rastgele algoritmalar tanıdığımızı duyuyorum, ancak hayır ya da daha karmaşık, deterministik çözümler yok. Ancak bunun için sadece birkaç örnek biliyorum. En belirgin

  • Randomize Quicksort (ve ilgili geometrik algoritmalar, örneğin dışbükey gövdeler için)
  • Randomize Mincut
  • Polinom Kimlik Testi
  • Klee'nin Ölçü sorunu

Bunlar arasında sadece polinom kimliği testi, rastgelelik kullanılmadan gerçekten zor görünmektedir.

Randomize bir çözümün çok şık ya da çok verimli olduğu, fakat deterministik çözümlerin olmadığı daha fazla sorun örneği biliyor musunuz? İdeal olarak, sorunların meslekten olmayanlar için motive edilmesi kolay olmalıdır (örneğin polinom kimliği testi gibi).


10
Diğer bir örnek, önceliklilik testidir. Miller-Rabin ve Solovay-Strassen'in olasılıksal ilkellik testleri çok basit ve etkilidir. Agrawal, Kayal ve Saxena tarafından çözülen etkili bir deterministik primallik testi bulmak uzun zamandır açık bir problemdi. AKS testi deterministik bir polinom testi primallik testidir. Ancak, olası testler kadar basit ve verimli değildir.
Yury

8
Randomize seçim (medyan bulma) deterministikten biraz daha kolaydır. Paketleme ve LP'yi kaplayan yaklaşık olarak çözmek için rastgele algoritmalar, deterministik emsallerinden ( KY07 , GK95 ) daha hızlıdır (en kötü durumda ). Pek çok çevrimiçi problem, FK91'in deterministik algoritmasından daha rekabetçi olan alg'ları randomize etti .
Neal Young,

11
Dışbükey bir cismin hacminin yüksek boyutlarda hesaplanması, (1+ϵ) randomizasyonu ile yaklaşımı kabul eder . Hiçbir deterministik algoritmanın iyi bir yaklaşım sağlayamayacağı bilinmektedir. Bu nedenle, burada randomizasyon esastır.
Chandra Chekuri

5
@ChandraChekuri, bu iyi bir yorum ve daha iyi bir cevap olurdu :)
Suresh Venkat

3
Oracle modelinde @ChandraChekuri , aksi halde \ mathsf {BPP} \ neq \ mathsf {P}BPPP
Sasho Nikolov

Yanıtlar:


36

Somunları ve cıvataları sıralama

Aşağıdaki sorun 1992'de Rawlins tarafından önerildi: Bir somun ve somun koleksiyonu verildiğini varsayalım. Her bir cıvata tam olarak bir somuna uyar ve aksi takdirde somun ve cıvataların farklı boyutları vardır. Boyutlar, cıvata çiftleri veya somun çiftleri arasında doğrudan karşılaştırma yapmak için çok yakındır. Bununla birlikte, herhangi bir somunu herhangi bir cıvata ile birlikte vidalamaya çalışarak karşılaştırabilirsiniz; Sabit zamanda, cıvatanın çok büyük, çok küçük veya somun için doğru olup olmadığını keşfedeceksiniz. Göreviniz somun ve cıvataları boyuta göre sıralamak için hangi cıvatanın her bir somuna uyan veya eşdeğeri olduğunu bulmaktır.

Basit bir randomize hızlı bağlantı çeşidi, zamanında problemi yüksek olasılıkla çözer . Rasgele bir cıvata seçin; fındık bölümlemek için kullanın; cıvataları ayırmak için uygun somunu kullanın; ve tekrarla. Ancak, de bile çalışan deterministik bir algoritma bulmak önemsizdir. Deterministik -zaman algoritmaları nihayet 1995'te Bradford tarafından ve bağımsız olarak Komlós, Ma ve Szemerédi tarafından bulundu. Başlık altında, her iki algoritma da AKS paralel sıralama ağının varyantlarını kullanır, bu nedenle zaman sınırındaki gizli sabit oldukça büyüktür; randomize algoritma için gizli sabit 4'tür.o ( n 2 ) O ( n log n ) O ( n log n )O(nlogn)o(n2)O(nlogn)O(nlogn)

  • Noga Alon, Manuel Blum, Amos Fiat, Sampath Kannan, Moni Noar ve Rafail Ostrovsky. Eşleşen somun ve civata. Proc. 5th Ann. ACM-SIAM Sem. Kesikli Algoritmalar , 690-696, 1994.
  • Noga Alon, Phillip G. Bradford ve Rudolf Fleischer. Somun ve cıvataların daha hızlı eşleştirilmesi. Bilgi vermek. Proc. Lett. 59 (3): 123-127, 1996.
  • Phillip G. Bradford. Somunları ve cıvataları en iyi şekilde eşleştirmek. Tech. MPI-I-95-1-025, Max-Planck-Institut für Informatik, 1995. http://domino.mpi-inf.mpg.de/internet/reports.nsf/NumberView/1995-1-025
  • Phillip G. Bradford ve Rudolf Fleischer. Somun ve cıvataların daha hızlı eşleştirilmesi. Proc. 6. Int. Sempoz. Algoritmalar Comput. , 402–408, 1995. Ders Notları Comput. Sci. 1004.
  • Jan Komlós, Yuan Ma ve Endre Szemerédi. Somun ve cıvataları sürede eşleştirin . SIAM J. Ayrık Matematik. 11 (3): 347-372, 1998.O(nlogn)
  • Gregory J. E. Rawlins. Neyle karşılaştırılmış? : Algoritma Analizine Giriş . Bilgisayar Bilimi Yayınları / WH Freeman, 1992.

2
Bu güzel bir örnek, ama bu bir kehanet problemi. Oracle ondan kaldırmak için bir yolu var mı?
Peter Shor

98 Szemeredi gazetesine link var mı? Bu nasıl zor? Paralel olarak her bir cıvatayı benzersiz bir somunla karşılaştırın ve her bir çifti sıralı sırayla yerleştirin; eşleşen elemanların kaldırılması. Log (n) 'in adımları, sıralanan nbnbnbnbnb dizilerini birleştirerek, ortaya çıktıkça maçları başlatır. EDIT: Evet, nnn ve bbbb dizelerinin karşılaştırılamazlığı birleştirme adımında can sıkıcıdır.
Chad Brewbaker

@ChadBrewbaker Diyelim ki her çiftte bir tane, cıvata somuntan daha küçüktür. (Evet, bu mümkün.) Şimdi algoritmanız ne iş yapıyor? Başka bir deyişle, "can sıkıcı" = "bütün sorun".
Jeffε

Szemeredi gazetesini arıyordum ve bunun ne kadar zor olduğunu yüksek sesle düşünüyordum. Evet, bir birleştirme temelli yaklaşımın önemsiz olduğuna katılıyorum; ancak Vishkin'in paralel grafik bağlantısı hakkındaki makaleleri, imkansız olmadığını hissederek bağırsakta kalıyor.
Chad Brewbaker

Bir somun ve cıvata ile yapılan her karşılaştırmada, grafiğe eklenmiş bir yönlendirilmiş kenar veya her iki köşeyi de çıkaran bir eşleşme elde edersiniz. Amaç, bağlı bileşenleri, aralarındaki tüm eşleşmeleri doğrusal bir işle daraltmak ve kenarların depolama boyutunu doğrusal bir alana bağlı bağlı bir bileşende tutmak üzere birleştirmektir.
Chad Brewbaker

17

Sadece poli-time hakkında konuşmuyorsanız, fakat üzerinde çalıştığımız birçok hesaplama modeline bakın, her yerde örnekler var:

Logspace'de: Yönlendirilmemiş ST bağlantısı (1979'dan beri RL'de ve 2005'ten beri L'de)

NC'de: Paralel olarak iki taraflı bir grafikte mükemmel bir eşleşme bulmak (RNC'de ve hala NC'de olduğu bilinmiyor)

Etkileşimli kanıtlarda: deterministik olanlar NP verirken, randomize olanlar PSPACE yapabilir. İlgili: bir provayı belirleyici olarak kontrol etmek tüm provalara bakmayı gerektirirken, PCP provaları yalnızca sabit bir bit sayısını kontrol etmenizi sağlar.

Algoritmik Mekanizma Tasarımında: deterministik muadili olmayan pek çok randomize doğru yaklaşım mekanizması.

İletişim karmaşıklığında: eşitlik fonksiyonu deterministik olarak doğrusal iletişim gerektirir, ancak rasgele logaritmik (veya kesin modele bağlı olarak) iletişim gerekir.

Karar ağaçlarında: bir ve-veya ağacı değerlendirmek, deterministik olarak doğrusal sorgular gerektirir ancak randomizasyon ile çok daha azını gerektirir. Bu, esas olarak, oyun ağacı değerlendirmesi için randomize alt doğrusal bir algoritma veren alfa-beta budamasına eşdeğerdir.

Akışlı modellerde, dağıtılmış hesaplama modelleri: önceki yanıtlara bakın.


12

Çoğu akış algoritması

Akış hesaplama modelinde ( AMS , kitap ), bir algoritma çevrimiçi bir güncelleme dizisini işler ve sadece alt çizgiyi tutmak için sınırlandırılır. Herhangi bir zamanda, algoritma bir sorguyu cevaplayabilmelidir.

tit[n]Dm=|{it:t=1m}|mΩ(n)O(logn)O(1ϵ2+logn)1±ϵ


8

nΔmin(Ω(logΔ),Ω(logn))

Aşağıdaki, senkronize turda ilerleyen basit, rastgele dağıtılmış bir algoritmadır [1] . (Bir turda, her düğüm komşularına bazı yerel hesaplama ve gönder mesajları gerçekleştirebilir. Bu mesajlar bir sonraki tura başlamadan önce alınmış olması garanti edilir.)u

  1. Her turda, her aktif düğüm kendini olasılığı ile işaretler, burada , derecesidir ; eğer , sadece bağımsız set girer. (Başlangıçta, her düğüm etkindir.)1 / d u d u > 0 u d u = 0u1/dudu>0udu=0u
  2. Eğer kendi mahallede sadece işaretlenmiş düğümdür, , bağımsız set girer kendilerini devre dışı bırakmak için kendini ve bildirebilmesi bütün komşularından devre dışı bırakır. Kalan aktif düğümlerin dereceleri buna göre azalır, yani, devre dışı bırakılmış düğümlere giden tüm kenarlar çıkarılır.senuu
  3. Aksi takdirde, işaretlenen bazı komşu düğüm varsa, alt derece tepe noktası kendisini işaretler ve etkin kalır.v

Bu algoritmanın , kalan kenarların yarısının her turda silindiğini savunarak yüksek olasılıkla turlarında sonlandığı gösterilebilir . Buna karşılık, bilinen en hızlı deterministik dağıtılmış algoritma [2], tur alır ve çok daha karmaşıktır.O ( n 1 / O(logn)O(n1/logn)


[1] Michael Luby: Maximal Independent Set Problemi için Basit Bir Paralel Algoritma. SIAM J. Comput. 15 (4): 1036-1053 (1986) http://dx.doi.org/10.1137/0215074

[2] Alessandro Panconesi, Aravind Srinivasan: Dağıtık Ağ Ayrışmasının Karmaşıklığı Üzerine. J. Algoritmalar 20 (2): 356-374 (1996) http://dx.doi.org/10.1006/jagm.1996.0017

[3] Fabian Kuhn, Thomas Moscibroda, Roger Wattenhofer: Yerel Hesaplama: Alt ve Üst Sınırlar. CoRR abs / 1011.5470 (2010) http://arxiv.org/abs/1011.5470


Biyolojik sistemlerden ilham alan yeni bir algoritma (PODC 2013'te) basit bir yerel geri bildirim mekanizması kullanarak Luby kadar iyi bir performans sergiliyor. arxiv.org/abs/1211.0235
András Salamon

6

İsimsiz İşlemler Çetesinde Lider Seçim

Kimliğiniz bulunmayan ve mesaj ileterek iletişim kuran bir halkalar ağınız olduğunu varsayalım. Başlangıçta, her işlem aynı durumda. Sonunda tam olarak işlemin seçilen duruma girmesi ve diğer tüm işlemlerin seçilmemiş duruma girmesi için dağıtılmış bir algoritma tasarlamak istiyorsunuz . Bu, dağıtılmış bir sistemdeki temel simetri kırma görevlerinden biri olan ve birçok uygulamaya sahip olan lider seçim problemidir.1

Basit bir argüman var (örneğin [1]), isimsiz bir halka için deterministik lider seçim algoritması bulunmadığı .

Model: Hesaplamanın, her turda, her işlemin bir miktar yerel hesaplama yaptığı, ringdeki komşularına mesajlar gönderdiği ve komşularından mesajlar aldığı senkronize turlarda ilerlediğini varsayıyoruz.

Bir çelişki uğruna, böyle bir determinist lider seçim algoritması olduğunu varsayalım . Herhangi bir yuvarlak başlangıcında, göstermek için yeterli olan bu tam olamaz anlamına gelir, çünkü tüm işlemler aynı vaziyet içinde olan, işlem seçilmiş durum. İşlemlerin kimlikleri olmadığından ve ağ simetrik olduğundan, her işlem indüksiyon tabanını sağlayan aynı başlangıç ​​durumundadır.R 0 1Ar01

İndüksiyon adım için, bazı yuvarlak düşünün ve her süreç yuvarlak başında aynı durumda olduğunu varsayalım . Bu nedenle, algoritma yana belirleyici olduğu, her işlem gerçekleştirir aynı hesaplama ve yuvarlak de tam olarak aynı mesajları gönderir . Sırayla Bu, her işlem sırasında aynı mesajları aldığı imar A r rr0rArrr+1A

An[1,n4]


[1] Dana Angluin: İşlemci Ağlarında Yerel ve Küresel Özellikler (Genişletilmiş Özet). STOC 1980: 82-93. http://doi.acm.org/10.1145/800141.804655


6

Sorgu modelinde çoğunluk problemi.

nij

n/2O(n)

O(n)

FRK Chung, RL Graham, J. Mao ve AC Yao, Çoğunluk ve Çoğulculuk problemleri için açık ve uyarlanabilir stratejiler, Proc. COCOON 2005 , s. 329-338.

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.