L'ensemble de résultats identifiables distincts dans rouleaux indépendants d'une matrice avec faces a éléments. Lorsque le dé est juste, cela signifie que chaque résultat d'un lancer a une probabilité et l'indépendance signifie que chacun de ces résultats aura donc une probabilité c'est-à-dire qu'ils ont une distribution uniformeΩ ( d , n ) Ω(d,n)n nd = 6 d=6d ndn 1 / d 1/d( 1 / d ) n : (1/d)n:P d , n .Pd,n.
Supposons que vous ayez mis au point une procédure qui détermine soit résultats d'un dé côté , c'est-à-dire un élément de soit signale un échec (ce qui signifie que vous devrez répéter pour obtenir un résultat). C'est,t tm mc ( = 150 ) c(=150)Ω ( c , m )Ω(c,m)
t : Ω ( d , n ) → Ω ( c , m ) ∪ { Échec } .t:Ω(d,n)→Ω(c,m)∪{Failure}.
Soit la probabilité que entraîne un échec et notons que est un multiple entier de disonsF Ft tF Fd - n ,d−n,
F = Pr ( t ( ω ) = échec ) = N Fd - n .F=Pr(t(ω)=Failure)=NFd−n.
(Pour référence future, notez que le nombre attendu de fois que doit être appelé avant de ne pas échouer est )t t1 / ( 1 - F ) .1/(1−F).
L'exigence selon laquelle ces résultats dans soient uniformes et indépendant conditionnel à ne pas signaler des moyens de défaillance qui préserve la probabilité dans le sens que pour chaque événementΩ ( c , m ) Ω(c,m)t t A ⊂ Ω ( c , m ) ,ttA⊂Ω(c,m),
P d , n ( t ∗ A )1 - F =Pc,m(A)Pd,n(t∗A)1−F=Pc,m(A)(1)
où
t ∗ ( A ) = { ω ∈ Ω ∣ t ( ω ) ∈ A }t∗(A)={ω∈Ω∣t(ω)∈A}
est l'ensemble des jets de dés que la procédure assigne à l'événementt tA .A.
Considérons un événement atomique , qui doit avoir la probabilitéSoit (les jets de dés associés à ) ont éléments. devientA = { η } ⊂ Ω ( c , m ) A={η}⊂Ω(c,m)c - m . c−m.t ∗ ( A )t∗(A) η ηN ηNη ( 1 )(1)
Nηd−n1−NFd−n=Pd,n(t∗A)1−F=Pc,m(A)=c−m.Nηd−n1−NFd−n=Pd,n(t∗A)1−F=Pc,m(A)=c−m.(2)
Il est immédiat que les sont tous égaux à un entierNηNηN.N. Il ne reste plus qu'à trouver les procédures les plus efficaces Le nombre attendu de non-échecs par lancer du dé face est det.t.cc
1m(1−F).1m(1−F).
Il y a deux implications immédiates et évidentes. La première est que si nous pouvons maintenir petit à mesure que devient grand, alors l'effet de signaler une défaillance est asymptotiquement nul. L'autre est que pour tout donné (le nombre de rouleaux de la matrice face à simuler), nous voulons rendre aussi petit que possible.F Fm mm mccFF
Examinons de plus près en effaçant les dénominateurs:( 2 )(2)
N c m = d n - N F > 0.Ncm=dn−NF>0.
Cela rend évident que dans un contexte donné (déterminé par ), est rendu aussi petit que possible en faisant égal le plus grand multiple de qui est inférieur ou égal à Nous pouvons écrire ceci en termes de la plus grande fonction entière (ou "étage") commec , d , n , m c,d,n,mF Fd n - N F dn−NFc m cmd n . dn.⌊ ∗ ⌋⌊∗⌋
N = ⌊ d nc m ⌋.N=⌊dncm⌋.
Enfin, il est clair que doit être aussi petit que possible pour une efficacité maximale, car il mesure la redondance en . Plus précisément, le nombre prévu de rouleaux de la à flancs matrice nécessaire pour produire un rouleau de à flancs DieN Nt d ctdc
N × nm ×11 - F .N×nm×11−F.
Ainsi, notre recherche de procédures à haute efficacité devrait se concentrer sur les cas où est égal ou juste à peine supérieur à une puissanced n dnc m .cm.
L'analyse se termine en montrant que pour et donnés il existe une séquence de multiples pour laquelle cette approche se rapproche de l'efficacité parfaite. Cela revient à trouver pour lequel approche dans la limite (garantissant automatiquement ). Une telle séquence est obtenue en prenant et en déterminantd dc , c,( n , m ) (n,m)( n , m ) (n,m)d n / c m ≥ 1 dn/cm≥1N = 1 N=1F → 0 F→0n = 1 , 2 , 3 , …n=1,2,3,…
m = ⌊ n log dlog c ⌋.m=⌊nlogdlogc⌋.(3)
La preuve est simple.
Tout cela signifie que lorsque nous sommes prêts à rouler l'original à flancs mourir un assez grand nombre de fois nous pouvons nous attendre pour simuler presque les résultats d'un à flancs meurent par rouleau . De manière équivalente,d dn , n,log d / log c = log c d logd/logc=logcdcc
Il est possible de simuler un grand nombre de rouleaux indépendants d'un à flancs mourir en utilisant un juste à flancs mourir en utilisant une moyenne de lance par résultat où peut être rendu arbitrairement petit en choisissant suffisamment grand.m mc cd dlog ( c ) / log ( d ) + ϵ = log d ( c ) + ϵ Journal( c ) / log( d) + ϵ = logré( c ) + ϵϵ ϵmm
Exemples et algorithmes
Dans la question, et oùd = 6 ré= 6c = 150 ,c = 150 ,
log d ( c ) = log ( c )log ( d ) ≈2.796489.logd(c)=log(c)log(d)≈2.796489.
Ainsi, la meilleure procédure possible nécessitera, en moyenne, au moins rouleaux de a pour simuler chaque résultat.2.7964892.796489d6
d150
L'analyse montre comment procéder. Nous n'avons pas besoin de recourir à la théorie des nombres pour la réaliser: nous pouvons simplement tabuler les puissances et les puissances et les comparer pour trouver où sont proches. Ce calcul de force brute donne pairesd n = 6 n dn=6nc m = 150 m cm=150mc m ≤ d ncm≤dn ( n , m )(n,m)
( n , m ) ∈ { ( 3 , 1 ) , ( 14 , 5 ) , … }(n,m)∈{(3,1),(14,5),…}
par exemple, correspondant aux nombres
( 6 n , 150 m ) ∈ { ( 216 , 150 ) , ( 78364164096 , 75937500000 ) , … } .(6n,150m)∈{(216,150),(78364164096,75937500000),…}.
Dans le premier cas, associerait des résultats de trois rouleaux de a à Échec et les autres résultats seraient chacun associés à un seul résultat de a . t t216 - 150 = 66 216−150=66150d6
150d150
Dans le second cas associerait des résultats des 14 rouleaux d'une à l' échec - environ 3,1% de tous - et par ailleurs serait sortie une séquence de 5 résultats d'un .t t78364164096 - 7593750000078364164096−75937500000d6
d150
Un algorithme simple à mettre en oeuvrett étiquettes des faces de la à flancs mourir avec les numéros et les faces de la à flancs mourir par les numéros Les rouleaux de la première matrice sont interprétées comme un nombre à chiffres dans la base Ceci est converti en un nombre dans la base S'il a au plus chiffres, la séquence des derniers chiffres est la sortie. Sinon, renvoie Failure en s'invoquant récursivement. d d0 , 1 , … , d - 1 0,1,…,d−1c c0 , 1 , … , c - 1. 0,1,…,c−1.n nn nd . d.c . c.m mm mtt
Pour des séquences beaucoup plus longues, vous pouvez trouver des paires appropriées en considérant tous les autres convergents de l'expansion continue des fractions de La théorie des fractions continues montre que ces convergents alternent entre être inférieurs à et supérieurs à lui (en supposant que n'est pas déjà rationnel). Choisissez ceux qui sont inférieurs à( n , m ) (n,m)n / m n/mx = log ( c ) / log ( d ) . x=log(c)/log(d).x xx xx .x.
Dans la question, les premiers de ces convergents sont
3 , quatorze / 5 , 165 / 59 , 797 / 285 , 4301 / 1 538 , 89 043 / 31 841 , 279235 / 99852 , 29036139 / 10.383.070 ... .3,14/5,165/59,797/285,4301/1538,89043/31841,279235/99852,29036139/10383070….
Dans le dernier cas, une séquence de 29.036.139 rouleaux d'un d6
produira une séquence de 10.383.070 rouleaux d'un d150
avec un taux d'échec inférieur à pour une efficacité de indiscernable de la limite asymptotique.2 × 10 - 8 , 2×10−8,2,796492.79649