Dieser Beitrag ist locker von diesem Mathoverflow-Beitrag inspiriert .
Ein Vanisher ist ein beliebiges Muster in Conways Spiel des Lebens, das nach einem Schritt vollständig verschwindet. Das folgende Muster ist beispielsweise ein Vanisher der Größe 9.
Eine interessante Eigenschaft von Vanishers ist, dass jedes Muster in ein verschwindendes umgewandelt werden kann, indem einfach mehr lebende Zellen hinzugefügt werden. Zum Beispiel kann das folgende Muster wie folgt vollständig in ein verschwindendes Muster eingeschlossen werden
Wir können dieses Muster jedoch zu einem Vanisher machen, indem wir noch weniger lebende Zellen hinzufügen.
Ihre Aufgabe ist es, ein Programm zu schreiben, das diese Aufgabe für uns erledigt. Diesem wird ein Muster als Eingabe gegeben, und es wird ein verschwindendes Muster ausgegeben, das die Eingabe enthält. Sie müssen nicht unbedingt das optimale Muster finden, sondern nur ein Muster, das funktioniert.
Wertung
Um ein Ergebnis für Ihr Programm zu erzielen, müssen Sie es auf allen Polyplets der Größe 6 ausführen (wobei symmetrisch äquivalente Fälle nicht doppelt gezählt werden). Hier ist ein Pastebin, das jedes Polyplet in einer eigenen Zeile enthält. Es sollten insgesamt 524 sein. Sie werden als Liste von sechs Koordinaten ( (x,y)
Tupeln) dargestellt, die jeweils den Standort einer lebenden Zelle darstellen.
Ihre Punktzahl ist die Gesamtzahl der neuen Zellen, die hinzugefügt wurden, um alle diese Polyplets in Vanishers zu verwandeln.
Krawatten
Im Falle von Bindungen werde ich eine Liste der Polyplets der Größe 7 für die Programme bereitstellen, auf denen ausgeführt werden soll.
IO
Ich würde mir wünschen, dass IO ziemlich flexibel ist. Sie können Eingaben und Ausgaben in vernünftigen Formaten vornehmen, aber Sie werden wahrscheinlich Eingaben in demselben Format vornehmen wollen wie die von mir bereitgestellten Rohdaten. Ihr Format sollte über mehrere Läufe hinweg konsistent sein.
Zeitliche Koordinierung
Ihr Programm sollte in angemessener Zeit (ca. <1 Tag) auf einem angemessenen Computer ausgeführt werden. Ich werde das nicht wirklich durchsetzen, aber ich würde es vorziehen, wenn wir alle nett spielen würden.
quelle
Antworten:
Python + Z3 , Score = 3647
Läuft in 14 Sekunden auf meinem achtkernigen System.
Volle Leistung
quelle
+
in einigen Fällen keine Verbindung zur Hauptform gibt, aber es scheint, dass sie notwendig sind, um das Laichen neuer Zellen zu vermeiden. Sind diese Lösungen daher optimal?z3.Or
anstelle von Vanille verwendena or b
? Ist es reine Leistung oder hat es eine andere Funktionalität?