Você está na página 1de 47

Natureza da Informao AULA 11 ALGORITMOS GENTICOS E VIDA ARTIFICIAL

UTILIZAO DOS PRINCPIOS DA GENTICA PELO SER HUMANO


!! A

evoluo darwiniana tm sido o melhor mtodo de passar a informao contida no DNA para frente. !! O ser humano vem aproveitando as leis da evoluo gentica desde milnios para o prprio beneficio.
!! Exemplo:

Domesticao de animais e seleo de plantas para a agricultura. os chamados algoritmos genticos: tcnicas computacionais para otimizao de processos.

!! Estudaremos

! Exemplo: Desenvolvimento do milho a partir do teosinto (4,000 a.C.) ! Alguns dos princpios presentes no desenvolvimento do milho aparecem nos algoritmos genticos que veremos em seguida.

Avaliao

Populao Inicial

-alto poder nutritivo? -cultivo fcil? -resistncia a fatores Sim climticos?

Fim

Incio

No

Seleo

Produo nova populao

Recombinao Mutao

Processos naturais

EXEMPLO 2: CACHORROS
!! Selecionados

a partir dos lobos

PARTE 1

INTRODUO AOS ALGORITMOS GENTICOS:


!! Tcnica

de otimizao baseada nos processos de seleo natural !! Os melhores indivduos (segundo determinados critrios) so selecionados a partir de populao inicial. !! Esses indivduos so re-combinados (cruzados). !! Uma nova gerao produzida. !! feita uma nova avaliao para encontrar os melhores indivduos segundo os critrios especificados.

ESTRUTURA DE UM ALGORITMO GENTICO


Fornecer populao Inicial. Codificar os indivduos da populao

Sim Objetivo atingido?

Melhores indivduos
Fim

Incio

No

Produo nova populao

Seleo Recombinao Mutao

CODIFICAO
!! O

primeiro passo para utilizar um algoritmo gentico realizar a sua codificao em um DNA simulado.
!! !!

Poderamos utilizar as 4 bases presentes no DNA Mas normalmente utilizamos outras codificaes, como a binria ou alguma que se adapte bem ao problema a ser resolvido

!! Exemplo:

No caso do caixeiro viajante, podemos codificar a ordem com que as cidades so visitadas: [ 2 5 3 1 4 6 8 7 ]

O ALGORITMO
1.! 2.!

3.!

4.!

Gerar uma populao de indivduos aleatrios Para cada indivduo, aplicar uma funo F que define a adequao do indivduo Gerar uma nova populao, escolhendo os melhores indivduos para se reproduzir (com recombinaes e mutaes) Finaliza algoritmo ou retorna ao passo 2

CROSSOVER (CRUZAMENTOS)
!! Neste

caso, pregamos 2 indivduos e realizamos o seu cruzamento: 15236784 25314687 " " 15234687 25316784

!! A

idia misturar as caractersticas de 2 indivduos de modo a tentar encontrar um novo indivduo mais adaptado

MUTAES
!! Cada

descendente pode ter seu DNA alterado por mutaes. Neste caso, cada um de seus elementos possui uma probabilidade p de ter seu valor alterado: 15234687 25316784 " " 15734682 25317684

!! A

idia que novas solues possam aparecer para o sistema medida que adicionamos realizamos alteraes pontuais

EVOLUO
!! Em

cada itearao da evoluo, os indivduos mais adaptados so selecionados para se reproduzir, garantindo a manuteno de seus genes disso, atravs dos processos de cruzamento e mutao, novos indivduos aparecem !! Os que forem mais adaptados continuaro, enquanto os que forem poucos adaptados morrero

!! Alm

ALGUMAS APLICAES DOS ALGORITMOS GENTICOS


!! Problema

do caixeiro viajante. !! Desenho de hardware ( evolvable hardware ) !! Otimizao de redes eltricas ou hidrulicas !! Enovelamento de protenas !! Escalonamento !! Projeto de robs, etc.

EXEMPLO
!! Vejamos

viajante:

o seguinte exemplo para o caso do caixeiro

PARTE 2

INTRODUO VIDA ARTIFICIAL


