J'ai le pseudo-code suivant dans mon livre pour une recherche en largeur:Comment puis-je modifier l'algorithme de recherche en largeur en premier pour inclure également le chemin de la solution?
function breadth_first_search:
begin
open := [Start]
closed := [];
while open != [] do
begin
remove leftmost state from open, call it X;
if X is a goal then return SUCCESS
else begin
generate children of X;
put X on closed;
discard children of X if already on open or closed;
put remaining children on right end of open;
end
end
return FAIL;
end
J'ai mis en place un algorithme similaire me suivant ces instructions pseudo-code. Ma question est la suivante: quelle est la manière la plus simple de la modifier afin de maintenir le chemin de la solution?
Simplement savoir que je peux atteindre une solution n'est pas aussi utile que d'avoir une liste de transitions pour arriver à la solution.
Regardez http://stackoverflow.com/questions/1579399/shortest-path-fewest-nodes-for-unweighted-graph/1579508#1579508; J'ai implémenté la bonne solution, mais c'est en Java. – giolekva