Was ist der Unterschied zwischen Hill-Climbing-Suche und am Besten Zuerst Suchen?
Ich versuche zu lernen, einige suchen Konzepte, sondern lief in eine Wand ein in den Prozess. Kann jemand mir erklären, was der Unterschied zwischen hill-climbing-Suche und am besten zuerst suchen? Zu mir, Sie sehen beide wie den ausbau der Knoten mit der heuristische Wert am nächsten zum Ziel. Wenn jemand erklären kann, der Unterschied für mich, es würde sehr geschätzt werden. Danke!
- haben Sie versucht, die wiki? Was findest du?
- Tat ich, aber ich bin immer noch verwirrt an dem Punkt, den ausbau der Knoten mit dem besten heuristischen Wert. mir scheint es beide algorithmen erweitern Sie den Knoten mit dem besten heuristischen Wert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Ansicht Suche-Algorithmus mit einer Warteschlange von verbleibenden Knoten zu suchen. Diese Antwort veranschaulicht dieses Prinzip.
In der Tiefe-zuerst-Suche, fügen Sie der aktuelle Knoten Kinder die vor von der Schlange (einem Stapel). In der Breite-zuerst-Suche, fügen Sie der aktuelle Knoten Kinder die zurück der Warteschlange. Denken Sie einen moment darüber, wie dieses führt, um das richtige Verhalten für diese algorithmen.
Nun, in der hill-climbing-Suche, Sie sort[1] der aktuelle Knoten Kinder, bevor Sie Sie hinzufügen, um die Warteschlange. In best-first-Suche, die Sie hinzufügen, ist der aktuelle Knoten die Kinder von der Warteschlange in jedem alten Ordnung, dann sort[1] die gesamte Warteschlange. Wenn Sie denken über die Wirkung, die möglicherweise auf die Reihenfolge, in der die Knoten durchsucht werden, sollten Sie sich eine Vorstellung von der praktischen Unterschied.
Ich fand dieses Konzept zu tangly zu verstehen, aus rein abstrakte Begriffe, aber wenn man Arbeit durch ein paar Beispiele mit einem Bleistift wird es einfach.
[1]: Sortieren Sie nach einigen problem-spezifische Evaluierung der Lösung des Knotens, beispielsweise "Abstand vom Ziel" in einem Pfad zu finden-Suche.
Einer vielleicht kurz zu spät, aber hier geht.
BFS, es ist über die Suche nach dem Ziel. So ist es über die Kommissionierung die besten Knoten (die eine, die wir hoffen, wird uns an das Ziel) unter den möglichen. Wir halten Sie versuchen, zu gehen auf dem Weg zum Ziel.
Aber in Hügel klettern, es geht um die Maximierung der Zielfunktion. Wir wählen die Knoten, welche die höchsten Aufstieg. Also im Gegensatz zu den BFS, den 'Wert' der übergeordnete Knoten ebenfalls berücksichtigt. Wenn wir nicht höher gehen wir einfach aufgeben. In diesem Fall können wir nicht einmal das Ziel erreichen. Wir könnte bei einem lokalen maxima.
Lassen Sie mich Wiki für Sie:
...
Den Unterschied liegt im Verständnis was ist mehr sorgen bei der Suche nach den Ziel Staat.
Die Frage stellen, was ist unsere Ziel...
die Endziel Zustand?
oder die Beste Weg, um das Ziel zu erreichen Stand
Allerdings gibt es viele Probleme, wo "Weg zum Ziel" ist keine Sorge, die einzige Sache, die betroffen ist, ist zu erreichen den Endzustand die möglichen Wege oder Pfade.
(ZB: 8-Damen-problem).
Daher wird für diese local search algorithmen verwendet werden.
Hinweis:
Hill Climbing Algorithmus nicht nach vorne schauen über die unmittelbaren Nachbarn des aktuellen Zustands. Es ist nur die beste benachbarten Knoten zu erweitern.Und das beste benachbarten beschlossen, durch die die oben genannten Auswertungen Funktionen.
In der Erwägung, dass, Best First Search Algorithmus - look-ahead-von den unmittelbaren Nachbarn finden Sie den besten Weg zum Ziel(mit Heuristischer Bewertung) und dann fortfahren mit den besten einen.
So Unterschied liegt im Ansatz der lokalen Suche und die systematische Suche algorithmen.
Verstehen, die unterschiedlichen Ansätze, erhalten Sie zu wissen, warum beide benannt sind anders.