In Anlehnung an Deigos Antwort besagen die Standardwerte für die Komplexität der Stichproben aus der Lerntheorie, dass Sie, wenn Sie mit der Suche nach einem "ungefähr korrekten" Programm zufrieden sind, nicht viele Punkte ausprobieren müssen. Nehmen wir an, wir kodieren Programme in Binärform, so dass es nur Programme der Länge d gibt. Nehmen wir auch an, dass es eine gewisse Verteilung über Eingabebeispiele D gibt . Vielleicht ist es Ihr Ziel, ein Programm zu finden, von dem Sie sich ziemlich sicher sind, dass es fast richtig ist ("wahrscheinlich ungefähr korrekt", dh wie im Valiants PAC-Lernmodell). Das heißt, Sie möchten einen Algorithmus ausführen, der eine kleine Anzahl von Abtastwerten x ∼ D zusammen mit f ( x ) aufnimmt.2dDx∼Df(x)und wird mit einer Wahrscheinlichkeit von mindestens ein Programm P ausgeben, das mit f in mindestens einem ( 1 - ϵ ) Bruchteil der aus D gezogenen Eingaben übereinstimmt . (1−δ)Pf(1−ϵ)D
Wir werden einfach Beispiele x ∼ D zeichnen und jedes Programm P mit einer Länge ≤ d ausgeben, das in allen Beispielen mit f übereinstimmt . (Eine ist garantiert vorhanden, da wir annehmen, dass f höchstens d Kolmogorov-Komplexität hat ) ...mx∼DP≤dffd
Wie groß ist die Wahrscheinlichkeit, dass ein bestimmtes Programm , das bei mehr als einem Viertel der Beispiele mit f nicht übereinstimmt, mit den von uns ausgewählten m Beispielen übereinstimmt ? Es ist höchstens ( 1 - ϵ ) m . Wir möchten diese Wahrscheinlichkeit nehmen höchstens sein δ / 2 d , so dass wir eine Vereinigung über alle gebundenes nehmen 2 d Programme und sagen , dass mit einer Wahrscheinlichkeit von mindestens 1 - δ , kein „schlechtes“ Programm steht im Einklang mit unseren gezogen Beispielen . Beim Lösen sehen wir, dass es ausreicht, nur m ≥ 1 zu nehmen
Pfϵm(1−ϵ)mδ/2d2d1−δ
Beispiele. (dh nur linear viele in der Kolmogorov-Komplexität vonf
m≥1ϵ(d+log1/δ)
f ...)
Übrigens, Argumente wie dieses können verwendet werden, um "Occam's Razor" zu rechtfertigen: Angesichts einer festgelegten Anzahl von Beobachtungen unter allen Theorien, die sie erklären, sollten Sie diejenige mit der geringsten Kolmogorov-Komplexität wählen, da die geringste Wahrscheinlichkeit einer Überanpassung besteht.
Natürlich, wenn Sie nur ein einziges festes Programm auf diese Weise überprüfen wollen, brauchen Sie nur Beispiele ...O(log(1/δ)/ϵ)