Or an accumulate function (as long as all you objects implement a commong
interface):
rule "overall certainty"
when
$cert : Number() from accumulate(
$f : CertaintyFacts( ),
overallCertainty( $f ) )
then
// do something with $cert
end
Implement your own formula inside overallCertainty function .
[]s
Edson
2008/8/29 Greg Barton <greg_barton(a)yahoo.com>
Looks like a job for a query.
http://downloads.jboss.com/drools/docs/4.0.7.19894.GA/html/ch06s06.html
Query for all matching certainties/weights in working memory. Loop through
them to perform calculation.
--- On Fri, 8/29/08, thomas kukofka <thomaskukofka(a)web.de> wrote:
> From: thomas kukofka <thomaskukofka(a)web.de>
> Subject: [rules-users] rule algorithm
> To: "Rules Users List" <rules-users(a)lists.jboss.org>
> Date: Friday, August 29, 2008, 9:08 AM
> Hello,
>
> I search a rule implementation for the following
> calculation:
> I have n Objects of differents types (A, B, C, ...) each
> with a parameter
> certainty.
>
> the overall certainty is calculated as follows:
> certaintyOverall =
> (certaintyA * weightA + certaintyB * weightB + ... ) /
> (weightA + weightB +
> ...)
>
> If it can be assumed that all Objects in the formula always
> exist it's quite
> easy:
> when
> A (certaintyA: certainty)
> B (certaintyB: certainty)
> ...
> then
> certaintyOverall = (certaintyA * weightA + certaintyB *
> weightB + ... ) /
> (weightA + weightB + ...)
>
> But if one ore more objects are missing the formula should
> be reduced to the
> certainty and weights of the existing objects. But there
> are too many
> combinations of existing/nonexisting objects. How can this
> be implemented in
> Drools?
>
> Regards
> Thomas
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @
www.jboss.com