Il tempo impiegato per colpire un modello di teste e code in una serie di lanci di monete


26

Ispirato al discorso di Peter Donnelly al TED , in cui discute il tempo necessario affinché un certo schema appaia in una serie di lanci di monete, ho creato il seguente copione in R. Dato due schemi 'hth' e 'htt', calcola in media quanto tempo impiega (ovvero quante lanci di monete) prima di colpire uno di questi schemi.

coin <- c('h','t')

hit <- function(seq) {
    miss <- TRUE
    fail <- 3
    trp  <- sample(coin,3,replace=T)
    while (miss) {
        if (all(seq == trp)) {
            miss <- FALSE
        }
        else {
            trp <- c(trp[2],trp[3],sample(coin,1,T))
            fail <- fail + 1
        }
    }
    return(fail)
}

n <- 5000
trials <- data.frame("hth"=rep(NA,n),"htt"=rep(NA,n))

hth <- c('h','t','h')
htt <- c('h','t','t')

set.seed(4321)
for (i in 1:n) {
    trials[i,] <- c(hit(hth),hit(htt))    
}
summary(trials)

Le statistiche riassuntive sono le seguenti,

      hth             htt        
 Min.   : 3.00   Min.   : 3.000  
 1st Qu.: 4.00   1st Qu.: 5.000  
 Median : 8.00   Median : 7.000  
 Mean   :10.08   Mean   : 8.014  
 3rd Qu.:13.00   3rd Qu.:10.000  
 Max.   :70.00   Max.   :42.000 

Nel discorso si spiega che il numero medio di lanci di monete sarebbe diverso per i due schemi; come si può vedere dalla mia simulazione. Nonostante abbia guardato il discorso alcune volte, non riesco ancora a capire perché questo sarebbe il caso. Capisco che "hth" si sovrappone e intuitivamente penserei che tu colpiresti "hth" prima di "htt", ma non è così. Lo apprezzerei davvero se qualcuno potesse spiegarmelo.

Risposte:


32

Pensa a cosa succede la prima volta che ottieni una H seguita da una T.

Caso 1: stai cercando HTH e hai visto HT per la prima volta. Se il prossimo lancio è H, il gioco è fatto. Se è T, sei tornato al punto di partenza: poiché gli ultimi due lanci erano TT, ora hai bisogno dell'HTH completo.

Caso 2: stai cercando HTT e hai visto HT per la prima volta. Se il prossimo lancio è T, il gioco è fatto. Se è H, questo è chiaramente un contrattempo; tuttavia, è minore poiché ora hai la H e hai solo bisogno di -TT. Se il prossimo lancio è H, questo non peggiora la tua situazione, mentre T la migliora, e così via.

Detto in altro modo, nel caso 2 la prima H che vedi ti porta 1/3 del percorso, e da quel momento in poi non devi mai ricominciare da zero. Questo non è vero nel caso 1, in cui un TT cancella tutti i progressi che hai fatto.


Ohh, quindi in questo scenario il lancio della moneta non si ferma quando vince uno schema! Ciò ha senso. Questo mi ha confuso per un po '(non ho visto il discorso TED), quindi ho pensato di commentare per aiutare gli altri che avrebbero potuto pensare la stessa cosa.

15

Supponi di lanciare la moneta volte e di contare il numero di volte che vedi uno schema "HTH" (comprese le sovrapposizioni). Il numero previsto è . Ma è anche per "HTT". Poiché può sovrapporsi a se stesso e "HTT" no, ci si aspetterebbe un maggiore raggruppamento con "HTH", che aumenta il tempo previsto per la prima comparsa di . n n H T H H T H8n+2nnHTHHTH

Un altro modo di vederlo è che dopo aver raggiunto "HT", una "T" riporterà "HTH" all'inizio, mentre una "H" inizierà i progressi verso un possibile "HTT".

Puoi calcolare i due tempi previsti usando l'algoritmo di Conway [penso], osservando le sovrapposizioni: se i primi lanci del modello corrispondono all'ultimo , quindi aggiungi . Quindi per "HTH" ottieni come aspettativa e per "HTT" ottieni , confermando la tua simulazione.k 2 k 2 + 0 + 8 = 10 0 + 0 + 8 = 8kk2k2+0+8=100+0+8=8

La stranezza non si ferma qui. Se hai una corsa tra i due modelli, hanno la stessa probabilità di apparire per primo e il tempo previsto fino a quando uno di essi appare è (uno in più del tempo previsto per ottenere "HT", dopodiché uno di essi deve apparire) . 5

Peggio ancora: nel gioco di Penney scegli uno schema per correre e poi ne scelgo un altro. Se scegli "HTH", sceglierò "HHT" e avrò la probabilità di vincere 2: 1; se scegli "HTT", sceglierò di nuovo "HHT" e avrò ancora probabilità 2: 1 a mio favore. Ma se scegli "HHT" allora sceglierò "THH" e avrò probabilità 3: 1. Il secondo giocatore può sempre influenzare le probabilità e le scelte migliori non sono transitive.


+1 Grazie per il link al gioco di Penney; altre notti insonni :)
lafrasu,

Caro Henry, ho posto una domanda simile su questo sito e mi è stato detto di cercare una risposta qui. Ho guardato il gioco di Penney, ma ancora non riesco a risolvere il mio problema. Qualsiasi aiuto sarà apprezzato.
superAnnoyingUser

14

Mi piace disegnare immagini.

inserisci qui la descrizione dell'immagine

Questi diagrammi sono automi a stati finiti (FSA). Sono piccoli giochi per bambini (come scivoli e scale ) che "riconoscono" o "accettano" le sequenze HTT e HTH, rispettivamente, spostando un gettone da un nodo all'altro in risposta al lancio delle monete. Il token inizia nel nodo superiore, indicato da una freccia (linea i ). Dopo ogni lancio della moneta, il gettone viene spostato lungo il bordo etichettato con il risultato di quella moneta (H o T) su un altro nodo (che chiamerò rispettivamente "nodo H" e "nodo T"). Quando il token atterra su un nodo terminale (nessuna freccia in uscita, indicato in verde) il gioco termina e l'FSA ha accettato la sequenza.

Pensa a ogni FSA come a progredire verticalmente lungo una traccia lineare. Lanciare la sequenza "giusta" di teste e code fa avanzare il token verso la sua destinazione. Lanciare un valore "errato" causa il backup del token (o almeno si ferma). Il token esegue il backup allo stato più avanzato corrispondente ai lanci più recenti. Ad esempio, l'HTT FSA alla linea ii rimane messo alla linea ii quando vede una testa, perché quella testa potrebbe essere la sequenza iniziale di un eventuale HTH. Essa non andare fino in fondo di nuovo all'inizio, perché sarebbe effettivamente ignorare questo ultimo capo del tutto.

Dopo aver verificato che questi due giochi corrispondono effettivamente a HTT e HTH come affermato, e confrontandoli riga per riga, e ora dovrebbe essere ovvio che HTH è più difficile da vincere . Differiscono nella loro struttura grafica solo sulla linea iii , dove una H riporta HTT alla linea ii (e una T accetta) ma, in HTH, una T ci riporta alla linea i (e una H accetta). La penalità alla linea iii nel giocare a HTH è più severa della penalità nel giocare a HTT.

Questo può essere quantificato. Ho etichettato i nodi di questi due FSA con il numero previsto di lanci necessari per l'accettazione. Chiamiamo questi nodi "valori". L'etichettatura inizia da

(1) scrivendo il valore ovvio di 0 nei nodi di accettazione.

Lascia che la probabilità delle teste sia p (H) e la probabilità delle code sia 1 - p (H) = p (T). (Per una moneta giusta, entrambe le probabilità equivalgono a 1/2.) Poiché ogni lancio di moneta aggiunge uno al numero di lanci,

(2) il valore di un nodo è uguale a uno più p (H) volte il valore del nodo H più p (T) volte il valore del nodo T.

