Hi,
Das Ausgangsproblem ist im folgenden Bild dargestellt:
Ok, wie man sieht geht's um Zocken. Und es wird wohl auch klar sein, das hier ein Lösungsalgo gefunden werden soll. (Ja, den Spass wollte ich mir nicht entgehen lassen, nachdem ich festgestellt habe, das ich morgens um 2 doch zu blöd bin sowas manuell zu lösen

.)
Regeln:
- Blöcke von mindestens 2 gleichen Steinen können entfernt werden.
- Die Steine hören auf die Schwerkraft und fallen alle nach unten so weit als möglich.
- Leere Spalten werden zusammengeschoben
- Ein Feld ist immer Lösbar!
Mir ist es auch gelungen einen Rekursive Funktion (

) zu schreiben, die das macht was ich will. Sie ackert quasie der Reihe nach alles durch was möglich ist, bis was gefunden wurde. Ohne Rücksicht auf irgendwas.
ABER bei geschätzten (160/2.5)^70 = 2,7076852481648582613070451017022e+126 durchschnittlichen Versuchen um alle Lösungsmöglichkeiten zu durchsuchen ist mein Rechner doch gut 3 Monate oder länger mit einer Lösungfindung beschäftigt
Daher die Frage, nach anderen Systemen um
a)
eine gültige Lösung zu finden
b) um die
optimale/kürzeste Lösung zu finden.
c) wie ein solches Feld generiert wird, damit es immer Lösbar ist.
Tips in Form von fertigen Aplikationen mit Sourcecode und Verfielfätigungsrechten herzlichst Willkommen.
Da ich aber Bescheiden bin, würden mir die Leseempfehlungen zu a,b,c schon mehr als reichen.
Mfg