Busca Heuristica

Você também pode gostar

Você está na página 1de 18

Reviso

Aula 05
Busca com
informao

Principais estratgias de busca sem informao: busca em


amplitude e profundidade
1
2
5

3
7

1
4

X
X

Prof. Dr. Alexandre da Silva Simes

9-11

Busca baseada em informao

Como um agente pode utilizar


informaes sobre o espao de estados
para evitar que os algoritmos se
percam?
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

Estratgias derivadas:
Busca com custo uniforme
Busca em profundidade limitada
Busca de aprofundamento iterativo
Busca bidirecional Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

Estratgia geral

9-11

5
6

9-11

Busca pela melhor escolha (Best-First


Search): um n selecionado para
expanso com base em uma funo de
avaliao f(n) que mede a distncia at o
objetivo
Faz uso de uma funo heurstica

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

Heurstica

Funo heurstica

Palavra originada do grego heuriskein 1


(descobrir).
Forma mais comum de aplicar conhecimento
adicional do problema ao algoritmo de busca

atribuda a Arquimedes a passagem de gritar


heureka (eu descobri!) quando este descobriu o
princpio da flutuao
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

9-11

Algoritmos

9-11

Busca gulosa pela melhor escolha


A*

Algoritmos de busca local: operam usando um


nico estado corrente

h(n) = custo estimado do caminho mais econmico do n n at


um n objetivo
Se n objetivo, ento h(n)=0

Problema:

escolhida caso a caso, de acordo com a natureza do


problema

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

Busca gulosa pela melhor escolha

Estratgias de busca com informao:


exploram sistematicamente o espao de busca

Funo que descreve o quo bom um estado


Guia algoritmos baseados em busca pela melhor
escolha na direo mais promissora, sugerindo que
caminho seguir
Matematicamente:

Busca de subida de encosta


Busca de tmpera simulada
Busca em feixe local
Algoritmos genticos
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

Tenta expandir o n mais prximo da meta,


partindo do princpio que isso levar a uma
soluo mais rpida
A avaliao dos ns feita utilizando a funo:
f(n)=h(n)
Exemplo:

9-11

Problema: ir de Arad a Bucareste


Heurstica: distncia em linha reta. h(n) a distncia
em linha reta at Bucareste.
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

Busca gulosa: exemplo

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

Busca gulosa: exemplo

Busca gulosa: exemplo

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

10

Busca gulosa: exemplo

11

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

12

Busca gulosa: avaliao

Busca gulosa: avaliao

Complexidade: No expandiu nenhum n fora do


caminho da soluo: baixo custo de busca!
O caminho passando por Sibiu e Fagaras 32 quilmetros
mais longo do que passando por Rimnicu Vilcea e
Pitesti.

Complexidade: No expandiu nenhum n fora do


caminho da soluo: baixo custo de busca!
Otimizao: O caminho passando por Sibiu e Fagaras
32 quilmetros mais longo do que passando por Rimnicu
Vilcea e Pitesti. No timo.

310
278

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

13

Busca gulosa: avaliao

Prefere seguir um nico caminho at o objetivo, mas voltar ao


encontrar um beco sem sada
No tima e incompleta (pode entrar em um caminho infinito
se no houver o cuidado de detectar estados repetidos)

Complexidade de tempo e espao no pior caso: O(bm).


Contudo, uma boa funo heurstica pode reduzir
drasticamente esta complexidade

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

14

A*

Desempenho muito dependente da escolha de uma


boa heurstica
Semelhante busca em profundidade:

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

15

9-11

Forma mais amplamente conhecida de


busca pela melhor escolha
Avalia ns fazendo:
f(n) = g(n) + h(n)
g(n): custo para alcanar cada n
h(n): custo para ir do n at o objetivo
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

16

A*: exemplo

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

A*: exemplo

17

A*: exemplo

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

18

A*: exemplo

19

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

20

A*: exemplo

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

A*: exemplo

21

A*: Avaliao

9-11

22

Heurstica admissvel

Para encontrar uma soluo de baixo


custo, parece razovel experimentar
primeiro o n com o menor valor de g(n)
+h(n)
Mais do que razovel, se a funo
heurstica h(n) satisfizer certas condies
a busca A* ser ao mesmo tempo
completa e tima...
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

23

A* ser tima se o espao de busca for uma


rvore e h(n) for uma heurstica admissvel

Heurstica admissvel: nunca superestima o custo


para alcanar o objetivo. uma funo otimista.
Exemplo:

9-11

Distncia em linha reta: a estrada entre duas cidades pode


ser mais comprida do que a distncia em linha reta, mas
nunca menor (estimativa otimista).

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

24

Consistncia (monotonicidade)

Consistncia (monotonicidade)

A* ser tima se o espao de busca for um


grafo1 e h(n) for uma heurstica consistente
(ou monotnica)

