Sie sind auf Seite 1von 41

UNIVERSIDADE DO OESTE DE SANTA CATARINA CENTRO TECNOLGICO

Busca com Informao e Explorao (Heurstica)

Prof.: Claudio J. Biazus cbiazus@gmail.com

Tpicos
Estratgias de busca com informao (heurstica) Busca gulosa pela melhor escolha Busca A* Funes heursticas Algoritmos de busca local e problemas de otimizao Busca subida da encosta Busca por tmpera simulada Exerccios

Claudio J. Biazus 2

Estratgias de busca com informao (heurstica)


uma estratgia que utiliza o conhecimento especfico do problema, alm da definio do prprio problema. Pode encontrar solues de forma mais eficiente que uma estratgia sem informao. A abordagem geral que examinaremos chamada de busca pela melhor escolha.

Claudio J. Biazus 3

Estratgias de busca com informao (heurstica)


A busca pela melhor escolha uma especializao, no qual um n selecionado para a expanso com base em uma funo de avaliao f(n). O n com a avaliao mais baixa selecionado para expanso. Um componente fundamental desses algoritmos uma funo heurstica, denotada por h(n):
h(n) = custo estimado do caminho mais econmico do n n at um n Claudio J. Biazus objetivo
4

Busca gulosa pela melhor escolha


A busca gulosa pela melhor escolha tenta expandir o n mais prximo meta. Ela avalia ns usando apenas a funo heurstica: f(n) = h(n). Vamos ver como isso funciona no caso de problemas de localizao de rotas na Romnia, usando a heurstica de distncia em linha reta, que chamaremos de hDLR.
Claudio J. Biazus 5

Busca gulosa pela melhor escolha


Se o objetivo Bucareste, precisamos conhecer as distncias em linha reta at Bucareste, mostradas na Figura 4.1.

Claudio J. Biazus 6

Busca gulosa pela melhor escolha


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

Fig. 4.1 Valores de hDLR distncia em linha reta at Bucareste

Busca gulosa pela melhor escolha


A Figura 4.2 mostra o progresso de uma busca guloso pela melhor escolha usando hDLR para encontrar um caminho de Arad at Bucareste.

Claudio J. Biazus 8

Busca gulosa pela melhor escolha


(a) O estado inicial Arad
Arad
366

(b) Depois da expanso de Arad

Arad

Sibiu
253

Timisoara
329

Zerind
374

Fig. 4.2 Fases de uma busca gulosa pela melhor escolha para Bucareste

Claudio J. Biazus 9

Busca gulosa pela melhor escolha


(c) Depois de expandir Sibiu
Arad

Sibiu

Timisoara
329

Zerind
374

Arad
366

Fagaras
176

Oradea
380

Rimnicu Vilcea

193

Fig. 4.2 Fases de uma busca gulosa pela melhor escolha para Bucareste

Claudio J. Biazus 10

Busca gulosa pela melhor escolha


(d) Depois de expandir Fagaras
Arad

Sibiu

Timisoara
329

Zerind
374

Arad
366

Fagaras

Oradea
380

Rimnicu Vilcea

193

Sibiu

Bucaresta
Claudio J. Biazus 11

253 0 Fig. 4.2 Fases de uma busca gulosa pela melhor escolha para Bucareste

Busca gulosa pela melhor escolha


Anlise de Complexidade:
completa se no admitir estados repetidos; Tempo: O(bm), mas uma boa heurstica pode reduzir drasticamente o tempo; Espao: O(bm), todos os ns so mantidos na memria; No garante a soluo tima.

Claudio J. Biazus 12

Busca A*
A forma mais amplamente conhecida de busca pela melhor escolha chamada busca A*. Ela avalia ns combinando g(n) e h(n): g(n) = o custo para alcanar cada n; h(n) = o custo para ir do n n at o objetivo. f(n) = g(n) + h(n) Tendo em vista que g(n) fornece o custo de 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: Claudio J. Biazus
13

Busca A*
f(n) = custo estimado da soluo de custo mais baixo passando por n. Se estivermos tentando encontrar a soluo de custo mais baixo, uma opo razovel ser experimentar primeiro o n com o menor valor de g(n) + h(n). Na verdade, essa estratgia mais que apenas razovel: desde que a funo heurstica h(n) satisfaa a certas condies, a busca A* ser ao mesmo tempo completa e tima.
Claudio J. Biazus 14

Busca A*
A anlise de carter timo de A* direta se for usada com BUSCA-EM-RVORE. Nesse caso, A* ser tima se h(n) for uma heurstica admissvel isto , desde que h(n) nunca superestime o custo para alcanar o objetivo. Heursticas admissvel so otimistas por natureza, pois imaginem que o custo da resoluo do problema seja menor do que ele na realidade. Tendo em vista que g(n) o custo exato para se alcanar n, temos como consequncia imediata que f(n) nunca ir superestimar o custo verdadeiro de uma soluo passando por n.
Claudio J. Biazus 15

