- Uprawnione wpisy
- Web Crypto: bezpieczna losowa wartość
- Próbkowanie z odrzucaniem: nieobciążone mapowanie
- Wybrany zwycięzca
- Koło animuje
- Pokazany wynik
Jak działa losowe koło?
Cyfrowe losowe koło łączy pulę uprawnionych wpisów, źródło losowości i sposób mapowania losowej wartości na wpis. Wybiera wynik i zazwyczaj wyświetla obracające się koło jako wizualne ujawnienie. Na przykład pula czterech opcji potrzebuje selekcji wskazującej na jeden z tych czterech wpisów.
Różne witryny z kołami mogą używać różnych algorytmów i ustawień. Poniższe sekcje opisują bieżący Silnik Koła Wheelofnames; nie ustalają, jak działa każde koło online.
Jak Wheelofnames wybiera zwycięzcę
Wheelofnames wybiera spośród aktywnych wpisów przed uruchomieniem animacji koła. Animacja następnie przenosi wybrany wpis do wskaźnika.
Krok 1: Budowanie puli uprawnionych wpisów
Silnik weryfikuje wpisy i uwzględnia tylko te aktualnie aktywne. Wyłączone lub wykluczone wpisy nie uczestniczą. Każdy uprawniony wpis ma swoje własne ID, nawet gdy dwa wpisy wyświetlają tę samą nazwę lub opcję. Pusta pula uprawnionych wpisów powoduje błąd zamiast zwycięzcy.
Krok 2: Generowanie bezpiecznej losowej wartości
Interfejs API Web Crypto przeglądarki dostarcza losową wartość przez crypto.getRandomValues(). Wheelofnames żąda 32-bitowej wartości bez znaku do selekcji. Ścieżka wyboru zwycięzcy nie używa Math.random().
Krok 3: Mapowanie losowej wartości bez błędu modulo
Zakres liczb losowych może nie dzielić się równomiernie przez liczbę wpisów. Mapowanie każdej wartości bezpośrednio za pomocą operacji reszty może dawać niektórym indeksom wpisów nieco większą reprezentację. Nazywa się to błędem modulo lub błędem mapowania. Wheelofnames używa próbkowania z odrzucaniem: odrzuca nierówny zakres pozostałości i żąda innej wartości przed mapowaniem na wpis. Zapobiega to stronniczości konwersji.
Krok 4: Wybór zwycięskiego wpisu
Wynikowy indeks identyfikuje jeden wpis w puli uprawnionych. Silnik przechowuje ten wpis jako oczekującego zwycięzcę i oblicza obrót potrzebny do przeniesienia jego sekcji do wskaźnika.
Krok 5: Animacja koła do zwycięzcy
Koło przesuwa się w kierunku obliczonego obrotu. Po zakończeniu silnik sprawdza, czy wskaźnik odpowiada wybranemu wpisowi, a następnie wyświetla jego etykietę w panelu wyników. Widoczny obrót ujawnia już dokonany wybór.
Czy Wheelofnames jest naprawdę losowe?
Wheelofnames używa przeglądarki Web Crypto i próbkowania z odrzucaniem do wyboru spośród uprawnionych wpisów. Zwycięzca jest określany przed animacją koła. Zapewnia to losowy wybór oparty na bezpiecznym źródle losowym przeglądarki, ale nie opisujemy tego jako certyfikowanego lub doskonale losowego.
Dlaczego Wheelofnames używa Web Crypto?
Math.random() to ogólna pseudolosowa funkcja. Web Crypto dostarcza wartości losowe przeznaczone do silniejszych zastosowań wrażliwych na bezpieczeństwo, więc jest to źródło używane przez naszą implementację selekcji. Nie oznacza to, że każde użycie Math.random jest automatycznie nieuczciwe; źródło i mapowanie to oddzielne części procesu selekcji.
Co to jest próbkowanie z odrzucaniem?
Próbkowanie z odrzucaniem zachowuje część zakresu liczb losowych, która równomiernie dzieli się między opcje. Wartości w nierównej pozostałości są odrzucane i żądana jest inna wartość. Zaakceptowane wartości mogą następnie równomiernie mapować się na wpisy.
Czy każdy wpis ma równą szansę?
W bieżącym Silniku Koła Wheelofnames, każdy uprawniony wpis ma równą wagę. Przy N uprawnionych wpisach, szansa na jeden wpis wynosi 1 / N. Jeśli każda etykieta pojawia się raz, jest to również szansa dla każdej etykiety. Wyłączone wpisy nie uczestniczą.
| Uprawnione wpisy | Szansa na jeden wpis |
|---|---|
| 2 | 50% |
| 4 | 25% |
| 5 | 20% |
| 10 | 10% |
Czy zduplikowane imiona lub opcje zmieniają prawdopodobieństwo?
Tak. Zduplikowane etykiety to oddzielne uprawnione wpisy z oddzielnymi ID. Każdy indywidualny wpis otrzymuje taką samą szansę, ale etykieta pojawiająca się więcej niż raz ma większą łączną reprezentację. Jest to widoczna konsekwencja powtórzonych wpisów, a nie ukryta funkcja ważenia.
Panel A: unikalne etykiety
A | B | C | D
Każdy indywidualny wpis: 25%.
Każda etykieta: 25%.
Panel B: zduplikowane A
A | A | B | C
Każdy indywidualny wpis: 25%.
Łączne etykiety: A 50%, B 25%, C 25%.
Dlaczego ten sam zwycięzca może pojawić się dwa razy?
Losowe nie oznacza naprzemiennego. Niezmieniona pula uprawnionych może wybrać ten sam wpis lub etykietę przy późniejszych obrotach. Na przykład A → A → C → A to możliwa ilustracyjna sekwencja. Powtórzenie samo w sobie nie wskazuje, że selekcja jest nieuczciwa.
Czy poprzedni obrót zmienia następny obrót?
Nie sam przez siebie w bieżącym Silniku Koła. Selekcja nie konsultuje historii wyników, a poprzedni zwycięzca nie sprawia, że inny wpis jest “należny”. Obróć Ponownie używa bieżącej puli uprawnionych. Usunięcie lub wyłączenie wpisu zmienia tę pulę i dlatego zmienia późniejsze prawdopodobieństwa.
Czy animacja koła wybiera zwycięzcę?
Nie, nie w Wheelofnames. Żądanie obrotu najpierw wybiera zwycięzcę i oblicza ostateczny obrót. Koło następnie animuje, a wskaźnik ujawnia wybrany wpis. Czas trwania animacji i wizualny ruch nie wybierają innego zwycięzcy. Inne witryny mogą działać inaczej.
Czy losowe koło może być sfałszowane?
Cyfrowe koło może używać algorytmów, ustawień lub ukrytego zachowania wpływającego na wyniki. Uczciwość powinna być oceniana na podstawie rzeczywistej implementacji i konfiguracji, a nie samego wyglądu. Przekonująca animacja nie jest dowodem na nieobciążony proces selekcji.
Co może zmienić twoje szanse na losowym kole?
Pula uprawnionych określa, które wpisy uczestniczą. Zmiany jej rozmiaru lub reprezentacji etykiety mogą zmienić szanse; poprzedni wynik lub animacja ujawnienia nie zmieniają selekcji same przez siebie.
| Zmiana | Efekt |
|---|---|
| Dodaj aktywny unikalny wpis | Zwiększa rozmiar puli uprawnionych; udział każdego uprawnionego wpisu wynosi 1 podzielone przez nowy łączny. |
| Dodaj aktywną zduplikowaną etykietę | Zwiększa łączną reprezentację tej etykiety i łączny uprawnionych. |
| Wyłącz wpis | Wyklucza ten wpis; pozostałe szanse zależą od nowej puli uprawnionych. |
| Usuń wpis | Zmienia pulę uprawnionych, jeśli ten wpis był aktywny. |
| Tylko poprzedni wynik | Brak automatycznej zmiany prawdopodobieństwa. |
| Animacja wizualna | Nie wybiera zwycięzcy w implementacji Wheelofnames. |
Przykłady prawdopodobieństwa losowego koła
Dwa wpisy
A / B: dwa unikalne uprawnione wpisy, więc każdy ma szansę 1/2 = 50%.
Cztery wpisy
A / B / C / D: cztery unikalne uprawnione wpisy, więc każdy ma szansę 1/4 = 25%.
Przykład duplikatu
A / A / B / C: każdy indywidualny wpis ma 25% szansy. Łączna etykieta A ma 2/4 = 50%; B i C mają po 25%.
Po usunięciu wpisu
A / B / C / D → usuń D → A / B / C. Jeśli wszystkie pozostałe wpisy są aktywne i równe, każdy ma szansę 1/3 ≈ 33,33%. Usunięcie D zmieniło mianownik z czterech na trzy.
Jak używać losowego koła sprawiedliwie
- Sprawdź wpisy przed obrotem.
- Usuń przypadkowe duplikaty.
- Potwierdź, które wpisy są aktywne.
- Uzgodnij, czy zwycięzcy pozostają uprawnieni czy są usuwani.
- Nie zmieniaj cicho puli podczas selekcji.
- Wyjaśnij zasady przed użyciem wyników tam, gdzie sprawiedliwość ma znaczenie.
Najczęściej zadawane pytania
Jak działa losowe koło?
Cyfrowe koło buduje pulę uprawnionych, generuje losową wartość i mapuje ją na wpis. W Wheelofnames, zwycięzca jest wybierany przed uruchomieniem animacji koła.
Czy Wheelofnames jest naprawdę losowe?
Wheelofnames używa Web Crypto przeglądarki i próbkowania z odrzucaniem do wyboru zwycięzcy przed animacją. Nie opisujemy tego jako certyfikowanego lub doskonale losowego.
Dlaczego ten sam zwycięzca może zostać wybrany dwa razy?
Losowe nie oznacza naprzemiennego. Niezmieniony uprawniony wpis może zostać wybrany na kolejnych obrotach. Poprzedni wynik nie wyklucza wpisu z kolejnej selekcji w bieżącym silniku.
Czy duplikaty zmieniają szanse?
Tak. Zduplikowane etykiety to oddzielne wpisy. Etykieta pojawiająca się dwa razy ma podwojoną łączną reprezentację wśród uprawnionych wpisów.
Czy animacja koła decyduje o wyniku?
Nie w Wheelofnames. Zwycięzca jest wybierany przed animacją. Widoczny obrót ujawnia wcześniej dokonany wybór.
Co to jest modulo bias?
Błąd mapowania, gdy zakres liczb losowych nie dzieli się równomiernie przez liczbę wyborów. Wheelofnames używa próbkowania z odrzucaniem, aby temu zapobiec.
