Zgjedhje e rastësishme nga lista

Ngjitni çdo listë — emra, detyra apo ide — dhe lëreni mjetin të bëjë zgjedhjen e drejtë. Zgjedhja bëhet në shfletues, ndaj të dhënat nuk e lënë pajisjen.

Shtypni «Gjenero» për të zgjedhur
Ndarësi përcaktohet automatikisht, por mund ta zgjidhni manualisht më poshtë.
Opsione të Përparuara

Keni nevojë të tërhiqni një fitues për një dhuratë, të ngrini një nxënës në dërrasë apo të vendosni se kush do t'i lajë enët sot? Ky mjet falas në internet bën zgjedhje të drejta dhe të rastësishme nga çdo listë që hidhni në të. Vendosni opsionet tuaja në kutinë „Elementet“ — nga një në çdo rresht ose të ndara me presje, caktoni numrin e dëshiruar të rezultateve te „Numri“ dhe shtypni „Gjenero“. Një listë kërkon të paktën dy elemente dhe mban deri në 1000 shënime, secili me gjatësi deri në 200 karaktere.

Çdo përzgjedhje bëhet drejtpërdrejt në shfletuesin tuaj duke përdorur Web Crypto API (crypto.getRandomValues), që ofron vlera të rastësishme dhe të sigurta kriptografikisht nga sistemi operativ i pajisjes suaj. Lista juaj nuk dërgohet kurrë në ndonjë server, nuk ruhet dhe nuk shihet kurrë nga ne — dhe kjo është më e rëndësishme këtu sesa në gjeneruesit e tjerë, sepse ato që njerëzit ngjitin janë zakonisht një listë klientësh, një regjistër klase apo një listë me emrat e kolegëve. Butoni „Ngarkoni nga skedari“ mban të njëjtin premtim: shfletuesi juaj e lexon skedarin dhe e mbush kutinë në mënyrë lokale, pa ngarkuar asgjë në internet.

Opsionet janë të përshtatura për listat që njerëzit përdorin vërtet. „Ndarësi“ është i vendosur në „Automatik“ dhe dallon vetë rreshtat e rinj nga presjet, kështu që një listë e kopjuar nga një tabelë, nga një mesazh apo një dokument funksionon pa pasur nevojë ta ri-formatoni. Kyçeni në „Rresht i ri“, „Presje“ ose „Hapësirë“ kur të dhënat tuaja kanë formate të përziera. Vini re se opsioni „Hapësirë“ është gjithmonë një zgjedhje e qëllimshme dhe asnjëherë automatike, sepse shënimet si emrat e plotë përmbajnë vetë hapësira, dhe ndarja e tyre e paracaktuar do ta prishte listën. „Numri“ vendos se sa elemente do të tërhiqen (nga 1 në 100). Po tërhiqni tre fitues çmimesh nga 200 pjesëmarrës? Ngjitni pjesëmarrësit, caktoni opsionin „Numri“ në 3 dhe shtypni „Gjenero“. Dy komanda zbatohen vetëm kur numri i tërheqjeve është 2 ose më shumë, dhe deri atëherë mbeten joaktive (ngjyrë gri): çelësi „Pa përsëritje“, i cili vendos nëse i njëjti element mund të tërhiqet dy herë, dhe „Formati i daljes“, i cili përcakton se si ndahen rezultatet („Secili në rresht të ri“, „Ndarë me hapësira“ ose „Ndarë me presje“).

Rreshti i butonave brenda kutisë „Elementet“ bën modifikimet që ndryshe do t'ju duhej t'i bënit diku tjetër. „Ngarkoni nga skedari“ e tërheq listën drejtpërdrejt nga një skedar teksti ose CSV. Butoni „Përziej“ ngatërron radhitjen e shënimeve në kuti, „Rendit“ i rreshton ato alfabetikisht dhe sipas rendit natyror të numrave (ndërsa një klikim i dytë e kthen mbrapsht renditjen), ndërsa „Pastro“ e zbraz kutinë plotësisht. „Plotësoni me të dhëna mostër“ hedh një listë të shkurtër provë në mënyrë që ta provoni mjetin me një klik, kurse „Zgjero për t'iu përshtatur përmbajtjes“ e hap kutinë për të treguar një listë të gjatë të plotë, ndërsa „Palos në madhësinë e paracaktuar“ e kthen atë në përmasën e zakonshme. Nën rezultat, „Kopjo të gjitha“ e vendos çdo përzgjedhje në kujtesën tuaj (clipboard), „Ruaj në skedar“ i shkruan ato në pajisjen tuaj, dhe „Historiku“ mban 10 tërheqjet e fundit në shfletues, në mënyrë që një rezultat i mëparshëm të jetë i disponueshëm me një klik.

