Lightsout Backtracking

Abge24

Neues Mitglied
Guten Tag,
ich bin gerade dabei einen Algorithmus zu schreiben, der das Spiel löst und dabei die kleinste mögliche Schaltfolge benötigt. Nun verstehe ich aber nicht ganz wie ich dabei vorgehen soll. Ich habe bereits eine Methode isSolved(state) geschrieben, die mir einen Wahrheitswert zurückgibt ob das Spiel gelöst ist. Ich denke ich sollte für das erste Feld überprüfen, ob isSolved == true. Falls das nicht so ist, also das Spiel noch nicht gelöst ist, muss ich natürlich weiter gehen. Aber ich verstehe nicht nach welchen Auswahlverfahren ich entscheide wohin ich als nächstes gehe und was ich dann im nächsten Feld mache. Außerdem soll ich das Verfahren effizienter machen, indem ich die Suchtiefe immer schrittweiße vergrößere.
Danke für jede Hilfe
 

mihe7

Top Contributor
Wenn Du kein Auswahlkriterium hast, hast Du eben keins, so dass alle Möglichkeiten gelichermaßen zu betrachten sind. Die Suchtiefe zu beschränken heißt, die Zahl der Schritte zu begrenzen, die eine Lösung enthalten kann.
 

Neue Themen


Oben