Exemplo n.º 1
0
        private void SetInitialSolution()
        {
            var individual = BinaryStringHelper.GenerateRandomIndividual(IndividualLength);

            ActualSolution = new Reduct(individual, ClusteredDataObjects);
            CheckedReducts.Add(ActualSolution);
        }
Exemplo n.º 2
0
        private void AddRandomIndividualToPopulation()
        {
            var randomIndividual = BinaryStringHelper.GenerateRandomIndividual(IndividualLength);

            TryAddReductToCheckedReductsList(randomIndividual);
            ActualPopulation.Individuals.Add(CheckedReducts.FirstOrDefault(r => r.Individual == randomIndividual));
        }
Exemplo n.º 3
0
        private void SetInitialPopulation()
        {
            ActualPopulation = new Population();

            for (var i = 0; i < _inputValues.PopulationSize; i++)
            {
                var randomIndividual = BinaryStringHelper.GenerateRandomIndividual(IndividualLength);
                TryAddReductToCheckedReductsList(randomIndividual);
                ActualPopulation.Individuals.Add(CheckedReducts.FirstOrDefault(r => r.Individual == randomIndividual));
            }
        }
 public override void Calculate()
 {
     CalculateApproximationForAllAttributes();
     for (var i = 1; i < _numberOfSolutions; i++)
     {
         var individual = BinaryStringHelper.ConvertIntToBinaryString(i, IndividualLength);
         var reduct     = new Reduct(individual, ClusteredDataObjects);
         if (ShouldChangeBestSolution(reduct))
         {
             BestSolution = reduct;
         }
     }
 }
Exemplo n.º 5
0
        private void GenerateNewSolutionFromNeighbors(Reduct eliteReduct, int neighborhoodSize, int neighborhoodSteps)
        {
            var neighborhood = new List <Reduct>();

            for (var i = 0; i < neighborhoodSize; i++)
            {
                var neighborIndividual = string.Empty;
                for (var j = 0; j < neighborhoodSteps; j++)
                {
                    neighborIndividual = BinaryStringHelper.GenerateNeighborSolution(eliteReduct.Individual);
                }

                TryAddReductToCheckedReductsList(neighborIndividual);
                neighborhood.Add(CheckedReducts.FirstOrDefault(r => r.Individual == neighborIndividual));
            }
            ActualPopulation.Individuals.Add(neighborhood.OrderByDescending(r => r.Approximation).ThenBy(i => i.Subset.Count).FirstOrDefault());
        }
Exemplo n.º 6
0
        protected void CalculateApproximationForAllAttributes()
        {
            var individual = BinaryStringHelper.GenerateIndividualWithAllAttributes(IndividualLength);

            AllAttributesSolution = new Reduct(individual, ClusteredDataObjects);
        }