09/06/04 18:33:54
>>86 全面的に書き換え % Prolog (2/2)
許容最長時間内に目的地に到着可能で、かつ、費用が一番安い交通手段(_距離 km,_許容
最長時間 h,_交通手段) :-
findall([_費用,_交通手段],
( 交通手段(_交通手段),
許容時間内に到達可能(_交通手段,_距離 km,_許容最長時間 h),
料金(_交通手段,_料金 円 / km),
_費用 is _料金 * _距離),_候補リスト),
min(_候補リスト,[_費用,_交通手段]),!.
許容最長時間内に目的地に到着可能で、かつ、費用が一番安い交通手段(_,_,'不可能です
').
許容時間内に到達可能(_交通手段,_距離 km,_許容最長時間 h) :-
利用規定(_交通手段,_距離 km),
時速(_交通手段,_時速 km / h),
付加的な所要時間(_交通手段,_,_付加的な所要時間 h),
_到達時間 is (_距離 / _時速) + _付加的な所要時間,
_到達時間 =< _許容最長時間.