private void Start()
 {
     //Assign The References
     Game_Manager    = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GameManager>();
     Genetic_Manager = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GeneticManager>();
     MainCamera      = Camera.main.GetComponent <CameraFollow>();
 }
コード例 #2
0
 void Start()
 {
     Genetic_Manager = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GeneticManager>();
     Game_Manager    = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GameManager>();
     NN             = GetComponent <NeuralNetwork>();
     MaxGenerations = Bars.Length;
 }
コード例 #3
0
 private void Start()
 {
     player = GameObject.FindObjectOfType <Player>();
     inv    = GameObject.FindObjectOfType <Inventory>();
     //genCanvas = this.transform.Find("Genetics").gameObject;
     genManager = GameObject.FindObjectOfType <GeneticManager>();
 }
コード例 #4
0
 private void Awake()
 {
     if (geneticManager == null)
     {
         geneticManager = this;
     }
 }
コード例 #5
0
        public void TestLengthofGenerationRun()
        {
            var size = Configuration.GenerationSize();

            List <Chromosome> inputGeneration = new List <Chromosome>();

            for (int i = 0; i < Configuration.GenerationSize(); i++)
            {
                inputGeneration.Add(new Chromosome());
            }

            GeneticManager geneticManager = new GeneticManager();

            var watch = new System.Diagnostics.Stopwatch();

            watch.Start();

            inputGeneration = geneticManager.ProcessGeneration(inputGeneration);

            watch.Stop();

            var time = watch.ElapsedMilliseconds;

            Assert.AreEqual(Configuration.GenerationSize(), inputGeneration.Count);
        }
コード例 #6
0
        static void Main(string[] args)
        {
            Console.WriteLine($"원본 이미지 주소 : ");
            path = Console.ReadLine();

            Console.WriteLine("유전자 이미지 저장할 경로 : ");
            savePath = Console.ReadLine();

            Console.WriteLine("유전자 csv 파일 저장할 경로 : ");
            csvPath = Console.ReadLine();

            Setting();

            Origin = ImageConv(path);

            GeneticManager genetic = new GeneticManager(Origin);

            genetic.BestGenImage += Genetic_BestGenImage;
            genetic.Run();

            for (; ;)
            {
                median = bool.TryParse(Console.ReadLine(), out bool r) ? r : median;
                Console.WriteLine($"Median 값 : {median} 으로 변경됨.");
            }
        }
コード例 #7
0
ファイル: Car.cs プロジェクト: javierbosch/NN-GA-cars
 private void Start()
 {
     //Assign The References
     Game_Manager    = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GameManager>();
     Genetic_Manager = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GeneticManager>();
     rb = GetComponent <Rigidbody>();
     Game_Manager.AddCar(this);
 }
コード例 #8
0
 private void Awake()
 {
     if (singleton == null)
     {
         singleton = this;
     }
     CalculateWeightAndBiasesNumber();
 }
コード例 #9
0
    private void Start()
    {
        Genetic_Manager = GetComponent <GeneticManager>();
        display         = GameObject.FindGameObjectWithTag("Display").GetComponent <InformationDisplay>();

        //Calculate Track Length
        TrackLenght = CalculateTrackLength();
    }
コード例 #10
0
 void Start()
 {
     target      = Waypoints.points[0];
     gameManager = GameObject.FindGameObjectWithTag("GameController");
     waveSpawner = gameManager.GetComponent <WaveSpawner>();
     geneManager = gameManager.GetComponent <GeneticManager>();
     chromo      = geneManager.CreateChromosome();
     AssignStats();
 }
コード例 #11
0
 private void Awake()
 {
     instance = this;
     index    = 0;
     //alive = populationPerGeneration;
     gen.text = generation + "";
     Spawn(populationPerGeneration);
     naturallySelected = 0;
     genePool          = new List <int>();
 }
