Rastgele sayı seçimi çevrimiçi. Rastgele numara üreticisi

  • 03.09.2019

Selamlar sevgili okuyucular! Bu yazıda, herhangi bir yarışmada rastgele bir kazanan seçebileceğiniz popüler random.org sitesi hakkında sizinle konuşmak istiyorum. Yarışmanın kazananını hangi platform için seçtiğiniz önemli değil: Vkontakte, Twitter, Facebook, blog veya web sitesi - en önemli şey, hazır bir katılımcı listesine sahip olmanızdır, çünkü random.org sadece rastgele bir sayıdır. jeneratör ve belirli bir kritere göre katılımcı seçemez.

Facebook'ta Bir Kazanan Seçin

Uzun hikayeleri sevmiyorum o yüzden direk konuya gireceğim :)) Facebook sayfasında yapılan yarışmanın kazananını belirlemek istiyorsanız burada her şey çok basit. Seçtiğiniz herhangi bir gönderideki tüm beğenileri ve yorumları kolayca ve kolayca CSV formatında dışa aktarmanıza izin verecek harika siteler var. Daha sonra bu listeleri random.org sayı üretecinde çalıştırabilir ve böylece rastgele bir kazanan seçebilirsiniz.

Not: Facebook yarışmalarına katılmak için bir koşul olarak yeniden paylaşımlar kurallar tarafından kesinlikle yasaklandığından, bunları sizin için otomatik olarak hesaplayacak hiçbir hizmet yoktur. Genel olarak, Facebook'taki kuralları çiğnemenizi tavsiye etmiyorum, çünkü ömür boyu bir sayfa yasağı oldukça pahalı bir fiyattır, Allah korusun, bu tür ihlaller için ödemeniz gerekir.

Vkontakte'de kazananı seçiyoruz

Zamanla, sosyal medya kullanıcıları arasında kazananı belirlemeye yardımcı olabilecek oldukça uzun bir uygulama ve web sitesi listesi topladım. Vkontakte ağları. Kolaylık sağlamak için listeyi ayrı bir makaleye taşıdım.

Random.org kullanarak rastgele bir kazanan nasıl belirlenir

Katılımcı listelerini belirledik, o yüzden random.org konusuna dönelim. Sitede iki tür hizmet vardır: ücretli ve ücretsiz. Aradaki fark, bir kazananı ücretli bir şekilde seçerseniz, random.org tüm sonuçları kaydederek bir tür resmi seçim protokolü oluşturur. Görmek. Hedef kitleniz size %100 güveniyorsa ve çekilişin doğru yapıldığını kanıtlamanız gerekmiyorsa, ücretsiz hizmeti güvenle kullanabilir ve tüm katılımcılara çekiliş sonuçlarıyla birlikte bir ekran görüntüsü gösterebilirsiniz. Seçimin resmi olarak onaylanması gerekiyorsa, aşağıda kazananı ücretli bir şekilde nasıl seçeceğinizi anlatacağım.

ücretsiz örnek

Bu nedenle, kitleniz size güveniyorsa, örnekleme için ödeme yapmanıza gerek yoktur. Bu videoda, iki ücretsiz yolla rastgele bir kazananı nasıl seçeceğinizi öğreneceksiniz:

  1. Rastgele sayı üreteci kullanma;
  2. Bir liste randomizer yardımıyla.

ücretli örnekleme

Çok sayıda katılımcının veya büyük ödüllerin olduğu bir yarışma düzenliyorsanız, büyük olasılıkla çekiliş sonuçlarının korunduğu resmi bir seçimle daha fazla ilgileneceksiniz.

oranlar

Random.org'da örnekleme fiyatı, katılımcı sayısına bağlıdır. Listede 500'den fazla kişi yoksa, böyle bir örnek size çok az mal olacak - 4,95 dolar. 1000 katılımcı biraz daha pahalıya mal olacak - 8,95 dolar. Tüm fiyatları özellikle sitede olduğu için burada vermeyeceğim. Random.org'da az sayıda katılımcı ile numune başına fiyat, Random Picker gibi rakiplerinden biraz daha düşüktür. Ancak 3.000'den fazla katılımcınız varsa, proje başına sabit bir fiyatı olduğu için siteyi kullanmanızı tavsiye ederim - 25 $ (daha fazla proje, daha ucuz). Ayrıca sitenin Rusçaya çevrilmiş olması şüphesiz büyük bir artı.

Eğer İngilizce ile ilgili bir sorununuz yoksa ve sorunsuz bir şekilde siteye üye olabiliyorsanız bu bölümü atlamanız yeterli. Random.org'a kaydolmakla ilgili bir sürü soru aldım, bu yüzden size nasıl yapacağınızı anlatacağım.

Aşama 1. Sağ üst köşedeki Giriş'e tıklayın ve açılan pencerede kayıt ol'a tıklayın.

Adım 2 Aşağıdaki şekilde gösterildiği gibi kayıt için verileri girin. İkinci paragrafa girdiğiniz adın örnekleme protokolünde listeleneceğini unutmayın, bu nedenle kendi adınızı veya şirketinizin, sayfanızın veya sitenizin adını seçin. Devam düğmesine tıklayın.

Aşama 3 Ardından, numune için ne kadar ödeyeceğinizi seçmeniz gerekir. 500'den az katılımcınız varsa, fiyatı 4,95$ olan ikinci satırı seçin - bu kayıt için minimum miktardır. Yani, siteye ödeme yapmadan kaydolmak istiyorsanız (1. satır) - bundan hiçbir şey çıkmaz. Bu seçeneği neden yaptıklarını bile bilmiyorum.

Ayrıca, yaklaşık 5.000 katılımcınız varsa veya daha az katılımcıyla birkaç piyango yapmak istiyorsanız, 34.95$'lık üçüncü satırı seçin. Aynısı 4. satır, 100.000 katılımcı başına 249.95 dolar veya n'inci sayıda küçük örnek için de geçerlidir.

