Post on 07-Apr-2016
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Eduardo Araujo Oliveiraeaocinufpebr
Patricia Endoptecinufpebr
Busca heuriacutestica - Escopo Definiccedilatildeo Estrateacutegias de busca com
Informaccedilatildeo Funccedilotildees heuriacutesticas Algoritmos de busca local e
problemas de otimizaccedilatildeo Busca local em espaccedilo contiacutenuo Agente de busca on-line e ambientes
desconhecidos
Problema da busca cega
Se a combinaccedilatildeo de caminhos ateacute o objetivo for exponencial a busca cega dificilmente encontraraacute a resposta do problema em um tempo polinomial
Instacircncia
Como encontrar um barco perdidoNatildeo podemos procurar no oceano inteiro
Informaccedilotildees relevantes Velocidade do ventoDireccedilatildeo do vento
Definiccedilatildeo Como na busca cega utiliza a
definiccedilatildeo do problema para efetuar a busca
Utiliza conhecimento especiacutefico do problema (informaccedilotildees)
Natildeo procura a melhor soluccedilatildeo do problema procura uma boa soluccedilatildeo ou simplesmente alguma soluccedilatildeo
Busca gulosa pela melhor escolha
Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa
Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema
Exemplo Objetivo Encontrar um bom
caminho de Arad agrave Bucareste
h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca heuriacutestica - Escopo Definiccedilatildeo Estrateacutegias de busca com
Informaccedilatildeo Funccedilotildees heuriacutesticas Algoritmos de busca local e
problemas de otimizaccedilatildeo Busca local em espaccedilo contiacutenuo Agente de busca on-line e ambientes
desconhecidos
Problema da busca cega
Se a combinaccedilatildeo de caminhos ateacute o objetivo for exponencial a busca cega dificilmente encontraraacute a resposta do problema em um tempo polinomial
Instacircncia
Como encontrar um barco perdidoNatildeo podemos procurar no oceano inteiro
Informaccedilotildees relevantes Velocidade do ventoDireccedilatildeo do vento
Definiccedilatildeo Como na busca cega utiliza a
definiccedilatildeo do problema para efetuar a busca
Utiliza conhecimento especiacutefico do problema (informaccedilotildees)
Natildeo procura a melhor soluccedilatildeo do problema procura uma boa soluccedilatildeo ou simplesmente alguma soluccedilatildeo
Busca gulosa pela melhor escolha
Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa
Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema
Exemplo Objetivo Encontrar um bom
caminho de Arad agrave Bucareste
h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Problema da busca cega
Se a combinaccedilatildeo de caminhos ateacute o objetivo for exponencial a busca cega dificilmente encontraraacute a resposta do problema em um tempo polinomial
Instacircncia
Como encontrar um barco perdidoNatildeo podemos procurar no oceano inteiro
Informaccedilotildees relevantes Velocidade do ventoDireccedilatildeo do vento
Definiccedilatildeo Como na busca cega utiliza a
definiccedilatildeo do problema para efetuar a busca
Utiliza conhecimento especiacutefico do problema (informaccedilotildees)
Natildeo procura a melhor soluccedilatildeo do problema procura uma boa soluccedilatildeo ou simplesmente alguma soluccedilatildeo
Busca gulosa pela melhor escolha
Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa
Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema
Exemplo Objetivo Encontrar um bom
caminho de Arad agrave Bucareste
h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Instacircncia
Como encontrar um barco perdidoNatildeo podemos procurar no oceano inteiro
Informaccedilotildees relevantes Velocidade do ventoDireccedilatildeo do vento
Definiccedilatildeo Como na busca cega utiliza a
definiccedilatildeo do problema para efetuar a busca
Utiliza conhecimento especiacutefico do problema (informaccedilotildees)
Natildeo procura a melhor soluccedilatildeo do problema procura uma boa soluccedilatildeo ou simplesmente alguma soluccedilatildeo
Busca gulosa pela melhor escolha
Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa
Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema
Exemplo Objetivo Encontrar um bom
caminho de Arad agrave Bucareste
h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Definiccedilatildeo Como na busca cega utiliza a
definiccedilatildeo do problema para efetuar a busca
Utiliza conhecimento especiacutefico do problema (informaccedilotildees)
Natildeo procura a melhor soluccedilatildeo do problema procura uma boa soluccedilatildeo ou simplesmente alguma soluccedilatildeo
Busca gulosa pela melhor escolha
Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa
Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema
Exemplo Objetivo Encontrar um bom
caminho de Arad agrave Bucareste
h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca gulosa pela melhor escolha
Estrateacutegia tenta expandir o noacute supostamente mais proacuteximo a origem (heuriacutestica) atraveacutes de uma estimativa
Avalia noacutes atraveacutes da funccedilatildeo h(n) h(n) depende do problema
Exemplo Objetivo Encontrar um bom
caminho de Arad agrave Bucareste
h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Exemplo Objetivo Encontrar um bom
caminho de Arad agrave Bucareste
h(n) = distacircncia em linha reta do noacute n ateacute o objetivo (Bucareste)
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca pela melhor escolha
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca pela melhor escolha
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca pela melhor escolha
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Caracteriacutesticas da Busca Gulosa pela melhor escolha
Natildeo eacute oacutetima
Eacute incompleta pois pode entrar em loops infinitos
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca A Avalia a combinaccedilatildeo de duas funccedilotildees
f(n) = g(n) + h(n) onde g(n) eacute o custo real da origem ateacute o noacute
n h(n) eacute a distacircncia em linha reta do
objetivo ateacute o noacute n
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
A Caracteriacutesticas Desde que h(n) natildeo superestime o custo
para alcanccedilar o objetivo A eacute oacutetima Completa A expande o noacute de menor valor de f na
fronteira do espaccedilo de estados Olha o futuro sem esquecer do
passado armazenando todos os caminhos anteriores
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
A
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
A
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
A
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
A
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Comportamento Custo de tempo
exponencial com o comprimento da soluccedilatildeo poreacutem boas funccedilotildees heuriacutesticas diminuem significativamente esse custo
Custo memoacuteria O(bd) guarda todos os noacutes expandidos na memoacuteria
para possibilitar o backtracking Eficiecircncia oacutetima
soacute expande noacutes com f(n) f onde f eacute o custo do caminho oacutetimo
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
A de aprofundamento iterativo (AIA)
Igual ao aprofundamento iterativo sua principal diferenccedila eacute que seu limite eacute dado pela funccedilatildeo de avaliaccedilatildeo (f) (contornos) e natildeo pela profundidade (d)
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca heuriacutestica com limite de memoacuteria
BRPM ndash Busca recursiva pelo melhor Semelhante a busca recursiva em
profundidade Diferenccedila Natildeo desce indefinidamente
Ela controla a recursatildeo pelo valor de f Se existir algum noacute em um dos ancestrais que ofereccedila melhor estimativa que o noacute atual a recursatildeo retrocede e a busca continua no caminho alternativo
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
415
526
417
447
413
553
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
366
393
415
526
447
417
Sibiu Bucareste591
450
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
BRPM Arad
Sibiu Arad
Fagaras Oradea R Vilcea
Pitesti Sibiu
366
393
450
526
417
447
417
553
Bucareste R Vilcea418
607
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
A Limitado pela memoacuteria simplificado (LMSA)
Utiliza toda a memoacuteria disponiacutevel Quando a memoacuteria estaacute cheia ele
elimina o pior noacute folha (maior custo de f) para continuar a busca
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
A Limitado pela memoacuteria simplificado (LMSA)
Eacute completo se a profundidade do noacute objetivo mais raso for menor que o tamanho da memoacuteria
Eacute oacutetimo se qualquer soluccedilatildeo oacutetima for alcanccedilaacutevel
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Funccedilotildees heuriacutesticas O desempenho da busca estaacute
totalmente relacionado a qualidade da funccedilatildeo heuriacutestica utilizada
Como medir a qualidade de uma funccedilatildeo heuriacutestica
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Exatidatildeo heuriacutestica Uma maneira de caracterizar a
exatidatildeo heuriacutestica eacute atraveacutes do fator de ramificaccedilatildeo efetiva (b)
Considere N o nuacutemero de noacutes gerados para alcanccedilar o objetivo e d a profundidade da soluccedilatildeo Entatildeo
N = 1 + b + (b)2 + + (b)d
Uma boa funccedilatildeo heuriacutestica teraacute b bem proacuteximo de 1
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Exemplo
h1 = o nuacutemero de blocos em posiccedilotildees erradas
H2 = a soma das distacircncias de suas posiccedilotildees objetivo
7 2 45 68 3 1
1 23 4 56 7 8
Estado inicial
Estado objetivo
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Funccedilotildees heuriacutesticas Se o custo real para alcanccedilar n eacute 150 h1(n) = 56 heuriacutestica 1 h2(n) = 140 heuriacutestica 2 h2(n) gt= h1(n) Dizemos que h2 domina h1 Isso pode
ser traduzido na forma A heuriacutestica 2 eacute melhor que a heuriacutestica 1 pois teraacute um menor fator de ramificaccedilatildeo Desde que h1 e h2 natildeo superestimem o custo real
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Funccedilotildees heuriacutesticas Como escolher uma boa funccedilatildeo heuriacutestica
h h depende de cada problema particular h deve ser admissiacutevel
natildeo superestimar o custo real da soluccedilatildeo Existem estrateacutegias geneacutericas para definir
h Relaxar restriccedilotildees do problema Resolver subproblemas de maneira exata
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Exemplo de problema relaxado
Um bloco pode se mover do quadrado A para o quadrado B se A eacute horizontal ou verticalmente adjacente a B e B eacute vazio Um bloco pode se mover do quadrado A
para o quadrado B se A eacute adjacente a B Um bloco pode se mover do quadrado A
para B se B estaacute vazio Um bloco pode se mover do quadrado A
para o quadrado B
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Exemplo de subproblema
2 4 3 1
1 23 4
Estado inicial Estado objetivo
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca com Informaccedilatildeo e Exploraccedilatildeo
ldquoBusca heuriacutesticardquo
Busca LOCAL
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Busca local Existem problemas que o caminho
ateacute a soluccedilatildeo eacute irrelevante N-rainhas Caixeiro Viajante
Preocupaccedilatildeo apenas com o estado corrente e estados vizinhos
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Vantagens de algoritmos de busca local
Utilizam pouquiacutessima memoacuteria (geralmente constante)
Frequumlentemente encontram boa soluccedilotildees em espaccedilos de busca infinitos (contiacutenuos) ndash para os quais os algoritmos globais satildeo inadequados
As heuriacutesticas da busca local natildeo estimam a distacircncia do estado atual ateacute o objetivo Vantajoso para problemas nos quais natildeo eacute trivial
estimar esta distacircncia
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Os algoritmos de busca local
Estado Corrente
Problemas de Otimizaccedilatildeo
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Topologia de Espaccedilo de Estados
Espaccedilo de estados
Funccedilatildeo objetivo
Maacuteximo global
Planiacutecie Maacuteximo local
Maacuteximo local (plano)
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Subida da encostaAlgoritmo baacutesico
Funccedilatildeo Subida-de-Encosta(problema) retorna um estado Entrada problema um problemaVariaacuteveis locais corrente Noacute
vizinho Noacutecorrente = criar-NO(EstadoInicial[problema])Repita
vizinho = acharMelhorSucessor(corrente)se vizinhofuncaoObjetivo lt= correntefuncaoObjetivo entatildeo
retornar correntefim secorrente = vizinho
Fim repita
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Diagrama de Atividades
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Subida da encostaldquoHill Climbingrdquo O algoritmo procura o pico onde
nenhum vizinho tem valor mais altoldquoSubindo o everest na neblina com amneacutesiardquo
PASSO
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Subida da Encosta
Exemplo Porco Espinho ou Ourico
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Exemplo N-Rainhas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Exemplo 8-Rainhas Estado inicial colocaccedilatildeo aleatoacuteria de uma
rainha por coluna Operador mudar um rainha de posiccedilatildeo h = nuacutemero de pares de rainha que se atacam Taxa de sucesso em encontrar
soluccedilatildeo oacutetima 14 O que fazer quando natildeo haacute melhor
vizinho Passos ldquolateraisrdquo Limite de 100 passos laterais
consecutivos permite atingirtaxa de 94
O que fazer quando haacute muitosvizinhos igualmente melhor
Seleccedilatildeo aleatoacuteria
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Subida da encostaldquoHill Climbingrdquo
Move na direccedilatildeo do incremento da funccedilatildeo
terminando quando acha um pico 1048708 Guloso steepest ascent 1048708 Problemas
1048708 Maacuteximos Locais 1048708 Maacuteximo local plano 1048708 Planiacutecies
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Variantes da Subida na encosta
Subida de encosta estocaacutestica gera vaacuterios sucessores (vizinhanccedila ndash N(S)) e escolhe ao acaso um que ofereccedila melhora na funccedilatildeo objetivo
Subida de encosta pela primeira escolha O primeiro sucessor de N(S) gerado que oferece melhora passa a ser o novo estado corrente Eacute muito utilizada quando cada estado possui milhares de sucessores
Subida de encosta com reiniacutecio aleatoacuterio ldquose natildeo tiver sucesso na primeira vez continue tentandordquo Gera estados iniciais ao acaso parando ao encontrar um objetivo
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Subida na encostaAnaacutelise
O algoritmo eacute completo SIM para problemas de otimizacao (onde cada NO tratado ersquo
um estado completo uma solucao) NAtildeO para problemas onde os NOS natildeo satildeo estados
completos Eg jogo dos 8-numeros
O algoritmo eacute oacutetimo TALVEZ quando iteraccedilotildees suficientes forem permitidas NAtildeO para problemas onde os NOS natildeo satildeo estados
completos
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Simulated Annealing Simula o processo de
arrefecimento dos materiaisndash Arrefecimentos lentos conduzem a produtos mais puros sem imperfeiccedilotildees
Normalmente eacute interpretado como o algoritmo de busca local com os melhores resultados
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Simulated Annealing Adaptaccedilatildeo da Subida na encosta Pode adotar um estado que
oferece perda (encosta abaixo) Capaz de fugir de maacuteximos locais
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Simulated AnnealingEacute necessaacuterio definirndash Uma funccedilatildeo objetivocusto
ndash Qual o espaccedilo de soluccedilotildees S
ndash Uma vizinhanccedila sobre o espaccedilo de soluccedilotildees N(s0)
ndash Funccedilatildeo de reduccedilatildeo de temperatura
ndash Uma temperatura inicial T0
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Temperatura no SA A temperatura T0 inicialmente selecionada deve
ser elevada Durante o processo de procura da soluccedilatildeo a
temperatura vai decrescendo com base numa funccedilatildeo de reduccedilatildeo de temperatura
O processo de pesquisa da soluccedilatildeo repete-se ateacute que a temperatura seja tatildeo pequena que mais nenhum movimento seja aceito e o soacutelido esteja no seu estado fundamental
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
Algoritmofuncao RECOZIMENTO-SIMULADO(problema escalonamento) retorna SOLUCAO
entradas problema um problema escalonamento um mapeamento de tempo para ldquotemperaturardquo
variaveis locais corrente um NO proximo um NO
T uma ldquotemperaturardquo que controla a prob de passos descendentes
corrente = CRIAR-NO (Estado-Inicial[problema])para t =1 ate infinito faca
T = escalonamento[t]se T = 0 entao retornar correnteproximo = um sucessor de corrente selecionado ao acaso∆E = VALOR[proximo] ndash VALOR[corrente]se ∆E gt 0 entao corrente = proximosenao corrente = proximo somente com probabilidade e ^ ∆ET
Diagrama de Atividades
Aceitaccedilatildeo Como a temperatura diminui com o
decorrer das iteraccedilotildees a probabilidade de aceitaccedilatildeo tambeacutem diminui o que faz com que natildeo sejam aceitos movimentos descendentes na funccedilatildeo objetivo
Criterios de Parada O nuacutemero maacuteximo de iteraccedilotildees
admitidas na resoluccedilatildeo do problema
A temperatura quando esta tomar valores tatildeo pequenos que natildeo permitam mais nenhuma alteraccedilatildeo na soluccedilatildeo
Exemplo da Mochila Objetivo do problema ndash Maximizar o benefiacutecio face a
capacidade de peso admitido pela mochila
Dados do problemandash Capacidade maacutexima da mochila b=23
Inicializacao Inicializaccedilatildeo
Selecionar uma soluccedilatildeo s0 qualquer s0= (0 1 0 1 0) com valor f(s0)=6 Selecionar uma temperatura inicial Tgt0 T0 = 31 Selecionar uma funccedilatildeo de reduccedilatildeo de temperatura
(escalonamento) Tk=αTk-1 com 0 le α le 1 (Funccedilatildeo Geomeacutetrica)
Nesta aplicaccedilatildeo foi considerado o valor de α =08 Selecionar o nuacutemero maacuteximo de iteraccedilotildees
admitida Nmax=3
Exemplo da Mochila
Selecionar um vizinho de s0 qualquerbull s=(1 1 0 1 0) sum j=1 ate 5 Wj Sj = 4+5+9=18 lt 23
f(s)=2+2+4=8∆E = f(s)-f(s0)=8-6=2gt0 ( Aceita-se a soluccedilatildeo gerada s)T1=αT0=0831=248bull Contador =contador+1=0+1=1ndash A nova soluccedilatildeo admitida eacutebull s0= (1 1 0 1 0) com f(s0)=8
Exemplo da Mochila ndash Passo2
Selecionar um vizinho de s0 qualquerbull s=(1 1 1 1 0) sum j=1 ate 5 Wj Sj = 4+5+7+9 = 25 gt23 (Natildeo pertence agrave regiatildeo admissiacutevel)bull s=(1 0 0 1 0)sum j=1 ate 5 Wj Sj = 4+9= 13lt23 f(s)=2+4=6 ∆E = f(s)-f(s0)=6-8=-2lt0 (∆E lt 0 calcula-se valor aleatoacuterio x U[01])
raquo x=043raquo exp- (∆ET1)=exp-(2248)=0923raquo Como xltexp-(δT1) entatildeo natildeo se rejeita s
bull contador = contador +1=1+1=2bull T2=αT1=08248=1984
Exemplo da Mochila ndash Passo3
s=(1 0 0 1 1) sum j=1 ate 5 Wj Sj = 4+9+6= 19lt23 f(s)=2+4+4=10 ∆E = f(s)-f(s0)=10-6=4gt0 (Aceita-se a soluccedilatildeo gerada s) contador=contador+1=2+1=3 e Nmax=3 logo verifica-se um dos criteacuterios de paragem
Soluccedilatildeo final considerada s0=(1 0 0 1 1) com f(s0)=10
Conclusao do Exemplo do SA
bull O decreacutescimo permitido no valor da funccedilatildeo objetivo levou a uma soluccedilatildeo melhor
bullVerificou-se um decreacutescimo lento na temperatura
bull Se nas restriccedilotildees iniciais o nuacutemero de iteraccedilotildees fosse muito elevado o processo da busca da soluccedilatildeo iria ser feito ateacute que o valor da temperatura fosse muito perto de zero de forma a natildeo serem permitidas mais mudanccedilas
Exemplo da Mochila no Subida na Encosta
Calculo do menor peso na mochila Estado inicial = 0 1 0 1 0 F = soma dos beneficios entre cada NO na ordem escolhida Operadores = permutar dois NOS quaisquer do caminho Restricao = somente caminhos conectados sao estados validos Estado final = NO onde valor de F ersquo minimo
E1 = 0 1 0 1 0 F(01010) = 6 E2 = 1 1 0 1 0 F(11010) = 8
Vantagens X Desvantagens
1 Permite encontrar soluccedilotildees proacuteximas da oacutetima com um esforccedilo computacional baixo
2 Meacutetodo de busca local faacutecil de adaptar
3 Permite a degradaccedilatildeo temporaacuteria da funccedilatildeo objetivo
4 Converge para a soluccedilatildeo oacutetima
1 Eacute necessaacuterio um conhecimento profundo do problema para ajustar os paracircmetros convenientemente
2 Os paracircmetros mais adequados para uma dada aplicaccedilatildeo soacute podem ser estabelecidos por experimentaccedilatildeo
3 Tanto a temperatura inicial como a forma de arrefecimento influenciam os resultados finais
4 Natildeo eacute possiacutevel saber se a melhor soluccedilatildeo encontrada eacute o oacutetimo global
Busca on-line Diferenccedila entre agente off-line e on-
line Off-line calcula uma soluccedilatildeo completa
antes de entrar no mundo real e depois executam a soluccedilatildeo sem recorrer as suas percepccedilotildees
On-line opera pela intercalaccedilatildeo de computaccedilatildeo e accedilatildeo Executa uma accedilatildeo observa o ambiente e calcula a proacutexima accedilatildeo
Busca on-line Problema de exploraccedilatildeo
O agente no estado de ignoracircncia usa suas accedilotildees como experimentos para determinar o que fazer em seguida
Exemplos Um robocirc colocado num novo edifiacutecio e tem
que exploraacute-lo para elaborar um mapa que possa ser usado com a finalidade de ir de A para B
A descoberta gradual de um bebecirc de como o mundo funciona
Agentes de busca on-line
Visatildeo do agente Accedilotildees (s) retorna todas as accedilotildees
permitidas do estado s Testa-objetivo (s) Custo (sasacute)
Agentes de busca on-line O agente natildeo tem acesso preacutevio
ao estado sucessor sacute nem ao valor do custo de s para sacute
Memoriza e atualiza o espaccedilo de estados
Soacute pode expandir um noacute que ele ocupa fisicamente
Exemplo Problema de labirinto simples
Espaccedilo de estados desconhecidos Inicia em S e tem que alcanccedilar G
Busca on-line em profundidade
Off-line A medida que os noacutes satildeo expandidos eles satildeo retirados da borda e a busca retorna para o noacute seguinte mais raso que ainda tem sucessores inexplorados
On-line O agente tem que regressar fisicamente
Busca on-line em profundidade
Armazena um mapa das relaccedilotildees entre accedilotildees e estados
Resultado [a s] O agente manteacutem uma tabela para cada
estado que lista os estados predecessores que o agente ainda natildeo regressou
Se o agente esgotar todos os estados que ele pode regressar a busca estaraacute completa
Hill-climbing
Pelo fato de manter apenas um estado corrente na memoacuteria jaacute eacute um algoritmo de busca on-line
Fica paralisada (maacuteximos locais) Reiniacutecios aleatoacuterios natildeo podem ser
usados pois o agente natildeo tem como se transportar para um novo estado
Hill-climbing Alternativa Percurso aleatoacuterio para
explorar ambiente Desde que o espaccedilo seja finito
encontra um objetivo ou completa a exploraccedilatildeo
Poreacutem o processo pode ser muito lento
ATRA Aprendizado em Tempo Real A Adiccedilatildeo de memoacuteria em vez de
aleatoriedade Armazena a melhor estimativa atual
H(s) O agente vai para o noacute vizinho mais
promissor e atualiza o noacute anterior H(s) = C(sasrsquo) + H(srsquo)
ATRA
ATRA
ATRA
ATRA
ATRA
UML
Heuristic Search Class Diagram
Method
search(pb Problem)Solutiongensuc(nNode)Node[]
getFringe(gMethodGraph)Node[]
Problem
PbGraph
Partial State Problem Full State Problem
Solution
NodeSolution
PathSolution
PbNode
PbArc
actionstringcost real
Path
State
initial Booleangoal Boolean
MethodGraph
MethodNodeexpandedBoolean MethodArc
suc
suc
all suc from partial state to partial stateexcept suc to goal state
goal = true implies full = true
PathSolutionlast()PbNodeStategoal = true
OptimalSolution
OptimalNodeSolution
OptimalPathSolution
OneShotMethod IterativeMethod ExhaustiveMethod HeuristicMethod
GlobalMethodLocalMethodDFS BFS IterativeDeepening
Busca heuriacutestica
Duacutevidas
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Busca heuriacutestica
Duacutevidas