Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega

Slides:



Advertisements
Apresentações semelhantes
Algoritmos em Grafos (Parte 2)
Advertisements

Antonio Dirceu Rabelo de Vasconcelos Filho
Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
Fluxo em Redes Prof. Ricardo R. Santos.
Resolução por algoritmos de Busca
Busca com Informação Busca com informação Busca Gulosa Busca A*
Busca sem Informação ou Busca Cega
Inteligência Artificial
Inteligência Artificial
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Busca informada (heurística) Parte 2
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.
Busca Heurística - Informada
Busca Cega (Exaustiva)
Busca Heurística - Informada
FACENS – Engenharia da Computação Inteligência Artificial
- Conceitos e termos - Aplicações
Solução de problemas por meio de busca
Busca com informação e exploração
Capítulo 4 - Russell e Norvig
Capítulo 3 - Russell e Norvig
Missionários e Canibais
JOGO DOS OITO A* e IDA*.
Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
INF 1771 – Inteligência Artificial
Busca Competitiva - MiniMax Jogo-da-Velha
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
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
Resolução de problemas por meio de busca
Busca com informação e exploração
Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas
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
Resolução de Problemas por meio de busca
Busca Cega (Exaustiva) e Heurística
Resolução de Problemas de Busca
Inteligência Artificial
Busca sem Informação Álvaro Vinícius “Degas”
Tópicos em Sistemas Inteligentes
Inteligência Artificial
Busca Combinatorial e Métodos de Heurística
Inteligência Artificial
Resolução de Problemas de Busca
Busca com Informação e Exploração “Busca heurística”
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
Disciplina: Inteligência Artificial Universidade de Itaúna
Busca em Espaço de Estados
Principais Tópicos Introdução Métodos de busca Busca cega
Resolução de Problemas
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:

Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega Disciplina: Inteligência Artificial Universidade de Itaúna César Augusto Oliveira cesaroliveira18@hotmail.com

Estratégias de busca cega Uma estratégia de busca é dita “cega” se ela não leva em conta informações específicas sobre o problema a ser resolvido. Estratégias de busca sem informação usam apenas a informação disponível na definição do problema. Apenas geram sucessores e verificam se o estado objetivo foi atingido.

Estratégias de busca cega As estratégias de busca sem informação (cega) se distinguem pela ordem em que os nós são expandidos. Principais métodos : - Busca em amplitude, extensão ou largura - Busca em profundidade - Busca com aprofundamento iterativo

Estratégias de busca cega Estratégias são avaliadas de acordo com os seguintes critérios: completeza: o algoritmo sempre encontra a solução se ela existe? complexidade de tempo: número de nós gerados. complexidade de espaço: número máximo de nós na memória. otimização: a estratégia encontra a solução ótima? Complexidade de tempo e espaço são medidas em termos de: b: máximo fator de ramificação da árvore (número máximo de sucessores de qualquer nó) d: profundidade do nó objetivo menos profundo m: o comprimento máximo de qualquer caminho no espaço de estados (pode ser ∞)

Busca em largura O nó raiz é expandido, em seguida todos os nós sucessores são expandidos, então todos próximos nós sucessores, e assim em diante. Em geral, todos os nós de uma dada profundidade na árvore de busca são expandidos antes que todos os nós do nível seguinte seja expandido.

Busca em largura Expandir o nó não-expandido mais perto da raiz. Implementação: a borda é uma fila FIFO (first-in, first-out), isto é, novos itens entram no final.

Busca em largura Expandir o nó não-expandido mais perto da raiz. Implementação: a borda é uma fila FIFO (first-in, first-out), isto é, novos itens entram no final.

Busca em largura Expandir o nó não-expandido mais perto da raiz. Implementação: a borda é uma fila FIFO (first-in, first-out), isto é, novos itens entram no final.

Busca em largura Expandir o nó não-expandido mais perto da raiz. Implementação: a borda é uma fila FIFO (first-in, first-out), isto é, novos itens entram no final.

Busca em Largura 1. Crie uma lista de nodos "LISTA_DE_NODOS" e insira o estado inicial. 2. Até que (um estado objetivo seja encontrado) ou (LISTA_DE_NODOS seja vazia) faça: a. Remova o primeiro elemento "E" de LISTA_DE_NODOS b. Para cada operação possível para o estado E faça: i. Gere um novo estado ii. Se o novo estado é um estado objetivo, pare e retorne este estado Senão, adicione o novo estado ao final de LISTA_DE_NODOS.

Avaliação da busca em largura Completa? Sim (se b é finito) Tempo? 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1) Espaço? O(bd+1) (mantém todos os nós na memória) Ótima? Sim (se todas as ações tiverem o mesmo custo)

