Beispiel #1
0
def create_earth():
    ## Continents

    na = Cont("northamerica", 5)
    sa = Cont("sourthamerica", 2)
    asia = Cont("asia", 7)
    europe = Cont("europe", 5)
    africa = Cont("africa", 3)
    oceania = Cont("oceania", 2)

    ##Zones

    #North america
    alaska = Zone("alaska", na)
    nunavut = Zone("nunavut", na)
    alberta = Zone("alberta", na)
    ontario = Zone("ontario", na)
    quebec = Zone("quebec", na)
    westernstates = Zone("westernstates", na)
    easternstates = Zone("easternstates", na)
    centralamerica = Zone("centralamerica", na)
    groenland = Zone("groenland", na)
    na.adds([
        alaska, nunavut, alberta, ontario, quebec, westernstates,
        easternstates, centralamerica, groenland
    ])

    #Europe
    europe.adds([
        "iceland", 'greatbritain', "scandinavia", "ukraine", "north", "south",
        "west"
    ])

    #Asia
    asia.adds([
        "afghanistan", "ural", "siberia", "tchita", "mongolia", "yakutia",
        "china", "japan", "kamschatka", "middleeastern", "india", "siam"
    ])

    #Oceania
    oceania.adds(["indonesia", "newguinea", "eastaustralia", "westaustralia"])

    #Africa
    africa.adds([
        "congo", "madagascar", "egypt", "northafrica", "eastafrica",
        "southafrica"
    ])

    #South America
    sa.adds(["brasil", "peru", "venezuela", "argentina"])

    #earth
    earth = World([na, sa, asia, europe, africa, oceania])

    ## Connections

    #North America

    earth["alaska"].add_conns(earth["kamschatka"], earth["nunavut"],
                              earth["alberta"])
    earth["alberta"].add_conns(earth["nunavut"], earth["ontario"],
                               earth["westernstates"])
    earth["ontario"].add_conns(earth["nunavut"], earth["groenland"],
                               earth["quebec"], earth["easternstates"],
                               earth["westernstates"])
    earth["groenland"].add_conns(earth["nunavut"], earth["quebec"],
                                 earth["iceland"])
    earth["easternstates"].add_conns(earth["quebec"], earth["westernstates"],
                                     earth["centralamerica"])
    earth["centralamerica"].add_conns(earth["easternstates"],
                                      earth["westernstates"],
                                      earth["venezuela"])

    #Europe

    earth["iceland"].add_conns(earth["scandinavia"], earth["greatbritain"])
    earth["greatbritain"].add_conns(earth["scandinavia"], earth["west"],
                                    earth["north"])
    earth["scandinavia"].add_conns(earth["north"], earth["ukraine"])
    earth["north"].add_conns(earth["south"], earth["west"], earth["ukraine"])
    earth["south"].add_conns(earth["west"], earth["ukraine"], "northafrica",
                             "middleeastern")

    #Asia

    earth["ural"].add_conns(earth["ukraine"], earth["afghanistan"], "china",
                            "siberia")
    earth["china"].add_conns("mongolia", "afghanistan", "siberia", "india",
                             "siam")
    earth["tchita"].add_conns("mongolia", "siberia", "yakutia", "kamschatka")
    earth["japan"].add_conns("mongolia", "kamschatka")
    earth["middleeastern"].add_conns("ukraine", "egypt", "afghanistan",
                                     "india", "eastafrica")
    earth["siam"].add_conns("india", "indonesia")
    earth["afghanistan"].add_conns("india", "ukraine")
    earth["mongolia"].add_conns("siberia", 'kamschatka')
    earth["yakutia"].add_conns("siberia", "kamschatka")

    #Oceania
    earth["westaustralia"].add_conns("newguinea", "eastaustralia",
                                     "madagascar", "indonesia")
    earth["newguinea"].add_conns("indonesia", "eastaustralia")

    #Africa
    earth["madagascar"].add_conns("southafrica", "eastafrica")
    earth["congo"].add_conns("southafrica", "eastafrica", "northafrica")
    earth["egypt"].add_conns("eastafrica", "northafrica", "south")
    earth["northafrica"].add_conns("west", "brasil", "eastafrica")
    earth["southafrica"].add_conns("eastafrica")

    #South America
    earth["brasil"].add_conns("venezuela", "argentina", "peru")
    earth["peru"].add_conns("venezuela", "argentina")

    #global
    earth.purify_transitions()
    earth.activate_transitions()
    earth.setmap("worldmap")
    earth.name = "earth"
    return earth
# EI_inputs_path = "../support/exp_iter_inputs/exp_iter_inputs_classic.json"

load_model = True
model_name = "model_0_0_initialFortify.tar"

# Create the net using the same parameters
inputs = misc.read_json(EI_inputs_path)
model_args = misc.read_json(inputs["model_parameters"])
board_params = inputs["board_params"]
path_board = board_params["path_board"]

# ---------------- Model -------------------------

print("Creating board")

world = World(path_board)

# Set players
pR1, pR2, pR3 = RandomAgent('Red'), RandomAgent('Blue'), RandomAgent('Green')
players = [pR1, pR2]
# Set board
prefs = board_params

board_orig = Board(world, players)
board_orig.setPreferences(prefs)

num_nodes = board_orig.world.map_graph.number_of_nodes()
num_edges = board_orig.world.map_graph.number_of_edges()

print("Creating model")
net = GCN_risk(num_nodes, num_edges, model_args['board_input_dim'],
Beispiel #3
0
  button.fill(color)
  button.blit(label, (0,0))
 
#%% start
if __name__ == "__main__":

  args = parseInputs()
  console_debug = args.console_debug
  
  with open(args.preferences, 'r') as f:
    prefs = json.load(f)
  
  prefs['console_debug'] = console_debug
  
  # Load map
  world = World(prefs['map_path'])
  
  
  # Set players
  players = []
  available_players = agent.all_agents
  for p, n in zip(prefs['players'], prefs['players_names']):
    ag = available_players[p](n)
    ag.console_debug = console_debug and False
    players.append(ag)
  
  # Set board
  board = Board(world, players)
  board.setPreferences(prefs)
  
#%% Draw the board