Random.org tarafından sunulan en verimli seçenekler, ne kadar para yatırmak istediğinizi seçtiğiniz, 4,95$ ile ikinci veya sonuncusudur. Yukarıda bağlantısı verilen fiyat hesaplayıcıyı kullanmayı unutmayın.

4. Adım Bu adım bizi hiç ilgilendirmiyor. random.org, "Custom Random Number Generator" eklenti hizmetine abone olmak isteyip istemediğinizi sorar. Yarışmalar yapmak için ona ihtiyacınız olmayacak, bu yüzden ilk satırı seçin.

Adım 5 Ve son adım hesabınızı doğrulamaktır. Doğru e-postayı girdiğinize özellikle dikkat edin. adresine, hesabınıza giriş yapmak için şifre gönderilecektir.

Ödeme bilgileri ve e-posta adresi ise e-postalar doğru bir şekilde girildi, ardından her şeyi kabul ettiğinizi onaylamak için kutuyu işaretleyin ve PayPal ile Öde düğmesini tıklayın. Ödeme için PayPal sayfasına yönlendirileceksiniz. Para random.org hesabına yatırıldığı anda hesabınız oluşturulacaktır.

Bu kadar! Kayıt bitti!

Random.org'da resmi kazanan seçimi

Bu bölümde, random.org'da kazananı nasıl belirleyeceğinizi detaylı olarak inceleyeceğiz. Örneğin, random.org'dan ekran görüntüleri kullanacağım.

Aşama 1. Hesabınıza giriş yapın.

Adım 2Şekilde olduğu gibi, önceki tüm seçimler hakkında bilgi içeren bir pencere göreceksiniz (eğer varsa, elbette). "Yeni bir kazanan seç" düğmesine tıklayın.

Aşama 3 Yeni pencerede yarışmanın adını veya kısa bir açıklamasını girin.

  1. Sonuçlar yalnızca yarışmaya katılanlar tarafından görülebilir: Bir üyenin listeye dahil olup olmadığını kontrol etmek için bir tanımlayıcı, yani listelerde kullandığınız isimler, e-posta adresleri gibi bilgileri girmesi gerekecektir. posta, UID vb. Katılımcı sadece çekilişle ilgili genel bilgileri görebilir: isim, toplam katılımcı sayısı, ancak tüm listeyi göremez. .
  2. Kapalı seçim: seçim sonuçları ve katılımcı listesi yalnızca size açıktır.
  3. Açık Örnek: Numunenin sonuçları ve katılımcı listesi, protokol bağlantısını takip eden herkes tarafından görülebilecektir. .
  4. Örnek test.

4. Adım Ardından, katılımcı listesine girme yöntemini seçin. Burada her şey açık görünüyor. Yalnızca bir dosya yükleme yöntemi seçerseniz, listenin txt metin biçiminde olması gerektiğini not edeceğim. Her iki yöntem için de her bir katılımcı ayrı bir satıra girilmelidir, yani virgül veya boşlukla ayrılmış numaralandırma olmamalıdır.

Çok sayıda katılımcınız varsa, dosyanın yüklenmesi ve işlenmesi daha uzun sürebilir.

Adım 5 Bu adımda herhangi bir şey yapmanıza gerek yok çünkü random.org sizin için her şeyi yapacak. Bu adımın özü, yinelenenler ve boş alanlar için listenizi kontrol etmektir. Şekilde sarı ile vurgulanan alanlar yeşil ise, random.org listede herhangi bir sorun bulamadı. Listenizde kopyalar veya boş alanlar varsa, geri dönmeniz, bu hataları düzeltmeniz ve katılımcı listesini yeniden yüklemeniz gerekir. Listede her şey yolundaysa, Devam'a tıklayarak devam edin.

7. Adım Ardından, örnekleme doğrulama adımına geçiyoruz. Tüm bilgilerin doğru girilmesine çok dikkat edin, çünkü bu aşamada hala geri dönüp bir şeyleri düzeltme şansı var. Çizimi tamamla butonuna tıklarsanız, hesabınızdan para çekilecektir.

Adım 8 Kazananların listesi hazır! Açık bir numune türü tanımladıysanız, yani sonuçları genel halka veya katılımcılara sunduysanız, bu sayfada yarışma yerinde yayınlayabileceğiniz bir bağlantınız olacaktır. Hesap kontrol panelinizde bulabileceğiniz için bu bağlantıyı kaydetmenize gerek yoktur.

Arkadaşlar, size söylemek ve random.org hakkında göstermek istediklerim bu kadar gibi görünüyor. Umarım gerçekten aradığınız bilgiyi bulmuşsunuzdur. Yazımı bu bilgilerin yararlı ve ilginç olabileceği herkesle paylaşırsanız minnettar olurum.

Henüz blog güncellemelerine abone olmadıysanız, bu bağlantıdan yapabilirsiniz. En son haberleri sosyal medyadan da takip etmeyi unutmayın. ağlar.


İdeal olarak, rastgele sayıların dağılım yoğunluğu eğrisinin Şekil 2'de gösterilene benzeyeceğini unutmayın. 22.3. Yani, ideal durumda, her aralığa aynı sayıda nokta düşer: n Bence = n/k , nerede n toplam puan sayısı, k- aralık sayısı, Bence= 1, …, k .

Pirinç. 22.3. Rastgele sayı bırakma frekans tablosu,
teorik olarak ideal bir jeneratör tarafından üretilen

Rastgele bir rastgele sayı oluşturmanın iki aşamadan oluştuğu unutulmamalıdır:

  • normalleştirilmiş bir rasgele sayı üretme (yani, 0'dan 1'e eşit olarak dağılmış);
  • normalleştirilmiş rastgele sayıların dönüşümü r Bence rastgele sayılara x Bence, kullanıcı tarafından istenen (keyfi) dağıtım yasasına göre veya gerekli aralıklarla dağıtılır.

