Ich habe lange über diese Frage nachgedacht und konnte nicht herausfinden, wie ich sie lösen kann.Suchalgorithmus in Python verwenden, um die 3 Wölfe und 3 Lämmer zu lösen
Das Problem ist, wie folgend:
Wir haben 3 Lämmer und drei Wölfe in einer Seite und wir müssen sie den Fluss auf die andere Seite passieren lassen. Am Anfang sah es einfach, bis ich mit diesen schwierigen Umständen gestoppt:
- Die Wölfe nicht mehr als die Lämmer sein können, die die Lämmer bedeuten mehr sein können als oder gleich die Wölfe.
- Das Boot, das die Tiere auf die andere Seite trägt, kann nicht mehr als 2
- Das Boot muss immer mit Tieren, was bedeutet, dass Sie ein leeres Boot nicht bewegen können.
Die Frage muss vom Suchalgorithmus gelöst werden, wie A * oder BFS usw.
Wir alle wissen, dass diese Algorithmen nicht funktionieren, bis Sie ein Diagramm als eine Eingabe zur Verfügung stellen, und hier ist das Problem.
Wie können wir eine Grafik von 3 Lämmern und 3 Wölfen erstellen?
Ich habe viele Male darüber nachgedacht, und der einzige Weg kam mir durch all die Möglichkeiten. Klingt gut für mich, aber macht mir immer noch keine Fortschritte, weil das Problem immer noch das gleiche ist, wie man es implementiert oder es als Python-Code schreibt, um dieses Diagramm an den Algorithmus zu übergeben, damit der Algorithmus es lösen kann?
weder A * noch BFS erfordert die gesamte Graph –
Statt Denken des Zustandes vorher berechnet wird (an jedem Knoten), wie gerade Lämmer und Wölfe sind, füge das Boot in den Zustandsvektor ein. Ein gültiger Übergang bewegt das Boot und erhöht oder verringert die Anzahl der Tiere. –
@IanMercer Ich habe es nicht verstanden, können Sie bitte mehr mit einigen Codes und Beispielen erarbeiten? – Kale