Busca sem Informação ou Busca Cega

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
AULA 8 Profa. Sandra de Amo GBC053 – BCC
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Busca Otimizada Subida da Encosta (Hill Climbing)
Busca com Informação Busca com informação Busca Gulosa Busca A*
Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético
Disciplina: Inteligência Artificial
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Sumário Bem ou serviço compósito = dinheiro Exercícios 2 Exercícios 3.
Método de Acesso Dinâmico - B-Tree AULA 14 Profa. Sandra de Amo Programa de Pós-Graduação em CC - UFU Sistemas de Banco de Dados
Inteligência Artificial
Inteligência Artificial
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Agentes Resolvedores de problemas II. SI Tipos de Busca Desinformada Busca em Largura (ou extensão) Busca por Custo Uniforme Busca em Profundidade.
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
- Conceitos e termos - Aplicações
Solução de problemas por meio de busca
Capítulo 4 - Russell e Norvig
Capítulo 3 - Russell e Norvig
Inteligência Artificial
Provas de Concursos Anteriores
Busca Competitiva - MiniMax Jogo-da-Velha
INF 1771 – Inteligência Artificial
APRESENTAÇÃO Está prevista a utilização de 6 aulas (6 blocos de 90 minutos) para o ensino do Subtema das Funções Quadráticas. Todas as aulas servirão.
Árvore Binária de Busca
MECÂNICA - ESTÁTICA Cabos Cap. 7.
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
FACENS – Engenharia da Computação Inteligência Artificial Busca.
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
Árvores binárias de pesquisa com balanceamento
Resolução de problemas por meio de busca
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Celso C. Ribeiro Caroline T. Rocha
Coordenação Geral de Ensino da Faculdade
Busca com informação e exploração
Revisão Prova 2 Métodos de Acesso – Parte 2 AULA 21 Profa. Sandra de Amo GBC053 – BCC.
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
1 2 Observa ilustração. Cria um texto. Observa ilustração.
CÁLCULO MENTAL Conjunto de saberes e processos mentais que um indivíduo mobiliza, objectiva e subjectivamente para: Desenvolver estratégias pessoais de.
PROGRAMAÇÃO MATEMÁTICA MÉTODO SIMPLEX
Busca Cega (Exaustiva) e Heurística
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
Busca sem Informação Álvaro Vinícius “Degas”
Tópicos em Sistemas Inteligentes
Inteligência Artificial
Inteligência Artificial
Resolução de Problemas de Busca
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
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:

Busca sem Informação ou Busca Cega Definição Estudos de Caso Busca em Largura Busca por Custo Uniforme Busca em Profundidade Busca com Profundidade Limitada Busca com Profundidade Interativa Busca Bidirecional Comparação

(1) Busca sem informação: definição Um problema de busca é: Aquele que é resolvido através da busca do melhor estado (ou caminho) em todo o espaço de estados. Ex: chegar à Areia saindo de JP Discutiremos sobre algoritmos de busca em árvore Ex: Busca em Largura Baía da Traição Mamanguape JP 20 50 FIM Areia 50 Mamanguape 60 Guarabira CG Guarabira 40 40 Esperança 90 50 Guarabira Areia Esperança JP INÍCIO CG 120 Esperança Um problema de busca sem informação é: Aquele que não possui informação do melhor caminho para chegar na solução. Ex: saindo de João Pessoa, não temos idéia de que direção está o objetivo (apesar de CG estar a 120km, é a melhor direção)

(1) Busca sem Informação : definição Um problema de busca é: Aquele que é resolvido através da busca do melhor estado (ou caminho) em todo o espaço de estados. Ex: chegar à Areia saindo de JP Origem Destino Dist. em Linha Reta (km) JP Areia 134 BT 155 Mamanguape 130 Guarabira 89 Esperança 53 CG 35 Baía da Traição Mamanguape 20 50 FIM Areia 60 Guarabira 50 40 40 Esperança 90 50 JP INÍCIO CG 120 Um problema de busca com informação é: Aquele que possui informação do melhor caminho para chegar na solução. Ex: indo pra CG, gasto 120km de percurso + distância em linha reta até Areia (35km) = 155km

(1) Busca: critérios de análise Como determinar que um algoritmo é melhor do que outro? Ex: para esse exemplo, é melhor usar Busca em Largura ou em Profundidade? Discutiremos sobre algoritmos de busca em árvore Ex: Busca em Largura Baía da Traição Mamanguape JP 20 50 FIM Areia Mamanguape 60 Guarabira 50 CG Guarabira 40 40 Esperança 90 50 Guarabira Areia Esperança JP INÍCIO CG 120 Esperança Critérios de Análise a) É completo? (ele sempre acha a solução, se existir?) b) É ótimo? (ele acha a melhor solução?) c) Leva quanto tempo para achar a solução? (tempo) d) Produz quantos nós? (memória) O algoritmo Busca em Largura...

(1) Busca: critérios de análise Dado o algoritmo: MissaoBregareia(){ cidade = JP faça cidadeAnterior = cidade cidade=proximaCidade(menorDistância,naoVisitada) cidade.visitada=true se (cidade=jaVisitada ou cidade=FIM) cidade=cidadeAnterior enquanto (cidade  Areia) } Geração da Árvore: JP 50 Mamanguape 20 50 Mamanguape Guarabira 40 X Esperança 50 CG 30 Baía da Traição Mamanguape 20 Areia 50 FIM Areia 60 Guarabira 50 40 O algoritmo MissaoBregareia... a) É completo? (ele acha a solução, se existir?) b) É ótimo? (ele acha a melhor solução?) c) Leva quanto tempo? d) Produz quantos nós? 30 Esperança 90 50 INÍCIO JP CG 120

(1) Busca: critérios de análise Completude: A estratégia sempre encontra uma solução quando existe alguma? Custo do tempo: Quanto tempo gasta para encontrar uma solução? Normalmente medida em termos do número de nós gerados. Custo de memória: Quanta memória é necessária para realizar a busca? Normalmente medida pelo tamanho máximo que a lista de nós abertos assume durante a busca. Qualidade/otimalidade (optimality): A estratégia encontra a melhor solução quando existem soluções diferentes? menor custo de caminho As complexidades de tempo e espaço são medidas em termos de: b : fator de ramificação máximo da árvore de busca. d : profundidade do nó objetivo menos profundo. m : profundidade máxima de qualquer caminho no espaço de estados.

(1) Busca sem Informação: algoritmos Terminologia: Borda: é a coleção de nós que foram gerados mas não expandidos (nós abertos). Também conhecido como franja Nó Folha: qualquer elemento da borda (sem sucessores na árvore) Estratégia de Busca: função que seleciona o próximo nó a ser expandido da borda Algoritmos 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

(2) Estudo de Caso 1: Missão Bregareia Problema do menor caminho Objetivo: Ir pro Bregareia, saindo de João Pessoa Ações: Próxima cidade Usando Busca... Em Largura Por Custo Uniforme Em Profundidade Em Profundidade Limitada Em Profundidade Interativa Bidirecional Baía da Traição Mamanguape 20 FIM 50 Areia 60 Guarabira 50 40 Esperança 30 90 50 João Pessoa INÍCIO CG 120

(2) Estudo de Caso 2: problema dos sapos Objetivo: Faça com que os machos fiquem na direita e as fêmeas na esquerda Ações: Pular para frente, e duas pedras no máximo Usando Busca... Em Largura Por Custo Uniforme Em Profundidade Em Profundidade Limitada Em Profundidade Interativa Bidirecional M1 M2 M3 F3 F2 F1

(2) Estudo de Caso 3: menor caminho Início objetivo

(3) 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 Borda organizada como uma fila (FIFO)

(3) 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 Borda organizada como uma fila (FIFO) 1

(3) 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 Borda organizada como uma fila (FIFO) 1 2

(3) 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 Borda organizada como uma fila (FIFO) 1 2 3

(3) 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 Borda organizada como uma fila (FIFO) 1 2 3 4

(3) 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 Borda organizada como uma fila (FIFO) 1 2 3 4 5

(3) 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 Borda organizada como uma fila (FIFO) 1 2 3 4 5 6

(3) 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 Borda organizada como uma fila (FIFO) 1 2 3 4 5 6 7

(3) Busca em Largura: análise 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ó (ou seja, quando todos os caminhos tiverem o mesmo custo) Custo de Tempo: 1 + b + b2 + b3 + ... + bd + (bd+1-b) = O(bd+1) Custo de Memória: O(bd+1) – 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. 1 d b = número máximo de filhos (ou fator de ramificação) d = altura do nó ótimo 2 3 4 5 6 7

(3) Busca em Largura: análise Para um fator de ramificação b=10, e supondo que 1000 nós podem ser gerados por segundo, temos: profundidade nós tempo memória 2 1100 0,11 seg 1 MB 4 111.100 11 seg 106 MB 6 107 19 min 10 GB 8 109 31 horas 1 TeraB 10 1011 129 dias 101 TeraB 12 1013 35 anos 10 PentaB 14 1015 3.523 anos 1 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) 1+b1+b2+(b3-b) = 1+10+100+(1000-10) = 1101 Cada nó tem 1KB

