Agentes Resolvedores de problemas II. SI 20052 Tipos de Busca Desinformada Busca em Largura (ou extensão) Busca por Custo Uniforme Busca em Profundidade.

Slides:



Advertisements
Apresentações semelhantes
Inteligência Artificial
Advertisements

Algoritmos de Caminho Mínimo em Grafos
MBA DE LOGÍSTICA | FCAP- UPE
Algoritmos em Grafos.
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Inteligência Artificial
Inteligência Artificial
Busca com Informação Busca com informação Busca Gulosa Busca A*
Busca sem Informação ou Busca Cega
Pesquisa em profundidade
1 Domínios Finitos A eficiência das programas em domínios finitos (incluindo booleanos) podem ainda ser melhoradas pelo uso de Algoritmos de Propagação.
Indice estruturado por Hash
Inteligência Artificial
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Busca informada (heurística) Parte 2
1 Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são.
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Árvores.
Busca Heurística - Informada
Busca Cega (Exaustiva)
Busca Heurística - Informada
FACENS – Engenharia da Computação Inteligência Artificial
- Conceitos e termos - Aplicações
Ronaldo Celso Messias Correia –
Solução de problemas por meio de busca
Análise Léxica Supondo o trecho de programa abaixo:
Capítulo 4 - Russell e Norvig
Capítulo 3 - Russell e Norvig
Missionários e Canibais
JOGO DOS OITO A* e IDA*.
Buscando Soluções Busca Heurística.
Inteligência Artificial
Busca Competitiva - MiniMax Jogo-da-Velha
Indexação de Arquivos Página de rosto.
Árvore Geradora Mínima
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Listas e algoritmos (em Scratch)
Buscas em Grafos Prof. André Renato 1º Semestre/2012
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
FACENS – Engenharia da Computação Inteligência Artificial Busca.
Informática Teórica Engenharia da Computação
Algoritmos em Grafos Árvores Geradoras Prof. André Renato
Resolução de problemas por meio de busca
Busca com informação e exploração
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
Disciplina: Métodos de Computação Inteligente – 1
Introdução aos Agentes Inteligentes Algoritmos de Melhorias Iterativas (Otimização) Flávia Barros.
Busca Cega (Exaustiva) e Heurística
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Busca sem Informação Álvaro Vinícius “Degas”
Tópicos em Sistemas Inteligentes
Ronaldo Celso Messias Correia –
Inteligência Artificial
Busca Combinatorial e Métodos de Heurística
Inteligência Artificial
PUCC 1 Tópicos em Sistemas Inteligentes. PUCC 2 Agenda - Aula 03 Buscas Agentes que Planejam.
Resolução de Problemas de Busca
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.
Busca Heurística - Informada
Busca Competitiva Disciplina: Inteligência Artificial
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
Ontologies Reasoning Components Agents Simulations Resolução de Problemas por Meio de Busca Exaustiva Jacques Robin André Felipe Santana.
Resolução de Problemas de Busca Agentes Baseados em Objetivo
Sistemas Inteligentes Busca Cega (Exaustiva)
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Sistemas Inteligentes Busca Cega (Exaustiva)
Transcrição da apresentação:

Agentes Resolvedores de problemas II

SI Tipos de Busca Desinformada Busca em Largura (ou extensão) Busca por Custo Uniforme Busca em Profundidade Busca em Profundidade Limitada Busca em Profundidade Interativa Busca Bidirecional

SI Busca em Largura Expande os nós mais rasos ainda não expandidos Todos os nós de profundidade d são expandidos antes dos nós de profundidade d+1 Fila: coloca os nós gerados no fim da fila (FIFO)

SI Busca em Largura Completude: Sim encontra o mais raso, se o fator de ramificação b é finito Otimalidade: Sim, se o custo do caminho for uma função não decrescente da profundidade do nó. Caso contrário não é ótima. Custo de Tempo: 1 + b + b 2 + b b d = exponencial em d Custo de Memória: O(b d ) – guarda todos os nós na memória Grande quantidade de espaço e tempo exigida. Pode facilmente gerar 1MB de nós que devem ser guardados.

