Você está na página 1de 29

26/11/2011

Busca Heursticas e Meta-Heurstca


Profa. Dra. Sarajane Marques Peres Escola de Artes, Cincias e Humanidades Universidade de So Paulo http://each.uspnet.usp.br/sarajane/

Introduo
Estratgias de buscas heursticas utilizam algum conhecimento especfico sobre o problema a fim de encontrar solues de maneira eficiente. Organizao:
Resoluo de problemas por meio de busca Estratgias de busca com informao (heursticas) Construo de funes heursticas Algoritmo de busca local Algoritmos de busca distribuda Meta-Heurstica

26/11/2011

Resoluo de problemas por meio de busca


Definio de um problema (representao):
Estado inicial Aes possveis
Estado inicial + realizao de aes possveis = espao de estados (espao de busca)

Teste de objetivo: determina se um dado estado um estado objetivo (alcance do objetivo buscado no a resoluo do problema)
Pode ser um nico objetivo (expresso de uma nica forma ou de diferentes formas) Ou um conjunto de vrios objetivos

Funo de custo: medida de desempenho da busca dentro do processo de resoluo do problema

Exemplos de problemas

A soluo o caminho entre uma cidade e outra.

A soluo um posicionamento especfico das 8 rainhas.

A soluo um posicionamento especfico das pedras do tabuleiro.

26/11/2011

CUSTOS DE CAMINHOS NO MAPA RODOVIRIO DA ROMNIA.


Google Maps

Achar o melhor caminho para ir de Arad at Bucareste!

tennisforum.com

Google Maps

Google Maps

Busca em rvore
funo BUSCA-EM-RVORE (problema, estratgia) retorna uma soluo ou falha Inicializar a rvore de busca usando o estado inicial de problema repita se no existe nenhum candidato para expanso ento retornar falha; // (exit) escolher um n folha para expanso de acordo com estratgia se o n contm um estado objetivo ento retornar a soluo correspondente seno expandir o n e adicionar os ns resultantes rvore de busca

Soluo tradicional!

26/11/2011

OBSERVAO: PROCESSO DE BUSCA EM RVORE

OBSERVAO: PROCESSO DE BUSCA EM RVORE

E assim por diante ....

26/11/2011

Estratgia de busca com informao (heurstica)


Busca com informao:
Uma estratgia que usa conhecimento especfico sobre um problema, alm da definio do prprio problema. Pode encontrar solues de forma mais eficiente que uma estratgia sem informao.

Busca pela melhor escolha:


Trata-se de um tipo de busca em rvore ou um tipo de busca em grafo no qual um n selecionado para expanso (ou explorao) com base em uma funo de avaliao f(n).
Tradicionalmente, o n com a avaliao mais baixa selecionada para expanso porque a avaliao mede a distncia dele at o objetivo (de alguma forma usando por exemplo, algum tipo de custo)

Estratgia de busca com informao (heurstica)


Cuidado com a interpretao do nome busca pela melhor escolha!!
Se pudssemos realmente expandir o melhor n primeiro, isso no seria uma busca e sim uma marcha direta ao objetivo. O que fazemos escolher o n que parece ser o melhor de acordo com a funo de avaliao.
Se a funo de avaliao for (exatamente) precisa, esse ser de fato o melhor n!

Componente fundamental: a FUNO HEURSTICA


Exemplo 1 : A estimativa do custo do caminho mais econmico de uma cidade a outra pode ser a distncia em linha reta entre estas duas cidades. Exemplo 2 : A avaliao de uma grade de distribuio de horrio a soma de condies desejveis que ela atende, uma vez que ela atende a todas as restries.
Denotada por h(n):
1. 2.

Custo estimado do caminho mais econmico do n n at um n objetivo, ou Avaliao do prprio n como uma soluo para o problema

Funes arbitrrias, especficas para um problema, como uma restrio: se n o n objetivo ento h(n) = 0. Seu valor depende do estado (condies) do n que lhe passado como entrada.

26/11/2011

Busca Gulosa (pela melhor escolha)