Exemplo b: número máximo de sucessores de um nó qualquer (neste caso, 2) d: profundidade do nó objetivo menos profundo (vamos supor G, então d=2)

Avaliação da busca em largura Exemplo: fator de expansão b = 10 1.000 nós gerados por segundo cada nó ocupa 100 bytes

Busca em profundidade O nodo de maior profundidade mais a esquerda é escolhido para gerar sucessores

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha Destino M

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Expande o nó não-expandido mais profundo. Implementação: borda = fila LIFO (last-in, first-out) = pilha

Busca em Profundidade Algoritmo pode ser implementado recursivamente ou usando pilha. Algoritmo recursivo chamado com o estado inicial BUSCA EM PROFUNDIDADE (estado E) Se o estado E é um estado final, pare e retorne sucesso Senão a. faça o seguinte até o sucesso (ou insucesso): i. Gere um sucessor "ES" de E. ii. Se não há mais sucessores, retorne insucesso. Senão, chame BUSCA EM PROFUNDIDADE com ES como parâmetro b. Se sucesso então é retornado sucesso Senão, continue o passo a

Propriedades da Busca em Profundidade Completa? Não: falha em espaços com profundidade infinita, espaços com loops Se modificada para evitar estados repetidos é completa para espaços finitos Tempo? O(bm): péssimo quando m é muito maior que d. mas se há muitas soluções pode ser mais eficiente que a busca em extensão Espaço? O(bm), i.e., espaço linear! Ótima? Não

Avaliação da busca em profundidade Custo de espaço: - Recursivo: mantém na memória as chamadas do caminho que está sendo expandido no momento. Iterativo com pilha: o caminho que está sendo expandido no momento e os nós irmãos dos nós no caminho (b x m nós) Otimalidade Não garante a solução ótima

Busca com aprofundamento iterativo Evita o problema de caminhos muito longos ou infinitos impondo um limite máximo de profundidade para os caminhos gerados Esta estratégia tenta limites com valores crescentes, partindo de zero, até encontrar a primeira solução Piora o tempo de busca, porém melhora o custo de memória

Busca com aprofundamento iterativo

Busca de Aprofundamento Iterativo em Profundidade l =0

Busca de Aprofundamento Iterativo em Profundidade l =1

Busca de Aprofundamento Iterativo em Profundidade l =2

Busca de Aprofundamento Iterativo em Profundidade l =3

Busca com aprofundamento iterativo 1. Inicialize i com 0 2. Faça: a. Execute a busca em profundidade até o limite i de profundidade b. Se retornou insucesso i. i = i + n ii. Retorne ao passo 2 Senão, pare e retorne o estado encontrado

Avaliação da busca com aprofundamento iterativo Combina as vantagens de busca em largura com busca em profundidade. Completude: - É completa, pois sempre encontra uma solução se ela existir (como na largura) Custo de tempo: - Custo exponencial = O (bd) (como na largura) - Tempo um pouco maior por causa das buscas repetidas

Avaliação da busca com aprofundamento iterativo Custo de espaço: - b x m nós (como na profundidade) Otimalidade - Sempre encontra a solução mais “rasa” (como na largura) - É ótima se o custo de caminho é igual para todos os operadores Nem sempre é a solução de menor custo de caminho, caso os operadores tenham valores diferentes

Comparação dos métodos de busca cega

Atividade em sala a) Busca em largura b) Busca em profundidade c) Busca em profundidade iterativa

Bibliografia Livros -BITTENCOURT, Guilherme. Inteligência Artificial – Ferramentas e Teorias. Editora da UFSC. 1998. - REZENDE, Solange Oliveira. Sistemas inteligentes: fundamentos e aplicações. Barueri: Manole, 2003. - RUSSEL, Stuart; NORVIG, Peter: Inteligência Artificial. Campus, São Paulo, 2004. Slides - BITTENCOURT, Guilherme. Transparências de Inteligência computacional. Disponível em: http://www.das.ufsc.br/gia/iaftapoio/ tra-soft.pdf - LINDEN, Ricardo. Transparências de Inteligência Artificial. Disponível em: http://www.fsma.edu.br/linden/IA_Aula02.ppt

Bibliografia Applets Puzzle8 - Artificial Intelligence Test. Disponível em: http://www.permadi.com/java/puzzle8/ Jarros - Racha Cuca. Disponível em: http://rachacuca.com.br/jarros/ ou http://www.mathsisfun.com/games/jugs-puzzle.html Missionários e Canibais - Racha Cuca. Disponível em: http://rachacuca.com.br/jogos/missionarios-e-canibais/ ou http://www.plastelina.net/games/game2.html Lobo, ovelha e couve - Racha Cuca. Disponível em: