Class TNorm

  • All Implemented Interfaces:
    BinaryFunction<java.lang.Double,​java.lang.Double,​java.lang.Double>
    Direct Known Subclasses:
    LukasiewiczNorm, MinimumNorm, ProductNorm

    public abstract class TNorm
    extends java.lang.Object
    implements BinaryFunction<java.lang.Double,​java.lang.Double,​java.lang.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 Summary

      Constructors 
      Constructor Description
      TNorm()  
    • Method Summary

      Modifier and Type Method Description
      abstract java.lang.Double eval​(java.lang.Double val1, java.lang.Double val2)
      Evaluates the function for the given elements.
      java.lang.Double eval​(java.util.Collection<java.lang.Double> vals)
      Generalizes this norm on sets of input parameters (as t-norms are associative, the order is not important).
      Term evalTerm​(java.util.Collection<Term> vals)
      Gives a representation of this norm as a mathematical term.
      abstract Term evalTerm​(Term val1, Term val2)
      Gives a representation of this norm as a mathematical term
      abstract TCoNorm getDualCoNorm()
      Returns the dual T-conorm of this T-norm.
      abstract boolean isNilpotent()
      A T-norm is nilpotent if there are x,y>0 with t(x,y)=0
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TNorm

        public TNorm()
    • Method Detail

      • eval

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

        public java.lang.Double eval​(java.util.Collection<java.lang.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​(java.util.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