A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

FACENS – Engenharia da Computação Inteligência Artificial

Apresentações semelhantes


Apresentação em tema: "FACENS – Engenharia da Computação Inteligência Artificial"— Transcrição da apresentação:

1 FACENS – Engenharia da Computação Inteligência Artificial
Buscas Heurísticas

2 Buscas Heurísticas Similar ao processo de busca em extensão (ou largura). Entretanto, alguns nós terão preferência na ordem de procura, pois informações específicas sobre o problema indicam que podem levar a soluções melhores.

3 Função de Avaliação A função de avaliação, chamada função heurística ĥ, ajuda a decidir qual nó é o melhor para ser expandido: Valores menores dessa função são melhores Caso o nó seja o alvo da busca, ĥ(n) = 0 Esta função é baseada em informações específicas do domínio do problema. Expanda o nó n que possui o menor valor de ĥ(n). Empates são resolvidos arbitrariamente. Termine quando o nó a ser expandido é o nó ALVO.

4 Quebra Cabeças Qual seria uma função heurística adequada? 2 8 3 1 6 4 7 5 1 2 3 4 5 6 7 8

5 Função Melhorada Além da função de avaliação, pode-se utilizar a profundidade onde se está para a fim de prevenir buscas muito profundas. Então pode-se alterar a função para levar em conta a profundidade do nó: ĥ: ĥ(n)= ĝ(n) + ŝ(n) onde: ĝ(n) é a profundidade do nó no grafo ŝ(n) avaliação heurística do nó n

6 Declarar uma fila de prioridade BORDA
Algoritmo A* Declarar uma fila de prioridade BORDA Adicionar à BORDA o nó inicial N0 Enquanto BORDA não estiver vazia Retirar um nó N de BORDA Se o nó é a solução do problema A solução é o caminho de N0 até N na árvore Fim Adicionar a expansão de N em BORDA Cuidado para não adicionar nós repetidos Adicionar a expansão na Árvore de Busca

7 Projeto 1 Implementar o algoritmo A* para a busca da solução do quebra-cabeças de 8 peças. Tarefas: Criar um método para representar um nó (tabuleiro) Criar um método para calcular a função de avaliação dado um nó Criar um método para verificar se a solução foi obtida Criar um método para, dada uma configuração (nó), expandir todas as possibilidades Utilizar uma estrutura de dados lista com prioridade (que será a função de ativação) Utilizar estes elementos no algoritmo A*

8 Leitura recomendada Capítulo 4 (p. 93-133), Russel & Norvig.
Algoritmos e implementações:


Carregar ppt "FACENS – Engenharia da Computação Inteligência Artificial"

Apresentações semelhantes


Anúncios Google