# Seleção: Torneio e Rankeamento
* **Seleção por Torneio (*Tournament Selection*):**
* Seleciona diversos pequenos subconjuntos (torneios) da população.
* O indivíduo de maior adequação (maior *fitness*) de cada grupo é selecionado como vencedor/pai.
* É um método muito popular devido à sua simplicidade e eficiência computacional.
* **Seleção por Classificação (*Ranking Selection*):**
* Semelhante à Roleta, mas a probabilidade de seleção é relacionada à sua **posição (rank)** na ordenação dos indivíduos, e não ao valor de *fitness* em si.
* Vantagem: Ajuda a mitigar problemas onde o *fitness* de um indivíduo é muito superior aos demais (desbalanceado).
* **Seleção por Truncamento:**
* Apenas os N melhores indivíduos da população são selecionados, e os outros são descartados.
---
4. A **função-objetivo** (*fitness*) é o objeto da otimização e a única informação de que o AG necessita. Qual é a grande vantagem dos Algoritmos Genéticos ao lidar com a função-objetivo como uma "caixa preta" Considerando que buscas em problemas reais podem ser "repletas de descontinuidades, ruídos e outros problemas", por que os métodos tradicionais que dependem de **derivadas** são menos adequados para esses problemas do que os AGs?
5. O processo de reprodução envolve sorte (seleção, crossover e mutação), o que pode levar o **melhor indivíduo** a ser descartado. Defina a estratégia de **Elitismo** e explique como ela é usada para evitar que soluções de alta aptidão sejam perdidas ao longo das gerações. Qual é um dos principais problemas que o elitismo ajuda a mitigar no que se refere à convergência?
## Respostas para as Perguntas de Discussão
### 1. Comparação com Métodos Tradicionais
Os Algoritmos Genéticos (AGs) diferem dos algoritmos tradicionais de busca e otimização em quatro aspectos fundamentais:
1. Os AGs trabalham com uma **codificação** do conjunto de parâmetros ou das soluções possíveis, e não com os próprios parâmetros de otimização em si.
2. Os AGs trabalham com uma **população** de soluções candidatas, e não apenas com um único ponto ou solução individual.
3. Os AGs utilizam informações de **custo ou recompensa** (a função-objetivo), mas não necessitam de derivadas ou qualquer outro conhecimento auxiliar (como a continuidade da função).
4. Os AGs utilizam regras de **transição probabilísticas**, em contraste com os algoritmos tradicionais que usam regras determinísticas.
**Implicação Prática:**
O uso de **transições probabilísticas** torna os AGs mais robustos, pois eles exploram o espaço de busca de maneira estruturada, mas aleatória, o que ajuda a evitar que fiquem presos em ótimos locais (mínimos ou máximos locais).
Ao trabalhar com uma **codificação** das soluções (como vetores binários, inteiros ou reais), o AG abstrai o problema, o que, em teoria, permite o uso de operadores genéticos padrão, facilitando o emprego em diferentes classes de problemas.
### 2. O Equilíbrio da Seleção
A **seleção** é uma parte chave do algoritmo, pois determina quais indivíduos da população atual terão mais chances de passar seus genes adiante. O objetivo da seleção é dar preferência a indivíduos com melhor *fitness*, mas ainda assim mantendo a **diversidade genética**.
O método da **Roda da Roleta** (*Roulette Wheel Selection*) alcança esse equilíbrio da seguinte forma:
* Os indivíduos são representados na roleta por uma porção **proporcional** ao seu índice de aptidão em relação ao total da população.
* Indivíduos com **alta aptidão** (alto *fitness*) recebem uma porção maior da roleta, o que aumenta sua probabilidade de serem escolhidos como pais.
* No entanto, a escolha é feita **aleatoriamente** de acordo com essas probabilidades. Isso significa que, embora os melhores sejam preferidos, indivíduos menos adaptados ainda têm uma chance de serem sorteados, o que ajuda a **manter a diversidade** na população.
O **risco de ter uma pressão seletiva muito alta** (como selecionar *sempre* os melhores indivíduos e descartar os demais) é a **convergência prematura**. A convergência prematura ocorre quando o algoritmo converge muito rapidamente para uma solução que não é a ótima global (uma solução subótima).
### 3. Papel dos Operadores Genéticos
O Algoritmo Genético utiliza a **recombinação (crossover)** e a **mutação** para gerar as populações sucessivas, garantindo que a nova geração possua características dos pais e, ao mesmo tempo, se diversifique.
| Operador | Função Primária |
| :--- | :--- |
| **Crossover** (Recombinação) | É o operador predominante. Simula a recombinação genética, permitindo que as próximas gerações herdem características dos pais, trocando as informações que os levam a ser mais aptos. |
| **Mutação** | É o operador secundário. Tem como função principal introduzir e manter a **diversidade genética** na população, alterando arbitrariamente um ou mais componentes de uma estrutura escolhida. |
**Justificativa das Taxas:**
* A **Taxa de Crossover ($P_c$)** é alta (tipicamente entre 70% a 90% ou 0.5 e 1.0) porque o *crossover* é o operador **predominante** e é responsável pela **exploração** de novas soluções através da combinação de bons genes.
* A **Taxa de Mutação ($P_m$)** é mantida **baixa** (usualmente entre 0.1% e 2% ou 0.1% a 5%) porque a mutação é um operador genético secundário. Embora seja essencial para introduzir variabilidade e contornar mínimos locais, ela é aplicada com a **probabilidade mais baixa possível**.
**Risco de Taxa de Mutação Alta:**
Se a taxa de mutação for configurada para ser muito alta, o algoritmo perde o "aprendizado genético". A busca se torna **essencialmente aleatória** (ou "caminhada aleatória não direcionada").
### 4. Função Fitness e Complexidade
A **função-objetivo** é o objeto da otimização e faz a ligação do algoritmo com o problema real.
A grande vantagem dos AGs é a capacidade de tratar a função-objetivo como uma "**caixa preta**". Isso significa que **não é necessário saber como esta função funciona** internamente, apenas tê-la disponível para ser aplicada aos indivíduos e comparar os resultados.
AGs são muito eficientes para achar soluções em problemas complexos porque não são limitados por suposições sobre o espaço de busca, como **continuidade** ou **existência de derivadas**.
Em problemas reais, onde o espaço de busca pode ser repleto de **descontinuidades, ruídos e outros problemas**, métodos que dependem fortemente de restrições de continuidade e da existência de derivadas são adequados apenas para problemas em um **domínio limitado**. Os AGs, ao não dependerem dessas informações derivadas, são mais robustos e capazes de realizar otimização global em domínios mais complexos.
### 5. Dinâmica Populacional e Perda de Conhecimento
O **Elitismo** (ou reprodução elitista) é uma estratégia comum usada para prevenir a perda das melhores soluções.
O problema que o elitismo busca mitigar é que, como a reprodução envolve sorte—por meio da seleção, do *crossover* e da mutação—é possível que o **melhor indivíduo** com o maior *fitness* seja descartado ou quebrado ao longo das gerações. Isso atrasaria a convergência para boas soluções.
A estratégia de elitismo consiste em **preservar os melhores indivíduos** (as *elites*) da geração atual, **copiando-os diretamente para a próxima geração sem alterações**.
O uso do elitismo ajuda a:
* **Manter o que já foi conquistado** pela população.
* **Acelerar a evolução**.
* **Mitigar o risco** de que o melhor indivíduo seja perdido devido à manipulação dos operadores genéticos ou ao processo estocástico de reprodução.
---