Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores...

22
Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra

Transcript of Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores...

Page 1: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Apresentação

Título :

Introdução àProgramação Genética

Aluno : Gustavo Henrique Flores CaldasProfa. : Inês Dutra

Page 2: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Objetivo

Apresentar a Programação Genética como um algoritmo capaz de produzir programas de computador com um mínimo de intervenção humana.

Page 3: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Conteúdo

● Introdução

⊙ Descrição do Problema⊙ Breve Histórico

● Programação Genética

⊙ A Representação⊙ O Algoritmo

◎ Fitness◎ Operadores Genéticos

⊙ Parâmetros Comuns⊙ Aplicações

● Conclusão

Page 4: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Descrição do Problema

Busca do melhor programa...

... no espaço de todos os programas.

Page 5: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Metáfora Biológica da PG

Page 6: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Ano Inventor Técnica Indivíduo

1958 Friedberg Máquina Aprendiz Assembler Virtual

1959 Samuel Matemática Polinômio

1965 Fogel, Owens e Walsh Programação Evolucionária Autômato

1975 Rechenberg e Schwefell Estratégias Evolucionárias Vetor Numérico

1978 Holland Algoritmos Genéticos String Binária

1980 Holland e ReitmannSistema Genético de

ClassificaçãoRegras

1985 Smith Programação Genética InicialStrings Binárias

Variáveis

1986 Cramer Programação Genética Inicial Árvore

1987 Hicklin Programação Genética Inicial LISP

1987 Fugiki e Dickinson Programação Genética Inicial LISP

1987Dickmanns, Chmidhuber

e WinkhoferProgramação Genética Inicial Assembler

1992 Koza Programação Genética Árvore

Breve Histórico

Page 7: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Requisitos para Adaptação

◈ Reprodução entre indivíduos dentro da população

◈ Variações que afetam as condições de sobrevivência dos indivíduos

◈ Hereditariedade na reprodução

◈ Recursos limitados causando competição

Page 8: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

++

**

**++ 88

776611 22 55++

4433

(+ (* (+ 1 2) (- (+ 3 4) 5)) (- (* 6 7) 8))

(+ (* (+ 1 2) (- (+ 3 4) 5)) (- (* 6 7) 8))

Ou

Ou

Representação dos “Indivíduos”

Page 9: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Algoritmo de Programação Genética

G := 0G := 0

Criar PopulaçãoInicial

Criar PopulaçãoInicial

Avaliar o Desempenho de Cada Indivíduo na População

Avaliar o Desempenho de Cada Indivíduo na População

Critério de Términofoi Satisfeito?

Critério de Términofoi Satisfeito? Designar

ResultadoDesignarResultado

FimFim

G := G + 1G := G + 1

Sim

Não

Aplicação deOperadores Genéticos

Aplicação deOperadores Genéticos

Page 10: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

População Inicial

++

**11

44––

3322

SeSe

OuOuEE OuOu

L2L2L1

L1 VerdadeiroVerdadeiro VerdadeiroVerdadeiro FalsoFalsoFalsoFalso

= -3

12 LL

Funções : F = {+, *, , }

Terminais : T = {0, 1, 2, 3, 4}

Funções : F = {Se, E, Ou}

Terminais : T = {L1, L2, Verdadeiro, Falso}

Algoritmo de Programação Genética

G := 0

Criar PopulaçãoInicial

Avaliar o Desempenho de Cada Indivíduo na População

Critério de Términofoi Satisfeito? Designar

Resultado

Fim

G := G + 1

Sim

Não

Aplicação deOperadores Genéticos

Page 11: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Cuidados com os Indivíduos

++

OuOu00

00VerdadeiroVerdadeiro

++

++++

0000 0000

Funções : F = {+, Ou}

Terminais : T = {Verdadeiro, 0}

Funções : F = {+}Terminais : T = {0}

Completude

Suficiência

Page 12: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Fitness & Casos Fitness

0.00 0.25 0.50 0.75 1.000.0

0.2

0.4

0.6

0.8

1.0

x

y

x

x2

x3

x4

x5

0.00 0.25 0.50 0.75 1.000.0

0.2

0.4

0.6

0.8

1.0

x

y

x3

Aproximação de y = x3

no intervalo [0, 1]

Casos Fitness

Algoritmo de Programação Genética

G := 0

Criar PopulaçãoInicial

Avaliar o Desempenho de Cada Indivíduo na População

Critério de Términofoi Satisfeito? Designar

Resultado

Fim

G := G + 1

Sim

Não

Aplicação deOperadores Genéticos

Page 13: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

PopulaçãoIndivíduos Selecionados

da População

4

6 5

7

9 8

1

3 2

2

2 3

4

9 4

1

1 1

SeleçãoAlgoritmo de Programação Genética

G := 0

Criar PopulaçãoInicial

Avaliar o Desempenho de Cada Indivíduo na População

Critério de Términofoi Satisfeito? Designar

Resultado

Fim

G := G + 1

Sim

Não

Aplicação deOperadores Genéticos

Page 14: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Algoritmo de Programação Genética

G := 0

Criar PopulaçãoInicial

Avaliar o Desempenho de Cada Indivíduo na População

Critério de Términofoi Satisfeito? Designar

Resultado

Fim

G := G + 1

Sim

Não

Aplicação deOperadores Genéticos

Indivíduos Selecionadosda População

2

2 3

4

9 4

1

1 1

4

Próxima Geração

Reprodução

Page 15: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Algoritmo de Programação Genética

G := 0

Criar PopulaçãoInicial

Avaliar o Desempenho de Cada Indivíduo na População

Critério de Términofoi Satisfeito? Designar

Resultado

Fim

G := G + 1

Sim

Não

Aplicação deOperadores Genéticos

Indivíduos Selecionadosda População

2

2 3

4

9 4

1

1 1

3’

Próxima Geração

1’

Crossover

Page 16: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Crossover++

**

**++ 88

776611 22 55++

4433

** 33

2211

++

**

**++ 88

776611 22

55++

4433

**

33 2211

Algoritmo de Programação Genética

G := 0

Criar PopulaçãoInicial

Avaliar o Desempenho de Cada Indivíduo na População

Critério de Términofoi Satisfeito? Designar

Resultado

Fim

G := G + 1

Sim

Não

Aplicação deOperadores Genéticos

Page 17: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Algoritmo de Programação Genética

G := 0

Criar PopulaçãoInicial

Avaliar o Desempenho de Cada Indivíduo na População

Critério de Términofoi Satisfeito? Designar

Resultado

Fim

G := G + 1

Sim

Não

Aplicação deOperadores Genéticos

Indivíduos Selecionadosda População

2

2 3

4

9 4

1

1 1

9’

Próxima Geração

Mutação

Page 18: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Mutação

** 33

2211

++

44**

11

**

2211

++

3322

Algoritmo de Programação Genética

G := 0

Criar PopulaçãoInicial

Avaliar o Desempenho de Cada Indivíduo na População

Critério de Términofoi Satisfeito? Designar

Resultado

Fim

G := G + 1

Sim

Não

Aplicação deOperadores Genéticos

Page 19: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Finalização

G := 0G := 0

Criar PopulaçãoInicial

Criar PopulaçãoInicial

Avaliar o Desempenho de Cada Indivíduo na População

Avaliar o Desempenho de Cada Indivíduo na População

Critério de Términofoi Satisfeito?

Critério de Términofoi Satisfeito? Designar

ResultadoDesignarResultado

FimFim

G := G + 1G := G + 1

Sim

Não

Aplicação deOperadores Genéticos

Aplicação deOperadores Genéticos

Page 20: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

População = 500

Gerações = 50

Seleção = Proporcional a Fitness

Crossover = 80 %

Mutação = 10 %

Reprodução = 10 %

Parâmetros Comuns

Page 21: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

1989 1990 1991 1992 1993 1994 1995 19960

50

100

150

200

250

N o d

e Pu

blic

açõe

s

Ano

Domínio de Aplicação Primeira PublicaçãoAlgoritmos 1992

Arte 1993Biotecnologia 1993

Gráficos de Computador 1991Computação 1992

Controle (Geral) 1992Controle (Processo) 1990

Controle (Robôs e Agentes) 1992Controle (Espaçonave) 1996

Data Mining 1996Engenharia elétrica 1994Mercado Financeiro 1994Sistemas Híbridos 1993

Processamento de Imagens 1993Evolução Interativa 1991

Modelagem 1994Linguagem Natural 1994

Otimização 1994Reconhecimento de Padrões 1994

Processamento de Sinais 1992

Aplicações da PG

Page 22: Apresentação Título : Introdução à Programação Genética Aluno : Gustavo Henrique Flores Caldas Profa. : Inês Dutra.

Conclusão

A Programação Genética encontra-se ainda em estágio de desenvolvimento, mas já é possível aplicá-la satisfatoriamente em várias áreas diferentes do conhecimento. Tudo isso com quase nenhuma intervenção humana.