Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen dieharder komutudur.
Program:
ADI
daha sert - A test yapmak ve kıyaslama araç için rasgele numara jeneratörler.
SİNOPSİS
dieharder [-a] [-d dieharder test numarası] [-f dosya adı] [-B]
[-D çıkış bayrağı [-D çıkış bayrağı] ... ] [-F] [-c ayırıcı]
[-g üreteç numarası veya -1] [-h] [-k ks_flag] [-l]
[-L çakışması] [-m multiple_p] [-n ntuple]
[-p p numune sayısı] [-P Xoff]
[-o dosya adı] [-s tohum stratejisi] [-S rastgele sayı tohumu]
[-n ntuple] [-p p örnek sayısı] [-o dosya adı]
[-s tohum stratejisi] [-S rastgele sayı tohumu]
[-t test örneği sayısı] [-v ayrıntılı işaret]
[-W zayıf] [-X başarısız] [-Y Xtrategy]
[-x xdeğeri] [-y ydeğeri] [-z zdeğeri]
daha sert SEÇENEKLER
-a tüm testleri standart/varsayılan seçeneklerle çalıştırarak bir
kullanıcı tarafından kontrol edilebilir rapor. Raporun biçimlendirmesini kontrol etmek için aşağıdaki -D'ye bakın.
Testin gücünü kontrol etmek için (ki bu, test örnekleri için varsayılan değerleri kullanır).
genellikle değiştirilemez ve genellikle aşağıdaki -m'yi bir
varsayılan örnek sayısının "çarpanı" (yalnızca bir -a çalışmasında kullanılır).
-d test numarası - özel zorlu testi seçer.
-f dosya adı - 201 veya 202 oluşturucuları ham ikili veya
Test için bir dosyadan okunacak biçimlendirilmiş ASCII numaraları. jeneratör 200 okuma
stdin'den ham ikili sayılarda. İyi not edin: varsayılan parametrelere sahip birçok test
bir sürü rand gerektirir! ASCII için (gerekli) başlığın bir örneğini görmek için
biçimlendirilmiş giriş, çalıştırma
zorlayıcı -o -f örnek.input -t 10
ve ardından example.input'un içeriğini inceleyin. Ham ikili giriş 32 bit okur
belirtilen veri akışının artışları. stdin_input_raw, ham bir borudan bir boru kabul eder
ikili akış.
-B ikili modu (aşağıda -o ile kullanılır) çıktı randlarının ham ikili olarak değil, ham ikili olarak yazılmasına neden olur.
biçimlendirilmiş ascii.
-D çıkış bayrağı - dahil edilmek üzere alanların seçilmesine izin verir
daha sert çıktı. Her bayrak bir ikili sayı olarak girilebilir.
belirli çıktı alanı veya başlık veya bayrak adına göre; bayraklar toplanır. hepsini görmek için
şu anda bilinen bayraklar -F komutunu kullanır.
-F - bilinen tüm bayrakları ada ve numaraya göre listeler.
-c tablo ayırıcı - burada ayırıcı, örneğin ',' (CSV) veya ' ' (boşluk).
-g üreteç numarası - test için belirli bir üreteç seçer. kullanma
-g -1, bilinen tüm oluşturucuların ekrana yazdırılmasına neden olur.
-h bağlama duyarlı yardımı yazdırır -- genellikle Kullanım (bu mesaj) veya
örneğin dieharder -d 3 -h olarak girilmişse test özeti.
-k ks_bayrağı - ks_bayrağı
0 hızlıdır ancak pörnekler > 4999 (varsayılan) için biraz özensizdir.
1, ÇOK daha yavaştır, ancak daha fazla sayıda örnek için daha doğrudur.
2 hala daha yavaştır, ancak (umarız) herhangi bir sayıda makine hassasiyeti için doğrudur.
Henüz bilinmeyen sayısal üst sınıra kadar örneklemler (bunun için test edilmiştir)
en az yüzbinlerce).
3 kuiper ks, hızlı, küçük örnekler için oldukça yanlış, kullanımdan kaldırıldı.
-l bilinen tüm testleri listeler.
-L örtüşme
1 (örtüşme kullan, varsayılan)
0 (örtüşme kullanmayın)
operm5 veya örtüşen ve örtüşmeyen örnek modlarını destekleyen diğer testlerde.
-m multiple_p - krank için -a(ll) çalıştırmasındaki varsayılan psörnek sayısını çarp
Başarısızlığın çözünürlüğünü artırın. -n ntuple - kısa bit üzerindeki testler için ntuple uzunluğunu ayarlar
uzunluğun değiştirilmesine izin veren dizeler (örn. rgb bitdist).
-o dosya adı - çıktı -t geçerli üreticiden dosyaya rastgele sayıları sayar.
-p sayısı - test başına p değeri örneklerinin sayısını ayarlar (varsayılan 100).
-P Xoff - karar vermeden önce birikecek örnek sayısını ayarlar
bir jeneratörün "iyi" olduğunu ve gerçekten, gerçekten bir -Y 2 T2D çalışmasını bile geçtiğini. Şu anda
varsayılan 100000'dir; sonunda AES'ten türetilen T2D test hatasından ayarlanacaktır
tam otomatik güvenilir çalışma için eşikler, ancak şimdilik
Herhangi bir konuda makul olarak ne kadar süre beklemek isteyebileceğine göre belirlenen "can sıkıntısı" eşiği
test sürüşü.
-S tohum - tohumun bir uint olduğu yer. Varsayılan rastgele tohumu geçersiz kılar
seçim. Dosya veya stdin girişi için yoksayıldı.
-s stratejisi - strateji (varsayılan) 0 ise, daha sert çekirdekler (veya
geri sarar) rasgele sayı üreteci seçildiğinde başlangıçta bir kez ve
sonra bir daha asla. Strateji sıfır değilse, üreteç yeniden tohumlanır veya yeniden sarılır.
HER TEST'in başlangıcı. -S tohum belirtilmişse veya bir dosya kullanılmışsa, bu
her testin aynı sıraya uygulandığı anlamına gelir (bu, doğrulama için yararlıdır)
ve dieharder testi, ancak rng'leri test etmenin iyi bir yolu değil). Aksi takdirde yeni bir rastgele
Her test için tohum seçilir.
-t sayısı - her testte kullanılan rastgele varlıkların sayısını ayarlar, burada
mümkün. Dikkatli olun -- bazı testlerin sabit numune boyutları vardır; diğerleri değişken ama
pratik minimum boyutlara sahiptir. -a'da kullanılan değerlerle başlamanız önerilir.
ve test bazında dikkatli bir şekilde deney yapın.
-W zayıf - test(ler)i aşağı yukarı yapmak için "zayıf" eşiği ayarlar
örneğin bir denemeden imhaya çalıştırma sırasında bağışlayıcı. Varsayılan şu anda 0.005'tir.
-X başarısız - test(ler)i aşağı yukarı yapmak için "başarısız" eşiğini ayarlar
örneğin bir denemeden imhaya çalıştırma sırasında bağışlayıcı. Varsayılan şu anda 0.000001,
temel olarak "boş hipotezin kesin başarısızlığı" olan, istenen mod
tekrarlanabilir jeneratör arızası.
-Y Xtrategy - Xtrategy bayrağı yeni "başarısızlık testi"ni (T2F) kontrol eder
modlar. Bu bayraklar ve modları aşağıdaki gibi hareket eder:
0 - belirtilen sayıda örnek ve örnekle daha sert çalıştırın, yapmayın
sonuçlara göre bir çalıştırmayı dinamik olarak değiştirin. Bu her zaman yürüdüğü yoldur ve
varsayılandır.
1 - "belirsizliği çöz" (RA) modu. Bir test "zayıf" olarak dönerse, bu
istenmeyen sonuç Sonuçta bu ne anlama geliyor? Uzun bir test serisi çalıştırırsanız,
p olduğu için mükemmel bir üreteç için ara sıra zayıf dönüşler göreceksiniz
düzgün bir şekilde dağılmıştır ve zaman zaman herhangi bir sonlu aralıkta görünecektir.
Bir test çalıştırması birden fazla zayıf sonuç döndürse bile, bunun doğru olduğundan emin olamazsınız.
jeneratör arızalanıyor. RA modu, pörnekleri (genellikle 100'lük bloklar halinde) şu ana kadar ekler:
test sonucu kesinlikle zayıf değil veya kesin bir başarısızlıkla sonuçlanıyor. Bu
zayıf bir sonucun olup olmadığını görmek için testi birkaç kez çalıştırmaya ahlaki olarak eşdeğerdir.
tekrarlanabilir, ancak süreçteki kişisel yargının önyargısını ortadan kaldırır.
varsayılan başarısızlık eşiği çok küçüktür ve erişilmesi pek olası değildir.
birçok koşuda bile rastgele şans.
Bu seçenek meli bir tek be Kullanılmış ile -k 2.
2 - "imha etmek için test" modu. Bazen sadece nerede ya da olup olmadığını bilmek istersiniz.
jeneratör .Ben bir testte (veya test serisinde) başarısız olacağım. -Y 2, örneklerin aşağıdaki gibi olmasına neden olur
bir test başarısızlıktan daha düşük bir genel p değeri döndürene kadar bir seferde 100 eklenir
eşiğe veya belirli bir maksimum örnek sayısına (bkz. -P) ulaşıldı.
İyi not edin! Bu modda, aşağıdakilerden dolayı başarısız olabilir: alternatif sıfır hipotezi --
testin kendisi kötü bir testtir ve başarısız olur! Elimizden gelenin en iyisini yapmamıza rağmen birçok zorlu test
çabalar, sayısal olarak kararsız veya yalnızca yaklaşık olarak bilinen bir hedefe sahip
istatistikler veya doğrudan asimptotik sonuçlardır ve sonunda bir
Altın standartlı bir jeneratör (AES gibi) için bile başarısız sonuç veya
AES, üç balık, öpücük ile XOR jeneratörü aşırı dikkatli, hepsi aynı anda yüklendi ve
birlikte xor'd. Bu nedenle bu modu kullanmak en güvenlisidir .I karşılaştırmalı olarak,
Test hatası eşik(ler)i hakkında bir fikir edinmek için AES üzerinde bir T2D çalıştırması yürütme
(eninde sonunda yapacağım ve web'de yayınlayacağım bir şey, böylece herkesin
bağımsız olarak yapın) ve ardından hedef oluşturucunuzda çalıştırın. ile başarısızlık
AES eşiklerinin büyüklük sırasına göre örnek sayısı
muhtemelen jeneratör arızaları değil, olası test arızaları olarak kabul edilir. Başarısızlıklar
bilinen altın standart jeneratör arıza eşiklerinden önemli ölçüde daha düşük seviyeler
elbette, muhtemelen jeneratörün arızalarıdır.
Bu seçenek meli bir tek be Kullanılmış ile -k 2.
-v ayrıntılı bayrak -- hata ayıklama için çıktının ayrıntı düzeyini kontrol eder
bir tek. Muhtemelen geliştirici olmayanlar için çok az faydası vardır ve geliştiriciler şunları okuyabilir:
dieharder.h'deki numaralandırma(lar) ve hangi bayrak değerlerinin çıktıyı açtığını görmek için test kaynakları
hangi rutinlerde. 1, program etkinliğinin son derece ayrıntılı bir izinin sonucudur.
-x,-y,-z sayı - Bazı testler güvenli bir şekilde değiştirilebilen parametrelere sahiptir
varsayılan değerlerinden. Örneğin, zorlu doğum günleri testinde, kişi değişebilir
uzunluk sayısı da değişebilir. -x 2048 -y 30 bu ikisini değiştirir
değerler ancak yine de iyi çalışması gerekir. Bu parametreler dahili olarak belgelenmelidir
(var oldukları yerde) örneğin -d 0 -h görünür notlarda.
NOT KUYU: Zincirler için yapılan değerlendirme(ler) aslında tamamen yanlış olabilir veya
yanıltıcı. Zorlayıcıda hala "kötü testler" var, ancak bunun için çalışıyoruz.
bunları düzeltin ve iyileştirin (ve bunları görünen test açıklamalarında belgelemeye çalışın)
-g test numarası -h ile). Özellikle, 'Zayıf' p değerleri iki testte bir testte gerçekleşmelidir.
yüz ve 'Başarısız' p değerleri varsayılan ile milyonda bir test gerçekleştirmelidir
eşikler - p ANLAMI budur. Riski Kendi Riskinizde Kullanın! Uyarın!
Ya da daha iyisi, yeni -Y 1 ve -Y 2 belirsizliği çözme veya imha testini kullanın
yukarıdaki modlar, olabildiğince iyi olanlardan birinde benzer çalıştırmalarla karşılaştırıldığında
kriptografik üreteçler, AES veya üç balık.
AÇIKLAMA
daha sert
Zorlayıcı rastgele sayı test cihazının mevcut anlık görüntüsüne hoş geldiniz. kapsüller
tüm Gnu Bilimsel Kitaplığı (GSL) rasgele sayı üreteçlerinin (rngs) yanı sıra bir
R istatistik kütüphanesinden üreteç sayısı, donanım kaynakları gibi
/ Dev /*rastgele, "altın standart" şifreleme kalitesi oluşturucuları (test için kullanışlıdır)
dieharder ve yeni jeneratörlerle karşılaştırma amacıyla) ve jeneratörler
kullanıcılar tarafından katkıda bulunan veya literatürde bulunan tek koşum bu onları zamanlayabilir
ve rastgelelik için çeşitli testlere tabi tutun. Bu testler çeşitli
George Marsaglia'nın "Rastgele sayı testlerinin sert bataryası", NIST İstatistik Testi
Suite ve yine kişisel buluş, kullanıcı katkısı, diğer kaynaklar gibi diğer kaynaklardan
(açık kaynak) test paketleri veya literatür.
Dieharder'ın birincil noktası, zamanlamayı ve rastgele sayıyı (sözde) test etmeyi kolaylaştırmaktır.
tamamen açık kaynaklı bir araçla hem yazılım hem de donanım rng'leri dahil olmak üzere jeneratörler. İçinde
Tüm yerleşik jeneratörlerin test edilmesine "anında" erişim sağlamaya ek olarak, kullanıcılar
kendi rasgele sayı üreteçlerini veya kaynaklarını test etmenin üç yolundan birini seçin: bir unix
ham ikili (rastgele varsayılan) bit akışının borusu; (rastgele varsayılan) içeren bir dosya
ham ikili bit akışı veya biçimlendirilmiş ascii uints veya floats; ve jeneratörünüzü gömmek
dieharder'ın GSL uyumlu rng kablo demeti ve yerleşik jeneratörler listesine eklenmesi.
Stdin ve dosya giriş yöntemleri, önerildiği gibi aşağıda kendi bölümlerinde açıklanmıştır.
Rastgele sayı üreteci testine yeni başlayanlar için "en iyi uygulama".
Dieharder kullanmak için önemli bir motivasyon, tüm test takımının tamamen Gnu olmasıdır.
Kamu Lisansı (GPL) açık kaynak kodudur ve bu nedenle "bakması" yasaklanmak yerine
kaputun altında" tüm kullanıcılar, sertleştiriciyi eleştirel olarak incelemeye açıkça teşvik edilir
hataları kodlayın, yeni testler veya oluşturucular veya kullanıcı arayüzleri ekleyin veya olduğu gibi özgürce kullanın.
sadece GPL'nin kısıtlamalarına tabi olarak kendi favori adaylarını test edebilirler. Olarak
açıklığının bir sonucu olarak, kelimenin tam anlamıyla yüzlerce iyileştirme ve hata düzeltmesi yapıldı.
bugüne kadar kullanıcılar tarafından katkıda bulunularak çok daha güçlü ve daha güvenilir bir test paketi elde edildi
kapalı ve kilitli kaynaklarda ve hatta açık kaynaklarda mümkün olandan daha fazla
(STS gibi) düzeltmelerin yapılmasına izin veren dinamik geri bildirim mekanizmasından yoksundur.
paylaştı.
Test istatistiklerindeki küçük hatalar bile, alternatif (genellikle belirtilmez) null
rng testinde önemli bir faktör haline gelen hipotez - istenmeyen olasılık
jeneratörünüz gayet iyi ama test bu başarısız oluyor. Biri son derece kullanışlı
dieharder özelliği, en azından orta derecede olmasıdır öz doğrulama kullanarak "altın
standart" aes ve üç balık kriptografik üreteçleri, bu üreteçlerin nasıl olduğunu gözlemleyebilirsiniz.
daha sert koşularda kullanmak istediğiniz genel doğruluk derecesine sahip olarak gerçekleştirin
test ettiğiniz jeneratörler. Genel olarak, herhangi bir testte sürekli olarak başarısız olan daha sert testler
altın standart halkaların her ikisinde de belirli bir hassasiyet seviyesi (örneğin -a -m 10 ile seçilir)
(ve/veya daha iyi GSL jeneratörleri, mt19937, gfsr4, taus) muhtemelen bu konuda güvenilmezdir
hassastır ve jeneratörünüzde de arıza yapmaları şaşırtıcı olmaz.
İstatistik uzmanları, belki de herhangi birini kullanarak paketi denemeye teşvik edilir.
örnek önce aşağıdakileri çağırır ve ardından kendi jeneratörlerinde veya bir
kendi testlerini eklemek için kablo demeti. Acemiler (istatistiklere veya rastgele sayılara
jeneratör testi) şiddetle p değerleri ile ilgili bir sonraki bölümü okumaya teşvik edildi ve
boş hipotez ve test paketini daha ayrıntılı bir çıktı raporuyla birkaç kez çalıştırma
her şeyin nasıl çalıştığını öğrenmek için.
HIZLI BAŞLANGIÇ ÖRNEKLER
Boru veya dosya girişinin nasıl kurulacağına ilişkin örnekler aşağıda verilmiştir. Ancak tavsiye edilir
bir kullanıcının dieharder ile aşinalık kazanmak için bazı yerleşik jeneratörlerle oynaması
kendi favori oluşturucularını veya muhtemelen dolu dosyalarla uğraşmadan önce raporlar ve testler
rastgele sayılar.
Dieharder'ın varsayılan oluşturucusu (mt19937) için varsayılan standart test raporunu görmek için basitçe
koşmak:
daha sert -a
Standart -a(ll) testinin olası hatalarının çözünürlüğünü artırmak için -m'yi kullanın.
p değerlerinin test varsayılan sayıları için "çarpan" (bir
tam test çalıştırması, gerçekten kapsamlı olduğu için günler yerine bir saat kadar sürer
test dizisi) çalıştırın:
daha sert -a -m 10
Farklı bir jeneratörü test etmek için (altın standart AES_OFB'yi söyleyin) sadece jeneratörü belirtin
bayraklı komut satırında:
sert -g 205 -a -m 10
Argümanlar herhangi bir sırada olabilir. Jeneratör ayrıca ada göre de seçilebilir:
daha sert -g AES_OFB -a
Uygulamak bir tek AES_OFB oluşturucusuna diehard opso testi, testi ada göre belirtin veya
numara:
daha sert -g 205 -d 5
or
zorlayıcı -g 205 -d diehard_opso
Dieharder'ın çıktı raporu formatındaki hemen hemen her özellik veya alan, kullanıcı tarafından seçilebilir.
seçenek bayraklarını görüntüleme araçları. Ayrıca alan ayırıcı karakter seçilebilir
kullanıcı tarafından çıktının ayrıştırılmasını (-c ' ') veya içe aktarılmasını özellikle kolaylaştırmak için
bir elektronik tablo (-c ','). Denemek:
dieharder -g 205 -d diehard_opso -c ',' -D test_name -D değerleri
son derece özlü, içe aktarması kolay bir rapor görmek veya
dieharder -g 205 -d diehard_opso -c ' ' -D varsayılanı -D histogramı -D açıklaması
her birinin tam açıklamasını içeren "yeni başlayanlar" için iyi olan ayrıntılı bir rapor görmek için
kendini test et.
Son olarak, daha sert ikili, man sayfası olmasa bile dikkat çekici bir şekilde otomatik belgeleniyor.
mevcut. Tüm kullanıcılar ne yaptıklarını görmek için aşağıdaki komutları denemelidir:
daha sert -h
(yukarıdaki gibi komut özetini yazdırır).
daha sert -a -h
daha sert -d 6 -h
(sadece -a(ll) testleri veya belirtilen spesifik test için test açıklamalarını yazdırır).
daha sert -l
(rgb'nin ne kadar güvenilir olduğunu düşündüğü de dahil olmak üzere bilinen tüm testleri listeler).
daha sert -g -1
(bilinen tüm telefonları listeler).
daha sert -F
(-D ile kullanılan mevcut tüm bilinen görüntüleme/çıktı kontrol bayraklarını listeler).
Hem yeni başlayanlar hem de uzmanlar, dieharder tarafından sağlanan değerlendirmenin
standart raporuna büyük şüpheyle bakılmalıdır. için tamamen mümkündür
bireysel p değerleri söz konusu olduğunda tüm testleri "geçecek" bir jeneratör ve henüz
hepsi bir arada düşünüldüğünde tamamen başarısız olmak. Benzer şekilde, muhtemelen bu bir rng
en azından tipik bir -a(ll) çalışmasında 0, 1 veya 2 testte "zayıf" olarak görünecek ve
hatta böyle bir çalışmayı 1'da 10 testte "başarısız" olabilir. Bunun neden böyle olduğunu anlamak için
bir şeyi anlamak için gerekli vMb test yapmak, p-değerleri, ve the boş hipotez!
P-DEĞERLERİ VE L' NULL HİPOTEZ
dieharder "p-değerleri" döndürür. Bir p-değerinin ne olduğunu ve nasıl kullanılacağını anlamak için
anlamak için gerekli boş hipotez, H0.
Rastgele sayı üreteci testi için boş hipotez "Bu üreteç mükemmel bir
rastgele sayı üreteci ve herhangi bir tohum seçimi için sonsuz uzunlukta, benzersiz bir
Rastgele sayıların beklenen tüm istatistiksel özelliklerine sahip olan sayı dizisi,
tüm siparişlere". Şunu iyi not edin: bilmek bu hipotezin teknik olarak herkes için yanlış olduğunu
yazılım jeneratörleri, periyodik olduklarından ve doğru entropi içeriğine sahip olmadıklarından
bu ifade asla doğru olmayacak. Ancak birçok donanım jeneratörler de a priori başarısız olur,
deterministik fizik nedeniyle ince önyargılar veya korelasyonlar içerdiklerinden
bunların altında yatmaktadır. Doğa çoğu zaman öngörülemeyen ama nadiren rasgele ve iki kelime
(tam olarak) aynı şeyi ifade etmeyin!
Boş hipotez olabilir pratikte doğru ancak. Hem yazılım hem donanım
jeneratörler "rastgele" olabilir yeterli dizilerinin rastgele ayırt edilemeyeceğini
olanlar, en azından kolayca veya mevcut araçlarla (daha sert dahil!)
boş hipotez, teorik olarak saf değil, pratik bir ifadedir.
Test etmek H0 , kişi muhtemelen rastgele bir dizi oluşturmak için söz konusu rng'yi kullanır.
sayılar. Bu sayıları kullanarak, geniş bir yelpazedeki herhangi biri üretilebilir. test istatistik
-- dikkate alınan ampirik olarak hesaplanmış sayılar rasgele örnekleri bu olabilir veya olmayabilir
Üst üste binen rastgele sayı dizilerinin olup olmadığına bağlı olarak H0'a tabi kovaryant
bilinen bir veriden alınan istatistik(ler)i oluştururken ardışık örnekler oluşturmak için kullanılır.
dağıtım. İstatistik(ler)in hedef dağılımı bilgisinden ve
ilişkili kümülatif dağılım işlevi (CDF) ve deneysel rastgele değeri
oluşturulan istatistik(ler), ampirik sonucu elde etme olasılığı okunabilir
if the dizi oldu gerçekten rasgele, yani, sıfır hipotezi doğruysa ve
söz konusu üreteç "iyi" bir rasgele sayı üretecidir! Bu olasılık "p-
belirli bir test çalıştırması için "değer".
Örneğin, bir madeni parayı (veya bir dizi biti) test etmek için sadece
çok uzun bir atış dizisinde yazı tura. Madeni paranın "mükemmel" olduğunu varsayarsak
jeton", yazı ve tura sayısının olmasını bekliyoruz iki terimli olarak dağıtıldı ve kolayca
belirli sayıda yazı ve tura gelme olasılığını hesaplayın. Eğer biz
test serisinden kaydedilen yazı ve yazı sayımızı bu dağılımla karşılaştırın
ve elde ettiğimiz sayıyı alma olasılığının çok düşük söylemek, yol ile
yazıdan çok tura, madeni paranın mükemmel bir madeni para olmadığından şüphelenirdik. dieharder bunu uygular
çok test (matematiksel olarak kesin hale getirildi) ve bunun üzerinde çalışan diğerleri
sağlamak için test edilen rng tarafından üretilen rastgele bit dizisine
rng'nin ne kadar "rastgele" olduğunun resmi.
Her zamanki dogmanın şu olduğuna dikkat edin: p değeri düşükse - tipik olarak 0.05'ten küçükse - bir
sıfır hipotezini "reddeder". Tek kelimeyle, birinin sonucu alması imkansız
Jeneratör iyi ise elde edilir. Başka bir değer ise, "kabul" edilmez.
Jeneratör iyiyse, jeneratör bu özel durum için kötü olarak "reddedilemez"
Ölçek. "İyi bir rastgele sayı üreteci", bu nedenle yapamadığımız bir şeydir.
başarısız hala!
Bu kriter, elbette, aşırı derecede naiftir ve Amerika’ya vize ile ya da Meksika üzerinden geldikten sonra ilticaya başvuran kişileri, herhangi bir suça karışmadıkları sürece mahkeme kararı olmadan sınır dışı (deport) ettiremez. be Kullanılmış ile daha sert! It
0.95 veya daha fazla p değerlerine sahip bir jeneratörü reddetmek de aynı derecede mantıklı! Her ikiside
bu p-değeri aralıkları eşit olarak olası herhangi bir test çalıştırmasında ve meli iade edilecek
(ortalama olarak) tüm test çalıştırmalarının %5'i için MÜKEMMEL OLAN YERİ BULUN rastgele numara üreticisi. bir jeneratör
farklı ile test edildiği zamanın %0.05'inden daha az p değerleri üretemeyen
tohumlar bir kötü rastgele sayı üreteci, bir başarısız sıfır hipotezinin testi.
Dieharder varsayılan olarak 100'ün üzerinde değer döndürdüğünden başına test herhangi biri beklenirdi
böyle naif bir testte bu kritere göre yaklaşık beş kez "başarısız olmak" için mükemmel derecede iyi
tek zorlu koşu!
Görünüşe göre p değerlerinin kendisi test istatistikleridir! Doğaları gereği, p-değerleri
0-1 aralığında eşit olarak dağıtılmalıdır. 100'den fazla bağımsız test çalışmasında
0, 1, 2 ve hatta (nadiren) 3 p-değerinden daha az elde edilmesi şaşırtıcı olmamalıdır.
0.01'den fazla. Öte yandan 7-0.24 aralığında 0.25 p değeri elde etmek veya bunu görmek
70 p-değerinin 0.5'ten büyük olması, jeneratörü son derece şüpheli yapmalıdır! Nasıl olabilir
bir kullanıcı, bir testin ne zaman p için belirli bir değer aralığından "çok fazla" ürettiğini belirler?
Yoksa çok mu az?
Dieharder bunu sizin için otomatik olarak yapar. Aslında bir dönüştürebilirsiniz set p değerlerinin içine
Kolmogorov-Smirnov kullanarak dağılımlarını beklenen dağılımla karşılaştırarak bir p değeri
p'nin beklenen düzgün dağılımına karşı test edin.
Bunlar p değerlerinin dağılımına bakarak elde edilen p değerleri sırasıyla
eşit olarak dağıtılır ve prensipte daha fazla KS testine tabi tutulabilir
agrega. a için p-değerlerinin dağılımı Tercih Etmenizin jeneratör olmalı etkisiz, Üstelik
farklı test istatistikleri ve çoklu çalıştırmalar arasında.
Herhangi bir toplama seviyesindeki p değerlerinin dağılımındaki bir hata, sorun olduğunu gösterir. İçinde
gerçek, herhangi bir testin p değerleri bir KS testine tabi tutulursa ve bu p değerleri
daha sonra bir KS testine tabi tutulur, her iki seviyeye de daha fazla p değeri eklediğimiz için ya
p'nin tek biçimliliğe dağılımının bağımsızlığını gözlemleyin, or gözlemleyeceğiz
tek bir p değerine idempotence sıfır! Yani, iyi bir jeneratör kabaca
p değerlerinin tek tip dağılımı, belirli bir anlamda, p değerlerinin
p-değerlerinin dağılımlarının kendileri kabaca tekdüzedir ve sonsuza kadar böyle devam eder.
kötü oluşturucu, p değerlerinin düzgün olmayan bir dağılımını üretecek ve daha fazla p değeri olarak
tekdüze olmayan dağılımdan elde edilen KS testine bir noktada eklenir.
sonuçta ortaya çıkan p değeri 0'a yaklaştığından başarısızlık kesinlikle hatasız olacaktır.
sınır. Gerçekten sorun!
Soru şu ki, neyle ilgili sorun var? Rastgele sayı testleri karmaşıktır
hesaplama nesneleri ve kodlarının yanlış çerçevelenmiş veya
Bu yuvarlama veya diğer sayısal - metodik olmayan - hataların bir
elde edilen bazı p değerlerinin dağılımının bozulması. Bu boşta değil
gözlem; biri rasgele sayı üreteci test programları yazmaya çalışırken,
her zaman testleri "iyi" (umarız) rasgele sayı üreteçleriyle test etmek, böylece
sıfır hipotezinin korkunç başarısızlıkları, kötü bir üretici değil, bir hata sinyali verir.
test kodu. Yukarıdaki boş hipotez, doğru bir şekilde bir teorik noktası
görünüm, ancak bir gerçek ve pratik bakış açısı şöyle olmalıdır: "Bu jeneratör bir
mükemmel rasgele sayı üreteci ve herhangi bir tohum seçimi için sonsuz uzunlukta,
rastgele sayının beklenen tüm istatistiksel özelliklerine sahip benzersiz sayı dizisi
numaralar, tüm siparişler için ve bu test mükemmel bir testtir ve tam olarak doğru p-
test hesaplamasından elde edilen değerler." Bu ortak sıfır hipotezinin gözlemlenen "başarısızlığı" H0'
bu ayrık bileşenlerden birinin veya her ikisinin arızalanmasından kaynaklanabilir ve
ikinci test geliştirme sürecinde ilkinden daha sık veya daha sık. Ne zaman
biri testin "çözünürlüğünü" (bir sonraki adımda tartışılacaktır) bir jeneratörün çalışmaya başladığı yere kadar yükseltir.
geliştirmenin asla bitmeyeceğini ve yeni
test rejimleri her zaman sadece üreteçlerin değil, kodun da yeni başarısızlıklarını ortaya çıkaracaktır.
Bununla birlikte, dieharder'ın en önemli avantajlarından biri,
size kritik bir test parametresi verir. Yukarıdaki açıklamalardan anlıyoruz ki,
hissetmeli çok rahatsız herhangi bir rastgele sayı üretecinin "başarısız olması" hakkında
özellikle bir test uyguladığımızda %5, hatta %1'lik bir kriter bazında süit sevmek
sonuncusu itibariyle 100'ün üzerinde (ve tırmanan) farklı test p-değeri döndüren dieharder
enstantane fotoğraf. Başarısızlığın açık ve tekrarlanabilir olmasını istiyoruz!
Bunu başarmak için, sadece çözünürlüğünü yükseltebilirsiniz. Herhangi bir testi çalıştırırsak
rastgele bir sayı üretecine karşı ve (diyelim ki) 0.007328'lik bir p-değeri döndürdü, biz
gerçekten iyi bir jeneratör olup olmadığını merak etmek için mükemmel bir şekilde haklı. Ancak
bu sonucu elde etme olasılığı o kadar da küçük değil -- daha sert kullanıldığında
saatlerce bunun gibi sayılar kesinlikle oldukça sık olacak ve
Hiçbir şey. eğer biri çalıştırırsa aynı tekrar test edin (farklı bir tohum veya rastgele
dizisi) ve 0.009122 p değeri ve üçüncü kez alır ve 0.002669 alır -- peki,
bu, art arda üç %1 (veya daha az) çekim ve o milyonda bir olmalı
zamanlar. O halde, hataları net bir şekilde çözmenin bir yolu, artırmak the numara of p-değerleri
bir test çalıştırmasında oluşturulur. Test tarafından döndürülen p'nin gerçek dağılımı ise
tek tip değil, bir KS testi sonunda belirsiz olmayan bir p değeri döndür
0.035517, ancak bunun yerine 0.000000'dır, ikincisi biz yeniden çalıştırdıkça defalarca üretilir.
Bu nedenle, dieharder son derece muhafazakâr rng "zayıflığını" duyurmak hakkında veya
herhangi bir teste göre "başarısızlık". Bu şeyler için iç kriter
şu anda p < %0.5 veya p > %99.5 zayıflık (toplam %1 düzeyinde) ve bir önemli Daha
başarısızlık için katı kriter: p < %0.05 veya p > %99.95. Aralıkların olduğunu iyi not edin
simetrik -- çok yüksek bir p değeri, çok düşük olduğu kadar kötü (ve olası değildir) ve
kritik işaretlemek için, çünkü bir rng'nin olması oldukça mümkündür çok iyi, ortalamada,
ve üretmemek yeterli dieharder testlerinin tam spektrumunda düşük p değerleri. Bu
son kstestin çok önemli olduğu ve "histogram" seçeneğinin nerede olabileceği
p dağıtımındaki başarısızlığı görselleştirmenize yardımcı olmak için çok kullanışlıdır - örneğin:
dieharder [ne olursa olsun] -D varsayılan -D histogramı
ve herhangi bir şekilde başarısız olan (veya geçen) p değerlerinin kaba bir ascii histogramını göreceksiniz.
seviye testi.
Bir ön -a(ll) çalışmasında dağınık zayıflık veya marjinal başarısızlık raporları,
bu nedenle acil bir alarm nedeni olmayın. Aksine, tekrarlanması, izlenmesi gereken sınavlardır.
dışarı, -m seçeneğini kullanarak -a için rng'yi daha fazla zorlamak veya a için -p'yi artırmak için
özel test. Dieharder için üretilen p değerlerinin sayısını artırmaya izin verir. herhangi
test, yalnızca yeterli sayıda rastgele sayının bulunmasına bağlı olarak (dosya tabanlı testler için) ve
zaman, başarısızlıkları açık hale getirmek için. olan bir test gerçekten -p 100'de zayıf neredeyse
-p 1000 veya -p 100000 olsun, her zaman daha büyük bazı örnek değerlerinde korkunç bir şekilde başarısız olur.
Ancak, dieharder bir araştırma aracı olduğundan ve sürekli olarak geliştirilmekte olduğundan ve
test, bu şiddetle önerilen her zaman alternatif sıfır hipotezi düşünüldüğünde
-- başarısızlığın, dieharder'ın kendisinde bazı limitlerde test kodunun başarısızlığı olduğu
büyük sayılar -- ve en azından bazı adımlar atın (örneğin, aynı testi aynı
Arızanın gerçekten de muhtemelen olduğundan emin olmak için "altın standart" bir jeneratörde çözünürlük)
zorlayıcı kodda değil, rng'de.
Kaynak eksikliği MÜKEMMEL OLAN YERİ BULUN referans olarak kullanılacak rastgele sayılar, testleri doğrular
kendileri kolay değildir ve her zaman bazı belirsizlikler bırakır (hatta aes veya üç balık).
Geliştirme sırasında genellikle yapılabilecek en iyi şey, bu "varsayılan iyiliğe" büyük ölçüde güvenmektir.
rastgele sayı üreteçleri. Teorik olarak sahip olduğumuz bir dizi jeneratör var.
olağanüstü derecede iyi olmasını beklemek ve bilinen bazı faktörlerle korelasyondan yoksun olmak için nedenler.
temelde yatan boyutsallık ve bu da oldukça tutarlı bir şekilde son derece iyi test ediyor. Tarafından
sadece bir tane değil, bu tür birkaç jeneratör kullanarak, bu jeneratörlerin sahip olduğu umulabilir.
(en sonunda) farklı korelasyonlar ve hepsi tek tip bir testte başarısız olmamalıdır.
aynı şekilde ve aynı sayıda p-değeri ile. Tüm bu jeneratörler ne zaman sürekli
belirli bir düzeyde bir testte başarısız olursam, sorunun test kodunda değil, test kodunda olduğundan şüpheleniyorum.
jeneratörler, olması çok zor olsa da belirli, ve birçok hata
dieharder'ın kodu keşfedildi ve sonunda tam da bu şekilde benim tarafımdan düzeltildi veya
diğerleri.
Dieharder'ın bir avantajı, bu "iyi jeneratörlerden" hemen birkaçına sahip olmasıdır.
karşılaştırma çalışmaları için kullanılabilir, Gnu Bilimsel Kitaplığı'nın ve kullanıcının izniyle
katkı (özellikle aes ve üç balığı nazikçe içine alan David Bauer). kullanırım
AES_OFB, Threefish_OFB, mt19937_1999, gfsr4, ranldx2 ve taus2 ("gerçek rastgele"
Random.org'dan sayılar) bu amaç için ve dieharder'ın "geçmesini" sağlamaya çalışıyorum
özellikle -g 205 -S 1 -s 1 üreteci herhangi bir makul p değeri çözünürlüğünde
-p 1000 veya daha uzak.
Tutarlı bir şekilde çalışan testler (örneğin, katı işlem5 ve toplamlar testi) başarısız bu yükseklikte
kararlar "şüpheli" olarak işaretlenir - olası başarısızlıklar alternatif boş
hipotez -- ve onlar şiddetle kullanımdan kaldırıldı! Sonuçları test etmek için kullanılmamalıdır.
istatistik ve rastgele sayı topluluğunda anlaşma bekleyen rastgele sayı üreteçleri
bu testlerin aslında geçerli ve doğru olduğunu, böylece gözlemlenen hataların gerçekten güvenli bir şekilde
başarısızlığına bağlanabilir yönelik sıfır hipotezi.
Vurgulamaya devam ettiğim gibi (iyi bir nedenle!) dieharder topluluk tarafından desteklenmektedir. bu nedenle ben
Açıkça, istatistik konusunda uzman olan dieharder kullanıcılarından sorunu düzeltmeme yardım etmelerini rica ediyorum.
uygulanan kod veya algoritmalar. Sonunda bu test paketini görmek istiyorum
valide açık bir ortamda zor kullanımda olan genel istatistik topluluğu tarafından,
Test mekanizmasının kendisinin olası her başarısızlığı incelemeye tabidir ve nihai olarak
düzeltme. Bu şekilde, sonunda gerçekten çok güçlü bir araç takımına ulaşacağız,
bize sadece başarısızlık hakkında değil, aynı zamanda
kip başarısızlığın yanı sıra, test edilen dizinin rastgelelikten nasıl saptığı.
Şimdiye kadar, dieharder topluluktan muazzam fayda sağladı. bireyler var
açıkça katkıda bulunan testler, test edilecek yeni üreticiler ve mevcut testler için düzeltmeler
test aracı ile kendi çalışmaları ile ortaya çıkarılmıştır. yapmak için çalışmalar yapılıyor
dieharder daha taşınabilir, böylece daha fazla platform üzerinde ve daha hızlı kurulacak, böylece daha fazla
kapsamlı testler yapılabilir. Lütfen katılmaktan çekinmeyin.
DOSYA GİRİŞ
Ham ikili üreten harici bir jeneratörle dieharder kullanmanın en basit yolu
(rastgele olduğu varsayılan) bitler, bu üreteçten gelen ham ikili çıktıyı iletmektir (varsayılan
32 bit işaretsiz tam sayıların ikili akışı olun) doğrudan dieharder'a, örneğin:
kedi /dev/urandom | ./dieharder -a -g 200
Devam edin ve bu örneği deneyin. Tüm dieharder test paketini üzerinde çalıştıracak.
Linux yerleşik üreticisi /dev/urandom tarafından üretilen akış (/dev/random
makul bir süre içinde test etmek için çok yavaş olduğu için önerilir).
Alternatif olarak, bir aday tarafından üretilen sayı dosyalarını test etmek için dieharder kullanılabilir.
rastgele sayı üreteçleri:
dieharder -a -g 201 -f random.org_bin
ham ikili giriş için veya
zorlayıcı -a -g 202 -f random.org.txt
biçimlendirilmiş ascii girişi için.
Biçimlendirilmiş bir ascii girdi dosyası, her iki uint'i de kabul edebilir (0 ila 2^31-1 aralığındaki tamsayılar,
satır başına bir tane) veya ondalık tek biçimli sapma, en az on anlamlı basamakla (bu
tahmini düşürmeden bir uint üretmek için UINT_MAX = 2^32 ile çarpılmalıdır), ayrıca bir
satır başına. Daha az basamaklı kayan noktalar, bit düzeyi testlerinde neredeyse kesinlikle başarısız olacaktır, ancak
tek tip sapmalar üzerinde etkili olan bazı testleri geçebilirler.
Son olarak, herhangi bir jeneratörü aynı (GSL) rastgele sayı demetine kolayca sarabilirsiniz.
dieharder tarafından dahili olarak kullanılır ve başka herhangi bir dahili cihazla aynı şekilde test edilir.
dieharder tarafından tanınan jeneratör. Bu, mümkün olduğunda şiddetle tavsiye edilir,
çünkü dieharder'ın bir çok Bir jeneratörü kapsamlı bir şekilde test etmek için rastgele sayılar. A
yerleşik jeneratör, dieharder'ın kaç tane ihtiyacı olduğunu belirlemesine ve bunları üretmesine izin verebilir
istek üzerine, çok küçük bir dosyanın "geri sarılacağı" ve test sonuçlarını nerede oluşturacağı
bir geri sarma şüpheli oluşur.
Dosya giriş randlarının talep üzerine testlere iletildiğini unutmayın, ancak test
mevcut olandan daha fazlasına ihtiyaç duyar, dosyayı geri sarar ve yeniden dolaşır ve
tekrar ve gerektiğinde tekrar. Açıkçası bu, örnek uzayını önemli ölçüde azaltır ve
yeterli olmadığı sürece p-değeri histogramları için tamamen yanlış sonuçlara yol açar.
HER testi tekrarlamadan çalıştırmayı başarır (sıralamayı tekrar kullanmak zararsızdır.
farklı testler). Kullanıcının dikkatli olmasına izin verin!
İYİ UYGULAMA
Üzerinde çalıştıkları bir jeneratörü test etmek isteyen yeni kullanıcılardan sıkça sorulan bir soru
eğlence veya kâr (veya her ikisi) için "Çıktısını daha zorlu hale nasıl almalıyım?" Bu bir
dieharder tükettiği için önemsiz bir soru muazzam tam bir rasgele sayı sayıları
test döngüsü ve sonra zahmetsizce izin veren -m 10 veya -m 100 gibi özellikler var
yeni bir jeneratörü daha da fazla zorlamak için 10 veya 100 kat daha fazlasını talep edin.
Hatta ile büyük dosya destek dieharder'da yeterince rastgele sağlamak zordur
bir dosyadaki sayıları gerçekten daha zorlayıcı mutlu etmek için. Bu nedenle şiddetle önerilen o
sen ya:
a) Rastgele sayı üretecinizin çıktı aşamasını düzenleyin ve yazmasını sağlayın
olarak stdout'a üretim rasgele bit dere -- temelde 32 bit işaretsiz rastgele oluşturun
tamsayılar ve bunları doğrudan stdout'a örneğin char verileri veya ham ikili olarak yazın. Bunu not et
bu değil ham kayan nokta sayıları yazmakla aynı (bu hiç rastgele olmayacak)
bit akışı olarak) ve uint'lerin "endianlığı" boş değer için önemli olmamalıdır
Rastgele baytlar herhangi bir sırada rastgele olduğu için "iyi" bir üreteç hipotezi. krank
oluşturacak ve bu akımı yukarıda açıklandığı gibi bir borudaki sertleştiriciye besleyecektir.
b) Jeneratörünüzü (veya
jeneratörünüzün donanım arayüzüne çağrılar). ./dieharder içindeki örnekleri izleyin
kaynak dizini komut satırı arayüzünde "kullanıcı" oluşturucu olarak eklemek için yeniden oluşturun,
ve üreteci "yerel" bir dieharder üreteci olarak çağırın (listede görünmelidir
doğru yapıldığında -g -1 tarafından üretilir). Bu şekilde yapmanın avantajı,
daha sonra (eğer yeni jeneratörünüz oldukça başarılıysa) onu kalıpçıya geri katkıda bulunabilir
Dilerseniz projelendirin! Test etmeyi çok kolaylaştırdığı gerçeğinden bahsetmiyorum bile.
Çoğu kullanıcı muhtemelen en azından başlangıçta a) seçeneğiyle gidecektir, ancak b)'nin
muhtemelen düşündüğünüzden daha kolay. Daha sıkı koruyucular eğer yalnızca sığınmacı statüleri sona erdirilmemişse, kalıcı oturma iznine sana yardım edebilmek
başın belaya girerse onunla, ama vaat yok.
UYARI!
Rastgele sayı dosyalarını test edenler için bir uyarı. dieharder bir araçtır
testleri rasgele numara jeneratörler, değil Dosyaları of rasgele sayılar! Son derece
rastgele sayılar içeren bir dosyayı rastgele olarak "onaylamaya" çalışmak uygun değildir.
örneğin bir dieharder -a run'daki dieharder testlerinden herhangi birinde "başarısız" olmaz. Açıkça söylemek gerekirse,
0.05 düzeyinde (veya başka herhangi bir düzeyde) herhangi bir testte başarısız olan tüm bu tür dosyalar reddedilirse,
Birinin emin olabileceği şey, söz konusu dosyaların değil rastgele, gerçekten
rastgele dizi, zamanın %0.05'inde 5 düzeyinde herhangi bir testte başarısız olur!
Başka bir deyişle, bir sistem tarafından üretilen herhangi bir sayı dosyası jeneratör bu "başarısız olmaz"
dieharder paketi, şu dizileri içerse bile "rastgele" olarak kabul edilmelidir.
belirli bir sınırda herhangi bir testte "başarısız" olabilir. geçtiğini varsaymak gerekir.
Jeneratörün kendisinin daha geniş testleri, için p-değerlerinin olduğu belirlendi.
dahil olan test küresel doğru dağıtılmış, böylece örneğin 0.01 düzeyinde başarısızlık
birçok testte ortalama olarak zamanın %1'inden daha fazla veya daha az meydana gelir. Eğer
belirli bir dosya bu düzeyde bir hata oluşturur, bu nedenle güvenli bir şekilde varsayılabilir
bu bir rasgele oluşturucunun yapabileceği binlerce benzer dosyadan alınan dosya
tüm test seviyelerinde p değerlerinin doğru dağılımına sahip olan ve
agregasyonu.
Özetlemek gerekirse, jeneratörünüzü doğrulamak için dieharder kullanın (dosyalardan veya gömülü bir
aktarım). Ardından, dosyaları veya rastgele akışları üretmek için kesinlikle oluşturucunuzu kullanın.
sayılar. Doğrulamak için bir kabul/reddetme aracı olarak dieharder kullanmayın the Dosyaları kendilerini!
ÖRNEKLER
Tüm testleri göstermek için varsayılan GSL rng'de çalıştırın, şunu girin:
daha sert -a
Bir ham ikili bit akışının harici bir üretecinin testini göstermek için, şunu kullanın:
stdin (ham) arayüzü:
kedi /dev/urandom | daha sert -g 200 -a
Ascii formatlı bir dosyayla kullanmak için:
zorlayıcı -g 202 -f testrands.txt -a
(testrands.txt aşağıdaki gibi bir başlıktan oluşmalıdır:
#================================================ =================
# jeneratör mt19937_1999 tohum = 1274511046
#================================================ =================
tip: d
sayım: 100000
uyuşukluk: 32
3129711816
85411969
2545911541
vb.)
Bir ikili dosya ile kullanmak için
zorlayıcı -g 201 -f testrands.bin -a
or
kedi testrands.bin | daha sert -g 200 -a
Bunu yapan çıktı satırlarında "ön eklerin" kullanımını gösteren bir örnek
çıktı raporunun farklı bölümlerini filtrelemek ve bunları kesmek nispeten kolaydır
diğer programlarda veya elektronik tablolarda kullanılabilecek sayılara şunu deneyin:
dieharder -a -c ',' -D varsayılan -D öneki
EKRAN SEÇENEKLER
3.xx sürümünden itibaren dieharder, tablo verileri üreten tek bir çıkış arayüzüne sahiptir.
başlıklarda ortak bilgilerle test başına. Ekran kontrol seçenekleri ve bayraklar
çıktıyı bireysel özel ihtiyaçlarınıza göre özelleştirmek için kullanılabilir.
Seçenekler ikili bayraklarla kontrol edilir. Bayraklar ve metin versiyonları,
girerseniz görüntülenir:
daha sert -F
bir satırda kendi başına.
Bayraklar, istenen tüm seçenek bayrakları eklenerek bir kerede girilebilir. İçin
örneğin, test_adı (8) için bayraklar eklenerek çok seyrek bir çıktı seçilebilir
ve 128 elde etmek için ilişkili pdeğerleri (136):
daha sert -a -D 136
Bayraklar sıfırdan toplandığından (bayrak girilmediği ve varsayılan
kullanılmış) aynı ekranı şu yollarla gerçekleştirebilirsiniz:
dieharder -a -D 8 -D p değerleri
Bayrakları herhangi bir kombinasyonda değere veya ada göre girebileceğinizi unutmayın. Çünkü insanlar kullanır
değerleri elde etmek ve ardından bunları elektronik tablolara aktarmak için daha zor (virgülle ayrılmış
değerler) veya filtre komut dosyalarına, alan ayırıcı karakterini değiştirebilirsiniz. İçin
örnek:
dieharder -a -c ',' -D varsayılan -D -1 -D -2
bir e-tabloya içe aktarmak için ideal olan çıktı üretir (çıkarılabileceğini unutmayın
olduğu sürece, varsayılan seçenek tarafından sağlanan temel alan kümesindeki alan değerleri
önce verilir).
İlginç bir seçenek, bir alan tanımlayıcı önekini açan -D önek bayrağıdır.
belirli türdeki verileri filtrelemeyi kolaylaştırır. Ancak, döndürmek eşit derecede kolaydır
aracılığıyla doğrudan başkalarının hariç tutulması için herhangi bir özel çıktı türü üzerinde
bayraklar.
Rastgele sayı üreteci testine yeni başlayanların ilgisini çeken diğer iki bayrak -D
histogram (test başına temel değerlerin histogramını açar) ve -D açıklaması
(test başına tam bir test açıklamasını açar). Bu bayraklar çıktı tablosunu
daha çok her testin bir dizi "raporu".
AÇIKLAMASI KURALLAR
daha sert tamamen orijinal koddur ve herhangi bir kullanıcı tarafından istendiğinde değiştirilebilir ve kullanılabilir,
şartıyla:
a) Orijinal telif hakkı bildirimleri korunur ve kaynak, tüm
değişiklikler, türetilmiş herhangi bir yayın sırasında kamuya açık hale getirilir. Bu
Gnu Kamu Lisansının ilkelerine ve ruhuna uygun açık kaynaklı yazılımdır.
Herhangi bir yeniden dağıtıma eşlik etmesi gereken ekteki KOPYALAMA dosyasına bakın.
b) Kodun birincil yazarı (Robert G. Brown) uygun şekilde onaylanmıştır ve
türetilmiş herhangi bir yayında atıfta bulunulmuştur. George Marsaglia ve
Diehard paketi ve İstatistiksel Test Takımının çeşitli yazarları benzer şekilde
kabul edildi, ancak bu süit bu rasgele sayı testiyle gerçek bir kod paylaşmıyor
süitler.
c) Programın doğruluğu, uygunluğu ve etkinliği konusunda tam sorumluluk
kullanıcılara ve/veya değiştiricilere aittir. Ekte açıkça belirtildiği gibi
telif hakkı.h:
TELİF HAKKI SAHİPLERİ, BU YAZILIMLA İLGİLİ TÜM GARANTİLERİ REDDEDER, TÜM GARANTİLER
ZIMNİ SATILABİLİRLİK VE UYGUNLUK GARANTİLERİ, HİÇBİR DURUMDA TELİF HAKKI SAHİPLERİ
HERHANGİ BİR ÖZEL, DOLAYLI VEYA DOLAYLI ZARARDAN VEYA HERHANGİ BİR HASARDAN SORUMLU OLSUN
BİR SÖZLEŞME DURUMUNDA, İHMAL HALİNDE OLSUN KULLANIM, VERİ YA DA KAR KAYBINDAN KAYNAKLANAN
VEYA KULLANIMINDAN VEYA PERFORMANSINDAN KAYNAKLANAN YA DA BAĞLANTILI BAŞKA HAKSIZ EYLEMLER
BU YAZILIM.
TEŞEKKÜR
Bu paketin yazarı, George Marsaglia'ya minnetle teşekkür eder.
diehard test takımı) ve NIST Özel Yayını 800-22'nin (ki bu
için sözde rasgele sayı üreteçlerini test etmek için İstatistiksel Test Paketini açıklar.
kriptografik uygulamalar), buradaki testlerin mükemmel açıklamaları için. Bunlar
açıklamalar, bu paketin bir GPL ile geliştirilmesini sağladı.
Yazar ayrıca, akademik doğruluğun ve doğruluğun
Bu testlerin uygulanması, yazarın değil, yalnızca onun sorumluluğundadır.
Diehard veya STS süitleri. Bu, özellikle bunları değiştirmeyi uygun gördüğü durumlarda geçerlidir.
sıkı orijinal açıklamalarından testler.
TELİF HAKKI
GPL2b; bu programın kaynağına eşlik eden KOPYALAMA dosyasına bakın. bu
"standart Gnu Genel Kamu Lisansı sürüm 2 veya herhangi bir sonraki sürüm", bir küçük
(mizahi) "İçecek" modifikasyonu aşağıda listelenmiştir. Bu değişikliğin muhtemelen
yasal olarak savunulamaz ve onur kuralına göre gerçekten çok fazla takip edilebilir.
İçeceklerdeki kişisel tercihlerime gelince, kırmızı şarap harika, bira keyifli ve
Coca Cola veya kahve veya çay veya hatta süt, dini veya kişisel olarak kabul edilenler için kabul edilebilir.
nedenler karaciğerimi strese sokmamak istiyor.
The Içecek Değişiklik için the GPL:
Bu yazılımın herhangi bir memnun kullanıcısı, bu yazılımın birincil yazar(lar)ı ile görüştükten sonra
yazılımı uygun koşullar altında ilk kez satın almayı teklif
ya da onlara bir içecek. Kişiye göre bu içecek alkollü olabilir veya olmayabilir.
teklif verenin etik ve ahlaki görüşleri. İçecek maliyetinin bir ABD dolarını aşması gerekmez
(kesinlikle teklif verenin kaprisinde olabilir :-) ve kabul edilebilir veya reddedilebilir
teklif veren açısından başka bir yükümlülük olmaksızın. tekrarlamak gerekli değildir
ilk görüşmeden sonra teklif et ama zararı olmaz...
onworks.net hizmetlerini kullanarak dieharder'ı çevrimiçi kullanın