Jak wygenerować losową liczbę od 1 do 7 za pomocą tylko kostki


Najlepsza odpowiedź

O rany… jako nerd D & D i inżynier oprogramowania, uważam to za zabawę pytanie

Jeśli mówiąc pomiędzy, masz na myśli 2–6, przerzuć 6-szóstkową kostką i przerzuć 1… ale to jest nudne, prawda?

Jeśli pomiędzy, masz na myśli 1–7, możesz

  • Opcja D&D: – wymaganie nietypowej kostki rzucić kostką ośmiościenną i przerzucić dowolne 8.
  • Opcja XKCD: – nierówna dystrybucja 4 (na podstawie sprawiedliwego rzutu kością) ( dowolna liczba losowa od 1 do 6 wynosi również od 1 do 7)
  • System kumpli 6 kumpli daje ci liczbę i rzucasz kostką, aby zdecydować, którego numeru kumpla użyjesz
  • Normalne, nudne rozwiązanie – wymagające wielokrotnego, nawet dierollowego rzutu kostką dwa razy, tworząc 36 kombinacji; użycie kombinacji 7×5 do odstraszenia liczby i 1 kombinacji do przerzucenia
  • Jeśli na drugiej kości nie ma 6, użyj pierwszej kości. (11-15) → 1… (61-65) → 6
  • jeśli druga kość to 6, użyj 7, chyba że pierwsza kość również to 6 (16,26,36,46,56) → 7
  • jeśli wynik to 66, uruchom ponownie.
  • Podwójne kości, oszacuj równy rozkład. dodaj wartość dwóch rzutów kostką 7 → 7 (6/36) 6 → 6 (5/36) 5 lub 2 → 5 (5/36) 4 lub 3 → 4 (5/36) 8 → 3 (5 / 36) 9 lub 12 → 2 (5/36) 10 lub 11 → 1 (5/36)
  • Pojedyncza kość, równy rozkład, z wyjątkiem ekstremów, przełączanie między rzutami {1–6} i {1–6 } +1. Liczby od 2 do 6 będą miały równe szanse, ale 1 i 7 będą miały tylko połowę.
  • Pojedyncza kość, bez powtórzeń. Zacznij od pojedynczej kości, następny rzut pominie poprzednią wartość.
  • Załóżmy, że najpierw wyrzuciłeś 6.
  • Następnie wyrzuciłeś 3. Bierzesz trzecią liczbę, pomijając 6 w razie potrzeby (czego nie robisz), więc otrzymujesz 3
  • Następnie wyrzucasz 4. Bierzesz czwartą liczbę, pomijając 3 w razie potrzeby, co robisz), więc teraz otrzymujesz 5
  • inna opcja: potasowana lista (7 rzutów kostką i kartka papieru)
  • zapisz liczby 1–7
  • dla każdego rzutu liczbowego umrzeć i zamienić tę liczbę na inną (umiejętność twoją). Na przykład
  • * 1 * 2 3 4 5 6 7. Rzuć kostką (to jest 2), druga liczba, pomijając * 1 *, to 3 3 2 1 4 5 6 7
  • 3 * 2 * 1 4 5 6 7 Rzuć kostką (to jest 1), pierwsza liczba (pomijamy * 2 *, ale jej nie przekazujemy) to 3 2 3 1 4 5 6 7
  • 2 * 3 * 1 4 5 6 7 Rzuć kostką (to jest 6), szósta liczba, pomijając * 3 *, to 7 2 7 1 4 5 6 3
  • Wiesz, że masz przetasowaną listę. Możesz zdecydować, aby
  • użyć tylko pierwszej liczby
  • użyć wszystkich liczb zwiększających się o 1 (jest to właściwie jedna z moich ulubionych rzeczy do zrobienia, gdy potrzebuję rzutu kostką, ale nie rób tego nie chcę cierpieć z powodu skrajności; tworzę losową listę liczb i zaznaczam je, 1 na 1)
  • używam wszystkich liczb, zwiększając je za pomocą rzutu kostką i albo rozpoczynam od początku, albo robię sekundę lista, jeśli dotrzesz do końca

Odpowiedź

Zakładam, że potrzebujesz równomiernie rozmieszczonych liczba od 1 do 7 włącznie. Musisz to powiedzieć, ponieważ „losowy” może być również dystrybuowany na wiele innych sposobów.

Jeśli twój protokół ogranicza się do rzutu kostką n razy, ma 6 ^ n równomiernie rozłożonych możliwych wyników. Ale 6 ^ n nigdy nie jest podzielne przez 7, więc nie ma możliwości podzielenia tej przestrzeni na siedem części o jednakowej wielkości.

Dlatego każda poprawna metoda osiągnięcia tego musi umożliwiać nieograniczoną liczbę rzutów umierać. To nie jest takie złe, ponieważ możemy sprawić, że będzie bardzo mało prawdopodobne, że będziesz potrzebować więcej niż dziesięciu rolek, a jeszcze bardziej nieprawdopodobne, że będziesz potrzebować więcej niż sto: możemy naprawdę zwiększyć szanse, że będziesz potrzebować wielu rolek. mały. Ale nie możemy zagwarantować, że wykonasz w ciągu tysiąca rzutów, z powodu, o którym wspomniałem.

Jeden prosty protokół jest taki: rzuć kostką dwa razy.

  • Masz sześć do sześciu? Porażka. Spróbuj ponownie.
  • Masz sześć – cokolwiek – jeszcze? Nazwij to 7.
  • W przeciwnym razie nazwij to cokolwiek mówi drugi rzut.

Istnieje pięć sposobów uzyskania każdego z siedmiu wyników, obejmujących 35 z 36 możliwości. Jeden wynik, podwójna szóstka, wymusza powtórkę – to wyjście, którego potrzebujemy, aby umożliwić dowolnie długą sekwencję rzutów. Oczywiście prawdopodobieństwo, że otrzymasz podwójne sześć dziesięć razy z rzędu, jest znikome, nie mówiąc już o czymś dłuższym.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *