Algoritmo de Leilão - Brock Lee

Brock Lee ​​​​​​Algoritmo de LeilãoLogo_BrockLee_Jogo.png
Descrição geral do algoritmo:

O Leilão é um algoritmo de tomada de decisão, utilizado para resolver problemas de atribuição de ‘n’ tarefes a ‘n’ agentes baseado em custos de alocações.

Para realizar o algoritmo é necessário, como dito anteriormente, ‘n’ agentes, ‘n’ tarefas e um custo de atribuição para cada ligação agente-tarefa. Cada agente define sua tarefa baseado no melhor custo de atribuição, e define um lance para essa tarefa utilizando a formula:

lance = C1 – C2 + e,

onde: C1 = Custo de atribuição do melhor objeto C2 = Custo de atribuição do segundo melhor objeto e = Constante definida pelo desenvolvedor, onde para se obter uma solução ótima deve seguir a função:

e < 1/n

Caso um agente defina um lance para uma tarefa previamente atribuída deverá permanecer o melhor lance, fazendo com que o agente de menor lance realize a formula novamente desconsiderando esta tarefa.

Uso do Algoritmo de Leilão no Jogo Brock Lee



A ideia do funcionamento da IA dos inimigos do Brock Lee é: 2 inimigos seguirem o personagem, 1 cerca-lo  e 1 andar aleatoriamente pelo labirinto, criando um problema de alocação onde possuímos 4 inimigos para 4 tarefas que foi resolvido utilizando o Algoritmo de Leilão.

Os custos de atribuição foram definidos da seguinte maneira:

Tarefa 1 (Seguir):  1 / Distancia do inimigo até o Jogador. Tarefa 2 (Seguir):  1 / Distancia do inimigo até o Jogador. Tarefa 3 (Cercar):  1 / Distancia do inimigo até o Ponto que o jogador está olhando (Definido por Raycast). Tarefa 4 (Andar aleatório):  0.

Todos os valores com distancia são definidos 1/d a fim de obter um lance melhor para a menor distancia. O algoritmo é realizado a cada 3 segundos fazendo com que os inimigos possam trocar de tarefa baseado nas ações do jogador tornando a IA mais divertida para o usuário.