Ejemplo Con N=18, encontrar el elemento que estaba en la posición 0 requiere 4 iteraciones; El de la posición 6, 3 iteraciones; etc., etc. iP I (i) 1 1/N 2 2/N 3 4/N 4 8/N 5 3/N
Probemos con vectores más grandes:
Buscando el ajuste perfecto con R * bbinaria = function(N) { m = floor(log2(N+1)) x = 1:m u = 2^(x-1) if (sum(u) < N) { p = c(u/N, 1-sum(u)/N) x = c(x, m+1) } else { p = u/N } return (list(x=x, p=p)) } T=1:100 T=500*T mu=array(NA, dim=100) for (i in 1:100) { F = bbinaria(T[i]) mu[i] = sum(F$x*F$p) } lT=log2(T) mod=lm(mu~lT) summary(mod) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) <2e-16 *** lT <2e-16 *** Aproximadamente: mu = log(N) – 1 = log(N/2) *
Pseudo-Random vs. True Random A Simple Visual Example