83
Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira [email protected] Patricia Endo [email protected]

Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira [email protected] Patricia Endo [email protected]

Embed Size (px)

Citation preview

Page 1: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Eduardo Araujo Oliveiraeaocinufpebr

Patricia Endoptecinufpebr

Busca heuriacutestica - Escopo Definiccedilatildeo Estrateacutegias de busca com

Informaccedilatildeo Funccedilotildees heuriacutesticas Algoritmos de busca local e

problemas de otimizaccedilatildeo Busca local em espaccedilo contiacutenuo Agente de busca on-line e ambientes

desconhecidos

Problema da busca cega

Se a combinaccedilatildeo de caminhos ateacute o objetivo for exponencial a busca cega dificilmente encontraraacute a resposta do problema em um tempo polinomial

Instacircncia

Como encontrar um barco perdidoNatildeo podemos procurar no oceano inteiro

Informaccedilotildees relevantes Velocidade do ventoDireccedilatildeo do vento

Definiccedilatildeo Como na busca cega utiliza a

definiccedilatildeo do problema para efetuar a busca

Utiliza conhecimento especiacutefico do problema (informaccedilotildees)

Natildeo procura a melhor soluccedilatildeo do problema procura uma boa soluccedilatildeo ou simplesmente alguma soluccedilatildeo

Busca gulosa pela melhor escolha

Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa

Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema

Exemplo Objetivo Encontrar um bom

caminho de Arad agrave Bucareste

h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 2: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca heuriacutestica - Escopo Definiccedilatildeo Estrateacutegias de busca com

Informaccedilatildeo Funccedilotildees heuriacutesticas Algoritmos de busca local e

problemas de otimizaccedilatildeo Busca local em espaccedilo contiacutenuo Agente de busca on-line e ambientes

desconhecidos

Problema da busca cega

Se a combinaccedilatildeo de caminhos ateacute o objetivo for exponencial a busca cega dificilmente encontraraacute a resposta do problema em um tempo polinomial

Instacircncia

Como encontrar um barco perdidoNatildeo podemos procurar no oceano inteiro

Informaccedilotildees relevantes Velocidade do ventoDireccedilatildeo do vento

Definiccedilatildeo Como na busca cega utiliza a

definiccedilatildeo do problema para efetuar a busca

Utiliza conhecimento especiacutefico do problema (informaccedilotildees)

Natildeo procura a melhor soluccedilatildeo do problema procura uma boa soluccedilatildeo ou simplesmente alguma soluccedilatildeo

Busca gulosa pela melhor escolha

Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa

Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema

Exemplo Objetivo Encontrar um bom

caminho de Arad agrave Bucareste

h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 3: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Problema da busca cega

Se a combinaccedilatildeo de caminhos ateacute o objetivo for exponencial a busca cega dificilmente encontraraacute a resposta do problema em um tempo polinomial

Instacircncia

Como encontrar um barco perdidoNatildeo podemos procurar no oceano inteiro

Informaccedilotildees relevantes Velocidade do ventoDireccedilatildeo do vento

Definiccedilatildeo Como na busca cega utiliza a

definiccedilatildeo do problema para efetuar a busca

Utiliza conhecimento especiacutefico do problema (informaccedilotildees)

Natildeo procura a melhor soluccedilatildeo do problema procura uma boa soluccedilatildeo ou simplesmente alguma soluccedilatildeo

Busca gulosa pela melhor escolha

Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa

Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema

Exemplo Objetivo Encontrar um bom

caminho de Arad agrave Bucareste

h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 4: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Instacircncia

Como encontrar um barco perdidoNatildeo podemos procurar no oceano inteiro

Informaccedilotildees relevantes Velocidade do ventoDireccedilatildeo do vento

Definiccedilatildeo Como na busca cega utiliza a

definiccedilatildeo do problema para efetuar a busca

Utiliza conhecimento especiacutefico do problema (informaccedilotildees)

Natildeo procura a melhor soluccedilatildeo do problema procura uma boa soluccedilatildeo ou simplesmente alguma soluccedilatildeo

Busca gulosa pela melhor escolha

Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa

Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema

Exemplo Objetivo Encontrar um bom

caminho de Arad agrave Bucareste

h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 5: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Definiccedilatildeo Como na busca cega utiliza a

