Anda di halaman 1dari 41

Algoritmos Genticos

Organizao da apresentao

A Inteligncia Artificial a natureza e os Algoritmos Genticos Conceitos


Teoria da evoluo Gentica Funcionamento Exemplo simples Operaes


Seleo Cruzamento Mutao

Algoritmos Genticos (A.G.s)


Algoritmos genticos como tcnicas de busca Aplicao Programao Gentica


Bibliografia

A Inteligncia Artificial a natureza e os Algoritmos Genticos

A inteligncia Artificial sempre procurou inspirao nos sistemas naturais

Computao evolutiva (C.E.) uma ramo da cincia da computao que prope a resoluo de problemas baseando-se em mecanismos evolutivos

Os Algoritmos Genticos (A.G.) formam uma parte da rea dos Sistemas Inspirados na Natureza

Algoritmos Genticos

Conceitos
Teoria da Evoluo (Charles Darwin 1838) Demonstrou inmeras variaes nas espcies Os organismos mais geis tm mais chance de acasalar e gerar bons descendentes

melhor adaptados, pois receberam os melhores genes

No final, os mais adaptados sobrevivem

Seleo da seleo
O espermatozide mais agil fecunda o vulo

Algoritmos Genticos

Conceitos
Gentica Os trabalhos pioneiros de Gregor Mendel (Repblica Theca 1856 1865)

Mendel Combinava ervilhas


Se reproduzem atravs da autofecundao Ciclo de vida rpido permite estudar diversas geraes

As caractersticas dos pais eram transmitidas aos filhos


(mesmo quando ficavam escondidas)

Algoritmos Genticos

Inspirado na teoria evolutiva, John H. Holland (Michigan) props (anos 60) a construo de um algoritmo matemtico para otimizao de sistemas complexos, sendo denominado de Algoritmo Gentico (AG)

A partir dos anos 80 o A.G. recebeu um grande impulso


Versatilidade Excelentes resultados Disseminao dos computadores

Aplicaes

Processamento de imagem Robtica Qumica etc.

Algoritmos Genticos

Definio
So mtodos generalizados de busca e otimizao que simulam os processos naturais de evoluo, aplicando os trabalhos de Darwin e Mendel

Os indivduos mais aptos so escolhidos para reproduzir Ocorre o cruzamento entre eles A nova gerao obtida com o material gentico dos pais

Algoritmos Genticos
Com os algoritmos genticos tenta-se resolver problemas para os quais no existe um algoritmo conhecido

Funcionamento:
- gera-se um conjunto de indivduos (valores aleatrios) - Verifica se algum deles a soluo do problema - Se no, os melhores indivduos so combinados para se obter a gerao seguinte
8

Algoritmos Genticos

Um exemplo prtico
Qual a raiz quadrada de 50? Os cruzamentos resultaro em filhos que so as mdias aritmticas de seus pais
Indivduos mais aptos

Populao inicial

5 3 4 7 2

8 9 6

No sabemos calcular a soluo, mas sabemos quais so as melhores indivduo2 50

7 6 7
Nova Gerao

7
7.5

7.5

9 7.5

7.071...

6.5

Algoritmos Genticos
Conceitos
Genes

representao de algum parmetro usando um alfabeto


(inteiros, reais, cadeias de caracteres, valores binrios)

Cromossomos (indivduos)
Uma cadeia de genes que representa um indivduo exemplos: cromossomo1 = {4.8; 3.2; 5.3} reais cromossomo2 = {100001011101} binrios - Quanto mais bits, maior a preciso numrica - Cromossomos muito longos se tornam difceis de usar Supondo que as solues so valores inteiros entre 0 e 63, so necessrios (e suficientes) 6 bits
Solues: 0, 0.5, 1.0, 1.5, ... , 255 9 bits, etc
10