Sayı elde etme yöntemine göre rastgele sayı üreteçleri aşağıdakilere ayrılır:

  • fiziksel;
  • tablo;
  • algoritmik.

Fiziksel RNG'ler

Fiziksel RNG'lerin örnekleri şunlardır: bir madeni para (“kartal” - 1, “kuyruk” - 0); zar; sayılarla sektörlere ayrılmış oklu bir tambur; gürültülü bir termal cihaz olarak kullanılan donanım gürültü üreteci (GS), örneğin bir transistör (Şekil 22.4–22.5).

Pirinç. 22.4. Rastgele sayılar üretmek için donanım yönteminin şeması
Pirinç. 22.5. Donanım yöntemiyle rastgele sayılar elde etme şeması
"Bir bozuk para kullanarak rasgele sayıların üretilmesi" görevi

Bir bozuk para kullanarak 0 ile 1 arasında eşit olarak dağılmış rastgele 3 basamaklı bir sayı oluşturun. Kesinlik üç ondalık basamaktır.

Sorunu çözmenin ilk yolu
Bir madeni parayı 9 kez çevirin ve madeni para tura gelirse "0", tura ise "1" yazın. Diyelim ki deney sonucunda 100110100 rastgele bir dizi elde ettik.

0'dan 1'e bir aralık çizin. Sayıları soldan sağa sırayla okuyun, aralığı ikiye bölün ve her seferinde bir sonraki aralığın parçalarından birini seçin (0 düşerse, sonra sola, 1 düştüyse sola, o zaman sağ). Böylece, aralıktaki herhangi bir noktaya keyfi olarak doğru bir şekilde ulaşabilirsiniz.

Böyle, 1 : aralık ikiye bölünür - ve , - sağ yarı seçilir, aralık daralır: . sonraki numara 0 : aralık ikiye bölünür - ve , - sol yarı seçilir, aralık daralır: . sonraki numara 0 : aralık ikiye bölünür - ve , - sol yarı seçilir, aralık daralır: . sonraki numara 1 : aralık ikiye bölünür - ve , - sağ yarı seçilir, aralık daralır: .

Sorunun doğruluk durumuna göre çözüm bulunur: aralıktan herhangi bir sayıdır, örneğin 0.625.

Prensipte, kesin olarak yaklaşırsak, o zaman aralıkların bölünmesi, bulunan KARŞIŞIK aralığının sol ve sağ sınırları üçüncü ondalık basamağa kadar devam etmelidir. Yani, doğruluk açısından, üretilen sayı, bulunduğu aralıktaki herhangi bir sayıdan artık ayırt edilemeyecektir.

Sorunu çözmenin ikinci yolu
Elde edilen 100110100 ikili dizisini üçlülere ayıralım: 100, 110, 100. Bu ikili sayıları ondalık sayılara dönüştürdükten sonra, 4, 6, 4 elde ederiz. Bu yöntemle yalnızca 0,000 ila 0,777 arasındaki sayılar elde edilebilir (çünkü üç ikili basamaktan "sıkılabilen" maksimum değer 111 2 = 7 8'dir) - yani, aslında bu sayılar sekizli sayı sisteminde temsil edilir. . Çeviri için sekizli sayılar ondalık sunum yürütülebilir:
0,464 8 = 4 8 –1 + 6 8 –2 + 4 8 –3 = 0,6015625 10 = 0,602 10.
Yani istenen sayı: 0.602.

Tablo RNG

Rastgele sayıların kaynağı olarak tablolu RNG, doğrulanmış korelasyonsuz, yani birbirine hiçbir şekilde bağlı olmayan sayılar içeren özel olarak derlenmiş tablolar kullanır. Masada. 22.1, böyle bir tablonun küçük bir parçasını gösterir. Tabloyu soldan sağa yukarıdan aşağıya doğru yürüyerek, 0'dan 1'e istediğiniz sayıda ondalık basamakla eşit olarak dağıtılmış rastgele sayılar elde edebilirsiniz (örneğimizde, her sayı için üç ondalık basamak kullanıyoruz). Tablodaki sayılar birbirine bağlı olmadığından, tablo farklı şekillerde, örneğin yukarıdan aşağıya veya sağdan sola doğru hareket ettirilebilir veya örneğin çift konumlu sayıları seçebilirsiniz.

Tablo 22.1.
Rastgele numaralar. eşit
0'dan 1'e rastgele sayılar dağıtılır
rastgele numaralar eşit dağıtılmış
0'dan 1'e rastgele sayılar
9 2 9 2 0 4 2 6 0.929
9 5 7 3 4 9 0 3 0.204
5 9 1 6 6 5 7 6 0.269
… …

Bu yöntemin avantajı, tablo doğrulanmış ilişkisiz sayılar içerdiğinden, gerçekten rastgele sayılar vermesidir. Yöntemin dezavantajları: çok sayıda rakamı saklamak için çok fazla bellek gerekir; bu tür tabloların oluşturulmasında ve kontrol edilmesinde büyük zorluklar, bir tabloyu kullanırken tekrarlar artık sayısal dizinin rastgeleliğini ve dolayısıyla sonucun güvenilirliğini garanti etmemektedir.

500 kesinlikle rastgele doğrulanmış sayı içeren bir tablo var (I. G. Venetsky, V. I. Venetskaya "Ekonomik Analizde Temel Matematiksel ve İstatistiksel Kavramlar ve Formüller" kitabından alınmıştır).

algoritmik RNG

Bu RNG'ler kullanılarak oluşturulan sayılar her zaman sözde rastgeledir (veya yarı rastgele), yani sonraki oluşturulan her sayı bir öncekine bağlıdır:

r Bence + 1 = F(r Bence) .

Bu tür sayılardan oluşan diziler döngüler oluşturur, yani zorunlu olarak sonsuz sayıda tekrar eden bir döngü vardır. Tekrar eden döngülere periyot denir.

RNG verilerinin avantajı hızdır; jeneratörler pratik olarak bellek kaynakları gerektirmezler, kompakttırlar. Dezavantajları: Sayılar tamamen rastgele olarak adlandırılamaz, çünkü aralarında bir bağımlılık ve yarı rastgele sayılar dizisindeki dönemlerin varlığı vardır.

RNG elde etmek için birkaç algoritmik yöntem düşünün:

  • orta kareler yöntemi;
  • ara ürünler yöntemi;
  • karıştırma yöntemi;
  • lineer uyumlu yöntem.

ortalama kare yöntemi

dört basamaklı bir sayı var r 0 . Bu sayının karesi alınır ve r bir . Gelen r 1 orta (dört orta basamak) alınır - yeni bir rastgele sayı - ve yazılır r 0 . Ardından prosedür tekrarlanır (bkz. Şekil 22.6). Aslında, rastgele bir sayı olarak almamak gerektiğini unutmayın. gij, a 0.gij- sola atanmış bir sıfır ve ondalık nokta ile. Bu gerçek, Şekil 2'de yansıtılmaktadır. 22.6 ve sonraki benzer şekillerde.

Pirinç. 22.6. Orta kareler yönteminin şeması

Yöntemin dezavantajları: 1) eğer bir yinelemede sayı r 0 sıfır olur, ardından jeneratör bozulur, bu nedenle başlangıç ​​değerinin doğru seçimi önemlidir r 0; 2) jeneratör diziyi baştan sona tekrarlayacaktır. m n adımlar (en iyi ihtimalle), nerede n- sayının basamak kapasitesi r 0 , m sayı sisteminin temelidir.

