• # ebauche de solution

    Posté par . En réponse au message [Prolog]Liste des chemins allant d'un point à un autre dans un graphe. Évalué à 4.

    Chouette, du prolog, ça faisait longtemps :)

    Alors, pour repondre à 1), il me semble que la formulation est pas mal. Je dirait juste qu'elle n'est pas encore assez recursive : en gros, on devrait pouvoir laisser prolog se debrouiller tout seul.

    Voila comment je listerai les chemins allant d'un point à un autre (c'est une solution, et bien sur pas LA solution).

    Dans la meme veine que follow, je defini la fonction connected, qui ressemble à connected (point A, point B, chemin) :

    connected(P,P,[P]).
    % tout d'abord, un point est connecté à lui meme, et le chemin est le point lui meme.
    % c'est ma condition d'arret de la recursivité.

    connected(P,Q,[Z|Chemin]):-
    parcours(P,Z), connected(Z,Q,Chemin).

    % P est connecté à Q si P est Z sont dans un parcours (tel que tu l'as defini), et si Z lui
    % meme est connecte à Q. C'est la transitivité de la connexion. Dans ce cas, je rajoute
    % le point intermediaire Z au chemin.

    Avec l'interpreteur, je peux maintenant faire :
    connected(depart, arrivee, Chemin).

    Et prolog va me lister tout les chemins possible via la variable Chemin, tant que j'appuie sur ";".