Algoritmo de tomada de decisão - Lógica Fuzzy

Descrição
Lógica Fuzzy é a forma de lógica multivalorada na qual os valores lógicos das variáveis podem ser qualquer número real entre 0, correspondente ao valor falso, e 1, correspondente ao valor verdadeiro. Diferentemente, na lógica booleana, os valores lógicos das variáveis podem ser apenas 0 e 1. A Lógica Fuzzy foi estendida para lidar com o conceito de verdade parcial, onde o valor verdade pode compreender entre completamente verdadeiro e completamente falso. Além disso, quando variáveis linguísticas são usadas, esses graus podem ser manipulados por funções específicas.

As implementações da Lógica Fuzzy permitem que estados indeterminados possam ser tratados por dispositivos de controle. Desse modo, é possível avaliar conceitos não-quantificáveis.

Detalhamento
Em nosso trabalho de conclusão de curso, no modo de jogo “Horda” os jogadores tem como objetivo alcançar a maior quantidade de pontos, e esses pontos são obtidos através da eliminação dos npc’s. Os npc’s por sua vez tem como objetivo eliminar os jogadores. Após uma tarefa ser atribuída ao agente pelo Algoritmo de Leilão, a Lógica Fuzzy é responsável por lidar com as ações que serão executadas pelos agentes. As ações levam em consideração o nível de ameaça que o jogador representa para o agente, esse nível de ameaça é obtido através de uma função Fitness que leva em consideração os parâmetros vida atual do agente e a arma que o jogador possui. Após calcular o nível de ameaça o algoritmo faz a comparação do parâmetro "bravura" com a porcentagem de ameaça e através dessa comparação define o comportamento do agente, que pode ser agressivo, normal ou defensivo, e cada comportamento possui um conjunto de ações.

Por exemplo:

-	o agente possui vida cheia e sua tarefa é eliminar um jogador que não possui arma, portanto representa baixo nível de ameaça para o agente;

-	o comportamento do agente é agressivo e ele executa a ação de perseguir e atacar o jogador;

-	o jogador encontra uma arma poderosa e agora representa um alto nível de ameaça para o agente;

-	o algoritmo calcula a porcentagem de ameaça com o parâmetro bravura do agente que define o seu comportamento;

-	o comportamento do agente passa a ser defensivo e a sua ação é de fugir.

Aplicação
Link para o vídeo no youtube: https://youtu.be/YFgtr1F3NSk