AprendizagemAutomáticaMestrado  em Engenharia Informática
SumárioEspaços de SoluçõesMétodos de procuraAlgoritmos Genéticos01-10-2010Aprendizagem Automática / Machine Learning2
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.01-10-2010Aprendizagem Automática / Machine Learning3
Espaço de soluçõesDadas 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 cidadesPodemos ver estas soluções ligadas entre si como um espaço / grafoUmas soluções podem ser transformadas noutras por (por exemplo) troca de posições entre duas cidades01-10-2010Aprendizagem Automática / Machine Learning4
Espaço de Soluções01-10-2010Aprendizagem Automática / Machine Learning5Custo Solução de mais baixo custo Soluçõespossíveis
Problema dos mínimos LocaisMínimos locaisCusto                                Valores de um Parâmetro01-10-2010Aprendizagem Automática / Machine Learning6
Métodos de procuraSequencial (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)SimulatedAnnealing (Arrefecimento simulado)Algoritmos Genéticos (Genetic / EvolutionaryAlgorithms)01-10-2010Aprendizagem Automática / Machine Learning7
SimulatedAnnealing[Kirkpatrick et al. 83]Semelhante ao processo de arrefecimento de ligas metálicasTenta prevenir problema dos mínimos locaisExploração aleatóriaAceita novo estado Sempre que estado é melhor
Com uma probabilidade decrescente, mesmo quando é pior (prob. controlada por diferença ao melhor e temperatura)01-10-2010Aprendizagem Automática / Machine Learning8
SimulatedAnnealing[Kirkpatrick et al. 83]Probabilidade de aceitação de novo estado01-10-2010Aprendizagem Automática / Machine Learning9
Algoritmos Genéticos (GA)[Holland 75]Inspirado na teoria da evolução das espéciesTenta encontrar soluções com maior aptidão:gerando uma “população” de soluções possíveis, avaliando-asmutando ou recombinando as mais promissoras, gerando nova população01-10-2010Aprendizagem Automática / Machine Learning10
GA: Aptidão / FitnessCapacidade para resolver o problemaInverso do erro / custoAdequação de um padrão à resolução do problemaConveniente que seja um número real e que as diferenças nas soluções sejam tão precisas quanto possívelAvaliação dos “sobreviventes”: Proporcional à qualidade da soluçãoN melhoresTorneio…01-10-2010Aprendizagem Automática / Machine Learning11
GA: Ciclo de VidaPara N gerações (ou até Fbest > E )Para Si (Espécime/Specimen) em populaçãoAvaliar Si -> Fi (Aptidão/Fitness)Escolher os melhores (Bi) (selectedpool / survivors)Gerar nova população, para SiSi = mutate(Ba): a = rand (prioridade aos mais aptos)? OUSi = crossover(Ba, Bb):  a, b = rand01-10-2010Aprendizagem Automática / Machine Learning12
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 peso01-10-2010Aprendizagem Automática / Machine Learning13
Problema 1 (KnapSack)Formulação para GA01-10-2010Aprendizagem Automática / Machine Learning14(20,2)(24,3)(10,2)(3,2)…1101…Cada quadrado indica se o pacote n é levado ou não
Problema 2 (Topologia)Dado um conjunto de problemas, qual a melhor topologia de rede para os resolver?01-10-2010Aprendizagem Automática / Machine Learning15
Problema 2 (Topologia)Qual a melhor topologia de uma rede neuronal?01-10-2010Aprendizagem Automática / Machine Learning16
Problema 3 (Caixeiro Viajante)Ordem das cidades a visitar de modo a diminuir o custo / distância   B, A, C, F, D, …01-10-2010Aprendizagem Automática / Machine Learning17
GA: Um espécime / specimen01-10-2010Aprendizagem Automática / Machine Learning181100101…B, A, C, F, D, …
GA: Mutação (Mutation)01-10-2010Aprendizagem Automática / Machine Learning191100101…1110001…A, B, C,  …A, C, B, ….
GA: Recombinação (Crossover)01-10-2010Aprendizagem Automática / Machine Learning20+crossover-point1100110…0110001…1100101…
EvolutionaryAlgorithmsPrincipais sub-tipos(ver discussão em GA-FAQ) [Heitkoetteret al. 94]GeneticAlgorithmsEvolutionaryProgramming / EvolutionStrategiesGeneticProgrammingClassifierSystems(NeuroEvolution)01-10-2010Aprendizagem Automática / Machine Learning21
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. RecursosváriossobreGA01-10-2010Aprendizagem Automática / Machine Learning22

