lsa-pucrs / mas-pc-pucrs-2016

Repository for the 2016 MAS programming contest: https://multiagentcontest.org/
2 stars 1 forks source link

Exploring enemy location #2

Closed anibalsolon closed 9 years ago

anibalsolon commented 9 years ago

@ramonpereira e @Maumagnaguagno , já que trabalharão com a movimentação... Para não se perder a ideia: Já que o grafo será de fato montado por cada pedaço, em vez de simplesmente a distância entre facilities, pode-se usar as percepções das posições dos inimigos para ir montando o quebra-cabeça. Os agentes deles provavelmente estarão fazendo uma rota, então teria que avaliar como guardar (se for ajudar de alguma forma).

Maumagnaguagno commented 9 years ago

Teríamos que guardar as adjacências entre as percepções(Ag1,X,Y => Ag1,X,Y+1.2223), provavelmente discretizando/truncando para não criar infinitos pontos nesse banco de dados. Encontrar o nível de granularidade do mapa (onde truncar) só depois de avaliar os mapas atuais e depois ainda como descobrir que ruas se cruzam... Tem de ver também se existe a possibilidade de pontes no mapa, embora eu acredite que não. Talvez valha a pena manter os mapas que conhecemos na base de dados e tentar ver como reconhecer o mapa atual, embora essa solução apenas salve o passo de reconhecimento.

rafaelcaue commented 9 years ago

Postaram na lista de e-mails da competição algo pertinente a essa ideia.

No final eles ainda informam que o mapa (arquivo osm de uma cidade) vai ser conhecido antes da competição, só os locais e demais parametros não.

Acho que a questão é, seria útil montar uma estrutura de dados com informações apenas do mapa, sem os parametros? Podemos discutir um pouco possíveis estratégias para tirar proveito disso na próxima reunião.

Hi there, sure, you can just use the map file for that. We are building the graph and calculating the routes via the opensource routing library Graphhopper[1]. You can either use it as in this example[2], or you have to build an own approximation for this. If that is not an option, you can also implement your own routing mechanism, based on the data from the OpenStreetMap file, and just submit your next (self-computed) reachable waypoint in each goto action. (for this to work, we will have to scrap the idea of a replanning penalty from one of the earlier mails) The map files will be known before each match, I should add, so that teams can prepare them if necessary. The locations of agents and facilities and other parameters will of course remain a mystery until the start of a simulation. Best, Tobias [1] [https://graphhopper.com/#community] [2] [https://github.com/graphhopper/graphhopper/blob/0.4/docs/core/routing.md]

anibalsolon commented 9 years ago

Tava pensando nessa parada mesmo. Se podemos sussamente montar o grafo, acho útil sim.

No código da execução da ação goto está assim: this.battery -= 10; // TODO 2015:: define battery cost of moving! (role depending? time-based or distance based?)

Tendo o custo por step e todo o grafo pronto, não tem mistério! Aí podemos ir preenchendo o grafo com esses parametros que os agentes vão recebendo.