Ejemplo n.º 1
0
        //Display the best genome
        private void toggleDisplayToolStripMenuItem_Click(object sender, EventArgs e)
        {
            evolveMutex.WaitOne();

            if (evolveGenome != null)
            {
                NeatGenome genome;
                genome = new NeatGenome(evolveGenome, 0);
                experiment = new RoomClearingExperiment((MultiAgentExperiment)evolutionExperiment);
                experiment.bestGenomeSoFar = genome;
                experiment.genome = genome;
                experiment.initialize();
                //step_size = 0.01f;
                experiment.running = true;
                setRunningState();
            }

            evolveMutex.ReleaseMutex();
        }
Ejemplo n.º 2
0
        public SimulatorVisualizer(string experimentName,string genome)
        {
            frame = new CoordinateFrame(0.0f, 0.0f, 5.0f, 0.0f);

			ExperimentWrapper wr = ExperimentWrapper.load(experimentName);

            experiment = wr.experiment;
			if(genome!=null) {
			 experiment.loadGenome(genome);
			}
			
            experiment.initialize();
			
			
			frame.sync_from_environment(experiment.environment);

            selected_POI = -1;
            bDrawFOV = false;
            bDrawFOV = false;
            bDrawLabel = true;
            displayAOIRectangle = false;
            displayEvolution = true;

            bEvolve = false;                    //by default we are not evolving, just displaying the environment
            drawMode = drawModes.selectMode;    //default mode is selecting and moving walls
            selectMode = selectModes.dragMode;

            display_tempwall = false;           //no temporary wall exists at creation
            display_snap = false;               //we have nothing to snap to at creation

            InitializeComponent();

            this.Text = "MultiAgent-HyperSharpNEAT Simulator - " + experimentName;
            //set up double buffering
            this.SetStyle(
              ControlStyles.AllPaintingInWmPaint |
              ControlStyles.UserPaint |
              ControlStyles.DoubleBuffer, true);
        }
Ejemplo n.º 3
0
 private void startToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (!bEvolve)
     {
         evolutionExperiment = new RoomClearingExperiment((MultiAgentExperiment)experiment);
         evolutionExperiment.initialize();
         bEvolve = true;
         evolveThread = new Thread(doEvolution);
         evolveThread.Start();
     }
     else //if it was already on, turn it off
     {
         bEvolve = false;
         evolveThread.Join();
         
     }
     startToolStripMenuItem.Checked = bEvolve;
 }
Ejemplo n.º 4
0
        private void newExperimentMenuItem_Click(object sender, EventArgs e)
        {
            NewExperimentForm f = new NewExperimentForm();
            f.ShowDialog();

            if (f.simExp != null)
            {
                this.Text = "MultiAgent-HyperSharpNEAT Simulator - Unnamed";
                experiment = (SimulatorExperiment)f.simExp;
                experiment.substrateDescriptionFilename = "substrate.xml";
                experiment.environmentName = "default_environment.xml";
                experiment.setFitnessFunction("CoverageFitness");
                experiment.initialize();

                Invalidate();
            }
        }
Ejemplo n.º 5
0
        private void loadExperimentToolStripMenuItem_Click(object sender, EventArgs e)
        {
            fileOpenDialog.Title = "Open Experiment";
             DialogResult res = fileOpenDialog.ShowDialog(this);
            if (res == DialogResult.OK || res == DialogResult.Yes)
            {
                string filename = fileOpenDialog.FileName;
                try
                {
                    ExperimentWrapper wr = ExperimentWrapper.load(filename);
                    this.Text = "MultiAgent-HyperSharpNEAT Simulator - " + filename;
                    experiment = wr.experiment;
                    experiment.initialize();

                    Invalidate();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
        }