Təsadüfi ədəd generatoru

İstənilən diapazonda təsadüfi ədəd, siyahı və ya bir neçə ədəd dəsti yaradın — hamısı birbaşa brauzerinizdə kriptoqrafik cəhətdən təhlükəsiz təsadüfilikdən istifadə etməklə yaradılır, heç vaxt serverdə deyil.

Seçmək üçün Yarat düyməsini basın
Seçimlər

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?

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.

FAQ

Təsadüfilik kriptoqrafik cəhətdən təhlükəsizdirmi?

Brauzerinizin Web Crypto API-si (crypto.getRandomValues) istifadə olunur, bu da təsadüfiliyi əməliyyat sisteminizin kriptoqrafik cəhətdən təhlükəsiz mənbəyindən əldə edir. Sadə psevdo-təsadüfi funksiyalardan fərqli olaraq, onun nəticəsi praktikada proqnozlaşdırıla bilməyəcək şəkildə nəzərdə tutulub və rejection sampling ən kiçik dəyərlərə üstünlük vermək əvəzinə diapazondakı hər ədəd üçün bərabər ehtimal saxlayır.

Müəyyən bir diapazonda təsadüfi ədədi necə yaradıram?

Ən kiçik mümkün dəyəri “Min” sahəsinə, ən böyüyünü isə “Maks” sahəsinə daxil edin, sonra “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 verə bilər.

Eyni anda bir neçə təsadüfi ədəd yarada bilərəmmi?

Bəli. “Say” sahəsini ehtiyacınız olan miqdara (1000-ə qədər) təyin edin və generator bütün siyahını bir kliklə yaradacaq. Sonra bütün nəticələri kopyalama düyməsi ilə buferə köçürə və ya faylda saxlaya bilərsiniz.

Eyni anda bir neçə ədəd dəsti yarada bilərəmmi?

Bəli. “Çıxış formatı”nı “Yeni sətir”dən “Boşluqla ayrılmış” və ya “Vergüllə ayrılmış”a keçirin ki, “Dəst sayı” sahəsi görünsün. Onu ehtiyacınız olan müstəqil çəkiliş sayına təyin edin — məsələn iyirmi çəkiliş dövrü üçün 3 ədədlik iyirmi dəst — və eyni ədədin fərqli dəstlərdə təkrar görünməsinə icazə verilib-verilməyəcəyini seçin.

Yaradılan ədədləri sıralaya bilərəmmi?

Bəli. Hər siyahını artan və ya azalan sırayla düzmək üçün “Sıralama qaydası” seçimindən istifadə edin, yaxud ədədləri yarandığı sırada saxlamaq üçün onu “Yoxdur” vəziyyətində saxlayın.

Təkrarlanan ədədlərdən necə qaçınım?

“Təkrarsız” keçidini aktivləşdirin. O aktiv olduqda, siyahıdakı hər yaradılan ədəd fərqlidir — bu, püşklər, hədiyyə çəkilişləri və ya insanları qruplara bölmək üçün idealdır. Nəzərə alın ki, say diapazonun ölçüsünü aşa bilməz: 1 ilə 10 arasında 20 unikal ədəd yarada bilməzsiniz.

Niyə eyni ədədlər təkrar-təkrar görünür?

Çünki müstəqil çəkilişlər təkrarlana bilər və təsadüfilik məhz belə görünür. Hər çəkiliş özündən əvvəlki bütün çəkilişləri tamamilə nəzərə almır, ona görə də 1-dən 10-a qədər diapazonda eyni ədədin ard-arda iki dəfə görünmə ehtimalı hər dəfə 10-da 1-dir — bu, adi haldır, nasazlıq deyil. Təkrarsız siyahıya ehtiyacınız varsa, “Təkrarsız” seçimini aktivləşdirin; bu, bir səhvi düzəltmək əvəzinə çəkilişi qəsdən məhdudlaşdırır.

Niyə təsadüfi ardıcıllıq təsadüfi görünmür?

Çünki ə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. İnsanlar təsadüfi nəticənin səliqəli paylanmasını gözləyirlər, ona görə də topalar, təkrarlar və 7, 7, 8 kimi qısa seriyalar səhv kimi görünür, halbuki bunlar məhz təsadüfiliyin yaratdığı şeylərdir. İnsana səliqəli görünən ardıcıllıq adətən təsadüfi olmayıb.

Brauzerdə yaradılan təsadüfiliyə etibar edə bilərəmmi?

Bəli, burada olduğu kimi Web Crypto API-dən gəldikdə. crypto.getRandomValues Math.random() kimi JavaScript PRNG-i əvəzinə əməliyyat sisteminin təsadüfiliyindən istifadə edərək kriptoqrafik cəhətdən güclü təsadüfi dəyərlər təmin edir. Həqiqətən əhəmiyyətli olan hər hansı bir şey üçün etibar etməməli olduğunuz Math.random()-dur: o deterministdir və heç vaxt proqnozlaşdırıla bilməz olmaq üçün nəzərdə tutulmayıb.

Təsadüfi ədədləri proqnozlaşdırmaq və ya təsir etmək mümkündürmü?

Burada yox. Dəyərlər əməliyyat sisteminizin kriptoqrafik cəhətdən təhlükəsiz generatorundan gəlir, ona görə də əvvəlki nəticələri müşahidə etmək sonrakı haqqında heç nə açıqlamır və çəkiliş tamamilə cihazınızda baş verir — müdaxilə ediləcək server və ələ keçirilə biləcək sorğu yoxdur. Biz də nəticələrinizə təsir edə bilmərik, çünki onları heç vaxt görmürük.

Hədiyyə və ya püşk qaliblərini seçmək üçün uyğundurmu?

Bəli. Hər iştirakçıya bir ədəd təyin edin, həmin diapazonda nəticə yaradın və ədədi uyğun gələn iştirakçı qalib gəlir. Mənbə kriptoqrafik cəhətdən təhlükəsiz olduğu və çəkiliş tamamilə cihazınızda baş verdiyi üçün, hər hansı bir iştirakçı nəticəyə şübhə edərsə, prosesi izah etmək və sənədləşdirmək asandır. Lotereya bileti üçün ədəd seçirsinizsə, alət proqnoz kimi deyil, təsadüfi seçim vasitəsi kimi işləyir: rəsmi lotereya çəkilişlərinin onunla heç bir əlaqəsi yoxdur.

Səhifənin yenilənməsi təsadüfiliyi dəyişirmi?

Xeyr, üstəlik buna ehtiyac da yoxdur. Hər çəkiliş onsuz da əməliyyat sistemindən yeni təsadüfi dəyərlər tələb edir, ona görə də “Yarat” düyməsinə on dəfə ard-arda basmağınızdan, yoxsa hər basışdan sonra səhifəni yeniləməyinizdən asılı olmayaraq nəticələr müstəqildir. Yenidən başlanmalı dövr və köhnəlmiş vəziyyət yoxdur — yeniləmə sadəcə ekranda göstərilən nəticələri təmizləyir.

Generator pulsuzdurmu və ədədlərimi saxlayırsınızmı?

Alət tamamilə pulsuzdur və qeydiyyat tələb etmir. Bütün ədədlər brauzerinizdə yerli olaraq yaradılır və heç vaxt cihazınızı tərk etmir, ona görə də istəsək belə nəticələrinizi saxlaya və ya görə bilmərik.