Anda di halaman 1dari 20

Vida Artificial na Computao

Gustavo Sousa Pavani

Universidade Federal do ABC (UFABC) 2 Trimestre - 2008


Aula 2

Otimizao

Diversas definies:

Processo de ajustamento de um sistema para se achar a melhor soluo possvel; Processo de procura de fatos faltantes ao se ajustar o sistema.

Neste curso, as interaes sociais entre indivduos sero capazes de otimizar padres complexos (atitudes, comportamentos ou cognies).

Gustavo S. Pavani

Um problema de otimizao simples


Problema super-simples: 4 + x = 10 A qualidade da soluo proposta baseada na estimativa de erro dessa soluo.

Chute = 16, o erro ser igual a 10. Erro um fator que decresce quando a qualidade da soluo cresce!

O erro um conhecimento que nos guia no processo de otimizao.

Se o erro grande, necessrio um salto grande para se tentar a prxima soluo. Se o erro pequeno, estamos provavelmente perto da soluo e passos pequenos tem que ser considerados.
Gustavo S. Pavani

Outra informao til - gradiente

A qualidade ou o erro de uma soluo potencial nos d uma pista de quo longe estamos do timo.

Ao se comparar a qualidade de dois ou mais pontos, quando se olha no sinal dessa diferena, possvel obter informao de gradiente, o que facilita a direo que deve ser tomada em vista do timo.

Chutes = 20 e 12. O erro do primeiro 14 enquanto do segundo 6. Assim, o segundo chute melhor que o primeiro. Se chutamos 1, ento o erro fica igual a -5! A diferena se inverteu, quer dizer que temos que mudar de direo.

Problema do gradiente: ficar preso em uma soluo medocre.


Gustavo S. Pavani

Problemas do gradiente

Gustavo S. Pavani

Exploration e exploitation

O termo Exploration descreve a investigao de novas reas no espao de busca (explorao do espao). O termo Exploitation descreve a busca focada em uma determinada regio (tirar proveito, usufruir). O compromisso entre essas duas estratgias muito importante.

A grosso modo, exploration permite achar o Everest quando se pesquisa o Himalaia, enquanto o exploitation permite chegar ao pico do Everest.
Gustavo S. Pavani

Fatores de complexidade: N e K

N tamanho do problema K quantidade de inter-relao dos elementos constituintes do problema


Sem interao entre elementos: K = 0 Cada elemento recebe uma entrada de outro elemento (depende de seu estado e do estado do elemento que fornece a entrada): K = 1 Cada elemento recebe como entrada o estado de dois outros elementos: K = 2

Kauffman teorizou que a complexidade de um problema cresce com N 2K+1


Gustavo S. Pavani

Heurstica e algoritmo guloso

Heursticas so estratgias de busca, normalmente informais, que reduzem o espao de busca que tem que ser examinado a custa da possibilidade de no se achar o timo. Algoritmo guloso (greedy algorithm) o algoritmo que tenta fazer a melhor escolha a cada passo, ou seja, ele tenta fazer uma escolha tima local.

Em alguns problemas, provado que o algoritmo guloso chega ao timo global. Entretanto, pode levar a solues sub-timas em outros problemas. normalmente simples e de fcil implementao.
Gustavo S. Pavani

Funo objetivo ou funo custo

A definio da meta de um problema de otimizao a funo objetivo, tambm denominada de funo custo. Exemplo: Problema do Caixeiro Viajante (Traveling Salesman Problem - TSP)

Um mapa dado com algumas cidades e a funo objetivo minimizar a distncia de um caminho que passa por todas as cidades somente uma vez, retornando para a cidade de origem.

Com 10 cidades, temos 3.628.800 possveis permutaes simples!

Gustavo S. Pavani

Otimizao binria

Ocorre quando os elementos so representados por variveis binrias.


Em vrios casos, a codificao binria de um problema til. H 2n pontos no espao de busca para uma string de bits de n elementos. O nmero de posies que duas strings de bits diferem chamada de distncia de Hamming. Ingredientes: queijo, alface, tomate, picles, maionese, ketchup, mostarda, cebola, bacon, ovo. 1000###010 1024 combinaes possveis!
Gustavo S. Pavani

Exemplo do hambrguer

10

Estratgias de buscas

Busca aleatria: So gerados solues aleatrias e, aps um certo nmero de passos, o algoritmo para e a soluo ser a melhor string de bits geradas. um tipo de estratgia exploration. Passeio aleatrio: Se gera uma string de bits de forma aleatria e se vai trocando o valor de uma posio aleatria a cada iterao. um tipo de estratgia exploitation. Estratgia gulosa: Se gera uma string de bits de forma aleatria. feito a troca do valor de cada elemento de forma sequencial. Caso a troca resulte em um melhor desempenho, a troca mantida. Caso contrrio, ela revertida. Tambm um tipo de estratgia exploitation.
Gustavo S. Pavani

11

Otimizao com nmeros reais


Em geral, uso de distncias Euclidianas. As tcnicas mostradas anteriormente podem ser usadas. Em alguns casos, se pode considerar que a distncia entre dois pontos no espao de busca est correlacionada com a diferena entre seus valores de qualidade de soluo.

Indicao que uma regio com bons pontos poder conter pontos melhores ainda.

Gustavo S. Pavani

12

Realizaes dos insetos sociais

O potencial de otimizao que os comportamentos dos insetos possuem j foi mencionado em vrios estudos, sobretudo no caso dos insetos sociais.

Um inseto pode ter apenas algumas centenas de neurnios, mas organizao de insetos so capazes de maravilhas arquiteturais, elaborar sistemas de comunicao e ser resistentes s intempries da natureza.

As realizaes das formigas podem ser explicadas em termos de um conjunto fixo de aes, que incluem respostas a ferormnios, que so substncias que possuem um tipo de odor que pode ser detectado por outras formigas.

Exemplo clssico de emergncia de efeitos globais atravs de interaes locais.


Gustavo S. Pavani

13

Construo por cupins

Os cupins constroem os cupinzeiros ao pegar terra e humidific-la, seguindo as seguintes regras:


Mover-se em direo da maior concentrao de ferormnio; Depositar o que tiver carregando quando o odor for o mais forte.

Aps certo nmero de movimentos aleatrios para se achar um lugar com uma concentrao de ferormnio, os cupins comeam a construir o cupinzeiro.

Quanto o maior nmero de cupins nesse lugar, mais atrativo ele fica (auto-catlise).
Gustavo S. Pavani

14

Estigmergia

A maior parte das comunicaes entre insetos sociais realizada de forma indireta atravs de um mtodo chamado de estigmergia (Grass, 1959).

um termo derivado das palavras gregas stigma (sinal) e ergon (ao), que foi originalmente definido como a estimulao de trabalhadores pelo desempenho alcanado. Stigmergia a comunicao atravs da alterao do estado do ambiente, de forma que isso afeta o comportamento dos outros cujo ambiente serve de estmulo.
Gustavo S. Pavani

Pode ser baseada em pistas ou sinais.

15

Optimizao atravs de formigas

Dorigo et al. mostraram um algoritmo em que um comportamento simples de seguimento de ferormnio pode ser utilizado para otimizar o problema do caixeiro-viajante.

O algoritmo de Otimizao por Colnia de Formigas (ACO) baseado na observao que formigas conseguem achar o caminho mais curto, evitando obstculos, entre o seu ninho e uma fonte de comida.

Formigas se move e deixam rastos de ferormnio, que dissipam com o passar do tempo e da distncia.
Gustavo S. Pavani

16

Otimizao por colnia de formigas

O caminho mais curto, por ser mais frequentado, vai ter uma maior concentrao de ferormnio.

Auto-catlise.

Gustavo S. Pavani

17

Emergncia em estigmergia

Assim, o mtodo de comunicao por ferormnio faz com que um caminho de melhor qualidade seja mais atrativo, com um acmulo autocataltico de ferormnio, resultando na convergncia da populao para um comportamento tendendo ao timo.

Tudo feito a nvel local, uma vez que o inseto somente consegue detectar seu ambiente mais prximo. Otimizao sem necessidade de controle central!

Gustavo S. Pavani

18

Bandos, rebanhos e cardumes

Congregaes sociais so mais comuns em presas do que em predadores (Hamilton, 1971).


A presa na periferia tem mais chances de ser pega por um predador. Assim, as presas tem a tendncia de se mover para o centro do grupo. O efeito desse comportamento, com algumas regras para minimizar as colises e outros conflitos, resulta em um comportamento organizado visto na natureza.

Bandos de pssaros conseguem manter um equilbrio dinmico sem controle central (Reynolds, 1971 e Heppner, 1990).
Gustavo S. Pavani

19

Bando de pssaros artificiais - boids

3 regras de Reynolds:

Separao: evitar que um pssaro se choque com outro. Alinhamento: faz com que os pssaros sigam a direo e a velocidade dos seus vizinhos. Coeso: faz com que os pssaros fiquem prximos de seus vizinhos.

Gustavo S. Pavani

20

Anda mungkin juga menyukai