[jboss-svn-commits] JBL Code SVN: r26914 - in labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl: src/main/java/org/drools/chance/BayesianTest and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jun 10 20:49:49 EDT 2009
Author: dsotty
Date: 2009-06-10 20:49:48 -0400 (Wed, 10 Jun 2009)
New Revision: 26914
Modified:
labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/FuzzyTest1.log
labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianNetworkTest.java
labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/fuzzyTest/FuzzyTest1.java
labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianChainTest.drl
labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianNetworkTest.drl
labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTreeTest.drl
Log:
Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/FuzzyTest1.log
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/FuzzyTest1.log 2009-06-11 00:49:09 UTC (rev 26913)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/FuzzyTest1.log 2009-06-11 00:49:48 UTC (rev 26914)
@@ -1,18 +0,0 @@
-
-
- ********** Set speed to stop ******
-
-0.0
-
- ********** Set speed to slow ******
-
-0.75
-
- ********** Set speed to fast ******
-
-0.25
-
-
-
-ULTIMATE ANSWER : FAN speed is 62.5
-
Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianNetworkTest.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianNetworkTest.java 2009-06-11 00:49:09 UTC (rev 26913)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianNetworkTest.java 2009-06-11 00:49:48 UTC (rev 26914)
@@ -25,13 +25,16 @@
FactType quakeType = getFactType("Quake");
FactType burglarType = getFactType("Burglar");
+ FactType johnType = getFactType("John");
try {
Object quake = quakeType.newInstance();
Object burglar = burglarType.newInstance();
+ Object john = johnType.newInstance();
getSession().insert(quake);
- getSession().insert(burglar);
+// getSession().insert(burglar);
+ getSession().insert(john);
getSession().fireAllRules();
Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/fuzzyTest/FuzzyTest1.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/fuzzyTest/FuzzyTest1.java 2009-06-11 00:49:09 UTC (rev 26913)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/fuzzyTest/FuzzyTest1.java 2009-06-11 00:49:48 UTC (rev 26914)
@@ -43,7 +43,7 @@
getSession().insert(r);
getSession().fireAllRules();
- log("\n\n\n\nULTIMATE ANSWER : FAN speed is "+f.getSpeed()+"\n\n");
+ //log("\n\n\n\nULTIMATE ANSWER : FAN speed is "+f.getSpeed()+"\n\n");
}
Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianChainTest.drl
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianChainTest.drl 2009-06-11 00:49:09 UTC (rev 26913)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianChainTest.drl 2009-06-11 00:49:48 UTC (rev 26914)
@@ -78,7 +78,9 @@
then
writer.write("Message : Alarm->Quake " +drools.getConsequenceDegree()+"\n\n");
- drools.injectKey(new Quake(),"org.drools.chance.BayesianTest.Quake.flag","random",null);
+ Quake quake = new Quake();
+ drools.injectKey(quake,"org.drools.chance.BayesianTest.Quake.flag","random",null);
+ insertLogical(quake);
end
@@ -112,7 +114,8 @@
writer.write("Message : John->Alarm " + drools.getConsequenceDegree() + "\n\n");
Alarm alarm = new Alarm();
alarm.setId(0);
- drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+ drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+ insertLogical(alarm);
end
Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianNetworkTest.drl
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianNetworkTest.drl 2009-06-11 00:49:09 UTC (rev 26913)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianNetworkTest.drl 2009-06-11 00:49:48 UTC (rev 26914)
@@ -56,14 +56,25 @@
-rule "pi:Quake,Burglar->Alarm"
+rule "pi:Quake+Burglar->Alarm"
+
+
+
+ /****************************************
+ Q'B' QB' Q'B QB
+
+ A' .9 .8 .7 .6
+ A .1 .2 .3 .4
+
+ *****************************************/
+
prior ( [0.9 0.8 0.7 0.6 ; 0.1 0.2 0.3 0.4] )
when
- (or @( args="pi:Quake,Burglar->Alarm" )
- Quake ( flag random )
- Burglar ( flag random )
+ (or @( kind="vel" args="pi:Quake+Burglar->Alarm" )
+ Quake ( )
+ Burglar ( )
)
then
@@ -78,43 +89,53 @@
end
-rule "lambda:Quake,Burglar->Alarm_2"
+
+
+rule "lambda:Quake+Burglar->Alarm_1"
+
+
prior ( [0.9 0.8 0.7 0.6 ; 0.1 0.2 0.3 0.4] )
+
+ kind "complex"
+
when
Alarm()
- and
+ and @( kind="et" args="lambda:Quake+Burglar->Alarm_1" )
- (or @( args="lambda:Quake,Burglar->Alarm_2" )
- Quake( flag random )
- )
- then
- writer.write("Message : (Alarm A Quake)->Burglar " +drools.getConsequenceDegree()+"\n\n");
+ ((or @( kind="vel" args="lambda:Quake+Burglar->Alarm_1; index:1" )
+ Burglar( )
+ ))
+ then
+ writer.write("Message : (Alarm A Burglar)->Quake " +drools.getConsequenceDegree()+"\n\n");
- Burglar burglar = new Burglar();
- burglar.setId(0);
- drools.inject(burglar,"class","==","org.drools.chance.BayesianTest.Burglar");
- insertLogical(burglar);
+ Quake quake = new Quake();
+ drools.inject(quake,"class","==","org.drools.chance.BayesianTest.Quake");
+ //drools.injectKey(quake,"org.drools.chance.BayesianTest.Quake.flag","random",null);
+ insertLogical(quake);
end
-rule "lambda:Quake,Burglar->Alarm_1"
+rule "lambda:Quake+Burglar->Alarm_2"
prior ( [0.9 0.8 0.7 0.6 ; 0.1 0.2 0.3 0.4] )
+
+ kind "complex"
+
when
Alarm()
- and
+ and @(kind="et" args="lambda:Quake+Burglar->Alarm_2")
- (or ( @args="lambda:Quake,Burglar->Alarm_1" )
- Burglar( flag random )
- )
- then
- writer.write("Message : (Alarm A Burglar)->Quake " +drools.getConsequenceDegree()+"\n\n");
+ ((or @( kind="vel" args="lambda:Quake+Burglar->Alarm_2; index:2" )
+ Quake( )
+ ))
+ then
+ writer.write("Message : (Alarm A Quake)->Burglar " +drools.getConsequenceDegree()+"\n\n");
- Quake quake = new Quake();
- quake.setId(0);
- drools.inject(quake,"class","==","org.drools.chance.BayesianTest.Quake");
- insertLogical(quake);
+ Burglar burglar = new Burglar();
+ drools.inject(burglar,"class","==","org.drools.chance.BayesianTest.Burglar");
+ //drools.injectKey(burglar,"org.drools.chance.BayesianTest.Burglar.flag","random",null);
+ insertLogical(burglar);
end
@@ -132,13 +153,14 @@
-/*
+
+
rule "pi:Alarm->John"
prior ( [0.999 0.001 ; 0.001 0.999] )
when
- (or @( args="pi:Alarm->John" )
+ (or @( kind="vel" args="pi:Alarm->John" )
Alarm()
)
then
@@ -154,14 +176,15 @@
prior ( [0.999 0.001 ; 0.001 0.999] )
when
- (or @( args="lambda:Alarm->John" )
+ (or @( kind="vel" args="lambda:Alarm->John" )
John ( )
)
then
writer.write("Message : John->Alarm " + drools.getConsequenceDegree() + "\n\n");
Alarm alarm = new Alarm();
alarm.setId(0);
- drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+ drools.inject(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+ insertLogical(alarm);
end
@@ -172,7 +195,7 @@
prior ( [0.7 0.1 ; 0.3 0.9] )
when
- (or @( args="pi:Alarm->Mary" )
+ (or @( kind="vel" args="pi:Alarm->Mary" )
Alarm()
)
then
@@ -188,18 +211,18 @@
prior ( [0.7 0.1 ; 0.3 0.9] )
when
- (or @( args="lambda:Alarm->Mary" )
+ (or @( kind="vel" args="lambda:Alarm->Mary" )
Mary ( )
)
then
writer.write("Message : Mary->Alarm " + drools.getConsequenceDegree() + "\n\n");
Alarm alarm = new Alarm();
alarm.setId(0);
- drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+ drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+ insertLogical(alarm);
end
-*/
@@ -243,11 +266,37 @@
+rule "Burglar"
+ prior ( [1 0 ; 0 1] )
+ when
+ Burglar ( )
+ then
+ if (drools.getEvaluation().getInfoRate() == 1.0) {
+ BurglarActions ba = new BurglarActions();
+ drools.inject(ba,"class","==","org.drools.chance.BayesianTest.BurglarActions");
+ insertLogical(ba);
+ }
+end
+
+
+rule "Burglar_Actions"
+ prior ( [1 0 ; 0 1] )
+ when
+ BurglarActions ( )
+ then
+ writer.write("Burglar c1" + drools.getConsequenceDegree() + "\n\n");
+ //writer.write(drools.getEvaluation().expand());
+ System.out.println(drools.getEvaluation().expand());
+end
+
+
+
+
rule "Quake"
prior ( [1 0 ; 0 1] )
when
- Quake ( flag random )
+ Quake ( )
then
if (drools.getEvaluation().getInfoRate() == 1.0) {
QuakeActions qa = new QuakeActions();
Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTreeTest.drl
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTreeTest.drl 2009-06-11 00:49:09 UTC (rev 26913)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTreeTest.drl 2009-06-11 00:49:48 UTC (rev 26914)
@@ -86,7 +86,9 @@
then
writer.write("Message : Alarm->Quake " +drools.getConsequenceDegree()+"\n\n");
- drools.injectKey(new Quake(),"org.drools.chance.BayesianTest.Quake.flag","random",null);
+ Quake quake = new Quake();
+ drools.injectKey(quake,"org.drools.chance.BayesianTest.Quake.flag","random",null);
+ insertLogical(quake);
end
@@ -122,7 +124,8 @@
writer.write("Message : John->Alarm " + drools.getConsequenceDegree() + "\n\n");
Alarm alarm = new Alarm();
alarm.setId(0);
- drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+ drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+ insertLogical(alarm);
end
@@ -162,7 +165,8 @@
writer.write("Message : Mary->Alarm " + drools.getConsequenceDegree() + "\n\n");
Alarm alarm = new Alarm();
alarm.setId(0);
- drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+ drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+ insertLogical(alarm);
end
More information about the jboss-svn-commits
mailing list