|
TProcura
Biblioteca em C++ para testes paramétricos de algoritmos, e coleção de algoritmos de procura e otimização
|
| TesteTVector | Aspirador 1 | Aspirador 2 | Puzzle 8 | 8 Damas | Partição | 8 Damas CI | 8 Damas CP | Partição CB |
Execução de exemplo com base no problema da Partição, com codificação binária. Pode acompanhar o teste executando as ações localmente.
No Visual Studio, selecione o projeto TProcuraMelhorativa, e execute-o. No Linux na pasta .../TProcura/Melhorativa/Teste execute make seguido de ./bin/Release/TProcuraMelhorativa
┌─ Teste TProcuraMelhorativa ──┐
│ 1 - 8 Damas (Inteira) │
│ 2 - 8 Damas (Permutacao) │
│ 3 - Partição (Binária) │
└──────────────────────────────┘
Opção: 3
Vamos entrar no problema da Partição, com representação binária, insira: 3.
Partição (Binária) ┌─ ⚙ Parâmetros ────────────────────────────────────────────────────── │ P1(ALGORITMO): Algoritmo Evolutivo | P2(NIVEL_DEBUG): NADA | P3(SEMENTE): 1 │ P4(LIMITE_TEMPO): 10 | P5(LIMITE_ITERACOES): 1000000 | P6(POPULACAO): 20 │ P7(PROB_CRUZAR): 100 | P8(PROB_MUTAR): 50 | P9(SELECAO): Roleta | P10(PRESSAO): 150 │ P13(SOBREVIVENCIA): Idade | P14(PERC_DESCENDENTES): 100 | P16(ELITISMO): 1 │ P17(IMIGRANTES): 1 | P18(DIVERSIDADE): Limpeza | P19(DIST_MINIMA): 0 │ P20(TIPO_CRUZAR): 2-pontos | P21(TIPO_MUTAR): 0 | P22(TIPO_VIZINHO): 1 └────────────────────────────────────────────────────────────────────── ├─ 📦1192 → ◀️711 = ▶️481 ─ ┌─ ☰ Menu ─────────┬────────────────┬─────────────────────┬──────────────┐ │ 1 📄 Instância │ 2 🔍 Explorar │ 3 ⚙ Parâmetros │ 4 ✔ Solução │ │ 5 ⚖ Indicadores │ 6 ► Executar │ 7 🛠️ Configurações │ 8 🧪 Teste │ └───────────────────┴────────────────┴─────────────────────┴──────────────┘ Opção:
Temos inicialmente uma instância de 10 elementos, mas devido ao nível de debug não vemos o estado completo. Insira: 3; 2; 4; ENTER.
Partição (Binária) ┌─ ⚙ Parâmetros ────────────────────────────────────────────────────── │ P1(ALGORITMO): Algoritmo Evolutivo | P2(NIVEL_DEBUG): COMPLETO | P3(SEMENTE): 1 │ P4(LIMITE_TEMPO): 10 | P5(LIMITE_ITERACOES): 1000000 | P6(POPULACAO): 20 │ P7(PROB_CRUZAR): 100 | P8(PROB_MUTAR): 50 | P9(SELECAO): Roleta | P10(PRESSAO): 150 │ P13(SOBREVIVENCIA): Idade | P14(PERC_DESCENDENTES): 100 | P16(ELITISMO): 1 │ P17(IMIGRANTES): 1 | P18(DIVERSIDADE): Limpeza | P19(DIST_MINIMA): 0 │ P20(TIPO_CRUZAR): 2-pontos | P21(TIPO_MUTAR): 0 | P22(TIPO_VIZINHO): 1 └────────────────────────────────────────────────────────────────────── ┌─ 📦1192 → ◀️711 = ▶️481 ────────────────────────────────────────────── ├─ ◀️ ─ 106 111 114 124 124 132 ├─ ▶️ ─ 107 109 124 141 └────────────────────────────────────────────────────────────────────── ┌─ ☰ Menu ─────────┬────────────────┬─────────────────────┬──────────────┐ │ 1 📄 Instância │ 2 🔍 Explorar │ 3 ⚙ Parâmetros │ 4 ✔ Solução │ │ 5 ⚖ Indicadores │ 6 ► Executar │ 7 🛠️ Configurações │ 8 🧪 Teste │ └───────────────────┴────────────────┴─────────────────────┴──────────────┘ Opção:
Agora podemos ver os números todos, já num dos lados (esquerda ou direita).
Vamos deixar esta instância. Significa que temos de decidir para cada um dos 10 elementos, em que lado fica, esquerda ou direita, de modo a que o somatório seja igual.
Vamos resolver a instância manualmente. Insira: 2
Opção: 2 ├─┬─ 📆 0 ⏱ ──── 💰 g432-662 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1111110001 💰 g:432 │ │ 🧍 2 0000001001 💰 g:662 │ │ 🧍 3 1100011111 💰 g:524 │ │ 🧍 4 0001100010 💰 g:478 │ ├───── 📏 ───── │ │ 🧍 1 2 3 4 │ │ ────┼────┼────┼────┼────┼ │ │ 1 │ │ 7│ 6│ 6│ │ │ 2 │ 7│ │ 5│ 5│ │ │ 3 │ 6│ 5│ │ 8│ │ │ 4 │ 6│ 5│ 8│ │ │ │ ────┴────┴────┴────┴────┴ │ └─■ ⚡ Operação (1 🦠 Mutar, 2 🧬 Cruzar, 3 🧍🧍Vizinhos):
Como a codificação é binária, temos uma sequência de bits, 0/1, tantos quantos os números existentes, neste caso 10.
O valor do custo é a diferença obtida após a divisão dos núemros. Pretende-se uma instância de custo 0, ou seja, ambos os lados com o mesmo somatório.
Vamos testar a mutação. Insira: 1; 1.
│ └─■ ⚡ Operação (1 🦠 Mutar, 2 🧬 Cruzar, 3 🧍🧍Vizinhos): 1 │ ┌───── 🦠 ───── │ │ 🧍 [1-4]: 1 │ │ 🧍 1111110001 mutar vizinho #bits 1 (9) │ │ 🦠 1111110000 │ 🏆 ⏱ 💰 g:150 ─┴─────────────────── │ │ ┌─ 📦1192 → ◀️671 = ▶️521 ────────────────────────────────────────────── │ │ ├─ ◀️ ─ 106 107 109 111 114 124 │ │ ├─ ▶️ ─ 124 124 132 141 │ │ └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ └────────────── ├─┬─ 📆 1 ⏱ ──── 💰 g150-662 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1111110000 💰 g:150 │ │ 🧍 2 0000001001 💰 g:662 │ │ 🧍 3 1100011111 💰 g:524 │ │ 🧍 4 0001100010 💰 g:478 │ ├───── 📏 ───── │ │ 🧍 1 2 3 4 │ │ ────┼────┼────┼────┼────┼ │ │ 1 │ │ 8│ 7│ 5│ │ │ 2 │ 8│ │ 5│ 5│ │ │ 3 │ 7│ 5│ │ 8│ │ │ 4 │ 5│ 5│ 8│ │ │ │ ────┴────┴────┴────┴────┴ │ └─■ ⚡ Operação (1 🦠 Mutar, 2 🧬 Cruzar, 3 🧍🧍Vizinhos):
Foi mutado o bit na posição 9. O custo melhorou, sendo agora o melhor dos custos, mesmo assim 150, ainda distante de 0.
Vamos testar o cruzamento nos dois melhores, elementos 1 e 4. Insira: 2; 1; 4; 2.
│ └─■ ⚡ Operação (1 🦠 Mutar, 2 🧬 Cruzar, 3 🧍🧍Vizinhos): 2 │ ┌───── 🧬 ───── │ │ 🧍 Pai [1-4]: 1 │ │ 🧍 Mãe [1-4]: 4 │ │ 🧍 Filho [1-4]: 2 │ │ │ │ 🧍 Pai 1111110000 │ │ 🧍 Mãe 0001100010 cruzamento 1-ponto(s): 8 │ │ 🧬 Filho 1111110010 │ │ ┌─ 📦1192 → ◀️803 = ▶️389 ────────────────────────────────────────────── │ │ ├─ ◀️ ─ 106 107 109 111 114 124 132 │ │ ├─ ▶️ ─ 124 124 141 │ │ └────────────────────────────────────────────────────────────────────── │ └────────────── ├─┬─ 📆 2 ⏱ ──── 💰 g150-524 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1111110000 💰 g:150 │ │ 🧍 2 1111110010 💰 g:414 │ │ 🧍 3 1100011111 💰 g:524 │ │ 🧍 4 0001100010 💰 g:478 │ ├───── 📏 ───── │ │ 🧍 1 2 3 4 │ │ ────┼────┼────┼────┼────┼ │ │ 1 │ │ 1│ 7│ 5│ │ │ 2 │ 1│ │ 6│ 4│ │ │ 3 │ 7│ 6│ │ 8│ │ │ 4 │ 5│ 4│ 8│ │ │ │ ────┴────┴────┴────┴────┴ │ └─■ ⚡ Operação (1 🦠 Mutar, 2 🧬 Cruzar, 3 🧍🧍Vizinhos):
Foi aplicado o cruzamento a 1 ponto, tendo o ponto sido na posição 8. Assim o filho ficou com 8 bits do pai, e os dois últimos bits da mãe. Ficou com um custo de 414, entre o pai e a mãe.
Vamos agora testar a vizinhança, usando o melhor estado. Insira: 3; 1.
│ └─■ ⚡ Operação (1 🦠 Mutar, 2 🧬 Cruzar, 3 🧍🧍Vizinhos): 3 │ ┌───── 🧍🧍 ───── │ │ 🧍 [1-4]: 1 │ │ 🧍 1111110000 vizinhança 1 bits │ ├───── Vizinhos ───── │ │ 🧍 1 0111110000 💰 g:62 │ │ 🧍 2 1011110000 💰 g:64 │ │ 🧍 3 1101110000 💰 g:68 │ │ 🧍 4 1110110000 💰 g:72 │ │ 🧍 5 1111010000 💰 g:78 │ │ 🧍 6 1111100000 💰 g:98 │ │ 🧍 7 1111111000 💰 g:398 │ │ 🧍 8 1111110100 💰 g:398 │ │ 🧍 9 1111110010 💰 g:414 │ │ 🧍 10 1111110001 💰 g:432 │ │ 🧍 [1-10]:
Temos vários vizinhos com custo inferior, em que estes vizinhos é trocado um só bit. Vamos escolher o vizinho 1 e repetir. Insira: 1; 3; 1.
│ │ 🧍 [1-10]: 1 │ │ │ 🏆 ⏱ 💰 g:62 ─┴─────────────────── │ │ ┌─ 📦1192 → ◀️565 = ▶️627 ────────────────────────────────────────────── │ │ ├─ ◀️ ─ 107 109 111 114 124 │ │ ├─ ▶️ ─ 106 124 124 132 141 │ │ └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ └────────────── ├─┬─ 📆 3 ⏱ ──── 💰 g62-524 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 0111110000 💰 g:62 │ │ 🧍 2 1111110010 💰 g:414 │ │ 🧍 3 1100011111 💰 g:524 │ │ 🧍 4 0001100010 💰 g:478 │ ├───── 📏 ───── │ │ 🧍 1 2 3 4 │ │ ────┼────┼────┼────┼────┼ │ │ 1 │ │ 2│ 8│ 4│ │ │ 2 │ 2│ │ 6│ 4│ │ │ 3 │ 8│ 6│ │ 8│ │ │ 4 │ 4│ 4│ 8│ │ │ │ ────┴────┴────┴────┴────┴ │ └─■ ⚡ Operação (1 🦠 Mutar, 2 🧬 Cruzar, 3 🧍🧍Vizinhos): 3 │ ┌───── 🧍🧍 ───── │ │ 🧍 [1-4]: 1 │ │ 🧍 0111110000 vizinhança 1 bits │ ├───── Vizinhos ───── │ │ 🧍 1 1111110000 💰 g:150 │ │ 🧍 2 0011110000 💰 g:276 │ │ 🧍 3 0101110000 💰 g:280 │ │ 🧍 4 0110110000 💰 g:284 │ │ 🧍 5 0111010000 💰 g:290 │ │ 🧍 6 0111100000 💰 g:310 │ │ 🧍 7 0111111000 💰 g:186 │ │ 🧍 8 0111110100 💰 g:186 │ │ 🧍 9 0111110010 💰 g:202 │ │ 🧍 10 0111110001 💰 g:220 │ │ 🧍 [1-10]:
Neste caso todos os vizinhos têm um custo superior ao próprio, sendo o vizinho de melhor custo o pai deste, portanto voltariamos ao mesmo estado se o escolhessemos. Estamos no óptimo local.
Vamos escolher um vizinho e terminar. Insira: 1; 0.
│ │ 🧍 [1-10]: 1 │ │ │ │ ┌─ 📦1192 → ◀️671 = ▶️521 ────────────────────────────────────────────── │ │ ├─ ◀️ ─ 106 107 109 111 114 124 │ │ ├─ ▶️ ─ 124 124 132 141 │ │ └────────────────────────────────────────────────────────────────────── │ └────────────── ├─┬─ 📆 4 ⏱ ──── 💰 g150-524 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1111110000 💰 g:150 │ │ 🧍 2 1111110010 💰 g:414 │ │ 🧍 3 1100011111 💰 g:524 │ │ 🧍 4 0001100010 💰 g:478 │ ├───── 📏 ───── │ │ 🧍 1 2 3 4 │ │ ────┼────┼────┼────┼────┼ │ │ 1 │ │ 1│ 7│ 5│ │ │ 2 │ 1│ │ 6│ 4│ │ │ 3 │ 7│ 6│ │ 8│ │ │ 4 │ 5│ 4│ 8│ │ │ │ ────┴────┴────┴────┴────┴ │ └─■ ⚡ Operação (1 🦠 Mutar, 2 🧬 Cruzar, 3 🧍🧍Vizinhos): 0 └──────────────── Partição (Binária) ┌─ ⚙ Parâmetros ────────────────────────────────────────────────────── │ P1(ALGORITMO): Algoritmo Evolutivo | P2(NIVEL_DEBUG): COMPLETO | P3(SEMENTE): 1 │ P4(LIMITE_TEMPO): 10 | P5(LIMITE_ITERACOES): 1000000 | P6(POPULACAO): 20 │ P7(PROB_CRUZAR): 100 | P8(PROB_MUTAR): 50 | P9(SELECAO): Roleta | P10(PRESSAO): 150 │ P13(SOBREVIVENCIA): Idade | P14(PERC_DESCENDENTES): 100 | P16(ELITISMO): 1 │ P17(IMIGRANTES): 1 | P18(DIVERSIDADE): Limpeza | P19(DIST_MINIMA): 0 │ P20(TIPO_CRUZAR): 2-pontos | P21(TIPO_MUTAR): 0 | P22(TIPO_VIZINHO): 1 └────────────────────────────────────────────────────────────────────── ┌─ 📦1192 → ◀️565 = ▶️627 ────────────────────────────────────────────── ├─ ◀️ ─ 107 109 111 114 124 ├─ ▶️ ─ 106 124 124 132 141 └────────────────────────────────────────────────────────────────────── ... Opção:
Vamos ver os algoritmos evolutivos nos diferentes níveis de debug, para esta instância de tamanho 10.
Insira: 1; 10; 3; 2; 1; ENTER;6.
Opção: 6 ═╤═ ► Execução iniciada ═══. │ 🏆 ⏱ 💰 g:204 ─┴─────────────────── ├─ 📦1192 → ◀️494 = ▶️698 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:14 ─┴─────────────────── ├─ 📦1192 → ◀️603 = ▶️589 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:8 ─┴─────────────────── ├─ 📦1192 → ◀️592 = ▶️600 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:6 ─┴─────────────────── ├─ 📦1192 → ◀️593 = ▶️599 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:2 ─┴─────────────────── ├─ 📦1192 → ◀️595 = ▶️597 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:0 ─┴─────────────────── ├─ 📦1192 → ◀️596 = ▶️596 ─ ─┬─────────────────── ├─ Parâmetros ─ P1=1 P2=1 P3=1 P4=10 P5=1000000 P6=20 P7=100 P8=50 P9=1 P10=150 P13=1 ├─ ⚙ ─ P14=100 P16=1 P17=1 P18=3 P19=0 P20=1 P21=0 P22=1 ═╧═ 🏁 Execução terminada ⏱ ═══ Partição (Binária) ┌─ ⚙ Parâmetros ────────────────────────────────────────────────────── │ P1(ALGORITMO): Algoritmo Evolutivo | P2(NIVEL_DEBUG): ATIVIDADE | P3(SEMENTE): 1 │ P4(LIMITE_TEMPO): 10 | P5(LIMITE_ITERACOES): 1000000 | P6(POPULACAO): 20 │ P7(PROB_CRUZAR): 100 | P8(PROB_MUTAR): 50 | P9(SELECAO): Roleta | P10(PRESSAO): 150 │ P13(SOBREVIVENCIA): Idade | P14(PERC_DESCENDENTES): 100 | P16(ELITISMO): 1 │ P17(IMIGRANTES): 1 | P18(DIVERSIDADE): Limpeza | P19(DIST_MINIMA): 0 │ P20(TIPO_CRUZAR): 2-pontos | P21(TIPO_MUTAR): 0 | P22(TIPO_VIZINHO): 1 └────────────────────────────────────────────────────────────────────── ├─ 📦1192 → ◀️596 = ▶️596 ─ ┌─ ⚖ Indicadores ───────────────────────────────────────────────────── │ I1(Resultado): 0 | I2(Tempo(ms)): 0 | I3(Iterações): 232 | I4(Épocas): 10 | │ I5(Gerações): 240 └────────────────────────────────────────────────────────────────────── ... Opção:
Podemos ver que há 10 épocas, pelo que é viável maior detalhe. Neste problema são encontradas muitas soluções não válidas, mas cada uma mais perto de uma solução válida. Vamos avançar para mais detalhe. Insira: 1; 10; 3; 2; 2; ENTER;6.
Opção: 6 ═╤═ ► Execução iniciada ═══ │ 🏆 ⏱ 💰 g:204 ─┴─────────────────── ├─ 📦1192 → ◀️494 = ▶️698 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:14 ─┴─────────────────── ├─ 📦1192 → ◀️603 = ▶️589 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:8 ─┴─────────────────── ├─ 📦1192 → ◀️592 = ▶️600 ─ ─┬─────────────────── ├─── 📆 0 ⏱ ──── 💰 g8-1192 ├─── 📆 1 ⏱ ──── 💰 g8-944 │ 🏆 ⏱ 💰 g:6 ─┴─────────────────── ├─ 📦1192 → ◀️593 = ▶️599 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:2 ─┴─────────────────── ├─ 📦1192 → ◀️595 = ▶️597 ─ ─┬─────────────────── ├─── 📆 2 ⏱ ──── 💰 g2-710 ├─── 📆 3 ⏱ ──── 💰 g2-910 ├─── 📆 4 ⏱ ──── 💰 g2-732 ├─── 📆 5 ⏱ ──── 💰 g2-532 ├─── 📆 6 ⏱ ──── 💰 g2-696 ├─── 📆 7 ⏱ ──── 💰 g2-514 ├─── 📆 8 ⏱ ──── 💰 g2-680 ├─── 📆 9 ⏱ ──── 💰 g2-524 │ 🏆 ⏱ 💰 g:0 ─┴─────────────────── ├─ 📦1192 → ◀️596 = ▶️596 ─ ─┬─────────────────── ├─ Parâmetros ─ P1=1 P2=2 P3=1 P4=10 P5=1000000 P6=20 P7=100 P8=50 P9=1 P10=150 P13=1 ├─ ⚙ ─ P14=100 P16=1 P17=1 P18=3 P19=0 P20=1 P21=0 P22=1 ═╧═ 🏁 Execução terminada ⏱ ═══ Partição (Binária) ┌─ ⚙ Parâmetros ────────────────────────────────────────────────────── │ P1(ALGORITMO): Algoritmo Evolutivo | P2(NIVEL_DEBUG): PASSOS | P3(SEMENTE): 1 │ P4(LIMITE_TEMPO): 10 | P5(LIMITE_ITERACOES): 1000000 | P6(POPULACAO): 20 │ P7(PROB_CRUZAR): 100 | P8(PROB_MUTAR): 50 | P9(SELECAO): Roleta | P10(PRESSAO): 150 │ P13(SOBREVIVENCIA): Idade | P14(PERC_DESCENDENTES): 100 | P16(ELITISMO): 1 │ P17(IMIGRANTES): 1 | P18(DIVERSIDADE): Limpeza | P19(DIST_MINIMA): 0 │ P20(TIPO_CRUZAR): 2-pontos | P21(TIPO_MUTAR): 0 | P22(TIPO_VIZINHO): 1 └────────────────────────────────────────────────────────────────────── ├─ 📦1192 → ◀️596 = ▶️596 ─ ┌─ ⚖ Indicadores ───────────────────────────────────────────────────── │ I1(Resultado): 0 | I2(Tempo(ms)): 0 | I3(Iterações): 232 | I4(Épocas): 10 | │ I5(Gerações): 240 └────────────────────────────────────────────────────────────────────── ... Opção:
Nesta vista podemos observar que a maior parte das soluções intermédias são obtidas logo na população inicial. Foi obtida uma de custo 2 na época 1, mas neste caso não há soluções de custo 1 atendendo a que o somatório de números é sempre par por construção, pelo que esta solução é a mais perto de uma solução válida. Foi necessário várias épocas, com custos a variar de 2 a largas centenas. Avançamos para o detalhe seguinte. Insira: 1; 10; 3; 2; 3; ENTER;6.
Opção: 6 ═╤═ ► Execução iniciada ═══ │ 🏆 ⏱ 💰 g:204 ─┴─────────────────── ├─ 📦1192 → ◀️494 = ▶️698 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:14 ─┴─────────────────── ├─ 📦1192 → ◀️603 = ▶️589 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:8 ─┴─────────────────── ├─ 📦1192 → ◀️592 = ▶️600 ─ ─┬─────────────────── ├─┬─ 📆 0 ⏱ ──── 💰 g8-1192 [📏 0-9 (μ=5, melhor/pior 5)] │ │🧍 1 2 3 4 5 6 7 8 9 10 │ │────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ 0│ 432│ 662│ 524│ 478│ 204│ 14│ 434│1192│ 722│ 460│ │ │ 10│ 62│ 458│ 222│ 466│ 726│ 8│ 26│ 234│ 14│ 498│ │ └──────────────────────────────────── ├─┬─ 📆 1 ⏱ ──── 💰 g8-944 [📏 1-9 (μ=4, melhor/pior 6)] │ │🧍 1 2 3 4 5 6 7 8 9 10 │ │────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ 0│ 662│ 32│ 62│ 250│ 452│ 196│ 434│ 26│ 266│ 700│ │ │ 10│ 742│ 698│ 310│ 14│ 8│ 276│ 236│ 236│ 730│ 944│ │ └──────────────────────────────────── │ 🏆 ⏱ 💰 g:6 ─┴─────────────────── ├─ 📦1192 → ◀️593 = ▶️599 ─ ─┬─────────────────── │ 🏆 ⏱ 💰 g:2 ─┴─────────────────── ├─ 📦1192 → ◀️595 = ▶️597 ─ ─┬─────────────────── ├─┬─ 📆 2 ⏱ ──── 💰 g2-710 [📏 1-9 (μ=4, melhor/pior 5)] │ │🧍 1 2 3 4 5 6 7 8 9 10 │ │────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ 0│ 236│ 6│ 256│ 236│ 150│ 2│ 246│ 36│ 462│ 14│ │ │ 10│ 234│ 448│ 270│ 398│ 32│ 236│ 62│ 44│ 710│ 262│ │ └──────────────────────────────────── ├─┬─ 📆 3 ⏱ ──── 💰 g2-910 [📏 1-9 (μ=4, melhor/pior 4)] │ │🧍 1 2 3 4 5 6 7 8 9 10 │ │────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ 0│ 250│ 236│ 2│ 284│ 18│ 262│ 498│ 680│ 434│ 292│ │ │ 10│ 220│ 62│ 910│ 662│ 518│ 230│ 36│ 230│ 448│ 170│ │ └──────────────────────────────────── ├─┬─ 📆 4 ⏱ ──── 💰 g2-732 [📏 1-9 (μ=5, melhor/pior 3)] │ │🧍 1 2 3 4 5 6 7 8 9 10 │ │────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ 0│ 212│ 2│ 18│ 414│ 518│ 250│ 28│ 484│ 732│ 448│ │ │ 10│ 296│ 696│ 258│ 468│ 530│ 18│ 32│ 262│ 42│ 276│ │ └──────────────────────────────────── ├─┬─ 📆 5 ⏱ ──── 💰 g2-532 [📏 1-8 (μ=4, melhor/pior 2)] │ │🧍 1 2 3 4 5 6 7 8 9 10 │ │────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ 0│ 276│ 204│ 2│ 18│ 484│ 212│ 230│ 6│ 448│ 514│ │ │ 10│ 532│ 470│ 222│ 176│ 450│ 504│ 8│ 502│ 10│ 474│ │ └──────────────────────────────────── ├─┬─ 📆 6 ⏱ ──── 💰 g2-696 [📏 1-10 (μ=4, melhor/pior 3)] │ │🧍 1 2 3 4 5 6 7 8 9 10 │ │────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ 0│ 292│ 290│ 200│ 276│ 210│ 204│ 36│ 246│ 246│ 220│ │ │ 10│ 18│ 2│ 226│ 222│ 38│ 232│ 504│ 292│ 696│ 36│ │ └──────────────────────────────────── ├─┬─ 📆 7 ⏱ ──── 💰 g2-514 [📏 1-9 (μ=4, melhor/pior 4)] │ │🧍 1 2 3 4 5 6 7 8 9 10 │ │────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ 0│ 10│ 218│ 2│ 254│ 464│ 186│ 230│ 452│ 246│ 212│ │ │ 10│ 8│ 210│ 48│ 250│ 220│ 202│ 2│ 414│ 514│ 34│ │ └──────────────────────────────────── ├─┬─ 📆 8 ⏱ ──── 💰 g2-680 [📏 1-8 (μ=4, melhor/pior 7)] │ │🧍 1 2 3 4 5 6 7 8 9 10 │ │────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ 0│ 548│ 196│ 482│ 502│ 680│ 220│ 468│ 186│ 186│ 260│ │ │ 10│ 2│ 250│ 10│ 264│ 284│ 270│ 256│ 486│ 494│ 250│ │ └──────────────────────────────────── ├─┬─ 📆 9 ⏱ ──── 💰 g2-524 [📏 1-9 (μ=4, melhor/pior 4)] │ │🧍 1 2 3 4 5 6 7 8 9 10 │ │────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ 0│ 444│ 232│ 28│ 10│ 2│ 28│ 250│ 246│ 434│ 186│ │ │ 10│ 236│ 486│ 448│ 34│ 524│ 30│ 220│ 268│ 468│ 478│ │ └──────────────────────────────────── │ 🏆 ⏱ 💰 g:0 ─┴─────────────────── ├─ 📦1192 → ◀️596 = ▶️596 ─ ─┬─────────────────── ├─ Parâmetros ─ P1=1 P2=3 P3=1 P4=10 P5=1000000 P6=20 P7=100 P8=50 P9=1 P10=150 P13=1 ├─ ⚙ ─ P14=100 P16=1 P17=1 P18=3 P19=0 P20=1 P21=0 P22=1 ═╧═ 🏁 Execução terminada ⏱ ═══ Partição (Binária) ┌─ ⚙ Parâmetros ────────────────────────────────────────────────────── │ P1(ALGORITMO): Algoritmo Evolutivo | P2(NIVEL_DEBUG): DETALHE | P3(SEMENTE): 1 │ P4(LIMITE_TEMPO): 10 | P5(LIMITE_ITERACOES): 1000000 | P6(POPULACAO): 20 │ P7(PROB_CRUZAR): 100 | P8(PROB_MUTAR): 50 | P9(SELECAO): Roleta | P10(PRESSAO): 150 │ P13(SOBREVIVENCIA): Idade | P14(PERC_DESCENDENTES): 100 | P16(ELITISMO): 1 │ P17(IMIGRANTES): 1 | P18(DIVERSIDADE): Limpeza | P19(DIST_MINIMA): 0 │ P20(TIPO_CRUZAR): 2-pontos | P21(TIPO_MUTAR): 0 | P22(TIPO_VIZINHO): 1 └────────────────────────────────────────────────────────────────────── ├─ 📦1192 → ◀️596 = ▶️596 ─ ┌─ ⚖ Indicadores ───────────────────────────────────────────────────── │ I1(Resultado): 0 | I2(Tempo(ms)): 0 | I3(Iterações): 232 | I4(Épocas): 10 | │ I5(Gerações): 240 └────────────────────────────────────────────────────────────────────── ... Opção:
Observamos que os custos têm uma distribuição bastante alargada, desde 2 unidades até quase um milhar. As distâncias entre elementos vão de 1 a 9. Esta diversidade é importante para evitar a convergência prematura. Vamos avançar para o detalhe máximo. Insira: 1; 10; 3; 2; 4; ENTER;6.
Opção: 6 ═╤═ ► Execução iniciada ═══ │ 🏆 ⏱ 💰 g:204 ─┴─────────────────── ┌─ 📦1192 → ◀️494 = ▶️698 ────────────────────────────────────────────── ├─ ◀️ ─ 114 124 124 132 ├─ ▶️ ─ 106 107 109 111 124 141 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ 🏆 ⏱ 💰 g:14 ─┴─────────────────── ┌─ 📦1192 → ◀️603 = ▶️589 ────────────────────────────────────────────── ├─ ◀️ ─ 109 114 124 124 132 ├─ ▶️ ─ 106 107 111 124 141 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ 🏆 ⏱ 💰 g:8 ─┴─────────────────── ┌─ 📦1192 → ◀️592 = ▶️600 ────────────────────────────────────────────── ├─ ◀️ ─ 106 107 114 124 141 ├─ ▶️ ─ 109 111 124 124 132 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── ├─┬─ 📆 0 ⏱ ──── 💰 g8-1192 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1111110001 💰 g:432 │ │ 🧍 2 0000001001 💰 g:662 │ │ 🧍 3 1100011111 💰 g:524 │ │ 🧍 4 0001100010 💰 g:478 │ │ 🧍 5 0000101110 💰 g:204 │ │ 🧍 6 0010101110 💰 g:14 │ │ 🧍 7 1111011010 💰 g:434 │ │ 🧍 8 0000000000 💰 g:1192 │ │ 🧍 9 1110101111 💰 g:722 │ │ 🧍 10 0001100001 💰 g:460 │ │ 🧍 11 0111100100 💰 g:62 │ │ 🧍 12 1110101101 💰 g:458 │ │ 🧍 13 1000100101 💰 g:222 │ │ 🧍 14 0100001010 💰 g:466 │ │ 🧍 15 0010010000 💰 g:726 │ │ 🧍 16 1100100101 💰 g:8 │ │ 🧍 17 0011010101 💰 g:26 │ │ 🧍 18 0010101010 💰 g:234 │ │ 🧍 19 0010101110 💰 g:14 │ │ 🧍 20 1101010111 💰 g:498 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 7│ │ │ 3 │4 │ 8│ │ │ 5 │6 │ 1│ │ │ 7 │8 │ 7│ │ │ 9 │10 │ 7│ │ │ 11 │12 │ 4│ │ │ 13 │14 │ 7│ │ │ 15 │16 │ 7│ │ │ 17 │18 │ 7│ │ │ 19 │20 │ 8│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Roleta, pressão 150 ───── │ │ │ 100% 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 54│ 33│ 36│ 41│ 62│ 70│ 51│ 25│ 30│ 46│ │ │ │ 10│ 64│ 49│ 59│ 43│ 28│ 75│ 67│ 57│ 72│ 38│ │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 0│ 1│ │ │ │ 10│ 2│ 0│ 2│ 1│ 0│ 2│ 1│ 1│ 2│ 0│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 2⇄ 14│ 3⇄ 13│ 18⇄ 13│ 11⇄ 6│ 8⇄ 10│ │ │ │ 10│ 4⇄ 7│ 16⇄ 5│ 17⇄ 16│ 19⇄ 11│ 19⇄ 1│ │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 662⇄ 466│ 524⇄ 222│ 234⇄ 222│ 62⇄ 14│1192⇄ 460│ │ │ │ 10│ 478⇄ 434│ 8⇄ 204│ 26⇄ 8│ 14⇄ 62│ 14⇄ 432│ │ │ ├───── Filhos (💰 ) 🧬 10 🦠 13 ───── 📈 4 🟰 7 📉 9 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 730⇄ 236│ 236⇄ 276│ 216⇄ 14│ 228⇄ 310│ 698⇄ 742│ │ │ │ 10│ 700⇄ 266│ 26⇄ 434│ 196⇄ 452│ 250⇄ 62│ 32⇄ 662│ │ │ └──────────────────────────────────── │ ├─┬─── FASE ⚔️ Sobrevivência ───── │ │ ├───── ⏳ Idade ───── │ │ ├───── 🚶🌍 Imigrantes 14✖ →🆕 ───── │ │ ├───── 👑 Elite 16→15 ───── │ │ └──────────────────────────────────── │ └───── FASE 🌈 Diversidade - limpeza ───── ├─┬─ 📆 1 ⏱ ──── 💰 g8-944 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1111101110 💰 g:662 │ │ 🧍 2 0010110101 💰 g:32 │ │ 🧍 3 0111100100 💰 g:62 │ │ 🧍 4 0010101100 💰 g:250 │ │ 🧍 5 1111010101 💰 g:452 │ │ 🧍 6 0010010101 💰 g:196 │ │ 🧍 7 0000100101 💰 g:434 │ │ 🧍 8 1100100110 💰 g:26 │ │ 🧍 9 1001100010 💰 g:266 │ │ 🧍 10 0000100010 💰 g:700 │ │ 🧍 11 0001100000 💰 g:742 │ │ 🧍 12 1000000001 💰 g:698 │ │ 🧍 13 0111100000 💰 g:310 │ │ 🧍 14 0010101110 💰 g:14 │ │ 🧍 15 1100100101 💰 g:8 │ │ 🧍 16 1100010111 💰 g:276 │ │ 🧍 17 1100010001 💰 g:236 │ │ 🧍 18 1100001001 💰 g:236 │ │ 🧍 19 0100001000 💰 g:730 │ │ 🧍 20 1111111011 💰 g:944 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 7│ │ │ 3 │4 │ 3│ │ │ 5 │6 │ 3│ │ │ 7 │8 │ 4│ │ │ 9 │10 │ 2│ │ │ 11 │12 │ 4│ │ │ 13 │14 │ 5│ │ │ 15 │16 │ 3│ │ │ 17 │18 │ 2│ │ │ 19 │20 │ 7│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Roleta, pressão 150 ───── │ │ │ 100% 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 38│ 67│ 64│ 54│ 41│ 62│ 43│ 70│ 51│ 33│ │ │ │ 10│ 28│ 36│ 46│ 72│ 75│ 49│ 59│ 57│ 30│ 25│ │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 2│ 1│ 0│ │ │ │ 10│ 1│ 1│ 0│ 2│ 1│ 1│ 2│ 1│ 0│ 1│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 20⇄ 12│ 16⇄ 17│ 4⇄ 5│ 17⇄ 8│ 14⇄ 11│ │ │ │ 10│ 6⇄ 9│ 2⇄ 14│ 3⇄ 7│ 8⇄ 15│ 18⇄ 1│ │ 🏆 ⏱ 💰 g:6 ─┴─────────────────── ┌─ 📦1192 → ◀️593 = ▶️599 ────────────────────────────────────────────── ├─ ◀️ ─ 106 107 124 124 132 ├─ ▶️ ─ 109 111 114 124 141 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ 🏆 ⏱ 💰 g:2 ─┴─────────────────── ┌─ 📦1192 → ◀️595 = ▶️597 ────────────────────────────────────────────── ├─ ◀️ ─ 107 109 114 124 141 ├─ ▶️ ─ 106 111 124 124 132 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 944⇄ 698│ 276⇄ 236│ 250⇄ 452│ 236⇄ 26│ 14⇄ 742│ │ │ │ 10│ 196⇄ 266│ 32⇄ 14│ 62⇄ 434│ 26⇄ 8│ 236⇄ 662│ │ │ ├───── Filhos (💰 ) 🧬 10 🦠 10 ───── 📈 6 🟰 7 📉 7 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 44⇄ 62│ 448⇄ 236│ 32⇄ 398│ 270⇄ 448│ 234⇄ 14│ │ │ │ 10│ 462⇄ 36│ 14⇄ 246│ 2⇄ 150│ 236⇄ 256│ 6⇄ 236│ │ │ └──────────────────────────────────── │ ├─┬─── FASE ⚔️ Sobrevivência ───── │ │ ├───── ⏳ Idade ───── │ │ ├───── 🚶🌍 Imigrantes 8✖ →🆕 ───── │ │ └──────────────────────────────────── │ └───── FASE 🌈 Diversidade - limpeza ───── 🧹 17 ├─┬─ 📆 2 ⏱ ──── 💰 g2-710 ├─┬─ 📆 3 ⏱ 1ms ──── 💰 g2-910 ├─┬─ 📆 4 ⏱ 1ms ──── 💰 g2-732 ├─┬─ 📆 5 ⏱ 1ms ──── 💰 g2-532 ├─┬─ 📆 6 ⏱ 1ms ──── 💰 g2-696 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1011010000 💰 g:292 │ │ 🧍 2 0011010111 💰 g:290 │ │ 🧍 3 0100001101 💰 g:200 │ │ 🧍 4 0100111101 💰 g:276 │ │ 🧍 5 0001001110 💰 g:210 │ │ 🧍 6 0000111010 💰 g:204 │ │ 🧍 7 0001101101 💰 g:36 │ │ 🧍 8 0001101100 💰 g:246 │ │ 🧍 9 1001001010 💰 g:246 │ │ 🧍 10 0111100101 💰 g:220 │ │ 🧍 11 0110011001 💰 g:18 │ │ 🧍 12 0110100101 💰 g:2 │ │ 🧍 13 0101000101 💰 g:226 │ │ 🧍 14 1000100101 💰 g:222 │ │ 🧍 15 1110100001 💰 g:38 │ │ 🧍 16 0101110110 💰 g:232 │ │ 🧍 17 1100110111 💰 g:504 │ │ 🧍 18 0100101111 💰 g:292 │ │ 🧍 19 1111100111 💰 g:696 │ │ 🧍 20 0001111001 💰 g:36 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 4│ │ │ 3 │4 │ 2│ │ │ 5 │6 │ 4│ │ │ 7 │8 │ 1│ │ │ 9 │10 │ 8│ │ │ 11 │12 │ 4│ │ │ 13 │14 │ 4│ │ │ 15 │16 │ 7│ │ │ 17 │18 │ 3│ │ │ 19 │20 │ 7│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Roleta, pressão 150 ───── │ │ │ 100% 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 30│ 36│ 62│ 38│ 57│ 59│ 67│ 41│ 43│ 54│ │ │ │ 10│ 72│ 75│ 49│ 51│ 64│ 46│ 28│ 33│ 25│ 70│ │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ │ │ │ 10│ 1│ 2│ 1│ 1│ 1│ 1│ 1│ 0│ 1│ 1│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 16⇄ 19│ 11⇄ 14│ 13⇄ 12│ 12⇄ 17│ 10⇄ 5│ │ │ │ 10│ 9⇄ 8│ 7⇄ 6│ 15⇄ 2│ 4⇄ 20│ 3⇄ 1│ │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 232⇄ 696│ 18⇄ 222│ 226⇄ 2│ 2⇄ 504│ 220⇄ 210│ │ │ │ 10│ 246⇄ 246│ 36⇄ 204│ 38⇄ 290│ 276⇄ 36│ 200⇄ 292│ │ │ ├───── Filhos (💰 ) 🧬 10 🦠 11 ───── 📈 4 🟰 11 📉 5 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 514⇄ 414│ 2⇄ 202│ 220⇄ 250│ 48⇄ 210│ 8⇄ 212│ │ │ │ 10│ 246⇄ 452│ 230⇄ 186│ 474⇄ 464│ 254⇄ 2│ 218⇄ 10│ │ │ └──────────────────────────────────── │ ├─┬─── FASE ⚔️ Sobrevivência ───── │ │ ├───── ⏳ Idade ───── │ │ ├───── 🚶🌍 Imigrantes 6✖ →🆕 ───── │ │ └──────────────────────────────────── │ └───── FASE 🌈 Diversidade - limpeza ───── ├─┬─ 📆 7 ⏱ 1ms ──── 💰 g2-514 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1011000101 💰 g:10 │ │ 🧍 2 0100001110 💰 g:218 │ │ 🧍 3 0001111100 💰 g:2 │ │ 🧍 4 0100111000 💰 g:254 │ │ 🧍 5 0010100001 💰 g:464 │ │ 🧍 6 0000101101 💰 g:186 │ │ 🧍 7 0001101010 💰 g:230 │ │ 🧍 8 0000101010 💰 g:452 │ │ 🧍 9 1001001010 💰 g:246 │ │ 🧍 10 0001100101 💰 g:212 │ │ 🧍 11 0011001110 💰 g:8 │ │ 🧍 12 1110100101 💰 g:210 │ │ 🧍 13 0010100111 💰 g:48 │ │ 🧍 14 0110100001 💰 g:250 │ │ 🧍 15 0100100101 💰 g:220 │ │ 🧍 16 1000011001 💰 g:202 │ │ 🧍 17 0110100101 💰 g:2 │ │ 🧍 18 1111100110 💰 g:414 │ │ 🧍 19 0101110111 💰 g:514 │ │ 🧍 20 1001101100 💰 g:34 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 7│ │ │ 3 │4 │ 3│ │ │ 5 │6 │ 3│ │ │ 7 │8 │ 1│ │ │ 9 │10 │ 6│ │ │ 11 │12 │ 7│ │ │ 13 │14 │ 3│ │ │ 15 │16 │ 6│ │ │ 17 │18 │ 4│ │ │ 19 │20 │ 6│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Roleta, pressão 150 ───── │ │ │ 100% 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 67│ 49│ 72│ 36│ 28│ 59│ 43│ 30│ 41│ 51│ │ │ │ 10│ 70│ 54│ 62│ 38│ 46│ 57│ 75│ 33│ 25│ 64│ │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 1│ 1│ 2│ 0│ 1│ 1│ 1│ 1│ 0│ 1│ │ │ │ 10│ 2│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 3⇄ 1│ 13⇄ 11│ 14⇄ 20│ 15⇄ 19│ 16⇄ 17│ │ │ │ 10│ 8⇄ 18│ 7⇄ 6│ 2⇄ 10│ 11⇄ 5│ 12⇄ 3│ │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 2⇄ 10│ 48⇄ 8│ 250⇄ 34│ 220⇄ 514│ 202⇄ 2│ │ │ │ 10│ 452⇄ 414│ 230⇄ 186│ 218⇄ 212│ 8⇄ 464│ 210⇄ 2│ │ │ ├───── Filhos (💰 ) 🧬 10 🦠 15 ───── 📈 3 🟰 4 📉 13 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 494⇄ 486│ 256⇄ 270│ 284⇄ 264│ 10⇄ 250│ 484⇄ 18│ │ │ │ 10│ 260⇄ 186│ 186⇄ 468│ 220⇄ 680│ 502⇄ 482│ 196⇄ 548│ │ │ └──────────────────────────────────── │ ├─┬─── FASE ⚔️ Sobrevivência ───── │ │ ├───── ⏳ Idade ───── │ │ ├───── 🚶🌍 Imigrantes 11✖ →🆕 ───── │ │ ├───── 👑 Elite 17→11 ───── │ │ └──────────────────────────────────── │ └───── FASE 🌈 Diversidade - limpeza ───── ├─┬─ 📆 8 ⏱ 1ms ──── 💰 g2-680 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 0001111111 💰 g:548 │ │ 🧍 2 1110011100 💰 g:196 │ │ 🧍 3 0010100010 💰 g:482 │ │ 🧍 4 1011001111 💰 g:502 │ │ 🧍 5 0000001010 💰 g:680 │ │ 🧍 6 0100100101 💰 g:220 │ │ 🧍 7 0000101100 💰 g:468 │ │ 🧍 8 0000101101 💰 g:186 │ │ 🧍 9 1111001010 💰 g:186 │ │ 🧍 10 0011100010 💰 g:260 │ │ 🧍 11 0110100101 💰 g:2 │ │ 🧍 12 0101110101 💰 g:250 │ │ 🧍 13 0100110110 💰 g:10 │ │ 🧍 14 1001101011 💰 g:264 │ │ 🧍 15 0110100100 💰 g:284 │ │ 🧍 16 0011100111 💰 g:270 │ │ 🧍 17 0011011110 💰 g:256 │ │ 🧍 18 1011011101 💰 g:486 │ │ 🧍 19 0001100100 💰 g:494 │ │ 🧍 20 0010110100 💰 g:250 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 7│ │ │ 3 │4 │ 6│ │ │ 5 │6 │ 6│ │ │ 7 │8 │ 1│ │ │ 9 │10 │ 4│ │ │ 11 │12 │ 3│ │ │ 13 │14 │ 7│ │ │ 15 │16 │ 4│ │ │ 17 │18 │ 3│ │ │ 19 │20 │ 3│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Roleta, pressão 150 ───── │ │ │ 100% 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 28│ 64│ 38│ 30│ 25│ 62│ 41│ 67│ 70│ 51│ │ │ │ 10│ 75│ 59│ 72│ 49│ 43│ 46│ 54│ 36│ 33│ 57│ │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 0│ 2│ 1│ 0│ 1│ 1│ 1│ 1│ 1│ 1│ │ │ │ 10│ 2│ 1│ 2│ 1│ 0│ 1│ 1│ 1│ 1│ 1│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 9⇄ 11│ 17⇄ 6│ 2⇄ 14│ 2⇄ 7│ 13⇄ 3│ │ │ │ 10│ 11⇄ 8│ 20⇄ 19│ 10⇄ 18│ 16⇄ 13│ 12⇄ 5│ │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 186⇄ 2│ 256⇄ 220│ 196⇄ 264│ 196⇄ 468│ 10⇄ 482│ │ │ │ 10│ 2⇄ 186│ 250⇄ 494│ 260⇄ 486│ 270⇄ 10│ 250⇄ 680│ │ │ ├───── Filhos (💰 ) 🧬 10 🦠 9 ───── 📈 6 🟰 9 📉 5 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 468⇄ 268│ 220⇄ 30│ 524⇄ 34│ 468⇄ 448│ 486⇄ 236│ │ │ │ 10│ 186⇄ 434│ 246⇄ 250│ 28⇄ 2│ 10⇄ 28│ 232⇄ 444│ │ │ └──────────────────────────────────── │ ├─┬─── FASE ⚔️ Sobrevivência ───── │ │ ├───── ⏳ Idade ───── │ │ ├───── 🚶🌍 Imigrantes 14✖ →🆕 ───── │ │ └──────────────────────────────────── │ └───── FASE 🌈 Diversidade - limpeza ───── ├─┬─ 📆 9 ⏱ 1ms ──── 💰 g2-524 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 0010000101 💰 g:444 │ │ 🧍 2 0101111010 💰 g:232 │ │ 🧍 3 0100110101 💰 g:28 │ │ 🧍 4 0100110110 💰 g:10 │ │ 🧍 5 1010011010 💰 g:2 │ │ 🧍 6 0111100001 💰 g:28 │ │ 🧍 7 0010110100 💰 g:250 │ │ 🧍 8 0001110100 💰 g:246 │ │ 🧍 9 0000100101 💰 g:434 │ │ 🧍 10 0000101101 💰 g:186 │ │ 🧍 11 0011110110 💰 g:236 │ │ 🧍 12 0100100010 💰 g:486 │ │ 🧍 13 0000011100 💰 g:448 │ │ 🧍 14 1001101100 💰 g:34 │ │ 🧍 15 1100011111 💰 g:524 │ │ 🧍 16 0100011110 💰 g:30 │ │ 🧍 17 0111100101 💰 g:220 │ │ 🧍 18 0110100010 💰 g:268 │ │ 🧍 19 1111000111 💰 g:468 │ │ 🧍 20 0110000001 💰 g:478 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 9│ │ │ 3 │4 │ 2│ │ │ 5 │6 │ 8│ │ │ 7 │8 │ 2│ │ │ 9 │10 │ 1│ │ │ 11 │12 │ 5│ │ │ 13 │14 │ 4│ │ │ 15 │16 │ 2│ │ │ 17 │18 │ 4│ │ │ 19 │20 │ 4│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Roleta, pressão 150 ───── │ │ │ 100% 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 38│ 54│ 70│ 72│ 75│ 67│ 46│ 49│ 41│ 59│ │ │ │ 10│ 51│ 28│ 36│ 62│ 25│ 64│ 57│ 43│ 33│ 30│ │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 1│ 1│ 1│ 1│ 2│ 1│ 1│ 1│ 1│ 1│ │ │ │ 10│ 1│ 1│ 0│ 2│ 0│ 2│ 1│ 1│ 0│ 1│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 9⇄ 3│ 5⇄ 4│ 5⇄ 10│ 1⇄ 6│ 17⇄ 16│ │ │ │ 10│ 14⇄ 20│ 2⇄ 12│ 18⇄ 11│ 14⇄ 16│ 8⇄ 7│ │ 🏆 ⏱ 1ms 💰 g:0 ─┴─────────────────── ┌─ 📦1192 → ◀️596 = ▶️596 ────────────────────────────────────────────── ├─ ◀️ ─ 107 109 124 124 132 ├─ ▶️ ─ 106 111 114 124 141 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 434⇄ 28│ 2⇄ 10│ 2⇄ 186│ 444⇄ 28│ 220⇄ 30│ │ │ │ 10│ 34⇄ 478│ 232⇄ 486│ 268⇄ 236│ 34⇄ 30│ 246⇄ 250│ │ │ ├───── Filhos (💰 ) 🧬 10 🦠 12 ───── 📈 4 🟰 6 📉 10 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 292⇄ 2│ 222⇄ 238│ 244⇄ 696│ 910⇄ 28│ 0⇄ 524│ │ │ │ 10│ 698⇄ 478│ 232⇄ 714│ 228⇄ 236│ 230⇄ 28│ 250⇄ 478│ │ │ └──────────────────────────────────── ├─ Parâmetros ─ P1=1 P2=4 P3=1 P4=10 P5=1000000 P6=20 P7=100 P8=50 P9=1 P10=150 P13=1 ├─ ⚙ ─ P14=100 P16=1 P17=1 P18=3 P19=0 P20=1 P21=0 P22=1 ═╧═ 🏁 Execução terminada ⏱ 1ms ═══ Partição (Binária) ┌─ ⚙ Parâmetros ────────────────────────────────────────────────────── │ P1(ALGORITMO): Algoritmo Evolutivo | P2(NIVEL_DEBUG): COMPLETO | P3(SEMENTE): 1 │ P4(LIMITE_TEMPO): 10 | P5(LIMITE_ITERACOES): 1000000 | P6(POPULACAO): 20 │ P7(PROB_CRUZAR): 100 | P8(PROB_MUTAR): 50 | P9(SELECAO): Roleta | P10(PRESSAO): 150 │ P13(SOBREVIVENCIA): Idade | P14(PERC_DESCENDENTES): 100 | P16(ELITISMO): 1 │ P17(IMIGRANTES): 1 | P18(DIVERSIDADE): Limpeza | P19(DIST_MINIMA): 0 │ P20(TIPO_CRUZAR): 2-pontos | P21(TIPO_MUTAR): 0 | P22(TIPO_VIZINHO): 1 └────────────────────────────────────────────────────────────────────── ┌─ 📦1192 → ◀️596 = ▶️596 ────────────────────────────────────────────── ├─ ◀️ ─ 107 109 124 124 132 ├─ ▶️ ─ 106 111 114 124 141 └────────────────────────────────────────────────────────────────────── ┌─ ⚖ Indicadores ───────────────────────────────────────────────────── │ I1(Resultado): 0 | I2(Tempo(ms)): 1 | I3(Iterações): 232 | I4(Épocas): 10 | │ I5(Gerações): 240 └────────────────────────────────────────────────────────────────────── ┌─ ☰ Menu ─────────┬────────────────┬─────────────────────┬──────────────┐ │ 1 📄 Instância │ 2 🔍 Explorar │ 3 ⚙ Parâmetros │ 4 ✔ Solução │ │ 5 ⚖ Indicadores │ 6 ► Executar │ 7 🛠️ Configurações │ 8 🧪 Teste │ └───────────────────┴────────────────┴─────────────────────┴──────────────┘ Opção:
Podemos ver que a solução não foi obtida da instância de custo 2, mas sim da instância de custo 220 com outra de custo 30. Esta observação é importante para que não seja dada demasiada importância ao melhor elemento, descartando os restantes. É sempre importante ter diversidade na população, e permitir que elementos piores se reproduzam.
Os pais nas posições 3 e 4 tinham nesta última época custos 2 e 10, valores bastante bons. No entanto geraram filhos de custos 222 e 238, pelo que nem sempre dois elementos bons geram bons filhos.
Atendendo ao volume de parâmetros nos algoritmos evolutivos, estes testes vão utilizar desde logo um cluster (Deucalion).
Neste estudo foi identificada a melhor parametrização para este problema e codificação: P6=20 P7=0 P8=100 P9=2 P11=4 P12=100 P13=1 P14=100 P16=1 P17=1 P18=1 P21=0 P22=4.
Podemos ver como a alteração da parametrização afeta este exemplo:
Opção: 6 ═╤═ ► Execução iniciada ═══ │ 🏆 ⏱ 💰 g:204 ─┴─────────────────── ┌─ 📦1192 → ◀️494 = ▶️698 ────────────────────────────────────────────── ├─ ◀️ ─ 114 124 124 132 ├─ ▶️ ─ 106 107 109 111 124 141 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ 🏆 ⏱ 💰 g:14 ─┴─────────────────── ┌─ 📦1192 → ◀️603 = ▶️589 ────────────────────────────────────────────── ├─ ◀️ ─ 109 114 124 124 132 ├─ ▶️ ─ 106 107 111 124 141 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ 🏆 ⏱ 💰 g:8 ─┴─────────────────── ┌─ 📦1192 → ◀️592 = ▶️600 ────────────────────────────────────────────── ├─ ◀️ ─ 106 107 114 124 141 ├─ ▶️ ─ 109 111 124 124 132 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── ├─┬─ 📆 0 ⏱ ──── 💰 g8-1192 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1111110001 💰 g:432 │ │ 🧍 2 0000001001 💰 g:662 │ │ 🧍 3 1100011111 💰 g:524 │ │ 🧍 4 0001100010 💰 g:478 │ │ 🧍 5 0000101110 💰 g:204 │ │ 🧍 6 0010101110 💰 g:14 │ │ 🧍 7 1111011010 💰 g:434 │ │ 🧍 8 0000000000 💰 g:1192 │ │ 🧍 9 1110101111 💰 g:722 │ │ 🧍 10 0001100001 💰 g:460 │ │ 🧍 11 0111100100 💰 g:62 │ │ 🧍 12 1110101101 💰 g:458 │ │ 🧍 13 1000100101 💰 g:222 │ │ 🧍 14 0100001010 💰 g:466 │ │ 🧍 15 0010010000 💰 g:726 │ │ 🧍 16 1100100101 💰 g:8 │ │ 🧍 17 0011010101 💰 g:26 │ │ 🧍 18 0010101010 💰 g:234 │ │ 🧍 19 0010101110 💰 g:14 │ │ 🧍 20 1101010111 💰 g:498 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 7│ │ │ 3 │4 │ 8│ │ │ 5 │6 │ 1│ │ │ 7 │8 │ 7│ │ │ 9 │10 │ 7│ │ │ 11 │12 │ 4│ │ │ 13 │14 │ 7│ │ │ 15 │16 │ 7│ │ │ 17 │18 │ 7│ │ │ 19 │20 │ 8│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Torneio, tamanho 4, probabilidade melhor 100 ───── │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 1│ 0│ 0│ 0│ 1│ 2│ 0│ 0│ 0│ 0│ │ │ │ 10│ 1│ 0│ 1│ 0│ 0│ 4│ 2│ 4│ 4│ 0│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 16⇄ 18│ 5⇄ 19│ 16⇄ 18│ 16⇄ 17│ 19⇄ 13│ │ │ │ 10│ 18⇄ 17│ 11⇄ 19│ 1⇄ 6│ 6⇄ 19│ 16⇄ 18│ │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 8⇄ 234│ 204⇄ 14│ 8⇄ 234│ 8⇄ 26│ 14⇄ 222│ │ │ │ 10│ 234⇄ 26│ 62⇄ 14│ 432⇄ 14│ 14⇄ 14│ 8⇄ 234│ │ │ ├───── Filhos (💰 ) 🧬 0 🦠 20 ───── 📈 2 🟰 5 📉 13 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 452⇄ 214│ 222⇄ 444│ 452⇄ 210│ 482⇄ 42│ 462⇄ 268│ │ │ │ 10│ 244⇄ 32│ 16⇄ 8│ 944⇄ 464│ 498⇄ 8│ 452⇄ 210│ │ │ └──────────────────────────────────── │ ├─┬─── FASE ⚔️ Sobrevivência ───── │ │ ├───── ⏳ Idade ───── │ │ ├───── 🚶🌍 Imigrantes 13✖ →🆕 ───── │ │ └──────────────────────────────────── ├─┬─ 📆 1 ⏱ ──── 💰 g8-944 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 0001011010 💰 g:210 │ │ 🧍 2 1111010101 💰 g:452 │ │ 🧍 3 0011010110 💰 g:8 │ │ 🧍 4 0010110000 💰 g:498 │ │ 🧍 5 0010100001 💰 g:464 │ │ 🧍 6 1111101111 💰 g:944 │ │ 🧍 7 0011010110 💰 g:8 │ │ 🧍 8 0110011100 💰 g:16 │ │ 🧍 9 0010101101 💰 g:32 │ │ 🧍 10 0101001010 💰 g:244 │ │ 🧍 11 1001011101 💰 g:268 │ │ 🧍 12 0010010010 💰 g:462 │ │ 🧍 13 1101011101 💰 g:482 │ │ 🧍 14 0001011010 💰 g:210 │ │ 🧍 15 1111010101 💰 g:452 │ │ 🧍 16 1101101110 💰 g:444 │ │ 🧍 17 0111001110 💰 g:222 │ │ 🧍 18 0010010110 💰 g:214 │ │ 🧍 19 1111010101 💰 g:452 │ │ 🧍 20 0110101011 💰 g:262 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 7│ │ │ 3 │4 │ 4│ │ │ 5 │6 │ 6│ │ │ 7 │8 │ 4│ │ │ 9 │10 │ 7│ │ │ 11 │12 │ 7│ │ │ 13 │14 │ 5│ │ │ 15 │16 │ 6│ │ │ 17 │18 │ 4│ │ │ 19 │20 │ 7│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Torneio, tamanho 4, probabilidade melhor 100 ───── │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 3│ 0│ 2│ 0│ 0│ 0│ 4│ 1│ 2│ 0│ │ │ │ 10│ 2│ 0│ 0│ 2│ 0│ 2│ 0│ 2│ 0│ 0│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 14⇄ 16│ 1⇄ 14│ 7⇄ 8│ 1⇄ 11│ 18⇄ 9│ │ │ │ 10│ 9⇄ 3│ 11⇄ 16│ 7⇄ 1│ 7⇄ 7│ 3⇄ 18│ │ 🏆 ⏱ 💰 g:2 ─┴─────────────────── ┌─ 📦1192 → ◀️597 = ▶️595 ────────────────────────────────────────────── ├─ ◀️ ─ 111 114 124 124 124 ├─ ▶️ ─ 106 107 109 132 141 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 210⇄ 444│ 210⇄ 210│ 8⇄ 16│ 210⇄ 268│ 214⇄ 32│ │ │ │ 10│ 32⇄ 8│ 268⇄ 444│ 8⇄ 210│ 8⇄ 8│ 8⇄ 214│ │ │ ├───── Filhos (💰 ) 🧬 0 🦠 20 ───── 📈 4 🟰 4 📉 12 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 234⇄ 32│ 230⇄ 230│ 14⇄ 2│ 700⇄ 212│ 236⇄ 462│ │ │ │ 10│ 48⇄ 14│ 222⇄ 32│ 452⇄ 212│ 14⇄ 504│ 504⇄ 230│ │ │ └──────────────────────────────────── │ ├─┬─── FASE ⚔️ Sobrevivência ───── │ │ ├───── ⏳ Idade ───── │ │ ├───── 🚶🌍 Imigrantes 17✖ →🆕 ───── │ │ └──────────────────────────────────── ├─┬─ 📆 2 ⏱ ──── 💰 g2-700 ├─┬─ 📆 3 ⏱ ──── 💰 g2-970 ├─┬─ 📆 4 ⏱ ──── 💰 g2-518 ├─┬─ 📆 5 ⏱ 1ms ──── 💰 g2-528 ├─┬─ 📆 6 ⏱ 1ms ──── 💰 g2-514 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1101100001 💰 g:34 │ │ 🧍 2 1011110110 💰 g:448 │ │ 🧍 3 1010001110 💰 g:2 │ │ 🧍 4 1011110110 💰 g:448 │ │ 🧍 5 0101001110 💰 g:4 │ │ 🧍 6 1011110110 💰 g:448 │ │ 🧍 7 1101100001 💰 g:34 │ │ 🧍 8 0101001110 💰 g:4 │ │ 🧍 9 1000000110 💰 g:468 │ │ 🧍 10 1011110110 💰 g:448 │ │ 🧍 11 1010000001 💰 g:480 │ │ 🧍 12 0101010000 💰 g:508 │ │ 🧍 13 0011011001 💰 g:26 │ │ 🧍 14 1010010000 💰 g:514 │ │ 🧍 15 1010110010 💰 g:22 │ │ 🧍 16 0010101110 💰 g:14 │ │ 🧍 17 0110111110 💰 g:476 │ │ 🧍 18 0010101110 💰 g:14 │ │ 🧍 19 0101010000 💰 g:508 │ │ 🧍 20 0111111000 💰 g:186 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 6│ │ │ 3 │4 │ 4│ │ │ 5 │6 │ 6│ │ │ 7 │8 │ 6│ │ │ 9 │10 │ 4│ │ │ 11 │12 │ 6│ │ │ 13 │14 │ 4│ │ │ 15 │16 │ 4│ │ │ 17 │18 │ 2│ │ │ 19 │20 │ 3│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Torneio, tamanho 4, probabilidade melhor 100 ───── │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 0│ 1│ 5│ 0│ 2│ 0│ 1│ 3│ 1│ 1│ │ │ │ 10│ 0│ 0│ 1│ 0│ 0│ 1│ 0│ 4│ 0│ 0│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 7⇄ 3│ 3⇄ 16│ 3⇄ 13│ 18⇄ 3│ 3⇄ 8│ │ │ │ 10│ 5⇄ 18│ 9⇄ 10│ 18⇄ 8│ 18⇄ 8│ 2⇄ 5│ │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 34⇄ 2│ 2⇄ 14│ 2⇄ 26│ 14⇄ 2│ 2⇄ 4│ │ │ │ 10│ 4⇄ 14│ 468⇄ 448│ 14⇄ 4│ 14⇄ 4│ 448⇄ 4│ │ │ ├───── Filhos (💰 ) 🧬 0 🦠 20 ───── 📈 1 🟰 5 📉 14 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 464⇄ 4│ 514⇄ 8│ 444⇄ 434│ 444⇄ 448│ 448⇄ 508│ │ │ │ 10│ 10⇄ 444│ 478⇄ 2│ 498⇄ 16│ 38⇄ 16│ 64⇄ 10│ │ │ └──────────────────────────────────── │ ├─┬─── FASE ⚔️ Sobrevivência ───── │ │ ├───── ⏳ Idade ───── │ │ ├───── 🚶🌍 Imigrantes 7✖ →🆕 ───── │ │ └──────────────────────────────────── ├─┬─ 📆 7 ⏱ 1ms ──── 💰 g4-514 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 0100110110 💰 g:10 │ │ 🧍 2 1011101000 💰 g:64 │ │ 🧍 3 0101110010 💰 g:16 │ │ 🧍 4 0001011110 💰 g:38 │ │ 🧍 5 0101110010 💰 g:16 │ │ 🧍 6 0010110000 💰 g:498 │ │ 🧍 7 1001111110 💰 g:478 │ │ 🧍 8 1101101110 💰 g:444 │ │ 🧍 9 0100110110 💰 g:10 │ │ 🧍 10 0101010000 💰 g:508 │ │ 🧍 11 1011110110 💰 g:448 │ │ 🧍 12 1011110110 💰 g:448 │ │ 🧍 13 1101101110 💰 g:444 │ │ 🧍 14 0000101001 💰 g:434 │ │ 🧍 15 1101101110 💰 g:444 │ │ 🧍 16 0011010110 💰 g:8 │ │ 🧍 17 1010010000 💰 g:514 │ │ 🧍 18 0101001110 💰 g:4 │ │ 🧍 19 0010100001 💰 g:464 │ │ 🧍 20 0111110011 💰 g:484 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 8│ │ │ 3 │4 │ 4│ │ │ 5 │6 │ 4│ │ │ 7 │8 │ 2│ │ │ 9 │10 │ 4│ │ │ 11 │12 │ 0│ │ │ 13 │14 │ 6│ │ │ 15 │16 │ 6│ │ │ 17 │18 │ 8│ │ │ 19 │20 │ 4│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Torneio, tamanho 4, probabilidade melhor 100 ───── │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 1│ 1│ 1│ 0│ 1│ 0│ 0│ 0│ 4│ 0│ │ │ │ 10│ 0│ 0│ 2│ 1│ 1│ 1│ 0│ 6│ 1│ 0│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 14⇄ 18│ 13⇄ 1│ 15⇄ 2│ 9⇄ 19│ 3⇄ 18│ │ │ │ 10│ 18⇄ 18│ 5⇄ 9│ 16⇄ 9│ 18⇄ 18│ 9⇄ 13│ │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 434⇄ 4│ 444⇄ 10│ 444⇄ 64│ 10⇄ 464│ 16⇄ 4│ │ │ │ 10│ 4⇄ 4│ 16⇄ 10│ 8⇄ 10│ 4⇄ 4│ 10⇄ 444│ │ │ ├───── Filhos (💰 ) 🧬 0 🦠 20 ───── 📈 4 🟰 4 📉 12 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 432⇄ 508│ 460⇄ 466│ 2⇄ 448│ 8⇄ 440│ 4⇄ 474│ │ │ │ 10│ 16⇄ 476│ 462⇄ 4│ 26⇄ 502│ 14⇄ 476│ 28⇄ 6│ │ │ └──────────────────────────────────── │ ├─┬─── FASE ⚔️ Sobrevivência ───── │ │ ├───── ⏳ Idade ───── │ │ ├───── 🚶🌍 Imigrantes 10✖ →🆕 ───── │ │ └──────────────────────────────────── ├─┬─ 📆 8 ⏱ 1ms ──── 💰 g2-508 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 1100010110 💰 g:6 │ │ 🧍 2 0100111001 💰 g:28 │ │ 🧍 3 0110111110 💰 g:476 │ │ 🧍 4 0010101110 💰 g:14 │ │ 🧍 5 0100101000 💰 g:502 │ │ 🧍 6 0011011001 💰 g:26 │ │ 🧍 7 0101001110 💰 g:4 │ │ 🧍 8 0010010010 💰 g:462 │ │ 🧍 9 0110111110 💰 g:476 │ │ 🧍 10 0101000001 💰 g:474 │ │ 🧍 11 0101001110 💰 g:4 │ │ 🧍 12 0001010001 💰 g:440 │ │ 🧍 13 0011010110 💰 g:8 │ │ 🧍 14 1011110110 💰 g:448 │ │ 🧍 15 1010001110 💰 g:2 │ │ 🧍 16 0100001010 💰 g:466 │ │ 🧍 17 1110011110 💰 g:460 │ │ 🧍 18 0101010000 💰 g:508 │ │ 🧍 19 1111101001 💰 g:432 │ │ 🧍 20 0101100100 💰 g:280 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 6│ │ │ 3 │4 │ 2│ │ │ 5 │6 │ 6│ │ │ 7 │8 │ 6│ │ │ 9 │10 │ 8│ │ │ 11 │12 │ 6│ │ │ 13 │14 │ 2│ │ │ 15 │16 │ 4│ │ │ 17 │18 │ 6│ │ │ 19 │20 │ 5│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Torneio, tamanho 4, probabilidade melhor 100 ───── │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 1│ 1│ 0│ 0│ 0│ 1│ 4│ 0│ 0│ 0│ │ │ │ 10│ 2│ 0│ 4│ 1│ 3│ 0│ 0│ 0│ 2│ 1│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 19⇄ 6│ 13⇄ 7│ 7⇄ 19│ 13⇄ 11│ 2⇄ 13│ │ │ │ 10│ 15⇄ 13│ 11⇄ 1│ 20⇄ 15│ 14⇄ 15│ 7⇄ 7│ │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 432⇄ 26│ 8⇄ 4│ 4⇄ 432│ 8⇄ 4│ 28⇄ 8│ │ │ │ 10│ 2⇄ 8│ 4⇄ 6│ 280⇄ 2│ 448⇄ 2│ 4⇄ 4│ │ │ ├───── Filhos (💰 ) 🧬 0 🦠 20 ───── 📈 2 🟰 5 📉 13 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 18⇄ 434│ 452⇄ 10│ 474⇄ 18│ 10⇄ 474│ 474⇄ 26│ │ │ │ 10│ 514⇄ 14│ 2⇄ 518│ 234⇄ 480│ 64⇄ 4│ 10⇄ 476│ │ │ └──────────────────────────────────── │ ├─┬─── FASE ⚔️ Sobrevivência ───── │ │ ├───── ⏳ Idade ───── │ │ ├───── 🚶🌍 Imigrantes 6✖ →🆕 ───── │ │ └──────────────────────────────────── ├─┬─ 📆 9 ⏱ 1ms ──── 💰 g2-518 │ ├───── 🧍🧑🤝🧑🚶 ───── │ │ 🧍 1 0110111110 💰 g:476 │ │ 🧍 2 0100110110 💰 g:10 │ │ 🧍 3 0101001110 💰 g:4 │ │ 🧍 4 1011101000 💰 g:64 │ │ 🧍 5 1010000001 💰 g:480 │ │ 🧍 6 1100001000 💰 g:518 │ │ 🧍 7 1010001110 💰 g:2 │ │ 🧍 8 0010101110 💰 g:14 │ │ 🧍 9 1010010000 💰 g:514 │ │ 🧍 10 0011011001 💰 g:26 │ │ 🧍 11 0101000001 💰 g:474 │ │ 🧍 12 0101000001 💰 g:474 │ │ 🧍 13 0100110110 💰 g:10 │ │ 🧍 14 1110010001 💰 g:18 │ │ 🧍 15 0101000001 💰 g:474 │ │ 🧍 16 0100110110 💰 g:10 │ │ 🧍 17 0000100110 💰 g:452 │ │ 🧍 18 0000101001 💰 g:434 │ │ 🧍 19 1110010001 💰 g:18 │ │ 🧍 20 1001011010 💰 g:2 │ ├───── 📏 ───── │ │ 🧍 🧍 📏 │ │ ────┼────┼────┼ │ │ 1 │2 │ 2│ │ │ 3 │4 │ 6│ │ │ 5 │6 │ 4│ │ │ 7 │8 │ 2│ │ │ 9 │10 │ 4│ │ │ 11 │12 │ 0│ │ │ 13 │14 │ 6│ │ │ 15 │16 │ 6│ │ │ 17 │18 │ 4│ │ │ 19 │20 │ 6│ │ │ ────┴────┴────┴ │ ├─┬─── FASE 🧩 Selecionar 20 🧑🤝🧑 pais ───── │ │ ├───── Torneio, tamanho 4, probabilidade melhor 100 ───── │ │ ├───── Número de seleções ───── │ │ │ #Pai 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 0│ 0│ 6│ 0│ 0│ 0│ 3│ 2│ 0│ 0│ │ │ │ 10│ 0│ 0│ 1│ 1│ 0│ 2│ 0│ 0│ 1│ 4│ │ │ └──────────────────────────────────── │ ├─┬─── FASE 🧬 Reproduzir 20 pais ───── │ │ ├───── Pais (🧑🤝🧑 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 3⇄ 8│ 19⇄ 14│ 16⇄ 7│ 20⇄ 16│ 3⇄ 20│ │ │ │ 10│ 20⇄ 7│ 13⇄ 3│ 3⇄ 20│ 3⇄ 7│ 3⇄ 8│ │ 🏆 ⏱ 1ms 💰 g:0 ─┴─────────────────── ┌─ 📦1192 → ◀️596 = ▶️596 ────────────────────────────────────────────── ├─ ◀️ ─ 107 109 124 124 132 ├─ ▶️ ─ 106 111 114 124 141 └────────────────────────────────────────────────────────────────────── ─┬─────────────────── │ │ ├───── Pais (💰 ) ───── │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 4⇄ 14│ 18⇄ 18│ 10⇄ 2│ 2⇄ 10│ 4⇄ 2│ │ │ │ 10│ 2⇄ 2│ 10⇄ 4│ 4⇄ 2│ 4⇄ 2│ 4⇄ 14│ │ │ ├───── Filhos (💰 ) 🧬 0 🦠 20 ───── 📈 3 🟰 2 📉 15 │ │ │ 🧍 1 2 3 4 5 6 7 8 9 10 │ │ │ ────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼ │ │ │ 0│ 508⇄ 4│ 494⇄ 440│ 466⇄ 448│ 0⇄ 502│ 16⇄ 20│ │ │ │ 10│ 0⇄ 444│ 26⇄ 14│ 2⇄ 22│ 476⇄ 514│ 2⇄ 498│ │ │ └──────────────────────────────────── ├─ Parâmetros ─ P1=1 P2=4 P3=1 P4=10 P5=1000000 P6=20 P7=0 P8=100 P9=2 P11=4 P12=100 ├─ ⚙ ─ P13=1 P14=100 P16=1 P17=1 P18=1 P19=0 P20=1 P21=0 P22=4 ═╧═ 🏁 Execução terminada ⏱ 1ms ═══ Partição (Binária) ┌─ ⚙ Parâmetros ────────────────────────────────────────────────────── │ P1(ALGORITMO): Algoritmo Evolutivo | P2(NIVEL_DEBUG): COMPLETO | P3(SEMENTE): 1 │ P4(LIMITE_TEMPO): 10 | P5(LIMITE_ITERACOES): 1000000 | P6(POPULACAO): 20 │ P7(PROB_CRUZAR): 0 | P8(PROB_MUTAR): 100 | P9(SELECAO): Torneio | P11(TAMANHO_TORNEIO): 4 │ P12(PROB_MELHOR_TORNEIO): 100 | P13(SOBREVIVENCIA): Idade | P14(PERC_DESCENDENTES): 100 │ P16(ELITISMO): 1 | P17(IMIGRANTES): 1 | P18(DIVERSIDADE): Nenhuma | P19(DIST_MINIMA): 0 │ P20(TIPO_CRUZAR): 2-pontos | P21(TIPO_MUTAR): 0 | P22(TIPO_VIZINHO): 4 └────────────────────────────────────────────────────────────────────── ┌─ 📦1192 → ◀️596 = ▶️596 ────────────────────────────────────────────── ├─ ◀️ ─ 107 109 124 124 132 ├─ ▶️ ─ 106 111 114 124 141 └────────────────────────────────────────────────────────────────────── ┌─ ⚖ Indicadores ───────────────────────────────────────────────────── │ I1(Resultado): 0 | I2(Tempo(ms)): 1 | I3(Iterações): 230 | I4(Épocas): 10 | │ I5(Gerações): 238 └────────────────────────────────────────────────────────────────────── ... Opção:
Podemos ver neste caso que a solução foi gerada de dois pais de custo 2 e 10, pelo que eram dos melhores. No entanto o irmão ficou com custo 502. Com esta configuração, embora a população tenha elementos bons (da ordem das dezenas) e maus (da ordem das cententas), os pais pretencem apenas aos elementos bons, dado que o método de seleção dos pais é com um torneio de 4 elementos. Há possibilidade de um elemento mau ser pai, mas teriam de ser selecionados 4 maus, de modo a ser pai o menos mau. Essa situação ocorre em outras épocas, mas não na última época.
Para esta configuração otimizada, nesta instância pequena, não é possível ver grande melhoria. No entanto, como se viu nos resultados do Deucalion, as melhorias são claras em instâncias maiores.
| TesteTVector | Aspirador 1 | Aspirador 2 | Puzzle 8 | 8 Damas | Partição | 8 Damas CI | 8 Damas CP | Partição CB |