Algoritmos Genticos
Conceitos
Indivduo corresponde a um cromossomo Populao formada por um conjunto de indivduos Gerao corresponde a populao em um certo perodo Funo de Aptido - mede a habilidade do indivduo para sobreviver/reproduzir
- so representadas por funes matemticas - Muitas vezes, deseja-se maximizar uma funo e, neste caso, a funo de aptido pode ser a prpria funo
11

Algoritmos Genticos
Algoritmo Gentico

12

Algoritmos Genticos

Determinao da Populao (valores aleatrios) Formao dos cromossomos (codificao das variveis)
A representao binria a mais usada

Exemplo (usando 6 bits para cada valor)

Parmetros: temperatura, catalisador, agitao, tempo temperatur a 35 catalisador 8 agitao 43 tempo 56

100011

001000

101011

111000

Cromossomo codificado com 24 bits

13

Algoritmos Genticos

Funo de aptido na natureza Na natureza, so diversas caractersticas


Fora Beleza da Plumagem Canto

14

Algoritmos Genticos

Funo de aptido nos A.G.s (fitness) Nos algoritmos genticos, so funes que identificam os indivduos mais aptos

Ex1: Encontrar a raiz quadrada de 50 Funo de aptido:

1 aptidao( x) = 50 x 2
y

Ex2: Maximizar a funo x2 no intervalo 0 5 Funo de aptido:

aptidao(x) = x2 15
x

Algoritmos Genticos
Seleo na natureza
Usa a Funo de Aptido para avaliar capacidade dos indivduos sobreviverem reproduzir
Muito usado no aprimoramento gentico de animais

a e

16

Algoritmos Genticos
Seleo nos A.G.s
usada para escolher os indivduos para a reproduo

Tcnicas mais usadas:


Seleo aleatria - so escolhidos dois indivduos, ao acaso Seleo por Torneio - so escolhidos, ao acaso, dois indivduos da populao e, o melhor deles o escolhido Seleo por Elitismo - copia os melhores cromossomos
(evita perder os melhores indivduos da populao atual)
17

Algoritmos Genticos
Seleo nos A.G.s Tcnicas mais usadas:
Seleo pela roleta os tamanhos dos setores da roleta so proporcionais s habilidades dos indivduos Seleo por SUS Com n cursores, quando a roleta gira, so escolhidos n indivduos (Amostragem Estocstica Universal
Stochastic Universal Sampling)

Roleta

SUS

18

Algoritmos Genticos
Cruzamento na natureza
ocorre o cruzamento entre o material gentico de dois indivduos

Leopon (macho leopardo+fmea leo)

Gmeas Britnicas

19

Algoritmos Genticos
Cruzamento (crossover)

nos A.G.s

ocorre o cruzamento do material gentico dos pais Representao Binria so usados pontos de corte posicionados aleatoriamente

Quando o corte no ocorre, os filhos so idnticos aos pais


O corte tem alta probabilidade de ocorrer (60%-90%) cdigo para definir um corte com 80% X = random(100); if X < 80 then corte;
20

Algoritmos Genticos
Cruzamento (crossover) nos A.G.s Usando mscaras de bits exemplo: mscara = 11001101 Filho1 = (Pai1 & mscara) | (Pai2 & !mscara) Filho2 = (Pai1 & !mscara) | (Pai2 & mscara)

& : E lgico | : Ou lgico

21

Algoritmos Genticos
Cruzamento (crossover) nos A.G.s
Single Arithmetic Crossover (mistura na posio k) pais: {x1, x2,..., xn} e {y1, y2,..., yn}, toma-se um valor k, aleatrio e inteiro, que vai determinar a posio do cruzamento e um valor real aleatrio, [0,1] Os filhos gerados so: {x1, x2,...,yk+(1-)xk, ..., xn} e {y1, y2,...,xk+(1-)yk,...,yn} Exemplo:
Suponha: Pai1 = {0.5, 1.0, 1.5, 2.0}, Pai2 = {0.2, 0.7, 0.2, 0.7} =0.4 e k=3 Filho1 = {0.5, 1.0, (0.4)(0.2)+(0.6)(1.5), 2.0} = {0.5, 1.0, 0.98, 2.0} Filho2 = {0.2, 0.7, (0.4)(1.5)+(0.6)(0.2),0.7} = {0.2, 0.7, 0.72, 0.7}