Şek. 22.6 : sayı ise r 0 ikili sayı sisteminde temsil edilecek, daha sonra sözde rasgele sayılar dizisi 2 4 = 16 adımdan sonra tekrarlanacaktır. İlk sayı başarısız bir şekilde seçilirse dizinin tekrarının daha da erken gerçekleşebileceğini unutmayın.

Yukarıda açıklanan yöntem, John von Neumann tarafından önerildi ve 1946'ya kadar uzanıyor. Bu yöntem güvenilmez olduğu için hızla terk edildi.

Medyan ürünlerin yöntemi

Numara r 0 ile çarpılır r 1, sonuçtan r 2 orta kaldırıldı r 2 * (bu başka bir rastgele sayıdır) ve ile çarpılır r bir . Bu şemaya göre, sonraki tüm rasgele sayılar hesaplanır (bkz. Şekil 22.7).

Pirinç. 22.7. Medyan ürün yönteminin şeması

karıştırma yöntemi

Karıştırma yöntemi, bir hücrenin içeriğini sola ve sağa döndürmek için işlemleri kullanır. Yöntemin fikri aşağıdaki gibidir. Hücrenin ilk sayıyı saklamasına izin verin r 0 . Hücrenin içeriğini döngüsel olarak hücre uzunluğunun 1/4'ü kadar sola kaydırarak yeni bir sayı elde ederiz. r 0*. Benzer şekilde, bir hücrenin içeriğini döngüsel olarak değiştirerek r 0 hücre uzunluğunun 1 / 4'ü kadar sağa, ikinci sayıyı alırız r 0**. sayıların toplamı r 0 * ve r 0** yeni bir rastgele sayı verir r bir . Daha öte r 1 girilir r 0 ve tüm işlem dizisi tekrarlanır (bkz. Şekil 22.8).


Pirinç. 22.8. Karıştırma yönteminin şeması

Toplamdan elde edilen sayının r 0 * ve r 0 ** , hücreye tam olarak sığmayabilir r bir . Bu durumda, alınan numaradan ekstra rakamlar atılmalıdır. Bunu Şekil için açıklayalım. 22.8, burada tüm hücreler sekiz ikili basamakla temsil edilir. İzin vermek r 0 * = 10010001 2 = 145 10 , r 0 ** = 10100001 2 = 161 10 , sonra r 0 * + r 0 ** = 100110010 2 = 306 10 . Gördüğünüz gibi, 306 sayısı (ikili sayı sisteminde) 9 rakamı kaplar ve hücre r 1 (aynı zamanda r 0 ) maksimum 8 bit tutabilir. Bu nedenle, değeri girmeden önce r 1, 306 sayısından en soldaki bir "ekstra" bitin çıkarılması gerekir; r 1 artık 306 değil, 00110010 2 = 50 10 olacak. Ayrıca Pascal gibi dillerde, bir hücre taştığında fazladan bitlerin "kesilmesi", verilen değişken tipine göre otomatik olarak yapılır.

Doğrusal uyumlu yöntem

Doğrusal bağdaşık yöntem, rasgele sayıları simüle eden en basit ve şu anda en çok kullanılan prosedürlerden biridir. Bu yöntem mod( x, y) , bu, ilk bağımsız değişkeni ikinciye böldükten sonra kalanı döndürür. Sonraki her rastgele sayı, aşağıdaki formül kullanılarak bir önceki rastgele sayıya göre hesaplanır:

r Bence+ 1 = mod( k · r Bence + B, m) .

Bu formül kullanılarak elde edilen rastgele sayılar dizisine denir. lineer uyumlu dizi. Birçok yazar doğrusal uyumlu bir diziye şu şekilde atıfta bulunur: B = 0 çarpımsal uyumlu yöntem, ve ne zaman B ≠ 0 — karışık uyumlu yöntem.

