Example #1
0
    def deduce(self, values, defuz=True):
        consequences = [rule.apply(values) for rule in self.rules]
        union = consequences[0]
        for i in range(1, len(consequences)):
            union = Operations.binary_operation(union, consequences[i],
                                                Operations.zadeh_or())

        return self.defuzzifier.defuzzify(union) if defuz else union