Knobelspiel revisited

Letzten Freitag hielt ich das Knobelspiel in der Hand, für dessen flache Seite ich bereits ein Programm geschrieben hatte. Ich bekam die Teile nicht wieder in das Dreieck rein und dachte mir ich könnte doch einfach die Lösung verwenden, die mein Programm damals errechnet hat. Und siehe da: die Lösung ist falsch :(. Das wurmte mich natürlich das gesamte Wochenende über. Ich war zuhause auf Borkum und hatte leider keine Kopie des Sourcecodes parat (der Link auf dem alten Blogeintrag ist tot). Wieder in Oldenburg angekommen hab ich mir mein Programm nochmal vorgenommen. Es hatte zwei kleine Bugs:

  • von zwei Sorten gibt es zwei Steine, aber ich hatte einmal die falsche Sorte doppelt in meiner Darstellung (=> falsche Lösung)
  • die Größe eines Steines war in einer bestimmten Ausrichtung falsch (=> nicht alle Lösungen wurden gefunden)

Ansonsten ist das Programm aber korrekt. Am Lösungsalgorithmus musste nichts geändert werden. Das korrigierte Programm überprüft 4.481.466 Kombinationen und findet dabei 24 Lösungen. Aufgrund der Symmetrie bleiben also 3 „echte“ Lösungen. Ich hab das Programm so geändert, dass diesmal alle Lösungen ausgegeben werden (in der vorherigen Version wurde nur die erste Lösung ausgegeben). Ich hab mir mal die Mühe gemacht und die Ausgabe ein wenig farblich aufbereitet und der Übersicht halber in Spalten aufgeteilt (draufklicken für eine vergrößerte Version) :

pyramid_large

Der Sourcecode des überarbeiteten Programms kann hier runtergeladen werden. Ach ja, Kalli (von ihm hab ich mir dieses teuflische Knobelspiel ausgeliehen) sagte mir das Ding sei aus einem Yps-Heft. Es heißt dort übrigens „Die vertrackten Kugel-Pyramiden“ (Yps Ausgabe 871). Vielleicht nehme ich mir dann beizeiten auch mal die andere Seite mit der Pyramide vor, die im Prinzip das eigentliche Knobelspiel darstellt ;).

Dieser Beitrag wurde unter Allgemein veröffentlicht. Setze ein Lesezeichen auf den Permalink.

2 Antworten zu Knobelspiel revisited

  1. ro schreibt:

    wie lange hast du da dran gesessen mit allem drum und dran bis das programm korrekt lief?

    Like

    • techflex schreibt:

      Oh, das weiß ich nicht mehr. Da ging schon einige Zeit drauf. Das schwierigste war halt tatsächlich die Spielsteine darzustellen und alle Drehungen zu berechnen. Das eigentliche Lösen per Backtracking ist danach total einfach.

      Like

Hinterlasse einen Kommentar