(4) Busca por Custo Uniforme Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Borda é organizada em ordem crescente pelo custo do caminho de cada nó S S A C B G 15 5 5 5 1 10

(4) Busca por Custo Uniforme Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Borda é organizada em ordem crescente pelo custo do caminho de cada nó S 1 15 S A C B G 15 5 5 5 5 1 10 A B C

(4) Busca por Custo Uniforme Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Borda é organizada em ordem crescente pelo custo do caminho de cada nó S 1 15 S A C B G 15 5 5 5 5 1 10 A B C 11 G

(4) Busca por Custo Uniforme Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Borda é organizada em ordem crescente pelo custo do caminho de cada nó S 1 15 S A C B G 15 5 5 5 5 1 10 A B C 11 10 G G

(4) Busca por Custo Uniforme Expande o nó de menor custo ainda não expandidos (pelo custo do caminho – g(n)) Encontra a solução mais barata porque os nós mais baratos são expandidos primeiro Borda é organizada em ordem crescente pelo custo do caminho de cada nó S 1 15 S A C B G 15 5 5 5 5 1 10 A B C 11 10 G G

(4) 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 (pode ser muito maior que O(bd)) Custo Memória: quantidade de nós com g <= custo da solução ótima Otimalidade: Sim. Espaço e tempo continuam sendo um problema S S A C B G 15 5 5 5 1 15 1 10 5 A B C 11 10 b = número máximo de filhos (ou fator de ramificação) g = custo do nó ótimo G G

(5) 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 Borda organizada como uma pilha (LIFO)

(5) 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 Borda organizada como uma pilha (LIFO) 1

(5) 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 Borda organizada como uma pilha (LIFO) 1 2

(5) 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 Borda organizada como uma pilha (LIFO) 1 2 3

(5) 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 Borda organizada como uma pilha (LIFO) 1 2 3 4

(5) 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 Borda organizada como uma pilha (LIFO) 1 2 3 4 5

(5) 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 Borda organizada como uma pilha (LIFO) 1 2 3 6 4 5

(5) 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 Borda organizada como uma pilha (LIFO) 1 2 3 6 4 5 7

(5) 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 Borda organizada como uma pilha (LIFO) 1 2 3 6 4 5 7 8

(5) 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 Borda organizada como uma pilha (LIFO) 1 2 9 3 6 4 5 7 8

(5) 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 Borda organizada como uma pilha (LIFO) 1 2 9 3 6 10 4 5 7 8

(5) Busca em profundidade Completude: Sim, somente se o espaço de estados não tiver laços 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 = bd) Custo Tempo: O(bm) 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 1 m 2 9 3 6 10 4 5 7 8 Problema -> escolha errada no início da busca = pode não encontrar a solução ou encontrar uma que tem um caminho maior b = número máximo de filhos (ou fator de ramificação) m = altura máxima da árvore Esteja certo de que entende que m  d

(6) 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(bl), onde l é o limite de profundidade Memória: O(bl) Alguns problemas sugerem um valor de l. (20 cidades => l =19)

(7) 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

(7) Busca com Profundidade Interativa

(7) Busca com Profundidade Interativa

(7) Busca com Profundidade Interativa

(7) Busca com Profundidade Interativa

(7) Busca com Profundidade Interativa Completude: Sim Otimalidade: Sim (se o custo do caminho for uma função não decrescente da profundidade do nó,ou seja, quando todos os caminhos tiverem o mesmo custo) Tempo: O(bd) – alguns nós podem ser gerados várias vezes. Mas isso acontecerá nos níveis superiores 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 = 123.450 nós gerados Largura = 1.111.100 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 b = número máximo de filhos (ou fator de ramificação) d = altura do nó ótimo

(8) 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

(8) 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(bd/2) Memória: O(bd/2) Para b=10 e d=6 temos 22.200 nós gerados, contra os 11.111.100 da busca em largura

(9) Comparação das Estratégias de Busca Sim1,2 Sim1 Sim Não sim1,2 sim1 Completa? Sim3,4 sim3 Sim3 Otima? O(bd/2) O(bd) O(bl) O(bm) >>bd Espaço O(bd + 1) Tempo Bidirecional (se aplicável) Profun- didade Interativa Profun- didade limitada Profun- didade Custo Uniforme Largura 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