I have another little problem. I try to do the same with a ruleflow (and BMI rules in ruleflow group) and my ruleflow starts running and the rules are triggered, but I get no system.out.println(...) and mijn flow doesn't continue to the next node.

Any suggestions?

Femke

Op 4-mei-09, om 23:30 heeft Greg Barton het volgende geschreven:


I wonder if there's some way to introduce strictfp into the drl. (I'm not even sure if that would even solve the problem. But I figure it'd get you in the ballpark.) But I think it would be useful to be able to inject strictfp into the declarations of any generated drools classes.

--- On Mon, 5/4/09, Femke De Backere <[email protected]> wrote:

From: Femke De Backere <[email protected]>
Subject: Re: [rules-users] Rule problem
To: "Rules Users List" <[email protected]>
Date: Monday, May 4, 2009, 4:11 PM
I solved the problem by removing every double in the
sample.drl. How
van I fix the double problem if I really wanted to :)? In
this case it
is unnecassary but there must be a solution?

Thanks for all the help!

Femke

Op 4-mei-09, om 21:48 heeft Wolfgang Laun het volgende
geschreven:

Don't use doubles. Try the same thing, scaling the
random weights
with 10 (or 100) convert to int, and use suitably
scaled integer
limits for your weight classes.

I'm not at all sure, what various JVM versions
and/or Rand
generators could produce.

The javadoc for java.lang.Math is an indicator that
things might not
be as simple as they ought to be.

I could reproduce the problem this afternoon, but now
I can't any
more, on the same machine, same JVM and same Drools
version.

-W


2009/5/4 Femke De Backere <[email protected]>
So, I did as you suggested, with the following as
result:
BMI of 10 U heeft ondergewicht: 10
BMI of 30 U heeft ondergewicht: 30
BMI of 30 U heeft obesitas: 30
BMI of 20 U heeft ondergewicht: 20

So, I really don't get it, I used exactly the same
code as you.

Femke

Op 4-mei-09, om 17:11 heeft Greg Barton het volgende
geschreven:


Well, approach this systematically, then: Create a
new Drools
project in Eclipse and replace the DroolsTest.java
and Sample.drl
with the ones I sent before.  What results do you
get?  If they are
correct, modify the project one step at a time
until the problem is
uncovered.

One place to focus on: you're using rule
flows.  I have no idea how
that could cause a false positive result like
you've seen, but you
never know.

Finally, if you're comparing performance of
rules vs plain java,
plain java will easily win in this case.  The rule
of thumb is
this: if you can easily write a plain non-rules
algorithm it will
outperform the rules solution.

--- On Mon, 5/4/09, Femke De Backere
<[email protected]> wrote:

From: Femke De Backere
<[email protected]>
Subject: Re: [rules-users] Rule problem
To: "Rules Users List"
<[email protected]>
Date: Monday, May 4, 2009, 6:53 AM
I'm using this:
package bmi

import bmi.DroolsTest.BMIClass;

rule "Overgewicht"
        ruleflow-group "BMIrules"
        when
                bmiClass : BMIClass($bmi: bmi >= 25, bmi
< 30)
        then
                System.out.println("U heeft
overgewicht: " +
$bmi);
end

rule "Obesitas"
        ruleflow-group "BMIrules"
        when
                bmiClass : BMIClass($bmi : bmi >= 30)
        then
                System.out.println("U heeft obesitas:
" +
$bmi);
end


rule "Ondergewicht"
        ruleflow-group "BMIrules"
        when
                bmiClass : BMIClass($bmi : bmi < 18.5)
        then
                System.out.println("U heeft
ondergewicht: " +
$bmi);
end


rule "Normaal"
        ruleflow-group "BMIrules"
        when
                bmiClass : BMIClass($bmi : bmi >= 18.5,
bmi < 25)
        then
                System.out.println("U heeft een normaal
gewicht:
" + $bmi);
end

But in essence it is the same as Greg's. I
get outputs
as:

U heeft ondergewicht: 25.0
U heeft overgewicht: 25.0

But I really don't see the problem.

Femke

Op 4-mei-09, om 13:25 heeft Wolfgang Laun het
volgende
geschreven:

I cannot reproduce your findings.
Which bmi values cause the firing of two
rules?
Are you using exactly the same .drl file
Greg sent?
-W

2009/5/4 Femke De Backere
<[email protected]>
Thanks for the answer! But I sometimes get
2 rules
that are correct,
and that is impossible. I embedded
Greg's
DroolsTest class in my
class (I am doing some test on performance
and
studying the
difference between performance with a
plain java
class), and it
still doesn't work, and I really
don't see
why. Anyone any
suggestions, in attachement, my class.

Thx,

Femke




Op 4-mei-09, om 02:47 heeft Greg Barton
het volgende
geschreven:

Try the attached code.

--- On Sun, 5/3/09, Femke De Backere
<[email protected]> wrote:

From: Femke De Backere
<[email protected]>
Subject: Re: [rules-users] Rule problem
To: "Rules Users List"
<[email protected]>
Date: Sunday, May 3, 2009, 6:18 PM
Thx for the answer. I tried this but I
doesn't
seem to
work. For a BMI of 20, i get the result
"ondergewicht", and it should be
"normal".

Op 4-mei-09, om 01:04 heeft Ingomar Otter
het volgende
geschreven:

Femke,
The "Overgewicht| rule matches for
_two_ BMIClass
facts, one with bmi >- 25 and one for
BMIClass
<30.
If you want to apply multiple  constraints
to a single
fact you have to list them as such:

rule "Overgewicht"
     when
             bmiClass : BMIClass(bmi
= 25
&& bmi
<30)
     then
             System.out.println("U
heeft
overgewicht");
end


Cheers,
Ingomar


Am 04.05.2009 um 00:48 schrieb Femke De
Backere:

Hi!

I want to make en BMI rule application, so
I need
to test the BMI values. But in rule
"Overgewicht"
and "Normaal", I need to use an
AND, but it
doesn't seem to work in any way I
tried.

Does anybody see the problem? The rest of
the
application is based on de sample project
(created
when
making a new Drools project).

Thx,

Femke

package bmi

import bmi.DroolsTest.BMIClass;

rule "Overgewicht"
     when
             bmiClass : BMIClass(bmi
= 25)
             bmiClass : BMIClass(bmi <
30)
     then
             System.out.println("U
heeft
overgewicht");
end

rule "Obesitas"
     when
             bmiClass : BMIClass($bmi :
bmi >=
30)
     then
             System.out.println("U
heeft
obesitas");
end

rule "Ondergewicht"
     when
             bmiClass : BMIClass($bmi :
bmi <
18.5)
     then
             System.out.println("U
heeft
ondergewicht");
end

rule "Normaal"
     when
             bmiClass : BMIClass(bmi
= 18.5)
             bmiClass : BMIClass(bmi <
25)
     then
             System.out.println("U
heeft een
normaal
gewicht");

end

_______________________________________________
rules-users mailing list
[email protected]


https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
[email protected]

https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
[email protected]

https://lists.jboss.org/mailman/listinfo/rules-users


<
DroolsTest


.java><Sample.drl>_______________________________________________
rules-users mailing list
[email protected]

https://lists.jboss.org/mailman/listinfo/rules-users



_______________________________________________
rules-users mailing list
[email protected]

https://lists.jboss.org/mailman/listinfo/rules-users



_______________________________________________
rules-users mailing list
[email protected]

https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
[email protected]

https://lists.jboss.org/mailman/listinfo/rules-users



_______________________________________________
rules-users mailing list
[email protected]

https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users



_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to