Come generare un numero casuale compreso tra 1 e 7 con un solo dado


Migliore risposta

Oh ragazzo … come un nerd di D&D e ingegnere del software, trovo che sia così divertente domanda

Se, con tra, intendi 2-6, ritira un dado a 6 sei e ritira 1 di 1 … ma è noioso, non è vero?

Se, in mezzo, vuoi dire 1-7, puoi

  • Lopzione D&D: – richiedendo un dado atipico tirare un dado a 8 facce e ritira qualsiasi 8.
  • Lopzione XKCD: – la distribuzione irregolare 4 (come determinato dal tiro di dado equo) ( qualsiasi numero casuale compreso tra 1 e 6 è anche compreso tra 1 e 7)
  • Gli amici del sistema di amici 6 ti danno un numero e tu tiri un dado per decidere quale numero di amico utilizzerai
  • La soluzione normale e noiosa – richiedendo più tiri di dado, tirate due volte il dado, creando 36 combinazioni; usando una combinazione 7×5 per determinare un numero e una combinazione per ritirare
  • Se il secondo dado non è 6, usa il primo dado. (11-15) → 1… (61–65) → 6
  • se il secondo dado è 6, usa 7 a meno che anche il primo dado non sia un 6 (16,26,36,46,56) → 7
  • se il risultato è 66, riavvia.
  • Doppi dadi, stima la distribuzione equa. sommare il valore di due lanci con il dado 7 → 7 (6/36) 6 → 6 (5/36) 5 o 2 → 5 (5/36) 4 o 3 → 4 (5/36) 8 → 3 (5 / 36) 9 o 12 → 2 (5/36) 10 o 11 → 1 (5/36)
  • Dado singolo, distribuzione uguale tranne che per gli estremi cambia tra il lancio di {1–6} e {1–6 } +1. I numeri 2-6 avranno ciascuno la stessa possibilità, ma 1 e 7 ne avranno solo la metà.
  • Dado singolo, nessuna ripetizione. Inizia con un singolo dado, il successivo tiro di dado salterà il valore precedente.
  • Supponi di aver tirato prima un 6
  • Quindi tiri un 3. Prendi il 3 ° numero, saltando il 6 se necessario (cosa che non fai), quindi ottieni un 3
  • Quindi ottieni un 4. Prendi il 4 ° numero, saltando il 3 se necessario, cosa che fai), quindi ora ottieni un 5
  • unaltra opzione: lelenco mescolato (7 tiri di dado e un pezzo di carta)
  • annota i numeri da 1 a 7
  • per ogni tiro di numeri a muori e scambia quel numero con laltro numero (abilitando il tuo). Ad esempio
  • * 1 * 2 3 4 5 6 7. Tira un dado (è un 2), il secondo numero, saltando * 1 *, è 3 3 2 1 4 5 6 7
  • 3 * 2 * 1 4 5 6 7 Lancia un dado (è un 1), il primo numero (saltando * 2 *, ma non lo passiamo), è 3 2 3 1 4 5 6 7
  • 2 * 3 * 1 4 5 6 7 Tira un dado (è un 6), il sesto numero, saltando * 3 *, è 7 2 7 1 4 5 6 3
  • Sai di avere un elenco mescolato. Puoi decidere di
  • usare solo il primo numero
  • usare tutti i numeri che aumentano di 1 (questa è in realtà una delle mie cose preferite da fare quando ho bisogno di un tiro di dado, ma non Non voglio subire gli estremi; creo un elenco casuale di numeri e li controllo, 1 per 1)
  • usa tutti i numeri, incrementando con un tiro di dado, e ricomincio dallinizio o ne faccio un secondo elenca se arrivi alla fine

Risposta

Presumo che tu abbia bisogno di un uniformemente distribuito numero compreso tra 1 e 7 compreso. Devi dire che, poiché “random” può anche essere distribuito in molti altri modi.

Se il tuo protocollo è limitato a tirare il dado n volte, ha 6 ^ n possibili risultati distribuiti uniformemente. Ma 6 ^ n non è mai divisibile per 7, quindi non cè modo di suddividere questo spazio in sette parti di uguale dimensione.

Pertanto, qualsiasi metodo corretto per raggiungere questo obiettivo deve consentire un numero illimitato di rotoli di morire. Non è poi così male, dal momento che possiamo rendere estremamente improbabile che tu abbia bisogno di più di dieci rotoli, e ancora più improbabile che tu abbia bisogno di più di cento: possiamo fare le possibilità di aver bisogno di molti rotoli davvero, davvero piccolo. Ma non possiamo garantire che avrai finito entro mille tiri, per il motivo che ho menzionato.

Un semplice protocollo è questo: tira il dado due volte.

  • Hai sei-sei? Bummer. Riprova.
  • Hai sei e qualcosaltro? Chiamalo 7.
  • Altrimenti, chiamalo come dice il secondo tiro.

Ci sono cinque modi per ottenere ciascuno dei sette risultati, coprendo 35 dei 36 possibilità. Un risultato, un doppio sei, forza un replay: questo è lo sbocco di cui abbiamo bisogno per abilitare una sequenza di rotoli possibilmente arbitrariamente lunga. Ovviamente, la probabilità di ottenere un doppio sei dieci volte di seguito è trascurabile, per non parlare di qualcosa di più lungo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *