Menu

Reuniao 4

Daniela Maria Uez

Reunião do dia 06/06/2012

Reparador

Quando um agente precisar ser reparado, deve avisar os reparadores. De acordo com a localização do agente ou prioridade de reparo, um reparador será alocado para aquele agente. Cada reparador possui sua lista de agentes doentes a serem reparados. O reparador, então, passa a ter poderes sobre o agente a ser reparado e deve determinar um ponto de encontro no mapa. O agente a ser reparado deve se deslocar até o ponto definido pelo reparador para que seja feito o reparo.

  • Os reparadores, mesmo desabilitados, podem reparar outros agentes. Assim, se um reparador for desabilitado pode ser reparado por outro reparador.

Exploitação

Visa manter a maior área possível. Neste ponto já se conhece os cenário e os vértices de maior valor.

  • Faz uma busca em largura a partir do melhor lugar do mapa (grupo de vértices de maior valor).

Como organizar os agentes para garantir a dominação sobre esta área?

Utilizar um sistema de feudos, distribuindo os agentes em camadas. Na camada central ficam os agentes exploradores. Na segunda camada, os agentes sentinelas e os reparadores e, por fim, os sabotadores ficam na camada mais externa. Assim, o sentinela tem condições de avisar o sabotador da localização do inimigo para que este realize o ataque. Cada agente fica há um vértice de distância do outro e o feudo pode ser aberto ou condensado se houver necessidade.

  • O sentinela deve permanecer o mais longe do núcleo do feudo possível, de forma que ele consiga enxergar tanto o centro do feudo quanto as fronteiras externas. Sentinela consegue "mandar" nos outros agentes para organizar o feudo.

  • Sabotador fica "batendo" no inimigo para tentar derrotá-lo. Quando um sabotador for atingido, este volta para o centro do feudo para ser reparado.

  • Quando os agentes forem atacados - ataque com poucos agentes inimigos -, chamam os sabotadores

  • Quando ocorrer um ataque grande (muitos agente inimigos atacando ao mesmo tempo), os sentinelas/sabotadores coordenam os outros agentes para a defesa da área. A defesa consiste em condensar o feudo (diminuindo a distância entre os agentes ou aumentando o número de agentes em uma determinada área, de acordo com a necessidade).

Estratégia para o ataque com muitos agentes inimigos)

  • Aumenta sobreposição do feudo (diminui a distância entre os agentes)
  • Redistribui os agentes, concentrando-os em um único ponto (de forma proporcional à quantidade de agentes em ataque)
  • Agente que vê o ataque primeiro passa a ter maior prioridade. Se mais de um agente ver um ataque ao mesmo tempo, utiliza-se estratégias de priorização de coordenação: o ataque com mais agentes é resolvido antes, aquele no qual o agente está mais próximo, etc...
  • Se o time chegar depois na melhor área do mapa, deve disputá-la com o outro time.

Ataque e Defesa

  • Utilizam as mesmas idéias da exploração
    • O sentinela monta a área
    • Para o ataque, a área deve ser a de maior valor.

Compra

  • Não é necessária a compra de visão
  • Não é necessária a compra de energia pois o maior peso das arestas é menor que a energia máxima dos agentes
  • Manter o sabotador com força maior que a maior força do inimigo e com saúde maior do que a maior saúde do inimigo para que possa desabilitar o agente inimigo em um único ciclo.
  • Porém o sabotador é fraco. Seria necessário comprar muita força. Talvez seja melhor deixar o reparador mais forte - menos força a ser comprada.
  • Necessita de estratégia para inspeção do inimigo - por ex, inspecionar a cada 100 ciclos

Já foi implementada!

Implementação da Exploitação

  • As informações sobre o grafo são compartilhadas entre os agentes, então todos vão conhecer o mesmo grafo.
  • Desenvolvimento de um algoritmo que fará a leitura do grafo e distribuirá as posições aos agentes. Um sentinela (escolhido aleatóriamente) determinará onde os demais agentes devem se colocar.
  • O algoritmo se baseia nos agentes habilitados e disponíveis (Um agente disponível é aquele que não está executando um ataque, por exemplo)

    • O sentinela executa o algoritmo
    • Recebe o número de agentes disponíveis para formação da área
    • Avisa os agentes sobre onde devem se posicionar
    • Agentes se posicionam no local designado
  • O sentinela deverá reexecutar o algoritmo...

    • Se um agente desabilitar durante a formação da área
    • Quando um agente indisponível passar a ser disponível
  • Sabotadores nunca estão disponíveis porque são os protetores da área.

Estratégias a serem testadas

  • Se em um vértice encontram-se dois reparadores e dois sabotadores (reparadores do time A e sabotadores do time B): é possível que os reparadores nunca morram (um repara o outro)??

A Fazer

  • Testar times atuais e dos anos anteriores
  • Implementar estratégias: OK
    • Exploitação
    • Reparação
  • Essas estratégias precisam de planos de longo prazo. *** Em andamento ***
    • 1º tentar implementar utilizando crenças.
    • se possível, usar intenções.

Próxima Reunião

Dia 14/06/2012 às 13h30min
Pauta: slides sobre ASP - Daniela


MongoDB Logo MongoDB