Rastgele sayı materyalleri: üreteçler nasıl çalışır ve nerede yanılır

Rastgele bir sayı, bir bilgisayarın üretebileceği en basit şey gibi görünür ancak incelikli bir şekilde hata yapılması en kolay konulardan biridir. Bu bölümdeki materyaller sayıların nereden geldiğini, güvenebileceğiniz bir üreteci güvenemeyeceğiniz bir üreteçten neyin ayırdığını ve sonucun kesin olması gerektiğinde — bir sınıf çekilişi, bir hediye dağıtımı, bir test veri seti — hangi araca başvurulacağını açıklar.

Nereden başlamalı

Rastgele sayı üreteci nedir başlıklı makalemizi okuyun: donanım, sözde rastgele ve kriptografik olarak güvenli üreteçler, sayıların neden tekrarlandığı ve tarayıcının neler sunduğu. Açıklama yerine sayılara ihtiyacınız olduğunda, rastgele sayı üreteci bunları tarayıcınızda tekrarlı veya tekrarsız olarak herhangi bir aralıkta üretir.

Üreteçlerin fark ettirmeden hata yaptığı noktalar

Güçlü bir rastgelelik kaynağı işin yalnızca yarısıdır. Diğer yarısı, bu ham değerleri belirlediğiniz aralığa eşlemektir ve ev yapımı birçok üretecin başarısız olduğu yer tam da burasıdır. Bir değerin aralık boyutuna göre modülosunu (modulo) almak bariz bir yaklaşımdır ancak fark edilmesi güç bir dengesizlik içerir: aralığın boyutu kaynağın çıktı alanını tam olarak bölmediği sürece, aralıktaki en küçük sayılar diğerlerine göre biraz daha sık ortaya çıkar. Bu kusura modulo sapması (modulo bias) denir. Çözüm yollarından biri reddetmeli örneklemedir (rejection sampling): eşit olmayan uç kısma düşen değerleri atıp yeniden çekiliş yapmak. Üretecimiz bunu yapar, böylece aralığınızdaki her sayı her çekilişte aynı şansa sahip olur.

Aynı mantık, insanların ilk başvurduğu kestirme yolları da geçersiz kılar. Math.random() güvenlik konusunda hiçbir garanti vermez ve RAND() ile RANDBETWEEN() gibi hesap tablosu işlevleri de aynı sınıfa aittir: kaba bir karıştırma için uygundur, ancak birinin itiraz edebileceği herhangi bir durum için yanlıştır.

Sayılar, listeler ve zarlar

Rastgele sayı üreteci, belirlediğiniz aralıktan sayılar döndürür. Bir rastgele seçici ise yapıştırdığınız bir liste üzerinde çalışır — isimler, girdiler, seçenekler — böylece sayıları satırlarla elle eşleştirmek zorunda kalmazsınız. Masaüstü oyunları için zar atma aracı zarları atar ve toplamları hesaplar; iki seçenek arasında bir karar içinse yazı tura yeterlidir. Rastgeleliğin bir şeye karar vermek yerine bir şeyi koruması gerektiğinde güçlü şifre oluşturucu aracını kullanın. Bunların tümü tarayıcınızda aynı kriptografik olarak güvenli kaynaktan yararlanır.

Aracı kullanmaya hazır mısınız?

Ücretsiz ve güvenli Rastgele sayı üreteci aracımızı doğrudan tarayıcınızda deneyin.

Aracı Aç