Kaliteli bir jeneratör için uygun katsayıların seçilmesi gerekir. sayı olması zorunludur m dönem daha fazla olamaz çünkü oldukça büyüktü m elementler. Öte yandan, bu yöntemde kullanılan bölme işlemi oldukça yavaş bir işlemdir, bu nedenle ikili bir bilgisayar için mantıklı seçim olacaktır. m = 2 n, çünkü bu durumda, bölmenin kalanını bulmak bilgisayarın içinde "VE" ikili mantıksal işlemine indirgenir. En büyük asal sayıyı seçmek de yaygındır. m, 2'den az n: özel literatürde, bu durumda ortaya çıkan rastgele sayının en az anlamlı basamaklarının olduğu kanıtlanmıştır. r Bence+ 1, bir bütün olarak rasgele sayı dizisinin tamamı üzerinde olumlu bir etkiye sahip olan, eskileri kadar rasgele davranır. Bir örnek biridir Mersenne numaraları, 2 31 - 1'e eşittir ve böylece, m= 2 31 – 1 .

Doğrusal uyumlu diziler için gereksinimlerden biri, mümkün olan en uzun periyottur. Dönemin uzunluğu değerlere bağlıdır m , k ve B. Aşağıda sunduğumuz teorem, belirli değerler için bir maksimum uzunluk periyoduna ulaşmanın mümkün olup olmadığını belirlememizi sağlar. m , k ve B .

teorem. Sayılarla tanımlanan doğrusal uyumlu dizi m , k , B ve r 0 , bir uzunluk periyoduna sahiptir m ancak ve ancak:

  • sayılar B ve m kopya;
  • k– 1 kez P her basit için P, bölen olan m ;
  • k– 1 ise 4'ün katıdır m 4'ün katı.

Son olarak, rasgele sayılar üretmek için lineer kongruential yöntemini kullanmaya ilişkin birkaç örnekle bitirelim.

Örnek 1'deki verilere dayalı olarak üretilen bir dizi sözde rasgele sayının her seferinde tekrarlanacağı bulundu. m/4 numara. Numara Q hesaplamaların başlamasından önce keyfi olarak ayarlanır, ancak serinin genel olarak rastgele olduğu izlenimini verdiği akılda tutulmalıdır. k(ve bu nedenle Q). Sonuç, aşağıdaki durumlarda biraz iyileştirilebilir: B tuhaf ve k= 1 + 4 Q - bu durumda dizi her seferinde tekrarlanacak m sayılar. Uzun bir aramadan sonra k araştırmacılar 69069 ve 71365 değerlerine karar verdiler.

Örnek 2'deki verileri kullanan rasgele sayı üreteci, periyodu 7 milyon olan rasgele yinelenmeyen sayılar üretecektir.

Sözde rasgele sayılar üretmek için çarpımsal bir yöntem, 1949'da D. H. Lehmer tarafından önerildi.

Jeneratörün kalitesini kontrol etme

Tüm sistemin kalitesi ve sonuçların doğruluğu RNG'nin kalitesine bağlıdır. Bu nedenle, RNG tarafından üretilen rastgele dizi bir dizi kriteri karşılamalıdır.

Yapılan kontroller iki çeşittir:

  • düzgün dağılımı kontrol eder;
  • istatistiksel bağımsızlığın test edilmesi.

Üniform dağılım için kontroller

1) RNG, tek tip bir rastgele yasanın özelliği olan aşağıdaki istatistiksel parametre değerlerine yakın vermelidir:

2) Frekans testi

Frekans testi, aralığa kaç sayı düştüğünü bulmanızı sağlar. (m r – σ r ; m r + σ r) , yani (0,5 - 0,2887; 0,5 + 0,2887) veya nihai olarak (0,2113; 0,7887) . 0.7887 - 0.2113 = 0.5774 olduğundan, iyi bir RNG'de, düşen tüm rastgele sayıların yaklaşık %57.7'sinin bu aralığa düşmesi gerektiği sonucuna varıyoruz (bkz. Şekil 22.9).

Pirinç. 22.9. İdeal bir RNG'nin frekans diyagramı
frekans testi için kontrol edilmesi durumunda

Ayrıca (0; 0,5) aralığındaki sayı sayısının, aralıktaki (0,5; 1) sayı sayısına yaklaşık olarak eşit olması gerektiği de dikkate alınmalıdır.

3) Ki-kare testi

Ki-kare testi (χ 2 -test) en iyi bilinen istatistiksel testlerden biridir; diğer kriterlerle birlikte kullanılan ana yöntemdir. Ki-kare testi, 1900 yılında Karl Pearson tarafından önerildi. Dikkat çekici çalışması, modern matematiksel istatistiklerin temeli olarak kabul edilir.

Bizim durumumuz için ki-kare testi, bizim tarafımızdan yaratılanların ne kadar olduğunu bulmamızı sağlayacaktır. gerçek RNG, RNG referansına yakındır, yani tek tip dağıtım gereksinimini karşılayıp karşılamadığı.

frekans diyagramı referans RNG, Şek. 22.10. Referans RNG'nin dağılım yasası tek tip olduğundan, (teorik) olasılık P Bence sayıları vurmak Bence-inci aralık (bu aralıkların toplamı k) eşittir P Bence = 1/k . Ve böylece, her birinde k aralıklar düşecek düzüzerinde P Bence · n sayılar ( nüretilen sayıların toplam sayısıdır).

Pirinç. 22.10. Referans RNG'nin frekans diyagramı

Gerçek bir RNG, dağıtılmış (ve mutlaka eşit olması gerekmez!) k aralıklar ve her aralık şunları içerecektir n Bence sayılar (toplam n 1 + n 2 + … + n k = n ). Test edilen RNG'nin referansa ne kadar iyi ve yakın olduğunu nasıl belirleyebiliriz? Alınan sayıların sayısı arasındaki farkların karelerini dikkate almak oldukça mantıklıdır. n Bence ve "referans" P Bence · n . Bunları toplayalım ve sonuç olarak şunu elde ederiz:

χ 2 exp. =( n 1- P bir · n) 2 + (n 2- P 2 · n) 2 + … + ( n k – P k · n) 2 .

Bu formülden, her bir terimdeki fark ne kadar küçükse (ve dolayısıyla χ 2 exp. değeri ne kadar küçükse), gerçek bir RNG tarafından üretilen rastgele sayıların dağılım yasasının o kadar güçlü olduğu sonucu çıkar.

Önceki ifadede, terimlerin her birine aynı ağırlık (1'e eşit) atanmıştır, bu aslında doğru olmayabilir; bu nedenle ki-kare istatistiği için her birini normalize etmek gerekir. Bence terim, onu bölerek P Bence · n :

Son olarak, ortaya çıkan ifadeyi daha kompakt bir şekilde yazalım ve sadeleştirelim:

için ki-kare testinin değerini elde ettik. deneysel veri.

Masada. 22.2 verilir teorik ki-kare değerleri (χ 2 teorisi), nerede ν = n– 1, serbestlik derecesi sayısıdır, P RNG'nin tek tip dağıtım gereksinimlerini ne kadar karşılaması gerektiğini belirten, kullanıcı tarafından belirlenen bir güven düzeyidir veya P — deneysel değerin χ 2 exp olma olasılığıdır. tablodaki (teorik) χ 2 teorisinden daha az olacaktır. veya ona eşit.

Tablo 22.2.
χ 2 dağılımının bazı yüzde puanları
p = %1 p = %5 p = %25 p = %50 p = %75 p = %95 p = %99
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν + kare(2 ν ) · x P+ 2/3 x 2 P– 2/3 + Ö(1/sqrt( ν ))
x P = -2.33 -1.64 –0.674 0.00 0.674 1.64 2.33

Kabul edilebilir düşünün P %10'dan %90'a.

Eğer χ 2 exp. χ 2 teorisinden çok daha fazlası. (yani P büyük), ardından jeneratör tatmin etmiyor tekdüze bir dağılımın gerekliliği, çünkü gözlenen değerler n Bence teorikten çok uzaklaşmak P Bence · n ve rastgele olarak kabul edilemez. Yani o kadar geniş bir güven aralığı kurulur ki, sayılar üzerindeki kısıtlamalar çok gevşer, sayılar üzerindeki gereksinimler zayıflar. Bu durumda, çok büyük bir mutlak hata gözlemlenecektir.

D. Knuth bile "The Art of Programming" adlı kitabında χ 2 deneyime sahip olduğunu kaydetti. küçük de genel olarak iyi değildir, ancak ilk bakışta tekdüzelik açısından dikkat çekici görünse de. Gerçekten de, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, ... sayılarından oluşan bir dizi alın - bakış açısından idealdirler. tekdüzelik ve χ 2 exp. pratikte sıfır olacaktır, ancak onları rastgele olarak tanımanız pek olası değildir.

Eğer χ 2 exp. χ 2 teorisinden çok daha az. (yani P- küçük), sonra jeneratör tatmin etmiyor gözlemlenen değerler olduğundan, rastgele bir düzgün dağılım gereksinimi n Bence teorik olarak çok yakın P Bence · n ve rastgele olarak kabul edilemez.

Ama eğer χ 2 exp. χ 2 teoreminin iki değeri arasında belirli bir aralıkta yer alır. karşılık gelen, örneğin, P= %25 ve P= %50, o zaman sensör tarafından üretilen rastgele sayıların değerlerinin tamamen rastgele olduğunu varsayabiliriz.

Ayrıca, tüm değerlerin akılda tutulması gerekir. P Bence · n yeterince büyük, örneğin 5'ten büyük olmalıdır (deneysel olarak bulunur). Ancak o zaman (yeterince büyük bir istatistiksel örnekle) deneysel koşullar tatmin edici olarak kabul edilebilir.

Bu nedenle, doğrulama prosedürü aşağıdaki gibidir.

İstatistiksel bağımsızlık için testler

1) Bir dizideki bir basamağın oluşma sıklığını kontrol etme

Bir örnek düşünün. Rastgele sayı 0.2463389991, 2463389991 rakamlarından oluşur ve 0.5467766618 sayısı 5467766618 rakamlarından oluşur. Rakam dizilerini birleştirdiğimizde: 24633899915467766618.

Açıktır ki teorik olasılık P Bence araları açılmak Bence inci basamak (0'dan 9'a kadar) 0.1'dir.

2) Aynı sayı dizilerinin görünümünü kontrol etme

ile belirtmek n L uzunlukları birbirini izleyen aynı basamaklardan oluşan dizi sayısı L. Her şeyin kontrol edilmesi gerekiyor L 1'den m, nerede m kullanıcı tarafından belirlenen bir sayıdır: bir dizide meydana gelen maksimum aynı basamak sayısı.

"24633899915467766618" örneğinde 2 dizi uzunluk 2 (33 ve 77) bulunmuştur, yani n 2 = 2 ve 2 dizi uzunluk 3 (999 ve 666), yani. n 3 = 2 .

uzunluğundaki bir serinin olasılığı L eşittir: P L= 9 10 – L (teorik). Yani, bir karakter uzunluğunda bir dizinin oluşma olasılığı şuna eşittir: P 1 = 0,9 (teorik). İki karakterli bir dizinin ortaya çıkma olasılığı: P 2 = 0,09 (teorik). Üç karakterli bir dizinin ortaya çıkma olasılığı: P 3 = 0,009 (teorik).

Örneğin, bir karakter uzunluğundaki bir dizinin oluşma olasılığı şuna eşittir: P L= 0.9 , çünkü 10 karakterden sadece biri ve sadece 9 karakter olabilir (sıfır sayılmaz). Ve iki özdeş "XX" karakterinin bir satırda karşılaşma olasılığı 0,1 0,1 9'dur, yani "X" karakterinin ilk konumda görünme olasılığı 0,1'dir, aynı karakterin 0,1 olasılığı ile çarpılır. ikinci "X" konumunda görünecek ve bu tür kombinasyonların sayısı 9 ile çarpılacaktır.