Si bëhet vërtet përzgjedhja? Kur shtypni „Gjenero“, faqja i kërkon shfletuesit vlera të rastësishme nëpërmjet crypto.getRandomValues dhe i përdor ato për të zgjedhur pozicionet në listën tuaj, në vend që të mbështetet tek një funksion pseudo-rastësor i JavaScript si Math.random(). Shndërrimi i një vlere bruto 32-bitëshe në një pozicion është faza ku shumë mjete bëjnë gabime pa u vënë re: marrja e mbetjes së vlerës pas pjesëtimit me gjatësinë e listës është qasja më e dukshme, por me anësi. Kjo ndodh sepse, përveç nëse numri 2^32 plotpjesëtohet me gjatësinë e listës, elementet afër fillimit të listës bien pak më shpesh se të tjerët. Kjo e metë quhet modulo bias, dhe ajo është diçka e matshme dhe jo thjesht teorike. Në vend të kësaj, ky mjet e flak çdo vlerë që kalon shumëfishin më të madh të saktë të gjatësisë së listës dhe tërheq përsëri — një teknikë që njihet si rejection sampling. Kjo i kushton disa tërheqje shtesë në prapaskenë, por ofron një garanci të saktë në vend të një të përafërti. Pozicioni në listë nuk ndryshon asgjë: elementi i parë dhe i fundit mbartin të njëjtin probabilitet në çdo tërheqje.

Çelësi „Pa përsëritje“ ndan dy lloje thelbësisht të ndryshme tërheqjesh, dhe statistika ka një emër për secilin. Kur është i ndezur, mjeti e përzien një kopje të listës suaj duke përdorur algoritmin Fisher-Yates dhe merr elementet e para nga kreu — fiks njësoj si të tërhiqni letra nga një kapele pa i kthyer ato sërish mbrapsht, kështu që askush nuk zgjidhet dy herë dhe çdo grup i asaj madhësie ka mundësi të barabarta. Kjo quhet sampling without replacement (kampionim pa zëvendësim) dhe është pikërisht ajo që ju duhet për përzgjedhjen fituesve të çmimeve, formimin e ekipeve ose renditjen e radhës. Kur është i fikur, çdo zgjedhje bëhet në mënyrë të pavarur nga e gjithë lista, kështu që i njëjti element mund të bjerë më shumë se një herë. Kjo është sampling with replacement (kampionim me zëvendësim), e cila është e nevojshme kur të gjithë mbeten të vlefshëm në çdo raund, si në tërheqjet e përsëritura apo një kampion i shpejtë statistikor. Asnjëri nga këto lloje nuk është më i drejtë se tjetri; thjesht ato u përgjigjen kërkesave të ndryshme.

Një tërheqje e drejtë nuk supozohet të duket e drejtë. Nëse tërhiqni pesë emra nga dhjetë, do të shihni rregullisht dy emra që ishin pranë njëri-tjetrit në listën origjinale, ose të njëjtin emër dy herë radhazi pasi të lejohen përsëritjet, dhe secili nga këto raste është plotësisht normal. Çdo tërheqje është e pavarur: rezultatet e mëparshme nuk kanë absolutisht asnjë ndikim në ato të mëvonshme, dhe askujt nuk i vjen „radha“ për të fituar. Instinkti që pretendon të kundërtën quhet gambler's fallacy (iluzioni i kumarxhiut), dhe është po ai instinkt që na bën neve njerëzve të dobët për të zgjedhur vërtet rastësisht — kur na kërkohet të zgjedhim një shënim në mënyrë të rastësishme, ne i shmangim elementin e parë dhe të fundit, përpiqemi të mos përsërisim të njëjtin emër dhe i shpërndajmë zgjedhjet tona shumë më në mënyrë të barabartë se ç'bën rastësia reale. Një rezultat që duket i rregulluar në mënyrë të dyshimtë është treguesi i gishtit të njeriut; rastësia e vërtetë prodhon grupime dhe përsëritje.

Pse ta zgjidhni këtë mjet për zgjedhje të rastësishme?

