def init_pop( populationSize, popName= "pop", rangemin = 0 ,rangemax = 11, listSize = 66): server = Population(popName) server.initialize() for individual in range(populationSize): chrome = [random.randint(rangemin,rangemax) for _ in range(listSize)] individual = {"id":None,"fitness":{"DefaultContext":0.0 },"chromosome":chrome,"views":0} server.put_individual(**individual)
def init_pop( populationSize, rangemin = 0 ,rangemax = 11, listSize = 66, evospace_URL = 'http://localhost:8088/EvoSpace'): server = Population("pop") server.initialize() for individual in range(populationSize): chrome = [random.randint(rangemin,rangemax) for _ in range(listSize)] individual = {"id":None,"fitness":{"DefaultContext":0.0 },"chromosome":chrome} server.put_individual(**individual)
def evospace(request): if request.method == 'POST': population = Population(popName) print 'Raw Data___: "%s"' % request.body print type(request.body) json_data = json.loads(request.body) method = json_data["method"] params = json_data["params"] id = json_data["id"] if method == "initialize": result = population.initialize() data = json.dumps({"result" : result,"error": None, "id": id}) print data return HttpResponse(data, mimetype='application/javascript') elif method == "getSample": result = population.get_sample(params[0]) if result: data = json.dumps({"result" : result,"error": None, "id": id}) else: data = json.dumps({"result" : None,"error": {"code": -32601, "message": "EvoSpace empty"}, "id": id}) return HttpResponse(data, mimetype='application/json') elif method == "putSample": data = population.put_sample(params[0]) return HttpResponse(json.dumps("Success"), mimetype='application/json') elif method == "init_pop": data = init_pop(populationSize=params[0],evospace_URL= 'http://app.evospace.org/EvoSpace') return HttpResponse(json.dumps("Success"), mimetype='application/javascript') elif method == "evolve": data = evolve(sample_size=params[0],evospace_URL= 'http://app.evospace.org/EvoSpace') return HttpResponse(json.dumps("Success"), mimetype='application/javascript') elif method == "respawn": data = population.respawn(n=params[0]) return HttpResponse(json.dumps("Success"), mimetype='application/javascript') elif method == "put_individual": print "params",params[0] population.put_individual(**params[0]) data = json.dumps({"result" : None,"error": None, "id": id}) return HttpResponse(data, mimetype='application/json') else: return HttpResponse("ajax & post please", mimetype='text')
def evospace(request): if request.method == 'POST': population = Population(popName) #print 'Raw Data___: "%s"' % request.body #print type(request.body) json_data = json.loads(request.body) method = json_data["method"] params = json_data["params"] id = json_data["id"] if method == "initialize": result = population.initialize() data = json.dumps({"result" : result,"error": None, "id": id}) print data return HttpResponse(data, mimetype='application/javascript') elif method == "getSample": #Auto ReInsert if population.read_sample_queue_len() >= REINSERT_THRESHOLD: population.respawn(5) result = population.get_sample(params[0]) if result: data = json.dumps({"result" : result,"error": None, "id": id}) else: data = json.dumps({"result" : None,"error": {"code": -32601, "message": "EvoSpace empty"}, "id": id}) return HttpResponse(data, mimetype='application/json') elif method == "read_pop_keys": result = population.read_pop_keys() if result: data = json.dumps({"result" : result,"error": None, "id": id}) else: data = json.dumps({"result" : None,"error": {"code": -32601, "message": "EvoSpace empty"}, "id": id}) return HttpResponse(data, mimetype='application/json') elif method == "read_sample_queue": result = population.read_sample_queue() if result: data = json.dumps({"result" : result,"error": None, "id": id}) else: data = json.dumps({"result" : None,"error": {"code": -32601, "message": "EvoSpace empty"}, "id": id}) return HttpResponse(data, mimetype='application/json') elif method == "putSample": #Cada EVOLUTION_INTERVAL evoluciona if not population.get_returned_counter() % EVOLUTION_INTERVAL: evolve_Tournament() population.put_sample(params[0]) return HttpResponse(json.dumps("Success"), mimetype='application/json') elif method == "init_pop": data = init_pop(populationSize=params[0]) return HttpResponse(json.dumps("Success"), mimetype='application/javascript') elif method == "respawn": data = population.respawn(n=params[0]) return HttpResponse(json.dumps("Success"), mimetype='application/javascript') elif method == "put_individual": print "params",params[0] population.put_individual(**params[0]) data = json.dumps({"result" : None,"error": None, "id": id}) return HttpResponse(data, mimetype='application/json') else: return HttpResponse("ajax & post please", mimetype='text')