1-

22

Algoritmos Genticos
Cruzamento (crossover) nos A.G.s
Simple Arithmetic Crossover (mistura da posio k em diante) pais: {x1, x2,..., xn} e {y1, y2,..., yn} toma-se um valor k, aleatrio e inteiro, que vai determinar a posio do cruzamento e um valor real aleatrio, [0,1] Os filhos gerados so: {x1, x2,..., yk+(1-)xk,..., yn+(1-)xn} e {y1, y2,..., xk+(1-)yk..., xn+(1-)yn} Exemplo:
Pai1 = {0.5,1.0,1.5,2.0} e Pai2 = {0.2,0.7,0.2,0.7} =0.4 k=3

Filho1={0.5,1.0,(0.4)(0.2)+(0.6)(1.5),(0.4)(0.7)+(0.6)(2.0)}={0.5,1.0,0.98,1.48} Filho2={0.2,0.7,(0.4)(1.5)+(0.6)(0.2),(0.4)(2.0)+(0.6)(0.7)}={0.2,0.7,0.72,1.22}

1-

23

Algoritmos Genticos
Cruzamento (crossover) nos A.G.s
cadeias de caracteres (strings) tcnica PMX (Partially-Matched Crossover) Pai1 = 12463758 e Pai2 = 54172683

24

Algoritmos Genticos
Mutao na natureza
- o cromossomo pode ser modificado em algumas de suas partes

- filhos possuem caractersticas que no pertencem aos pais

as vezes a natureza d um salto em sua evoluo de milhares de anos


Os vrus se reproduzem com grande velocidade e sofrem mutaes que os tornam perigosos gripe

25

Algoritmos Genticos
Mutao nos

A.G.s

o cromossomo pode ser modificado em algumas de suas partes (assumindo caractersticas que no pertencem aos pais) binrio
- inverte-se alguns bits

real ou inteiro
- somam-se pequenos valores aleatrios

cadeias de caracteres
- alguns caracteres so trocados

Probabilidade da mutao
- (1%) Exemplo de cdigo X = random(100) if X 1 then mutao
26

Algoritmos Genticos
Importncia da Mutao nos A.G.s
Encontrar mximos de funes que possuem mximos locais

mutaes

Com esta populao inicial tender a achar apenas o mnimo local

Com algumas mutaes, filhos bem diferentes dos pais podem levar as solues para o mnimo global da funo
27

Algoritmos Genticos
Aplicao
Encontrar o valor X (inteiro) que minimiza a funo f (x) = x - 12x + 36 no intervalo de 0 at 15 Soluo Como as solues procuradas so inteiros entre 0 e 15, 4 bits bastam para a representao binria Usando a funo de aptido x2+12x Mtodo de seleo a ser usado a roleta Populao inicial: C1 = 5, C2=4 C3=12 e C4=10,
Aptido: f(x)=-x2+12x 35 32 0 20
28 27

Maiores aptides

Algoritmos Genticos
Calculando as probabilidades dos indivduos serem escolhidos na roleta

C1 C2 C4

35 P (C1 ) = = 0.4022 35 + 32 + 0 + 20 32 P (C2 ) = = 0.3678 35 + 32 + 0 + 20 0 P (C3 ) = = 0.0000 35 + 32 + 0 + 20 20 P (C4 ) = = 0.2278 35 + 32 + 0 + 20


29

Algoritmos Genticos
Aplicao usando a roleta, so selecionados C1 e C2 para o 1 cruzamento C2 e C1 para o 2 cruzamento

supe-se as mutaes: 3 bit do 2 filho do 1 cruzamento 1 e 2 bits do 1 filho do 2 cruzamento

A funo de aptido f (x) = -x 2 +12x tem o seu mximo em x=6, assim, os cromossomos com valor prximo de 6 so os mais provveis de serem escolhidos
30

Algoritmos Genticos
Aplicao A funo que se deseja minimizar f (x) = x - 12x + 36 no intervalo de 0 at 15 tem o seu mnimo em 6

90 80 70 60 50 40 30 20 10 0 0 2 4 6 8 10 12 14 16

31

Algoritmos Genticos
Algoritmos genticos como tcnicas de busca

O espao de busca vai sendo determinado a partir de um cruzamento entre os estados atuais (pais)
(busca subindo o morro)

Estados atuais

Prximo Estados

32

Algoritmos Genticos
Algoritmos genticos como tcnicas de busca
Os algoritmos genticos diferem das tcnicas de busca tradicionais porque:
- Trabalham com uma codificao do conjunto de parmetros no lugar dos prprios parmetros ( Hibridizao) - Trabalham com uma populao e no com um nico ponto Utilizam regras de transio probabilsticas e no

determinsticas

33

Algoritmos Genticos
Consideraes sobre a implementao dos A.G.s
Tamanho da populao
Pequenas diminuem o desempenho, pois no fornecem cobertura total do espao de busca Grandes - implicam em maior processamento

Taxa de mutao
Altas - busca aleatria Baixas - busca estagnada

Critrio de parada
Quantidade de iteraes (geraes) Quando as aptides no melhoram muito Quando se conhece a soluo tima

Taxa de cruzamento
Altas - geram estruturas com boas aptides nem sempre aproveitadas Baixas- torna a evoluo muito lenta

34

Algoritmos Genticos
Observao sobre os A.G.s
Pesquisadores referem-se a Algoritmos Genticos ou a um Algoritmo Gentico e no ao Algoritmo Gentico pois Algoritmos Genticos so uma classe de procedimentos com um conjunto de passos distintos e bem especificados, com muitas possveis variaes em cada passo

Hibridizao Integrao de uma boa maneira convencional de resolver um problema aos conceitos usuais de A.G.s

35

Algoritmos Genticos
Programao Gentica (indo alm dos A.G.s)
Originada na dcada de 80, procura desenvolver tcnicas capazes de criar automaticamente programas a partir de uma descrio de alto nvel do problema a ser resolvido

36

Algoritmos Genticos
Programao Gentica (indo alm dos A.G.s)
- Em P.G. os programas so representados por rvores

- A aptido calculada executando os programas Exemplo: Programa para calcular b+3*c2 + b 3 c * ^ 2

37

Algoritmos Genticos
Programao Gentica (indo alm dos A.G.s) - Em P.G. o cruzamento troca subrvores de indivduos
+ b 3 c + b 3 *
/

* ^

Pais
x 2

+
/

+ x 5 3 c
38

Filhos

^ 2

Algoritmos Genticos
Programao Gentica (indo alm dos A.G.s) Em P.G. a mutao pode ocorrer trocando um n terminal ou funcional
+ + b b 3 c * ^ 2 b 3 Mutao Funcional c + * + 2 3 5 Mutao Terminal * ^ 2

39

Algoritmos Genticos
Programao Gentica (indo alm dos A.G.s) Em P.G. a mutao pode ocorrer tambm, trocando uma subrvore
+ + b b 3 c * ^ 2 b Mutao de uma subrvore * 3 5 *

9 +

40

Algoritmos Genticos
Referncias Bibliogrficas
ARTERO, A.O., Inteligncia Artificial Terica e Prtica, Editora da Fsica, So Paulo, 2009 BITTENCOURT, G., Inteligncia Artificial Ferramentas e Teorias, Editora da UFSC, 1998 REZENDE, S. O., Sistemas Inteligentes, Editora Manole, 2003

41

Anda mungkin juga menyukai