Kompliziertheit von Kolmogorov

In der algorithmischen Informationstheorie (ein Teilfeld der Informatik) ist die Kompliziertheit von Kolmogorov eines Gegenstands, wie ein Stück des Textes, ein Maß der rechenbetonten Mittel musste den Gegenstand angeben. Es wird nach dem sowjetischen russischen Mathematiker Andrey Kolmogorov genannt.

Kompliziertheit von Kolmogorov ist auch bekannt als beschreibende Kompliziertheit, Kolmogorov-Chaitin Kompliziertheit, algorithmisches Wärmegewicht oder Kompliziertheit der Programm-Größe.

Denken Sie zum Beispiel die folgenden zwei Schnuren der Länge 64, jeder, nur Kleinbuchstaben, Ziffern und Räume enthaltend:

Die erste Schnur hat eine kurze Englischsprachige Beschreibung, nämlich "ab 32mal", der aus 11 Charakteren besteht. Der zweite hat keine offensichtliche einfache Beschreibung (dieselbe Codierung verwendend), anders als das Niederschreiben der Schnur selbst, die 64 Charaktere hat.

Mehr formell ist die Kompliziertheit einer Schnur die Länge der kürzesten Beschreibung der Schnur auf einer festen universalen Beschreibungssprache. Die Empfindlichkeit der Kompliziertheit hinsichtlich der Wahl der Beschreibungssprache wird unten besprochen. Es kann gezeigt werden, dass die Kompliziertheit von Kolmogorov jeder Schnur mehr nicht sein kann als einige Bytes, die größer sind als die Länge der Schnur selbst. Wie man betrachtet, sind Schnuren, deren Kompliziertheit von Kolmogorov hinsichtlich der Größe der Schnur klein ist, nicht kompliziert.

Der Begriff der Kompliziertheit von Kolmogorov kann verwendet werden, um Unmöglichkeitsergebnisse festzusetzen und zu beweisen, die mit dem Unvollständigkeitslehrsatz von Gödel und dem stockenden Problem von Turing verwandt sind.

Definition

Um Kompliziertheit von Kolmogorov zu definieren, müssen wir zuerst eine Beschreibungssprache für Schnuren angeben. Solch eine Beschreibungssprache kann auf jeder Programmiersprache, wie Lispeln, Pascal oder Java Virtuelle Maschine bytecode basieren. Wenn P ein Programm ist, welche Produktionen eine Schnur x, dann ist P eine Beschreibung von x. Die Länge der Beschreibung ist gerade die Länge von P als eine Charakter-Schnur. In der Bestimmung der Länge von P müssen die Längen irgendwelcher in P verwendeten Unterprogramme verantwortlich gewesen werden. Die Länge jeder ganzen Zahl, ist unveränderlicher n, der im Programm P vorkommt, die Zahl von Bit, die erforderlich sind, n zu vertreten, der (grob) logn ist.

Wir konnten eine Verschlüsselung für Maschinen von Turing wechselweise wählen, wo eine Verschlüsselung eine Funktion ist, die zu jeder Turing Maschine M ein bitstring vereinigt

Jede Schnur s hat mindestens eine Beschreibung, nämlich das Programm

fungieren Sie GenerateFixedString

geben Sie s zurück

Wenn eine Beschreibung von s, d (s), von der minimalen Länge ist — d. h. es wenigste Zahl von Charakteren verwendet — wird es eine minimale Beschreibung von s genannt. Dann ist die Länge von d (s) — d. h. die Zahl von Charakteren in der Beschreibung — die Kompliziertheit von Kolmogorov von s, schriftlicher K (s). Symbolisch,

:

Wir denken jetzt, wie die Wahl der Beschreibungssprache den Wert von K betrifft und zeigen Sie, dass die Wirkung, die Beschreibungssprache zu ändern, begrenzt wird.

Lehrsatz. Wenn K und K die Kompliziertheitsfunktionen hinsichtlich Beschreibungssprachen L und L sind, dann gibt es einen unveränderlichen c (der nur von den Sprachen L und dem L abhängt) solch dass

:

