Escavando de http://www.befria.nu/elias/pi/binpi.html para obter o valor binário de pi (para que fosse mais fácil converter em bytes em vez de tentar usar dígitos decimais) e depois executá-lo através de ent Eu recebo o seguinte para uma análise da distribuição aleatória dos bytes:
Entropia = 7.954093 bits por byte.
A compactação ideal reduziria o tamanho desse arquivo de 4096 bytes em 0%.
A distribuição do quadrado de Chi para 4096 amostras é de 253,00 e excederia aleatoriamente esse valor em 52,36% das vezes.
O valor médio aritmético dos bytes de dados é 126,6736 (127,5 = aleatório).
O valor de Monte Carlo para Pi é 3,120234604 (erro 0,68 por cento).
O coeficiente de correlação serial é 0,028195 (totalmente não correlacionado = 0,0).
Então, sim, usar pi para dados aleatórios forneceria dados bastante aleatórios ... percebendo que são dados aleatórios bem conhecidos.
De um comentário acima ...
Dependendo do que você está fazendo, mas acho que você pode usar os decimais da raiz quadrada de qualquer número primo como um gerador de números aleatórios. Eles devem ter pelo menos dígitos distribuídos uniformemente. - Paxinum
Então, calculei a raiz quadrada de 2 em binário para remover o mesmo conjunto de problemas. Usando a iteração de Wolfram, escrevi um script perl simples
#!/usr/bin/perl
use strict;
use Math::BigInt;
my $u = Math::BigInt->new("2");
my $v = Math::BigInt->new("0");
my $i = 0;
while(1) {
my $unew;
my $vnew;
if($u->bcmp($v) != 1) { # $u <= $v
$unew = $u->bmul(4);
$vnew = $v->bmul(2);
} else {
$unew = ($u->bsub($v)->bsub(1))->bmul(4);
$vnew = ($v->badd(2))->bmul(2);
}
$v = $vnew;
$u = $unew;
#print $i," ",$v,"\n";
if($i++ > 10000) { last; }
}
open (BITS,"> bits.txt");
print BITS $v->as_bin();
close(BITS);
Ao executar isso nos 10 primeiros A095804 correspondentes , fiquei confiante de que tinha a sequência. O valor v n como quando escrito em binário com o ponto binário colocado após o primeiro dígito fornece uma aproximação da raiz quadrada de 2.
O uso de ent nesses dados binários produz:
Entropy = 7.840501 bits per byte.
Optimum compression would reduce the size
of this 1251 byte file by 1 percent.
Chi square distribution for 1251 samples is 277.84, and randomly
would exceed this value 15.58 percent of the times.
Arithmetic mean value of data bytes is 130.0616 (127.5 = random).
Monte Carlo value for Pi is 3.153846154 (error 0.39 percent).
Serial correlation coefficient is -0.045767 (totally uncorrelated = 0.0).