Որտեղից սկսել
Կարդացեք, թե ինչ է պատահական թվերի գեներատորը. սարքավորումային, պսևդոպատահական և կրիպտոգրաֆիկորեն անվտանգ գեներատորներ, ինչու են թվերը կրկնվում և ինչ է առաջարկում բրաուզերը: Երբ բացատրության փոխարեն ձեզ պարզապես թվեր են անհրաժեշտ, պատահական թվերի գեներատորը դրանք ընտրում է ձեր բրաուզերում ցանկացած միջակայքում՝ կրկնություններով կամ առանց դրանց:
Որտեղ են գեներատորները լռելյայն սխալվում
Պատահականության հուսալի աղբյուր ունենալը գործի միայն կեսն է: Մյուս կեսը դրա հում արժեքները ձեր միջակայքին համապատասխանեցնելն է, և հենց այստեղ են ձախողվում շատ ինքնաշեն գեներատորներ: Արժեքի մնացորդը միջակայքի չափի վրա բաժանելուց վերցնելը ակնհայտ մոտեցում է, բայց այն պարունակում է նուրբ շեղում. եթե միջակայքի չափը հավասարապես չի բաժանում աղբյուրի արժեքների տարածությունը, միջակայքի ամենափոքր թվերը հայտնվում են մի փոքր ավելի հաճախ, քան մնացածը: Այս թերությունը կոչվում է շեղում մոդուլով (modulo bias): Մեկ լուծում է մերժմամբ ընտրանքը (rejection sampling). դեն նետել անհավասար մնացորդի մեջ ընկնող արժեքները և նորից ընտրել: Մեր գեներատորն անում է հենց դա, ուստի ձեր միջակայքի յուրաքանչյուր թիվ յուրաքանչյուր ընտրության ժամանակ ունի ճիշտ նույն հնարավորությունը:
Նույն տրամաբանությունը բացառում է նաև այն պարզունակ միջոցները, որոնց մարդիկ առաջինն են դիմում: Math.random() ֆունկցիան ոչինչ չի երաշխավորում անվտանգության մասին, իսկ աղյուսակների այնպիսի ֆունկցիաները, ինչպիսիք են RAND() և RANDBETWEEN(), պատկանում են նույն դասին. դրանք հարմար են մոտավոր խառնելու համար, բայց ոչ մի բանի համար, որը որևէ մեկը կարող է վիճարկել:
Թվեր, ցուցակներ և զառեր
Պատահական թվերի գեներատորը վերադարձնում է թվեր ձեր սահմանած միջակայքից: Գործիքը՝ պատահական ընտրություն ցուցակից, աշխատում է ձեր տեղադրած ցուցակի հետ՝ անուններ, մասնակիցներ, տարբերակներ, ուստի երբեք կարիք չի լինում ձեռքով թվերը տողերին համապատասխանեցնել: Սեղանի խաղերի համար զառերի գեներատորը գլորում է զառերը և հաշվում ընդհանուր գումարը, իսկ երկու տարբերակի միջև ընտրության համար լիովին բավական է մետաղադրամ նետել: Երբ պատահականությունը պետք է ինչ-որ բան պաշտպանի, ոչ թե պարզապես որոշի, օգտագործեք հզոր գաղտնաբառերի գեներատորը: Դրանք բոլորն օգտվում են ձեր բրաուզերում գտնվող նույն կրիպտոգրաֆիկորեն անվտանգ աղբյուրից: