Estudo de caso 2 · Sistemas Multiagentes

Sistema Multiagente para Gestão de Incidentes de Trânsito

Projeto de uma solução baseada em Sistemas Multiagentes para monitorar o trânsito e coordenar o atendimento a acidentes em uma cidade inteligente.

Instituição
Centro Universitário Serra dos Órgãos
Professora
Ana Luiza Martins Karl
Autores
Erika Porto, Guilherme Adriano Cardoso, Jefferson Marques, Matheus Souza, Rafael Lins
Local e ano
Teresópolis, 2026
Seção 1

1 Introdução

Neste trabalho, nosso grupo propõe um Sistema Multiagente (SMA) para ajudar uma cidade inteligente a responder a acidentes de trânsito. A ideia central é organizar os agentes em uma arquitetura hierárquica, em que o Agente de Despacho coordena as decisões que precisam de arbitragem, enquanto os demais agentes mantêm autonomia para agir dentro do seu próprio domínio.

O cenário analisado apresenta três dificuldades principais:

Informações divergentes

um agente de monitoramento confirma o acidente, outro diz que o trânsito está normal e um terceiro tem dados desatualizados.

Recursos limitados

existem duas equipes de atendimento, mas uma delas já está ocupada com outra ocorrência.

Risco de conflito

se cada agente agir por conta própria, podem surgir decisões contraditórias e desperdício de recursos.

Nas seções a seguir, apresentamos a arquitetura escolhida, a comunicação entre os agentes, o mecanismo de coordenação (Contract Net), a estratégia de confiança e reputação e, por fim, uma análise do comportamento coletivo do sistema.

Seção 2

2 Arquitetura do sistema

2.1 Arquitetura escolhida

Depois de comparar as três opções, o grupo escolheu a arquitetura hierárquica. Ela mistura o melhor dos dois extremos: tem um nível de coordenação para resolver conflitos, mas deixa que cada agente tome decisões locais sem precisar pedir permissão para tudo.

2.2 Construção da estrutura hierárquica

Organizamos os seis agentes em três níveis, conforme o Quadro 1 e a Figura 1 (no simulador ao lado).

Veja o Quadro 1 logo abaixo

O Despacho fica no topo e só entra quando é preciso arbitrar. Os agentes de domínio agem sozinhos no que é deles, e as equipes são escolhidas pelo Contract Net. O Despacho reserva (tracejado) monitora o principal e assume se ele falhar.

2.3 Justificativa da escolha

  • Rapidez de resposta: as ações simples e urgentes ficam no nível de baixo. Por exemplo, o Agente de Trânsito pode abrir um corredor verde na hora, sem esperar autorização. Só sobe para o Despacho o que realmente precisa de arbitragem, como escolher a equipe.
  • Autonomia dos agentes: cada agente continua responsável pelo seu domínio. O Despacho não controla os semáforos nem a rota da equipe, ele só coordena.
  • Possibilidade de falhas: se um agente de monitoramento ou uma equipe falhar, o nível de cima percebe e redistribui a tarefa. A falha fica isolada e não derruba o sistema inteiro, como aconteceria numa arquitetura centralizada.

Também consideramos as outras opções. A centralizada criaria um único ponto de falha e um gargalo, porque todas as decisões passariam por um só agente. A descentralizada não teria ninguém para resolver as informações divergentes, e as duas equipes poderiam acabar indo ao mesmo local (ou nenhuma ir).

2.4 Desvantagem e como reduzir o impacto

A principal desvantagem é que o Agente de Despacho vira um ponto crítico. Se ele falhar ou ficar lento, as equipes ficam esperando ordens. Além disso, existe um pequeno atraso para a informação subir e descer pelos níveis.

Para diminuir esse problema, propomos três medidas:

  1. Despacho reserva: um segundo agente acompanha o estado do Despacho principal e assume automaticamente se o principal parar de enviar sinais de funcionamento (heartbeat).
  2. Timeout com autonomia local: se o Despacho não responder dentro de um tempo limite, os agentes de baixo passam a decidir entre si. A equipe livre mais próxima vai ao local e avisa as outras. Ou seja, o sistema funciona de forma descentralizada só enquanto durar a falha.
  3. Ações urgentes sem autorização: ações como abrir um corredor verde são executadas na hora e apenas comunicadas ao nível de cima.
Resumo animado, etapa por etapa

Etapa 1 de 4Nível 1: o Agente de Despacho confirma o acidente e escolhe a equipe. Só entra quando é preciso arbitrar.

Arquitetura do sistemahierárquica
Nível 1 · CoordenaçãoNível 2 · DomínioNível 3 · ExecuçãoheartbeatMonit. AMonit. BDespachoTrânsitoEquipe 1Equipe 2Reserva
7mensagens até despachar5 saté decidirmitigadaponto único de falhanãoequipes em conflito

Nível 1 coordena, nível 2 age no seu domínio, nível 3 executa. O Despacho só entra quando é preciso arbitrar; a reserva acompanha pelo heartbeat.

Quadro 1 – Níveis da hierarquia e papel de cada agente
NívelAgentePapel no sistemaDecide sozinhoPrecisa coordenar
1 – CoordenaçãoAgente de DespachoRecebe os alertas, confirma a ocorrência e distribui as tarefasQual equipe será enviadaPede dados ao Monitoramento e apoio ao Trânsito
2 – DomínioMonitoramento ADetecta acidentes por câmeras e sensoresQuando emitir um alertaEnvia as evidências ao Despacho
2 – DomínioMonitoramento BRecebe dados de veículos conectados e usuáriosQuando emitir um alertaEnvia as evidências ao Despacho
2 – DomínioAgente de TrânsitoControla semáforos e estima a circulaçãoAbrir corredor verde, desviar o fluxoInforma rotas e tempo estimado ao Despacho
3 – ExecuçãoAtendimento 1Equipe livreMelhor rota até o localEnvia proposta e confirma a chegada
3 – ExecuçãoAtendimento 2Equipe ocupada, logo disponívelQuando encerrar a ocorrência atualEnvia proposta ou recusa

Fonte: elaborado pelos autores (2026).

Seção 3

3 Comunicação entre agentes

Para entender como os agentes conversam, montamos uma sequência de mensagens que vai do primeiro alerta até a equipe chegar ao local. Consideramos que o Monitoramento A confirma o acidente, o Monitoramento B informa trânsito normal e o Agente de Trânsito está com dados desatualizados. Os valores de tempo são apenas ilustrativos.

Veja o Quadro 2 logo abaixo

Nessa sequência usamos os seis performativos pedidos (INFORM, REQUEST, PROPOSE, ACCEPT, REJECT e CONFIRM). Dá para perceber que o Despacho só entra quando é preciso decidir algo; o restante parte da iniciativa de cada agente.

Resumo animado, etapa por etapa

Etapa 1 de 4Mensagens 1 a 3: três INFORM chegam ao Despacho com versões diferentes, e a do Trânsito tem 15 minutos.

Troca de mensagens (FIPA-ACL)mensagem 1 de 14
Mon. AMon. BTrânsitoDespachoEquipe 1Equipe 2INFORM
(INFORM
:sender Monitoramento A
:receiver Agente de Despacho
:content Avisar que as câmeras detectaram um possível acidente na avenida, com imagem e horário da leitura
:conversation-id acidente-av-central-0142)

Mensagem 1 do Quadro 2. Toque numa seta para abrir outra mensagem.

Quadro 2 – Sequência de mensagens trocadas entre os agentes
#EmissorDestinatárioPerformativoIntenção / conteúdo
1Monitoramento AAgente de DespachoINFORMAvisar que as câmeras detectaram um possível acidente na avenida, com imagem e horário da leitura
2Monitoramento BAgente de DespachoINFORMInformar que os veículos conectados indicam trânsito normal no mesmo trecho
3Agente de TrânsitoAgente de DespachoINFORMInformar fluxo normal, mas com dados de 15 minutos atrás (desatualizados)
4Agente de DespachoMonitoramento A e Monitoramento BREQUESTPedir uma nova leitura atualizada do trecho para tirar a dúvida
5Monitoramento AAgente de DespachoCONFIRMConfirmar o acidente com uma imagem nova, de poucos segundos atrás
6Monitoramento BAgente de DespachoINFORMInformar que a velocidade média dos veículos caiu bruscamente no trecho, o que reforça o acidente
7Agente de DespachoAtendimento 1 e Atendimento 2REQUESTAnunciar a tarefa (início do Contract Net) e pedir propostas para atender a ocorrência
8Atendimento 1Agente de DespachoPROPOSEPropor o atendimento: equipe livre, chegada estimada em 6 minutos
9Atendimento 2Agente de DespachoPROPOSEPropor o atendimento: fica livre em 10 minutos, chegada estimada em 18 minutos
10Agente de DespachoAtendimento 1ACCEPTAceitar a proposta e enviar a equipe 1
11Agente de DespachoAtendimento 2REJECTRecusar a proposta; a equipe 2 fica de reserva após terminar a ocorrência atual
12Agente de DespachoAgente de TrânsitoREQUESTPedir um corredor verde na rota da equipe 1
13Agente de TrânsitoAgente de DespachoCONFIRMConfirmar que os semáforos da rota foram ajustados
14Atendimento 1Agente de DespachoCONFIRMConfirmar a chegada ao local e o início do atendimento

Fonte: elaborado pelos autores (2026).

Seção 4

4 Coordenação e distribuição de tarefas

O Contract Net funciona como uma “licitação” entre agentes: um agente gerente anuncia uma tarefa, os interessados mandam propostas e o gerente escolhe a melhor. No nosso sistema, o gerente é o Agente de Despacho e os participantes são as duas equipes de atendimento. Isso encaixa direto na arquitetura hierárquica, já que o Despacho fica um nível acima das equipes.

4.1 Etapas do Contract Net

  1. Anúncio da tarefa: depois de confirmar o acidente, o Despacho envia a todas as equipes uma mensagem com o local, o tipo de ocorrência, a gravidade e um prazo para resposta (por exemplo, 20 segundos).
  2. Envio de propostas: cada equipe avalia a própria situação e responde. A equipe 1, livre, propõe chegar em 6 minutos. A equipe 2, ainda ocupada, informa quando fica livre e quanto tempo levaria. Uma equipe que não pode atender também pode recusar.
  3. Avaliação: o Despacho compara as propostas usando os critérios definidos abaixo e consulta o Agente de Trânsito para saber se o tempo informado é realista com o trânsito atual.
  4. Seleção: o Despacho envia ACCEPT para a melhor proposta (equipe 1) e REJECT para a outra. A equipe recusada fica registrada como reserva caso a situação piore.
  5. Execução: a equipe escolhida se desloca, o Agente de Trânsito abre o corredor verde e a equipe envia CONFIRM ao chegar e ao terminar. Se ela falhar no caminho, o Despacho reabre o processo com as equipes restantes.

4.2 Critérios de seleção

Veja o Quadro 3 logo abaixo

Com esses dois critérios, a equipe 1 é a escolhida: está livre e chega bem antes da equipe 2.

Resumo animado, etapa por etapa

Etapa 1 de 5O Despacho envia a todas as equipes o local, o tipo de ocorrência, a gravidade e o prazo para resposta (20 segundos).

Contract Net: quem atendeanúncio
Tarefa anunciada pelo DespachoAcidente na av. Central · gravidade 3 de 5
Equipe 1aguardando
resgate · capacidade até 4
Equipe 2aguardando
resgate completo · capacidade até 5

Critério 1: tempo estimado de chegada (tempo para ficar livre + deslocamento). Critério 2: disponibilidade e capacidade; sem os recursos certos a proposta é descartada, e equipe ainda ocupada perde pontos.

Quadro 3 – Critérios usados pelo Despacho para escolher a equipe
CritérioO que medePor que importa
Tempo estimado de chegadaTempo até a equipe estar no local, somando o tempo para ficar livre e o deslocamentoEm acidentes, cada minuto conta para socorrer as vítimas
Disponibilidade e capacidadeSe a equipe está livre agora e se tem os recursos certos para aquele tipo de ocorrênciaEvita tirar uma equipe de outro atendimento ou mandar uma equipe sem o equipamento adequado

Fonte: elaborado pelos autores (2026).

Seção 5

5 Confiança e reputação

5.1 Como agir diante das informações divergentes

O sistema não deve simplesmente escolher uma das informações nem ignorar o alerta. Na nossa proposta, o Despacho segue três passos:

  1. Dar peso a cada informação: cada mensagem recebe um peso que depende da confiabilidade do agente e de quão recente é o dado. Assim, a informação de 15 minutos atrás do Agente de Trânsito conta bem menos que a imagem nova do Monitoramento A.
  2. Pedir uma nova verificação: como o resultado ainda fica em dúvida, o Despacho pede leituras atualizadas aos agentes de monitoramento (mensagem 4 do Quadro 2).
  3. Agir com cautela enquanto confirma: por segurança, a equipe pode ser pré-alertada enquanto a confirmação chega. É melhor um alarme falso do que deixar vítimas sem socorro.

5.2 Diferença entre confiança e reputação

Veja o Quadro 4 logo abaixo

Resumindo: confiança é “o que eu acho de você” e reputação é “o que todos acham de você”.

5.3 Estratégia contra informações falsas, desatualizadas ou manipuladas

  • Validade do dado (timestamp): toda mensagem leva o horário da leitura. Dados mais antigos que um limite (por exemplo, 5 minutos) perdem peso ou são descartados.
  • Confirmação por fontes diferentes: uma ocorrência só é dada como certa quando pelo menos duas fontes independentes concordam (câmera e veículos conectados, por exemplo).
  • Atualização da reputação: depois de cada ocorrência, o sistema compara o que cada agente informou com o que realmente aconteceu. Quem acertou ganha pontos e quem errou perde.
  • Detecção de comportamento estranho: se um agente começa a mandar muitos alertas que não se confirmam, ou dados muito diferentes dos demais, ele é marcado como suspeito e suas mensagens passam por verificação extra.
  • Autenticação das mensagens: cada agente assina suas mensagens, o que impede que alguém de fora se passe por um agente do sistema.
Resumo animado, etapa por etapa

Etapa 1 de 4Cada mensagem pesa conforme a confiabilidade do agente e a idade do dado. A leitura de 15 minutos do Trânsito conta bem menos.

Fusão das três versõesrodada 1
Monitoramento Aacidente
câmera · dado de 1 min atrásreput.85%frescor87%peso 0,74 = 0,85 × 0,87 · 16 acertos, 2 erros
Monitoramento Bnormal
veículos · dado de 4 min atrásreput.70%frescor57%peso 0,40 = 0,70 × 0,57 · 13 acertos, 5 erros
Agente de Trânsitonormal
sensores · dado de 15 min atrás · além do limite de 5 minreput.80%frescor13%peso 0,10 = 0,80 × 0,13 · 15 acertos, 3 erros
chance de haver acidente60%decisão: pedir nova verificação e pré-alertar a equipefontes recentes confirmando: 1 (precisa de 2)

Peso de cada voto = reputação × frescor. Confirmado só acima de 75% e com duas fontes recentes concordando; na dúvida, verifica e pré-alerta a equipe. Ligue a manipulação e feche algumas ocorrências seguidas.

