Rasgele bölümleme yoluyla seçim için keskin konsantrasyon?


11

Bir dizi ortanca eleman bulmak için her zamanki basit bir algoritma ve sayıları geçerli:nAn

  • Örnek gelen elemanlar içine değiştirilmesi ile A Bn3/4AB
  • Sıralama ve rütbe bulmak elemanları ve ait| B | ± B lrB|B|±nlrB
  • Bu kontrol ve medyan zıt tarafları üzerinde bulunan ve en fazla olduğu eleman arasındaki ve bazı uygun sabiti . Bu olmazsa başarısız olun.r A C lrA AlrC>0CnAlrC>0
  • Aksi takdirde, öğelerini ve arasında sıralayarak medyanı bulunl rAlr

Bunun doğrusal zamanda çalıştığını ve yüksek olasılıkla başarılı olduğunu görmek zor değil. (Tüm kötü olaylar, bir binom beklentisinden uzak büyük sapmalardır.)

Hızlı sıralama görmüş öğrencilere öğretilmesi daha doğal olan aynı problem için alternatif bir algoritma burada açıklanan algoritmadır: Rastgele Seçim

Bunun doğrusal beklenen çalışma süresine sahip olduğunu görmek de kolaydır: "yuvarlak" ın, 1 / 4-3 / 4 ayrımı verdiğinde sona eren yinelemeli çağrıların bir sırası olduğunu ve beklenen uzunluğun bir tur en fazla 2'dir. (Bir turun ilk çekilişinde, iyi bir bölünme elde etme olasılığı 1/2'dir ve daha sonra algoritmanın açıklandığı gibi yuvarlak uzunluğa geometrik rastgele bir değişken hakim olduğu için gerçekte artar.)

Şimdi soru:

Randomize seçimin yüksek olasılıkla doğrusal zamanda çalıştığını göstermek mümkün müdür?

Biz mermi ve her tur en az uzunluğa sahiptir olasılıkla en fazla bağlanmış bir birlik çalışma süresi olduğu verir, böylece olasılığı ile .k 2 - k + 1 O ( n, log günlük n ) 1 - 1 / O ( giriş n )O(logn)k2k+1O(nloglogn)11/O(logn)

Bu bir tür tatmin edici değil, ama aslında gerçek mi?


Lütfen sorularınızın hangi algoritmaya atıfta bulunduğunu açıklayın.
Raphael

Sendikanızı doğru şekilde uygulayıp uygulamadığınızı mı yoksa daha iyi, daha tatmin edici bir sınır olup olmadığını mı soruyorsunuz?
Joe

@Joe İkincisi. Mesele şu ki, mermi, yuvarlak uzunluğun bir geometrik tarafından egemen olmasını sağlamak için bir eserdir. Daha sonra analizler, geometrileri bağımsız hale getirmek için algoritmanın her zaman burun üzerinde 1 / 4-3 / 4 bölünmesi alanın önünde mi arkasında mı olduğunu unutur. Yuval'ın aşağıda belirttiği gibi bu "aldatma" nın hala sıkı olup olmadığını soruyorum.
Louis

Yanıtlar:


5

Θ(n)G(1/2)p(n)0Pr[G(1/2)log2p(n)1]=p(n)Ω(nlog2p(n)1)=ω(n)

(İlk turun uzunluğu gerçekten olmadığı için bazı hile var . Daha dikkatli analizler bu cevabı doğrulayabilir veya doğrulamayabilir.)G(1/2)

Düzenleme: Grübel ve Rosler, beklenen karşılaştırma sayısının (bir anlamda) sınırsız bazı sınır dağılımına bölündüğünü kanıtladı . Örneğin, Grübel'in orijinal makalelerini referans alan "Hoare'nin seçim algoritması: bir Markov zinciri yaklaşımı" adlı makalesine bakınız.n


İşte beni rahatsız eden şey. Yukarıdaki yorumumda söylediğim gibi, mermiler sadece algoritmanın "yavaşlamış" bir versiyonunu analiz etmenin bir yoludur. Gösterdiğiniz şey, herhangi bir sabit için pivotlarından daha fazlasına ihtiyaç duyan ilk turun olasılığının . Ancak, prensip olarak, uzun bir ilk tur boş bir 2. tur ile dengelenebilir, yani sonunda "yavaşlamamış" algoritma her zaman 1 / 4-3 / 4 bölünmüş olana yaklaştı . C > 0C>0C>0
Louis

1
İlk tur uzunsa, tüm tur süresi uzundur, çünkü diğer turlar çalışma süresini azaltamaz. Mesele şu ki, herhangi bir için birinci tur, sabit bir olasılık ile en az zaman alır . C n p C > 0CCnpC>0
Yuval Filmus

Şimdi daha mutluyum, çünkü yuvarlak uzunluk üst sınır için kullanılan geometrikten çok daha küçük değildir . Sanırım bu G&R'nin katılaştığı şey. Güzel cevap.
Louis
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.