Class TNorm

java.lang.Object
org.tweetyproject.math.func.fuzzy.TNorm
All Implemented Interfaces:
BinaryFunction<Double,Double,Double>
Direct Known Subclasses:
LukasiewiczNorm, MinimumNorm, ProductNorm

public abstract class TNorm extends Object implements BinaryFunction<Double,Double,Double>
Represents a T-norm in fuzzy logic, i.e., a generalization of a logical conjunction on values in [0,1].
Author:
Matthias Thimm
  • Constructor Details

    • TNorm

      public TNorm()
  • Method Details

    • eval

      public abstract Double eval(Double val1, Double val2)
      Description copied from interface: BinaryFunction
      Evaluates the function for the given elements.
      Specified by:
      eval in interface BinaryFunction<Double,Double,Double>
      Parameters:
      val1 - some element
      val2 - some element
      Returns:
      the value of the element.
    • eval

      public Double eval(Collection<Double> vals)
      Generalizes this norm on sets of input parameters (as t-norms are associative, the order is not important).
      Parameters:
      vals - a set of values
      Returns:
      the evaluation result on the input
    • evalTerm

      public abstract Term evalTerm(Term val1, Term val2)
      Gives a representation of this norm as a mathematical term
      Parameters:
      val1 - the term denoting the first parameter
      val2 - the term denoting the second parameter
      Returns:
      the term denoting this norm evaluation on the two terms
    • evalTerm

      public Term evalTerm(Collection<Term> vals)
      Gives a representation of this norm as a mathematical term. Generalizes this norm on sets of input parameters (as t-norms are associative, the order is not important).
      Parameters:
      vals - a set of value terms
      Returns:
      the evaluation result on the input as a term
    • getDualCoNorm

      public abstract TCoNorm getDualCoNorm()
      Returns the dual T-conorm of this T-norm.
      Returns:
      the dual T-conorm of this T-norm.
    • isNilpotent

      public abstract boolean isNilpotent()
      A T-norm is nilpotent if there are x,y>0 with t(x,y)=0
      Returns:
      true if the norm is nilpotent