Нахождение кратчайшего расстояния нескольких путей с использованием пролога - PullRequest
0 голосов
/ 19 октября 2018

У меня есть этот код, и я хочу сравнить 3 расстояния и показать самое короткое на экране:

domains
node=symbol 
distance = integer 

PREDICATES 
nondeterm link(node, node, distance) 
nondeterm path(node, node, distance) 

CLAUSES 
link(a,b,4). 
link(a,c,2). 
link(b,g,5). 
link(c,g,6). 
link(c,d,5). 
link(d,g,3). 

path(S,D,TDist):- 
    link(S,D,TDist). 
path(S,D,TDist):- 
    link(S,X,TD1), path(X,D,TD2), TDist=TD1+TD2. 

GOAL 
path(a,g,TotalDistance).

Как я могу изменить этот код, чтобы получить самое короткое расстояние?

...