Uma heurstica h(n) consistente (ou monotnica)


se para todo n n e todo sucessor n de n gerado por
qualquer ao a, o custo estimado de alcanar o
objetivo a partir de n no maior que o custo do
passo de se chagar a n somado ao custo estimado
de alcanar o objetivo a partir de n, ou seja:

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

25

Exerccios

h(n)

n
c(n,a,n)
n

g
h(n)

n: n
n: sucessor de n
g: meta
a: ao

Observaes:

grafo = rvore + lista de ns visitados

9-11

Para todo n n: h(n) c(n, a, n)+h(n)

Toda heurstica consistente admissvel


Frequentemente quando h(n) admissvel, tambm
consistente

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

26

Exerccio 3
Nos dois exerccios anteriores, ambos
encontraram a mesma resposta. Contudo, em
apenas um deles pode-se garantir que a resposta
tima. Qual? Por que?

9/12/11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

27

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

32

Exerccio 1: heurstica
Valores de heurstica

3
2

4
3

h(n)=2

h(n)

h(n)
0

2
8

3
4

c(n,a,n)=1

1
7

f(n)=5(4+1)

1,4

h(n)=1
h(n) = c(n,a,n)+h(n)

heurstica consistente, portanto admissvel

9-11

4
6

h(n)

h(n)

c(n,a,n)=0,1
h(n)=1

1
7

33

9-11

3
4
5

f(n)=1,4(0,4+1)

h(n) > c(n,a,n)+h(n)


1

A funo pessimista, e podem haver ns de custo


menor do que o esperado acima da meta encontrada!

f(n)=5(5+0)

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

8
7

3
4

f(n)=0,5(0,5+0)
34

Custos como contornos

Se a funo consistente, ento os valores de f


ao longo de qualquer caminho so nodecrescentes
Se a seqncia de ns expandido por A* est
em ordem no-decrescente, ento o primeiro n
objetivo selecionado para expanso tem de ser
a soluo tima, pois todos os ns posteriores
sero pelo menos to dispendiosos quanto ele
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

h(n)=2

c(n,a,n)

0,5

3,4

2
8
6

f(n)=2,3(0,3+2)

0
1

Consistncia: consideraes

1
7

5,1 5,1

3,2 3,2 4,2


2,3 3,3

9-11

3,1

f(n)=5(3+2)

Valores de heurstica

c(n,a,n)
1

Exerccio 2: heurstica

35

9-11

Se f consistente, os custos
apresentam contornos no espao
de estados, semelhantes a um
mapa topogrfico
Na busca de custo uniforme (A*
usando h(n)=0) as faixas sero
circulares em torno do estado
inicial
Com heursticas mais precisas,
as faixas se alongaro em
direo ao estado objetivo
Considerando que o A* expande
o n de borda que tem o menor
custo de f, podemos verificar que
uma busca A* diverge a partir do
n inicial, acrescentando ns em
faixas de custo crescente
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

36

A*: Consideraes

AIA*

Completa
tima
Em geral esgota o espao (memria) bem
antes de esgotar o tempo, pois mantm
todos os ns gerados na memria

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

37

BRPM

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

38

Funes heursticas

Busca recursiva pelo melhor


Tenta imitar a operao da busca pela melhor escolhapadro, mas utiliza apenas espao linear
Estrutura semelhante busca recursiva em
profundidade, porm em vez de continuar a descer
indefinidamente pelo caminho atual, ela controla o valor
de f do melhor caminho alternativo disponvel a partir de
qualquer ancestral do n atual. Se o n atual exceder
esse limite, a recurso retornar ao caminho alternativo

9-11

Aprofundamento iterativo A*
O corte utilizado o custo de f(g+h) em vez da
profundidade
A cada iterao o valor de corte o menor custo
de f de qualquer n que tenha excedido o corte
na iterao anterior
Evita sobrecarga substancial associada
manuteno de uma fila ordenada de ns

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

39

9-11

Custo da soluo mdia gerada: 22 passos


Fator de ramificao 3
Nmero de estados examinados em uma busca
sem informao: 322 = 3,1 x 1010 estados
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

40

Funes heursticas

Funo heurstica: avaliao

Heursticas utilizadas no quebra-cabeas


de oito peas:

9-11

h1: o nmero de blocos em posies erradas.


Para o estado inicial, h1=8.
h2: a soma das distncias (horizontal e
vertical: distncia Manhattan) dos blocos de
suas posies objetivo. Para o estado inicial:
h2 = 3+1+2+2+2+3+3+2 = 18
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

41

Algoritmos de busca local

9-11

Nmero mdio de ns expandidos utilizando algoritmo A* com h1 e


h2 e busca por aprofundamento iterativo (BAI) para 1.200
problemas aleatoriamente gerados
BAI

A* (h1)

10

A* (h2)
6

