documentação auxiliar para o projecto

Documento que serve como base para a definição do projecto
This commit is contained in:
2026-10-26 21:57:05 +00:00
parent 65017f3583
commit 4880a54ee6
+85
View File
@@ -0,0 +1,85 @@
# Modelo de Simulação de Interações entre Agentes
## Introdução Teórica
Este modelo de simulação é inspirado na [Teoria dos Jogos](https://en.wikipedia.org/wiki/Game_theory), em particular no [Dilema do Prisioneiro](https://pt.wikipedia.org/wiki/Dilema_do_prisioneiro) e nas experiências de Robert Axelrod sobra a evolução da cooperação.
O objectivo é observar como diferentes comportamentos (estratégias) emergem, evoluem e se adaptam em populações de agentes autónomos que interagem de forma limitada e local.
A Teoria dos Jogos estuda situações onde o resultado de cada participante depende não só das suas próprias decisões, mas também das decisões dos outros.
O Dilema do Prisioneiro clássico representa um caso paradigmático onde a escolha entre cooperar e desertar conduz a tensões entre benefício individual e colectivo.
A introdução de simulações evolutivas permite observar como estratégias cooperativas podem surgir mesmo em ambientes competitivos, quando as Interações são repetidas e há herança de comportamento entre gerações. Neste contexto, o modelo aqui descrito procura capturar esses mecanismos fundamentais através de entidades que:
- possuem atributos psicológicos representados pelos traços dos [Big Five](https://en.wikipedia.org/wiki/Big_Five_personality_traits);
- interagem com vizinhos num espaço limitado (grelha 2D);
- recebem recompensas segundo o Dilema do Prisioneiro;
- evoluem ao longo do tempo por mutação e seleção natural baseada em sucesso relativo.
## Caracteristicas da Simulação
### Entidades e atributos
Cada entidade representa um agente autónomo com as seguintes propriedades:
- **TtL (Time to Live)**: tempo de vida medida em ciclos.
- **Pontuação**: valor acumulado das interações com outras entidades.
- **Big Five**: vetor contínuo `[0..1]^5` representando traços psicológicos (O, C, E, A, N)
- **Histórico**: lista de interações (parceiro, resultado, timestamp)
- **Alcance Interação**: raio (em células) dentro do qual a entidade pode interagir (valor inicial: 1)
A estratégia da entidade é derivada dinamicamente por uma função `estrategia = f(BigFive)`.
### Espaço e interações
As entidades estão dispostas numa grelha 2D fixa. Cada uma pode interagir apenas com as entidades dentro do seu 'Alcance Interação'. Após cada interação:
- Ambas registam o resultado (razão + timestamp);
- Actualizam a sua pontuação total;
- Adquirem conhecmento indirecto sobre os parâmetros (Big Five) da entidade com quem interagiram.
### Função recompensa
A matriz de recompensas segue o paradigma do Dilema do Prisioneiro:
|Entidade 1|Entidade 2|Pontuação E1|Pontuação E2|
|----------|----------|------------|------------|
|Coopera |Coopera |3 |3 |
|Coopera |Deserta |0 |5 |
|Deserta |Coopera |5 |0 |
|Deserta |Deserta |1 |1 |
### Reprodução e Mutação
Quando `TtL = 0`, a entidade calcula a média dos resultados obtidos e determina se se pode reproduzir.
A reprodução ocorre se obtiver pelo menos 50% da pontuação máxima. O numero de descendentes é o seguinte:
- 1 descendente: 50% a 66% da pontuação máxima;
- 2 descendentes: 66% a 83% da pontuação máxima;
- 3 descendentes: mais de 83% da pontuação máxima.
Os descendentes herdam os valores `Big Five` com mutação:
`BigFive_descendente = BigFive_parente + α * (BigFive_adversario_mais_forte - BigFive_parente) + erro`
onde `α` é um factor de convergência (ex: 0.05) e `erro` é ruido aleatório controlável.
Caso a entidade tenho obtido uma pontuação abaixo dos 50%, essa entidade é eliminada da grelha, deixando vazio o espaço que ocupava.
Caso a haja reprodução, o primeiro (ou único descendente) irá ocupara vaga deixada pelo seu parente, e o(s) restante(s) descendente(s) irão ocupar as vagas livres na vizinhança (considerando a propriedade 'Alcance Interação' do parente). No caso excepcional de não haver vagas para a nova entidade, é iniciado um ciclo de interações com as entidades vizinhas, e no final de interagir com todas entidades vizinhas, irá tomar o lugar da entidade com quem teve a vitória com melhor pontuação. Caso não obtenha mais de 50% de pontuação, esta nova entidade é eliminada.
### Parâmetros Globais Configuráveis
- **Tamanho da Grelha (NxM)**: define o número total de espaços a serem ocupados pelas entidades
- **Alcance Interação**: raio de vizinhança (padrão=1)
- **TtL Inicial**: número de ciclos de vida por entidade
- **Fator de Mutação α**: intensidade da convergência
- **Ruido/Erro**: grau de aleatoriedade nas mutações
- **Pontuação Máxima por Interação**: valor máximo de um resultado por interação (padrão=1)
### Extensões Futuras
- Interações em grupo e formação de coligações
- Adaptação contínua das estratégias durante o ciclo de vida
- Métricas de diversidade e fitness global
- Mobilidade na grelha (migração de entidades)
- Influência de fatores embientais e recursos limitados