public void SendOutput() { foreach (NeuronConnection connection in neuronConnections) { connection.OutputNeuron.SubmitInput(HTan.getHTan(inputSum) * connection.Weight); } inputSum = 0f; }
public Decision Decide(Vector2 position, float heading, PlayField playField, float energy, float age, float foodBearing, float foodDistance, float foodEnergy, List <Peer> peers) { // StandardInputNeurons[0].SubmitInput(HTan.getHTan(position.x)); // StandardInputNeurons[1].SubmitInput(HTan.getHTan(position.y)); // StandardInputNeurons[2].SubmitInput(HTan.getHTan(heading)); // StandardInputNeurons[3].SubmitInput(HTan.getHTan(playField.NorthBorder)); // StandardInputNeurons[4].SubmitInput(HTan.getHTan(playField.SouthBorder)); // StandardInputNeurons[5].SubmitInput(HTan.getHTan(playField.EastBorder)); // StandardInputNeurons[6].SubmitInput(HTan.getHTan(playField.WestBorder)); // StandardInputNeurons[7].SubmitInput(HTan.getHTan(energy)); // StandardInputNeurons[8].SubmitInput(HTan.getHTan(age)); StandardInputNeurons[0].SubmitInput(HTan.getHTan(foodBearing)); StandardInputNeurons[1].SubmitInput(HTan.getHTan(foodDistance)); // StandardInputNeurons[5].SubmitInput(HTan.getHTan(foodEnergy)); // for(int i = 0; i < PeerInputNeurons.Count; i++) // { // PeerInputNeurons[1].HeadingInputNeuron.SubmitInput(HTan.getHTan(peers[i].Heading)); // PeerInputNeurons[1].BearingInputNeuron.SubmitInput(HTan.getHTan(peers[i].Bearing)); // PeerInputNeurons[1].DistanceInputNeuron.SubmitInput(HTan.getHTan(peers[i].Distance)); // PeerInputNeurons[1].EnergyInputNeuron.SubmitInput(HTan.getHTan(peers[i].Energy)); // } foreach (Neuron neuron in StandardInputNeurons) { neuron.SendOutput(); } // foreach(PeerInputNeuronSet neuronSet in PeerInputNeurons) // { // neuronSet.HeadingInputNeuron.SendOutput(); // neuronSet.BearingInputNeuron.SendOutput(); // neuronSet.DistanceInputNeuron.SendOutput(); // neuronSet.EnergyInputNeuron.SendOutput(); // } return(new Decision(HTan.getHTan(TurnEffortOutputNeuron.ExtractOutput()), HTan.getHTan(MoveEffortOutputNeuron.ExtractOutput()))); }