Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLara Andrada Alterado mais de 10 anos atrás
1
1 Computação Evolutiva: Uma Nova Forma de Resolver Problemas DCA-FEEC-Unicamp Fernando J. Von Zuben ftp://ftp.dca.fee.unicamp.br/pub/docs/vonzuben/tutorial/apresEC.pdf
2
2 Motivação zSe há uma multiplicidade impressionante de algoritmos para solução de problemas, por que então existe a necessidade de novas abordagens? zPorque problemas importantes continuam sendo difíceis de resolver.
3
3 Motivação zPor que alguns problemas continuam sendo difíceis de resolver? zPorque as seguintes características (isoladas ou em conjunto) impedem o uso ou degradam o efeito da aplicação de algoritmos clássicos: intratabilidade matemática, não-linearidades, ausência de informação suficiente acerca do problema, observações ruidosas, variação no tempo, descontinuidade, explosão combinatória de candidatos à solução.
4
4 Motivação zMas e se eu simplificar ou realizar aproximações junto ao problema? zA aplicabilidade dos algoritmos clássicos aumenta. Mas vão continuar a existir problemas importantes e difíceis de resolver, e vai aumentar a probabilidade de se obter a resposta certa do problema errado.
5
5 Motivação zMuito bem. Então, que nova abordagem poderia substituir as abordagens clássicas? zA computação evolutiva é uma candidata, embora não seja a única.
6
6 Introdução zTécnicas de solução de problemas inspiradas na natureza yserá que o homem teria perseguido tão tenazmente a idéia de voar se não existissem animais que voam? yos benefícios advindos da imitação de processos observados na natureza são inquestionáveis. yEsta imitação pode se dar em vários níveis: ufonte de inspiração (animais que voam); usimulação de comportamentos (insetos sociais, táticas de caça); umecanismos de processamento de informação (seleção natural); ureprodução na forma de dispositivos físicos (antenas).
7
7 Introdução zo objetivo nem sempre envolve o tratamento de problemas exclusivamente com base em técnicas inspiradas na natureza, mas sim o desenvolvimento de sistemas híbridos. zefeito colateral marcante: a iniciativa de buscar imitar determinados processos naturais ajuda a entendê-los melhor. zprincípios éticos envolvidos: audácia ou ingenuidade? za disponibilidade de uma quantidade significativa de recursos computacionais é um requisito básico para viabilizar a implementação computacional.
8
8 Áreas de Atuação Científica zComputação Natural yInteligência Computacional yVida Artificial zInteligência Computacional yComputação Evolutiva yRedes Neurais zComputação Evolutiva yalgoritmos genéticos yestratégias evolutivas yprogramação evolutiva ySistemas Complexos yGeometria Fractal ySistemas Nebulosos yAgentes Autônomos ysistemas classificadores yprogramação genética
9
9 O que é Computação Evolutiva ? zComputação Evolutiva yModelo computacional de processos evolutivos naturais yFerramenta adaptativa para a solução de problemas yElemento gerador de criatividade zna prática: aplicação do processo de seleção natural como um paradigma de solução de problemas, a partir de sua implementação em computador. za vantagem mais significativa da computação evolutiva está na possibilidade de resolver problemas pela simples descrição matemática do que se quer ver presente na solução, não havendo necessidade de se indicar explicitamente os passos até o resultado, que certamente seriam específicos para cada caso.
10
10 O que é Computação Evolutiva ? zestrutura básica comum dos algoritmos evolutivos: realizam reprodução, impõem variações aleatórias, promovem competição e executam seleção de indivíduos de uma dada população. zo enfoque desta apresentação está vinculado ao emprego da computação evolutiva no desenvolvimento de técnicas para solução de problemas de otimização. zo problema a ser resolvido faz o papel do ambiente, e cada indivíduo da população é associado a uma solução- candidata. Sendo assim, um indivíduo vai estar mais adaptado ao ambiente sempre que ele corresponder a uma solução mais eficaz para o problema.
11
11 Computação Evolutiva como Estratégia de Solução de Problemas métodos fortes: são concebidos para resolverem problemas genéricos, mas foram desenvolvidos para operarem em um mundo específico, onde impera linearidade, continuidade, diferenciabilidade e/ou estacionariedade. Exemplo: método do gradiente e técnicas de programação linear (busca iterativa). métodos específicos: são concebidos para resolverem problemas específicos em mundos específicos. Exemplo: toda técnica que conduz a uma solução na forma fechada, como solução de sistemas lineares. métodos fracos: são concebidos para resolverem problemas genéricos em mundos genéricos. Operam em mundos não-lineares e não-estacionários, embora não garantam eficiência total na obtenção da solução. No entanto, geralmente garantem a obtenção de uma boa aproximação para a solução, requerendo uma quantidade aceitável de recursos computacionais. Exemplo: técnicas baseadas em computação evolutiva.
12
12 Histórico ztrês algoritmos para computação evolutiva foram desenvolvidos independentemente: algoritmos genéticos: Holland (1962), Bremermann (1962) e Fraser (1957); programação evolutiva: Fogel (1962); estratégias evolutivas: Rechenberg (1965) e Schwefel (1965). zhoje temos também os sistemas classificadores (Booker et al., 1989) e a programação genética (Koza, 1992). Uma coletânea dos artigos seminais, a partir de 1956, pode ser encontrada em Fogel (1998). zaprofundamento no estudo: Bäck (1996), (Bäck et al., 1997), (Bäck et al., 2000a,b), Davis (1991), Fogel (1999), Goldberg (1989), Holland (1992), Kinnear (1994), Koza (1992), Michalewicz (1996), Mitchell (1996) e Schwefel (1995).
13
13 Histórico zPesquisa de ponta yCongressos Anuais xCEC - IEEE Congress on Evolutionary Computation xGECCO - Genetic and Evolutionary Computation Conference yRevistas Especializadas xEvolutionary Computation - The MIT Press xIEEE Transactions on Evolutionary Computation zbuscas através da internet podem conduzir a sites interessantes e ricos em informação organizada na forma de hipertextos, mas nem todos os sites merecem esta classificação, sendo que o controle de qualidade deve ser feito pelo próprio usuário.
14
14 Evolução zBases Biológicas yGenética e Hereditariedade yTeoria da Evolução e Seleção Natural (Darwin) yNeodarwinismo zTerminologia Biológica ycromossomo ygenes yrecombinação (crossover) ymutação ygenótipo yfenótipo
15
15 Algoritmos Evolutivos zum indivíduo pode ser visto como uma dualidade entre seu código genético (genótipo) e suas características comportamentais, fisiológicas e morfológicas (fenótipo) zOs algoritmos evolutivos não devem ser considerados prontos para uso, mas sim um elenco de procedimentos gerais que podem ser prontamente adaptados a cada contexto de aplicação. Basicamente, eles são modelos computacionais que recebem como entrada: uma população de indivíduos em representação genotípica (geração inicial), que correspondem a soluções-candidatas junto a problemas específicos; e uma função que mede a adequação relativa de cada indivíduo (fenótipo) frente aos demais (função de adequação, adaptabilidade ou fitness).
16
16 Algoritmos Evolutivos zCaracterísticas Principais yAE's trabalham com a codificação de um indivíduo, e não com os próprios indivíduos yAE's fazem busca com base em uma população de indivíduos e não com base em um único indivíduo yAE's não requerem informações detalhadas acerca das propriedades do problema e dos indivíduos yGA's utilizam regras de transição probabilística, e não regras determinísticas zAlgoritmo Genético Clássico yCodificação Binária, Reprodução e Seleção Natural via algoritmo Roulette Wheel, Crossover Simples, Mutação
17
17 Módulos Básicos de um Algoritmo Evolutivo Initial population Current population Reproduction (Pr) Crossover (Pc) Mutation (Pm) New population Solution
18
18 Algoritmos Genéticos zRoullete Wheel yProbabilidade de seleção de um cromossomo é diretamente proporcional ao valor da função de fitness. zExemplo N Cromossomo Fitness Graus 1 0001100101010 6.0 180 2 0101001010101 3.0 90 3 1011110100101 1.5 45 4 1010010101001 1.5 45
19
19 Algoritmos Genéticos
20
20 Algoritmos Genéticos zProblemas com o algoritmo clássico yPermite a perda do melhor indivíduo yPosição do gene influi na probabilidade de realizar crossover yDificuldades quando os parâmetros são números reais zAlgumas estratégias de solução yCodificação em strings de números reais yCrossover Uniforme yMecanismos alternativos de seleção zAlgoritmo Genético Modificado yGeração de sub-populações por meio de operações sobre membros da população inicial e das próprias sub-populações yReprodução e re-classificação da população intermediária ySeleção para nova geração
21
21 Algoritmos Genéticos
22
22 Sistemas Classificadores (Classifier Systems) zSistemas Classificadores ySistemas baseados em regras e que interagem fortemente com o ambiente. zOperam em ambientes com as seguintes características: yEventos novos e sucessivos, acompanhados de fortes doses de ruído e dados irrelevantes yNecessidade de agir de maneira contínua e em tempo real yMetas implícitas ou inexatas yRecompensas esparsas, obtidas depois de ações continuadas zCriados p/ absorver novas informações continuamente, yAvaliando conjuntos de hipóteses competindo entre si, sem prejudicar as capacidades já adquiridas.
23
23 Sistemas Classificadores
24
24 Sistemas Híbridos zCombinações entre sistemas ycomputação evolutiva yredes neurais ysistemas fuzzy (sistemas nebulosos) yagentes autônomos zResultados ysistemas fuzzy-genéticos ysistemas neuro-fuzzy ysistemas neuro-fuzzy-genéticos
25
25 Princípio de Operação: Uma Visão Pictórica
26
26 Exemplo de Aplicação: Otimização de Parâmetros de Uma Caixa Preta
27
27 Exemplo de Aplicação: Otimização de Parâmetros de Uma Caixa Preta
28
28 001001001111011011011000000011111001 FENÓTIPO GENÓTIPO
29
29 Exemplo de Aplicação: Otimização de Parâmetros de Uma Caixa Preta cromossomo associado à solução candidata apresentada na figura : 001001001111011011011000000011111001 número de possíveis configurações de botões (soluções candidatas): 2 36 68,72*10 9 operadores genéticos: mutação simples e crossover uniforme valores arbitrados pelo usuário: probabilidade de bits 1 nos cromossomos da população inicial: 50% taxa de mutação: 3% taxa de crossover: 60% tipo de seleção para aplicação de crossover: bi-classista (50% dos melhores e 10% dos piores indivíduos)
30
30 Exemplo de Aplicação: Otimização de Parâmetros de Uma Caixa Preta
31
31 Exemplo de Aplicação: Problema do Caixeiro Viajante
32
32 Exemplo de Aplicação: Problema do Caixeiro Viajante zCodificação representação inteira: cada cromossomo conterá todos os números de 1 a 100 (cada número associado a uma cidade, e a ordem de aparecimento dos números no cromossomo vai indicar o percurso, sendo necessário fechar o percurso da última para a primeira cidade. Detalhe: como se trata de um percurso fechado, a origem do percurso pode ser qualquer uma das cidades, ao menos para efeito da implementação computacional. número de possíveis percursos: 99! 9,33 10 155 função de adequação (fitness): o inverso da distância associada a cada percurso. solução ótima: desconhecida, em razão da impossibilidade de testar todas as soluções candidatas (único meio existente para se garantir a obtenção da solução ótima);
33
33 FENÓTIPO GENÓTIPO 1 2 3 4 6 5 7 8 9 10 11 12 1 2 3 5 6 7 12 11 10 9 8 4
34
34 Exemplo de Aplicação: Problema do Caixeiro Viajante valores arbitrados pelo usuário: tipo de mutação: sorteio de duas cidades para troca de posição taxa de mutação: 1% tipo de crossover: OX (uma espécie de crossover de um ponto, caracterizado pela junção de uma parte de um cromossomo com a parte de um outro, mas com a substituição das cidades repetidas pelas ausentes, na seqüência) taxa de crossover: 60% tipo de seleção: rank ou torneio (50% dos melhores) número de indivíduos testados: 400000 (dentre os possíveis 9,33 10 155 candidatos) tempo de simulação em um Pentium III 450 MHz: 287 segundos
35
35 Exemplo de Aplicação: Problema do Caixeiro Viajante
36
36 Contraste com uma abordagem via redes neurais artificiais auto-organizáveis
37
37 Problema do Quadrado Mágico
38
38 Visão Geral zCompromisso nunca antes atingido entre exploração e explotação zPrincípio de operação do método científico zMétodos específicos Métodos genéricos zPrincípio da força bruta
39
39 Computação Inspirada na Natureza zSistemas Imunológicos Artificiais zParticle Swarm zArmy Ants zAutômatos Celulares zVida Artificial
40
40 Paradigmas zNo free lunch zSistemas Híbridos zAtuação Multidisciplinar zPrincípio da Parcimônia
41
41 Conclusão
42
42 Grupo de Inteligência Computacional na FEEC/Unicamp zMembros do Grupo yProf. Dr. Fernando Antonio Campos Gomide yProf. Dr. Fernando José Von Zuben yProf. Dr. Márcio Luiz de Andrade Netto yProf. Dr. Ricardo Ribeiro Gudwin zCursos de Pós-graduação yRedes Neurais (I e II) ySistemas Nebulosos yComputação Evolutiva yAgentes Inteligentes ySemiótica Computacional
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.