Beweis. Durch die Symmetrie genügt es, um zu beweisen, dass es einen unveränderlichen c solch das für den ganzen bitstrings s, gibt

:

Nehmen Sie jetzt an, dass es ein Programm auf der Sprache L gibt, der als ein Dolmetscher für L handelt:

fungieren Sie InterpretLanguage (spannen Sie p)

wo p ein Programm in L ist. Der Dolmetscher wird durch das folgende Eigentum charakterisiert:

: Das Führen von InterpretLanguage auf dem Eingang p gibt das Ergebnis zurück, p zu führen.

So, wenn P ein Programm in L ist, der eine minimale Beschreibung von s ist, dann gibt InterpretLanguage (P) die Schnur s zurück. Die Länge dieser Beschreibung von s ist die Summe von

  1. Die Länge des Programms InterpretLanguage, den wir nehmen können, um der unveränderliche c zu sein.
  2. Die Länge von P, der definitionsgemäß K (s) ist.

Das beweist das gewünschte gebundene obere.

Siehe auch invariance Lehrsatz.

Geschichte und Zusammenhang

Algorithmische Informationstheorie ist das Gebiet der Informatik, die Kompliziertheit von Kolmogorov und andere Kompliziertheitsmaßnahmen auf Schnuren (oder andere Datenstrukturen) studiert.

Das Konzept und die Theorie der Kompliziertheit von Kolmogorov basieren auf einem entscheidenden Lehrsatz, der zuerst von Ray Solomonoff entdeckt ist, der es 1960 veröffentlicht hat, es in "Einem Einleitenden Bericht über eine Allgemeine Theorie der Induktiven Schlussfolgerung" als ein Teil seiner Erfindung der algorithmischen Wahrscheinlichkeit beschreibend. Er hat eine mehr ganze Beschreibung in seinen 1964-Veröffentlichungen, "Eine Formelle Theorie der Induktiven Schlussfolgerung," Teil 1 und Teil 2 in der Information und Kontrolle gegeben.

Andrey Kolmogorov hat später unabhängig diesen Lehrsatz in Problemen veröffentlicht zeigen An. Übertragung, Gregory Chaitin präsentiert auch diesen Lehrsatz in J. ACM; das Papier von Chaitin war vorgelegter Oktober 1966, revidiert im Dezember 1968 und zitiert sowohl die Papiere von Solomonoff als auch Kolmogorovs.

