Ist der greedy-best-first-search-Algorithmus unterscheidet sich von der best-first-search-Algorithmus?

Ist die gierig best-first-search-Algorithmus unterscheidet sich von der best-first-search-Algorithmus?

Den wiki-Seite hat einen separaten Absatz über Gierig BFS aber es ist ein wenig unklar.

Mein Verständnis ist, dass Greedy BFS gerade BFS, wo die "besten Knoten aus OPEN" in der wikipedia-Algorithmus ist eine Heuristik-Funktion berechnet für einen Knoten. Damit die Umsetzung dieser:

OPEN = [initial state]
CLOSED = []
while OPEN is not empty
do
 1. Remove the best node from OPEN, call it n, add it to CLOSED.
 2. If n is the goal state, backtrace path to n (through recorded parents) and return path.
 3. Create n's successors.
 4. For each successor do:
   a. If it is not in CLOSED: evaluate it, add it to OPEN, and record its parent.
   b. Otherwise: change recorded parent if this new path is better than previous one.
done

mit "besten Knoten aus OPEN, das eine heuristische Funktion, die Schätzung, wie nahe sich der Knoten an das Ziel, ist tatsächlich Gierig BFS. Bin ich im Recht?

EDIT: Kommentar auf Anonymouse Antwort:

Also im wesentlichen eine gierige BFS nicht brauchen eine "OFFENE Liste" und sollte als Grundlage für Ihre Entscheidungen nur auf den aktuellen Knoten? Ist dieser Algorithmus GBFS:

1. Set START as CURRENT node
2. Add CURRENT to Path [and optinally, to CLOSED?]
3. If CURRENT is GOAL, exit
4. Evaluate CURRENT's successors
5. Set BEST successor as CURRENT and go to 2.
InformationsquelleAutor Alex | 2011-12-04
Schreibe einen Kommentar