Class TCoNorm

  • All Implemented Interfaces:
    BinaryFunction<java.lang.Double,​java.lang.Double,​java.lang.Double>
    Direct Known Subclasses:
    BoundedSum, MaximumCoNorm, ProbabilisticSum

    public abstract class TCoNorm
    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
      TCoNorm()  
    • 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 conorm on sets of input parameters (as t-conorms are associative, the order is not important).
      Term evalTerm​(java.util.Collection<Term> vals)
      Gives a representation of this conorm as a mathematical term.
      abstract Term evalTerm​(Term val1, Term val2)
      Gives a representation of this conorm as a mathematical term
      abstract TNorm getDualNorm()
      Returns the dual T-norm of this T-conorm.
      abstract boolean isNilpotent()
      A T-conorm is nilpotent if there are x,y<1 with s(x,y)=1
      • Methods inherited from class java.lang.Object

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

      • TCoNorm

        public TCoNorm()
    • 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 conorm on sets of input parameters (as t-conorms 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 conorm as a mathematical term
        Parameters:
        val1 - the term denoting the first parameter
        val2 - the term denoting the second parameter
        Returns:
        the term denoting this conorm evaluation on the two terms
      • evalTerm

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

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

        public abstract boolean isNilpotent()
        A T-conorm is nilpotent if there are x,y<1 with s(x,y)=1
        Returns:
        true if the conorm is nilpotent