Estratgia que expande o n mais prximo meta, na suposio de que isso provavelmente levar a uma soluo rpida e eficiente.
Avalia os ns usando apenas a funo heurstica: f(n) = h(n) (funo de avaliao = funo heurstica)

Para o problema de planejamento de rotas na Romnia:


Heurstica da distncia em linha reta (hDLR) Se o objetivo chegar em Bucareste, necessrio conhecer as distncias em linha reta at Bucareste.

CUSTOS DE CAMINHOS NO MAPA RODOVIRIO DA ROMNIA.


Google Maps

Achar o melhor caminho para ir de Arad at Bucareste!

tennisforum.com

Google Maps

Google Maps

26/11/2011

VALORES DE hDLR
Arad Bucareste Craiova Dobreta Eforie Fagaras Giurgiu Hirsova Iasi Lugoj 366 0 160 242 161 176 77 151 226 244 Mehadia Neamt Oradea Pitesti Rimnicu Vilcea Sibiu Timisoara Urziceni Vaslui Zerind 241 234 380 100 193 253 329 80 199 374

Os valores hDLR no so dados na definio do problema e necessrio experincia no contexto do problema para saber que hDLR est relacionada com distncias rodovirias reais e que, portanto, uma heurstica til.

O PROCESSO EXECUTADO POR UMA BUSCA GULOSA

26/11/2011

O PROCESSO EXECUTADO POR UMA BUSCA GULOSA

O PROCESSO EXECUTADO POR UMA BUSCA GULOSA

A heurstica no tima: O caminho at Bucareste passando por Sibiu e


Fagaras 32 quilmetros mais longo que o caminho por Rimmicu Vilcea e Pitesti.

26/11/2011

Busca A*
um tipo de busca pela melhor escolha que minimiza o custo total estimado da soluo. Ela avalia os ns combinando:
g(n) o custo para alcanar cada n h(n) - o custo para ir do n at o objetivo f(n) = g(n) + h(n)
(funo de avaliao = custo at o n + custo para ir do n at o objetivo)

Sabendo que g(n) fornece o custo do caminho desde o n inicial at o n n, e que h(n) o custo estimado do caminho de custo mais baixo desde n at o objetivo, tem-se f(n) = custo estimado da soluo de custo mais baixo passando por n.

A heurstica deve ser admissvel:


h(n) admissvel se ela nunca superestimar o custo para alcanar o objetivo.

O PROCESSO EXECUTADO POR UMA BUSCA A*

26/11/2011

O PROCESSO EXECUTADO POR UMA BUSCA A*

O PROCESSO EXECUTADO POR UMA BUSCA A*

A* usando BUSCA-EM-RVORE tima se h(n) admissvel.

10

26/11/2011

Otimalidade de A*

Pense!!

Suponha que um n-objetivo no-timo G2 aparece nas folhas (n gerado e ainda no expandido) e que C* o custo da soluo tima. Ento, como G2 no timo e h(G2) = 0, sabe-se que:
f(G2) = g(G2) + h(G2) = g(G2) > C*

Agora considere um n folha n que est em um caminho de soluo timo


(Pitesti na figura anterior (e) sempre haver tal n se existe uma soluo).

Se h(n) no superestimar o custo de completar o caminho at a soluo, ento:


f(n) = g(n) + h(n) <= C*

Assim vemos que f(n) <= C* < f(G2) e portanto G2 no ser escolhido para expanso e A* deve retornar uma soluo tima.

Funes Heursticas
Considere o problema do quebra-cabeas de 8 peas:

Objetivo:
deslizar os blocos no sentido horizontal ou vertical para o espao vazio, at a configurao coincidir com a configurao objetivo.

O custo mdio de soluo para uma instncia do quebra-cabea de 8 peas, gerada ao acaso cerca de 22 passos.
O fator de ramificao aproximadamente igual a 3.

Quando o espao vazio est no meio, h quatro movimentos possveis


