用香蕉驅(qū)動(dòng)一個(gè)隨機(jī)數(shù)生成器,靠譜嗎?

來(lái)源:大數(shù)據(jù)文摘 本文約3500字,建議閱讀7分鐘
香蕉的用途又增加了!


每個(gè)數(shù)字出現(xiàn)在列表中的概率必須與其他每個(gè)數(shù)字相同(取一個(gè)參考區(qū)間),也即均勻分布。 數(shù)字的序列必須是事先無(wú)法預(yù)測(cè)的。


#include <stdio.h>#include <assert.h>#include <stdlib.h>#include <stdint.h>int main(int argc, char const *argv[]) {FILE * lettura = fopen("textsample.txt", "r");assert(lettura != NULL);FILE * scrittura = fopen("sample.txt", "wb");assert(scrittura != NULL);uint16_t N = 0; //N is 16 byteschar bytes[2];char buffer[6]; // 5 char + terminatordo{fscanf(lettura,"%s",buffer); // put one line in the bufferN = atoi(buffer); // from char array to integerbytes[0] = (N >> 8); // take the 8 msbbytes[1] = (N & 0xFF); // take the 8 lsbfwrite(bytes, 1, sizeof(bytes), scrittura); // output raw msb and lsb}while (!feof(lettura));fclose(lettura);fclose(scrittura);return 0;}

熵:熵是一部分信息中包含的“隨機(jī)性”的數(shù)量。信息理論告訴我們,理論上可以通過(guò)壓縮而不損失信息的最小尺寸,由熵值表示。 卡方分布:這個(gè)測(cè)試是用來(lái)了解我們的數(shù)值分布對(duì)理論分布的遵守程度。從ent手冊(cè)來(lái)看,這個(gè)值應(yīng)該盡可能地接近256,百分比值在10-90%之間。 算術(shù)平均值:比特的簡(jiǎn)單算術(shù)平均值。由于數(shù)值在0到255之間,所以它應(yīng)該大約等于127。 用蒙特卡洛方法計(jì)算π的值:在這里更多的是一個(gè)漂亮的數(shù)據(jù),而不是一個(gè)有用的方法。 自相關(guān):表示系列值之間的依賴(lài)性,在最佳情況下必須等于零。



表中的行代表系統(tǒng)的自由度,在模具案例中,有5個(gè)自由度。列代表計(jì)算值大于表格中的值的概率水平。也有一些表格表示計(jì)算值小于的概率,這些表格被稱(chēng)為左尾表,上面顯示的表格是右尾表。這是因?yàn)樵谝环N情況下考慮的是圖形的右邊,而在另一種情況下考慮的是左邊。案例中chi^2=3.068,這介于90%和25%的情況之間。這足以說(shuō)明,從我們可以歸類(lèi)為隨機(jī)的行為來(lái)看,沒(méi)有過(guò)度的變化。







https://www.valerionappi.it/brng-en/
編輯:于騰凱
校對(duì):林亦霖
評(píng)論
圖片
表情
