Kann man irgendwie sicherstellen, dass die Heuristik der geringsten Anzahl von Umdrehungen durch irgendetwas anderes als durch eine Suche in der Breite zuerst erfüllt wird? Vielleicht wäre eine weitere Erklärung hilfreich.
Ich habe ein Zufallsdiagramm, das dem hier ähnelt:
0 1 1 1 2
3 4 5 6 7
9 a 5 b c
9 d e f f
9 9 g h i
Ausgehend von der linken oberen Ecke muss ich wissen, wie viele Schritte ich am wenigsten brauche, um zur rechten unteren Ecke zu gelangen. In diesem Zufallsdiagramm werden beispielsweise die drei 1en in der obersten Reihe als ein einziger Knoten betrachtet, und jeder benachbarte (nicht diagonale) verbundene Knoten ist ein möglicher nächster Zustand. Die möglichen nächsten Zustände sind also von Anfang an die 1 in der obersten Reihe oder die 3 in der zweiten Reihe.
Derzeit verwende ich eine bidirektionale Suche, aber die Explosivität der Baumgröße nimmt ziemlich schnell zu. Ich habe es beim besten Willen nicht geschafft, das Problem so anzupassen, dass ich den Knoten sicher Gewichte zuweisen kann und sie die geringste Anzahl von Zustandsänderungen gewährleisten, um das Ziel zu erreichen, ohne dass es zu einer Breitensuche wird. Wenn man sich das Problem wie einen Stadtplan vorstellt, wäre die Heuristik die geringste Anzahl von Abbiegungen, um das Ziel zu erreichen.
Es ist sehr wichtig, dass die geringste Anzahl von Umdrehungen das Ergebnis dieser Suche ist, da dieser Wert Teil der Heuristik für ein komplexeres Problem ist.