Example #1
0
        public static TruthValue make(float frequency, float confidence, bool analytic = false)
        {
            TruthValue result = new TruthValue();

            result.frequency  = frequency;
            result.confidence = confidence;
            result.analytic   = analytic;
            return(result);
        }
Example #2
0
        public TruthValue clone()
        {
            TruthValue result = new TruthValue();

            result.frequency  = frequency;
            result.confidence = confidence;
            result.analytic   = analytic;
            return(result);
        }
Example #3
0
        public static TruthValue calcTruthDoublePremise(TruthValue a, TruthValue b, EnumTruthFunction truthFunction)
        {
            switch (truthFunction)
            {
            case EnumTruthFunction.REVISION:
                return(TruthFunctions.revision(a, b));

            case EnumTruthFunction.COMPARISON:
                return(TruthFunctions.comparison(a, b));

            case EnumTruthFunction.ANALOGY:
                return(TruthFunctions.analogy(a, b));

            case EnumTruthFunction.ANALOGYTICK:
                return(TruthFunctions.anonymousAnalogy(a, b));

            case EnumTruthFunction.DEDUCTION2:
                return(TruthFunctions.desireDed(a, b));

            case EnumTruthFunction.INDUCTION:
                return(TruthFunctions.induction(a, b));

            case EnumTruthFunction.INTERSECTION:
                return(TruthFunctions.intersection(a, b));

            // TODO< search formulas >
            //case EnumTruthFunction.STRUCTINT:
            //case EnumTruthFunction.STRUCTABD:
            //case EnumTruthFunction.REDUCECONJUNCTION,

            case EnumTruthFunction.EXEMPLIFICATION:
                return(TruthFunctions.exemplification(a, b));

            case EnumTruthFunction.RESEMBLANCE:
                return(TruthFunctions.resemblance(a, b));

            default:
                throw new Exception("Double premise truth Function called for non-double premise truth");
            }
        }
Example #4
0
 // from https://github.com/opennars/opennars/blob/4515f1d8e191a1f097859decc65153287d5979c5/nars_core/nars/entity/TruthValue.java#L183
 public bool checkEquals(TruthValue other)
 {
     return
         (MathMisc.checkEpsilon(confidence, other.confidence, Parameters.TRUTH_EPSILON) &&
          MathMisc.checkEpsilon(frequency, other.frequency, Parameters.TRUTH_EPSILON));
 }
Example #5
0
 /**
  * Calculate the absolute difference of the expectation value and that of a
  * given truth value
  *
  * @param t The given value
  * @return The absolute difference
  */
 public float getExpDifAbs(TruthValue t)
 {
     return(Math.Abs(expectation - t.expectation));
 }