/// <summary> /// Constructor /// </summary> /// <param name="fuzzyValues"> /// The fuzzy Values. /// </param> /// <param name="connectiveAnd">Function for connective and</param> /// <param name="degreeOfFulfillment">degree of Fulfillment</param> /// <param name="defuzzifier">Defuzzifier</param> /// <returns> /// New FuzzyAlgorithm /// </returns> public RuleBuilder(IFuzzyValues fuzzyValues, IGenericElementFromFuzzyElementsFunction connectiveAnd, IGenericDegreeOfFulfillmentFunction degreeOfFulfillment, IDefuzzifier defuzzifier) { this.FuzzyAlgorithm = new FuzzyAlgorithm(connectiveAnd, degreeOfFulfillment, defuzzifier); this._fuzzyValues = fuzzyValues; this._lastRule = new Rule(); }
/// <summary> /// Constructor /// </summary> /// <param name="connectiveAnd">Function for connective and</param> /// <param name="degreeOfFulfillment">degree of Fulfillment</param> /// <param name="defuzzifier">Defuzzifier</param> public FuzzyAlgorithm(IGenericElementFromFuzzyElementsFunction connectiveAnd, IGenericDegreeOfFulfillmentFunction degreeOfFulfillment, IDefuzzifier defuzzifier) { this._functions = new List<object> { connectiveAnd, degreeOfFulfillment }; this.Defuzzifier = defuzzifier; this._and = connectiveAnd.Execute; this._degreeOfFulfillment = degreeOfFulfillment.Execute; this._rules = new List<IRule>(); }