SI Analisando a busca em largura Para um fator de ramificação b=10, e supondo que 1000 nós podem ser gerados por segundo, temos: profundidadenóstempomemória ,11 seg1 MB seg106 MB min10 GB horas1 TeraB dias101 TeraB anos10 PentaB anos1 exaB Requisitos de memória são problemas maiores do que o tempo de execução Problemas de busca de complexidade exponencial não podem ser resolvidos por métodos sem informação (exceto os menores)

SI Exercício Resolva o problema do mapa por busca em largura. Defina estados, a função sucessor, o teste de objetivo e o custo do caminho.

SI Busca por Custo Uniforme Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Se comporta como a busca em largura com g(n)=constante Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Fila: insere os nós gerados em ordem crescente pelo custo do caminho S A C B G S G 11 G 10 A C B Fila/custo/fechado A(1) B(5) C(15) A(1) x B(5) G(11) C(15) A(1) x B(5) x G(10) G(11) C(15) A(1) x B(5) x G(10) x G(11) C(15)

SI Busca por Custo Uniforme Completude: Sim, se nenhum operador tiver custo negativo Custo Tempo: quantidade de nós com g <= custo da solução ótima Custo Memória: quantidade de nós com g <= custo da solução ótima Otimalidade: Sim. Espaço e tempo continuam sendo um problema pode se muito maior que b d.

SI Exercícios Resolva o problema do mapa através de busca por custo uniforme. Defina estados, a função sucessor, o teste de objetivo e o custo do caminho.

SI Busca em profundidade Expande o nó mais profundo ainda não expandido Quando encontra um nó que não pode ser expandido, volta para expandir os outros dos níveis mais rasos Os nós que foram expandidos e não tem descendentes na borda podem ser tirados da memória Fila: insere o nó gerado no inicio da fila (LIFO - pilha)

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade

SI Busca em profundidade Completude: Não. Falha se o espaço de estados for infinito ou com loops Custo Memória: Armazena somente um caminho simples da raiz até a folha. Para um fator de ramificação b e uma profundidade máxima de m armazena bm nós (busca em largura = b d ) Para um nó objetivo com profundidade d=12 e supondo que os nós na mesma profundidade não tenham sucessores exige 118kb ao invés dos 10Pb da busca em largura Custo Tempo: O(b m ) no pior caso -> examinar todos os ramos Terrível se m é muito maior que d (m - profundidade máxima de qq nó) Otimalidade: Não Necessita de um espaço de busca finito e não cíclico

SI Exercícios Resolva o problema do mapa por busca em profundidade Defina estados, a função sucessor, o teste de objetivo e o custo do caminho.

SI Busca com Profundidade Limitada Evita os problemas da busca em profundidade impondo um corte na profundidade de caminho Problema => escolher a profundidade correta Completude: Sim. Se a solução existente estiver em uma profundidade d< l, ela é encontrada Otimalidade: Não. A solução ótima pode estar em outra subárvore Tempo: O(b l ), onde l é o limite de profundidade Memória: O(b l ) Alguns problemas sugerem um valor de l. (20 cidades => l =19)

SI Busca com Profundidade Interativa Tenta todos os possíveis limites de profundidade, começando pelo 0. Combina os benefícios da busca em largura e em profundidade Ordem de expansão parecida com a busca em largura Alguns nós podem ser expandidos múltiplas vezes

SI Busca com Profundidade Interativa

SI Busca com Profundidade Interativa

SI Busca com Profundidade Interativa

SI Busca com Profundidade Interativa

SI Busca com Profundidade Interativa Completude: Sim Otimalidade: Sim Tempo: O(b d ) – alguns nós podem ser gerados várias vezes. Mas isso acontecerá nos níveis superirores que normalmente têm poucos nós Memória: O(bd) Preferida quando o espaço de busca é muito grande e a profundidade da solução não é conhecida Tempo comparação com a busca em largura com b=10 e d=5 Prof. Interativa = nós gerados Largura = nós gerados É o método de busca sem informação preferido quando existe um espaço de busca grande e a profundidade da solução não é conhecida

SI Busca Bidirecional Busca em duas direções: Para frente, a partir do nó inicial, e Para trás, a partir do nó final (objetivo) A busca pára quando os dois processos geram o mesmo nó Problema: verificar antes de cada expansão se o nó não pertence à borda da outra busca É possível utilizar estratégias diferentes em cada direção da busca Os operadores devem ser reversíveis

SI Busca Bidirecional A comparação de cada nó antes da expansão pode ser feita em tempo constante utilizando uma tabela hash Completude: Sim Otimalidade: Sim Tempo: O(b d/2 ) Memória: O(b d/2 ) Para b=10 e d=6 temos nós gerados, contra os

SI Comparação das Estratégias de Busca Sim 1,2 Sim 1 SimNãosim 1,2 sim 1 Completa ? Sim 3,4 sim 3 Não SimSim 3 Otima? O(b d/2 )O(bd) O(b l ) O(bm)>>b d Espaço O(b d/2 )O(b d ) O(b l ) O(b m )O(b d + 1 ) Tempo Bidirecional (se aplicável) Profundi dade Interativ a Profund idade limitada Profund idade Custo Uniform e Largur a 1 – completa se b é finito 2 – completa se o custo do passo é >= c, para c positivo 3 – ótima se o custo dos passos são todos idênticos 4 – se ambos os sentidos utilizam busca em largura

SI Estados Repetidos Como evitar desperdiçar tempo expandindo estados que já foram expandidos antes? Para alguns problemas os estados repetidos são inevitáveis: problemas em que os operadores são reversíveis A árvore de busca para estes problemas é infinita, mas evitando os estados repetidos, ela se torna finita

SI Estados Repetidos Se o espaço de estados for uma malha retangular, cada estado tem 4 sucessores A árvore de busca que inclui os estado repetidos tem 4 d folhas porém 2d 2 estados distintos Para d=20, isso seria 1 trilhão de nós, mas cerca e 800 estados distintos Estados repetidos podem fazer o problema solúvel se tornar insolúvel, se o algoritmo de busca não os detectar Para isso o algoritmo de busca em árvore pode ser modificado para incluir: Uma estrutura de dados = lista fechada – que contém os nós expandidos Os nós ainda não expandidos às vezes são chamados de lista aberta Se o nó atual corresponder a um nó da lista fechada, ele não será expandido Este algoritmo de BUSCA-EM-GRAFO ém muito mais eficiente do que BUSCA-EM-ARVORE

SI Busca em grafo Função BUSCA-EM-GRAFO (problema, borda) retorna uma solução ou falha fechado <- um conjunto vazio borda <- INSERIR(CRIAR-NÓ(ESTADO- INICIAL[problema]),borda) repita se VAZIA?(borda) então retornar falha nó <- REMOVER-PRIMEIRO(borda) se TESTAR-OBJETIVO[problema](ESTADO[nó]) então retornar SOLUÇÃO(nó) se ESTADO[nó] não está em fechado então adicionar ESTADO[nó] a fechado borda<-INSERIR-TODOS(EXPANDIR(nó, problema),borda)

SI Busca em grafo Pode não ser ótimo porque descarta um caminho recém- descoberto Se esse caminho for melhor do que o anterior então a busca pode perder uma solução ótima Se utilizarmos busca em largura e busca por custo uniforme com passos de custo constante, a busca em grafo continua sendo ótima A busca em grafo por aprofundamento iterativo precisa de outras verificações para garantir a otimalidade A busca em profundidade e a busca por aprofundamento iterativo não tem mais o requisito de tempo linear, pois todos os nós fechados são guardados