Você está na página 1de 10

Funções Heurísticas

● As funções heurísticas sempre indicam um custo da solução melhor


do que ele realmente é.
● As melhores funções heurísticas são que possuem vamores h(n)
maiores.

● h(n) < h*(n) onde h* é o custo real


● Se temos h1(n) e h2(n) e h2(n) > h1(n) então h2(n) é melhor que
h1(n)
● Dizemos que h2 domina h1.
Funções Heurísticas
● O quebra cabeças de 8 peças foi um dos mais antigos problemas de
busca heurística.
● Tem como objetivo delizar os blocos no sentido horizontal ou
vertical para o espaço vazio de forma colocar todos em sequencia.
● Tem como custo médio 22 passos.
● O Fator de ramificação é 3 (Quando o espaço vazio está no centro,
há quatro movimentos e quando está nos cantos há três
movimentos.)
Funções Heurísticas
Funções Heurísticas
● Para esse problema podemos usar duas funções heurísticas:
● h1 = O número de blocos na posição errada nesse caso 8, é uma
heurística admissível uma vez que cada bloco fora do lugar deve
ser movido pelo menos uma vez.
● h2 = A soma das distâncias dos blocos até suas posições objetivo
nesse caso 18. A distância leva em conta a soma das distâncias
horizôntais e verticais uma vez que o bloco não pode ser movido
na diagonal. Também é admissível pois o resultado de qualquer
movimento é deslocar o bloco até uma posição mais próxima do
objetivo.
● Nenhum desses valores ultrapassa o custo da solução verdadeira que
é 26.
Funções Heurísticas
● Uma boa maneira de dizer se uma função heurística é boa ou não é o
fator de ramificação efetiva (b*)

● N = o número total de nós gerados por A*.


● d = profundidade da solução

● N + 1 = 1 + b* + (b*)2 + … + (b*)d
● Uma boa fução heurística tem o valor de b* próximo de 1.
Funções Heurísticas
● Um problema com menos restrições é chamando de problema
relaxado.
● O custo de uma solução ótima para um problema relaxado é uma
heurística admissível para o problema original.
● Quando um problema é enunciado em linguagem formal podemos
construir problemas relaxados facilmente.
● É essencial que os problemas relaxados possão ser resolvidos sem
busca.
Funções Heurísticas
● Um bloco pode se mover do quadrado A para o quadrado B se A é
horizontalmente ou verticalmente adjacente a B e B é vazio
Problemas relaxados:
● Um bloco pode se mover do quadrado A para o
quadrado B se A é adjacente a B.
● Um bloco pode se mover do quadrado A para o
quadrado B se B está vazio.
● Um bloco pode se mover do quadrado A para o
Quadrado B.
Funções Heurísticas
● Quando não conseguimos obter uma função heurísca claramente
melhor que outra. Podemos fazer o seguinte:

h(n) = máx{h1(n),...,hm(n)}

● Essa heurística composta utilizará a função que for mais exata sobre
o nó em questão. Como as componentes são admissíveis h também é
admissível e além disso h domina todas as suas componentes.
Funções Heurísticas
● Outra coisa que podemos fazer também com as funções heurísicas é
derivação em subproblemas.
● Ex:
● Ao invés de resolver o problema para 8 blocos podemos resolver
para 4 primeiro.
Funções Heurísticas
● Banco de dados de Padrões
● Consiste em armazenar o custo de soluções exatas para toda
instância possível de subproblema, no exemplo, toda configuração
possível dos quatro blocos e do espaço vazio.
● Assim temos uma heurística admissível hDB para estado completo
que encontramos durante a busca.
● Cada banco de dados gera uma heurística admissível e elas podem
ser combinadas pedendo diminuar em um quebra cabeç a de 15
peças em até 1.000 vezes.
● No entando heurísticas obtidas a apartir dos blocos 1-2-3-4 não
podem ser combinadas com heurísticas objtidas a partir dos blocos
5-6-7-8