112

13

12

680

20

18

6384

39

25

10

47127

93

39

12

3644035

227

73

14

539

113

16

1301

211

18

3056

363

20

7276

676

22

18094

1219

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

42

Algoritmos de busca local

Algoritmos de busca: exploram sistematicamente espaos de busca. Mantm um ou mais


caminhos na memria registrando-se as
alternativas que foram exploradas. Quando um
objetivo encontrado, o caminho at esse
objetivo tambm constitui uma soluo para o
problema
Algoritmos de busca local: classe de
algoritmos que pode ser utilizada se o caminho
at a soluo no importante
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

43

Utilizam um nico estado (estado corrente) e em


geral se movem apenas para os vizinhos desse
estado
Objetivo: encontrar um estado de acordo com
uma funo objetivo
Vantagens:

9-11

Usam pouqussima memria


Podem encontrar solues razoveis em grandes ou
infinitos espaos de estados para os quais algoritmos
sistemticos so inadequados
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

44

10

Problemas de otimizao

Busca de subida na encosta

O objetivo encontrar o melhor estado de acordo com


uma funo objetivo

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 (um n) e vizinho (um n)
corrente CRIAR-N(ESTADO-INICIAL[problema])
repita
vizinho um sucessor de corrente com valor mais alto
se VALOR[vizinho] VALOR[corrente] ento retornar ESTADO[corrente]
corrente vizinho

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

45

Subida na encosta: exemplo

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

46

Subida na encosta: calculando h

Problema: 8 rainhas

9-11

9-11

Cada estado tem 8 rainhas no tabuleiro, 1 por coluna


Funo sucessora retorna todos os estados possveis
gerados pela movimentao de uma nica rainha
para outro quadrado da mesma coluna (cada estado
tem 8x7=56 sucessores)
A funo de custo da heurstica h o nmero de
pares de rainhas que esto atacando umas s outras
Solues tm h=0
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

47

h=4

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

48

11

Subida na encosta: calculando h

Subida na encosta: calculando h

h=4+3

h=4+3+3

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

49

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

Subida na encosta: calculando h

Subida na encosta: calculando h

h=4+3+3+3

h=4+3+3+3+2

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

51

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

50

52

12

Subida na encosta: calculando h

Subida na encosta: calculando h

h=4+3+3+3+2+1

h=4+3+3+3+2+1+1

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

53

= 17

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

54

Subida na encosta: variaes

Subida na encosta: mnimo local

Algoritmo com grande nmero de variaes:


Subida na encosta estocstica: escolhe ao acaso
entre os movimentos encosta acima
Subida na encosta pela primeira escolha: subida
na encosta estocstica gerando sucessores ao acaso
at gerar sucessor melhor que o estado corrente
Subida na encosta com reincio aleatrio: srie de
buscas de subida de encosta a partir de estados
iniciais gerados ao acaso
...

Esq. Estado com h=17, mostrando o valor de h para cada sucessor


possvel obtido pela movimentao de uma rainha dentro de sua
coluna. As casas marcadas so o melhor movimento
Dir. Mnimo local: o estado tem h=1, mas todo sucessor tem um custo
mais alto
9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

55

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

56

13

Busca de tmpera simulada

Tmpera simulada: algoritmo

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

57

Lao de seleo interno muito semelhante subida na


encosta. Porm, em vez de escolher o melhor
movimento, ele escolhe um movimento aleatrio
Se o movimento melhorar a situao, ele sempre ser
aceito. Se piorar, o algoritmo aceitar o movimento com
alguma probabilidade menor do que 1
A probabilidade se reduz:

9-11

