Təsadüfi ədəd almaq üçün sürətli və ədalətli bir yol axtarırsınız? Bu pulsuz onlayn təsadüfi ədəd generatoru seçdiyiniz istənilən diapazonda bir ədəd — və ya bütöv bir ədədlər siyahısı — yaradır: sadə 1-dən 10-a qədər diapazondan tutmuş milyardlara çatan diapazonlara qədər. Minimum və maksimum dəyərləri “Min” və “Maks” sahələrində təyin edin, neçə ədədə ehtiyacınız olduğunu “Say” sahəsində seçin və “Yarat” düyməsinə basın. Hər iki sərhəd nəticəyə daxil edilir, yəni 1-dən 10-a qədər diapazon həm 1, həm də 10 qaytara bilər.
Hər nəticə birbaşa brauzerinizdə Web Crypto API (crypto.getRandomValues) vasitəsilə yaradılır — bu, əməliyyat sisteminizin təsadüfiliyindən kriptoqrafik cəhətdən güclü təsadüfi dəyərlər təmin edir. Heç nə serverə göndərilmir, heç nə qeydə alınmır və biz ədədlərinizi heç vaxt görmürük. Yaratma prosesi ani və məxfidir, səhifə yükləndikdən sonra hətta yavaş internet bağlantısında da işləməyə davam edir.
Seçimlər insanların həqiqətən təsadüfi ədədlərə ehtiyac duyduğu real vəziyyətlər üçün nəzərdə tutulub. Heç bir ədədin iki dəfə təkrarlanmaması üçün “Təkrarsız” seçimini aktivləşdirin — bu, püşklər, lotereya tərzi çəkilişlər və ya insanları təkrarsız qruplara bölmək üçün lazım olan seçimdir. 500 iştirakçı arasından iyirmi qalib lazımdır? “Min”i 1-ə, “Maks”ı 500-ə təyin edin, “Təkrarsız” seçimini aktivləşdirin, “Say”ı 20-yə təyin edin və “Yarat” düyməsinə basın. “Sıralama qaydası” nəticəni artan və ya azalan sırayla düzür, bir düymə isə bütün nəticələri bir dəfəyə kopyalayır. “Çıxış formatı”nı “Yeni sətir”dən “Boşluqla ayrılmış” və ya “Vergüllə ayrılmış”a keçirdikdə “Dəst sayı” sahəsi görünür: eyni anda bir neçə müstəqil çəkiliş — məsələn iyirmi çəkiliş dövrü üçün 3 ədədlik iyirmi dəst — “Dəstlər arasında təkrarlara icazə ver” isə eyni ədədin bir neçə dəstdə görünüb-görünməyəcəyini müəyyən edir.
Təsadüfilik əslində necə yaradılır? Brauzeriniz kriptoqrafik cəhətdən güclü təsadüfi dəyərləri Math.random() kimi JavaScript PRNG-i vasitəsilə deyil, Web Crypto API vasitəsilə təmin edir. “Yarat” düyməsinə basdığınızda, səhifə crypto.getRandomValues vasitəsilə təsadüfi dəyərlər tələb edir və onlardan seçdiyiniz diapazonda ədədlər yaratmaq üçün istifadə edir. Təsadüfiliyin əsas mənbəyi əməliyyat sistemi tərəfindən təmin olunur, ona görə də səhifənin öz başlanğıc dəyərini (seed) və ya psevdo-təsadüfi ardıcıllığı saxlamasına ehtiyac yoxdur.
Xam dəyərin diapazonunuza uyğunlaşdırılması generatorların səssizcə səhv etdiyi yerdir və ayrıca bir abzasa layiqdir. Dəyərin diapazonun ölçüsünə bölünməsindən qalan hissəni götürmək açıq-aşkar yanaşmadır, amma eyni zamanda qərəzlidir: 2^32 diapazonun ölçüsünə tam bölünmədikdə, ən kiçik ədədlər digərlərindən bir qədər tez-tez görünür. Bu qüsur modulo bias adlanır və nəzəri deyil, ölçülə bilən bir şeydir. Bu generator isə əvəzində diapazonun ən böyük tam sayda mislinə çatdıqda və ya onu keçdikdə həmin dəyəri kənara atır və yenidən yaradır — bu texnika rejection sampling adlanır. Bu, bir neçə əlavə cəhdə başa gəlir, amma əvəzində dəqiq bir zəmanət verir: “Min” və “Maks” arasındakı hər ədəd tamamilə eyni ehtimala malikdir, təxminən eyni deyil.
Ədədi həqiqətən təsadüfi edən nədir? Bir ədəd əvvəlki nəticələr sonrakı haqqında heç nə açıqlamadıqda kifayət qədər təsadüfi sayılır — və praktikada bunun üç səviyyəsi var. Math.random() kimi adi psevdo-təsadüfi funksiya determinist alqoritm işlədir: onun daxili vəziyyətini öyrənən istənilən kəs bütün ardıcıllığı yenidən yarada bilər, bu da onu təqdimat slaydlarını qarışdırmaq üçün münasib, amma nəticənin proqnozlaşdırıla bilməməli olduğu heç bir şey üçün yararsız edir. Kriptoqrafik cəhətdən təhlükəsiz generator (CSPRNG) — bu alətin istifadə etdiyi səviyyə — də bir alqoritmdir, amma sistem təsadüfiliyinin təhlükəsiz mənbəyindən istifadə edərək proqnozlaşdırıla bilməyən dəyərlər yaratmaq üçün nəzərdə tutulub və onun çıxışını izləməyin növbəti addım haqqında heç nə açıqlamayacağı şəkildə qurulub. Atmosferik küy və ya radioaktiv parçalanma kimi mənbələrdən gələn fiziki təsadüfilik hər iki səviyyədən yuxarıda dayanır, baxmayaraq ki, diapazondan ədəd yaratmaq söhbəti gəldikdə praktiki fərq yox olur. Brauzerlərin Math.random()-u sadəcə təkmilləşdirmək əvəzinə ayrıca bir kriptoqrafiya API-si təqdim etməsinin səbəbi məhz budur: bu ikisi fərqli problemləri həll edir və nəticə kiminsə üçün əhəmiyyətli olduqda yalnız biri təhlükəsizdir.
Təsadüfi ardıcıllığın insanlara təsadüfi görünməsi lazım deyil. 1 ilə 10 arasında on ədəd yaradın və müntəzəm olaraq təkrar, 7, 7, 8 kimi bir-birinə yaxın rəqəmlər cütü, və ya bütün dəyərlərin ardıcıl olaraq yüksək olduğu qısa bir sıra görəcəksiniz — və bunların hər biri tamamilə normaldır. Əsl təsadüfilik proqnozlaşdırıla bilməzdir və nəticələr həmişə bərabər paylanmış kimi görünmür: hər ədəd əvvəlkilərdən müstəqil şəkildə çıxır, əvvəlki ədədlərin sonrakılara mütləq heç bir təsiri yoxdur və heç bir ədədin digərindən daha yüksək çıxma ehtimalı yoxdur. Əksini iddia edən instinkt qumarbaz səhvidir və bu, insanları özlərini pis təsadüfi ədəd generatorlarına çevirən eyni instinktdir — bizdən təsadüfi ardıcıllıq uydurmağımız istəndikdə, təkrarlardan qaçırıq və dəyərləri təsadüfiliyin heç vaxt etməyəcəyi qədər bərabər paylayırıq. Şübhəli dərəcədə səliqəli görünən nəticə insan müdaxiləsinin izidir; həqiqi təsadüfilik topalar yaradır.
Niyə məhz bu təsadüfi ədəd generatorunu seçməlisiniz?
- Yalnız brauzerdə yaradılma: ədədlər cihazınızda yaranır və heç yerə göndərilmir
- Web Crypto API vasitəsilə təsadüfilik: Math.random() deyil, kriptoqrafik cəhətdən təhlükəsizdir
- Modulo bias yoxdur: rejection sampling diapazondakı hər ədəd üçün bərabər ehtimal saxlayır
- İstənilən diapazon: 1-dən 10-a qədərdən milyardlara çatan dəyərlərə qədər, hər iki sərhəd daxil
- “Təkrarsız” rejimi: püşklər və qrup bölgüsü üçün təkrarsız siyahı yaradın
- Çoxlu dəstlər: bir kliklə bir neçə müstəqil çəkiliş
- Sıralama və çıxış formatları: artan və ya azalan, yeni sətir, boşluq və ya vergül
- Tarixçə və faylda saxlama: əsaslandırmalı ola biləcəyiniz çəkilişin qeydini saxlayın
- Limitsiz və pulsuz: qeydiyyatsız, istifadə limiti olmadan, serverlərimizdə heç nə saxlanmır
Təsadüfi ədədlər əksər insanların düşündüyündən daha çox yerdə istifadə olunur. Müəllimlər ayrı-seçkilik etmədən şagirdləri çağırır. Streamerlər və marketinq komandaları nəticəyə inanmalı olan tamaşaçılar qarşısında hədiyyə və püşk qaliblərini çəkirlər. Oyunçular itirilmiş zəri əvəz edir və ya kimin birinci başlayacağını həll edir, turnirlərdə isə başlanğıc sıra çəkilir. Tədqiqatçılar təsadüfi nümunə seçirlər ki, tapıntıları iştirak etməyən insanlar üçün də keçərli olsun. Tərtibatçılar test məlumatları yaradır, simulyasiyalar üçün başlanğıc dəyəri (seed) təyin edir və QA zamanı identifikatorlar seçir. Ortaq cəhət sonradan izah edilə bilən təsadüfi seçim prosesidir: çəkiliş kriptoqrafik təsadüfilikdən istifadə etdiyi və tamamilə cihazınızda baş verdiyi üçün, kimsə şübhə edərsə nəticənin necə yaradıldığını göstərə bilərsiniz.
Bu generatorun bilməyə dəyər bir neçə ağlabatan məhdudiyyəti var. “Təkrarsız” rejimi diapazonun tutduğundan artıq ədəd yarada bilməz: 1 ilə 10 arasında iyirmi unikal dəyər sadəcə mövcud deyil. Çəkilişlər müstəqildir və əvvəlki nəticələr sonrakılara təsir etmir, ona görə də səhifənin yenilənməsi heç bir dövrü sıfırlamır — sadəcə içində olacağınız bir dövr yoxdur. Ədədlər kriptoqrafik cəhətdən güclü olsa da, buradakı çəkiliş proqnoz deyil, ədalətli bir seçimdir: rəsmi lotereya çəkilişləri öz fiziki və ya sertifikatlaşdırılmış avadanlıqlarından istifadə edir və brauzerinizdə hesablanan heç nəyin onlarla heç bir əlaqəsi yoxdur. Bu məhdudiyyətlər daxilində zəmanət güclüdür: diapazonunuzdakı hər ədəd hər bir ayrı çəkilişdə tamamilə eyni şansa malikdir.