Busca A*
Um exemplo de heurstica admissvel a distncia em linha reta hDLR que usaremos para chegar a Bucareste. A distncia em linha reta admissvel porque o caminho mais curto entre dois pontos quaisquer uma linha reta, e assim a linha reta no pode ser uma superestimativa. A prxima figura mostra o progresso de uma busca de rvore A* para Bucareste.
Claudio J. Biazus 16

Busca A*
(a) O estado inicial
Arad
366 = 0 + 366

(b) Depois da expanso de Arad


Arad

Sibiu
393 = 140 + 253

Timisoara
447 = 118 + 329

Zerind
449 = 75 + 374

Fig. 4.3 Estgios em uma busca A* por Bucareste. Os ns esto rotulados f = g + h. Claudio J. Biazus 17

Busca A*
(c) Depois da expanso de Sibiu
Arad

Sibiu

Timisoara
447 = 118 + 329
Rimnicu Vilcea

Zerind
449 = 75 + 374

Arad
646 = 280 + 366

Fagaras
415 = 239 + 176

Oradea
671 = 291 + 380

413 = 220 + 193

Fig. 4.3 Estgios em uma busca A* por Bucareste. Os ns esto rotulados f = g + h.Claudio J. Biazus 18

Busca A*
(d) Depois da expanso de Rimnieu Vilcea
Arad

Sibiu

Timisoara
447 = 118 + 329

Zerind
449 = 75 + 374

Arad
646 = 280 + 366

Fagaras
415 = 239 + 176

Oradea
671 = 291 + 380

Rimnicu Vilcea

Craiova
526 = 366 + 160

Pitesti
417 = 317 + 100

Sibiu
553 = 300 + 253

Fig. 4.3 Estgios em uma busca A* por Bucareste. Os ns esto rotulados f = g + h.Claudio J. Biazus 19

Busca A*
(e) Depois da expanso de Faragas
Arad

Sibiu

Timisoara
447 = 118 + 329

Zerind
449 = 75 + 374

Arad
646 = 280 + 366

Fagaras

Oradea
671 = 291 + 380

Rimnicu Vilcea

Sibiu
591 = 338 + 254

Bucareste
450 = 450 + 0

Craiova
526 = 366 + 160

Pitesti
417 = 317 + 100

Sibiu
553 = 300 + 253

Fig. 4.3 Estgios em uma busca A* por Bucareste. Os ns esto rotulados f = g + h.Claudio J. Biazus 20

Busca A*
(f) Depois da expanso de Pitesti
Sibiu Arad

Timisoara
447 = 118 + 329

Zerind
449 = 75 + 374

Arad
646 = 280 + 366

Fagaras

Oradea
671 = 291 + 380

Rimnicu Vilcea

Craiova Bucareste
450 = 450 + 0 526 = 366 + 160

Pitesti

Sibiu
553 = 300 + 253

Sibiu
591 = 338 + 254

Bucareste
418 = 418 + 0

Craiova
615 = 455 +16 0

Oradea
607 = 414 +193

Fig. 4.3 Estgios em uma busca A* por Bucareste. Os ns esto rotulados f = g + h.Claudio J. Biazus 21

Busca A*
Em particular, note que Bucareste aparece primeiro na borda do passo (e), mas no est selecionada para expanso, porque seu custo de f(450) e mais alto do que o de Pitesti (418). Desse exemplo, podemos atrair uma prova geral de que A* usando BUSCA-EM-RVORE tima se h(n) admissvel.

Claudio J. Biazus 22

Exemplo: Jogo do Oito

7 5 8

4 6

1 8 7

3 4

3
Estado inicial

6
Estado objetivo

Fig. 3.4 Quebra-cabea de 8 peas

Claudio J. Biazus 23

Busca A*
Teorema da Admissibilidade de A* A busca A* tima, isto , sempre encontra o caminho de menor custo at a meta. Quanto mais admissvel a heurstica, menor o custo da busca. Exemplo: Para o jogo do oito:
h1: nmero de peas fora do lugar. h2: distncia Manhattan (nmero de casas longe da posio final em cada direo).

Claudio J. Biazus 24

Funes heursticas
O quebra-cabea de 8 peas foi um dos mais antigos problemas de busca heurstica. O objetivo do quebra-cabea deslizar os blocos no sentido horizontal ou vertical para o espao vazio. At que a configurao coincidir com a configurao objetivo (Figura 4.7).

Claudio J. Biazus 25

Funes heursticas

7 5 8

4 6 3 6

1 4 7
Estado objetivo

2 5 8

3
Estado inicial

Fig. 4.7 Uma instncia tpica do quebra-cabea de 8 peas. A soluo tem 26 passos
Claudio J. Biazus 26

Funes heursticas
O custo da soluo mdia para uma instncia do quebracabea de 8 peas gerada ao acaso de 22 passos. O fator de ramificao aproximadamente igual a 3:
Quando o espao vazio est no meio, h 4 movimentos; Quando o espao vazio est em um canto, h 2 movimentos; Quando o espao vazio est em uma borda, h 3 movimentos;

Isso significa que uma busca exaustiva para a profundidade 22 examinaria cerca de 322 3,1 x 1010 estados.
Claudio J. Biazus 27

