Prolog 追踪距离基站最近的直升机
Prolog 追踪距离基站最近的直升机,prolog,Prolog,heli\u link\u dis=直升机连接距离 h1表示直升机的名称 b1表示基站的名称 800是直升机与基站之间的距离 我需要prolog代码来追踪最近的直升机到给定的基站一个效率极低但极简的解决方案是: 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). h
heli\u link\u dis
=直升机连接距离h1
表示直升机的名称b1
表示基站的名称800
是直升机与基站之间的距离
我需要prolog代码来追踪最近的直升机到给定的基站一个效率极低但极简的解决方案是:
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).
最近的直升机(H、B、D):-
直升机连接图(H、B、D),
\+(直升机连接盘(u,u,D1),D1nearest_heli(H, B, D) :-
heli_link_dis(H, B, D),
\+ (heli_link_dis(_, _, D1), D1 < D).