Serilerin oluşma sıklığı, değerler kullanılarak daha önce analiz ettiğimiz “ki-kare” formülüne göre hesaplanır. P L .

Not: Üreteç birden çok kez kontrol edilebilir, ancak kontroller tamamlanmamıştır ve üretecin rastgele sayılar ürettiğini garanti etmez. Örneğin, 12345678912345… dizisini üreten bir üreteç, kontroller sırasında ideal kabul edilecektir ve bu açıkçası tamamen doğru değildir.

Sonuç olarak, Donald E. Knuth'un (cilt 2) "Programlama Sanatı" kitabının üçüncü bölümünün tamamen rastgele sayıların çalışmasına ayrıldığını not ediyoruz. Rastgele sayılar üretmek için çeşitli yöntemleri, rasgelelik için istatistiksel kriterleri ve düzgün dağılmış rasgele sayıların diğer rasgele değişken türlerine dönüştürülmesini araştırır. Bu materyalin sunumuna iki yüzden fazla sayfa ayrılmıştır.

vb. ve hesap sahipleri tarafından topluluğa yeni izleyiciler çekmek için kullanılır.

Ödülün alıcısı rastgele belirlendiğinden, bu tür çekilişlerin sonucu genellikle kullanıcının şansına bağlıdır.

Böyle bir belirleme için, çekiliş organizatörleri neredeyse her zaman çevrimiçi bir rastgele sayı üreteci veya ücretsiz olarak dağıtılan önceden yüklenmiş bir sayı üreteci kullanır.

Tercih

Oldukça sık, böyle bir jeneratör seçmek zor olabilir, çünkü işlevleri oldukça farklıdır - bazıları için önemli ölçüde sınırlıdır, diğerleri için oldukça geniştir.

Oldukça fazla sayıda bu tür hizmetler uygulanmaktadır, ancak zorluk, kapsam bakımından farklılık göstermeleridir.

Örneğin birçoğu, işlevleriyle belirli bir sosyal ağa bağlıdır (örneğin, birçok oluşturucu uygulaması yalnızca bunun bağlantılarıyla çalışır).

En basit jeneratörler, belirli bir aralıkta rastgele bir sayı üretir.

Bu uygundur, çünkü sonucu belirli bir gönderiyle ilişkilendirmez; bu, sosyal ağ dışında ve çeşitli diğer durumlarda çekilişler için kullanılabileceği anlamına gelir.

Gerçekten başka bir kullanımları yok.

Tavsiye! En uygun jeneratörü seçerken hangi amaçla kullanılacağını dikkate almak önemlidir.

Özellikler

En uygun çevrimiçi rastgele sayı üretme hizmetini seçmenin en hızlı süreci için, aşağıdaki tablo bu tür uygulamaların ana teknik özelliklerini ve işlevselliğini göstermektedir.

Tablo 1. Rastgele bir sayı üretmek için çevrimiçi uygulamaların işleyişinin özellikleri
İsim Sosyal ağ Birden çok sonuç Numara listesinden seçin Web Sitesi için Çevrimiçi Widget Bir aralıktan seçin Tekrarları kapat
rasgele Evet Evet Değil Evet Değil
Döküm Lotları Resmi site veya VKontakte Değil Değil Evet Evet Evet
rastgele sayı Resmi site Değil Değil Değil Evet Evet
rastgele Resmi site Evet Değil Değil Evet Değil
rastgele numaralar Resmi site Evet Değil Değil Değil Değil

Tabloda tartışılan tüm uygulamalar aşağıda daha ayrıntılı olarak açıklanmaktadır.

rasgele

Bu uygulamayı, resmi web sitesi http://randstuff.ru/number/ bağlantısını kullanarak çevrimiçi olarak kullanabilirsiniz.

Bu basit bir rastgele sayı üretecidir, hızlı ve kararlı çalışma ile karakterizedir.

Hem resmi web sitesinde ayrı bir bağımsız uygulama formatında hem de .

Bu hizmetin özelliği, hem belirtilen aralıktan hem de sitede belirtilebilecek belirli bir numara listesinden rastgele bir sayı seçebilmesidir.

  • Kararlı ve hızlı çalışma;
  • Sosyal ağa doğrudan bağlantı eksikliği;
  • Bir veya daha fazla numara seçebilirsiniz;
  • Sadece verilen numaralardan seçim yapabilirsiniz.

Bu uygulama ile ilgili kullanıcı yorumları şu şekildedir: “Bu hizmet sayesinde VKontakte gruplarında kazananları belirliyoruz. Teşekkür ederim”, “Sen en iyisisin”, “Sadece bu hizmeti kullanıyorum”.

Döküm Lotları

Bu uygulama, resmi web sitesinde VKontakte uygulaması şeklinde uygulanan basit bir işlev üreticisidir.

Web sitenize yerleştirmek için bir jeneratör widget'ı da vardır.

Daha önce açıklanan uygulamadan temel fark, bunun sonucun tekrarını devre dışı bırakmanıza izin vermesidir.

Bu jeneratör ile herhangi bir aralıkta rastgele sayılar üretebileceksiniz. Bu jeneratör aynı zamanda bir listeden rastgele bir sayı seçmenize veya belirlemenize de izin verecektir. Veya 2'den 70'e kadar elemanlı bir rastgele sayı dizisi oluşturun. Bu çevrimiçi araç, yalnızca bir (1), iki (2) veya üç (3) basamaklı rasgele sayılar oluşturmanıza izin vermez, aynı zamanda beş ve yedi de rasgele sayılar oluşturmanıza olanak tanır. Kurulumu kolay. Herkes ustalaşabilir. Ayrıca çevrimiçi veya çevrimdışı piyangolar veya yarışmalar için rastgele sayılar seçebileceksiniz. Ve uygun olacak. Tüm tabloları veya rastgele sayı satırlarını kolayca oluşturabilirsiniz. Saniyenin bir bölümünde, ekranınızda rastgele bir sayı veya bunların sırasını (set) alacaksınız. Sayılarınızın bir sırasını alırsanız, algoritma rastgele birini veya rastgele olanları seçecektir, herhangi biri düşebilir. Çekiliş yapmak için bu aracı kendiniz kullanabilirsiniz. Örneğin, sonuç olarak aynı sayı aralığını ve sayısını seçerek, rastgele bir dizi (kombinasyon) oluşturabilirsiniz. Ayrıca rastgele harf kombinasyonları ve kelimeler de seçebilirsiniz. Sitemizdeki her şey gibi bu araç da tamamen ücretsizdir (istisna yoktur).

