Đào từ http://www.befria.nu/elias/pi/binpi.html để lấy giá trị nhị phân của pi (để dễ dàng chuyển đổi thành byte hơn là cố gắng sử dụng chữ số thập phân) và sau đó chạy nó thông qua ent Tôi nhận được những điều sau đây để phân tích các phân phối ngẫu nhiên của các byte:
Entropy = 7.954093 bit mỗi byte.
Nén tối ưu sẽ giảm kích thước của tệp 4096 byte này xuống 0 phần trăm.
Phân phối vuông góc cho 4096 mẫu là 253,00 và ngẫu nhiên sẽ vượt quá giá trị này 52,36% số lần.
Giá trị trung bình số học của các byte dữ liệu là 126,6736 (127,5 = ngẫu nhiên).
Giá trị Monte Carlo cho Pi là 3.120234604 (lỗi 0,68 phần trăm).
Hệ số tương quan nối tiếp là 0,028195 (hoàn toàn không tương quan = 0,0).
Vì vậy, có, sử dụng pi cho dữ liệu ngẫu nhiên sẽ cung cấp cho bạn dữ liệu khá ngẫu nhiên ... nhận ra rằng đó là dữ liệu ngẫu nhiên nổi tiếng.
Từ một bình luận ở trên ...
Tùy thuộc vào những gì bạn đang làm, nhưng tôi nghĩ bạn có thể sử dụng số thập phân của căn bậc hai của bất kỳ số nguyên tố nào làm công cụ tạo số ngẫu nhiên. Chúng ít nhất phải có các chữ số phân bố đều. - Paxinum
Vì vậy, tôi đã tính căn bậc 2 của nhị phân để không phát hiện ra cùng một bộ vấn đề. Sử dụng Lặp đi lặp lại của Wolfram tôi đã viết một kịch bản perl đơn giản
#!/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);
Chạy cái này trong 10 cái đầu tiên phù hợp với A095804 vì vậy tôi tự tin rằng mình có trình tự. Giá trị v n như khi được viết dưới dạng nhị phân với điểm nhị phân được đặt sau chữ số đầu tiên cho gần đúng căn bậc hai của 2.
Sử dụng ent chống lại dữ liệu nhị phân này tạo ra:
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).