Przejdź do treści
Quaestio

Losowanie z listy

Wklej listę, wybierz, ile pozycji wylosować, i losuj.

Wiersze: 0

Wklej listę i naciśnij Losuj.

Osadź

Osadź to narzędzie na swojej stronie

Skopiuj kod i wklej go tam, gdzie ma się pojawić narzędzie, np. we wpisie na blogu albo na stronie szkoły. To nic nie kosztuje, ramka nie zawiera reklam, a narzędzie liczy w przeglądarce odwiedzającego.

Jak to działa

Lista jest tasowana metodą Fishera–Yatesa z kryptograficzną losowością przeglądarki, dzięki czemu każda kolejność jest dokładnie tak samo prawdopodobna. Wylosowane pozycje to pierwsze pozycje przetasowanej listy, więc nikt nie może zostać wylosowany dwa razy.

Każdy wiersz to jedna opcja. Puste wiersze i spacje na początku i końcu są pomijane. Imię wpisane w dwóch wierszach ma dwa losy.

Przetasuj całą listę, gdy chodzi o samą kolejność: kolejność wystąpień, ruchów w grze albo to, kto z kim tworzy parę.

Lista nigdy nie opuszcza przeglądarki. Aby pokazać, że losowanie było uczciwe, przeprowadź je przy innych albo od razu skopiuj wynik.

Jak tasowana jest lista

Wiersze nie są ze sobą porównywane, nawet bez względu na wielkość liter, więc Anna i anna to dwie osobne pozycje.

Tasowanie to metoda Fishera–Yatesa w postaci, którą Richard Durstenfeld opublikował w 1964 roku, z zamianą pozycji w miejscu: narzędzie idzie od ostatniej pozycji listy do pierwszej i zamienia każdą z losowo wybraną pozycją na tym samym albo wcześniejszym miejscu. Lista z n wierszami wymaga n − 1 liczb losowych. Dziesięć wierszy można ułożyć na 3 628 800 sposobów i wszystkie są równie prawdopodobne. W teście kodu narzędzia trzy wiersze przetasowano 60 000 razy, a każda z sześciu kolejności wypadła od 9912 do 10 168 razy.

Przykład: to samo imię w dwóch wierszach

Lista ma dziesięć wierszy, a Anna występuje w dwóch z nich. Losowane są dwa wiersze. Szansa, że Anna nie zostanie wylosowana, to 8/10 × 7/9 = 28/45, więc szansa, że znajdzie się wśród wylosowanych, wynosi 1 minus 28/45, czyli 37,8%, wobec 20% dla każdej z pozostałych osób. Szansa, że oba wylosowane wiersze to Anna, wynosi 1 do 45, czyli 2,2%. 200 000 losowań kodem narzędzia dało 37,66% i 2,18%.

Jeśli każda osoba ma wygrać najwyżej raz, usuń duplikaty przed losowaniem, np. narzędziem do sortowania wierszy.

Kilka wylosowanych pozycji i ich kolejność

Wylosowanie trzech zwycięzców naraz daje te same szanse co losowanie po jednym bez zwracania. Każdy wiersz ma szansę równą liczbie zwycięzców podzielonej przez liczbę wierszy: 3 z 20 daje 15%. Zwycięzcy są ponumerowani w kolejności, w jakiej wypadli na przetasowanej liście, a ta kolejność jest równie losowa, więc jedno losowanie wystarczy, by rozdzielić pierwszą i drugą nagrodę. Przycisk tasowania całej listy używa tego samego algorytmu i pokazuje wszystkie wiersze w nowej kolejności.

Źródła

Jak sprawdzamy narzędzia