Schreiben Sie ein Manufactoria- Programm, das das leere Eingabeband akzeptiert. Aber mach es nicht schnell! Ich meine, schreibe das Programm schnell, aber lass es nicht schnell laufen. Je langsamer das Programm, desto besser, solange es irgendwann endet. Das folgende Beispielprogramm benötigt 3:51 (die vom Simulator gemeldete "Gesamtzeit").
Ihr Programm startet mit dem leeren Band. Es muss ein bisschen kritzeln, aber irgendwann das Ausgangsquadrat erreichen. Sie können Daten auf dem Band lassen, wenn Sie möchten. Das langsamste Programm auf dem 7x7 Manufactoria-Board gewinnt!
Ihre rechte Pfeiltaste ist Ihr Freund, es beschleunigt den Simulator.
Bonuspunkte für den Absturz des Simulators!
manufactoria
busy-beaver
Keith Randall
quelle
quelle
Antworten:
~ 10 23 Iterationen
~ 10 15 Iterationen~ 10 8 Iterationenhttp://pleasingfungus.com/Manufactoria/?lvl=32&code=g9:7f2;b12:8f2;p13:8f5;p11:8f3;r14:8f0;q11:10f3;q13:7f1;y13:9f1;r10:10f1 ; c12: 9f2; c9: 9f2; i11: 9f7; i10: 9f4; c9: 8f3; i10: 8f2; c14: 9f0; c15: 9f0; c15: 8f3; c15: 7f3; c14: 7f2; g12: 7f0; c11 : 7f3; c10: 7f2; q9: 6f7; r10: 6f1; r9: 5f3; c11: 6f0; r10: 5f2; r11: 5f1; r9: 4f3; r10: 4f0; r11: 4f0; y12: 5f2; y13: 5f2 ; y14: 5f3; y14: 6f0; y13: 6f0; y12: 6f0; & ctm = Slow_Accepter!; Generiere_die_ langsamste_ mögliche_Akzeptiermaschine;:; 7; 3; 0 ;
Die Maschine ist im Grunde ein Kilometerzähler, der in der Basis drei läuft und die roten, blauen und gelben Symbole verwendet, um für die Ziffern 0, 1 bzw. 2 zu stehen. Das grüne Symbol kennzeichnet das Ende der Nummer. Zu Beginn wird das Band mit 49 roten Symbolen initialisiert. Dies erfolgt durch die Teile in den oberen drei Reihen der Maschine. Die unteren vier Zeilen übernehmen die Aufgabe, die Zahl in einer Schleife zu erhöhen. Bei jeder Iteration ermitteln die beiden Zweigzellen auf der linken Seite, wie das Inkrement auf die aktuelle Zahl angewendet wird, und die Zweigzellen auf der rechten Seite kopieren die verbleibenden, nicht betroffenen Ziffern.
Früher habe ich versucht, die Laufzeit der Maschine zu schätzen, wenn sie vollständig ausgeführt werden darf. Auf dieser Ebene ist es jedoch sinnvoller, nur die Anzahl der Iterationen zu berücksichtigen. Grob gesagt dauert es ungefähr eine Minute, bis eine Iteration abgeschlossen ist - aber selbst wenn es eine Sekunde dauern würde, würde dies die Laufzeit nur um eine Größenordnung verringern.
quelle
603: 25
Online-Test
Ich habe heute die Manufactoria-Fragen noch einmal durchgelesen und hatte plötzlich eine Idee, die den Prozess dramatisch verlangsamen würde: Anstatt nur 50 Werte zu haben und die Farben dreimal zu ändern, macht das neue Programm das, aber danach dekrementiert es das Anzahl der Werte um 1 und durchläuft den Farbwechsel erneut, bis ein leeres Band vorhanden ist. Zu diesem Zeitpunkt stoppt das Programm.
In der Warteschlange werden nicht mehr als 50 Werte gleichzeitig gespeichert. Es macht also keinen Sinn, zu viele Werte auf das Band zu kopieren. Sie werden einfach sofort entfernt. Die Förderbänder zielen nach wie vor darauf ab, die für den Betrieb der Sache benötigte Zeit zu maximieren. Tatsächlich wurden nur minimale Optimierungen vorgenommen, um eine enorme Laufzeitsteigerung zu erzielen.
Immer noch nicht annähernd die Antwort von breadbox.
quelle
33:33
Wir haben eine ganze Weile daran gearbeitet (die Volatilität hat die Messlatte ziemlich hoch gelegt), aber als ich 33:33 traf, dachte ich, es sei eine gute Zeit, um anzuhalten.
Die Strategie ist ziemlich klar: Füllen Sie das Band im Grunde genommen mit einer Farbe, einer anderen und einer anderen und versuchen Sie immer, so viele Zellen wie möglich zwischen den einzelnen Schreibvorgängen (oder Schreibgruppen) zu durchlaufen.
Ich bin sicher, es gibt Wege, wie wir damit noch viel weiter gehen können.
Level Link
quelle