def AddSingletonSet(self, name, minBound, peak, maxBound): self._memberSets[name] = FuzzySetSingleton(peak, peak - minBound, maxBound - peak) # adjust range if necessary self._adjustRangeToFit(minBound, maxBound) return FzSet(self._memberSets[name])
def AddRightShoulderSet(self, name, minBound, peak, maxBound): self._memberSets[name] = FuzzySetRightShoulder(peak, peak - minBound, maxBound - peak) # adjust range if necessary self._adjustRangeToFit(minBound, maxBound) return FzSet(self._memberSets[name])
def CreateFzOR(): fzVar1 = FuzzySetTriangle(10, 5, 5) fzVar1.DOM = fzVar1.CalculateDOM(12.5) fzVar2 = FuzzySetTriangle(15, 5, 5) fzVar2.DOM = fzVar2.CalculateDOM(12.5) return FzOR(FzSet(fzVar1), FzSet(fzVar2))
def CreateFuzzyRule(): smart = FzSet(FuzzySetTriangle(10, 5, 5)) skilled = FzSet(FuzzySetTriangle(15, 5, 5)) productive = FzSet(FuzzySetTriangle(20, 5, 5)) productive.ORwithDOM(0.5) return FuzzyRule(FzAND(smart, skilled), productive)
def CreateFzVery(): fuzzySet = FuzzySetTriangle(10, 5, 5) fuzzySet.DOM = fuzzySet.CalculateDOM(7.5) return FzVery(FzSet(fuzzySet))