コード例 #12
0
 // Awake is called when the script instance is being loaded
 private void Awake()
 {
     if (!Instance)
     {
         Instance = this;
     }
     else
     {
         Destroy(this);
     }
 }
コード例 #13
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         DestroyImmediate(this);
     }
 }
コード例 #14
0
        public void StartTest()
        {
            var config = new Mock <IOptimizerConfiguration>();

            config.Setup(c => c.PopulationSize).Returns(2);
            var fitness = new Mock <OptimizerFitness>(config.Object);

            fitness.Setup(f => f.Evaluate(It.IsAny <IChromosome>())).Returns(-10).Verifiable();
            var unit = new GeneticManager(config.Object, fitness.Object, Mock.Of <ILogManager>());

            unit.Start();
            fitness.Verify();
        }
コード例 #15
0
    private void Start()
    {
        if (instance == null)
        {
            instance = this;
        }
        else
        {
            Destroy(gameObject);
        }

        FirstPopulation();
        BeginTest();
    }
コード例 #16
0
        public TrainingAIViewModel()
        {
            this.TrainingCanvas            = new Canvas();
            this.TrainingCanvas.Width      = ApplicationConfig.MAX_WIDTH_PANEL;
            this.TrainingCanvas.Height     = ApplicationConfig.MAX_HEIGHT_PANEL;
            this.TrainingCanvas.Background = System.Windows.Media.Brushes.AliceBlue;

            this.sessionManager = new SessionManager();
            this.geneticManager = new GeneticManager();
            this.randomCoord    = new Random();

            this.sessionManager.New_MyTimerTick += New_My_Tick;

            MessengerInstance.Register <bool>(this, "NewGenome", (action) => NewGenome(action));
        }
コード例 #17
0
        private void Btn_run_Click(object sender, EventArgs e)
        {
            if (pic_origin.Image == null)
            {
                Status = "execute fail";
                MessageBox.Show("not found image");
            }
            else
            {
                Status = "execute";
                text_originsize.Enabled = false;
                text_cutsize.Enabled    = false;
                text_grayscale.Enabled  = false;
                Global.Stop             = false;

                GeneticManager gm = new GeneticManager(new Bitmap(pic_origin.Image));
                gm.BestGenImage += Gm_BestGenImage;
                gm.Run();
            }
        }
コード例 #18
0
    ////////////////////////////////////////////////////////////
    void Awake()
    {
        Debug.Log("GameManager-Awake");

        curGeneration = 0;
        simulSpeed    = 2.0f;
        UnitTime      = 1.0f;

        localTime = 0.0f;

        gameState = SIMUL_STATE.INIT;
        simulStep = 0;

        isSimulPause = false;
        isMoveNext   = false;

        geneticManager = GeneticManager.Instance;
        geneticManager.CheckFitness = CheckFitness;

        objList = new List <TestObject>();
    }
        private void Start()
        {
            _geneticManager = new GeneticManager()
            {
                PixelCollection = PixelCollection,
                ScoringTable    = ScoringTableFactory.Create(CurrentScoringType),
                Crossing        = CrossingFactory.Create(CurrentCrossingType),
                PixelsToSelect  = PixelsToSelect,
                HowManyChildren = HowManyChildren,
                Mutation        = MutationFactory.Create(CurrentMutationType),
                MutationRate    = CurrentMutationRate,
            };

            IsVisualisationEnabled = true;
            _backgroundWorker      = new BackgroundWorker
            {
                WorkerReportsProgress      = true,
                WorkerSupportsCancellation = true
            };
            _backgroundWorker.DoWork          += DoVisualisation;
            _backgroundWorker.ProgressChanged += OnNextGeneration;
            _backgroundWorker.RunWorkerAsync();
        }
コード例 #20
0
 void Start()
 {
     geneManager = GetComponent <GeneticManager>();
 }
