Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }