def main(argv): n = 100 e = 0.001 iterations = 800000 robots = 0 neighbors = 4 neighborIterations = 30 try: opts, args = getopt.getopt(argv, "n:r:i:e:p:") except getopt.GetoptError: print( 'test.py -n <neighbors> -r <robots> -i <iterations> -e <epsilon> -p population' ) sys.exit(2) for opt, arg in opts: if opt == "-n": neighbors = int(arg) elif opt == "-r": robots = int(arg) elif opt == "-i": neighborIterations = int(arg) elif opt == "-e": e = float(arg) elif opt == "-p": n = int(arg) iterations = 8000000 pm = 0 qm = 0 varp = [0, 0] varq = [0, 0] for i in range(neighborIterations): print( str(n) + "," + str(robots) + "," + str(neighbors) + "," + str(e) + "->" + str(i)) population = Population(n, e) for i in range(robots): population.addRobot(random.random(), random.random()) population.createNetworkRing(neighbors) t = one_run(population, iterations, neighborIterations) pm += t[0][0] qm += t[1][0] varp[0] += t[0][1] varp[1] += t[0][2] varq[0] += t[1][1] varq[1] += t[1][2] varp[0] /= neighborIterations varp[1] /= neighborIterations varq[0] /= neighborIterations varq[1] /= neighborIterations pm /= neighborIterations qm /= neighborIterations nomeFicheiro = 'ring_run_' + str(n) + '_population_' + str( robots) + "_robots_" + str(neighbors) + "_neighbors_" + str( e) + "_epsilon" f = open(nomeFicheiro, 'w') conteudo = str(pm) + " " + str(qm) + " " + str(varp[0]) + " " + str( varp[1]) + " " + str(varq[0]) + " " + str(varq[1]) f.write(conteudo) f.close() print( str(n) + "," + str(robots) + "," + str(neighbors) + "," + str(e) + " acabou")