Esempio n. 1
0
            public void backwardHidden(neuralNet nn)
            {
                int index = nn.layers.IndexOf(this);

                for (int i = 0; i < neurons.Length; i++)
                {
                    neurons[i].backwardHidden(this, nn.layers[index + 1]);
                }
                //Console.WriteLine(nn.layers[index + 1].layerName);
            }
 //a.compareTo(b) -> a-b
 public int compareTo(neuralNet other)
 {
     if (this.getReward() > other.getReward())
     {
         return(1);
     }
     if (this.getReward() < other.getReward())
     {
         return(-1);
     }
     return(0);
 }
Esempio n. 3
0
    //best weigth & bias need to be issued from a neuralnet with SAME layer[] var

    public void instantiate(int[] layers, int type /*1=random, 2=10%, 3=1%, 4=best*/, float[][][] bestWeight, float[][] bestBias)
    {
        brain   = new neuralNet(layers);
        outputs = new float[layers[layers.Length - 1]];

        //speed = 12;
        //rotateSpeed = 25;

        score = 0;

        Renderer rend = GetComponent <Renderer>();

        rend.material.shader = Shader.Find("Specular");

        if (type == 1)
        {
            GetComponent <Renderer>().material = red;
            brain.initiateRandom(biasRange, weigthRange);
        }
        else if (type == 2)
        {
            GetComponent <Renderer>().material = yellow;
            brain.initiate(bestBias, bestWeight);
            brain.mutate(10.0f);
        }
        else if (type == 3)
        {
            GetComponent <Renderer>().material = cyan;
            brain.initiate(bestBias, bestWeight);
            brain.mutate(1.0f);
        }
        else if (type == 4)
        {
            GetComponent <Renderer>().material = blue;
            brain.initiate(bestBias, bestWeight);
            brain.mutate(0.1f);
        }
        else if (type == 5)
        {
            GetComponent <Renderer>().material = green;
            brain.initiate(bestBias, bestWeight);
        }
        else
        {
            Destroy(gameObject);
        }
        //bias = getBias();
        //weight = getWeights();
    }