# Path: fuzzy/norm/Min.py
# class Min(Norm):
# 
#     def __init__(self):
#         Norm.__init__(self,Norm.T_NORM)
# 
#     def __call__(self,*args):
#         """Return minimum of given values."""
#         return min(args)


from fuzzy.norm.Min import Min
        import fuzzy.Adjective
#
# This program is distributed in the hope that it will be useful, but WITHOUT 
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
# 
# You should have received a copy of the GNU Lesser General Public License along with 
# this program; if not, see <http://www.gnu.org/licenses/>. 
#
"""Represents a fuzzy rule."""
__revision__ = "$Id: Rule.py,v 1.13 2009/10/07 21:08:13 rliebscher Exp $"


class Rule(object):
    """This is realizes an important part of the inference engine.
       It represents and calculates the value of a fuzzy rule
       and sets the given adjective to the appropriate value.

       @cvar _CER: the default value (=Min()) for the norm used to calculate the certainty of a rule.
       @type _CER: L{fuzzy.norm.Norm.Norm}
       @ivar adjective: fuzzy adjective to set
       @type adjective: L{fuzzy.Adjective.Adjective}
       @ivar operator: Operator which provides the value to set
       @type operator: L{fuzzy.operator.Operator.Operator}
       @ivar certainty: how sure are we about this rule
       @type certainty: float
       @ivar CER: fuzzy norm to use with certainty (normally a t-norm)
       @type CER: L{fuzzy.norm.Norm.Norm}
    """

    # default if not set in instance

# Path: fuzzy/norm/Min.py
# class Min(Norm):
# 
#     def __init__(self):
#         Norm.__init__(self,Norm.T_NORM)
# 
#     def __call__(self,*args):
#         """Return minimum of given values."""
#         return min(args)


# Path: fuzzy/Rule.py
from fuzzy.norm.Min import Min
        import fuzzy.Adjective

#
# This program is distributed in the hope that it will be useful, but WITHOUT 
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
# 
# You should have received a copy of the GNU Lesser General Public License along with 
# this program; if not, see <http://www.gnu.org/licenses/>. 
#
"""Represents a fuzzy rule."""
__revision__ = "$Id: Rule.py,v 1.13 2009/10/07 21:08:13 rliebscher Exp $"


class Rule(object):
    """This is realizes an important part of the inference engine.
       It represents and calculates the value of a fuzzy rule
       and sets the given adjective to the appropriate value.

       @cvar _CER: the default value (=Min()) for the norm used to calculate the certainty of a rule.
       @type _CER: L{fuzzy.norm.Norm.Norm}
       @ivar adjective: fuzzy adjective to set
       @type adjective: L{fuzzy.Adjective.Adjective}
       @ivar operator: Operator which provides the value to set
       @type operator: L{fuzzy.operator.Operator.Operator}
       @ivar certainty: how sure are we about this rule
       @type certainty: float
       @ivar CER: fuzzy norm to use with certainty (normally a t-norm)
       @type CER: L{fuzzy.norm.Norm.Norm}
    """

    # default if not set in instance

    _CER = Min()