Algoritmos Genéticos

  • 1.
    AprendizagemAutomáticaMestrado emEngenharia Informática
  • 2.
    SumárioEspaços de SoluçõesMétodosde procuraAlgoritmos Genéticos01-10-2010Aprendizagem Automática / Machine Learning2
  • 3.
    Problema (Caixeiro Viajante)Dadoum 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.01-10-2010Aprendizagem Automática / Machine Learning3
  • 4.
    Espaço de soluçõesDadasas 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 cidadesPodemos ver estas soluções ligadas entre si como um espaço / grafoUmas soluções podem ser transformadas noutras por (por exemplo) troca de posições entre duas cidades01-10-2010Aprendizagem Automática / Machine Learning4
  • 5.
    Espaço de Soluções01-10-2010AprendizagemAutomática / Machine Learning5Custo Solução de mais baixo custo Soluçõespossíveis
  • 6.
    Problema dos mínimosLocaisMínimos locaisCusto Valores de um Parâmetro01-10-2010Aprendizagem Automática / Machine Learning6
  • 7.
    Métodos de procuraSequencial(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)SimulatedAnnealing (Arrefecimento simulado)Algoritmos Genéticos (Genetic / EvolutionaryAlgorithms)01-10-2010Aprendizagem Automática / Machine Learning7
  • 8.
    SimulatedAnnealing[Kirkpatrick et al.83]Semelhante ao processo de arrefecimento de ligas metálicasTenta prevenir problema dos mínimos locaisExploração aleatóriaAceita novo estado Sempre que estado é melhor
  • 9.
    Com uma probabilidadedecrescente, mesmo quando é pior (prob. controlada por diferença ao melhor e temperatura)01-10-2010Aprendizagem Automática / Machine Learning8
  • 10.
    SimulatedAnnealing[Kirkpatrick et al.83]Probabilidade de aceitação de novo estado01-10-2010Aprendizagem Automática / Machine Learning9
  • 11.
    Algoritmos Genéticos (GA)[Holland75]Inspirado na teoria da evolução das espéciesTenta encontrar soluções com maior aptidão:gerando uma “população” de soluções possíveis, avaliando-asmutando ou recombinando as mais promissoras, gerando nova população01-10-2010Aprendizagem Automática / Machine Learning10
  • 12.
    GA: Aptidão /FitnessCapacidade para resolver o problemaInverso do erro / custoAdequação de um padrão à resolução do problemaConveniente que seja um número real e que as diferenças nas soluções sejam tão precisas quanto possívelAvaliação dos “sobreviventes”: Proporcional à qualidade da soluçãoN melhoresTorneio…01-10-2010Aprendizagem Automática / Machine Learning11
  • 13.
    GA: Ciclo deVidaPara N gerações (ou até Fbest > E )Para Si (Espécime/Specimen) em populaçãoAvaliar Si -> Fi (Aptidão/Fitness)Escolher os melhores (Bi) (selectedpool / survivors)Gerar nova população, para SiSi = mutate(Ba): a = rand (prioridade aos mais aptos)? OUSi = crossover(Ba, Bb): a, b = rand01-10-2010Aprendizagem Automática / Machine Learning12
  • 14.
    Problema 1 (KnapSack)Dadauma 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 peso01-10-2010Aprendizagem Automática / Machine Learning13
  • 15.
    Problema 1 (KnapSack)Formulaçãopara GA01-10-2010Aprendizagem Automática / Machine Learning14(20,2)(24,3)(10,2)(3,2)…1101…Cada quadrado indica se o pacote n é levado ou não
  • 16.
    Problema 2 (Topologia)Dadoum conjunto de problemas, qual a melhor topologia de rede para os resolver?01-10-2010Aprendizagem Automática / Machine Learning15
  • 17.
    Problema 2 (Topologia)Quala melhor topologia de uma rede neuronal?01-10-2010Aprendizagem Automática / Machine Learning16
  • 18.
    Problema 3 (CaixeiroViajante)Ordem das cidades a visitar de modo a diminuir o custo / distância B, A, C, F, D, …01-10-2010Aprendizagem Automática / Machine Learning17
  • 19.
    GA: Um espécime/ specimen01-10-2010Aprendizagem Automática / Machine Learning181100101…B, A, C, F, D, …
  • 20.
    GA: Mutação (Mutation)01-10-2010AprendizagemAutomática / Machine Learning191100101…1110001…A, B, C, …A, C, B, ….
  • 21.
    GA: Recombinação (Crossover)01-10-2010AprendizagemAutomática / Machine Learning20+crossover-point1100110…0110001…1100101…
  • 22.
    EvolutionaryAlgorithmsPrincipais sub-tipos(ver discussãoem GA-FAQ) [Heitkoetteret al. 94]GeneticAlgorithmsEvolutionaryProgramming / EvolutionStrategiesGeneticProgrammingClassifierSystems(NeuroEvolution)01-10-2010Aprendizagem Automática / Machine Learning21
  • 23.
    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. RecursosváriossobreGA01-10-2010Aprendizagem Automática / Machine Learning22