Ito ang command ent na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
ent - pseudorandom number sequence test
SINOPSIS
ent [mga pagpipilian] [file]
DESCRIPTION
Logo ng ENT
ent nagsasagawa ng iba't ibang pagsubok sa stream ng bytes in file (o karaniwang input kung hindi
file ay tinukoy) at gumagawa ng output sa karaniwang output; Halimbawa:
Entropy = 7.980627 bits bawat character.
Ang pinakamainam na compression ay makakabawas sa laki
nitong 51768 character file ng 0 porsyento.
Ang pamamahagi ng Chi square para sa 51768 sample ay 1542.26, at random
ay lalampas sa halagang ito ng 0.01 porsyento ng mga beses.
Ang arithmetic mean value ng data bytes ay 125.93 (127.5 = random).
Ang halaga ng Monte Carlo para sa Pi ay 3.169834647 (error 0.90 percent).
Ang serial correlation coefficient ay 0.004249 (ganap na walang ugnayan = 0.0).
Ang mga halaga na kinakalkula ay ang mga sumusunod:
ENTROPIYA
Ang density ng impormasyon ng mga nilalaman ng file, na ipinahayag bilang isang bilang ng mga bit bawat
karakter. Ang mga resulta sa itaas, na nagresulta mula sa pagproseso ng isang file ng imahe na naka-compress gamit ang
JPEG, ipahiwatig na ang file ay sobrang siksik sa impormasyon—sa pangkalahatan ay random. Kaya naman,
Ang compression ng file ay malamang na hindi mabawasan ang laki nito. Sa kabaligtaran, ang C source code ng
ang programa ay may entropy na humigit-kumulang 4.9 bits bawat karakter, na nagpapahiwatig na pinakamainam
ang compression ng file ay magbabawas ng laki nito ng 38%. [Hamming, pp. 104-108]
CHI-SQUARE PAGSUBOK
Ang chi-square test ay ang pinakakaraniwang ginagamit na pagsubok para sa randomness ng data, at ito ay
lubhang sensitibo sa mga error sa pseudorandom sequence generators. Ang chi-square
Ang pamamahagi ay kinakalkula para sa stream ng mga byte sa file at ipinahayag bilang isang
absolute number at isang porsyento na nagsasaad kung gaano kadalas ang isang tunay na random na pagkakasunod-sunod
ay lalampas sa halagang kinakalkula. Binibigyang-kahulugan namin ang porsyento bilang ang antas kung saan ang
pinaghihinalaang hindi random ang pagkakasunod-sunod na nasubok. Kung ang porsyento ay higit sa 99% o
mas mababa sa 1%, ang pagkakasunod-sunod ay halos tiyak na hindi random. Kung ang porsyento ay nasa pagitan
99% at 95% o sa pagitan ng 1% at 5%, ang pagkakasunod-sunod ay pinaghihinalaan. Mga porsyento sa pagitan ng 90% at
Ang 95% at 5% at 10% ay nagpapahiwatig na ang pagkakasunod-sunod ay "halos pinaghihinalaan". Tandaan na ang aming JPEG file,
habang napakasiksik sa impormasyon, ay malayo sa random na ipinahayag ng chi-square test.
Ang paglalapat ng pagsubok na ito sa output ng iba't ibang pseudorandom sequence generator ay
kawili-wili. Ang low-order na 8 bits ay ibinalik ng karaniwang Unix Rand(1) function, para sa
halimbawa, nagbubunga ng:
Ang pamamahagi ng Chi square para sa 500000 sample ay 0.01, at random
ay lalampas sa halagang ito ng 99.99 porsyento ng mga beses.
Habang nag-uulat ang isang pinahusay na generator [Park & Miller]:
Ang pamamahagi ng Chi square para sa 500000 sample ay 212.53, at random
ay lalampas sa halagang ito ng 95.00 porsyento ng mga beses.
Kaya, ang karaniwang generator ng Unix (o hindi bababa sa mga low-order na byte na ibinabalik nito) ay
hindi katanggap-tanggap na hindi random, habang ang pinahusay na generator ay mas mahusay ngunit pa rin
sapat na hindi random upang magdulot ng pag-aalala para sa mga hinihinging aplikasyon. Contrast pareho ng
ang mga software generator na ito na may chi-square na resulta ng isang tunay na random na pagkakasunod-sunod na nilikha
sa pamamagitan ng pag-time ng mga radioactive decay na kaganapan[1]:
Ang pamamahagi ng Chi square para sa 32768 sample ay 237.05, at random
ay lalampas sa halagang ito ng 75.00 porsyento ng mga beses.
Tingnan ang [Knuth, pp. 35-40] para sa karagdagang impormasyon sa chi-square test. Isang interactive na chi-
square calculator[2] ay available sa site na ito.
ARITMETIKO MEAN
Ito ay simpleng resulta ng pagbubuod ng lahat ng mga byte (mga bit kung ang -b ang opsyon ay tinukoy) sa
ang file at paghahati sa haba ng file. Kung ang data ay malapit sa random, ito ay dapat
humigit-kumulang 127.5 (0.5 para sa -b output ng opsyon). Kung ang ibig sabihin ay umalis sa halagang ito, ang mga halaga
ay pare-parehong mataas o mababa.
BUNDOK CHARLES VALUE PARA SA PI
Ang bawat sunud-sunod na sequence ng anim na byte ay ginagamit bilang 24 bit X at Y coordinate sa loob ng a
parisukat. Kung ang distansya ng random na nabuong punto ay mas mababa sa radius ng a
bilog na nakasulat sa loob ng parisukat, ang anim na byte na sequence ay itinuturing na isang "hit". Ang
ang porsyento ng mga hit ay maaaring gamitin upang kalkulahin ang halaga ng Pi. Para sa napakalaking batis (ito
approximation converges napakabagal), ang halaga ay lalapit sa tamang halaga ng Pi kung
ang sequence ay malapit sa random. Isang 32768 byte file na nilikha ng radioactive decay ang nagbunga ng:
Ang halaga ng Monte Carlo para sa Pi ay 3.139648438 (error 0.06 percent).
SERYAL KORELASYON COEPICIENT
Sinusukat ng dami na ito ang lawak kung saan nakadepende ang bawat byte sa file sa nauna
byte. Para sa mga random na pagkakasunud-sunod, ang halagang ito (na maaaring maging positibo o negatibo) ay, ng
syempre, malapit sa zero. Ang isang hindi random na byte stream tulad ng isang C program ay magbubunga ng isang serial
koepisyent ng ugnayan sa pagkakasunud-sunod ng 0.5. Wildly predictable data gaya ng uncompressed
ang mga bitmap ay magpapakita ng mga serial correlation coefficient na papalapit sa 1. Tingnan ang [Knuth, pp. 64-65]
para sa karagdagang detalye.
Opsyon
-b Ang input ay itinuturing bilang isang stream ng mga bit kaysa sa 8-bit na mga byte. Mga istatistika
iniulat na sumasalamin sa mga katangian ng bitstream.
-c Mag-print ng talahanayan ng bilang ng mga paglitaw ng bawat posibleng byte (o bit, kung ang -b
ang opsyon ay tinukoy din) na halaga, at ang bahagi ng kabuuang file na binubuo ng
na halaga. Ang mga napi-print na character sa ISO-8859-1 (Latin-1) character set ay
ipinapakita kasama ng kanilang mga decimal byte na halaga. Sa non-terse output mode, ang mga value ay may
hindi naka-print ang mga zero na pangyayari.
-f Tiklupin ang malalaking titik sa maliit na titik bago mag-compute ng mga istatistika. Tapos na ang pagtitiklop
batay sa set ng character na ISO-8859-1 (Latin-1), na may mga titik na tama
naproseso
-t Terse mode: ang output ay nakasulat sa Comma Separated Value (CSV) na format, na angkop para sa
naglo-load sa isang spreadsheet at madaling basahin ng anumang programming language. Tingnan ang Terse
Mode Output Format sa ibaba para sa mga karagdagang detalye.
-u Mag-print ng impormasyon kung paano tumawag.
Gamitin ang ent online gamit ang mga serbisyo ng onworks.net