Il metodo che descrivi per generalizza. Usiamo che tutte le permutazioni di sono ugualmente probabili anche con un dado distorto (poiché i rotoli sono indipendenti). Quindi, possiamo continuare a rotolare fino a quando non vediamo una tale permutazione come gli ultimi rotoli e l'output dell'ultimo tiro.[ 1 .. N ] NN=2[1..N]N
Un'analisi generale è complicata; è chiaro, tuttavia, che il numero atteso di tiri cresce rapidamente in poiché la probabilità di vedere una permutazione in ogni dato passo è piccola (e non indipendente dai passi prima e dopo, quindi difficile). E è maggiore di per fisso , tuttavia, quindi la procedura termina quasi sicuramente (cioè con probabilità ).0 N 1N0N1
Per fisso possiamo costruire una catena di Markov sull'insieme di vettori Parikh che si sommano a , riassumendo i risultati degli ultimi tiri e determinando il numero atteso di passi fino a raggiungere per la prima volta . Ciò è sufficiente poiché tutte le permutazioni che condividono un vettore Parikh sono ugualmente probabili; le catene e i calcoli sono più semplici in questo modo.≤ N N ( 1 , … , 1 )N≤NN(1,…,1)
Supponiamo che siamo in stato di con . Quindi, la probabilità di ottenere un elemento (ovvero il prossimo tiro è ) è sempre data da∑ n i = 1 v i ≤ N iv=(v1,…,vN)∑ni=1vi≤Nii
Pr[gain i]=pi .
D'altra parte, la propensione a far cadere un elemento dalla storia è data dai
Prv[drop i]=viN
quando (e altrimenti) proprio perché tutte le permutazioni con il vettore Parikh sono ugualmente probabili. Queste probabilità sono indipendenti (poiché i rulli sono indipendenti), quindi possiamo calcolare le probabilità di transizione come segue:0 v∑ni=1vi=N0v
Pr[v→(v1,…,vj+1,…,vN)]={Pr[gain j]0,∑v<N, else,Pr[v→(v1,…,vi−1,…vj+1,…,vN)]={0Prv[drop i]⋅Pr[gain j],∑v<N∨vi=0∨vj=N, else andPr[v→v]={0∑vi≠0Prv[drop i]⋅Pr[gain i],∑v<N, else;
tutte le altre probabilità di transizione sono zero. Il singolo stato di assorbimento è , il vettore Parikh di tutte le permutazioni di .[ 1 .. N ](1,…,1)[1..N]
Per la risultante catena Markov¹ èN=2
[ fonte ]
con il numero previsto di passi fino all'assorbimento
Epassi = 2 p0p1⋅ 2 + ∑i ≥ 3( pi - 10p1+ pi - 11p0) ⋅ i = 1 - p0+ p20p0- p20,
usando per semplificazione che . Se ora, come suggerito, per alcuni , allorap 0 = 1p1= 1 - p0ϵ∈[0,1p0= 12± ϵϵ ∈ [ 0 , 12)
Epassi = 3 + 4 ϵ21 - 4 ϵ2 .
Per e distribuzioni uniformi (il caso migliore) ho eseguito i calcoli con l'algebra del computer²; poiché lo spazio degli stati esplode rapidamente, valori più grandi sono difficili da valutare. I risultati (arrotondati verso l'alto) sonoN≤ 6
I grafici mostrano in funzione di ; a sinistra una trama regolare e a destra una trama logaritmica.NEpassaggiN
La crescita sembra essere esponenziale ma i valori sono troppo piccoli per fornire buone stime.
Per quanto riguarda la stabilità contro le perturbazioni della possiamo guardare la situazione per : N = 3pioN= 3
Il diagramma mostra in funzione di e ; naturalmente, .p 0 p 1 p 2 = 1 - p 0 - p 1Epassaggip0p1p2= 1 - p0- p1
Supponendo immagini simili per più grande (il kernel si arresta in modo anomalo calcolando i risultati simbolici anche per ), il numero previsto di passaggi sembra essere abbastanza stabile per tutti tranne le scelte più estreme (quasi tutte o nessuna massa in qualche ).N = 4 p iNN= 4pio
Per fare un confronto, simulare una moneta basata su (ad es. Assegnando i risultati dei dadi a e nel modo più uniforme possibile), utilizzarlo per simulare una moneta corretta e infine eseguire campionamenti di rifiuto bit-saggio richiede al massimo0 1ε01
2 ⌈ logN⌉ ⋅ 3 + 4 ϵ21 - 4 ϵ2
i tiri di dado nell'aspettativa - probabilmente dovresti continuare con quello.
- Poiché la catena si sta assorbendo in i bordi accennati in grigio non vengono mai attraversati e non influenzano i calcoli. Li includo solo per completezza e scopi illustrativi.( 11 )
- Implementazione in Mathematica 10 ( Notebook , Bare Source ); scusa, è quello che so per questo tipo di problemi.