コード例 #21
0
    /* @author John Gansallo */
    public void ExportCSV()
    {
        // get all the data needed for the filename
        GeneticManager chrom1Manager = GetComponent <GeneticManager>();
        int            numGens       = chrom1Manager.numGens;
        int            numAgents     = chrom1Manager.numAgents;

        GolferSettings.Fitness fitnessFunc = chrom1Manager.fitnessFunc;
        GolferSettings.MoveableJointsExtent moveableJoints = chrom1Manager.moveableJoints;
        GolferSettings.ClubGrip             clubGrip       = chrom1Manager.clubGrip;
        float holeDist      = chrom1Manager.holeDist;
        float holeDistRand  = chrom1Manager.holeDistRand;
        float timePerGen    = chrom1Manager.timePerGen;
        float crossoverProb = chrom1Manager.crossoverProb;
        float mutationProb  = chrom1Manager.mutationProb;
        int   numElites     = chrom1Manager.numElites;

        // get the actual data for the csv
        float[,] results1 = chrom1Manager.GetResults();
        float[,] results2 = GetComponent <GeneticManager2>().GetResults();
        float[,] results3 = GetComponent <GeneticManager3>().GetResults();

        string filename = "numGens-" + numGens;

        filename += "_fitness-" + (fitnessFunc == GolferSettings.Fitness.accuracy ? "accuracy" : "distance");
        filename += "_jointsExtent-" + (moveableJoints == GolferSettings.MoveableJointsExtent.armsTorso ? "upperBody" : "fullBody");
        filename += "_grip-" + (clubGrip == GolferSettings.ClubGrip.oneHand ? "1hand" : "2hand");
        filename += "_numAgents-" + numAgents;
        if (fitnessFunc == GolferSettings.Fitness.accuracy)
        {
            filename += "_holeDist-" + holeDist;
            filename += "_holeRandOffset-" + holeDistRand;
        }
        filename += "_genTime-" + timePerGen;
        filename += "_pc-" + crossoverProb;
        filename += "_mc-" + mutationProb;
        filename += "_elitism-" + numElites;
        string path = Application.dataPath + @"/" + filename + ".csv";

        if (!File.Exists(path))
        {
            // Create a file to write to.
            using (StreamWriter gen = File.CreateText(path))
            {
                gen.WriteLine("Generation #,Chrom1 Best Fitness,Chrom1 Average Fitness,Chrom2 Best Fitness,Chrom2 Average Fitness,Chrom3 Best Fitness,Chrom3 Average Fitness");
                for (int i = 0; i < results1.GetLength(0); i++)
                {
                    float avgFit1  = 0;
                    float avgFit2  = 0;
                    float avgFit3  = 0;
                    float bestFit1 = Single.MinValue;
                    float bestFit2 = Single.MinValue;
                    float bestFit3 = Single.MinValue;
                    for (int j = 0; j < numAgents; j++)
                    {
                        avgFit1 += results1[i, j];
                        avgFit2 += results2[i, j];
                        avgFit3 += results3[i, j];
                        if (results1[i, j] > bestFit1)
                        {
                            bestFit1 = results1[i, j];
                        }
                        if (results2[i, j] > bestFit2)
                        {
                            bestFit2 = results2[i, j];
                        }
                        if (results3[i, j] > bestFit3)
                        {
                            bestFit3 = results3[i, j];
                        }
                    }
                    avgFit1 = avgFit1 / numAgents;
                    avgFit2 = avgFit2 / numAgents;
                    avgFit3 = avgFit3 / numAgents;
                    gen.WriteLine((i + 1).ToString() + "," + bestFit1 + "," + avgFit1 + "," + bestFit2 + "," + avgFit2 + "," + bestFit3 + "," + avgFit3);
                }
            }
        }
    }
コード例 #22
0
 // Use this for initialization
 public void Awake()
 {
     genetic = GameObject.Find("GeneManager").GetComponent <GeneticManager>();
 }
コード例 #23
0
 void Start()
 {
     Genetic_Manager = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GeneticManager>();
     Game_Manager    = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GameManager>();
 }