ขุดจากhttp://www.befria.nu/elias/pi/binpi.htmlเพื่อรับค่าไบนารีของ pi (เพื่อให้ง่ายต่อการแปลงเป็นไบต์แทนที่จะพยายามใช้เลขทศนิยม) แล้วเรียกใช้ผ่านentฉันได้รับต่อไปนี้สำหรับการวิเคราะห์การกระจายแบบสุ่มของไบต์:
Entropy = 7.954093 บิตต่อไบต์
การบีบอัดที่เหมาะสมที่สุดจะลดขนาดของไฟล์ 4096 ไบต์นี้ลง 0 เปอร์เซ็นต์
การแจกแจงไคสแควร์สำหรับตัวอย่าง 4096 คือ 253.00 และสุ่มจะเกินค่านี้ 52.36 เปอร์เซ็นต์ของเวลา
ค่าเฉลี่ยเลขคณิตของไบต์ข้อมูลคือ 126.6736 (127.5 = สุ่ม)
ค่า Monte Carlo สำหรับ Pi คือ 3.120234604 (ข้อผิดพลาด 0.68 เปอร์เซ็นต์)
สัมประสิทธิ์สหสัมพันธ์แบบอนุกรมคือ 0.028195 (uncorrelated โดยสิ้นเชิง = 0.0)
ใช่แล้วการใช้ pi สำหรับข้อมูลสุ่มจะให้ข้อมูลที่ค่อนข้างสุ่ม ... โดยตระหนักว่าเป็นข้อมูลสุ่มที่รู้จักกันดี
จากความคิดเห็นด้านบน ...
ขึ้นอยู่กับสิ่งที่คุณกำลังทำ แต่ฉันคิดว่าคุณสามารถใช้ทศนิยมของสแควร์รูทของจำนวนเฉพาะใด ๆ เป็นเครื่องกำเนิดตัวเลขแบบสุ่ม อย่างน้อยควรมีตัวเลขที่กระจายอย่างสม่ำเสมอ - Paxinum
ดังนั้นฉันจึงคำนวณสแควร์รูทของ 2 ในไบนารี่เพื่อยกเลิกปัญหาชุดเดียวกัน ใช้Iteration ของ Wolframฉันเขียนสคริปต์ perl ง่าย ๆ
#!/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);
ใช้งานสำหรับ 10 ตัวแรกที่ตรงกับA095804ดังนั้นฉันมั่นใจว่าฉันมีลำดับ ค่า v nตามที่เขียนไว้ในเลขฐานสองที่มีจุดตำแหน่งอยู่หลังจากหลักแรกให้ประมาณของรากที่สองของ 2
การใช้กับข้อมูลไบนารีนี้ก่อให้เกิด:
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).