heli_link_dis(h1,b1,800).
heli_link_dis(h1,b3,1400).
heli_link_dis(h1,b2,600).
heli_link_dis(h1,b8,1200).
heli_link_dis(h2,b4,400).
heli_link_dis(h2,b3,2000).
heli_link_dis(h2,b5,500).
heli_link_dis(h3,b5,1000).
heli_link_dis(h3,b6,400).
heli_link_dis
=直升机相关距离
h1
表示直升机的名称
b1
表示基站的名称
800
是直升机和基站之间的距离
我需要prolog代码来跟踪最近的直升机到给定的基站
答案 0 :(得分:0)
极其低效但极简主义的解决方案是:
nearest_heli(H, B, D) :-
heli_link_dis(H, B, D),
\+ (heli_link_dis(_, _, D1), D1 < D).