[英]how to separate the values in min() predicate prolog
我有一個像
cheapest(X,Y,T):-
findall([Ci,Cj],trip_cost(X,Y,[Ci,Cj]),K),
aggregate_all(min(A,B),
member([B,A], K),
T).
它給出了這樣的結果
min(8,[a,b,m])
我想讓它像謂詞一樣工作
cheapest(X,Y,T,C):-
findall([Ci,Cj],trip_cost(X,Y,[Ci,Cj]),K),
aggregate_all(min(A,B),
member([B,A], K),
T).
並希望結果像
T=[a,b,m]
C=8
cheapest(X,Y,T,C):-
cheapest(X,Y,min(C,T)).
我還不能測試它,因為沒有知識庫。
或類似而不需要cheapest/3
:
cheapest(X,Y,T,C):-
findall([Ci,Cj],trip_cost(X,Y,[Ci,Cj]),K),
aggregate_all(min(A,B),
member([B,A], K),
TT),
TT = min(C,T).
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.