Quando o espao vazio est em um canto, so possveis dois movimentos; Quando o espao vazio est em uma borda, h trs movimentos; Tem-se ento, em uma busca exaustiva, 322 estados para exame.

11

26/11/2011

Brute Force (Exhaustive Search)


Shaun Gause & Yu Cao CSE Department University of South Carolina

Problem
8 Puzzle: 15 Puzzle: 24 Puzzle: 48 Puzzle:

Nodes
105 1013 1025 1048

Brute-Force Search Time (10 million nodes/second)


.01 seconds 6 days 12 billion years why dinosaurs really went extinct

Funes Heursticas
Se quisermos descobrir solues usando A*, precisaremos de uma funo heurstica que nunca superestime o nmero de passos at o objetivo.

Candidatas:
h1 = o nmero de blocos em posies erradas. Se todos os blocos esto em posies erradas ento h1=8. h1 uma heurstica admissvel porque claro que qualquer bloco que esteja fora do lugar deve ser movido pelo menos uma vez. h2 = a soma das distncias dos blocos de suas posies objetivo. Como os blocos no podem se mover em diagonal, a distncia que levaremos em conta distncia de Manhattan. h2 admissvel porque o resultado de qualquer movimento deslocar um bloco para uma posio mais prxima do objetivo. No exemplo:
h2 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18

O custo da soluo 26

12

26/11/2011

FUNES HEURSTICAS

Pense!!

Uma maneira de caracterizar a qualidade de uma heurstica o fator de ramificao efetiva, b*. Se o nmero total de ns gerados pelo A* para um determinado problema N, e se a profundidade da soluo d, ento b* o fator de ramificao que uma rvore uniforme de profundidade d precisaria ter para com conter N + 1 ns. N + 1 = 1 + b* + (b*)2 + ... + (b*)d Por exemplo, se A* encontrar uma soluo na profundidade 5 usando 52 ns, o fator de ramificao efetiva ser 1,92. b* , em geral, relativamente constante para problemas suficientemente difceis. Ento, medidas experimentais de b* em um pequeno conjunto de problemas podem fornecer uma boa orientao sobre a utilidade geral da heurstica. Uma heurstica bem projetada teria o valor de b* prximo a 1, permitindo a resoluo de problemas bastante extensos.

FUNES HEURSTICAS
A tabela abaixo mostra o nmero mdio de ns expandidos por cada estratgia e o fator de ramificao efetivo. Nmero mdio de ns expandidos

Pense!!

Fator de ramificao efetiva

d 2 4 6 8 10 12 14 16 18

s/ heurstica 10 112 680 6384 47127 3644035 -

A*(h1) 6 13 20 39 93 227 539 1301 3056

A*(h2) 6 12 18 25 39 73 113 211 363

s/ heurstica 2,45 2,87 2,73 2,80 2,79 2,78 -

A*(h1) 1,79 1,48 1,34 1,33 1,38 1,42 1,44 1,45 1,46

A*(h2) 1,79 1,45 1,30 1,24 1,22 1,24 1,23 1,25 1,26

d = tamanho da soluo

h2 domina h1

13

26/11/2011

CRIAO DE FUNES HEURSTICAS ADMISSVEIS


h1 e h2 so estimativas do comprimento de caminho restante para o quebracabea de 8 peas, mas tambm so comprimentos de caminho perfeitamente precisos para verses simplificadas do quebra-cabea. Se as regras do quebra-cabea fossem alteradas de forma que um bloco pudesse se deslocar para qualquer lugar, e no apenas para o quadrado vazio adjacente, ento h1 daria o nmero exato de passos da soluo mais curta. De modo semelhante, se um bloco pudesse se mover para um quadrado em qualquer direo, ento h2 forneceria o nmero exato de passos na soluo mais curta. Um problema com menos restries sobre as aes chamado problema relaxado e o custo de uma soluo tima para um problema relaxado uma heurstica admissvel para o problema original.

EXEMPLIFICANDO ...

Pense!!

Problema original: Um bloco pode se mover do quadrado A para o quadrado B se


A horizontal ou verticalmente adjacente a B e B vazio.

