A legjobb válasz
Ó, fiú … D & D-nél és szoftvermérnökként ezt a mókát tartom kérdés
Ha a kettő között 2–6-ra gondolsz, 6-os hatos kockát és 1-et újra … de ez unalmas, nem igaz?
Ha köztük, 1–7-re gondol, akkor
- A D&D opció: – atipikus szerszámot igényel 8 oldalú szerszámot gördít, és bármelyik 8. újratekerése.
- Az XKCD opció: – az egyenetlen eloszlás 4 (a fair die roll szerint meghatározva) ( bármilyen véletlenszerű szám 1–6 között szintén 1–7 között van.)
- A haver rendszer 6 haver ad számot, és te dobsz egy kockát, hogy eldöntsd, melyik haver számát fogod használni
- A normális, unalmas megoldás – amely több, sőt dierollt igényel, kétszer tekeri a szerszámot, 36 kombinációt hozva létre; 7×5 kombinációval szám elriasztására, és 1 kombinációval az újratekerésre
- Ha a második szerszám nem 6, akkor használd az első szerszámot. (11–15) → 1… (61–65) → 6
- ha a második szerszám 6, használjon 7-et, hacsak az első szerszám sem 6 (16,26,36,46,56) → 7
- ha az eredmény 66, indítsa újra.
- Dupla kocka, Becsülje meg az egyenlő eloszlást. add hozzá két tekercs értékét a 7 → 7 (6/36) 6 → 6 (5/36) 5 vagy 2 → 5 (5/36) 4 vagy 3 → 4 (5/36) 8 → 3 (5 / 36) 9 vagy 12 → 2 (5/36) 10 vagy 11 → 1 (5/36)
- Egyetlen szerszám, egyenlő eloszlású, kivéve a szélsőségeket, a gördülő {1–6} és az {1–6 között } +1. A 2 – 6 számok mindegyike egyenlő eséllyel rendelkezik, de az 1 és 7 csak a felével.
- Egyetlen meghalás, nincs ismétlés. Kezdje egyetlen kockával, a következő kockadobás kihagyja az előző értéket.
- Tegyük fel, hogy először dobott egy 6-ot
- Ezután dob egy 3-at. A 3. számot veszi át, kihagyva a 6, ha szükséges (amit nem), így kapsz egy 3-ot
- Ezután dobsz egy 4-est. Vedd a 4. számot, szükség esetén kihagyva a 3-at, amit csinálsz), így most kapsz egy 5
- másik lehetőség: az összekevert lista (7 darabos tekercs és egy darab papír)
- írja le az 1–7 számokat
- minden egyes tekercsre a halj meg, és váltsd át ezt a számot a másik számra (a sajátod képzése). Például
- * 1 * 2 3 4 5 6 7. Hengereljen meg egy kockát (ez egy 2-es), a második szám, kihagyva az * 1 * -ot, 3 3 2 1 4 5 6 7
- 3 * 2 * 1 4 5 6 7 Hajtson egy kockát (ez 1), az első szám (kihagyva * 2 *, de nem adjuk át) 3 2 3 1 4 5 6 7
- 2 * 3 * 1 4 5 6 7 dobjon egy kockát (ez egy 6-os), a hatodik szám, kihagyva a * 3 * -ot, 7 2 7 1 4 5 6 3
- …
- Tudod, hogy van egy összekevert listád. Dönthet úgy, hogy
- csak az első számot használja
- az összes számot 1-gyel növekszik (ez valójában az egyik legkedveltebb tennivalóm, amikor szerszámra van szükségem, de ne nem akarok szélsőségeket elszenvedni; véletlenszerű listát készítek a számokról, és leellenőrzöm őket, 1-re 1-re) listázza, ha a végére ér
Válasz
Feltételezem, hogy szüksége van egy egységesen elosztott szám 1 és 7 között. Ezt el kell mondanod, mivel a „random” sok más módon is terjeszthető.
Ha a protokollod arra korlátozódik, hogy a kockát n-szer gördítsd, akkor annak 6 ^ n egységesen elosztott lehetséges eredménye van. De a 6 ^ n soha nem osztható 7-gyel, így nincs mód arra, hogy ezt a teret hét azonos méretű részre ossza fel.
Ezért ennek eléréséhez minden helyes módszernek lehetővé kell tennie a korlátlan számú tekercset a meghal. Ez nem is olyan rossz, mivel rendkívül valószínűtlenné tehetjük, hogy tíznél több tekercsre lesz szükségünk, és még valószínűtlenebb, hogy több mint százra lesz szükségünk: valóban, tényleg megtehetjük annak esélyét, hogy sok tekercsre lesz szükségünk kicsi. De az általam említett okból nem garantálhatjuk, hogy ezer tekercsen belül végez.
Egy egyszerű protokoll a következő: dobja meg a kockát kétszer.
- Megvan hat-hat? Dőzsölés. Próbálja újra.
- Van hat, bármi más? Hívja ezt 7-nek.
- Ellenkező esetben hívja, bármit is mondjon a második tekercs.
A hét kimenet mindegyikének ötféle módja van, a 35-ből 36 lehetőségeket. Az egyik eredmény, a dupla hatos visszajátszást kényszerít – erre van szükségünk egy tetszőlegesen hosszú tekercssorozat engedélyezéséhez. Természetesen elhanyagolható annak valószínűsége, hogy tízszer egymás után tízszer kapsz duplát, nemhogy ennél hosszabbat.