def main():
    agents = []

    # ここで各自のエージェントをロードする
    agent1 = Montecarlo(0.1)
    agent2 = Montecarlo(0.1)
    # 学習したデータの読み込み
    agent1.load(open(sys.argv[3]).read())
    agent2.load(open(sys.argv[3]).read())

    agents.append(agent1)
    agents.append(agent2)

    # 残り2体はランダムに行動するエージェント
    agents.append(Random())
    agents.append(Random())

    win = 0
    lose = 0

    for c in range(100):
        rs = []
        for i in range(4):
            r = learning(sys.argv[1], int(sys.argv[2]), agents[i])
            rs.append(r)

        cont = True
        iswin = None
        while cont:
            for i in range(4):
                r = next(rs[i])
                if r is not None and i == 0:
                    print(r)
                    if r:
                        win += 1
                    else:
                        lose += 1
                    cont = False
        print("episode {} done".format(c))

    print("win: {}times, lose: {}times, win-rate: {:.2f}%".format(win, lose, win / (win + lose)))
def main():

    # Dados de Entrada
    print(
        "FLUXO DE CARGA PROBABILISTICO PARA REDES COM RECURSOS ENERGÉTICOS DISTRIBUÍDOS"
    )
    print("-----")
    simulation_number = input("NÚMERO DE SIMULAÇÕES DE MONTE CARLO: ")
    print("-----")
    print("Conheça o modo de correlação entre os REDs:")
    print("[0] sem correlação")
    print("[1] correlação LOAD-LOAD")
    print("[2] correlação LOAD-PV")
    print("[3] correlação LOAD-EV")
    print("[4] correlação LOAD-PV-EV")
    simulation_mode = input("MODO DE SIMULAÇÃO DESEJADO: ")
    print("-----")
    print("Modo de simulação de Eficiência Energética:")
    print("[0] sem Real Time Price - RTP")
    print("[1] com Real Time Price - RTP")
    simulation_rtp = input("MODO DE SIMULAÇÃO DE CARGA: ")
    print("-----")
    print("Modo de simulação do veículo elétrico:")
    print("[0] sem V2G")
    print("[1] com V2G")
    simulation_ev = input("MODO DE SIMULAÇÃO DO VEÍCULO ELÉTRICO:")

    # Verificando possibilidade de entrada
    if (0 <= int(simulation_mode) <= 4) and (
            0 <= int(simulation_ev) <= 1) and (0 <= int(simulation_rtp) <= 1):
        print("Iniciando simulação, por favor, aguarde ...")
    else:
        print("Os modos escolhidos não são permitidos. Encerrando processo.")
        sys.exit()

    # Simulação de Monte Carlo
    simulation = Montecarlo(simulation_number, simulation_mode, simulation_ev,
                            simulation_rtp)
    simulation.set_simulation()
示例#3
0
def worker(num, counter):
    m = Montecarlo(counter.steps)
    m.compute()
    counter.add_hits(m.steps, m.hit, num)
    return
示例#4
0
from montecarlo import Montecarlo

while True:
    simulator = Montecarlo()
    mode = int(input('Modo de ejecucion: \n1. Automatico(0-4) \n2. Manual\n'))
    if mode != 1 and mode != 2:
        print('No selecciono ningun modo')
        break
    if mode == 1:
        simulator.run()
        continue
    if mode == 2:
        while True:
            purchased_cars = input(
                'Indique los autos adquiridos: | n: terminar\n')
            if purchased_cars == 'n':
                simulator.print_table_final()
                break
            if int(purchased_cars) >= 0:
                simulator.run(int(purchased_cars))
        continue

print('Simulador terminado')
示例#5
0
def main():

    # Monte Carlo
    simulation = Montecarlo(1)
    simulation.set_simulation()
示例#6
0
 def __init__(self, steps):
     Montecarlo.__init__(self, steps)
     self.image = Image.open("arc.png")
     self.draw = ImageDraw.Draw(self.image)