Exemplo n.º 1
0
        private bool IsIndependent(RandomVariable first, RandomVariable second)
        {
            var probDistribution = _probCalculator.CalculateProbabilityDistribution(new[] { first, second });

            Console.Out.WriteLine($"Variables {first.Name} and {second.Name} distribution: {string.Join(",", probDistribution)}");
            GC.Collect();

            return(AreValuesIndependent(first.TrueProbability, second.TrueProbability, probDistribution[0]) &&
                   AreValuesIndependent(first.TrueProbability, second.TrueProbability.Complement(), probDistribution[1]) &&
                   AreValuesIndependent(first.TrueProbability.Complement(), second.TrueProbability, probDistribution[2]) &&
                   AreValuesIndependent(first.TrueProbability.Complement(), second.TrueProbability.Complement(), probDistribution[3]));
        }