コード例 #1
0
        public NeuralNet(int inputs, int outputs, NodeIDGenerator nodeIDGenerator)
        {
            Inputs     = inputs;
            Outputs    = outputs;
            Innovation = 0;

            generator = nodeIDGenerator;

            Neurons     = new List <Node>();
            Connections = new List <Connection>();

            for (int i = 0; i < Inputs; i++)
            {
                var node = new Node(generator.Next, Node.NodeTypes.Input)
                {
                    Position = new Vector2Int(0, i),
                };

                Neurons.Add(node);
            }

            for (int i = 0; i < Outputs; i++)
            {
                var node = new Node(generator.Next, Node.NodeTypes.Output)
                {
                    Position = new Vector2Int(int.MaxValue, i),
                };

                Neurons.Add(node);
            }

            InitializeConnections();
        }
コード例 #2
0
ファイル: Simulation.cs プロジェクト: zelding/NeatFish
    // Use this for initialization
    private void Start()
    {
        nodeIDGenerator = new NodeIDGenerator();
        manager         = new SimulationManager(InitialPopulation, nodeIDGenerator);
        fishManagers    = new List <EntityManager>();

        spawnBoundaryCenter = new Vector3(0, 0, 0);
        spawnBoundaryRaduis = 67f;

        for (int i = 0; i < InitialPopulation; i++)
        {
            var fish = CreateNewFish();

            fishManagers.Add(fish);
            manager.AddBrain(fish.Brain);
        }

        manager.IsRunning = true;

        inspector.Brain   = fishManagers[0].Brain;
        inspector.enabled = true;
    }
コード例 #3
0
ファイル: SimulationManager.cs プロジェクト: zelding/NeatFish
 public SimulationManager(uint population, NodeIDGenerator nodeIDGenerator)
 {
     Brains          = new List <NeuralNet>();
     NodeIDGenerator = nodeIDGenerator;
 }