Tópicos Avançados em Inteligência Artificial 2015-1 (Computação Evolutiva)
Departamento de Estatística e Informática - DEINFO
Universidade Federal Rural de Pernambuco - UFRPE
Bacharelado em Sistemas de Informação - BSI
Introdução à Computação Evolucionária, Algoritmos Evolucionários: Algoritmos Genéticos, Estratégias de Evolução, Programação Evolucionária, Programação Genética. Controle de Parâmetros em Algoritmos Evolucionários. Problemas Multi-modais e Multi-objetivos. MOEAs: Algoritmos Evolucionários Multiobjetivo. Algoritmos Meméticos (híbridos). Algoritmos Evolucionários para Problemas com Restrições. Como Implementar e Testar Algoritmos Evolucionários. Tópicos Avançados. Aplicações.
1. Introdução à Computação Evolucionária
1.1. Metáfora de EC para resolução de problemas.
1.2. Histórico.
1.3. Fundamentação biológica.
1.4. Empregos da EC no mundo real
2. Algoritmos Evolucionários
2.1. Definição.
2.2. Componentes de um AE.
2.3. Exemplos de aplicações.
2.4. Características do funcionamento de um AE.
2.5. EC e otimização
3. Algoritmos Genéticos
3.1. Representação
3.2. Operadores de mutação e recombinação
3.3. Modelos de populações
3.4. Seleção de pais e sobreviventes
4. Estratégias de Evolução
4.1. Representação
4.2. Operadores de mutação e recombinação
4.3. Seleção de pais e sobreviventes
4.4. Auto-adaptação
5. Programação Evolucionária
5.1. Representação
5.2. Operador de mutação
5.3. Seleção de pais e sobreviventes
6. Programação Genética.
6.1. Representação
6.2. Operadores de mutação e recombinação
6.3. Seleção de pais e sobreviventes
6.4. Crescimento (bloat) em GP
6.5. Problema envolvendo ambientes físicos
7. Controle de Parâmetros em Algoritmos Evolucionários.
7.1. Exemplos de parâmetros variantes
7.2. Classificação das técnicas de controle param étrico
7.3. Estratégias e exemplos de variações de parâmetros em EAs
8. Problemas Multi-modais e Multi-objetivos.
8.1. Problemas multi-modais e a necessidade de diversidade
8.2. Métricas implícitas
8.3. Manutenção da diversidade explícita
8.4. EAs multi-objetivos
9. MOEAs: Algoritmos Evolucionários Multiobjetivo.
9.1. Introdução: Otimização multi-objetivo
9.2. Modelos Clássicos de EMO
9.3. Filosofia de modelos EMO
9.4. Aplicações
9.5. Desafios atuais
10. Algoritmos Meméticos (híbridos).
10.1. Motivações
10.2. Introdução à busca local
10.3. Estrutura de um Algoritmo Memético
10.4. Projeto de um Algoritmo Memético
10.5. Outros modelos híbridos
10.6. Motivações
11. Como Implementar e Testar Algoritmos Evolucionários.
11.1. Métricas de desempenho
11.2. Benchmarks para testes
11.3. Exemplos de Aplicações
NOTA 1V.A. (Trabalhos escritos -70% + trabalhos escolares práticos-30%)
NOTA 2V.A. (Trabalhos escritos -30% + trabalhos escolares práticos-70%)
NOTA 3V.A. (Prova 100%)
PROVA FINAL
Clique aqui
BÁSICA:
1. Eiben, A. E. and Smith, J. E. (2010). Introduction to Evolutionary Computing. Springer. ISBN: 9783642072857.
2. De Jong, K. A. (2006). Evolutionary computation: a unified approach. Cambridge: MIT press. ISBN: 9780262041942.
3. Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, Ma: Addison-Wesley. ISBN: 978-0201157673
COMPLEMENTAR:
1. Ghosh, A. & Tsutsui, S. (Eds.) (2003). Advances in Evolutionary Computing: Theory and Applications. Springer.
2. Kallel, L., Naudts, B., & Rogers, A. (Eds.) (2001). Theoretical Aspects of Evolutionary Computing. Springer.
3. Carlos A. Coello Coello, Gary B. Lamont, David A. van Veldhuizen (2007). Evolutionary Algorithms for Solving Multi-Objective Problems. Springer. ISBN: 9780387332543
4. Kalyanmoy Deb (2009). Multi-Objective Optimization Using Evolutionary Algorithms. Wiley. ISBN: 9780470743614.
5. STUART RUSSELL; PETER NORVIG (2010). ARTIFICIAL INTELLIGENCE. Pearson Education. ISBN: 9780136042594.
1. Evolutionary Computation
2. IEEE Transactions on Evolutionary Computation
3. Applied Soft Computing
4. Applied Intelligence
5. IEEE Congress on Evolutionary Computation (IEEE CEC)
6. IEEE World Congress on Computational Intelligence (IEEE WCCI)
7. Genetic and Evolutionary Computation Conference (GECCO)
8. Congresso Brasileiro de Inteligência Computacional (CBIC)
9. Brazilian Symposium on Artificial Intelligence (SBIA)
0. JMETAL - http://sourceforge.net/projects/jmetal/
1. PISA - http://www.tik.ee.ethz.ch/pisa/
2. CILIB – Computational Intelligence Library - http://www.cilib.net/
3. PYEvolve - http://pyevolve.sourceforge.net
4. Java GALib -http://sourceforge.net/projects/java-galib/
5. ParadisEO -http://paradiseo.gforge.inria.fr/
6. Opt4J - http://opt4j.sourceforge.net/features.html
7. MOEA Framework -http://www.moeaframework.org/index.html
8. JENES - http://jenes.intelligentia.it/
9. EO - http://eodev.sourceforge.net/
10. Open BEAGLE - http://code.google.com/p/beagle/
11. GAA - http://www.aridolan.com/ofiles/ga/gaa/gaa.aspx
12. HeuristicLab - http://dev.heuristiclab.com/trac/hl/core
13. JCLEC - http://jclec.sourceforge.net/
14. ECJ - http://cs.gmu.edu/~eclab/projects/ecj/
15. JGAP - http://jgap.sourceforge.net/
16. JavaEVA - http://www.ra.cs.uni-tuebingen.de/software/JavaEvA/
17.Watchmaker Framework (multithread!) - http://watchmaker.uncommons.org/
Universidade Federal Rural de Pernambuco - UFRPE
Bacharelado em Sistemas de Informação - BSI
Professor
Cícero GarroziIdentificação da Disciplina
- Código: 14024
- Carga horária total: 60h
- Carga horária semanal: 4h (4 teóricas)
- Número de créditos: 4
- Turma: GE3
- Aulas: terças das 8h às 10h, sextas das 10h às 12 - DEINFO UFRPE
Ementa
Introdução à Computação Evolucionária, Algoritmos Evolucionários: Algoritmos Genéticos, Estratégias de Evolução, Programação Evolucionária, Programação Genética. Controle de Parâmetros em Algoritmos Evolucionários. Problemas Multi-modais e Multi-objetivos. MOEAs: Algoritmos Evolucionários Multiobjetivo. Algoritmos Meméticos (híbridos). Algoritmos Evolucionários para Problemas com Restrições. Como Implementar e Testar Algoritmos Evolucionários. Tópicos Avançados. Aplicações.
Conteúdo Programático
1. Introdução à Computação Evolucionária
1.1. Metáfora de EC para resolução de problemas.
1.2. Histórico.
1.3. Fundamentação biológica.
1.4. Empregos da EC no mundo real
2. Algoritmos Evolucionários
2.1. Definição.
2.2. Componentes de um AE.
2.3. Exemplos de aplicações.
2.4. Características do funcionamento de um AE.
2.5. EC e otimização
3. Algoritmos Genéticos
3.1. Representação
3.2. Operadores de mutação e recombinação
3.3. Modelos de populações
3.4. Seleção de pais e sobreviventes
4. Estratégias de Evolução
4.1. Representação
4.2. Operadores de mutação e recombinação
4.3. Seleção de pais e sobreviventes
4.4. Auto-adaptação
5. Programação Evolucionária
5.1. Representação
5.2. Operador de mutação
5.3. Seleção de pais e sobreviventes
6. Programação Genética.
6.1. Representação
6.2. Operadores de mutação e recombinação
6.3. Seleção de pais e sobreviventes
6.4. Crescimento (bloat) em GP
6.5. Problema envolvendo ambientes físicos
7. Controle de Parâmetros em Algoritmos Evolucionários.
7.1. Exemplos de parâmetros variantes
7.2. Classificação das técnicas de controle param étrico
7.3. Estratégias e exemplos de variações de parâmetros em EAs
8. Problemas Multi-modais e Multi-objetivos.
8.1. Problemas multi-modais e a necessidade de diversidade
8.2. Métricas implícitas
8.3. Manutenção da diversidade explícita
8.4. EAs multi-objetivos
9. MOEAs: Algoritmos Evolucionários Multiobjetivo.
9.1. Introdução: Otimização multi-objetivo
9.2. Modelos Clássicos de EMO
9.3. Filosofia de modelos EMO
9.4. Aplicações
9.5. Desafios atuais
10. Algoritmos Meméticos (híbridos).
10.1. Motivações
10.2. Introdução à busca local
10.3. Estrutura de um Algoritmo Memético
10.4. Projeto de um Algoritmo Memético
10.5. Outros modelos híbridos
10.6. Motivações
11. Como Implementar e Testar Algoritmos Evolucionários.
11.1. Métricas de desempenho
11.2. Benchmarks para testes
11.3. Exemplos de Aplicações
Avaliações
NOTA 1V.A. (Trabalhos escritos -70% + trabalhos escolares práticos-30%)
NOTA 2V.A. (Trabalhos escritos -30% + trabalhos escolares práticos-70%)
NOTA 3V.A. (Prova 100%)
PROVA FINAL
Cronograma, Slides, Materiais
Clique aqui
Bibliiografia
BÁSICA:
1. Eiben, A. E. and Smith, J. E. (2010). Introduction to Evolutionary Computing. Springer. ISBN: 9783642072857.
2. De Jong, K. A. (2006). Evolutionary computation: a unified approach. Cambridge: MIT press. ISBN: 9780262041942.
3. Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, Ma: Addison-Wesley. ISBN: 978-0201157673
COMPLEMENTAR:
1. Ghosh, A. & Tsutsui, S. (Eds.) (2003). Advances in Evolutionary Computing: Theory and Applications. Springer.
2. Kallel, L., Naudts, B., & Rogers, A. (Eds.) (2001). Theoretical Aspects of Evolutionary Computing. Springer.
3. Carlos A. Coello Coello, Gary B. Lamont, David A. van Veldhuizen (2007). Evolutionary Algorithms for Solving Multi-Objective Problems. Springer. ISBN: 9780387332543
4. Kalyanmoy Deb (2009). Multi-Objective Optimization Using Evolutionary Algorithms. Wiley. ISBN: 9780470743614.
5. STUART RUSSELL; PETER NORVIG (2010). ARTIFICIAL INTELLIGENCE. Pearson Education. ISBN: 9780136042594.
Congressos e Periódicos
1. Evolutionary Computation
2. IEEE Transactions on Evolutionary Computation
3. Applied Soft Computing
4. Applied Intelligence
5. IEEE Congress on Evolutionary Computation (IEEE CEC)
6. IEEE World Congress on Computational Intelligence (IEEE WCCI)
7. Genetic and Evolutionary Computation Conference (GECCO)
8. Congresso Brasileiro de Inteligência Computacional (CBIC)
9. Brazilian Symposium on Artificial Intelligence (SBIA)
Simuladores e Frameworks
0. JMETAL - http://sourceforge.net/projects/jmetal/
1. PISA - http://www.tik.ee.ethz.ch/pisa/
2. CILIB – Computational Intelligence Library - http://www.cilib.net/
3. PYEvolve - http://pyevolve.sourceforge.net
4. Java GALib -http://sourceforge.net/projects/java-galib/
5. ParadisEO -http://paradiseo.gforge.inria.fr/
6. Opt4J - http://opt4j.sourceforge.net/features.html
7. MOEA Framework -http://www.moeaframework.org/index.html
8. JENES - http://jenes.intelligentia.it/
9. EO - http://eodev.sourceforge.net/
10. Open BEAGLE - http://code.google.com/p/beagle/
11. GAA - http://www.aridolan.com/ofiles/ga/gaa/gaa.aspx
12. HeuristicLab - http://dev.heuristiclab.com/trac/hl/core
13. JCLEC - http://jclec.sourceforge.net/
14. ECJ - http://cs.gmu.edu/~eclab/projects/ecj/
15. JGAP - http://jgap.sourceforge.net/
16. JavaEVA - http://www.ra.cs.uni-tuebingen.de/software/JavaEvA/
17.Watchmaker Framework (multithread!) - http://watchmaker.uncommons.org/