public double CalculateT1RelativeSummarization() { double numerator = 0.0; double denumertor = 0.0; OperationType operation = singleLingusticObject.operation; foreach (var singleDataCrime in LingusticSummarization.CrimesList) { double bestValue = FuzzySetOperations.PerformCalculationsBetweenGivenSummarizators(singleLingusticObject.Summarizators, singleDataCrime, operation); _summarizationResults.Add(bestValue); double qualifierValue = singleLingusticObject.Qualifier.MembershipFunction.GetMembershipFunctionValue(singleDataCrime.GetAttributeValue(singleLingusticObject.Qualifier.AttributeName)); _qualifierResults.Add(qualifierValue); numerator += Math.Min(bestValue, qualifierValue); denumertor += qualifierValue; } double r; if (denumertor == 0) { return(0.0); } if (denumertor > 0) { Console.WriteLine(); } r = numerator / denumertor; var t = singleLingusticObject.Quantifier.MembershipFunction.GetMembershipFunctionValue(r); if (t > 0) { Console.WriteLine(); } return(singleLingusticObject.Quantifier.MembershipFunction.GetMembershipFunctionValue(r)); }
public double CalculateT1AbsoluteSummarization() { double fullSum = 0.0; OperationType operation = singleLingusticObject.operation; foreach (var singleDataCrime in LingusticSummarization.CrimesList) { double bestValue = FuzzySetOperations.PerformCalculationsBetweenGivenSummarizators(singleLingusticObject.Summarizators, singleDataCrime, operation); _summarizationResults.Add(bestValue); fullSum += bestValue; } double r = fullSum; return(singleLingusticObject.Quantifier.IsAbsolute ? singleLingusticObject.Quantifier.MembershipFunction.GetMembershipFunctionValue(r) : singleLingusticObject.Quantifier.MembershipFunction.GetMembershipFunctionValue(r / LingusticSummarization.CrimesList.Count)); }