Логическое программирование на языке Visual Prolog. Солдатова О.П - 78 стр.

UptoLike

78
xod (a, [b,c]).
xod (b, [d,e]).
xod (c, [f,g]).
xod (d, [t1,t2]).
xod (e, [t3,t4]).
xod (f, [t5,t6]).
xod (g, [t7,t8]).
xod_max (a).
xod_max (d).
xod_max (e).
xod_max (f).
xod_max (g).
xod_min (b).
xod_min (c).
xod_min (t1).
xod_min (t2).
xod_min (t3).
xod_min (t4).
xod_min (t5).
xod_min (t6).
xod_min (t7).
xod_min (t8).
oc_term (a,4).
oc_term (b,4).
oc_term (c,1).
oc_term (d,4).
oc_term (e,6).
oc_term (f,2).
oc_term (g,1).
oc_term (t1,1).
oc_term (t2,4).
oc_term (t3,5).
oc_term (t4,6).
oc_term (t5,2).
oc_term (t6,1).
oc_term (t7,1).
oc_term (t8,1).
minmax (Poz, BestPoz, Oc):-
xod (Poz, SpPoz),!,
best(SpPoz, BestPoz, Oc);
oc_term(Poz, Oc).
best ([Poz], Poz, Oc):- minmax (Poz, _ , Oc), !.
best ([Poz1| T], BestPoz, BestOc):-
minmax (Poz1, _ , Oc1),