Quantifizierung der Nicht-Zufälligkeit eines spezialisierten Zufallsgenerators?

9

Ich habe gerade diese interessante Frage über einen Zufallszahlengenerator gelesen, der niemals den gleichen Wert dreimal hintereinander erzeugt. Dies unterscheidet den Zufallszahlengenerator deutlich von einem standardmäßigen Zufallszahlengenerator, aber ich bin mir nicht sicher, wie man quantitativ beschreibt, wie sich dieser Generator von einem Generator unterscheidet, der diese Eigenschaft nicht hat.

Angenommen, Sie haben mir zwei Zufallsgeneratoren, R und S, gegeben, wobei R ein echter Zufallszahlengenerator ist und S ein echter Zufallszahlengenerator ist, der so modifiziert wurde, dass er nie denselben Wert drei Mal hintereinander erzeugt. Wenn du mir nicht gesagt hast, welches R oder S ist, dann kann ich das nur so sehen, wenn ich die Generatoren laufen lasse, bis einer von ihnen den gleichen Wert drei Mal hintereinander produziert.

Meine Frage ist - Gibt es einen besseren Algorithmus, um die beiden Generatoren auseinander zu halten? Beeinträchtigt die Einschränkung, dass die gleiche Zahl nicht dreimal erzeugt wird, irgendwie das beobachtbare Verhalten des Generators in einer anderen Weise, als dass verhindert wird, dass drei gleiche Werte hintereinander auftreten?

    
templatetypedef 01.07.2011, 17:43
quelle

4 Antworten

2

Als Folge von Rices Theorem gibt es keine Möglichkeit zu sagen, was ist was.

Beweis: Sei L die Ausgabe des normalen RNG. Sei L 'L, aber mit allen Folgen der Länge & gt; = 3 entfernt. Einige TMs erkennen L ', manche jedoch nicht. Daher ist es nach dem Satz von Rice nicht entscheidbar, zu bestimmen, ob ein TM L 'akzeptiert.

Wie andere bemerkt haben, können Sie vielleicht eine Aussage machen wie "Es hat für N Schritte gelaufen, ohne dreimal zu wiederholen", aber Sie können niemals den Sprung zu "es wird nie wiederholen eine Ziffer dreimal. " Geeigneterweise gibt es mindestens eine Maschine, für die Sie nicht bestimmen können, ob sie dieses Kriterium erfüllt oder nicht.

Vorbehalt: Wenn Sie einen wirklich zufälligen Generator (z. B. Kernzerfall) hätten, wäre es möglich, dass der Satz von Rice nicht gilt. Meine Intuition ist, dass das Theorem immer noch für diese Maschinen gilt, aber ich habe es noch nie diskutiert.

BEARBEITEN : ein sekundärer Beweis. Angenommen, P(X) ermittelt mit hoher Wahrscheinlichkeit, ob X L' akzeptiert oder nicht. Wir können eine (unendliche Anzahl von) Programmen F wie:

konstruieren %Vor%

P kann das Verhalten von F(P) nicht ermitteln. Außerdem sagt P das Verhalten von G korrekt voraus. Wir können konstruieren:

%Vor%

Also muss es für jeden guten Fall mindestens einen schlechten Fall geben.

    
Xodarap 01.07.2011, 20:02
quelle
2

Wenn S durch Ablehnen von R definiert ist, dann ist eine von S erzeugte Sequenz eine Untersequenz der Sequenz, die von R erzeugt wird. Wenn Sie beispielsweise eine einfache Zufallsvariable X mit der gleichen Wahrscheinlichkeit wie 1 oder 0 verwenden, müssten Sie:

%Vor%

Der einzige wirkliche Weg, diese beiden zu unterscheiden, besteht darin, nach Streifen zu suchen. Wenn Sie Binärzahlen erzeugen, dann sind Streifen unglaublich häufig (so sehr, dass man fast immer zwischen einer zufälligen 100-stelligen Sequenz und einer unterscheiden kann, die ein Schüler schreibt, wenn er versucht, zufällig zu sein). Wenn die Zahlen von [0,1] gleichmäßig übernommen werden, sind Streifen weit weniger verbreitet.

Es ist eine einfache Übung in der Wahrscheinlichkeit, die Wahrscheinlichkeit zu berechnen, dass drei aufeinanderfolgende Zahlen gleich sind, sobald Sie die Verteilung kennen, oder sogar die erwartete Anzahl von Zahlen, bis die Wahrscheinlichkeit von drei aufeinanderfolgenden gleichen Zahlen größer ist als p für Ihre Lieblingswahl von p .

    
PengOne 01.07.2011 17:59
quelle
1

Da Sie definiert haben, dass sie sich nur in Bezug auf diese spezifische Eigenschaft unterscheiden, gibt es keinen besseren Algorithmus, um diese beiden zu unterscheiden.

Wenn Sie die Randum-Werte verdreifachen, erzeugt der Generator S natürlich alle anderen Tripel etwas häufiger als R , um die fehlenden Tripel (X,X,X) zu kompensieren. Aber um ein signifikantes Ergebnis zu erhalten, würden Sie viel mehr Daten benötigen als es kostet, einen Wert dreimal hintereinander beim ersten Mal zu finden.

    
Howard 01.07.2011 17:50
quelle
0

Wahrscheinlich verwenden Sie ENT ( Ссылка )

    
Nthalk 01.07.2011 18:40
quelle

Tags und Links