Algoritmos Genéticos

23
Aprendizagem Automática Mestrado em Engenharia Informática

description

Disciplina da Aprendizagem Automática, Luí[email protected], módulo de GA

Transcript of Algoritmos Genéticos

Page 1: Algoritmos Genéticos

Aprendizagem Automática

Mestrado em Engenharia Informática

Page 2: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Sumário

Espaços de Soluções Métodos de procura Algoritmos Genéticos

2

Page 3: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Problema (Caixeiro Viajante)

Dado um conjunto de pontos e as distâncias entre eles, qual a ordem de visita que minimiza o caminho percorrido passando por todos os pontos, uma única vez em cada ponto.

3

Page 4: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Espaço de soluções

Dadas as cidades (pontos) A, B, C ... as soluções são todas as combinações possíveis em que estão representadas apenas uma vez todas as cidades

Podemos ver estas soluções ligadas entre si como um espaço / grafo

Umas soluções podem ser transformadas noutras por (por exemplo) troca de posições entre duas cidades

4

Page 5: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Espaço de Soluções

5

Custo

Soluçõespossíveis

Solução de mais baixo custo

Page 6: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Problema dos mínimos Locais Mínimos locaisCusto

Valores de um Parâmetro

6

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Page 7: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Métodos de procura

Sequencial (experimentar todas as combinações)

Aleatório (experimentar várias combinações, escolher a melhor)

A* (fazer todas as alterações possíveis à melhor solução encontrada até ao momento)

Simulated Annealing (Arrefecimento simulado)

Algoritmos Genéticos (Genetic / Evolutionary Algorithms)

7

Page 8: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Simulated Annealing [Kirkpatrick et al. 83]

Semelhante ao processo de arrefecimento de ligas metálicas

Tenta prevenir problema dos mínimos locais

Exploração aleatória Aceita novo estado

Sempre que estado é melhor Com uma probabilidade decrescente, mesmo

quando é pior (prob. controlada por diferença ao melhor e temperatura)

8

Page 9: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 20

0.2

0.4

0.6

0.8

1

1.2

P(dE) T=.125 P(dE) T=0.25 P(dE) T=0.5 P(dE) T=1P(dE) T=2 P(dE) T=4 P(dE) T=8

Simulated Annealing [Kirkpatrick et al. 83]

Probabilidade de aceitação de novo estado

9

T

E

eEP

)(

Page 10: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Algoritmos Genéticos (GA) [Holland 75]

Inspirado na teoria da evolução das espécies

Tenta encontrar soluções com maior aptidão: gerando uma “população” de soluções

possíveis, avaliando-as mutando ou recombinando as mais

promissoras, gerando nova população10

Page 11: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

GA: Aptidão / Fitness

Capacidade para resolver o problema Inverso do erro / custo Adequação de um padrão à resolução do problema

Conveniente que seja um número real e que as diferenças nas soluções sejam tão precisas quanto possível

Avaliação dos “sobreviventes”: Proporcional à qualidade da solução N melhores Torneio …

11

Page 12: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

GA: Ciclo de Vida

Para N gerações (ou até Fbest > E ) Para Si (Espécime/Specimen) em

população▪ Avaliar Si -> Fi (Aptidão/Fitness)

Escolher os melhores (Bi) (selected pool / survivors)

Gerar nova população, para Si▪ Si = mutate(Ba): a = rand (prioridade aos

mais aptos)? OU▪ Si = crossover(Ba, Bb): a, b = rand

12

Page 13: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Problema 1 (KnapSack)

Dada uma mochila com capacidade limitada (peso ou volume)

Cada “pacote” tem um peso e um valor (monetário por exemplo)

Como escolher que pacotes levar de modo a maximizar o valor dos pacotes, sem exceder o peso

13

Page 14: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Problema 1 (KnapSack)

Formulação para GA

14

1 1 0 1 …

(20,2)(24,3)(10,2)(3,2) …

Cada quadrado indica se o pacote n é levado ou não

Page 15: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Problema 2 (Topologia)

Dado um conjunto de problemas, qual a melhor topologia de rede para os resolver?

15

Page 16: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Problema 2 (Topologia)

Qual a melhor topologia de uma rede neuronal?

16

Page 17: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Problema 3 (Caixeiro Viajante)

Ordem das cidades a visitar de modo a diminuir o custo / distância

B, A, C, F, D, …

17

Page 18: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

GA: Um espécime / specimen

18

1 1 0 0 1 0 1 …

B, A, C, F, D, …

Page 19: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

GA: Mutação (Mutation)

19

1 1 1 0 0 0 1 …

1 1 0 0 1 0 1 …

A, B, C, …A, C, B, ….

Page 20: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

GA: Recombinação (Crossover)

20

1 1 0 0 1 0 1 …

1 1 0 0 1 1 0 …

0 1 1 0 0 0 1 …

crossover-point +

Page 21: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Evolutionary Algorithms

Principais sub-tipos (ver discussão em GA-FAQ) [Heitkoetter et al. 94] Genetic Algorithms Evolutionary Programming / Evolution

Strategies Genetic Programming Classifier Systems (Neuro Evolution)

21

Page 22: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Referências

[Metropolis et al. 53] N. Metropolis, A.W. Rosenbluth, M.N. Rosenbluth, A.H. Teller, and E. Teller. "Equations of State Calculations by Fast Computing Machines". Journal of Chemical Physics, 21(6):1087-1092, 1953.

[Kirkpatrick et al. 83] Kirkpatrick, S.; C. D. Gelatt, M. P. Vecchi (1983-05-13). "Optimization by Simulated Annealing". Science. New Series 220 (4598): 671-680. ISSN 00368075.

[Cerny 85] V. Cerny, A thermodynamical approach to the travelling salesman problem: an efficient simulation algorithm. Journal of Optimization Theory and Applications, 45:41-51, 1985

[Goldberg 89] D. E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Kluwer Academic Publishers, Boston, MA, 1989.

[Fogel 06] D. B. Fogel, Evolutionary Computation: Toward a New Philosophy of Machine Intelligence, IEEE Press, Piscataway, NJ. Third Edition, 2006.

[Holland 75] John H. Holland, Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, 1975

[Koka 92] John Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press. ISBN 0-262-11170-5, 1992

[Heitkoetter et al. 94] Heitkoetter, Joerg and Beasley, David, eds. (1994) "The Hitch- Hiker's Guide to Evolutionary Computation: A list of Frequently Asked Questions (FAQ)", USENET : comp.ai.genetic.

Recursos vários sobre GA 22

Page 23: Algoritmos Genéticos

13-04-2023 Aprendizagem Automática / Machine Learning

Sumário

Espaços de Soluções Métodos de procura Algoritmos Genéticos

23