Quadro 4 – Confiança e reputação no cenário da cidade inteligente
ConfiançaReputação
O que éA avaliação que um agente faz de outro a partir da própria experiênciaA opinião coletiva do sistema sobre um agente, formada por várias avaliações
OrigemInterações diretas entre os doisHistórico compartilhado por todos os agentes
Exemplo no cenárioO Despacho confia no Monitoramento A porque, nas últimas vezes, os alertas dele se confirmaramO Monitoramento B tem reputação mais baixa porque vários agentes já registraram dados de usuários que estavam errados

Fonte: elaborado pelos autores (2026).

Seção 6

6 Colaboração e comportamento emergente

6.1 Problemas sem um coordenador central

Se cada agente decidisse só com as informações locais, imaginamos os seguintes problemas:

  • Decisões conflitantes: o Monitoramento A pediria socorro, enquanto o B diria que está tudo normal. Sem ninguém para comparar, cada agente agiria de um jeito.
  • Desperdício ou falta de recursos: as duas equipes poderiam ir ao mesmo acidente, deixando a outra ocorrência sem atendimento, ou cada uma poderia achar que a outra iria e nenhuma ir.
  • Semáforos contraditórios: o Agente de Trânsito, com dados desatualizados, poderia manter o fluxo normal justamente na rota que a equipe precisa usar.
  • Excesso de mensagens: todos falando com todos aumentaria muito a troca de mensagens e deixaria a resposta mais lenta.
  • Propagação de erros: uma informação falsa poderia se espalhar de agente para agente sem que ninguém a verificasse.

6.2 Comportamento coletivo positivo

Um comportamento que pode emergir é o corredor de emergência automático. Nenhum agente sozinho “planeja” o corredor inteiro. O Agente de Trânsito ajusta os semáforos, os veículos conectados recebem o aviso e mudam de rota, e o Monitoramento acompanha o fluxo em tempo real. Da soma dessas pequenas ações surge um caminho livre para a ambulância e, ao mesmo tempo, o trânsito se redistribui pela cidade, diminuindo o congestionamento em volta do acidente.

Outro exemplo é o balanceamento natural das equipes: como cada uma informa sua disponibilidade nas propostas do Contract Net, com o tempo as ocorrências passam a ser divididas de forma equilibrada, sem que exista uma regra fixa dizendo quem atende cada região.

6.3 Por que a colaboração supera as decisões isoladas

Nenhum agente tem a visão completa da situação. O Monitoramento A vê a imagem, mas não sabe onde as equipes estão. O Despacho conhece as equipes, mas não vê o acidente. O Agente de Trânsito sabe as rotas, mas não decide quem vai atender. Quando eles colaboram:

  • as informações se completam, o que reduz o erro (duas fontes confirmando valem mais do que uma);
  • os recursos são usados de forma mais eficiente, sem equipes duplicadas ou paradas;
  • a resposta fica mais rápida, porque cada etapa (confirmar, escolher a equipe, liberar a rota) acontece em paralelo;
  • o sistema fica mais resistente a falhas, já que um agente pode compensar o erro de outro.

Ou seja, o resultado do grupo é maior do que a soma das partes, o que é justamente a ideia principal dos Sistemas Multiagentes.

Resumo animado, etapa por etapa

Etapa 1 de 4A equipe escolhida parte. Sem colaboração, encontra cada semáforo na fase em que ele estiver, por acaso.

Ambulância na avenidacada semáforo por si
S1S2S3S4S5S6+
0,0 stempo de viagem0paradas em vermelho0avisos entre vizinhos

Ciclo de 10 s em cada semáforo, 4 s de verde. No modo colaborativo, cada sinal avisa o próximo quando a ambulância se aproxima, e ninguém tem o plano inteiro.

Seção 7

7 Conclusão

Também vimos que a comunicação com performativos claros, junto com mecanismos de confiança e reputação, deixa o sistema mais seguro contra dados falsos ou desatualizados. Por fim, percebemos que a colaboração entre os agentes gera resultados que nenhum deles conseguiria sozinho, como o corredor de emergência automático.