Prolog - Ayuda Calcular Recorrido Subte

 
Vista:

Ayuda Calcular Recorrido Subte

Publicado por Ic (1 intervención) el 06/11/2014 01:39:14
Buenas,
tengo que hacer un programa en prolog que calcule todos los recorridos posibles, a partir de dos estaciones de subte, con este diagrama de estaciones http://en.wikipedia.org/wiki/File:Subtes-2015.svg
El recorrido si las dos estaciones son de la misma linea funciona, pero estoy tratando que calcule con una combinacion y con x cant de combinaciones posibles . Entra en un loop , cuando no encuentra un camino directo sin combinaciones.

adyacente(estaciona,estacionb,linea,1.1,1.5).
combin(estaciona,estacion,0.5,0.6).


siguiente(X,Y,L,_,_):-adyacente(X,Y,L,_,_).
siguiente(X,Y,L,-,_):-adyacente(Y,X,L,_,_).

combina(M,N):-combin(M,N,_,_).
combina(M,N):-combin(N,M,_,_).

/*el codigo principal del programa para calcular el recorrido seria este*/

conexion(X,Y,L,S,[Y|S]):-siguiente(X,Y,L,_,_),!.
conexion(X,Y,L,S,F):-siguiente(X,Z,L,_,_),not(member(Z,S)),conexion(Z,Y,L,[Z|S],F),!.
conexion(X,Y,L,F,_):-combina(M,N),conexion(X,M,L,[X],F1), conexion(N,Y,L2,[N|F1],F),L\=L2,!.
conexion(X,Y,_,F,_):-conexion(X,Z,_,[X],[_|F1]),conexion(Z,Y,_,[Z],F2),concatenar(F2,F1,F).



cualquier ayuda sera bienvenida.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder