Algoritmos Geneticos - CEAR

Propaganda
Algoritmos Genéticos
Fundamentos e Aplicações
Prof. Juan Moisés Mauricio Villanueva
[email protected]
Conteúdo
• Introdução
• Inteligência Artificial (IA)
• Algoritmos Genéticos
• Aplicações de Algoritmos Genéticos
• Conclusões e Recomendações
2
Introdução
• Diversos problemas de ciência e engenharia
requerem aplicar técnicas de optimização.
 Optimização de parâmetros
 Consideração de restrições dos parâmetros
 Um amplo espaço de busca de soluções
3
Introdução
• Exemplos de problemas em que se
implementar procedimentos de optimização
requer
 Optimização de funções matemáticas
 Problema do carteiro viajante
 Optimização de rotas de veículos
 Optimização de projeto de circuitos eletrônicos
 Optimização de planejamento e distribuição
4
Introdução
 Optimização de funções matemáticas
 Problema do carteiro viajante
 Optimização de rotas de veículos
 Optimização de projeto de circuitos eletrônicos
 Optimização de planejamento e distribuição
Uma grande quantidade de possíveis soluções
Restrições das variáveis
Problemas de Minimização/Maximização
5
Inteligência Artificial (IA)
• São técnicas e sistemas computacionais que imitan
aspectos humanos em computadores, tais como:
 Percepção
 Raciocinio
 Aprendizajem
 Evolução
 Adaptação
6
Inteligência Artificial (IA)
• As técnicas de inteligência computacional estão
inspiradas na natureza e compreendem:
Algoritmos Genéticos
Evolução Biológica
Redes Neurais
Neurônios Biológicas
Lógica Fuzzy
Processamento Linguístico
Sistemas Especialistas
Inferência Humana
7
Algoritmos Genéticos
• Algoritmo de busca e optimização inspirado na
seleção natural e reprodução genética
Seleção do mais apto
Reprodução Genética
8
Algoritmos Genéticos
Seleção do mais apto
Reprodução Genética
Paradigma utilizado para a implementação de
algoritmos evolutivos para optimização
9
Algoritmos Genéticos
• Problema de minimização de uma função matemática
y_max
y  x2
y  min  f ( x)
31  x  31
0  y  961
x 0, y 0
y_min
x_min
0
x_max
10
Ciclo de um Algoritmo Genético
x
10
8
-3
7
-6
População Inicial de Indivíduos
Codificação Avaliação y=f(x)
0 01010
100
0 01000
64
1 00011
9
0 00111
49
1 00110
36
Pais
11
Ciclo de um Algoritmo Genético
x
10
8
-3
7
-6
x
-3
-6
População Inicial de Indivíduos
Codificação Avaliação y=f(x)
0 01010
100
0 01000
64
1 00011
9
0 00111
49
1 00110
36
Codificação Avaliação y=f(x)
1 00011
9
1 00110
36
12
Ciclo de um Algoritmo Genético
x
10
8
-3
7
-6
População Inicial de Indivíduos
Codificação Avaliação y=f(x)
0 01010
100
0 01000
64
1 00011
9
0 00111
49
1 00110
36
1 000 11
1 0 0 0 1 0 =-2
1 00 110
1 0 0 1 1 1 =-7
1 00 111
1 1 0 1 1 1 =-23
13
Ciclo de um Algoritmo Genético
x
10
8
-3
7
-6
1 0 0 0 1 0 =-2
1 0 0 1 1 1 =-7
1 1 0 1 1 1 =-23
População Inicial de Indivíduos
Codificação Avaliação y=f(x)
0 01010
100
0 01000
64
1 00011
9
0 00111
49
1 00110
36
1 000 11
1 0 0 0 1 0 =-2
1 00 110
1 0 0 1 1 1 =-7
1 00 111
1 1 0 1 1 1 =-23
14
Ciclo de um Algoritmo Genético
y1  f (7)  49
y2  f (2)  4
y3  f (23)  529
x
10
8
-3
7
-6
População Inicial de Individuos
Codificação Avaliação y=f(x)
0 01010
100
0 01000
64
1 00011
9
0 00111
49
1 00110
36
y=f(x)
1 0 0 0 1 0 =-2
1 0 0 1 1 1 =-7
1 0 0 1 1 1 =-7
1 0 0 0 1 0 =-2
1 1 0 1 1 1 =-23
1 1 0 1 1 1 =-23
15
Ciclo de um Algoritmo Genético
y1  f (7)  49
y2  f (2)  4
y3  f (23)  529
x
10
8
-3
7
-6
População Inicial de Indivíduos
Codificação Avaliação y=f(x)
0 01010
100
0 01000
64
1 00011
9
0 00111
49
1 00110
36
y=f(x)
1 0 0 0 1 0 =-2
1 0 0 1 1 1 =-7
1 0 0 1 1 1 =-7
1 0 0 0 1 0 =-2
1 1 0 1 1 1 =-23
1 1 0 1 1 1 =-23
16
Ciclo de um Algoritmo Genético
x
-2
8
-3
7
-6
Nova População de Indivíduos
Codificação Avaliação y=f(x)
0 00010
4
0 01000
64
1 00011
9
0 00111
49
1 00110
36
y=f(x)
17
Evolução do AG
• A evolução da optimização é observada através da
função de fitness (Função de Avaliação)
y  x2
18
Algoritmos Genéticos
• Algoritmo de busca e optimização inspirado na
seleção natural e reprodução genética
• Algoritmos Genéticos empregam um processo
adaptativo e paralelo de busca de soluções em
problemas complexos
• Combina a sobrevivência do individuo mais apto e o
cruzamento aleatório da informação
19
Aplicações de AGs
 Optimização de funções matemáticas
 Problema do carteiro viajante
 Optimização de rotas de veículos
 Optimização de projeto de circuitos eletrônicos
 Optimização de planejamento e distribuição
20
Optimização de Funções
Matemáticas
• Maximizar a função F6(x,y)
sen

F 6( x, y )  0.5 
2
  0.5
2
y
x y
2
1  0.001 x
2
2

2
100  x  100
100  y  100
21
Problema do Carteiro Viajante
• Se desejam visitar as cidades desde um ponto de
partida, com a menor distância e sem passar dois
vezes pela mesma cidade
( N  1)!
2
Para N  50 cidades
Rotas Distintas 
(50  1)!
Rotas Distintas 
 3.0414  1062
2
Cidade de partida
22
Problema do Carteiro Viajante
Cidade de partida e chegada
com a menor distância
recorrida, sem passar por
dois vezes pela mesma
cidade
23
Optimização de Projeto de
Circuitos Eletrõnicos
• Para uma resposta de saída desejada, é possível
otimizar o projeto do circuito eletrônico usando AG
Vout
24
Optimização Planejamento e
Distribuição
• Planejamento de Horários de aulas em Universidades
em função das disponibilidades dos docentes e salas
disponíveis
25
Conclusões
• Algoritmos Genéticos permitem encontrar soluções
ótimas e em tempos curtos quando o espaço de
busca é muito amplo.
• Os AGs realizam buscas de soluções de forma
direcionada de forma adaptativa e paralela.
• Deve-se considerar a construção de uma função de
adaptação (Fitness) que permita diferenciar aos
indivíduos mais aptos.
26
Conclusões
• Os AGs não garantem uma solução global (Problema
de estagnação)
27
Software para a Implementação de AG
• GEATbx: Genetic and Evolutionary Algorithm Toolbox
for use with MATLAB
www.geatbx.com
• GPLab: Genetic Programming Toolbox for use with
MATLAB
http.//gplab.sourceforge.net
28
Download