[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