Hogyan lehet véletlen számot generálni 1 és 7 között, csak egy szerszámmal


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.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük