Das Ordnungszahlensystem ist ein System mit unendlichen Zahlen. Viele unendliche Zahlen. So viele unendliche Zahlen, dass es buchstäblich keine Unendlichkeit gibt, um seine eigene Unendlichkeit darzustellen. Das obige Bild gibt eine kleine Vorstellung davon, wie sie funktionieren. Eine Ordnungszahl ( Von-Neumann-Konstruktion ) ist eine Reihe früherer Ordnungszahlen . Beispiel: 0 ist die leere Menge, 1 ist die Menge {0}, 2 ist die Menge {0, 1} usw. Dann erhalten wir ω, das ist {0, 1, 2, 3 ...}. ω + 1 ist {0, 1, 2, 3 ... ω}, ω mal zwei ist {0, 1, 2 ... ω, ω + 1, ω + 2 ...} und du machst einfach weiter so Das.
Ihr Programm gibt eine Reihe von Ordnungszahlen aus, z. B. {0, 1, 4}. Ihre Punktzahl ist dann die niedrigste Ordnungszahl mehr als die gesamte Ordnungszahl in Ihrem Satz. Für {0, 1, 4} wäre die Punktzahl 5. Für {0, 1, 2 ...} wäre die Punktzahl ω.
Wie geben Sie Ihre Ordnungszahlen aus, die Sie fragen? Code natürlich. Ihr Programm gibt eine möglicherweise unendliche Liste anderer Programme in Anführungszeichen in jeder Zeile aus (verwenden Sie die Literalzeichenfolge "\ n", um neue Zeilen darzustellen). Ein Programm entspricht der oben angegebenen Punktzahl. Zum Beispiel, wenn Sie ausgeben
"A"
"B"
"C"
Wenn A, B und C selbst gültige Antworten sind und die Punkte {0, 1, 4} haben, ist der Punktestand Ihres Programms 5. Beachten Sie, dass A, B und C vollständige Programme sein müssen, keine Fragmente.
Basierend auf den obigen Regeln hat ein Programm, das nichts ausgibt, eine Punktzahl von 0 (die kleinste Ordnungszahl größer als alle {} ist 0). Denken Sie auch daran, dass sich eine Menge über das Axiom der Grundlage nicht selbst enthalten kann . Jede Menge (und daher auch jede Ordnungszahl) hat nämlich einen Pfad bis auf Null. Dies bedeutet, dass das a full-quine ungültig ist, da es keine Menge ist.
Auch darf kein Programm auf fremde Ressourcen (eigene Datei, Internet etc ...) zugreifen. Wenn Sie Ihre Partitur auflisten, stellen Sie auch die Kantor-Normalform der Partitur daneben, wenn sie noch nicht in Kantor-Normalform vorliegt.
Unter Berücksichtigung der oben genannten Punkte muss die tatsächliche Antwort, die Sie veröffentlichen, unter 1.000.000 Byte liegen (ohne Kommentare). (Diese Obergrenze wird wahrscheinlich nur für automatisch generierten Code ins Spiel kommen.) Außerdem können Sie Ihre Punktzahl für jedes Byte erhöhen, das Sie nicht verwenden (da es sich um Unendlichkeiten handelt, wird dies wahrscheinlich nur berücksichtigt, wenn die Ordnungszahlen sehr nahe beieinander liegen oder gleich sind). Auch hier gilt dieser Absatz nur für die gepostete Antwort, nicht für die generierten oder die generierten und so weiter.
Dies hat das quine-Tag, da es hilfreich sein kann, zumindest einen Teil des Quellcodes zu generieren, um große Ordinalzahlen zu erstellen. Dies ist jedoch keinesfalls erforderlich (zum Beispiel würde eine Einreichung mit Punktzahl 5 wahrscheinlich keinen eigenen Quellcode benötigen).
Ein ausgearbeitetes und kommentiertes Beispiel finden Sie hier .