Пролог, найти минимум в списке

вкратце: Как найти минимальное значение в списке? (спасибо за совет, kaarel)

длинная история:

Я создал взвешенный граф в прологе amzi и дал 2 узла, Я могу получить список путей. Однако мне нужно найти минимальное значение в этом пути, но я не могу пройти по списку для этого. Могу я попросить совета о том, как определить минимальное значение в списке?

мой код в настоящее время выглядит так:

arc(1,2).
arc(2,3).
arc(3,4).
arc(3,5).
arc(3,6).
arc(2,5).
arc(5,6).
arc(2,6).

path(X,Z,A) :- 
 (arc(X,Y),path(Y,Z,A1),A is A1+1;arc(X,Z), A is 1).

таким образом, 'keying findall (Z, path (2,6, Z), L). ' in listener позволяет мне получить список [3,2,2,1]. Мне нужно получить отсюда минимальное значение и умножить его на сумму. Может кто-нибудь посоветовать, как получить минимальное значение? спасибо!

12
задан false 3 August 2012 в 17:05
поделиться