bonjour
j'ai un projet; recherche du plus court court chemin dans un réseau de ville
ainsi de chercher tous les chemin possible menant par exemple de la ville source à la ville destination (je travaille avec prolog comme language)
en fait j'ai élaboré un ptit code mais j'ai un débordement de bille( en fait le graphe que g construit contient des circuit)
pouvez vous m'aidez svp a trvé ts les chemins possibles allant de la ville source à la ville destination(sachant que les circuit son fortement recommendé).
voila mon code; g un prob dedan(débordemen de pile)
DOMAINS
Station=string
ListeStation=Station*
PREDICATES
oui(Station)
distance(Station,Station)
itineraire(Station,Station,ListeStation)
peutAllerA(Station,Station)
passer(Station,Station,integer)
/*longueur(ListeStation,integer)*/
/*affiche(ListeStation)*/
/*afficheTousItineraires(Station,Station)*/
CLAUSES
distance(q,s).
distance(q,n).
distance(q,p).
distance(m,s).
distance(m,q).
distance(m,n).
distance(n,m).
distance(n,o).
distance(r,q).
distance(r,p).
distance(o,p).
passer(S1,S2,0).
passer(S1,S2,Z):-passer(S1,S2,Z1),Z=Z1+1.
oui(S1):-distance(S1,_).
peutAllerA(S1,S2):-distance(S1,S2).
peutAllerA(S1,S2):-distance(S1,Z),distance(Z,S2).
itineraire(S1,S1,[S1]).
itineraire(S1,S2,[S1,S2]):-distance(S1,S2).
itineraire(S1,S2,[S1|LS]):-distance(S1,Z),itineraire(Z,S2,LS).
merciii pr votre attention et j'espére que vous me trvé la sol :)
NB. itineraire est celle qui va me donner normalement tous les chemin possibles