Exemplo n.º 1
0
simName = util.randomString(20);
net=nef.Network('Vivae - Turning controller for agent')
net.add_to_nengo()  
ea = EA(maxgen,popsize,minw,maxw,genomeLen);
ea.setProbabilities(pMut,pCross);
ea.initPop();
simulator = buildExperiment(net,wa,wb,wc,visibility=False);
vivae = simulator.getControls();
expNo = round(1000000*random.random(),0);   # generate some number for text file data
print expNo
f = open('data/tmp/ea_%d.txt'%expNo, 'w');
sx = Saver('ea_%d_agents.txt'%expNo);		# saves best agent from actual generation during the evolution into a file

# evolution insert here
while ea.wantsEval():
    print 'Gen: '+repr(ea.generation())+'/'+repr(maxgen)+' actual ind is ' +repr(ea.actualOne())+'/'+repr(popsize)+' best so far: '+repr(ea.getBestFitness());
    
    ind = ea.getInd();

    # get wa,b,c from ind genome
    wa = ind.m.getRange(0,16);
    wb = ind.m.getRange(16,25);
    wc = ind.m.getRange(25,29);
    #simName = util.randomString(20);
    fitness = evalInd(net,simulator,ind);
    ind.getFitness().set(fitness);

    print 'Ind: '+repr(ea.actualOne())+' AVG Speed is: '+repr(fitness) +' fitness is: '+repr(ind.getFitness().get());

    # evaluated the last individual in the generatio? write stats
Exemplo n.º 2
0
net = nef.Network('Vivae - Turning controller for agent')
net.add_to_nengo()
ea = EA(maxgen, popsize, minw, maxw, genomeLen)
ea.setProbabilities(pMut, pCross)
ea.initPop()
simulator = buildExperiment(net, wa, wb, wc, visibility=False)
vivae = simulator.getControls()
expNo = round(1000000 * random.random(), 0)
# generate some number for text file data
print expNo
f = open('data/tmp/ea_%d.txt' % expNo, 'w')
sx = Saver('ea_%d_agents.txt' % expNo)
# saves best agent from actual generation during the evolution into a file

# evolution insert here
while ea.wantsEval():
    print 'Gen: ' + repr(
        ea.generation()) + '/' + repr(maxgen) + ' actual ind is ' + repr(
            ea.actualOne()) + '/' + repr(popsize) + ' best so far: ' + repr(
                ea.getBestFitness())

    ind = ea.getInd()

    # get wa,b,c from ind genome
    wa = ind.m.getRange(0, 16)
    wb = ind.m.getRange(16, 25)
    wc = ind.m.getRange(25, 29)
    #simName = util.randomString(20);
    fitness = evalInd(net, simulator, ind)
    ind.getFitness().set(fitness)