Queste regole determinano i valori . È un esercizio rapido e informativo per verificare che i valori etichettati (supponendo una moneta giusta) siano corretti. Ad esempio, considerare il valore per HTH alla riga ii . La regola dice che 8 deve essere 1 in più rispetto alla media di 8 (il valore del nodo H sulla linea i ) e 6 (il valore del nodo T sulla linea iii ): abbastanza sicuro, 8 = 1 + (1/2) * 8 + (1/2) * 6. È possibile controllare altrettanto facilmente i restanti cinque valori nell'illustrazione.


L'approccio FSA è un ottimo modo per analizzare Penney's Game (nella risposta di @Henry). I valori sono etichettati in modo leggermente diverso: l'FSA ora ha un nodo accettante per modello. Per trovare la possibilità di vincere il tuo pattern, etichetta il suo nodo accettante con 1 e tutti gli altri nodi accettanti con 0. Il valore in qualsiasi altro nodo è uguale alla media dei valori dei suoi nodi H e T. Il valore del nodo iniziale (unico) è la possibilità di vincere.
whuber

Trovo la tua immagine utile e intuitiva, @whuber, ma non seguo del tutto le regole per l'assegnazione dei numeri ai nodi. Ad esempio, il tuo esempio utilizza 1 + (1/2) * 10 + (1/2) * 6. Non dovrebbe essere 9? Dal momento che ho capito che li compili avviando w / sul nodo terminale, potrebbe essere più facile seguire se il tuo esempio fosse come ottenere il # per il nodo iii, dato iv = 0. 0
gung - Ripristina Monica

@gung Grazie per averlo colto. Ho risolto l'esempio. Tuttavia, c'è un errore di battitura nella figura: sembra che il valore di HTT alla riga iii dovrebbe essere 4, anziché 2.
whuber

4

Alcune grandi risposte. Vorrei prendere una virata leggermente diversa e affrontare la questione della contro-intuitività. (Sono abbastanza d'accordo, BTW)

Ecco come lo capisco. Immagina una colonna di risultati casuali di lancio di monete sequenziali stampati su un nastro di carta, costituito dalle lettere "H" e "T".

Strappare arbitrariamente una sezione di questo nastro e fare una copia identica.

Su un determinato nastro, la sequenza HTH e la sequenza HTT si verificano ciascuna con frequenza, se il nastro è abbastanza lungo.

Ma a volte le istanze HTH verranno eseguite insieme, ovvero HTHTH. (o anche molto occasionalmente HTHTHTH)

Questa sovrapposizione non può avvenire con istanze HTT.

Usa un evidenziatore per individuare le "strisce" di risultati positivi, HTH su un nastro e HTT sull'altro. Alcune strisce HTH saranno più corte a causa della sovrapposizione. Di conseguenza, gli spazi tra loro, in media, saranno leggermente più lunghi rispetto all'altro nastro.

È un po 'come aspettare un autobus, quando in media ce n'è uno ogni cinque minuti. Se gli autobus sono autorizzati a sovrapporsi, l'intervallo sarà in media leggermente più lungo di cinque minuti, perché qualche volta due passeranno insieme.

Se arrivate in un momento arbitrario, dovrete aspettare un po 'più a lungo il prossimo (a voi, il primo) autobus, in media, se possono sovrapporsi.


2

Stavo cercando l'intuizione per questo nel caso intero (mentre sto frugando in Intro. Di Probability Models di Ross). Quindi stavo pensando a casi interi. Ho trovato che questo mi ha aiutato:

A

B

A=BP(AB~)=0

ABP(AB~)0

Quindi, lasciami immaginare che ho la possibilità di finire il modello sul prossimo sorteggio. Traccio il simbolo successivo e non finisce il motivo. Nel caso in cui il mio motivo non si sovrapponga, il simbolo disegnato potrebbe ancora permettermi di ricominciare a costruire il motivo dall'inizio.

Nel caso di una sovrapposizione, un simbolo di cui avevo bisogno per completare il mio modello parziale era lo stesso del simbolo di cui avrei bisogno per iniziare la ricostruzione. Quindi neanche io posso farlo, e quindi dovrò sicuramente aspettare fino al prossimo sorteggio per poter ricominciare a costruire.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.