Exemplo n.º 1
0
        public static Element Mate(Element e1, Element e2)
        {
            int length = e1.NumWeights();
            int mesto = (int)Math.Floor(length * Functions.rand.NextDouble());

            double[] geni = new double[length];
            double[] temp = e1.GetWeights();

            for (int i = 0; i < mesto; i++)
            {
                geni[i] = temp[i];
            }

            temp = e2.GetWeights();

            for (int i = mesto; i < length; i++)
            {
                geni[i] = temp[i];
            }

            Element novElement = new Element();
            novElement.PutWeights(geni);

            novElement.Mutate();

            return novElement;
        }
Exemplo n.º 2
0
        public ArrayList Inicializiraj()
        {
            for (int i = 0; i < velikost_populacije; i++)
            {
                Element p = new Element();
                p.Mutate();
                populacija.Add(p);
            }

            return populacija;
        }
Exemplo n.º 3
0
 public Element(Element el)
 {
     //Kopirni konstruktor
     PutWeights(el.GetWeights());
 }
Exemplo n.º 4
0
        void MarkAsBest(Element el)
        {
            if (NajbolsiElement != null)
            {
                NajbolsiElement.setColor(Color.Red, false);
                NajbolsiElement.SetRisiCrte(false);
            }

            NajbolsiElement = el;

            NajbolsiElement.setColor(Color.Yellow, true);
            NajbolsiElement.SetRisiCrte(true);

            if (el.Cost > BestCost) BestCost = el.Cost;
        }