Zgjedhjet e rastësishme shfaqen kudo ku një vendim duhet t'i mbijetojë dyshimeve. Mësuesit ftojnë nxënësit në dërrasë pa pasur të preferuar dhe ndajnë klasën në grupe projektesh. Krijuesit e përmbajtjeve dhe personat e marketingut tërheqin fituesit e lojërave shpërblyese dhe shorteve para një audience që duhet të besojë te rezultati. Menaxherët shpërndajnë detyrat që asnjë nuk del vullnetar t'i bëjë, dhe ekipet vendosin radhën e prezantimeve ose personin kujdestar. Studiuesit zgjedhin një kampion të rastësishëm rekordesh për auditim. Familjet i japin fund debatit se çfarë të shikojnë, dhe një grup miqsh të uritur zgjedhin restorantin. Elementi i përbashkët në të gjitha këto situata është një përzgjedhje që çdokush mund ta shpjegojë më vonë: tërheqja përdor rastësi kriptografike, ajo zhvillohet tërësisht në pajisjen tuaj, dhe seksioni „Historiku“ ruan rezultatin nëse dikush e vë në dyshim më vonë.

Vlen të njihen dhe disa kufizime të sinqerta të këtij mjeti. Mjeti nuk mund të tërheqë më shumë elemente unike nga sa mban lista juaj — për tre fitues duhen të paktën tre emra — dhe ndalon në 1000 shënime (me nga 200 karaktere secili), si dhe lejon deri në 100 rezultate në një tërheqje. Butonat „Përziej“ dhe „Rendit“ funksionojnë rresht pas rreshti, prandaj një listë e ndarë me presje dhe e ngjitur si një rresht i vetëm do të riorganizohet vetëm kur elementet e saj të ndahen nga një për çdo rresht; gjithashtu, të dy butonat rirregullojnë tekstin në kuti, por nuk ndryshojnë vetë tërheqjen, e cila është njësoj e drejtë pavarësisht renditjes së të dhënave tuaja. Çdo element gjithashtu mban saktësisht të njëjtën peshë, prandaj nëse keni nevojë që një emër të llogaritet dyfish, ai emër duhet të shënohet dy herë në listë. Brenda këtyre kufijve garancia është e fortë — çdo shënim në listën tuaj ka saktësisht të njëjtat mundësi fiks në çdo tërheqje.

FAQ

Si mund të zgjedh në mënyrë të rastësishme një emër nga një listë?

Ngjitni emrat në kutinë „Elementet“ — secili në një rresht të ri, ose të ndarë me presje a hapësira — lëreni opsionin „Numri“ në 1 dhe shtypni „Gjenero“. Një emër do të tërhiqet menjëherë. Për disa emra njëkohësisht, rrisni opsionin „Numri“ te shifra që ju nevojitet.

A është zgjedhja vërtet e drejtë?

Po. Çdo tërheqje përdor Web Crypto API (crypto.getRandomValues) të shfletuesit tuaj së bashku me teknikën rejection sampling, e cila heq modulo bias që një zbatim i thjeshtë do të sillte. Çdo element ka saktësisht të njëjtin probabilitet, pavarësisht nga pozicioni i tij në listë, dhe përzgjedhja e disa shënimeve të ndryshme përdor përzierjen Fisher-Yates, kështu që edhe çdo grup i asaj madhësie i ka mundësitë e barabarta.

A ngarkohet lista ime në serverin tuaj?

Jo. E gjithë tërheqja bëhet në mënyrë lokale në shfletuesin tuaj: lista, zgjedhjet dhe historiku nuk e lënë kurrë pajisjen tuaj, prandaj mund të ngjitni pa frikë emra, e-maile ose çdo lloj liste private. Butoni „Ngarkoni nga skedari“ është po ashtu lokal — vetë shfletuesi juaj e lexon skedarin dhe asgjë nuk ngarkohet në internet.

A mund të ngjis një listë të ndarë me presje ose me hapësira, në vend që të kem nga një element në çdo rresht?

Po. „Ndarësi“ është i vendosur në „Automatik“, çka i bën vetë dallimet midis rreshtave të rinj dhe presjeve, kështu që një listë e kopjuar nga një tabelë, një mesazh bisede apo një dokument do të funksionojë ashtu siç është. Një listë e ndarë me hapësira kërkon një hap shtesë — vendosni opsionin „Ndarësi“ në „Hapësirë“ — sepse elemente të tilla si emrat e plotë kanë hapësira midis tyre dhe kurrë nuk do të ndaheshin automatikisht. Kyçni opsionin „Ndarësi“ te „Rresht i ri“ ose „Presje“ nëse të dhënat tuaja kanë formate të përziera.

Çfarë bën çelësi „Pa përsëritje“?

Me „Pa përsëritje“ të aktivizuar, çdo element i tërhequr do të jetë i ndryshëm — si të tërhiqni letra nga një kapele pa i futur më brenda, dhe kjo është ajo që ju duhet për fituesit e çmimeve apo për formimin e ekipeve. Kur është i çaktivizuar, i njëjti element mund të zgjidhet më shumë se një herë, proces ky që statistikanët e quajnë sampling with replacement.

