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.

Slides:



Advertisements
Apresentações semelhantes
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Advertisements

Listas Encadeadas Circulares Listas Duplamente Encadeadas
Modelagem computacional no ensino de Física
Técnicas e Projeto de Sistemas André Mesquita Rincon Processo de Software Técnico Subsequente – Módulo III.
PROGRESSÃO ARITMÉTICA P.A.
Técnicas e Projeto de Sistemas
Técnicas e Projeto de Sistemas
INTRODUÇÃO À COMPUTAÇÃO PARALELA
Modelagem por elementos finitos da evolução
SISTEMAS DE NUMERAÇÃO Material elaborado pelo Prof. José Luiz Mendes e alterado pela Profa Janine.
Treinamento GP3 USP – GEFIM Abril de 2004 Alcides Pietro, PMP.
Exemplos de 3 posições relativas de prédio fronteiro
Prof. Dr. Helder Anibal Hermini
Prof. Dr. Helder Anibal Hermini. SUMÁRIO Algumas Aplicações O Treinamento da RNA Redes Neurais em Identificação e Controle de Processos Redes Neurais.
Prof. Dr. Helder Anibal Hermini
Reconstrução filogenética: Inferência Bayesiana
Criptografia Quântica : Um Estudo
Teste Funcional de Software
Análise e Solução de Problemas
Compressão por Hardware
Algoritmos Genéticos - Capítulo 10 Desvantagens da Representação Binária Prof. Ricardo Linden.
Algoritmos Genéticos – Capítulo 12
Processamento de Imagens
Mais sobre classes Baseada no Livro: Deitel&Deitel - C++ How To program Cap. 7 Prentice Hall 1994 SCE 213 Programação Orientada a Objetos, ICMC - USP 2.
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Geração de Código Algoritmo de Escalonamento de instruções – List Scheduling.
O Fluxo de Testes © Alexandre Vasconcelos
Estatística: Aplicação ao Sensoriamento Remoto SER 202 Aula 01 - ANO 2013 Camilo Daleles Rennó
"Tudo o que acontece, acontece em algum lugar." Gilberto Câmara - INPE Gilberto Câmara - INPE.
Sistemas de Tutoria Inteligente (STI) Visam proporcionar instrução de forma adaptada a cada aprendiz. STIs adaptam o processo de instrução a determinadas.
CT-300 – Seminário de Tese 1/25 Um Framework Padrão para Simulação de Modelos de Robôs Móveis de Robôs Móveis Juliano A. Pereira Prof. Carlos H. C. Ribeiro.
Curriculum and Instruction in Automated Tutors in Polson & Richardson Resumo.
PRÉ PROVA – BANCO DO BRASIL
Modulo Especialista.
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
Probabilidade e Esperança Condicional
Estatística Dados valores (amostras) de variáveis aleatórias X 1, X 2,..., X n, cuja distribuição conjunta é desconhecida, inferir propriedades desta distribuição.
III – Uso Infraestrutura – Empresa Digital Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018 O Produto Internet e suas Aplicações.
Tema I TEMA DE DISCUSSÃO I Prof. Dr. Marcio Lobo Netto 1 o. Período / 2004 Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018.
I – Informação Digital – Tema de Discussão Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018 O Produto Internet e suas Aplicações.
I – Informação Digital – Trabalho Grupo Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP-018 – O Produto Internet e suas Aplicações.
MAC499 - Trabalho de Formatura Supervisionado Sistema de Reconhecimento de Escrita On-Line.
BlastPhen Aluno: Ricardo Nishikido Pereira
Mac-499 Trabalho de Formatura Supervisionado
TÉCNICAS DE CODIFICAÇÃO DE SINAIS
TE 043 CIRCUITOS DE RÁDIO-FREQÜÊNCIA
M e d A d m i n. Quem é o público alvo da ideia? Profissionais vinculados à área da saúde, em particular, àqueles responsáveis pela administração de medicamentos,
Interpolação Introdução Conceito de Interpolação
8.EQUAÇÕES DIFERENCIAIS ORDINÁRIAS Parte 5
Resolução de Sistemas Não-Lineares- Parte 1
Sistemas Lineares Parte 2
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
7. INTEGRAÇÃO NUMÉRICA Parte 1
UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Recursividade Estrutura de Dados.
Introdução à Probabilidade
The Data Warehouse Toolkit
Otimização Aplicada ao Dimensionamento e Operação de Reservatórios
LINGUAGENS DE PROGRAMAÇÃO
Internet Aula 03. Histórico Durante a guerra fria, os EUA tiveram a necessidade de interligar laboratórios que trabalhavam para os militares; Essa interligação.
Redes para Automação Industrial Capítulo 1: Automação Industrial
Robótica: Sistemas Sensorial e Motor
Prof. André Laurindo Maitelli DCA-UFRN
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
1 Seja o resultado de um experimento aleatório. Suponha que uma forma de onda é associada a cada resultado.A coleção de tais formas de ondas formam um.
8. Uma Função de duas Variáveis Aleatórias
Provas de Concursos Anteriores
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Transcrição da apresentação:

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 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 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 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 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 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 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 Á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 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 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 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 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 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 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 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 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 Módulos Básicos de um Algoritmo Evolutivo Initial population Current population Reproduction (Pr) Crossover (Pc) Mutation (Pm) New population Solution

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

19 Algoritmos Genéticos

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 Algoritmos Genéticos

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 Sistemas Classificadores

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 Princípio de Operação: Uma Visão Pictórica

26 Exemplo de Aplicação: Otimização de Parâmetros de Uma Caixa Preta

27 Exemplo de Aplicação: Otimização de Parâmetros de Uma Caixa Preta

FENÓTIPO GENÓTIPO

29 Exemplo de Aplicação: Otimização de Parâmetros de Uma Caixa Preta cromossomo associado à solução candidata apresentada na figura : número de possíveis configurações de botões (soluções candidatas): ,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 Exemplo de Aplicação: Otimização de Parâmetros de Uma Caixa Preta

31 Exemplo de Aplicação: Problema do Caixeiro Viajante

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, 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 FENÓTIPO GENÓTIPO

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: (dentre os possíveis 9, candidatos) tempo de simulação em um Pentium III 450 MHz: 287 segundos

35 Exemplo de Aplicação: Problema do Caixeiro Viajante

36 Contraste com uma abordagem via redes neurais artificiais auto-organizáveis

37 Problema do Quadrado Mágico

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 Computação Inspirada na Natureza zSistemas Imunológicos Artificiais zParticle Swarm zArmy Ants zAutômatos Celulares zVida Artificial

40 Paradigmas zNo free lunch zSistemas Híbridos zAtuação Multidisciplinar zPrincípio da Parcimônia

41 Conclusão

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