Busca com Informação e Exploração “Busca heurística”

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

description

Busca com Informação e Exploração “Busca heurística”. Eduardo Araujo Oliveira [email protected] Patricia Endo [email protected]. Busca heurística - Escopo. Definição Estratégias de busca com Informação Funções heurísticas Algoritmos de busca local e problemas de otimização - PowerPoint PPT Presentation

Transcript of Busca com Informação e Exploração “Busca heurística”

Page 1: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 2: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 3: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 4: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 5: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 6: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 7: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 8: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 9: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 10: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 11: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 12: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 13: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 14: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 15: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 16: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 17: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 18: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 19: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 20: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 21: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 22: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 23: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 24: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 25: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 26: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 27: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 28: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 29: Busca com Informação e Exploração “Busca heurística”

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 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 30: Busca com Informação e Exploração “Busca heurística”

Exemplo

h1 = o nuacutemero de blocos em posiccedilotildees erradas

H2 = a soma das distacircncias de suas posiccedilotildees objetivo

7 2 4

5 6

8 3 1

1 2

3 4 5

6 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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 31: Busca com Informação e Exploração “Busca heurística”

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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 32: Busca com Informação e Exploração “Busca heurística”

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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 33: Busca com Informação e Exploração “Busca heurística”

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 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 34: Busca com Informação e Exploração “Busca heurística”

Exemplo de subproblema

2 4

3 1

1 2

3 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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 35: Busca com Informação e Exploração “Busca heurística”

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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 36: Busca com Informação e Exploração “Busca heurística”

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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 37: Busca com Informação e Exploração “Busca heurística”

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

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 38: Busca com Informação e Exploração “Busca heurística”

Os algoritmos de busca local

Estado Corrente

Problemas de Otimizaccedilatildeo

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 39: Busca com Informação e Exploração “Busca heurística”

Topologia de Espaccedilo de Estados

Espaccedilo de estados

Funccedilatildeo objetivo

Maacuteximo global

PlaniacutecieMaacuteximo 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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 40: Busca com Informação e Exploração “Busca heurística”

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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 41: Busca com Informação e Exploração “Busca heurística”

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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 42: Busca com Informação e Exploração “Busca heurística”

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 umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 43: Busca com Informação e Exploração “Busca heurística”

Subida da Encosta

Exemplo Porco Espinho ou Ourico

Exemplo N-Rainhas

Exemplo 8-Rainhas

Estado inicial colocaccedilatildeo aleatoacuteria de umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 44: Busca com Informação e Exploração “Busca heurística”

Exemplo N-Rainhas

Exemplo 8-Rainhas

Estado inicial colocaccedilatildeo aleatoacuteria de umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 45: Busca com Informação e Exploração “Busca heurística”

Exemplo 8-Rainhas

Estado inicial colocaccedilatildeo aleatoacuteria de umarainha 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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 46: Busca com Informação e Exploração “Busca heurística”

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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 47: Busca com Informação e Exploração “Busca heurística”

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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 48: Busca com Informação e Exploração “Busca heurística”

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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 49: Busca com Informação e Exploração “Busca heurística”

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 Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 50: Busca com Informação e Exploração “Busca heurística”

Simulated Annealing

Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que

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

Simulated Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 51: Busca com Informação e Exploração “Busca heurística”

Simulated Annealing

Eacute necessaacuterio definir

ndash 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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 52: Busca com Informação e Exploração “Busca heurística”

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

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 53: Busca com Informação e Exploração “Busca heurística”

Algoritmo

funcao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAOentradas 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

descendentescorrente = 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

Page 54: Busca com Informação e Exploração “Busca heurística”

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

Page 55: Busca com Informação e Exploração “Busca heurística”

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

Page 56: Busca com Informação e Exploração “Busca heurística”

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

Page 57: Busca com Informação e Exploração “Busca heurística”

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

Page 58: Busca com Informação e Exploração “Busca heurística”

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

Page 59: Busca com Informação e Exploração “Busca heurística”

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

Page 60: Busca com Informação e Exploração “Busca heurística”

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

Page 61: Busca com Informação e Exploração “Busca heurística”

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

Page 62: Busca com Informação e Exploração “Busca heurística”

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

Page 63: Busca com Informação e Exploração “Busca heurística”

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

Page 64: Busca com Informação e Exploração “Busca heurística”

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

Page 65: Busca com Informação e Exploração “Busca heurística”

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

Page 66: Busca com Informação e Exploração “Busca heurística”

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

Page 67: Busca com Informação e Exploração “Busca heurística”

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

Page 68: Busca com Informação e Exploração “Busca heurística”

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

Page 69: Busca com Informação e Exploração “Busca heurística”

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

Page 70: Busca com Informação e Exploração “Busca heurística”

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

Page 71: Busca com Informação e Exploração “Busca heurística”

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

Page 72: Busca com Informação e Exploração “Busca heurística”

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

Page 73: Busca com Informação e Exploração “Busca heurística”

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

Page 74: Busca com Informação e Exploração “Busca heurística”

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

Page 75: Busca com Informação e Exploração “Busca heurística”

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

Page 76: Busca com Informação e Exploração “Busca heurística”

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

Page 77: Busca com Informação e Exploração “Busca heurística”

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

Page 78: Busca com Informação e Exploração “Busca heurística”

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

Page 79: Busca com Informação e Exploração “Busca heurística”

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

Page 80: Busca com Informação e Exploração “Busca heurística”

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

Page 81: Busca com Informação e Exploração “Busca heurística”

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

Page 82: Busca com Informação e Exploração “Busca heurística”

Busca heuriacutestica

Duacutevidas