Example #1
0
        /// <summary>
        /// Tworzy nową populację oraz w niej nową losową generację o określonym rozmiarze.
        /// </summary>
        /// <param name="evolutionController">Kontroler ewolucji.</param>
        /// <param name="generationSize">Wielkość generacji które będą należeć do tej generacji.</param>
        public Population(IEvolutionController evolutionController, uint generationSize)
        {
            GenerationsSize          = generationSize;
            this.evolutionController = evolutionController ?? throw new ArgumentNullException("evolutionController nie może być null.");

            CurrentGeneration = new Generation(evolutionController, generationSize);
        }
Example #2
0
        /// <summary>
        /// Tworzy nową generację z obiektami oraz kontrolerem ewolucyjnym.
        /// </summary>
        /// <param name="evolutionController">Kontroler ewolucyjny.</param>
        /// <param name="objects">Objekty należące do tej generacji.</param>
        public Generation(IEvolutionController evolutionController, IDna[] objects)
        {
            Objects = objects;
            this.evolutionController = evolutionController ?? throw new ArgumentNullException("evolutionController nie może być null.");

            for (int i = 0; i < Objects.Length; i++)
            {
                Objects[i].Generation = this;
                Objects[i].Id         = i;
            }
        }
Example #3
0
        /// <summary>
        /// Tworzy nową generację z określoną ilością obiektów oraz kontrolerem ewolucyjnym.
        /// </summary>
        /// <param name="evolutionController">Kontroler ewolucyjny.</param>
        /// <param name="size">Ilość obiektów.</param>
        public Generation(IEvolutionController evolutionController, uint size)
        {
            Objects = new IDna[size];
            this.evolutionController = evolutionController ?? throw new ArgumentNullException("evolutionController nie może być null.");

            for (int i = 0; i < size; i++)
            {
                Objects[i]            = evolutionController.GetRandomDna();
                Objects[i].Generation = this;
                Objects[i].Id         = i;
            }
        }