Der Lehrsatz sagt, dass unter Algorithmen, die Schnuren aus ihren Beschreibungen (Codes) decodieren, dort ein optimaler besteht. Dieser Algorithmus, für alle Schnuren, erlaubt so kurze wie erlaubte Codes durch jeden anderen Algorithmus bis zu einer zusätzlichen Konstante, die von den Algorithmen, aber nicht auf den Schnuren selbst abhängt. Solomonoff hat diesen Algorithmus und die Codelängen verwendet, die er erlaubt, um eine `universale Wahrscheinlichkeit einer Schnur' zu definieren, auf der die induktive Schlussfolgerung nachfolgender Ziffern einer Schnur basieren kann. Kolmogorov hat diesen Lehrsatz verwendet, um mehrere Funktionen von Schnuren zu definieren: Kompliziertheit, Zufälligkeit und Information.

Als sich Kolmogorov der Arbeit von Solomonoff bewusst geworden ist, hat er den Vorrang von Solomonoff Seit mehreren Jahren anerkannt, die Arbeit von Solomonoff war in der Sowjetunion besser bekannt als in der Westwelt. Die allgemeine Einigkeit in der wissenschaftlichen Gemeinschaft war jedoch, diesen Typ der Kompliziertheit mit Kolmogorov zu vereinigen, der mit Zufälligkeit einer Folge beschäftigt gewesen ist, während Algorithmische Wahrscheinlichkeit verbunden mit Solomonoff geworden ist, der sich auf Vorhersage mit seiner Erfindung des universalen a priori Wahrscheinlichkeitsvertriebs konzentriert hat.

Es gibt mehrere andere Varianten der Kompliziertheit von Kolmogorov oder algorithmischen Information. Der am weitesten verwendete basiert auf dem Selbstabgrenzen von Programmen und ist hauptsächlich wegen Leonid Levins (1974).

Eine axiomatische Annäherung an die Kompliziertheit von Kolmogorov, die auf Axiomen von Blum (Blum 1967) gestützt ist, wurde von Mark Burgin im Vortrag eingeführt, der für die Veröffentlichung von Andrey Kolmogorov (Burgin 1982) gehalten ist.

Einige denken, dass, das Konzept nennend, "Kompliziertheit von Kolmogorov" ein Beispiel der Wirkung von Matthew ist.

Grundlegende Ergebnisse

In der folgenden Diskussion gelassener K (s), die Kompliziertheit der Schnur s sein.

Es ist nicht hart zu sehen, dass die minimale Beschreibung einer Schnur zu viel nicht größer sein kann als die Schnur selbst: Programm-GenerateFixedString, über dem Produktionen s ein fester Betrag ist, der größer ist als s.

Lehrsatz. Es gibt einen unveränderlichen solchen c dass

:

Incomputability der Kompliziertheit von Kolmogorov

Das erste Ergebnis besteht darin, dass es keine Weise gibt, K zu schätzen.

Lehrsatz. K ist nicht eine berechenbare Funktion.

Mit anderen Worten gibt es kein Programm, das eine Schnur s, wie eingegeben, nimmt und die ganze Zahl K (s) als Produktion erzeugt. Wir zeigen das durch den Widerspruch, indem wir ein Programm machen, das eine Schnur schafft, die nur im Stande sein sollte, durch ein längeres Programm geschaffen zu werden. Nehmen Sie an, dass es ein Programm gibt

fungieren Sie KolmogorovComplexity (spannen Sie s)

das nimmt als Eingang eine Schnur s und gibt K (s) zurück. Denken Sie jetzt das Programm

fungieren Sie GenerateComplexString (interne Nummer n)

weil ich = 1 zur Unendlichkeit:

für jede Schnur s der Länge genau ich

wenn KolmogorovComplexity (s)> = n

geben Sie s zurück

verlassener

Dieses Programm nennt KolmogorovComplexity als ein Unterprogramm. Dieses Programm versucht jede Schnur, mit dem kürzesten anfangend, bis es eine Schnur mit der Kompliziertheit mindestens n findet, dann diese Schnur zurückgibt. Deshalb, in Anbetracht jeder positiven ganzen Zahl n, erzeugt es eine Schnur mit der Kompliziertheit von Kolmogorov mindestens so groß wie n. Das Programm selbst hat eine feste Länge U. Der Eingang zum Programm GenerateComplexString ist eine ganze Zahl n; hier wird die Größe von n durch die Zahl von Bit gemessen, die erforderlich sind, n zu vertreten, der Klotz (n) ist. Denken Sie jetzt das folgende Programm:

fungieren Sie GenerateParadoxicalString

geben Sie GenerateComplexString (n) zurück

Dieses Programm nennt GenerateComplexString als ein Unterprogramm und hat auch einen freien Parameter

n. Diese Programm-Produktionen eine Schnur s, dessen Kompliziertheit mindestens n ist. Durch eine günstige Wahl des Parameters n werden wir einen Widerspruch erreichen. Um diesen Wert zu wählen, bemerken Sie, dass s durch das Programm GenerateParadoxicalString beschrieben wird, dessen Länge am grössten Teil von ist

:

wo C das "oberirdische" ist, das durch das Programm GenerateParadoxicalString hinzugefügt ist. Da n schneller wächst als Klotz (n), dort besteht ein Wert n solch dass

:

Aber das widerspricht der Definition von s eine Kompliziertheit mindestens n zu haben. D. h. durch die Definition von K (s) soll die Schnur s zurückgegeben von GenerateParadoxicalString nur im Stande sein, durch ein Programm der Länge n oder länger erzeugt zu werden, aber GenerateParadoxicalString ist kürzer als n. So kann das Programm genannt "KolmogorovComplexity" nicht die Kompliziertheit von willkürlichen Schnuren wirklich berechenbar finden.

Das ist Beweis durch den Widerspruch, wo der Widerspruch dem Paradox von Berry ähnlich ist: "Lassen Sie n die kleinste positive ganze Zahl sein, die in weniger als zwanzig englischen Wörtern nicht definiert werden kann." Es ist auch möglich, die Unberechenbarkeit von K durch die Verminderung von der Unberechenbarkeit des stockenden Problems H zu zeigen, da K und H Turing-equivalent.http://www.daimi.au.dk/~bromille/DC05/Kolmogorov.pdf sind

In der Programmiersprache-Gemeinschaft gibt es eine als der Vollbeschäftigungslehrsatz bekannte Folgeerscheinung, feststellend, dass es keinen vollkommenen Größe optimierenden Bearbeiter gibt.

Kettenregel für die Kompliziertheit von Kolmogorov

Die Kettenregel für die Kompliziertheit von Kolmogorov setzt das fest

:

Es stellt fest, dass das kürzeste Programm, das sich X und Y vermehrt, nicht mehr als ein logarithmischer Begriff ist, der größer ist als ein Programm, um sich X und ein Programm zu vermehren, um Y wieder hervorzubringen, gegeben X. Mit dieser Behauptung kann man eine Entsprechung der gegenseitigen Information für die Kompliziertheit von Kolmogorov definieren.

Kompression

Es ist aufrichtig, um obere Grenzen zu schätzen, für: Pressen Sie einfach die Schnur mit einer Methode zusammen, führen Sie den entsprechenden decompressor auf der gewählten Sprache durch, verketten Sie den decompressor zur komprimierten Schnur, und messen Sie die Länge der resultierenden Schnur.

Eine Schnur s ist durch eine Nummer c komprimierbar, wenn sie eine Beschreibung hat, deren Länge nicht zu weit geht. Das ist zum Ausspruch gleichwertig. Sonst ist s incompressible durch c. Wie man sagt, ist eine Schnur incompressible durch 1 einfach incompressible; durch den Ablegefach-Grundsatz, der gilt, weil jede komprimierte Schnur zu nur einer unkomprimierter Schnur, incompressible Schnuren kartografisch darstellt, muss bestehen, da es Bit-Schnuren der Länge n, aber nur 2 &minus gibt; 1 kürzere Schnuren, der Schnuren der Länge weniger ist als n, d. h. mit der Länge 0,1..., n-1.

Aus demselben Grund sind die meisten Schnuren im Sinn kompliziert, dass sie nicht bedeutsam zusammengepresst werden können: Ist nicht viel kleiner als, die Länge von s in Bit. Um das genau zu machen, befestigen Sie einen Wert von n. Es gibt bitstrings der Länge n. Der gleichförmige Wahrscheinlichkeitsvertrieb auf dem Raum dieser bitstrings teilt genau gleiches Gewicht jeder Schnur der Länge n zu.

Lehrsatz. Mit dem gleichförmigen Wahrscheinlichkeitsvertrieb auf dem Raum von bitstrings der Länge n ist die Wahrscheinlichkeit, dass eine Schnur incompressible durch c ist, mindestens.

Um den Lehrsatz zu beweisen, bemerken Sie, dass die Zahl von Beschreibungen der Länge, die nicht zu weit geht, durch die geometrische Reihe gegeben wird:

:

Dort bleiben Sie mindestens

:

viele bitstrings der Länge n, die incompressible durch c sind. Um die Wahrscheinlichkeit zu bestimmen, teilen sich dadurch.

Der Unvollständigkeitslehrsatz von Chaitin

Wir wissen, dass, im Satz aller möglichen Schnuren, die meisten Schnuren im Sinn kompliziert sind, dass sie auf keine bedeutsam "komprimierte" Weise beschrieben werden können. Jedoch stellt es sich heraus, dass die Tatsache, dass eine spezifische Schnur kompliziert ist, nicht formell bewiesen werden kann, wenn die Kompliziertheit der Schnur über einer bestimmten Schwelle ist. Die genaue Formalisierung ist wie folgt. Befestigen Sie zuerst ein besonderes axiomatisches System S für die natürlichen Zahlen. Das axiomatische System muss stark genug sein, so dass zu bestimmten Behauptungen über die Kompliziertheit von Schnuren man eine Formel F in S vereinigen kann. Diese Vereinigung muss das folgende Eigentum haben: Wenn F von den Axiomen von S nachweisbar ist, dann ist die entsprechende Behauptung A wahr. Diese "Formalisierung" kann entweder durch eine künstliche Verschlüsselung wie Gödel numerierend oder durch eine Formalisierung erreicht werden, die klarer die beabsichtigte Interpretation von S respektiert.

Lehrsatz. Dort besteht ein unveränderlicher L (der nur vom besonderen axiomatischen System und der Wahl der Beschreibungssprache abhängt) solch, dass dort keine Schnur s für der die Behauptung besteht

:

(wie formalisiert, in S) kann innerhalb des axiomatischen Systems S bewiesen werden.

Bemerken Sie, dass durch den Überfluss an fast incompressible Schnuren die große Mehrheit jener Behauptungen wahr sein muss.

Der Beweis dieses Ergebnisses wird auf einem im Paradox von Berry verwendeten Selbstverweisungsaufbau modelliert. Der Beweis ist durch den Widerspruch. Wenn der Lehrsatz, dann falsch

war

:Assumption (X): Für jede ganze Zahl n dort besteht eine Schnur s, für den es einen Beweis in S der Formel "K (s)  n" gibt (den wir annehmen, kann in S formalisiert werden).

Wir können eine wirksame Enumeration aller formellen Beweise in S durch ein Verfahren finden

fungieren Sie NthProof (interne Nummer n)

der als Eingang n und Produktionen ein Beweis nimmt. Diese Funktion

zählt alle Beweise auf. Einige von diesen sind Beweise für Formeln, die wir nicht tun

Sorge über hier (da jeder mögliche Beweis auf der Sprache von S für einen n erzeugt wird). Einige von diesen sind Kompliziertheitsformeln der Form K (s)  n, wo s und n Konstanten auf der Sprache von S sind. Es gibt ein Programm

fungieren Sie NthProofProvesComplexityFormula (interne Nummer n)

der bestimmt, ob der n-te Beweis wirklich beweist

eine Kompliziertheitsformel K (s)  L. Die Schnuren s und

der

die ganze Zahl L ist der Reihe nach durch Programme berechenbar:

fungieren Sie StringNthProof (interne Nummer n)

fungieren Sie ComplexityLowerBoundNthProof (interne Nummer n)

Denken Sie das folgende Programm

fungieren Sie GenerateProvablyComplexString (interne Nummer n)

weil ich = 1 zur Unendlichkeit:

wenn NthProofProvesComplexityFormula (i) und ComplexityLowerBoundNthProof (i)  n

geben Sie StringNthProof (ich) zurück

verlassener

In Anbetracht eines n versucht dieses Programm jeden Beweis, bis es eine Schnur findet

und ein Beweis im formellen System S der Formel K (s)  L für einen L  n. Das Programm

endet durch unsere Annahme (X). Jetzt hat dieses Programm eine Länge U.

Es gibt eine ganze Zahl n solch, dass U + Klotz (n) + C, wo C die allgemeinen Unkosten von ist

fungieren Sie GenerateProvablyParadoxicalString

geben Sie GenerateProvablyComplexString (n) zurück

verlassener

Die Programm-Produktionen von GenerateProvablyParadoxicalString eine Schnur s, für den dort ein solcher L besteht, dass K (s)  L in S mit L  n formell bewiesen werden kann. In besonderem K (s) 

n ist wahr. Jedoch wird s auch durch ein Programm der Länge beschrieben

U + Klotz (n) + C so ist seine Kompliziertheit weniger als n. Dieser Widerspruch beweist, dass Annahme (X) nicht halten kann.

Ähnliche Ideen werden verwendet, um die Eigenschaften der Konstante von Chaitin zu beweisen.

Minimale Nachrichtenlänge

Der minimale Nachrichtenlänge-Grundsatz der statistischen und induktiven Schlussfolgerung und Maschine, die erfährt, wurde von C.S. Wallace und D.M. Boulton 1968 entwickelt. MML ist Bayesian (es vereinigt vorherigen Glauben), und

mit der Information theoretisch. Es hat die wünschenswerten Eigenschaften von statistischem

invariance (verwandelt sich die Schlussfolgerung mit einem re-parametrisation, solcher als von

Polarkoordinaten zu Kartesianischen Koordinaten), statistische Konsistenz (sogar

für sehr harte Probleme wird MML zu jedem zu Grunde liegenden Modell zusammenlaufen), und Leistungsfähigkeit (wird das MML Modell zu jedem wahren zu Grunde liegenden Modell fast so schnell zusammenlaufen, wie möglich ist). C.S. Wallace und D.L. Dowe (1999) haben eine formelle Verbindung zwischen MML und algorithmischer Informationstheorie (oder Kompliziertheit von Kolmogorov) gezeigt.

Zufälligkeit von Kolmogorov

:

Zufälligkeit von Kolmogorov (hat auch algorithmische Zufälligkeit genannt), definiert eine Schnur (gewöhnlich Bit) als zufällig seiend, wenn, und nur wenn es kürzer ist als jedes Computerprogramm, das diese Schnur erzeugen kann. Diese Definition der Zufälligkeit ist von der Definition der Kompliziertheit von Kolmogorov kritisch abhängig. Um diese Definition abgeschlossen zu machen, muss ein Computer, gewöhnlich eine Maschine von Turing angegeben werden. Gemäß der obengenannten Definition der Zufälligkeit ist eine zufällige Schnur auch eine "Incompressible"-Schnur im Sinn, dass es unmöglich ist, eine Darstellung der Schnur mit einem Programm zu geben, dessen Länge kürzer ist als die Länge der Schnur selbst. Jedoch, gemäß dieser Definition, enden die meisten Schnuren kürzer als eine bestimmte Länge damit, zufällig zu sein (Chaitin-Kolmogorovically), weil der beste mit sehr kleinen Schnuren tun kann, soll ein Programm schreiben, das einfach diese Schnuren druckt.

Siehe auch

  • Beere-Paradox
  • Datenkompression
  • Induktive Schlussfolgerung
  • Struktur von Kolmogorov fungiert
  • Wichtige Veröffentlichungen in der algorithmischen Informationstheorie
  • Entfernung von Levenshtein
  • Grammatik-Induktion

Referenzen

  • Burgin, M. (1982), "Verallgemeinerte Kompliziertheit von Kolmogorov und Dualität in der Theorie der Berechnung", Benachrichtigungen der russischen Akademie von Wissenschaften, v.25, Nr. 3, Seiten 19-23.
  • Deckel, Thomas M. und Thomas, Joy A., Elemente der Informationstheorie, 1. Ausgabe. New York: Wiley-Zwischenwissenschaft, 1991. Internationale Standardbuchnummer 0-471-06259-6. 2. Ausgabe. New York: Wiley-Zwischenwissenschaft, 2006. Internationale Standardbuchnummer 0-471-24195-4.
  • Lajos, Rónyai und Gábor, Ivanyos und Réka, Szabó, Algoritmusok. TypoTeX, 1999. Internationale Standardbuchnummer 963-2790-14-6
  • Li, Ming und Vitányi, Paul, Eine Einführung in die Kompliziertheit von Kolmogorov und Seine Anwendungen, den Springer, 1997. Einführungskapitel-voller Text.
  • Yu Manin, Ein Kurs in der Mathematischen Logik, dem Springer-Verlag, 1977. Internationale Standardbuchnummer 9780720428445
  • Sipser, Michael, Einführung in die Theorie der Berechnung, PWS Publishing Company, 1997. Internationale Standardbuchnummer 0-534-95097-3.
  • Wallace, C. S. und Dowe, D. L., Minimale Nachricht Länge und Kompliziertheit von Kolmogorov, Computerzeitschrift, Vol. 42, Nr. 4, 1999).

Links


Aquakultur / Kirchenlied Proserpine
Impressum & Datenschutz