Haradan başlamaq lazımdır
Təsadüfi ədəd generatoru nədir məqaləsini oxuyun: aparat, psevdotəsadüfi və kriptoqrafik baxımdan təhlükəsiz generatorlar, ədədlərin nə üçün təkrarlandığı və brauzerin nələr təklif etdiyi. İzahdan çox ədədlərə ehtiyacınız olduqda isə, təsadüfi ədəd generatoru onları istənilən diapazonda, təkrarlanmaqla və ya təkrarlanmadan birbaşa brauzerinizdə seçir.
Generatorlar harada səssizcə xəta edir
Güclü təsadüfilik mənbəyi işin yalnız yarısıdır. Digər yarısı onun xam dəyərlərini sizin diapazonunuza köçürməkdir və özbaşına yazılmış bir çox generator məhz burada yanılır. Dəyərin diapazonun ölçüsünə görə qalığını götürmək ən aşkar yanaşmadır, lakin bu, gizli bir meyllilik yaradır: diapazonun ölçüsü mənbənin nəticə fəzasını tam bölmürsə, diapazondakı ən kiçik ədədlər digərlərinə nisbətən bir qədər daha tez-tez çıxır. Bu qüsur qalıq meyli (modulo bias) adlanır. Həll yollarından biri inkar seçimidir (rejection sampling): qeyri-bərabər quyruğa düşən dəyərlər atılır və seçim yenidən aparılır. Bizim generator məhz belə işləyir, buna görə də diapazonunuzdakı hər bir ədəd hər püşkatmada tam eyni şansa malik olur.
Eyni məntiq insanların ilk olaraq əl atdığı qısa yolları da istisna edir. Math.random() təhlükəsizlik barədə heç bir zəmanət vermir, RAND() və RANDBETWEEN() kimi elektron cədvəl funksiyaları da eyni kateqoriyaya aiddir: təqribi qarışdırma üçün yararlıdır, lakin kiminsə etiraz edə biləcəyi heç bir iş üçün uyğun deyil.
Ədədlər, siyahılar və zərlər
Təsadüfi ədəd generatoru təyin etdiyiniz diapazondan ədədlər qaytarır. Siyahıdan təsadüfi seçim aləti isə daxil etdiyiniz siyahı üzərində işləyir — adlar, müraciətlər, variantlar — beləliklə, heç vaxt ədədləri sətirlərlə əl ilə uyğunlaşdırmağa ehtiyac qalmır. Stolüstü oyunlar üçün zər atmaq aləti zərləri atır və cəmləri hesablayır, iki seçim arasında qaldıqda isə sikkə atmaq kifayətdir. Təsadüfilik nəyisə həll etməkdən çox qorumalı olduqda isə güclü şifrə generatoru alətindən istifadə edin. Onların hamısı brauzerinizdəki eyni kriptoqrafik cəhətdən təhlükəsiz mənbədən qidalanır.