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

Post on 17-Apr-2015

105 views 0 download

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

Apresentação

Título :

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

Aluno : Gustavo Henrique Flores CaldasProfa. : 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.

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

Descrição do Problema

Busca do melhor programa...

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

Metáfora Biológica da PG

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

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

++

**

**++ 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”

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

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

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

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

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

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

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

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

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

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

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

População = 500

Gerações = 50

Seleção = Proporcional a Fitness

Crossover = 80 %

Mutação = 10 %

Reprodução = 10 %

Parâmetros Comuns

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

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.