corrente CRIAR-N(ESTADO-INICIAL([problema])
para t 1 at , faa:
T escalonamento[t]
//diminui o valor de T com o tempo
se T=0 ento retornar corrente
prximo um sucessor de corrente selecionado ao acaso
E VALOR[prximo] VALOR[corrente]
se E>0 ento corrente prximo
//movimento melhora a situao!
seno corrente prximo somente com probabilidade eE/T

59

60

Em vez de manter um nico estado na memria,


mantm o controle de k estados
Comea com k estados gerados aleatoriamente.
Em cada passo so gerados todos os
sucessores de todos os k estados.

Exponencialmente com a m qualidade do movimento


medida que a temperatura T se reduz: movimentos ruins tm
maior probabilidade de serem permitidos no incio, quando a
temperatura alta, e depois se tornam mais improvveis
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

Busca em feixe local

Tmpera simulada: consideraes

funo TMPERA-SIMULADA (problema, escalonamento) retorna um estado soluo


entradas: problema (um problema), escalonamento (um mapeamento de tempo
para temperatura)
variveis locais: corrente (um n), prximo (um n), T (uma temperatura que
controla a probabilidade de passos descendentes)

Um algoritmo de subida na encosta que nunca faz movimentos


encosta abaixo sem dvida incompleto (mximo local)
Percurso puramente aleatrio completo, porm extremamente
ineficiente
Tmpera simulada: combina esses dois algoritmos. Idias gerais:
Mudana do ponto de vista de subida na encosta para
descida de gradiente
Para colocar uma bola de ping-pong na fenda mais profunda em
uma superfcie acidentada basta soltar a bola. Quando ela parar,
agita-se a bola para que ela saia do mnimo local
Tmpera, em metalurgia, o processo para endurecer metais e
vidro aquecendo-os a altas temperaturas e depois esfriando-os
gradualmente
Idia: comear a agitar com fora (alta temperatura), e reduzir
gradualmente a intensidade da agitao (baixar a temperatura)

9-11

Se qualquer um deles for um objetivo, o algoritmo


para
Caso contrrio, ele selecionar os k melhores
sucessores a partir da lista completa e repetir a
ao
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

61

14

Algoritmos genticos

Algoritmos genticos

Variante de busca em feixe estocstica, na qual os


estados sucessores so gerados pela combinao de
dois estados pais
Comeam com um nico conjunto de k estados gerados
aleatoriamente chamado populao
Cada estado (ou indivduo) representado como uma
cadeia sobre um alfabeto finito (usualmente composto
por 0s e 1s)
Cada estado avaliado pela funo de avaliao (ou
funo de fitness), que retorna valores mais altos para
estados melhores
Inteligncia Artificial - Prof. Dr.
Alexandre da Silva Simes

9-11

62

Algoritmos genticos: exemplo

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

63

Algoritmos genticos: exemplo

Problema: 8 rainhas

Os melhores indivduos so escolhidos


para reproduo
Para cada par escolhido um ponto de
crossover dentre as posies da cadeia
Os descendentes so gerados com uma
pequena mutao aleatria

Estado: representado em 8 dgitos, cada qual


representando a posio de uma rainha em uma
coluna. Ex: [8 6 4 2 7 5 3 1]
8

Funo de fitness: deve retornar um valor maior


para estados melhores. Exemplo: nmero de pares
de rainhas no-atacantes (28 a soluo do
problema).

f=6+

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

64

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

65

15

Algoritmos genticos: exemplo

Algoritmos genticos: exemplo

Funo de fitness: deve retornar um valor maior


para estados melhores. Exemplo: nmero de pares
de rainhas no-atacantes (28 a soluo do
problema).

f=6+6+

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

f=6+6+5+

66

Algoritmos genticos: exemplo

67

Algoritmos genticos: exemplo

Funo de fitness: deve retornar um valor maior


para estados melhores. Exemplo: nmero de pares
de rainhas no-atacantes (28 a soluo do
problema).

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

f=6+6+5+4+

9-11

Funo de fitness: deve retornar um valor maior


para estados melhores. Exemplo: nmero de pares
de rainhas no-atacantes (28 a soluo do
problema).

Funo de fitness: deve retornar um valor maior


para estados melhores. Exemplo: nmero de pares
de rainhas no-atacantes (28 a soluo do
problema).

f=6+6+5+4+3+

68

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

69

16

Algoritmos genticos: exemplo

Algoritmos genticos: exemplo

Funo de fitness: deve retornar um valor maior


para estados melhores. Exemplo: nmero de pares
de rainhas no-atacantes (28 a soluo do
problema).

f=6+6+5+4+3+2+

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

f = 6 + 6 + 5 + 4 + 3 + 2 + 1 = 27

70

Algoritmos genticos: exemplo

(f=24)
(f=23)
(f=20)

35,8%
34,3%
29,8%

T = 67

100%

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

9-11

71

Algoritmos genticos: exemplo

Pares para reproduo: escolhidos de acordo com


as probabilidades da funo de fitness

[24748552]
[32752411]
[24415124]

Funo de fitness: deve retornar um valor maior


para estados melhores. Exemplo: nmero de pares
de rainhas no-atacantes (28 a soluo do
problema).

O ponto de crossover: escolhido ao acaso dentre as posies


na cadeia
Ponto de crossover

Mutao: parte do novo estado gerado pode sofrer uma


mutao aleatria em relao ao produto do crossover.

Probabilidades para escolha


9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

72

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

73

17

Algoritmos genticos: exemplo

Atividades extra-classe

Leitura:

RUSSELL, S. NORVIG, P. Inteligncia Artificial.


Campus. Captulo 4, exceto os tpicos:

Busca heurstica limitada pela memria


Aprendizagem para fazer buscas melhores
Busca local em espao contnuo em diante.

Exerccios recomendados:
4.1

9-11

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

74

9-11

a 4.12, 4.15 a 4.17

Inteligncia Artificial - Prof. Dr.


Alexandre da Silva Simes

75

18

Você também pode gostar