Funes heursticas
Controlando os estados repetidos, reduz esse valor para aproximadamente 170.000 vezes, porque existem apenas 9!/2 = 181.440 estados distintos acessveis. Para o quebra-cabea de 15 peas prximo de 1013, e assim necessrio encontrar uma boa funo heurstica.

Claudio J. Biazus 28

Funes heursticas
h1 = O nmero de blocos em posies erradas.
Para a figura 4.7, todos os oito blocos esto fora de posio, e assim, o estado inicial teria h1 = 8.

h2 = A soma das disciplinas dos blocos de duas posies objetivo (Distncia Manhattan).
h2 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18

Como seria de esperar, nenhum desses valores superestima o custo da soluo verdadeira, que 26.
Claudio J. Biazus 29

Algoritmos de busca local e problemas de otimizao


Os algoritmos de busca que vimos at agora foram projetados para explorar sistematicamente espaos de busca. Esse carter sistemtico alcanado mantendo-se um ou mais caminhos na memria e registrando-se as alternativas que foram exploradas. Quando um objetivo encontrado, o caminho at esse objetivo tambm constitui uma soluo para o problema.

Claudio J. Biazus 30

Algoritmos de busca local e problemas de otimizao


No entanto, em muitos problemas, o caminho at o objetivo irrelevante. Por exemplo, no problema das 8 rainhas. Se o caminho at o objetivo no importa, podemos considerar esta uma classe diferente de algoritmos. Os algoritmos de busca local operam usando um nico estado corrente, e em geral se movem apenas para os vizinhos desse estado.
Claudio J. Biazus 31

Algoritmos de busca local e problemas de otimizao


Os algoritmos de busca local so teis para resolver problemas de otimizao. O objetivo encontrar o melhor estado de acordo com uma funo objetivo. Para entender a busca local, descobriremos que muito til considerar a topologia de espao de estados (como na Figura 4.10)

Claudio J. Biazus 32

Algoritmos de busca local e problemas de otimizao


funo objetivo mximo global

plancie

mximo local mximo local plano

estado corrente

espao de estados

Fig. 4.10 Uma topologia de espao de estados unidimensional, no qual a elevao corresponde funo objetivo Claudio J. Biazus 33

Busca subida da encosta


a estratgia mais simples e popular. Baseada na Busca em Profundidade. um mtodo de busca local que usa a idia de que o objetivo deve ser atingido com o menor nmero de passos. A idia heurstica que lhe d suporte a de que o nmero de passos para atingir um objetivo inversamente proporcional ao tamanho destes passos.

34

Busca subida da encosta


Empregando uma ordenao total ou parcial do conjunto de estados, possvel dizer se um estado sucessor leva para mais perto ou para mais longe da soluo. Assim o algoritmo de busca pode preferir explorar em primeiro lugar os estados que levam para mais perto da soluo. H duas variaes do mtodo: a Subida de Encosta SIMPLES e a Subida de Encosta PELA TRILHA MAIS NGREME.
35

Busca subida da encosta


SUBIDA DA ENCOSTA SIMPLES: Vai examinando os sucessores do estado atual e segue para o primeiro estado que for maior que o atual. SUBIDA DA ENCOSTA PELA TRILHA MAIS NGREME: Examina TODOS os sucessores do estado atual e escolhe entre estes sucessores qual o que est mais prximo da soluo.

Claudio J. Biazus 36

Busca subida da encosta


Este mtodo no assegura que se atinja o ponto mais alto da montanha. Ele assegura somente que atingido um ponto mais alto do que seus vizinhos, ento encontramos uma boa soluo local.

37

Busca por tmpera simulada


adequado a problemas nos quais a subida de encosta encontra muitos plats e mximos locais. No utiliza backtracking e No garante que a soluo encontrada seja a melhor possvel. Pode ser utilizado em problemas NP-completos. inspirado no processo de tmpera do ao. Temperaturas so gradativamente abaixadas, at que a estrutura molecular se torne suficientemente uniforme.
38

Busca por tmpera simulada


Tmpera Simulada

39

Busca por tmpera simulada


A idia permitir maus movimentos que com o tempo vo diminuindo de freqncia e intensidade para poder escapar de mximos locais. O que o algoritmo de tmpera simulada faz atribuir uma certa energia inicial ao processo de busca, permitindo que, alm de subir encostas, o algoritmo seja capaz de descer encostas e percorrer plats se a energia for suficiente.

40

Bibliogrfia
RUSSELL, S & NORVIG, P. Inteligncia Artificial. 2 Ed. Campus, 2003. BITTENCOURT, G.; Inteligncia Artificial, ferramentas e teorias; UFSC; Florianpolis, SC; 1998 . BARRETO, J. M. Inteligncia Artificial. No limiar do sculo XXI. Abordagem Hbrida simblica, conexionista e evolutiva. 2 Ed. Florianpolis, 1999. LUGER, George F.; Inteligncia Artificial; Artmed Ed. S.A.; P. Alegre; 2004. HAYKIN, S.; Redes neurais, princpios e prtica; 2 Ed.; Bookmann; Porto Alegre, RS; 2004.
Claudio J. Biazus 41

Das könnte Ihnen auch gefallen