JESS: Finding fact the max/min slot value
Hi, I am trying to figure out the best way to have a rule fire only for a fact whose slot value is the min or max of a group of facts. For example: (deftemplate number (slot value)) (assert number (value 1)) (assert number (value 2)) (assert number (value 3)) (assert number (value 4)) (defrule biggest-number (number (value ?val)) = ) I only want biggest-number to fire for (number (value 4)). Is a defquery better here? To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED]
Re: JESS: Finding fact the max/min slot value
I think erich.oliphant wrote: [Charset iso-8859-1 unsupported, filtering to ASCII...] Hi, I am trying to figure out the best way to have a rule fire only for a fact whose slot value is the min or max of a group of facts. Match a negated pattern to the (nonexistent) fact in which some number is greater than the greatest value. (defrule biggest-number (number (value ?val)) (not (number (value ?val2:( ?val2 ?val = ) - Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED]
Re: JESS: Finding fact the max/min slot value
(defrule biggest-number (number ?number) (not (number ?num2 ?num)) = (printout t biggest number: ) (printout t ?number crlf) ) I think? On 2/1/06, erich.oliphant [EMAIL PROTECTED] wrote: Hi, I am trying to figure out the best way to have a rule fire only for a fact whose slot value is the min or max of a group of facts. For example: (deftemplate number (slot value)) (assert number (value 1)) (assert number (value 2)) (assert number (value 3)) (assert number (value 4)) (defrule biggest-number (number (value ?val)) = ) I only want biggest-number to fire for (number (value 4)). Is a defquery better here? To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED]
Re: JESS: Finding fact the max/min slot value
Glad I asked, I was well on my way to create something needlessly complex. Thanks Guys. On Wed, 1 Feb 2006 14:00:55 -0800 (PST), ejfried wrote I think erich.oliphant wrote: [Charset iso-8859-1 unsupported, filtering to ASCII...] Hi, I am trying to figure out the best way to have a rule fire only for a fact whose slot value is the min or max of a group of facts. Match a negated pattern to the (nonexistent) fact in which some number is greater than the greatest value. (defrule biggest-number (number (value ?val)) (not (number (value ?val2:( ?val2 ?val = ) - Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED]