From: David S. W. <dw...@us...> - 2002-12-18 21:10:40
|
Update of /cvsroot/xsb/XSB/packages/CDF In directory sc8-pr-cvs1:/tmp/cvs-serv28359 Modified Files: oms_q_annot.P Log Message: Added annotation to attr (::opt(Penalty)) that gives Penalty points if the attr can't be satisfied. Index: oms_q_annot.P =================================================================== RCS file: /cvsroot/xsb/XSB/packages/CDF/oms_q_annot.P,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- oms_q_annot.P 18 Dec 2002 15:18:23 -0000 1.2 +++ oms_q_annot.P 18 Dec 2002 21:10:34 -0000 1.3 @@ -142,6 +142,14 @@ weighted_attr_1(A,B,C,Scale,Cutoff,Actual,Pen_in,Pen_out) ; oms_warning(relaxation,('relaxation attempted with non-ground arg 1', attr(A,B,C)::widen(1,Scale,Actual))) ). +relaxing_query('::'(attr(A,B,C),opt(Penalty)),Cutoff,Pen_in,Pen_out):-!, + (attr(A,B,C), + Pen_out = Pen_in + ; + \+ attr(A,B,C), + Pen_out is Pen_in + Penalty, + Pen_out =< Cutoff + ). relaxing_query(attr(A,B,C),_Cutoff,Penalty,Penalty):-!, attr(A,B,C). relaxing_query(isa(A,B),_Cutoff,Penalty,Penalty):-!, |