Jak vygenerovat náhodné číslo mezi 1 – 7 pouze s kostkou


Nejlepší odpověď

Ach, chlapče … jako šprýmaře a softwarového inženýra D&D, to považuji za TAKOVOU zábavu otázka

Pokud mezitím máte na mysli 2–6, opakujte šestou šestku a opakujte 1 … ale to je nuda, že?

Pokud mezi, máte na mysli 1–7, můžete

  • Možnost D&D: – vyžadující atypickou kostku hodit 8strannou kostku a reroll any 8.
  • Možnost XKCD: – nerovnoměrné rozdělení 4 (jak je určeno poctivou rolí) ( jakékoli náhodné číslo mezi 1–6 je také mezi 1–7)
  • Buddy systém 6 kamarádů vám dá číslo a hodíte kostkou, abyste rozhodli, které číslo kamaráda použijete
  • Normální, nudné řešení – vyžadující vícenásobné, dokonce i dierollové válcování dvakrát, čímž vznikne kombinace 36; použití kominace 7×5 k odradení čísla a 1 kombinace k opětovnému použití
  • Pokud druhá kostka není 6, použijte první kostku. (11–15) → 1… (61–65) → 6
  • pokud je druhá kostka 6, použijte 7, pokud první kostka také není 6 (16,26,36,46,56) → 7
  • pokud je výsledek 66, restartujte.
  • Dvojité kostky, odhadněte rovnoměrné rozdělení. přidejte hodnotu dvou rolí s matricí 7 → 7 (6/36) 6 → 6 (5/36) 5 nebo 2 → 5 (5/36) 4 nebo 3 → 4 (5/36) 8 → 3 (5 / 36) 9 nebo 12 → 2 (5/36) 10 nebo 11 → 1 (5/36)
  • Jednoduchá matrice, rovnoměrné rozdělení kromě extrémů přepínání mezi válcováním {1–6} a {1–6 } +1. Čísla 2 – 6 budou mít stejnou šanci, ale 1 a 7 budou mít pouze polovinu.
  • Jedna kostka, žádná opakování. Začněte s jednou kostkou, další kostka kostky přeskočí předchozí hodnotu.
  • Předpokládejme, že jste nejdříve hodili šestku.
  • Poté hodíte 3. Vyberete 3. číslo a přeskočíte 6, pokud je to potřeba (což ne), takže dostanete 3
  • Pak hodíte 4. Vezmete 4. číslo, pokud je to nutné, přeskočíte 3, takže uděláte) 5
  • další možnost: zamíchaný seznam (7 rohlíků a kousek papíru)
  • zapište čísla 1–7
  • pro každou roli zemři a přepni toto číslo na druhé (skill your). Například
  • * 1 * 2 3 4 5 6 7. Hod kostkou (je to 2), druhé číslo, přeskočené * 1 *, je 3 3 2 1 4 5 6 7
  • 3 * 2 * 1 4 5 6 7 Hod kostkou (je to 1), první číslo (přeskočení * 2 *, ale neprocházíme), je 3 2 3 1 4 5 6 7
  • 2 * 3 * 1 4 5 6 7 Hod kostkou (je to 6), šesté číslo, přeskočení * 3 *, je 7 2 7 1 4 5 6 3
  • Víte, že máte zamíchaný seznam. Můžete se rozhodnout
  • použít pouze první číslo
  • použít všechna čísla zvyšující se o 1 (to je vlastně jedna z mých oblíbených věcí, které mám dělat, když potřebuji kostku, ale ne Nechci trpět extrémy; vytvořím náhodný seznam čísel a zkontroluji je, 1 na 1)
  • použiji všechna čísla, zvyšují se o kostku a buď restartuji na začátku, nebo udělám sekundu seznam, pokud dojdete na konec

odpověď

Předpokládám, že potřebujete rovnoměrně rozloženo číslo mezi 1 a 7 včetně. Musíte to říci, protože „random“ lze distribuovat také mnoha jinými způsoby.

Pokud je váš protokol omezen na postupování n krát, má 6 ^ n rovnoměrně distribuovaných možných výsledků. Ale 6 ^ n není nikdy dělitelné 7, takže neexistuje způsob, jak rozdělit tento prostor na sedm částí stejné velikosti.

Proto jakákoli správná metoda k dosažení tohoto cíle musí umožňovat neomezený počet rolí zemřít. To není tak špatné, protože je velmi nepravděpodobné, že budete potřebovat více než deset rolí, a ještě nepravděpodobnější, že budete potřebovat více než stovku: můžeme si vytvořit šanci, že budete potřebovat mnoho rolí opravdu, opravdu malý. Ale z toho důvodu, který jsem zmínil, nemůžeme zaručit, že budete hotovi do tisíce rolí.

Jeden jednoduchý protokol je tento: hodte kostkou dvakrát.

  • Máte šest šest? Bummer. Zkuste to znovu.
  • Máte šest – cokoli jiného? Říkejte tomu 7.
  • Jinak tomu říkejte, co říká druhý hod.

Existuje pět způsobů, jak získat každý ze sedmi výsledků, pokrývající 35 z 36 možnosti. Jeden výsledek, dvojitá šestka, si vynutí opakování – to je výstup, který potřebujeme, abychom umožnili libovolně dlouhou sekvenci rolí. Pravděpodobnost, že se vám zdvojnásobí šestkrát desetkrát za sebou, je samozřejmě zanedbatelná, natož pak déle.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *