Myślę, że byłoby interesujące napisać oba z nich w taki sposób, że tylko zmiana niektórych linii kodu dałaby ci jeden algorytm lub drugi, abyś zobaczył, że twój dillema nie jest tak silny, jak się wydaje na początku .
Osobiście podoba mi się interpretacja BFS jako zalania krajobrazu: obszary o małej wysokości zostaną najpierw zalane, a dopiero potem nadejdą obszary o dużej wysokości. Jeśli wyobrażasz sobie, że wysokości krajobrazu są tak izolyniczne, jak widzimy w książkach geograficznych, łatwo zauważyć, że BFS wypełnia cały obszar pod tą samą izolacją w tym samym czasie, tak jak byłoby to w przypadku fizyki. Tak więc interpretacja wysokości jako odległości lub skalowanego kosztu daje całkiem intuicyjne wyobrażenie o algorytmie.
Mając to na uwadze, możesz łatwo dostosować ideę leżącą u podstaw pierwszego wyszukiwania, aby łatwo znaleźć minimalne drzewo opinające, najkrótszą ścieżkę, a także wiele innych algorytmów minimalizacji.
Nie widziałem jeszcze żadnej intuicyjnej interpretacji DFS (tylko standardowa w labiryncie, ale nie jest tak potężna jak BFS i powódź), więc dla mnie wydaje się, że BFS wydaje się lepiej korelować ze zjawiskami fizycznymi, jak opisano powyżej, podczas gdy DFS lepiej koreluje z wyborami dillema w racjonalnych systemach (tj. Ludzie lub komputery decydują, który ruch wybrać w szachy lub wyjść z labiryntu).
Tak więc dla mnie różnica między kłamstwami, na których zjawisko naturalne najlepiej odpowiada ich modelowi propagacji (transwersacji) w prawdziwym życiu.