SORU
17 ŞUBAT 2011, PERŞEMBE


Hileli zar için veri yapısı?

Her tarafı k bazı olasılık p olduğu n-taraflı yüklü die bir ben olduğunu varsayalımkben rulo zaman geliyor. Eğer verimli bir şekilde ölmek rastgele bir rulo taklit bu bilgiler statik olarak (yani olasılıklar sabit bir dizi için) saklamak için iyi bir algoritma olup olmadığını merak ediyorum.

Şimdilik bu sorun için(lg n) bir çözüm buldum. Fikir saklamak için bir tablo kümülatif olasılık ilk k taraf için de tüm k, onları oluşturmak için rastgele gerçek sayı aralığı [0, 1) ve gerçekleştirmek bir ikili arama masanın üstünden almak en büyük dizini olan toplu değer hayır daha büyük seçilmiş değer. Ben daha çok bu çözüm gibi, ama zamanı dikkate olasılıklar almaz tuhaf görünüyor. Özellikle, extremal durumlarda her zaman bir Taraf olacaklara değerleri olmak birörnek dağıtılmış, mümkün oluşturmak için sonucun rulo O(1) kullanarak saf bir yaklaşım, ama eğer bir çözüm olacak hala al logarithmicallh pek çok adım.

Herkes bir şekilde bu sorunu çözmek için nasıl herhangi bir öneriniz var bir şekilde "o" zamanı mı? Uyumlu mu

EDİTBu sorunun cevabına göre, Yukarı yazdıman article describing many approaches to this problemonların analizleri ile birlikte. Diğer bir yöntem verir ve Teta Vose uygulanması;(n) önişleme zaman ve gerçekten etkileyici olan ölmek rulo başına O(1) zaman, gibi görünüyor. Umarım bu bilgiler cevapları içerdiği için yararlı bir ektir!

CEVAP
17 ŞUBAT 2011, PERŞEMBE


Bir sağlar alias method arıyoruzO(1)sabit kesikli olasılık dağılımı (sabit zaman uzunluğu n bir dizi giriş erişebilirsiniz varsayarak) bir zaman O(n) ile oluşturmak için yöntem. Luc Devroye "Non-Uniform Random Variate Generation" chapter 3 (PDF) belgelenmiş bulabilirsiniz.

Fikri olasılıklar p dizinizi almaktırkve n-elemanlı diziler, q üç yeni üretmekkbirkve bk. Her qkve 1, ve her bir 0 arasında bir olasılıkkve bk1 ile n arasında bir tam sayıdır.

0 ve 1 arasında rastgele sayılar, r ve s, üreterek, 1 ile n arasında rasgele bir sayı üretiyoruz. (R*N) i = 1 Kat edelim. Sbenve sonra bir dönüş ltbenbaşka dönüş bben. Diğer yöntem çalışma q üretmek için nasıl bulmaktankbirkve bk.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CrazyMan

    CrazyMan

    14 Mayıs 2008
  • THE RED DRAGON

    THE RED DRAG

    6 ŞUBAT 2009
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009