definiccedilatildeo do problema para efetuar a busca

Utiliza conhecimento especiacutefico do problema (informaccedilotildees)

Natildeo procura a melhor soluccedilatildeo do problema procura uma boa soluccedilatildeo ou simplesmente alguma soluccedilatildeo

Busca gulosa pela melhor escolha

Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa

Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema

Exemplo Objetivo Encontrar um bom

caminho de Arad agrave Bucareste

h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 6: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca gulosa pela melhor escolha

Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa

Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema

Exemplo Objetivo Encontrar um bom

caminho de Arad agrave Bucareste

h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 7: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo Objetivo Encontrar um bom

caminho de Arad agrave Bucareste

h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 8: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 9: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 10: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca pela melhor escolha

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 11: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca pela melhor escolha

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 12: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca pela melhor escolha

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 13: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Caracteriacutesticas da Busca Gulosa pela melhor escolha

Natildeo eacute oacutetima

Eacute incompleta pois pode entrar em loops infinitos

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 14: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca A Avalia a combinaccedilatildeo de duas funccedilotildees

f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute

n h(n) eacute a distacircncia em linha reta do

objetivo ateacute o noacute n

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 15: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

A Caracteriacutesticas Desde que h(n) natildeo superestime o custo

para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na

fronteira do espaccedilo de estados Olha o futuro sem esquecer do

passado armazenando todos os caminhos anteriores

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 16: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

A

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 17: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

A

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 18: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

A

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 19: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

A

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 20: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Comportamento Custo de tempo

exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo

Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria

para possibilitar o backtracking Eficiecircncia oacutetima

soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 21: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

A de aprofundamento iterativo (AIA)

Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 22: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca heuriacutestica com limite de memoacuteria

BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em

profundidade Diferenccedila Natildeo desce indefinidamente

Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 23: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 24: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 25: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

BRPM Arad

Sibiu Arad

Fagaras Oradea R Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R Vilcea418

607

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 26: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

A Limitado pela memoacuteria simplificado (LMSA)

Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele

elimina o pior noacute folha (maior custo de f) para continuar a busca

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 27: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

A Limitado pela memoacuteria simplificado (LMSA)

Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria

Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 28: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Funccedilotildees heuriacutesticas O desempenho da busca estaacute

totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada

Como medir a qualidade de uma funccedilatildeo heuriacutestica

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 29: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exatidatildeo heuriacutestica Uma maneira de caracterizar a

exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)

Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo

N = 1 + b + (b)2 + + (b)d

Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 30: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 45 68 3 1

1 23 4 56 7 8

Estado inicial

Estado objetivo

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 31: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode

ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 32: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica

h h depende de cada problema particular h deve ser admissiacutevel

natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir

h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 33: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo de problema relaxado

Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A

para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A

para B se B estaacute vazio Um bloco pode se mover do quadrado A

para o quadrado B

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 34: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo de subproblema

2 4 3 1

1 23 4

Estado inicial Estado objetivo

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 35: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca com Informaccedilatildeo e Exploraccedilatildeo

ldquoBusca heuriacutesticardquo

Busca LOCAL

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 36: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca local Existem problemas que o caminho

ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante

Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 37: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Vantagens de algoritmos de busca local

Utilizam pouquiacutessima memoacuteria (geralmente constante)

Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados

As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial

estimar esta distacircncia

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 38: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 39: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

Planiacutecie Maacuteximo local

Maacuteximo local (plano)

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 40: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Subida da encostaAlgoritmo baacutesico

Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute

vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita

vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo

retornar correntefim secorrente = vizinho

Fim repita

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 41: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Diagrama de Atividades

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 42: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde

nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo

PASSO

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 43: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 44: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo N-Rainhas

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 45: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma

rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar

soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor

vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94

O que fazer quando haacute muitosvizinhos igualmente melhor

Seleccedilatildeo aleatoacuteria

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 46: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Subida da encostaldquoHill Climbingrdquo

Move na direccedilatildeo do incremento da funccedilatildeo

terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas

1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 47: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Variantes da Subida na encosta

Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo

Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores

Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 48: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Subida na encostaAnaacutelise

O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo

um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados

completos Eg jogo dos 8-numeros

O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados

completos

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 49: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Simulated Annealing Simula o processo de

arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees

Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 50: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 51: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto

ndash Qual o espaccedilo de soluccedilotildees S

ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)

ndash Funccedilatildeo de reduccedilatildeo de temperatura

ndash Uma temperatura inicial T0

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 52: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Temperatura no SA A temperatura T0 inicialmente selecionada deve

ser elevada Durante o processo de procura da soluccedilatildeo a

temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura

O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 53: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO

entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo

variaveis locais corrente um NO proximo um NO

T uma ldquotemperaturardquo que controla a prob de passos descendentes

corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca

T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 54: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Diagrama de Atividades

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 55: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Aceitaccedilatildeo Como a temperatura diminui com o

decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 56: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees

admitidas na resoluccedilatildeo do problema

A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 57: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a

capacidade de peso admitido pela mochila

Dados do problemandash Capacidade maacutexima da mochila b=23

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 58: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Inicializacao Inicializaccedilatildeo

Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura

(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)

Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees

admitida Nmax=3

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 59: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo da Mochila

Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23

f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 60: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo da Mochila ndash Passo2

Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])

raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s

bull contador = contador +1=1+1=2bull T2=αT1=08248=1984

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 61: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo da Mochila ndash Passo3

s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem

Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 62: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Conclusao do Exemplo do SA

bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor

bullVerificou-se um decreacutescimo lento na temperatura

bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 63: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo da Mochila no Subida na Encosta

Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo

E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 64: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Vantagens X Desvantagens

1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo

2 Meacutetodo de busca local faacutecil de adaptar

3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo

4 Converge para a soluccedilatildeo oacutetima

1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente

2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo

3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais

4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 65: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca on-line Diferenccedila entre agente off-line e on-

line Off-line calcula uma soluccedilatildeo completa

antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees

On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 66: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca on-line Problema de exploraccedilatildeo

O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida

Exemplos Um robocirc colocado num novo edifiacutecio e tem

que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B

A descoberta gradual de um bebecirc de como o mundo funciona

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 67: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Agentes de busca on-line

Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees

permitidas do estado s Testa-objetivo (s) Custo (sasacute)

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 68: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Agentes de busca on-line O agente natildeo tem acesso preacutevio

ao estado sucessor sacute nem ao valor do custo de s para sacute

Memoriza e atualiza o espaccedilo de estados

Soacute pode expandir um noacute que ele ocupa fisicamente

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 69: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Exemplo Problema de labirinto simples

Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 70: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca on-line em profundidade

Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados

On-line O agente tem que regressar fisicamente

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 71: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca on-line em profundidade

Armazena um mapa das relaccedilotildees entre accedilotildees e estados

Resultado [a s] O agente manteacutem uma tabela para cada

estado que lista os estados predecessores que o agente ainda natildeo regressou

Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 72: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Hill-climbing

Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line

Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser

usados pois o agente natildeo tem como se transportar para um novo estado

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 73: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Hill-climbing Alternativa Percurso aleatoacuterio para

explorar ambiente Desde que o espaccedilo seja finito

encontra um objetivo ou completa a exploraccedilatildeo

Poreacutem o processo pode ser muito lento

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 74: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de

aleatoriedade Armazena a melhor estimativa atual

H(s) O agente vai para o noacute vizinho mais

promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 75: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

ATRA

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 76: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

ATRA

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 77: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

ATRA

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 78: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

ATRA

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 79: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

ATRA

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 80: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

UML

Heuristic Search Class Diagram

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 81: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Method

search(pb Problem)Solutiongensuc(nNode)Node[]

getFringe(gMethodGraph)Node[]

Problem

PbGraph

Partial State Problem Full State Problem

Solution

NodeSolution

PathSolution

PbNode

PbArc

actionstringcost real

Path

State

initial Booleangoal Boolean

MethodGraph

MethodNodeexpandedBoolean MethodArc

suc

suc

all suc from partial state to partial stateexcept suc to goal state

goal = true implies full = true

PathSolutionlast()PbNodeStategoal = true

OptimalSolution

OptimalNodeSolution

OptimalPathSolution

OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod

GlobalMethodLocalMethodDFS BFS IterativeDeepening

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
Page 82: Busca com Informação e Exploração “Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

Busca heuriacutestica

Duacutevidas

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83