predicates
pathdistance(symbol,symbol,integer).
solve(symbol,symbol,integer).
clauses
pathdistance(a,b,10).
pathdistance(b,c,20).
pathdistance(c,d,5).
pathdistance(d,e,15).
pathdistance(a,d,5).
pathdistance(c,e,10).
solve(X,Z,C):-
pathdistance(X,Z,C).
solve(X,Z,C):-
pathdistance(X,Y,Cost),
solve(Y,Z,C),
Cost is Cost+C.
goal
solve(a,d,Cost).
コストについて私が求めていた答えは、a と d の間のすべての C (合計距離) の合計です。上記のコードは機能していません。新しい変数を取得できません。誰かが上記の変更を行ってください。コストで合計距離を取得できるようにコードを作成します。私はプロローグが初めてであることを覚えておいてください、ありがとう!