ichp( i1/ n,…, ichk/ n)
In der Praxis gibt es keinen universellen Test für die Zufälligkeit von Streams, sondern eine Reihe von Tests. Wenn Ihr Stream k der besten Tests versucht und alle besteht, können wir ziemlich sicher sein, dass es zufällig ist ... bis jemand k + 1 erfindet. ' st Test, der es bricht.
Hier ist, was Knuth darüber in "Art of Computer Algorithms, Vol 2" sagt.
"Wenn sich eine Sequenz in Bezug auf die Tests T1, T2, ..., Tn zufällig verhält, können wir im Allgemeinen nicht sicher sein, dass es kein miserabler Fehler ist, wenn sie einem weiteren Test T (n + 1) unterzogen wird Jeder Test gibt uns immer mehr Vertrauen in die Zufälligkeit der Sequenz. In der Praxis wenden wir ungefähr ein halbes Dutzend verschiedene Arten von statistischen Tests auf eine Sequenz an, und wenn sie diese zufriedenstellend besteht, betrachten wir sie als zufällig - es wird dann angenommen unschuldig bis zum Beweis der Schuld."
Ich würde empfehlen, Knuths Abschnitt 3.1 "Kunst der Computeralgorithmen" zu lesen, um eine allgemeine Einführung in die Pseudozufälligkeit zu erhalten, und 3.3 über statistische Tests für Streams.