!! A

vida como processo computacional. !! Se a mquina de Turing pode realizar qualquer computao (operao) e a vida tambm for um tipo de operao, a mquina de Turing permitiria a criao de vida num ambiente virtual ou computacional.

DEFINIO DE AUTMATO CELULAR


!! Sistema

dinmico que evolui a partir de condies iniciais definidas. !! discreto espacial e temporalmente. !! A regra de transio, que governa como atualizar o sistema, est localizada espacialmente (depende da prpria vizinhana) !! Esto definidas as condies de contorno.

O AUTMATO CELULAR MAIS SIMPLES:


!! Unidimensional. !! Cada

clula pode estar somente em dois estados (branco e preto). !! Nos seguintes exemplos decidimos arbitrariamente que preto significa bit=1 e branco bit=0. !! O estado de cada clula no tempo t+1 depende do prprio estado no tempo t e dos estado dos vizinhos da direita e esquerda no tempo t.

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

t t+1

Regra 110:

01101110= 110

4 TIPOS DE COMPORTAMENTO DOS AC


!! Os

quatro tipos de comportamento dependem do valor do parmetro lambda. !! O parmetro Lambda (Langton, 1986) calculado como o nmero de clulas output em preto dividido pelo numero de situaes (8). !! Este parmetro permite quantificar o comportamento catico do automato celular.

O fator lamda representa a probabilidade de que uma vizinhana seja mapeada a um dos sete estados ativos (oito estados menos um estado zero ou repouso) 1. At lamda =0,2 qualquer atividade termina morrendo em poucos ciclos ( mapeada ao estado de repouso) 2. Para valores de lamda entre 0,2 e 0,3 os estados so persistentes ou se propagam em alguma direo sem decair 3. Entre 0,3 e 0,5 aparecem impredeciveis interaes entre estruturas como os gliders ou planadores de Conway 4. Para valores de lamda entre 0,5 e 1 reina o caos e nenhuma estrutura sobrevive.
!!

DE

LANGTON

COMPORTAMENTO DOS AC SEGUNDO LAMDA VAI TENDENDO PARA 0.5


Comportamento simples (pontos fixos) Comportamento peridico ou fractal. Comportamento complexo (partculas)

1.!

2.! 3.!

4.!

Comportamento catico (aleatoriedade)

NO ANTERIOR EXEMPLO CADA CLULA TEM:


!! 3

estados !! 5 vizinhos !! Uma regra de transio.

N(t) W(t) C(t) E(t) S(t) C(t+1)=f[N(t), E(t), S(t), W(t), C(t)]
C(t+1)

!! Representao de apenas 6 das 243 regras de transio (243 = 35, em que se tm 3 estados e 5 vizinhos)

CARACTERSTICAS DE UM AUTOMATO CELULAR


!! Estados:

Nmero dos diferentes estados em que pode estar uma clula. !! Vizinhana: Como as clulas so conectadas a outras clulas. A prpria clula includa normalmente na prpria vizinhana. !! Regra de transio: define como uma clula deve mudar em funo do estado da vizinhana.

JOGO DA VIDA DE CONWAY


!!

um tipo de jogo baseado em autmatos celulares, onde so definidas regras para determinar como as clulas iro se reproduzir ou morrer:
!! !! !! !!

Qualquer clula viva com menos de dois vizinhos vivos morre de solido. Qualquer clula viva com mais de trs vizinhos vivos morre de superpopulao. Qualquer clula com exatamente trs vizinhos vivos se torna uma clula viva. Qualquer clula com dois vizinhos vivos continua no mesmo estado para a prxima gerao.

GLIDERS

Pistolas Planadores (gliders) Refletores Naves Outros (ex.:devoradores)

JOGO DA VIDA DE CONWAY


!! Existe
!!

um grande nmero de padres iniciais que geram a comportamentos surpreendentes.


difcil acreditar que estes comportamentos emergem exclusivamente a partir das interaes simples apresentadas http://www.conwaylife.com/

!!

!! Este

tipo de comportamento emergente ser estudado com mais detalhes na disciplina de Comunicao e Redes

Você também pode gostar