Example #1
0
        public double Evaluate(IChromosome chromosone)
        {
            var test  = (DoubleArrayChromosome)chromosone;
            var value = test.Value;
            var net   = new NeuralNetworks();

            for (int i = 0; i < 6; i++)
            {
                net.W1[i / 3, i % 3] = value[i];
            }
            for (int i = 6; i < 9; i++)
            {
                net.W2[i - 6, 0] = value[i];
            }

            var a = Math.Pow(net.Forward(new double[1, 2] {
                { 0, 1 }
            })[0, 0] - 1, 2);
            var b = Math.Pow(net.Forward(new double[1, 2] {
                { 1, 0 }
            })[0, 0] - 1, 2);
            var c = Math.Pow(net.Forward(new double[1, 2] {
                { 0, 0 }
            })[0, 0], 2);
            var d = Math.Pow(net.Forward(new double[1, 2] {
                { 1, 1 }
            })[0, 0], 2);

            return(Math.Max(1 - a - b - c - d, 0));
        }
Example #2
0
 static void Main(string[] args)
 {
     AccordTest.RunGene();
     var x    = new NeuralNetworks();
     var data = new double [3, 2] {
         { 1.3, 0.2 }, { 0.5, 1.1 }, { 0.4, 4.4 }
     };
     var y = x.Forward(data);
 }