ia05_metbuscainformada

44
1 Inteligência Artificial(IA) Erivan Alves de Andrade Métodos de Busca Informada

Upload: marcio-fabiano

Post on 26-Sep-2015

8 views

Category:

Documents


2 download

DESCRIPTION

fbvffg

TRANSCRIPT

  • 1Inteligncia Artificial(IA)

    Erivan Alves de Andrade

    Mtodos de Busca Informada

  • 2ErivanA de Andrade 2011

    Mtodos de busca informada

    Contedo programticon Busca O Melhor Primeiro

    n Funes heursticas

    n Busca limitada pela memria

    n Algoritmos de melhoramento iterativo

  • 3ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Funo de avaliao(FA)

    q Retorna um nmero propondo descrever a (desirability) utilidade(ou falta dela) de expandir o prximo n de uma arvore de busca

    n Um FA usa conhecimento especfico sobre o probleman Busca o melhor primeiro

    q Se os ns so ordenado e os com melhor avaliao so expandidos primeiro

    n A estratgia de buscar o melhor primeiro venervel mas imprecisaq Se pudssemos de fato expandir o melhor primeiro iramos

    direto soluoq Ele permite apenas escolher o que parece ser melhor,

    segundo a FA utilizadaq Uma FA onisciente pode de fato expandir o melhor primeiro

  • 4ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Existem vrios algoritmos de busca o melhor

    primeiro com diferentes FAq Tipicamente esta FA usam alguma medida do custo da

    soluo e tentam minimiz-la

    n Para focar a busca a medida deve incorporar alguma estimativa de proximidade de um n em relao ao n meta

    n Consideremos duas abordagens bsicasq Primeiro tentar expandir o n mais prximo da

    meta(busca gulosa)q Tentar expandir o n no caminho da soluo de custo

    mnimo (busca A*)

  • 5ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Minimizar o custo estimado para atingir a meta

    busca gulosaq O n julgado estar mais prximo da meta e expandido

    primeiro

    q Para muitos problemas o custo de atingir a meta a partir de um determinado n pode ser estimado, mas no determinado com exatido

    q Uma funo que calcula tal custo estimado chamada de funo heurstica

    q Funo heurstica n h(n) = custo estimado do caminho mais barato do estado

    do n n ao estado meta

  • 6ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Minimizar o custo estimado para atingir a meta

    busca gulosa (cont...)q Na busca gulosa a h pode ser qualquer funo desde

    quen h(n)=0 se n o estado meta

    n Uma funo heurstica especfica para cada problemaq Ex: para encontrar uma rota que leve de Arad a

    Bucharest pode se utilizar a distncia em linha reta entre as cidade como funo heurstica

  • 7ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Busca gulosa

  • 8ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Busca gulosa

  • 9ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Busca gulosa

    q A estratgia se preocupa em abocanhar o mximo possvel do caminho restante para tingir a metan No se preocupa com as conseqncias disto a longo tempo

    q Algoritmos gulosos com freqncia produz bons resultados

    q Nem sempre encontra a soluo tima

    q suscetvel a falsos comeos(false starts)n Ex: ir de Iasi a Fagaras

    q Lembra a busca em profundidade primeiron Sofre dos mesmos problemas: no tima nem completa

    n Complexidade de tempo no pior caso O(bm) m profundidade mxima

    n Complexidade de espao igual a de tempo

    q Uma boa heurstica pode reduzir ambas as complexidades

  • 10

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Minimizar o custo do caminho total: busca A*

    q Busca gulosa minimiza o custo estimado de n at a meta- h(n)n No tima nem completa

    q A busca de custo uniforme minimiza o custo do caminho at n g(n)n tima e completan Pode ser muito ineficiente

    q Idia bsica: combinar as vantagens de h(n) e g(n)q Essa combinao e representada por f(n)

    f(n) = g(n)+h(n)q f(n) d o custo estimado do caminho mais barato da

    soluo passando por n

  • 11

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Busca A* (cont...)

    q Para encontrar a soluo mais barato razovel expandir primeiro o n com o menor valor de f

    q Pode-se provar que esta estratgia tima e completan Se a funo heurstica utilizada for uma heurstica

    admissvelq Heurstica admissvel

    n Funo heurstica h que nunca superestima o custo para atingir a meta

    q Heursticas admissveis so otimistas por naturezaq O otimismo da heurstica h e transferido pra f

    n Se h admissvel, f(n) nunca superestima o custo atual da melhor soluo passando por n

    q A busca melhor primeiro utilizando f como FA e uma funo h admissvel conhecido como busca A*

  • 12

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Comportamento da Busca A*

    q Se na rvore de busca ao longo de qualquer caminho, a partir da raiz, o custo de f nunca decresce a heurstica montonan Maioria das heursticas admissveis so montonas

    q Pode se fazer uma correo para se restaurar a monotonicidade se ela no ocorren Seja os ns n e n com n sendo o pai de n

    n Se f(n) < f(n) ento h no montona

    n Usa se uma equao que garante que o custo de f nunca decresce

    f(n)= max(f(n), g(n)+h(n)) equao pathmax

  • 13

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Comportamento da Busca A*

    q Usando a equao pathmax f ser sempre crescente ao longo de qualquer caminho a partir da raizn Pode-se conceitualmente desenhar contornos no espao

    de estados

    q Seja f* o custo do caminho da soluo timan A* expande todos os ns com f(n)

  • 14

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Comportamento da Busca A*q Usando a equao pathmax f ser sempre

    crescente ao longo de qualquer caminho a partir da raiz

    q A otimalidade e completude de A* j foi provada matematicamente

    q Nenhum outro algoritmo timo expande menos ns que A*

    q A* possui problemas quanto a sua complexidade de tempo e espao

  • 15

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Comportamento da Busca A*

    q Nenhum outro algoritmo timo expande menos ns que A*

    q A* possui problemas quanto a sua complexidade de tempo e espao

  • 16

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Busca A*: Exemplo

    Ver mapa

  • 17

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Busca o melhor primeiron Busca A*: Contornos

  • 18

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Funes Heursticasn Como escolher uma boa funo heurstica

    h?n h depende de cada problema particular.n h deve ser admissvelq no superestimar o custo real da soluo

    n Existem estratgias genricas para definir h:

    1) Relaxar restries do problema;

    2) Usar informao estatstica;

    3) Identificar os atributos mais relevantes do problema (exige aprendizagem).

  • 19

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Funes Heursticas: relaxando o problema

    n Problema Relaxado:q verso simplificada do problema original, onde os

    operadores so menos restritivos

    n Exemplo: jogo dos 8 nmeros - operador originalq Um nmero pode mover-se de A para B se A

    adjacente a B e B est vazioq busca exaustiva 320 estados possveis

    n Operadores relaxados:1. um nmero pode mover-se de A para B se A adjacente a B (h2)2. um nmero pode mover-se de A para B se B est vazio3. um nmero pode mover-se de A para B (h1)

    4 5 8

    1 6

    7 32

  • 20

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Heursticas para jogo 8 nmeros

    Heursticas possveish1 = no. de elementos fora do lugar (h1=7)h2 = soma das distncias de cada nmero posio final (h2=2+3+3+2+4+2+0+2=18)

  • 21

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Espao de Estados jogo dos 8-nmeros

    1 3

    8 42

    7 6 5

    1 2 3

    8 4

    7 6 5

    1 3

    8 42

    7 6 5

    1 3

    8 42

    7 6 5

    1 2 3

    8 4

    7 6 5

    1 3 4

    8 52

    7 6

    1 3

    8 42

    7 6 5

    1 3 4

    8 2

    1 3 4

    8 2

    7 6 5

    7 6 5

  • 22

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Funes Heursticas: Usando informao estatstican Funes heursticas podem ser melhoradas com

    informao estatstica:q executar a busca com um conjunto de treinamento (e.g., 100

    configuraes diferentes do jogo), e computar os resultados.

    q se, em 90% dos casos, quando h (n) = 14, a distncia real da soluo 18,

    q ento, quando o algoritmo encontrar 14 para o resultado da funo, substituir-se esse valor por 18.

    n Informao estatstica expande menos ns, porm elimina admissibilidade:

    q em 10% dos casos do problema acima, a funo de avaliao poder superestimar o custo da soluo, no sendo de grande auxlio para o algoritmo encontrar a soluo mais barata.

  • 23

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Funes Heursticas: Escolhendo Funes Heursticas

    n sempre melhor usar uma funo heurstica com valores mais altos, contanto que ela seja admissvel. q ex. h2 melhor que h1

    n hi domina hk hi(n) hk(n) "n no espao de estadosq h2 domina h1 no exemplo anterior

    n Caso existam muitas funes heursticas para o mesmo problema, e nenhuma delas domine as outras, usa-se uma heurstica composta:q h (n) = max (h1 (n), h2 (n),,hm(n))

    n Assim definida, h admissvel e domina cada funo hi individualmente

  • 24

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Funes Heursticas: Escolhendo Funes Heursticas

    n A qualidade da funo heurstica: medida atravs do fator de expanso efetivo (b*).

    q b* o fator de expanso de uma rvore uniforme com N ns e nvel de profundidade d

    q N = 1 + b* + (b*)2 + ... + (b*)d , onde N = total de ns expandidos para uma instncia de problema

    d = profundidade da soluo;

    n Mede-se empiricamente a qualidade de h a partir do conjunto de valores experimentais de N e d. q uma boa funo heurstica ter o b* muito prximo de 1.

    n Se o custo de execuo da funo heurstica for maior do que expandir ns, ento ela no deve ser usada. q uma boa funo heurstica deve ser eficiente e econmica.

  • Funes Heursticas: Experimento com 100 problemas

    Uma boa funo heurstica ter o b* muito prximo de 1.

  • 26

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo(AMI)

    n A idia comear com o estado inicial (configurao completa, soluo aceitvel), e melhor-lo iterativamente. q Imagem da TV

    n Os estados esto representados sobre uma superfcie (grfico)q a altura de qualquer ponto na superfcie corresponde

    funo de avaliao do estado naquele ponto

    n O algoritmo se move pela superfcie em busca de pontos mais altos (objetivos)

    q o ponto mais alto (mximo global) corresponde soluo timan n onde a funo de avaliao atinge seu valor mximo

    n Aplicaes: problemas de otimizao q por exemplo, linha de montagem

  • 27

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    Exemplo de Espao de Estados

  • 28

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Esses algoritmos guardam apenas o estado atual, e no vem alm dos vizinhos imediatos do estado.

    n Contudo, muitas vezes so os melhores mtodos para tratar problemas reais muito complexos.

    n Duas classes de algoritmos:

    q Subida de Encosta(Hill-Climbing ou Gradiente Ascendente ou busca gulosa local)

    n s faz modificaes que melhoram o estado atual.

    q Anelamento Simulado(Simulated Annealing ou tmpera simulada)n pode fazer modificaes que pioram o estado atual

    temporariamente, para possivelmente melhor-lo no futuro.

  • 29

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Subida da Encosta: algoritmoq O algoritmo no mantm uma rvore de

    busca:n guarda apenas o estado atual e sua avaliaon simplesmente um loop que se move na direo

    crescente (para maximizar) ou decrescente (para minimizar) da funo de avaliao.

  • 30

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Subida da Encosta: Exemploq Clculo da menor rotas com 5 ns:

    n estado inicial = (N1, N2, N3, N4, N5)

    n f = soma das distncias diretas entre cada n, na ordem escolhida (admissvel!)

    n operadores = permutar dois ns quaisquer do caminho

    n restrio = somente caminhos conectados so estados vlidos

    n estado final = n onde valor de f mnimo

    n e1 = {N1, N2, N3, N4, N5}f(N1, N2, N3, N4, N5) = 10

    n e2 = {N2, N1, N3, N4, N5}f(N2, N1, N3, N4, N5) = 14

    n e3 = {N2, N1, N4, N3, N5}f(N2, N1, N3, N4, N5) = 9!!!

  • 31

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Subida da Encosta

    q O algoritmo move-se sempre na direo que apresenta maior taxa de variao para f

    q Isso pode acarretar em 3 problemas:

    1. Mximos locais

    2. Plancies (plats)

    3. Encostas e picos

  • 32

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Mximos locaisq Definio

    n Em contraste com mximos globais, so picos mais baixos do que o pico mais alto no espao de estados (soluo tima)

    q A funo de avaliao leva a um valor mximo para o caminho sendo percorridon a funo de avaliao menor para todos os estados

    filhos do estado atual, apesar de o objetivo estar em um ponto mais altoq essa funo utiliza informao local

    n e.g., xadrez: eliminar a Rainha do adversrio pode levar o jogador a perder o jogo.

  • 33

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Mximos locais

    q O algoritmo pra no mximo localn pois s pode mover-se com taxa crescente de

    variaoq restrio do algoritmo

    n e.g., 8-nmeros: mover uma pea para fora da sua posio correta para dar passagem a outra pea que est fora do lugar tem taxa de variao negativa!!!

  • 34

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Plats (Plancies)

    q Uma regio do espao de estados onde a funo de

    avaliao d o mesmo resultado

    n todos os movimentos locais so iguais (taxa de variao zero)

    q f(n) = f(filhos(n))

    n o algoritmo pra depois de algumas tentativas

    q restrio do algoritmo

    n ex. jogo 8-nmeros: nenhum movimento possvel vai influenciar no valor de f, pois nenhum nmero vai chegar ao seu local objetivo.

  • 35

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Encostas e Picos

    q Apesar de estar em uma direo que leva ao

    pico, nenhum dos operadores vlidos conduz o

    algoritmo nessa direo

    n os movimentos possveis tm taxa de variao zero

    ou negativa

    q restrio do problema e do algoritmo

    n ex. rotas: quando permutar dois pontos e o caminho resultante no est conectado.

  • 36

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Subida da Encostaq Nos casos acima, o algoritmo chega a um ponto de onde

    no faz mais progresso.q Soluo: reincio aleatrio (random restart)

    n O algoritmo realiza uma srie de buscas a partir de estados iniciais gerados aleatoriamente.

    q Cada busca executadan at que um nmero mximo estipulado de iteraes seja

    atingido, ou n at que os resultados encontrados no apresentem melhora

    significativa.q O algoritmo escolhe o melhor resultado obtido com as

    diferentes buscas.n Objetivo!!!

  • 37

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Subida da Encosta: anliseq O algoritmo completo?

    n SIM, para problemas de otimizao

    q uma vez que cada n tratado pelo algoritmo sempre um estado completo (uma soluo)

    n NO, para problemas onde os ns no so estados completosq e.g., jogo dos 8-nmerosq semelhante busca em profundidade

    q O algoritmo timo?

    n TALVEZ, para problemas de otimizao

    q quando iteraes suficientes forem permitidas...

    n NO, para problemas onde os ns no so estados completos

  • 38

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Subida da Encosta: anlise

    q O sucesso deste mtodo depende muito do formato da superfcie do espao de estados:n se h poucos mximos locais, o reincio aleatrio

    encontra uma boa soluo rapidamente

    n caso contrrio, o custo de tempo exponencial.

  • 39

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Tmpera Simulado

    q Este algoritmo semelhante Subida da Encosta, porm oferece meios para se escapar de mximos locais.n quando a busca fica presa em um mximo local, o algoritmo no

    reinicia a busca aleatoriamente

    n ele retrocede para escapar desse mximo local

    n esses retrocessos so chamados de passos indiretos

    q Apesar de aumentar o tempo de busca, essa estratgia consegue escapar dos mximos locais

    q Analogia com cozimento de vidros ou metais: n processo de resfriar um lquido gradualmente at ele se solidificar

  • 40

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Tmpera Simulado

    q O algoritmo utiliza um mapeamento de resfriamento de instantes de tempo (t) em temperaturas (T).

    q Nas iteraes iniciais, no escolhe necessariamente o melhor passo, e sim um movimento aleatrio:n se a situao melhorar, esse movimento ser sempre

    escolhido posteriormente;n caso contrrio, associa a esse movimento uma

    probabilidade de escolha menor do que 1. q Essa probabilidade depende de dois parmetros, e

    decresce exponencialmente com a piora causada pelo movimento, e-DE/T, onde:

    DE = Valor[prximo-n] - Valor[n-atual]

    T = Temperatura

  • 41

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    n Tmpera Simulado:Algoritmo

    q funo AnelamentoAnelamento--SimuladoSimulado (problema,mapeamento) retorna uma soluo

    variveis locais: corrente, prximo, T (temperatura que controla a probabilidade de passos para trs)

    corrente FazFaz--NN(EstadoEstado--InicialInicial[problema])for t 1 to do

    T mapeamento[t]Se T = 0

    ento retorna correnteprximo um sucessor de corrente escolhido aleatoriamenteDE ValorValor[prximo] - ValorValor[corrente]Se DE > 0

    ento corrente prximoseno corrente prximo com probabilidade = e-DE/T

  • 42

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Algoritmos de Melhoramento Iterativo

    Tmpera Simulado

    q Com o tempo (diminuio da temperatura), este algoritmo passa a funcionar como Subida da Encosta.

    q O algoritmo timo e completo se o mapeamento de resfriamento tiver muitas entradas com variaes suaves

    n isto , se o mapeamento diminui T suficientemente devagar no tempo, o algoritmo vai encontrar um mximo global timo.

  • 43

    ErivanA de Andrade 2011

    Mtodos de busca informada

    Crticas Busca Heurstican Soluo de problemas usando tcnicas de busca

    heurstica:q dificuldades em definir e usar a funo de avaliao

    q no consideram conhecimento genrico do mundo (ousenso comum)

    n Funo de avaliao: compromisso (conflito) entreq tempo gasto na seleo de um n e

    q reduo do espao de busca

    n Achar o melhor n a ser expandido a cada passo pode ser to difcil quanto o problema da busca em geral.

  • 44

    ErivanA de Andrade 2011

    Mtodos de busca informada

    n www.di.ufpe.br/~compint/aulas-IAS

    n Stuart Russel e Peter Norvig. Artificial Intelligence: A modern approach

    Fontes de consulta