A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google