[jboss-svn-commits] JBL Code SVN: r26839 - in labs/jbossrules/branches/DroolsChance/drools-core: src/main/java/org/drools and 8 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jun 4 19:58:24 EDT 2009
Author: dsotty
Date: 2009-06-04 19:58:24 -0400 (Thu, 04 Jun 2009)
New Revision: 26839
Added:
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/BooleanDomain.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/IDomain.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/RealDomain.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/ProbabilityDistributionDegree.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/factory/BayesianDegreeFactory.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzyRealDomain.java
Removed:
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/RealDomain.java
Modified:
labs/jbossrules/branches/DroolsChance/drools-core/pom.xml
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/IntervalDegree.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/factory/SimpleDegreeFactory.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/IDiscountOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDiscountOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDiscountStrategy.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDoubleMPOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalEquivOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalExistsOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalForallOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalIntersectionOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalLukasImplicationOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalMaxOrOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalMinAndOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalXorOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleAverage.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDiscountOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDiscountStrategy.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDotAnd.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDoubleMPOperator.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleEquiv.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasAnd.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasImplication.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasOr.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMaxMergeStrategy.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMaxOr.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMinAnd.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMinMergeStrategy.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleNot.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleVeryModifier.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleXor.java
labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzySet.java
labs/jbossrules/branches/DroolsChance/drools-core/src/test/java/org/drools/degrees/SimpleDegreeTest.java
Log:
Modified: labs/jbossrules/branches/DroolsChance/drools-core/pom.xml
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/pom.xml 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/pom.xml 2009-06-04 23:58:24 UTC (rev 26839)
@@ -35,7 +35,11 @@
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
- </dependency>
+ </dependency>
+ <dependency>
+ <groupId>Jama</groupId>
+ <artifactId>Jama</artifactId>
+ <version>1.0.2</version></dependency>
</dependencies>
<build>
Added: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/BooleanDomain.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/BooleanDomain.java (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/BooleanDomain.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -0,0 +1,39 @@
+package org.drools.bayesian;
+
+public class BooleanDomain implements IDomain {
+
+ private int focus;
+
+ public Double getSize() {
+ return new Double(2);
+ }
+
+ public int getN() {
+ return 2;
+ }
+
+ public boolean includes(Object o) {
+ return (o instanceof Boolean);
+ }
+
+ public boolean isFinite() {
+ return true;
+ }
+
+
+ public int getFocus() {
+ return focus <= 0 ? 0 : 1;
+ }
+
+ public void setFocus(int j) {
+ focus = j <= 0 ? 0 : 1;
+ }
+
+ public void setFocus(Object o) {
+ if (o instanceof Boolean) {
+ focus = ((Boolean) o) ? 1 : 0;
+ }
+
+ }
+
+}
Added: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/IDomain.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/IDomain.java (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/IDomain.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -0,0 +1,19 @@
+package org.drools.bayesian;
+
+public interface IDomain {
+
+ public Double getSize();
+
+ public int getN();
+
+ public boolean isFinite();
+
+ public boolean includes(Object o);
+
+ public int getFocus();
+
+ public void setFocus(int j);
+
+ public void setFocus(Object o);
+
+}
Added: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/RealDomain.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/RealDomain.java (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/bayesian/RealDomain.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -0,0 +1,43 @@
+package org.drools.bayesian;
+
+import org.drools.base.ValueType;
+import org.drools.bayesian.IDomain;
+import org.drools.degrees.IDegree;
+
+
+
+public class RealDomain implements IDomain {
+
+ private Double value;
+
+ public Double getSize() {
+ return Double.POSITIVE_INFINITY;
+ }
+
+ public boolean includes(Object o) {
+ return o instanceof Number;
+ }
+
+ public boolean isFinite() {
+ return false;
+ }
+
+ public int getN() {
+ return -1;
+ }
+
+ public int getFocus() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public void setFocus(int j) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setFocus(Object o) {
+ // TODO Auto-generated method stub
+
+ }
+}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/IntervalDegree.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/IntervalDegree.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/IntervalDegree.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -3,23 +3,23 @@
public class IntervalDegree implements IDegree {
- private float tau;
- private float phi;
+ private double tau;
+ private double phi;
- public IntervalDegree(float low, float upp) {
+ public IntervalDegree(double low, double upp) {
this.setTau(low);
this.setPhi(1.0f-upp);
}
- public SimpleDegree getDegree() {
+ public SimpleDegree asSimpleDegree() {
return new SimpleDegree(getTau());
}
- public float getValue() {
+ public double getValue() {
return getTau();
}
@@ -37,7 +37,7 @@
/**
* @param phi the phi to set
*/
- protected void setPhi(float phi) {
+ protected void setPhi(double phi) {
this.phi = phi;
}
@@ -46,7 +46,7 @@
/**
* @return the phi
*/
- public float getPhi() {
+ public double getPhi() {
return phi;
}
@@ -55,7 +55,7 @@
/**
* @param tau the tau to set
*/
- protected void setTau(float tau) {
+ protected void setTau(double tau) {
this.tau = tau;
}
@@ -64,22 +64,22 @@
/**
* @return the tau
*/
- public float getTau() {
+ public double getTau() {
return tau;
}
- public float getLow() {
+ public double getLow() {
return getTau();
}
- public float getUpp() {
+ public double getUpp() {
return 1.0f - getPhi();
}
public int hashCode() {
- return new Float(getLow()).hashCode()^new Float(getUpp()).hashCode();
+ return new Double(getLow()).hashCode()^new Double(getUpp()).hashCode();
}
public boolean equals(Object other) {
@@ -97,7 +97,7 @@
- public float getConfidence(boolean cwa) {
+ public double getConfidence(boolean cwa) {
return phi+tau;
}
Added: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/ProbabilityDistributionDegree.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/ProbabilityDistributionDegree.java (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/ProbabilityDistributionDegree.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -0,0 +1,112 @@
+package org.drools.degrees;
+
+import javax.management.RuntimeErrorException;
+
+import org.drools.bayesian.BooleanDomain;
+import org.drools.bayesian.IDomain;
+
+import Jama.Matrix;
+
+
+
+public class ProbabilityDistributionDegree implements IDegree {
+
+ private static final double tHold = 1e-10;
+
+ private int N;
+
+ private Matrix distribution;
+
+ private IDomain domain;
+
+
+ public ProbabilityDistributionDegree() {
+ this(new BooleanDomain());
+ }
+
+
+ public ProbabilityDistributionDegree(IDomain domain) {
+ setDomain(domain);
+ setN(domain.getN());
+ setDistribution(new Matrix(getN(), 1, 1.0/getN()));
+ }
+
+ public ProbabilityDistributionDegree(double[] distrib, boolean check) {
+ setN(distrib.length);
+
+ if (check) {
+ double acc = 0;
+ for (int j = 0; j < getN(); j++)
+ acc += distrib[j];
+ if (acc - 1 > tHold) {
+ throw new RuntimeException("Invalid Probability Distribution");
+ }
+ }
+
+ setDistribution(new Matrix(distrib,1));
+ }
+
+
+ public void setN(int n) {
+ N = n;
+ }
+
+ public int getN() {
+ return N;
+ }
+
+
+ public double getConfidence(boolean cwa) {
+ return 1;
+ }
+
+
+
+ public SimpleDegree asSimpleDegree() {
+ return new SimpleDegree(distribution.get(domain.getFocus(),0));
+ }
+
+ public double getValue() {
+ return distribution.get(domain.getFocus(),0);
+ }
+
+ public boolean toBoolean() {
+ return getValue() > 0.5;
+ }
+
+
+
+
+
+
+ public void setDistribution(Matrix distribution) {
+ this.distribution = distribution;
+ }
+
+
+ public Matrix getDistribution() {
+ return distribution;
+ }
+
+
+ public void setDomain(IDomain domain) {
+ this.domain = domain;
+ }
+
+
+ public IDomain getDomain() {
+ return domain;
+ }
+
+ public String toString() {
+ StringBuilder sb = new StringBuilder("<");
+ for (int j = 0; j < getN(); j++) {
+ sb.append(""+distribution.get(j,0));
+ if (j != getN() - 1)
+ sb.append(",");
+ }
+ sb.append(">");
+ return sb.toString();
+ }
+
+}
Added: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/factory/BayesianDegreeFactory.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/factory/BayesianDegreeFactory.java (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/factory/BayesianDegreeFactory.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -0,0 +1,205 @@
+package org.drools.degrees.factory;
+
+import org.drools.degrees.IDegree;
+import org.drools.degrees.operators.IDegreeCombiner;
+import org.drools.degrees.operators.IDiscountOperator;
+import org.drools.degrees.operators.IDiscountStrategy;
+import org.drools.degrees.operators.IMergeStrategy;
+import org.drools.degrees.operators.INullHandlingStrategy;
+import org.drools.reteoo.filters.IFilterStrategy;
+
+public class BayesianDegreeFactory implements IDegreeFactory {
+
+ boolean cwa = false;
+
+ public IDegree False() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegree Random() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegree True() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegree Unknown() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegree buildDegree(float val) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegree buildDegree(String priorStr) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegree fromBoolean(boolean b) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getAggregator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getAndOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getAndOperator(String params) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IFilterStrategy getDefaultStrategy() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDiscountOperator getDiscountOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getDiscountOperator(String params) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDiscountStrategy getDiscountStrategy() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getDoubleMPOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getDoubleMPOperator(String params) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getEquivOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getEquivOperator(String params) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getExistsOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getForAnyOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getForallOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getHedgeOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getHedgeOperator(String params) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getImplicationOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getImplicationOperator(String params) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getMaxOrOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IMergeStrategy getMergeStrategy() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getMinAndOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getModusPonensOp() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getModusPonensOperator(String params) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getNegationOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public INullHandlingStrategy getNullHandlingStrategy() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getOrOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getOrOperator(String params) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getXorOperator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public IDegreeCombiner getXorOperator(String params) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean isClosedWorldAssumption() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public void setClosedWorldAssumption(boolean cwa) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/factory/SimpleDegreeFactory.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/factory/SimpleDegreeFactory.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/factory/SimpleDegreeFactory.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -170,7 +170,7 @@
}
public IDiscountOperator getDiscountOperator() {
- return new SimpleDiscountOperator(this.Unknown().getDegree());
+ return new SimpleDiscountOperator(this.Unknown().asSimpleDegree());
}
public IDegreeCombiner getDoubleMPOperator() {
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/IDiscountOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/IDiscountOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/IDiscountOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -4,6 +4,6 @@
public interface IDiscountOperator extends IDegreeCombiner {
- public IDegree discount(IDegree arg, float strength);
+ public IDegree discount(IDegree arg, double strength);
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDiscountOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDiscountOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDiscountOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -15,8 +15,8 @@
public class IntervalDiscountOperator implements IDiscountOperator {
- public IDegree discount(IDegree arg, float strength) {
- float alfa = strength;
+ public IDegree discount(IDegree arg, double strength) {
+ double alfa = strength;
IntervalDegree ival = (IntervalDegree) arg;
return new IntervalDegree(ival.getTau()*alfa, 1 - ival.getPhi()*alfa);
}
@@ -26,8 +26,8 @@
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
IntervalDegree ival = (IntervalDegree) args[0];
- SimpleDegree disc = args[1].getDegree();
- float alfa = disc.getValue();
+ SimpleDegree disc = args[1].asSimpleDegree();
+ double alfa = disc.getValue();
return new IntervalDegree(ival.getTau()*alfa, 1 - ival.getPhi()*alfa);
@@ -39,8 +39,8 @@
Iterator<? extends IDegree> iter= args.iterator();
IntervalDegree ival = (IntervalDegree) iter.next();
- SimpleDegree disc = iter.next().getDegree();
- float alfa = disc.getValue();
+ SimpleDegree disc = iter.next().asSimpleDegree();
+ double alfa = disc.getValue();
return new IntervalDegree(ival.getTau()*alfa, 1 - ival.getPhi()*alfa);
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDiscountStrategy.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDiscountStrategy.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDiscountStrategy.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -14,7 +14,7 @@
}
public IDegree[] discount(IDegree[] args, boolean[] flags, IDegreeFactory factory) {
- float confMax = 0;
+ double confMax = 0;
IDegree[] ans = new IDegree[args.length];
@@ -24,10 +24,10 @@
}
for (int j = 0; j < args.length; j++) {
- //float weak = Math.max(0 , confMax - args[j].getConfidence());
+ //double weak = Math.max(0 , confMax - args[j].getConfidence());
- float strength;
- float c0 = args[j].getConfidence(factory.isClosedWorldAssumption());
+ double strength;
+ double c0 = args[j].getConfidence(factory.isClosedWorldAssumption());
if (flags[j]) {
//weaken weaker defeaters
strength = 1 - (confMax - c0);
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDoubleMPOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDoubleMPOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalDoubleMPOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -21,8 +21,8 @@
IntervalDegree prem = (IntervalDegree) args[0];
IntervalDegree impl = (IntervalDegree) args[1];
- float tau = Math.min(prem.getTau(),impl.getTau());
- float phi = Math.min(prem.getPhi(),impl.getTau());
+ double tau = Math.min(prem.getTau(),impl.getTau());
+ double phi = Math.min(prem.getPhi(),impl.getTau());
return new IntervalDegree(tau, 1-phi);
@@ -36,8 +36,8 @@
IntervalDegree prem = (IntervalDegree) iter.next();
IntervalDegree impl = (IntervalDegree) iter.next();
- float tau = Math.min(prem.getTau(),impl.getTau());
- float phi = Math.min(prem.getPhi(),impl.getTau());
+ double tau = Math.min(prem.getTau(),impl.getTau());
+ double phi = Math.min(prem.getPhi(),impl.getTau());
return new IntervalDegree(tau, 1-phi);
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalEquivOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalEquivOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalEquivOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -20,7 +20,7 @@
if (a1.getUpp() < a2.getLow() || a2.getUpp() < a1.getLow())
return IntervalDegreeFactory.FALSE;
- float maxDist = Math.max(a2.getUpp()-a1.getLow(),a1.getUpp()-a2.getLow());
+ double maxDist = Math.max(a2.getUpp()-a1.getLow(),a1.getUpp()-a2.getLow());
return new IntervalDegree(1-maxDist,1);
}
@@ -35,7 +35,7 @@
if (a1.getUpp() < a2.getLow() || a2.getUpp() < a1.getLow())
return IntervalDegreeFactory.FALSE;
- float maxDist = Math.max(a2.getUpp()-a1.getLow(),a1.getUpp()-a2.getLow());
+ double maxDist = Math.max(a2.getUpp()-a1.getLow(),a1.getUpp()-a2.getLow());
return new IntervalDegree(1-maxDist,1);
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalExistsOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalExistsOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalExistsOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -13,8 +13,8 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
if (args == null || args.length == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float tau = 0;
- float phi = 1.0f;
+ double tau = 0;
+ double phi = 1.0f;
for (IDegree deg : args) {
IntervalDegree ival = (IntervalDegree) deg;
if (ival == null)
@@ -28,8 +28,8 @@
public IDegree eval(Collection<? extends IDegree> args, IDegreeFactory factory) {
if (args == null || args.size() == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float tau = 0;
- float phi = 1.0f;
+ double tau = 0;
+ double phi = 1.0f;
for (IDegree deg : args) {
IntervalDegree ival = (IntervalDegree) deg;
if (ival == null)
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalForallOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalForallOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalForallOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -13,8 +13,8 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
if (args == null || args.length == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float tau = 1.0f;
- float phi = 0.0f;
+ double tau = 1.0f;
+ double phi = 0.0f;
for (IDegree deg : args) {
IntervalDegree ival = (IntervalDegree) deg;
if (ival == null)
@@ -28,8 +28,8 @@
public IDegree eval(Collection<? extends IDegree> args, IDegreeFactory factory) {
if (args == null || args.size() == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float tau = 1.0f;
- float phi = 0.0f;
+ double tau = 1.0f;
+ double phi = 0.0f;
for (IDegree deg : args) {
IntervalDegree ival = (IntervalDegree) deg;
if (ival == null)
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalIntersectionOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalIntersectionOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalIntersectionOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -15,8 +15,8 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
if (args == null || args.length == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float tau = 0;
- float phi = 0;
+ double tau = 0;
+ double phi = 0;
for (IDegree deg : args) {
IntervalDegree ival = (IntervalDegree) deg;
if (ival == null)
@@ -30,8 +30,8 @@
public IDegree eval(Collection<? extends IDegree> args, IDegreeFactory factory) {
if (args == null || args.size() == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float tau = 0;
- float phi = 0;
+ double tau = 0;
+ double phi = 0;
for (IDegree deg : args) {
IntervalDegree ival = (IntervalDegree) deg;
if (ival == null)
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalLukasImplicationOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalLukasImplicationOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalLukasImplicationOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -16,8 +16,8 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
if (args == null || args.length < 2)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float low = 0;
- float upp = 0;
+ double low = 0;
+ double upp = 0;
IntervalDegree prem = (IntervalDegree) args[0];
IntervalDegree conc = (IntervalDegree) args[1];
@@ -31,8 +31,8 @@
public IDegree eval(Collection<? extends IDegree> args, IDegreeFactory factory) {
if (args == null || args.size() == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float low = 0;
- float upp = 0;
+ double low = 0;
+ double upp = 0;
Iterator<? extends IDegree> iter = args.iterator();
IntervalDegree prem = (IntervalDegree) iter.next();
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalMaxOrOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalMaxOrOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalMaxOrOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -13,8 +13,8 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
if (args == null || args.length == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float tau = 0;
- float phi = 1.0f;
+ double tau = 0;
+ double phi = 1.0f;
for (IDegree deg : args) {
IntervalDegree ival = (IntervalDegree) deg;
if (ival == null)
@@ -28,8 +28,8 @@
public IDegree eval(Collection<? extends IDegree> args, IDegreeFactory factory) {
if (args == null || args.size() == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float tau = 0;
- float phi = 1.0f;
+ double tau = 0;
+ double phi = 1.0f;
for (IDegree deg : args) {
IntervalDegree ival = (IntervalDegree) deg;
if (ival == null)
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalMinAndOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalMinAndOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalMinAndOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -13,8 +13,8 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
if (args == null || args.length == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float tau = 1.0f;
- float phi = 0.0f;
+ double tau = 1.0f;
+ double phi = 0.0f;
for (IDegree deg : args) {
IntervalDegree ival = (IntervalDegree) deg;
if (ival == null)
@@ -28,8 +28,8 @@
public IDegree eval(Collection<? extends IDegree> args, IDegreeFactory factory) {
if (args == null || args.size() == 0)
return factory == null ? IntervalDegreeFactory.UNKNOWN : factory.Unknown();
- float tau = 1.0f;
- float phi = 0.0f;
+ double tau = 1.0f;
+ double phi = 0.0f;
for (IDegree deg : args) {
IntervalDegree ival = (IntervalDegree) deg;
if (ival == null)
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalXorOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalXorOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/intervals/IntervalXorOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -20,7 +20,7 @@
if (a1.getUpp() < a2.getLow() || a2.getUpp() < a1.getLow())
return IntervalDegreeFactory.FALSE;
- float maxDist = Math.max(a2.getUpp()-a1.getLow(),a1.getUpp()-a2.getLow());
+ double maxDist = Math.max(a2.getUpp()-a1.getLow(),a1.getUpp()-a2.getLow());
return new IntervalDegree(0,maxDist);
}
@@ -35,7 +35,7 @@
if (a1.getUpp() < a2.getLow() || a2.getUpp() < a1.getLow())
return IntervalDegreeFactory.FALSE;
- float maxDist = Math.max(a2.getUpp()-a1.getLow(),a1.getUpp()-a2.getLow());
+ double maxDist = Math.max(a2.getUpp()-a1.getLow(),a1.getUpp()-a2.getLow());
return new IntervalDegree(0,maxDist);
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleAverage.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleAverage.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleAverage.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -19,7 +19,7 @@
float ans = 0;
int n = 0;
for (IDegree deg : args) {
- SimpleDegree d = deg.getDegree();
+ SimpleDegree d = deg.asSimpleDegree();
ans += d.getValue();
n++;
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDiscountOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDiscountOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDiscountOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -17,13 +17,13 @@
this.unk = unk;
}
- public IDegree discount(IDegree source, float strength) {
- float val = (1-strength)*unk.getValue() + strength*source.getDegree().getValue();
+ public IDegree discount(IDegree source, double strength) {
+ double val = (1-strength)*unk.getValue() + strength*source.getValue();
return new SimpleDegree(val);
}
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
- return discount(args[0], args[1].getDegree().getValue());
+ return discount(args[0], args[1].getValue());
}
public IDegree eval(Collection<? extends IDegree> args,
@@ -31,7 +31,7 @@
Iterator<? extends IDegree> iter = args.iterator();
IDegree arg = iter.next();
IDegree wgt = iter.next();
- return discount(arg, wgt.getDegree().getValue());
+ return discount(arg, wgt.getValue());
}
public String getName() {
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDiscountStrategy.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDiscountStrategy.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDiscountStrategy.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -15,7 +15,7 @@
}
public IDegree[] discount(IDegree[] args, boolean[] flags, IDegreeFactory factory) {
- float confMax = 0;
+ double confMax = 0;
IDegree[] ans = new IDegree[args.length];
@@ -25,10 +25,10 @@
}
for (int j = 0; j < args.length; j++) {
- //float weak = Math.max(0 , confMax - args[j].getConfidence());
+ //double weak = Math.max(0 , confMax - args[j].getConfidence());
- float strength;
- float c0 = args[j].getConfidence(factory.isClosedWorldAssumption());
+ double strength;
+ double c0 = args[j].getConfidence(factory.isClosedWorldAssumption());
if (flags[j]) {
//weaken weaker defeaters
strength = 1 - (confMax - c0);
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDotAnd.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDotAnd.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDotAnd.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -17,7 +17,7 @@
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
float ans = 1;
for (IDegree deg : args) {
- SimpleDegree d = deg.getDegree();
+ SimpleDegree d = deg.asSimpleDegree();
ans *= d.getValue();
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDoubleMPOperator.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDoubleMPOperator.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleDoubleMPOperator.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -17,11 +17,11 @@
IDegree prem = args[0];
IDegree impl = args[1];
- //float mp1 = Math.min(prem.getDegree().getValue(),impl.getDegree().getValue());
- //float mp2 = 1 - Math.min(1 - prem.getDegree().getValue(),impl.getDegree().getValue());
+ //double mp1 = Math.min(prem.getValue(),impl.getValue());
+ //double mp2 = 1 - Math.min(1 - prem.getValue(),impl.getValue());
- float mp1 = prem.getDegree().getValue()*impl.getDegree().getValue();
- float mp2 = 1 - (1 - prem.getDegree().getValue())*(impl.getDegree().getValue());
+ double mp1 = prem.getValue()*impl.getValue();
+ double mp2 = 1 - (1 - prem.getValue())*(impl.getValue());
return new SimpleDegree(Math.min(mp1, mp2));
@@ -35,11 +35,11 @@
IDegree prem = iter.next();
IDegree impl = iter.next();
- //float mp1 = Math.min(prem.getDegree().getValue(),impl.getDegree().getValue());
- //float mp2 = 1 - Math.min(1 - prem.getDegree().getValue(),impl.getDegree().getValue());
+ //double mp1 = Math.min(prem.getValue(),impl.getValue());
+ //double mp2 = 1 - Math.min(1 - prem.getValue(),impl.getValue());
- float mp1 = prem.getDegree().getValue()*impl.getDegree().getValue();
- float mp2 = 1 - (1 - prem.getDegree().getValue())*(impl.getDegree().getValue());
+ double mp1 = prem.getValue()*impl.getValue();
+ double mp2 = 1 - (1 - prem.getValue())*(impl.getValue());
return new SimpleDegree(Math.min(mp1, mp2));
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleEquiv.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleEquiv.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleEquiv.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -16,8 +16,8 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
return new SimpleDegree( 1 - Math.abs(
- args[0].getDegree().getValue()
- - args[1].getDegree().getValue())
+ args[0].getValue()
+ - args[1].getValue())
);
}
@@ -32,8 +32,8 @@
SimpleDegree a2 = (SimpleDegree) iter.next();
return new SimpleDegree( 1 - Math.abs(
- a1.getDegree().getValue()
- - a2.getDegree().getValue())
+ a1.getValue()
+ - a2.getValue())
);
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasAnd.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasAnd.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasAnd.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -17,7 +17,7 @@
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
float ans = 1;
for (IDegree deg : args) {
- SimpleDegree d = deg.getDegree();
+ SimpleDegree d = deg.asSimpleDegree();
ans += d.getValue() - 1;
}
@@ -29,7 +29,7 @@
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
float ans = 1;
for (IDegree deg : args) {
- SimpleDegree d = deg.getDegree();
+ SimpleDegree d = deg.asSimpleDegree();
ans += d.getValue() - 1;
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasImplication.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasImplication.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasImplication.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -16,7 +16,7 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
if (args == null || args.length < 2)
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
- float ans = 1 - args[0].getDegree().getValue() + args[1].getDegree().getValue();
+ double ans = 1 - args[0].getValue() + args[1].getValue();
return new SimpleDegree(Math.min(1,ans));
@@ -26,7 +26,7 @@
if (args == null || args.size() < 2)
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
Iterator<? extends IDegree> iter = args.iterator();
- float ans = 1 - iter.next().getDegree().getValue() + iter.next().getDegree().getValue();
+ double ans = 1 - iter.next().getValue() + iter.next().getValue();
return new SimpleDegree(Math.min(1,ans));
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasOr.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasOr.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleLukasOr.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -17,7 +17,7 @@
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
float ans = 0;
for (IDegree deg : args) {
- SimpleDegree d = deg.getDegree();
+ SimpleDegree d = deg.asSimpleDegree();
ans += d.getValue();
}
@@ -30,7 +30,7 @@
float ans = 0;
for (IDegree deg : args) {
- SimpleDegree d = deg.getDegree();
+ SimpleDegree d = deg.asSimpleDegree();
ans += d.getValue();
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMaxMergeStrategy.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMaxMergeStrategy.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMaxMergeStrategy.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -28,9 +28,9 @@
}
- float val = factory.Unknown().getDegree().getValue();
+ double val = factory.Unknown().getValue();
for (IDegree deg : args) {
- val = Math.max(val,deg.getDegree().getValue());
+ val = Math.max(val,deg.getValue());
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMaxOr.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMaxOr.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMaxOr.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -15,9 +15,9 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
if (args == null || args.length == 0)
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
- float ans = 0;
+ double ans = 0;
for (IDegree deg : args) {
- SimpleDegree d = deg.getDegree();
+ SimpleDegree d = deg.asSimpleDegree();
ans = Math.max(ans,d.getValue());
}
@@ -27,9 +27,9 @@
public IDegree eval(Collection<? extends IDegree> args, IDegreeFactory factory) {
if (args == null || args.size() == 0)
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
- float ans = 0;
+ double ans = 0;
for (IDegree deg : args) {
- SimpleDegree d = deg.getDegree();
+ SimpleDegree d = deg.asSimpleDegree();
ans = Math.max(ans,d.getValue());
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMinAnd.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMinAnd.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMinAnd.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -14,9 +14,9 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
if (args == null || args.length == 0)
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
- float ans = 1;
+ double ans = 1;
for (IDegree deg : args) {
- SimpleDegree d = deg.getDegree();
+ SimpleDegree d = deg.asSimpleDegree();
ans = Math.min(ans,d.getValue());
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMinMergeStrategy.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMinMergeStrategy.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleMinMergeStrategy.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -30,9 +30,9 @@
}
- float val = factory.Unknown().getDegree().getValue();
+ double val = factory.Unknown().getValue();
for (IDegree deg : args) {
- val = Math.min(val,deg.getDegree().getValue());
+ val = Math.min(val,deg.getValue());
}
return new SimpleDegree(val);
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleNot.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleNot.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleNot.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -10,7 +10,7 @@
public class SimpleNot extends NegationOperator {
public IDegree negate(IDegree arg) {
- return new SimpleDegree(1-arg.getDegree().getValue());
+ return new SimpleDegree(1-arg.getValue());
}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleVeryModifier.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleVeryModifier.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleVeryModifier.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -15,7 +15,7 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
if (args == null || args.length == 0)
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
- float arg = args[0].getDegree().getValue();
+ double arg = args[0].getValue();
return new SimpleDegree(arg*arg);
@@ -24,7 +24,7 @@
public IDegree eval(Collection<? extends IDegree> args, IDegreeFactory factory) {
if (args == null || args.size() == 0)
return factory == null ? SimpleDegree.UNKNOWN(true) : factory.Unknown();
- float arg = args.iterator().next().getDegree().getValue();
+ double arg = args.iterator().next().getValue();
return new SimpleDegree(arg*arg);
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleXor.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleXor.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/degrees/operators/simple/SimpleXor.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -14,8 +14,8 @@
public IDegree eval(IDegree[] args, IDegreeFactory factory) {
return new SimpleDegree( Math.abs(
- args[0].getDegree().getValue()
- - args[1].getDegree().getValue())
+ args[0].getValue()
+ - args[1].getValue())
);
}
@@ -29,8 +29,8 @@
SimpleDegree a2 = (SimpleDegree) iter.next();
return new SimpleDegree( Math.abs(
- a1.getDegree().getValue()
- - a2.getDegree().getValue())
+ a1.getValue()
+ - a2.getValue())
);
}
Copied: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzyRealDomain.java (from rev 26751, labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/RealDomain.java)
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzyRealDomain.java (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzyRealDomain.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -0,0 +1,52 @@
+package org.drools.fuzzy;
+
+import org.drools.base.ValueType;
+import org.drools.bayesian.IDomain;
+import org.drools.bayesian.RealDomain;
+import org.drools.degrees.IDegree;
+
+
+
+public abstract class FuzzyRealDomain extends FuzzyDomain {
+
+ private Double value;
+
+ private RealDomain domain;
+
+
+ public Double getValue() {
+ if (value != null)
+ return value;
+ else if (getPossibilityDistribution() == null)
+ return null;
+ else return ((NumericDomainFuzzySet) getPossibilityDistribution()).defuzzify().doubleValue();
+ }
+
+ public void setValue(Double value) {
+ this.value = value;
+ }
+
+ protected void setValueBit(Double value) {
+ if (this.value == null)
+ this.value = value;
+ else this.value += value;
+ }
+
+
+ public void setValue(String op, IDegree deg) {
+ double refVal = ((NumericDomainFuzzySet) this.getGranule(op)).defuzzify().doubleValue();
+ double wgt = deg.getValue();
+
+ setValueBit(refVal*wgt);
+ }
+
+
+ public boolean supportsType(ValueType type) {
+
+ return type.isNumber();
+ }
+
+
+
+
+}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzySet.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzySet.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/FuzzySet.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -23,23 +23,23 @@
return name;
}
- public float getConfidence(boolean cwa) {
+ public double getConfidence(boolean cwa) {
return 1;
}
- public float getValue() {
+ public double getValue() {
return -99;
}
- public SimpleDegree getDegree() {
+ public SimpleDegree asSimpleDegree() {
// TODO Defuzzify here
return null;
}
public boolean toBoolean() {
- return getDegree().toBoolean();
+ return asSimpleDegree().toBoolean();
}
}
Deleted: labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/RealDomain.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/RealDomain.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/main/java/org/drools/fuzzy/RealDomain.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -1,47 +0,0 @@
-package org.drools.fuzzy;
-
-import org.drools.base.ValueType;
-import org.drools.degrees.IDegree;
-
-
-
-public abstract class RealDomain extends FuzzyDomain {
-
- private Double value;
-
-
- public Double getValue() {
- if (value != null)
- return value;
- else if (getPossibilityDistribution() == null)
- return null;
- else return ((NumericDomainFuzzySet) getPossibilityDistribution()).defuzzify().doubleValue();
- }
-
- public void setValue(Double value) {
- this.value = value;
- }
-
- protected void setValueBit(Double value) {
- if (this.value == null)
- this.value = value;
- else this.value += value;
- }
-
-
- public void setValue(String op, IDegree deg) {
- System.out.println(this.getClass()+" WARNING : NEED TO IMPLEMENT Alpha-Cuts AND SET UNION");
- double refVal = ((NumericDomainFuzzySet) this.getGranule(op)).defuzzify().doubleValue();
- double wgt = deg.getDegree().getValue();
-
- setValueBit(refVal*wgt);
- }
-
-
- public boolean supportsType(ValueType type) {
-
- return type.isNumber();
- }
-
-
-}
Modified: labs/jbossrules/branches/DroolsChance/drools-core/src/test/java/org/drools/degrees/SimpleDegreeTest.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-core/src/test/java/org/drools/degrees/SimpleDegreeTest.java 2009-06-04 23:57:29 UTC (rev 26838)
+++ labs/jbossrules/branches/DroolsChance/drools-core/src/test/java/org/drools/degrees/SimpleDegreeTest.java 2009-06-04 23:58:24 UTC (rev 26839)
@@ -89,9 +89,9 @@
@Test
public void testGetDegree() {
- assertEquals(s1,s1.getDegree());
- assertTrue(s3.getDegree() instanceof IDegree );
- assertTrue(s5.getDegree() instanceof SimpleDegree);
+ assertEquals(s1,s1.asSimpleDegree());
+ assertTrue(s3.asSimpleDegree() instanceof IDegree );
+ assertTrue(s5.asSimpleDegree() instanceof SimpleDegree);
}
@Test
More information about the jboss-svn-commits
mailing list