Pse opsionet „Pa përsëritje“ dhe „Formati i daljes“ janë të zbehura me ngjyrë gri?

Sepse të dyja zbatohen vetëm atëherë kur tërhiqni më shumë se një element, ashtu siç thotë sugjerimi pranë tyre: „Zbatohet vetëm kur numri është më i madh se 1.“ Ngrijeni opsionin „Numri“ në 2 ose më lart dhe që të dyja do të aktivizohen; sepse tek numri 1, nuk ka asgjë për t'u dublikuar dhe asgjë për t'u ndarë.

Çfarë bën opsioni „Formati i daljes“?

Ai përcakton mënyrën se si shfaqen dhe kopjohen disa tërheqje njëkohësisht: „Secili në rresht të ri“, „Ndarë me hapësira“ për një mesazh të shpejtë në chat, ose „Ndarë me presje“ për ta ngjitur atë në një tabelë apo skript. Ai bëhet i disponueshëm kur „Numri“ të jetë 2 ose më shumë.

Çfarë bëjnë butonat „Përziej“ dhe „Rendit“?

Butoni „Përziej“ ndryshon renditjen e elementeve brenda kutisë „Elementet“, ndërsa butoni „Rendit“ i radhit ata alfabetikisht dhe numrat sipas renditjes së tyre natyrore — një klikim tjetër e kthen mbrapsht renditjen. Të dy butonat ndryshojnë vetëm mënyrën sesi është shkruar lista juaj, dhe jo mënyrën sesi funksionon tërheqja: mjeti ofron një tërheqje të drejtë pavarësisht renditjes së elementeve.

Sa elemente mund të mbajë lista dhe sa mund të tërheq unë njëkohësisht?

Lista mund të mbajë nga 2 deri në 1000 shënime, secili me gjatësi deri në 200 karaktere, dhe një tërheqje sjell deri në 100 rezultate. Rreshtat bosh dhe hapësirat rrethuese shpërfillen, kështu që një listë e ngjitur nga një tabelë apo dokument funksionon pa pasur nevojë të ndërhyhet.

A është i përshtatshëm ky mjet për tërheqjen e fituesve për lojëra shpërblyese apo shorte?

Po, dhe ky është një nga përdorimet më të zakonshme. Hidhni listën e pjesëmarrësve, caktoni tek „Numri“ numrin e çmimeve, lëreni të ndezur opsionin „Pa përsëritje“ në mënyrë që askush të mos fitojë dy herë, dhe shtypni „Gjenero“. Meqenëse tërheqja përdor rastësi kriptografike dhe zhvillohet tërësisht në pajisjen tuaj, procesi është i lehtë për t'u shpjeguar, ndërsa „Historiku“ ruan rezultatin në rast se ndonjë pjesëmarrës e vë në dyshim më vonë.

A mund ta përdor për t'i ndarë njerëzit në skuadra?

Po. Caktoni tek „Numri“ madhësinë e ekipit të parë dhe shtypni „Gjenero“ — emrat e tërhequr përbëjnë skuadrën e parë. Hiqini ata nga lista dhe përsëriteni veprimin për skuadrën tjetër. Lëreni të aktivizuar opsionin „Pa përsëritje“ që askush të mos përfundojë në dy skuadra njëkohësisht.

Pse i njëjti emër doli dy herë radhazi?

Sepse tërheqjet e pavarura mund të përsëriten, dhe kështu duket në të vërtetë rastësia. Çdo tërheqje i shpërfill tërheqjet paraardhëse, kështu që në një listë me dhjetë emra fakti që një emër të bjerë dy herë radhazi ka 1 në 10 shanse çdo herë — dhe ky është një rast i zakonshëm, jo defekt i mjetit. Ndizni opsionin „Pa përsëritje“ nëse dëshironi që çdo zgjedhje brenda një tërheqjeje të jetë e ndryshme.

A i mban mend ky mjet zgjedhjet e mia dhe a është ai falas?

Seksioni „Historiku“ ruan 10 tërheqjet tuaja të fundit në shfletues, prandaj mund ta riktheni, kopjoni apo fshini një rezultat të mëparshëm, si dhe të zbrazni tërësisht listën e përzgjedhjeve kurdo që të dëshironi. Mjeti është plotësisht pa pagesë dhe pa regjistrim, dhe meqë nuk transmetohet asgjë, ne nuk mund as t'i shohim dhe as t'i ruajmë zgjedhjet tuaja edhe po të donim.