public Evolution(Cart cart) { this.cart = cart; evolutionManager = new GestoreRN_NEAT(5, 1, Const.INITIAL_POPULATION); int j=0; vectorGenotipo=new GenotipoRN[evolutionManager.population.Count]; foreach (GenotipoRN g in evolutionManager.population) { vectorGenotipo[j] = g; j++; } ReadyFenotipo += new SetFenotipo(cart.SetFenotipo); cart.ReturnFitnessEvent += new Cart.ReturnFitness(finishedSimulation); genotipoInTest = evolutionManager.GetGenotipo(); ReadyFenotipo(new FenotipoRN(genotipoInTest)); }
private void perceptronButton_Click(object sender, RoutedEventArgs e) { GenotipoRN g; genotipi.Clear(); dialogBox.Text = string.Empty; visualizzaButton.IsEnabled = false; addNeuroneButton.IsEnabled = false; addAssoneButton.IsEnabled = false; modPesoButton.IsEnabled = false; gestore = new GestoreRN_NEAT(Convert.ToInt32(inputBox.Text), Convert.ToInt32(outputBox.Text)); g = gestore.getPerceptron(); genotipi.Add(g.firma(), g); aggiornaLista(); }
static void Main(string[] args) { GenotipoRN gen1, gen2; GestoreRN_NEAT gestore = new GestoreRN_NEAT(3, 2); ClientNEAT client; gen1 = new GenotipoRN(); gen1.addNeuroneInput(new GenotipoRN.NeuroneG(1, TipoNeurone.NSensor)); gen1.addNeuroneInput(new GenotipoRN.NeuroneG(2, TipoNeurone.NSensor)); gen1.addNeuroneInput(new GenotipoRN.NeuroneG(3, TipoNeurone.NSensor)); gen1.addNeuroneOutput(new GenotipoRN.NeuroneG(4, TipoNeurone.NActuator)); gen1.addNeuroneOutput(new GenotipoRN.NeuroneG(5, TipoNeurone.NActuator)); gen1.addNeurone(new GenotipoRN.NeuroneG(6, TipoNeurone.NHide)); gen1.addAssone(new GenotipoRN.AssoneG(1, 1, 4, 1)); gen1.addAssone(new GenotipoRN.AssoneG(2, 2, 6, 1)); gen1.addAssone(new GenotipoRN.AssoneG(3, 6, 4, 1)); gen1.addAssone(new GenotipoRN.AssoneG(4, 2, 5, 1)); gen1.addAssone(new GenotipoRN.AssoneG(5, 3, 5, 1)); gen2 = new GenotipoRN(); gen2.addNeuroneInput(new GenotipoRN.NeuroneG(1, TipoNeurone.NSensor)); gen2.addNeuroneInput(new GenotipoRN.NeuroneG(2, TipoNeurone.NSensor)); gen2.addNeuroneInput(new GenotipoRN.NeuroneG(3, TipoNeurone.NSensor)); gen2.addNeuroneOutput(new GenotipoRN.NeuroneG(4, TipoNeurone.NActuator)); gen2.addNeuroneOutput(new GenotipoRN.NeuroneG(5, TipoNeurone.NActuator)); gen2.addNeurone(new GenotipoRN.NeuroneG(7, TipoNeurone.NHide)); gen2.addNeurone(new GenotipoRN.NeuroneG(6, TipoNeurone.NHide)); gen2.addAssone(new GenotipoRN.AssoneG(1, 1, 4, -1)); gen2.addAssone(new GenotipoRN.AssoneG(2, 2, 6, -1)); gen2.addAssone(new GenotipoRN.AssoneG(4, 2, 5, -1)); gen2.addAssone(new GenotipoRN.AssoneG(5, 3, 5, -1)); gen2.addAssone(new GenotipoRN.AssoneG(6, 3, 7, -1)); gen2.addAssone(new GenotipoRN.AssoneG(7, 6, 5, -1)); gen2.addAssone(new GenotipoRN.AssoneG(8, 7, 5, -1)); //GenotipoRN gen_tmp1 = gestore.getPerceptron(); //gen1 = gestore.mutazioneAggiungiNeurone(gen_tmp1); //GenotipoRN gen_tmp2 = gestore.mutazioneAggiungiNeurone(gen_tmp1); //GenotipoRN gen_tmp3 = gestore.mutazioneModificaPesoUniformemente(gen_tmp2); //gen2 = gestore.mutazioneAggiungiNeurone(gen_tmp3); double d = AlgGenRN.distanza(gen1, gen2); GenotipoRN gen3 = new GenotipoRN(gen1, 1, gen2, 2); client = new ClientNEAT("127.0.0.1", 13001); if (client.connect()) { client.writeConsole("Client connesso\n"); client.writeConsole("Premi un tasto per inviare il genitore 1"); Console.ReadKey(); client.send("IRN"); gen1.sendNetwork(client.getStream()); client.receive(); client.writeConsole("Premi un tasto per inviare il genitore 2"); Console.ReadKey(); client.send("IRN"); gen2.sendNetwork(client.getStream()); client.receive(); Console.WriteLine("Distanza tra le reti: " + AlgGenRN.distanza(gen1, gen2)); client.writeConsole("Premi un tasto per inviare il figlio"); Console.ReadKey(); client.send("IRN"); gen3.sendNetwork(client.getStream()); client.receive(); client.writeConsole("Premi un tasto per uscire"); Console.ReadKey(); client.disconnect(); } else { client.writeConsole("Errore di connessione\n"); Console.ReadKey(); } }
public SpeciesManager(GestoreRN_NEAT gestore) { this.gestore = gestore; speciesList = new List<Species>(); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { rectTexture = DrawingHelper.GenerateRectangularTexture(graphics.GraphicsDevice, 1000, 1000, Color.White); IsMouseVisible = true; IsFixedTimeStep = true; GestoreRN_NEAT gestore = new GestoreRN_NEAT(3, 2); GenotipoRN genotipo = gestore.getPerceptron(); GenotipoRN g_mutato = gestore.mutazioneAggiungiNeurone(genotipo); g_mutato = gestore.mutazioneAggiungiNeurone(g_mutato); g_mutato = gestore.mutazioneAggiungiAssone(g_mutato); grafo = new GrafoDisegno(g_mutato); fenotipo = new FenotipoRN(g_mutato); input = new double[fenotipo.numNeuroniSensori]; input[0] = -1; for (int i = 1; i < fenotipo.numNeuroniSensori; i++) input[i] = input[i-1] + 2/(double)(fenotipo.numNeuroniSensori-1); grafo.AttachFenotipo(fenotipo); base.Initialize(); }