Problemas relaxados: Um bloco pode se mover do quadrado A para o quadrado B se


A adjacente a B; (h2)

Um bloco pode se mover do quadrado A para o quadrado B se


B est vazio; (heursticas de Gaschnig)

Um bloco pode se mover do quadrado A para o quadrado B. (h1)

14

26/11/2011

Busca Local
Algoritmos de busca do tipo que estudamos at agora, realizam uma explorao sistemtica do espao de busca.
Este carter sistemtico alcanado mantendo-se um ou mais caminhos na memria e registrando-se as alternativas que foram exploradas em cada ponto ao longo do caminho e quais delas no foram exploradas; Quando um objetivo encontrado, o caminho at esse objetivo tambm constitui uma soluo para o problema.

Em alguns casos, o caminho at o objetivo no relevante.


Veja o caso do problema das 8 rainhas: o que importa a configurao final. Outros exemplos: Layout de instalaes industriais, projeto de circuitos integrados, escalonamento de jornadas de trabalho, roteamento de veculos, etc.

Busca local
Os algoritmos de busca local operam usando um nico estado corrente (em vez de vrios caminhos) e em geral se movem apenas para os vizinhos desse estado. Vantagens; Usam pouqussima memria quase sempre um valor constante; Freqentemente podem encontrar solues razoveis em espaos de estados grandes ou infinitos. So teis para resolver problemas de otimizao puros, nos quais o objetivo encontrar o melhor estado de acordo com uma funo objetivo.

15

26/11/2011

Conceitos Relacionados
Topologia do espao de estados:

Mnimo local e global Mximo local e global

Um algoritmo de busca local completo sempre encontra um objetivo, caso ele exista. Um algoritmo de busca local timo sempre encontra um mnimo/mximo global. Efeitos de uma busca de subida de encosta e uma busca de tmpera simulada (ou simulated annealing)

Busca de subida de encosta (busca gulosa local)


Um lao repetitivo que se move de forma contnua no sentido do valor crescente, isto , encosta acima.
funo SUBIDA-DE-ENCOSTA (problema) retorna um estado que um mximo local entradas: problema //um problema variveis locais: corrente, vizinho // dois ns corrente repita vizinho um sucessor de corrente; se VALOR[vizinho] <= VALOR[corrente] ento retornar ESTADO[corrente]; // possibilidade de trmino seno corrente vizinho;
- Primeiro melhor - Melhor dos Melhores

CRIAR-N (ESTADO-INICIAL[problema]);

16

26/11/2011

Contextualizando 8 rainhas

- Melhor dos melhores; - Primeiro melhor

Busca de subida de encosta


Razes que paralisar a busca:
Mximos locais: um pico mais alto que cada um de seus estados vizinhos, embora seja mais baixo que o mximo global. O estado da ltima figura do slide anterior um mnimo local todo movimento de uma nica rainha piora a situao. Picos: resultam em uma seqncia de mximo locais que torna muito difcil a navegao. Plats: rea da topologia de espao de estados em que a funo de avaliao plana. Pode ser um mximo local plano ou uma plancie.

17

26/11/2011

RUSSEL, S. e NORVIK, P. Artificial Intelligence: A Modern Approach. Prentice Hall, 1995.

Pense!!

Tmpera simulada (Simulated Annealing)


