Терминологический вопрос - это самый жалкий поисковик, отличный от поиска Best-first?
На странице wiki есть отдельный параграф о Greedy BFS, но это немного неясно.
Я понимаю, что Greedy BFS - это просто BFS, где "лучший node от OPEN" в алгоритме википедии - это эвристическая функция, которую вычисляют для node. Итак, реализуем это:
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 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
с "лучшим node от OPEN", являющимся эвристической функцией, оценивающей, насколько близок node к цели, на самом деле является Greedy BFS. Я прав?
ИЗМЕНИТЬ: Комментарий к анонимному ответу:
Таким образом, по существу жадный BFS не нуждается в "ОТКРЫТОМ списке" и должен основывать свои решения только на текущем node? Является ли этот алгоритм 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 successors
5. Set BEST successor as CURRENT and go to 2.