Nach dieser Quelle ist Chaitins Konstante normal.
Jede Stoppwahrscheinlichkeit ist eine normale und transzendentale reelle Zahl, die nicht berechenbar ist, was bedeutet, dass es keinen Algorithmus gibt, um ihre Ziffern zu berechnen. In der Tat ist jede Stoppwahrscheinlichkeit Martin-Löf-zufällig, was bedeutet, dass es nicht einmal einen Algorithmus gibt, der seine Ziffern zuverlässig erraten kann.
Weiterhin ist die Definition von normal, dass jede Ziffer mit gleicher Wahrscheinlichkeit auftritt . Und dass jedes Duett von Ziffern mit einer Wahrscheinlichkeit von und jedes Triplett mit einer Wahrscheinlichkeit von und so weiter auftritt .1 / b 2 1 / b 3
Chaitins Omega wird über berechnet
Wenn wir binär schreiben , erhalten wir eine Liste mit 0 und 1. Zum Beispiel:
2^-1=0.1 +
2^-2=0.01 +
2^-3=0.001 +
~skip 2^-4 as it does not halt
2^-5=0.00001 +
...
=\Omega
=0.11101...
Es ist klar zu sehen, dass die Position jedes Bits dem Haltezustand des dem Bit entsprechenden Längenprogramms entspricht.
Hier ist, womit ich zu kämpfen habe
Wenn tatsächlich normal ist, bedeutet dies, dass genau 50% der Programme angehalten werden und genau 50% nicht. Dies scheint sehr kontraintuitiv zu sein.
Angenommen, ich generiere Java-Programme, indem ich einzelne Zeichen zufällig verkette. Die Mehrheit von ihnen würde ich schätzen, dass mehr als 99,99% nicht einmal kompilieren würden. Würde dies nicht bedeuten, dass mindestens 99,99% von ihnen nicht aufhören werden? Wie können wir rechtfertigen, dass genau die Hälfte anhält und genau die Hälfte nicht, da normal ist?
Oder ist Wikipedia falsch, wenn normal ist?
quelle
Antworten:
Im Gegensatz zu Ihrem Beispiel ist die Chaitin-Konstante nicht wie folgt definiert:
Stattdessen gibt es eine Menge zulässiger Programme, die frei von Präfixen ist (keine Zeichenfolge ist ein Präfix einer anderen Zeichenfolge). Jedes der Programme in ist legal (dies negiert Ihr Java-Beispiel). Wenn die Programme unär codiert sind, hat das te Programm tatsächlich die Länge , und dann funktioniert Ihre Definition von . Für andere Codierungen lautet die Definition von jedoch Π n n & OHgr; & OHgr;Π ⊆ { 0 , 1 }∗ Π n n Ω Ω
| p | p Σ p & egr ; & Pgr; 2 - | p | ≤ 1
Chaitins Konstante ist algorithmisch zufällig : Die (Präfix-) Kolmogorov-Komplexität der ersten Bits ist . Um dies zu zeigen, beachten Sie zuerst, dass , die ersten Bits von , ausreichen, um zu bestimmen, ob ein Programm der Länge (unter der Codierung ) angehalten wird oder nicht. In der Tat als Bruch . Führen Sie alle Programme parallel aus, und fügen Sie bei jedem Stopp von zu einem Zähler (initialisiert bei Null). Schließlich (seitn - O ( 1 ) Ω n n Ω n Π Ω n ≤ Ω < Ω n + 2 - n p 2 - | p | C C ≥ Ω n C → Ω n Ω ≥ C + 2 - n ≥ Ω n + 2 - nn n - O ( 1 ) Ωn n Ω n Π Ωn≤ Ω < Ωn+ 2- n p 2- | p | C. C.≥ Ωn C.→ Ω von unten). Wenn an diesem Punkt das Eingabeprogramm der Länge nicht angehalten wurde, wissen Sie, dass es nicht angehalten wird, da ansonsten .n Ω ≥ C.+ 2- n≥ Ωn+ 2- n
Angenommen, für einige und unendlich viele könnten Sie mit Bits berechnen . Für jedes dieser können Sie eine Zeichenfolge finden, deren Kolmogorov-Komplexität größer als , indem Sie die Ausgabe aller Stoppprogramme mit einer Länge von höchstens berücksichtigen . Für ausreichend großes ist das Ergebnis ein Programm mit einer Länge von höchstens zum Berechnen des a-Strings, dessen Kolmogorov-Komplexität mehr als beträgt . Dieser Widerspruch beweist, dass für einige die Kolmogorov-Komplexität von mindestens beträgt .n Ω n n - K n n n K n n K Ω n n - K.K.> 0 n Ωn n - K. n n n K. n n K. Ωn n - K.
Die algorithmische Zufälligkeit von impliziert insbesondere, dass die Häufigkeit von 0s und 1s in ihrer binären Expansion zu 1/2 tendiert. Nehmen wir in der Tat an, dass für einige (rationale) unendlich viele so dass der Bruchteil von 1s in höchstens beträgt . Da es höchstens Zeichenfolgen mit höchstens vielen Einsen gibt, können wir auf die Größe komprimieren (die Konstante hängt von da das Programmε > 0 n Ω n 1 / 2 - ε 2 h ( 1 / 2 - ε ) n 1 / 2 - ε Ω n h ( 1 / 2 - ε ) n + 2 log n + C ε C ε ε ε n - ω ( 1 ) ΩΩ ϵ > 0 n Ωn 1/2−ϵ 2h(1/2−ϵ)n 1/2−ϵ Ωn h(1/2−ϵ)n+2logn+Cϵ Cϵ ϵ ϵ ). Dies ist jedoch , was der algorithmischen Zufälligkeit von widerspricht .n−ω(1) Ω
quelle
Ihr Fehler steht in der folgenden Zeile:
Nee. Das ist nicht was "normal" bedeutet. Oder anders ausgedrückt: Definieren Sie als die Anzahl der Bits, die eine 0 sind, in den ersten Bits der Basis-2-Erweiterung von . Zu sagen , dass ist normale bedeutet , dassn Ω Ωd0(n) n Ω Ω
Mit anderen Worten, "normal" ist eine asymptotische Vorstellung. Dies bedeutet, dass, wenn Sie weit genug in die Teile von schauen , durchschnittlich etwa die Hälfte davon Nullen sind. (In ähnlicher Weise ist ungefähr die Hälfte mit 1.)Ω
Dies sagt jedoch nichts über die ersten paar Teile von . Zum Beispiel gibt es keine Implikation, dass die binäre Erweiterung mit 0,01 beginnt ... oder irgendetwas anderes - und es gibt keine Implikation, dass nahe bei 1/2 liegt. kann nahe bei 0 oder nahe bei 1 oder irgendwo dazwischen liegen. das widerspricht nicht dem Normalsein, und Normalität bedeutet nichts darüber, wie groß ist.Ω Ω Ω Ω Ω
quelle