Um algoritmo de subida de encosta que nunca faz movimentos encosta abaixo em direo a estados com valor mais baixo (ou de custo mais alto) sem dvida incompleto, porque pode ficar paralisado em um mximo (ou mnimo) local. O algoritmo de Tmpera Simulada combina a subida de encosta com um percurso aleatrio, resultando, de algum modo, em eficincia e completeza. Introduz-se uma modifcao no algoritmo de subida de encosta: em vez de escolher o melhor movimento, escolhe-se um movimento aleatrio; Se o movimento melhorar a situao, ele ser aceito; Caso contrrio, o algoritmo aceitar o movimento com alguma probabilidade menor que 1; A probabilidade diminui exponencialmente de acordo com a m qualidade do movimento; A probabilidade tambm diminui medida que a temperatura T se reduz (movimentos ruins tem maior probabilidade de serem aceitos no incio;

Pense!!

Tmpera simulada
funo TEMPERA-SIMULADA (problema, escalonamento) retorna um estado soluo entradas: problema //um problema escalonamento // um mapeamento de tempo para temperatura variveis locais: corrente, prximo // dois ns T // uma temperatura que controla a probabilidade de passos descendentes corrente CRIAR-N (ESTADO-INICIAL[problema]); Para t 1 at faa T escalonamento[t]; se T = 0 ento retorna corrente; // trmino prximo um sucessor de corrente selecionado ao acaso; E VALOR[prximo] VALOR[corrente]; se E > 0 ento corrente seno corrente proximo; prximo somente com probabilidade eE/T;

18

26/11/2011

Algoritmos Genticos (Goldberg) (Linden)


So algoritmos de busca baseados no mecanismo de seleo natural e na gentica natural.
Desenvolvidos por John Holland e sua equipe na Universidade de Michigan. A pesquisa em AGs possui duas metas:
Abstrair e explicar o processo adaptativo dos sistemas naturais; Projetar sistemas de software artificiais que emulem os mecanismos dos sistemas naturais.

um sistema robusto:
Faz o balano entre a eficincia e a eficcia necessria para sobrevivncia em diferentes ambientes.

Faz parte de uma rea de estudo que usa modelos computacionais dos processos naturais de evoluo como uma ferramenta para resolver problemas Algoritmos Evolucionrios ou Computao Evolutiva
Outras tcnicas: Estratgias Evolucionrios e Programao Gentica

Algoritmos Genticos (Linden)


Tcnica de busca baseada em uma metfora do processo biolgico de evoluo natural So tcnicas heursticas de otimizao global (pode ser considerada uma meta-heurstica). Utilizam:
Populao de estruturas, denominadas indivduos ou cromossomos, sobre as quais so aplicados operadores genticos. Cada indivduo recebe uma avaliao que uma quantificao de sua qualidade como soluo do problemas em questo.
Operadores genticos: aproximaes computacionais de fenmenos vistos na natureza, como reproduo sexuada, mutao gentica etc...

19

26/11/2011

Terminologia
Cromossomo X indivduo X string de bits Um cromossomo formado por genes, que podem ter um determinado valor entre vrios possveis (alelos). A posio do gene o locus. Gentipo X Fentipo
Gentipo: a estrutura do cromossomo, e pode ser identificada na rea de GA como o termo estrutura. Fentipo: a interao do contedo gentico com o ambiente.

www.lania.mx/~asanchez/IA/GAapuntes/gen50.html

Funo fitness: mede a adaptabilidade de uma soluo a um problema ( a medida de avaliao).

Algoritmos Genticos
Representao de conhecimento
Representando o problema
O cromossomo
A representao deve ser o mais simples possvel; Se houver solues infactveis, interessante que elas no sejam representadas Restries do problema devem estar preferencialmente implcitas na representao

Representando a avaliao no problema


A funo fitness (ou objetivo) de avaliao
Caso solues infactveis sejam permitidas na representao, ou restries no estejam representadas, tente usar a funo fitness para matar tais indivduos.

20

26/11/2011

Algoritmo Gentico (Linden)


Convergncia gentica:
Se traduz em uma populao com baixa diversidade gentica que, por possuir genes similares, no consegue evoluir, a no ser pela ocorrncia de mutaes aleatrias que sejam positivas.

Perda de diversidade:
Pode ser definida como sendo o nmero de indivduos que nunca so escolhidos pelo mtodo de seleo de pais.

Crie a populao inicial!

Linden

21

26/11/2011

Um Algoritmo Gentico simples


Simplicidade de operao e poder de efeito so das duas principais atraes da abordagem de algoritmos genticos. Depois que a codificao do problema est pronta, ou seja, a representao da soluo est construda, a populao inicial pode ser gerada. Retornemos ao nosso problema da caixa preta
A populao composta por 4 indivduos, ou seja, por 4 possveis configuraes de interruptores (lembrem-se que queremos encontrar a configurao que otimiza uma funo f)
01101 11000 01000 10011 Populao inicial instanciada aleatoriamente.

Um algoritmo gentico simples


Cada indivduo da populao representa uma soluo para o problema, e cada um deles tem uma avaliao sobre a sua adequabilidade ao problema.
A avaliao de cada indivduo o valor da funo f quando aplicada sobre ele. A funo f pode ser chamada de funo objetivo ou funo fitness representa o quo adaptado o indivduo est ao seu ambiente (ao problema). Quanto mais a soluo que o indivduo representa estiver prxima da tima, mais adaptada est esta soluo ao problema. Suponha que a funo fitness retorne a adequabilidade de cada indivduo de acordo com as informaes da tabela.

22

26/11/2011

Um algoritmo gentico simples


Um algoritmo gentico simples, que rende bons resultados na prtica, composto por trs operadores: Seleo (ou reproduo), Crossover e Mutao A reproduo um processo no qual indivduos so copiados de acordo com seus valores para a funo fitness. Tambm chamada de elitismo ou reproduo assexuada.
Copiar indivduos de acordo com sua funo fitness significa que indivduos com um valor mais alto tem maior probabilidade de contribuir com descendentes nesta ou na prxima gerao. Este operador, naturalmente, uma verso artificial da seleo natural, a sobrevivncia Darwiniana dos indivduos mais adaptados ao meio. Na natureza, o fitness determinado pela habilidade de um indivduo a sobreviver contra predadores, pestes e outros obstculos. A funo fitness , na realidade, o rbitro que decide quem vive e quem morre.

Um algoritmo gentico simples


Uma implementao simples para o operador de (seleo) reproduo.
A roleta:
Cada indivduo na populao tem um slot na roleta de tamanho proporcional ao seu fitness.

Para processar o operador de reproduo basta rodar a roleta e verificar qual indivduo selecionado. Cada vez que uma descendncia requerida, a roleta acessada para indicar o candidato. Quando um indivduo escolhido para reproduzir, faz-se uma rplica exata dele. Esse novo indivduo compor o conjunto de indivduos que so candidatos a compor uma nova populao (gerao) para o algoritmo.

23

26/11/2011

Um algoritmo gentico simples


Depois da seleo, o operador de crossover pode ser executado. O crossover pode ser de vrios tipo, pode ocorrer sob uma determinada probabilidade de ocorrncia e tambm conhecido como reproduo sexuada. Procede-se em dois passos:
Membros dos da nova populao (indivduos reproduzidos) so escolhidos randomicamente; Cada par de indivduos sofre recombinao:

Seleciona-se, randomicamente, uma posio K da string (k pode variar de 1 ao tamanho da string -1); Dois novos indivduos filhos so criados por meio da combinao dos genes dos indivduos pais.

Um algoritmo gentico simples


Ilustrando:
Pai1 = 0 1 1 0 1 Pai2 = 1 1 0 0 0

Posio sorteada: k = 4
Pai1 = 0 1 1 0 | 1 Pai2 = 1 1 0 0 | 0 Filho1 = 0 1 1 0 0 Filho2 = 1 1 0 0 1

24

26/11/2011

Um algoritmo gentico simples


Mutao:
um operador ocasional que provoca alteraes randmicas dos valores de algumas posies na string (em alguns genes dos indivduos). Na codificao binria do problema da caixa preta, a mutao simplesmente muda de 1 para 0 o valor de um bit da string. A freqncia da mutao deve ser baixa pois ela representa uma busca aleatria no espao de busca. A implementao dela se d como segue:
Se a mutao deve acontecer (de acordo com uma probabilidade de mutao) Ento um indivduo randomicamente escolhido E um alelo deste indivduo randomicamente escolhido e O valor para este alelo randomicamente escolhido dentro do alfabeto correlato.

Um algoritmo gentico simples

25

26/11/2011

Algoritmos Genticos (Goldberg)


Diferenciando dos mtodos tradicionais
AGs trabalham com uma codificao do conjunto de parmetros e no com os prprios parmetros; AGs realizam busca a partir de uma populao de pontos (solues) e no a partir de um nico ponto; AGs usam informao de retorno feedback da funo objetivo - e no informao derivativa ou outro tipo de conhecimento auxiliar; AGs usa regras de transio probabilsticas e no regras determinsticas.

Explorando ... (Goldberg)


AGs trabalham com uma codificao do conjunto de parmetros e no com os prprios parmetros.
O conjunto de parmetros natural do problema deve ser codificado como uma string de comprimento finito, instanciada por meio de um alfabeto finito.

Exemplo:
Maximizao de f(x) = x2, no intervalo [0,31]. Representao binria para o parmetro x. x = 15

26

26/11/2011

Explorando (Goldberg)
Considere a caixa preta de interruptores.

Feedback

Este problema consiste em um recurso do tipo caixa preta com um seqncia de 5 interruptores de entrada. Para cada configurao dos 5 interruptores existe um sinal de sada f, matematicamente f= f(s), onde s uma configurao especfica. O objetivo do problema posicionar os interruptores de maneira a obter o maior valor possvel para f. Codificao dos interruptores: Uma string de comprimento 5, valorado com 0s ou 1s onde cada um dos 5 interruptores representado por 1 se o interruptor est ligado e 0 se o interruptor est desligado.

Explorando (Goldberg)
AGs realizam busca a partir de uma populao de pontos (solues) e no a partir de um nico ponto.
Em muitos mtodos de otimizao, move-se de um estado para o prximo, ou de uma soluo para a prxima, usando alguma regra de transio para determinar o prximo estado ou situao (ponto). Este mtodo ponto-a-ponto perigoso porque pode cair em mnimos ou mximos locais. Os AGs trabalham com uma populao de solues, buscando o mximo ou mnimo de forma paralela.

No nosso problema da caixa preta de interruptores, um mtodo clssico comearia com a determinada configurao de interruptores, aplicaria a regra de transio e geraria a nova configurao.
Um algoritmo gentico comearia com uma populao de strings e geraria sucessivas populaes de strings.

Por exemplo:
Uma populao inicial de 4 strings seria gerada randomicamente; Em seguida, a partir desta, sucessivas populaes poderiam ser geradas

27

26/11/2011

Explorando (Goldberg)
AGs usam informao de retorno feedback da funo objetivo - e no informao derivativa ou outro tipo de conhecimento auxiliar; Muitas tcnicas exigem muita informao auxiliar sobre o problema para trabalhar adequadamente. Tcnicas baseadas no gradiente, por exemplo, precisam de derivadas para serem capazes de subir um morro. Tcnicas gulosas requerem acesso maioria, seno a todos, os parmetros informacionais por exemplo, as possibilidades a serem avaliadas. Algoritmos genticos no exigem informaes diretas sobre o problema (eles so ditos cegos) eles requerem apenas o feedback.

Explorando (Goldberg)
AGs usa regras de transio probabilsticas e no regras determinsticas.
A escolha por gerar um novo estado feita baseada em probabilidades que ajudar o algoritmo a caminha por regies promissoras no espao de busca.

28

26/11/2011

Exemplo
http://www.obitko.com/tutorials/genetic-algorithms/portuguese/examplefunction-minimum.php http://www.obitko.com/tutorials/genetic-algorithms/portuguese/example3d-function.php http://www.obitko.com/tutorials/genetic-algorithms/portuguese/tspexample.php

Bibliografia ....
RUSSEL, S. e NORVIG, P. Artificial Intelligence: A Modern Approach. Prentice Hall, 1995.
Pgs: 63-68; 70-71; 95-99; 104-106; 113-117.

GOLDBERG, D. Genetic Algoritms. Addison Wesley, 1988 LINDEN, R. Algoritmos Genticos: uma importante ferramenta da Inteligncia Computacional. Ed. Brasport, 2006.

29