Ich habe das klassische Problem mit einem Dreieck und müssen den maximalen Weg zu bekommen. Ich darf von (i, j) (i, j-1), (i, j + 1), (i + 1, j)Dreieck Max Summe mit Tiefe zuerst Suche
Beispiel Eingänge bewegen:
1
1 2 3
1 2 3 4 5
1 2 3 4 5 6 7
und der maximale Pfad ist die Summe von (1) + (2 + 3) + (4 + 3 + 2 + 1) + (2 + 3 + 4 + 5 + 6 + 7). Ich bin nicht zu bewegen, auf einem Knoten zweimal
Ich weiß, erlaubt, wie dies mit DP zu lösen, aber dieses Problem zu uns wurde bei der künstlichen Intelligenz Klasse gezeigt und die Lösung es braucht, ist mit der DFS/GBFS
Wie Ist es möglich, dieses Problem mit DFS zu lösen? Nur rekursiv kam mir in den Sinn, aber es ist nicht in der Nähe von DFS.
Ich bin die Eingabe als eine Kurve, die darstellt, so dass für die
folgenden1
2 3 4
5 6 7 8 9
Ich habe folgende Diagramm 1 -> {3} 3 -> {2, 4, 7}, 4 - > {3, 8} etc
ich eine rekursive Funktion zu tun, maxsum (Knoten) und von Knoten 1 und tun so etwas wie das
Rückkehr Max (maxsum (neighbour_1), maxsum (neighbour_2 beginnen dachte) , ..., MaxSum (Nachbar_n)) + Knoten
wo jeder neighbour_i ist nicht besucht Nachbar
Aber wo kommt der DFS-Teil? Wie könnte ich dieses Problem mit GBFS lösen?
Ich bin nicht daran interessiert, Code oder etwas, nur algorithmische Erklärungen
Der erste Schritt besteht darin, Ihr Problem so aufzuschreiben, dass jemand, der es nicht weiß, herausfinden kann, worüber Sie sprechen. – gnasher729
Ich verstehe die Frage nicht; Was genau ist das klassische Problem mit einem Dreieck?Es scheint, als gäbe es auch einen objektiven Wert; Bitte geben Sie ein Beispiel an. – Codor
Ich habe das Problem jetzt aktualisiert. Es war ein Fehler vorher. Ich habe auch eine Beispieleingabe hinzugefügt –