INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA
Transcript of INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA
![Page 1: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/1.jpg)
INTRODUÇÃO ÀCOMPUTAÇÃO EVOLUTIVACOMPUTAÇÃO EVOLUTIVA
Adair Santa CatarinaCurso de Ciência da Computação
Unioeste – Campus de Cascavel – PR
Fev/2018
![Page 2: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/2.jpg)
Computação Evolutiva
Ramo da ciência da computação que propõe um paradigma alternativo ao
processamento de dados convencional.
Para resolver um problema não se
Bittencourt, 1998, p. 309.
2
Para resolver um problema não se exige o conhecimento prévio de uma
maneira de encontrar a solução.
A Computação Evolutiva está baseada nos mecanismos evolutivos
encontrados na natureza, tais como a diversidade genética, seleção,
reprodução, adaptação e evolução.
Farmer et al., 1983;
Goldberg, 1989.
![Page 3: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/3.jpg)
Os Mecanismos Evolutivos
Descobertos e formalizados por Charles Darwin em sua Teoria da Evolução Natural.
A vida na terra é o resultado de um processo de seleção, pelo meio
3
processo de seleção, pelo meio ambiente, dos mais aptos e
adaptados, e por isto com mais chances de sobreviver e se reproduzir.
EvoluçãoSeleção Natural
![Page 4: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/4.jpg)
Os Mecanismos Evolutivos
O indivíduos descendem com modificações. As espécies mudam ao
longo do tempo, dando origem a novas espécies que compartilham um
ancestral comum.
É o mecanismo da evolução. Devido às
4
É o mecanismo da evolução. Devido às restrições ambientais, organismos com características hereditárias (diversidade
genética) que favoreçam a sobrevivência e a reprodução tendem a deixar mais
descendentes, aumentando a frequência destas características ao longo das
gerações.
![Page 5: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/5.jpg)
Histórico da Computação Evolutiva
Biólogos e geneticistas interessados em simular os
processos vitais em computador.
Processosgenéticos
Holland e outros começaram estudos de
5
Holland e outros começaram estudos de sistemas adaptativos, modelados como sistemas de aprendizado de máquina.
Populações de indivíduos contendo um genótipo, formado por
cromossomos (cadeias de bits) operados por seleção, recombinação
e mutação.
Algoritmosgenéticos
![Page 6: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/6.jpg)
Histórico da Computação Evolutiva
Uso de dois operadores: seleção e mutação,
rejeitando a importância da recombinação.
Programação Evolutiva
Ênfase na auto-adaptação. A Estratégias
6
Ênfase na auto-adaptação. A recombinação é aceita, mas como operador secundário.
EstratégiasEvolutivas
Todas as abordagens têm em comum o mesmo modelo inicial – a evolução
natural –, além dos operadores e, mais importante, o mesmo objetivo final: a
solução de problemas complexos.
Bäck e Schwefel,
1993.
![Page 7: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/7.jpg)
Princípios da Computação Evolutiva
Simular o processo de passagem de gerações da evolução natural, em computadores, demanda:
Criação de uma População, em sua primeira geração aleatória, onde cada indivíduo codifica
uma possível solução para o problema em estudo.
7
Definição de uma Função de Avaliação, que mede a aptidão de cada indivíduo da população. Não
detêm conhecimento sobre como resolver o problema, apenas atribui uma “nota” ao indivíduo.
Criação de Operadores que geram uma nova população quando aplicados aos indivíduos da
geração atual. São baseados na evolução natural.
![Page 8: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/8.jpg)
Operadores da Computação Evolutiva
Os principais operadores citados na literatura são:
Seleção: permite escolher um indivíduo ou um par deles para gerar descendência. Simula a reprodução
assexuada ou sexuada. A prioridade da escolha recai sobre os indivíduos melhor avaliados.
8
recai sobre os indivíduos melhor avaliados.
Recombinação: simula a troca de material genético entre os ancestrais determinando a carga
genética dos descendentes.
Mutação: realiza mudanças aleatórias no material genético.
![Page 9: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/9.jpg)
Princípios da Computação Evolutiva
O conceito chave na computação evolutiva é o de adaptação. Ele unifica a abordagem
quanto ao método empregado.
Uma população inicial de soluções evolui, ao longo de gerações simuladas, em
direção a soluções com maior aptidão, por
9
direção a soluções com maior aptidão, por meio de operadores de seleção,
recombinação e mutação.
Cada indivíduo representa, em si, uma solução codificada. Essa codificação corresponde aos
cromossomos na evolução natural e é chamado de genótipo. A função de avaliação interpreta o
cromossomo e determina sua qualidade (“nota”).
![Page 10: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/10.jpg)
A computação evolutiva busca desenvolver métodos (algoritmos, heurísticas e meta-heurísticas)
para aplicá-las na resolução de problemas complexos, principalmente da classe NP-Árduos.
Os problema NP-Árduos não podem ser resolvidos por métodos determinísticos em tempo polinomial;
Objetivos da Computação Evolutiva
por métodos determinísticos em tempo polinomial; por isso empregam-se métodos não-
determinísticos ou aproximativos baseados em heurísticas simples ou meta-heurísticas.
Nestes métodos perseguem-se dois objetivos excludentes:
Eficiência e Eficácia10
![Page 11: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/11.jpg)
O que se deseja destes Algoritmos?
Que explore uma região restrita do espaço de soluções viáveis do problema de forma a esgotá-la
eficientemente.Este processo denomina-se Busca Local ou
Explotação.
Que seja capaz de discriminar regiões promissoras
11
Que seja capaz de discriminar regiões promissoras do espaço de soluções viáveis, não se obrigando a
examinar todo o espaço.Este processo denomina-se Busca Global ou
Exploração.
Deseja-se o perfeito casamento entre a explotaçãode determinadas regiões do espaço de soluções e a
escolha dessas regiões.
![Page 12: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/12.jpg)
Estratégias Evolutivas
Universidade Técnica de Berlim, Alemanha.O uso do método do gradiente não se mostrou adequado para definir formas submetidas a testes em túnel de vento.
Ingo Rechenberg e Hans-Paul Schwefelexperimentaram alterações randômicas nos
12
experimentaram alterações randômicas nos parâmetros que definiam as formas dos objetos.
Para cada indivíduo selecionado um descendente é gerado, usando uma perturbação randômica com
distribuição gaussiana (mutação).
Estratégia (1 + 1)Esquema simples de seleção/mutação.
![Page 13: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/13.jpg)
Estratégias Evolutivas
Evolução para a estratégia (µ + 1), onde uma população de m indivíduos se
recombina, aleatoriamente, para formar um descendente que, após sofrer mutação,
substituirá o pior elemento da população, caso tenha avaliação superior.
13
caso tenha avaliação superior.
Transição p/ as estratégias (µ + λ) e (µ, λ).Na primeira os µ ancestrais convivem com
os λ descendentes; na segunda os µancestrais morrem, deixando apenas os λ
descendentes vivos.
![Page 14: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/14.jpg)
Programação Evolutiva
Fogel, Owens e Walsg desenvolveram a programação evolutiva aplicando-a na
predição de comportamento de máquinas de estados finitos, mas a técnica se adapta
a qualquer estrutura de problema.
14
Cada indivíduo gera um único descendente por mutação. A melhor metade da população ascendente e a
melhor metade da descendente formam a nova geração. Usando terminologia
de estratégia evolutiva (µ + µ).
Bäck e Schwefel,
1993.
![Page 15: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/15.jpg)
Programação Meta-evolucionária
Proposta por Fogel, em seu doutorado. Um vetor de variâncias substitui o valor padrão
e exógeno da taxa de mutação.
Não se exige que a população permaneça constante
15
Não se exige que a população permaneça constante ou que cada ascendente gera um descendente.
A mutação é o único operador que atua na programação evolutiva. Não há recombinação.
![Page 16: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/16.jpg)
Programação Meta-evolucionária
Algoritmo básico:
1) Escolhe-se um população inicial de soluções aleatórias; o tamanho da população é relevante para a velocidade de otimização;
16
2) Novas soluções são geradas por mutação das soluções ancestrais; a mutação é controlada pelo vetor de variâncias;
3) Cada nova solução tem sua aptidão calculada. Os mais aptos são retidos para a próxima geração.
![Page 17: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/17.jpg)
Estratégias para Busca Local
Busca Iterativa Rápida (Quick Iterated Local Search)
Sol_Cor = Sol = Sol_Inicial; Sol* = f(Sol_Cor);
Enquanto (!Parada){Procurar a melhor solução t vizinha a Sol_CorSe (f(t) < Sol*){
17
Se (f(t) < Sol*){Sol* = f(t);Sol = t;
}Sol_Cor = Perturbação(Sol);
}
Código → ExplotaçãoCódigo → Exploração
![Page 18: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/18.jpg)
Estratégias para Busca Local
18
Explotação
Exploração
Explotação
![Page 19: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/19.jpg)
Estratégias para Busca Local
Busca Local Iterativa Rápida (Iterated Local Search)
Sol_Cor = Sol = Sol_Inicial; Sol* = f(Sol_Cor);
Enquanto (!Parada){Repita
Procurar a melhor solução t vizinha a Sol_Cor
19
Procurar a melhor solução t vizinha a Sol_CorSe (f(t) < f(Sol_Cor)){
Sol_Cor = t; s = 1;Se (f(t) < Sol*) Sol = t; Sol* = f(t);
}Senão s = 0;
Até (s == 0);Sol_Cor = Perturbação(Sol_Corr);
}
![Page 20: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/20.jpg)
Estratégias para Busca Local
20
Explotação
Exploração
Explotação
![Page 21: INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA](https://reader030.fdocument.pub/reader030/viewer/2022020623/61f0a80957f7f9742245b41b/html5/thumbnails/21.jpg)
Referências Bibliográficas
BÄCK, T.; SCHWEFEL, H. P. An overview of evolutionary algorithmsfor parameter optimization. Evolutionary Computation, v. 1, n. 1, p. 1- 23, 1993.
BITTENCOURT, G. Inteligência artificial: ferramentas e teorias. Florianópolis : Ed. da UFSC, 1998.
FARMER, J. D.; TOFFOLI, T.; WOLFRAM, S. Cellular Automata:
21
FARMER, J. D.; TOFFOLI, T.; WOLFRAM, S. Cellular Automata: Proceedings of na Interdisciplinary Workshop at Los Alamos. New México, North-Holland, Amsterdam, March 7-11, 1983.
GOLDBARG, M. C.; GOLDBARG, E. G; LUNA, H. P. L. Otimização combinatória e meta-heurísticas: algoritmos e aplicações. Rio de Janeiro: Elsevier.
GOLDBERG, D. E. Genetic algorithms in search, optimization & machine learning. Reading : Addison-Wesley, 1989.