Aralık numaralarını girin

İtibaren
Önceki
Üretmek için

Rastgele Sayı Üretmek İçin Aralığı Değiştirme

1..10 1..100 1..1000 1..10000 çekiliş için 36 üzerinden 5 çekiliş için 45 üzerinden 6 piyango için 49 üzerinden 6 çekiliş için 59 üzerinden 6

Rastgele sayıların sayısı (1)

Tekrarları ortadan kaldırın

Listeden rastgele değerler seçin (virgül veya boşlukla ayırın, virgül bulunursa bölme onlar tarafından, aksi takdirde boşluklarla yapılır)

Belirli bir dağılıma uyan neredeyse bağımsız öğelerden oluşan bir sayı dizimiz var. Genellikle eşit olarak dağıtılır.

Excel'de rasgele sayılar farklı şekillerde ve şekillerde oluşturabilirsiniz. Gelin bunların en iyilerine bir göz atalım.

Excel'de Rastgele Sayı İşlevi

  1. RAND işlevi, rastgele eşit olarak dağıtılmış bir gerçek sayı döndürür. 1'den küçük, 0'dan büyük veya 0'a eşit olacaktır.
  2. RANDBETWEEN işlevi rastgele bir tamsayı döndürür.

Kullanımlarına örneklerle bakalım.

RAND ile rastgele sayılar seçme

Bu işlev herhangi bir bağımsız değişken (RAND()) gerektirmez.

Örneğin 1 ile 5 arasında rastgele bir gerçek sayı oluşturmak için şu formülü kullanın: =RAND()*(5-1)+1.

Döndürülen rasgele sayı, aralık boyunca eşit olarak dağıtılır.

Çalışma sayfası her hesaplandığında veya çalışma sayfasındaki herhangi bir hücredeki değer değiştiğinde, yeni bir rasgele sayı döndürülür. Oluşturulan popülasyonu kaydetmek istiyorsanız, formülü değeriyle değiştirebilirsiniz.

  1. Rastgele bir sayıya sahip bir hücreye tıklıyoruz.
  2. Formül çubuğunda formülü vurgulayın.
  3. F9'a basın. VE GİRİN.

Dağılım histogramını kullanarak ilk örnekten rastgele sayıların dağılımının tekdüzeliğini kontrol edelim.


Dikey değerlerin aralığı frekanstır. Yatay - "cepler".



RANDBETWEEN işlevi

RANDBETWEEN işlevinin sözdizimi (alt sınır; üst sınır) şeklindedir. İlk argüman ikinciden daha az olmalıdır. Aksi takdirde fonksiyon hata verecektir. Sınırların tamsayı olduğu varsayılır. Formül, kesirli kısmı atar.

İşlevin kullanımına bir örnek:

0.1 ve 0.01 hassasiyetli rastgele sayılar:

Excel'de rastgele sayı üreteci nasıl yapılır

Belirli bir aralıktan bir değer üreterek rastgele bir sayı üreteci yapalım. Şuna benzer bir formül kullanıyoruz: =INDEX(A1:A10;INTEGER(RAND()*10)+1).

10'luk bir adımla 0 ile 100 arasında bir rastgele sayı üreteci yapalım.

Metin değerleri listesinden 2 rastgele olanı seçmeniz gerekir. RAND işlevini kullanarak A1:A7 aralığındaki metin değerlerini rastgele sayılarla karşılaştırırız.

Orijinal listeden rastgele iki metin değeri seçmek için INDEX işlevini kullanalım.

Listeden rastgele bir değer seçmek için aşağıdaki formülü uygulayın: =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

Normal Dağılım Rastgele Sayı Üreticisi

RAND ve RANDBETWEEN işlevleri, tek bir dağılımla rasgele sayılar üretir. Aynı olasılık derecesine sahip herhangi bir değer, istenen aralığın alt sınırına ve üst sınırına düşebilir. Hedef değerden büyük bir yayılma ortaya çıkıyor.

Normal dağılım, üretilen sayıların çoğunun hedefe yakın olduğu anlamına gelir. RANDBETWEEN formülünü düzeltelim ve normal dağılıma sahip bir veri dizisi oluşturalım.

X mallarının maliyeti 100 ruble. Üretilen partinin tamamı normal dağılıma tabidir. Rastgele değişken ayrıca normal bir olasılık dağılımını takip eder.

Bu koşullar altında, aralığın ortalama değeri 100 ruble'dir. Bir dizi oluşturalım ve standart sapma 1,5 ruble olan normal dağılıma sahip bir grafik oluşturalım.

Şu işlevi kullanıyoruz: =NORMINV(RAND();100;1.5).

Excel, hangi değerlerin olasılık aralığında olduğunu hesapladı. 100 ruble maliyeti olan bir ürün üretme olasılığı maksimum olduğundan, formül 100'e yakın değerleri diğerlerinden daha sık gösterir.

Çizime geçelim. İlk önce kategorileri olan bir tablo oluşturmanız gerekir. Bunu yapmak için diziyi periyotlara ayırıyoruz:

Elde edilen verilere dayanarak normal dağılıma sahip bir diyagram oluşturabiliriz. Değer ekseni aralıktaki değişkenlerin sayısıdır, kategori ekseni ise periyotlardır.