Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos...

58
Resolução de Problemas por meio de busca Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof . Maria Augusta Abril/2009

Transcript of Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos...

Page 1: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Resolução de Problemas por meio de buscaBaseado no Cap 3 de Russel, Norvig

Artificial Intelligence: a Modern Aproach

Carlos Augusto dos SantosComputação InteligenteUFS-DCOMPProf . Maria AugustaAbril/2009

Page 2: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

No Cap. 2 vimos agentes reativos,◦ baseiam suas ações em um mapeamento direto de estados

de ações,◦ não podem operar bem em ambientes cujo mapeamento

seriam grande demais par armazenar e levaria muito tempo para aprender.

No Cap. 3 veremos um tipo de agente baseados em objetivos chamado Agente de Resolução de Problemas.◦ decidem o que fazer encontrando ações que levam a

estados desejáveis.

Introdução

Page 3: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Agentes de Resolução de Problemas Formulação de Problemas Busca da Solução Problemas e Soluções bem definidos Exemplos de Problemas Algoritmos Específicos

◦ Busca em Extensão◦ Busca de Custo Uniforme◦ Busca em Profundidade◦ Busca em Profundidade Limitada (Backtracking)◦ Busca em Profundidade Iterativa em Profundidade◦ Busca Bidirecional◦ Tabela Comparativa

Limitações e Dificuldades◦ Estados Repetidos◦ Informações Parciais

Roteiro

Page 4: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Problemas e Soluções bem definidos

Page 5: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Qualquer situação a ser “resolvida” por uma seqüência ações a ser executada, com vistas a atingir um objetivo;◦ Na descrição acima:Situação = estado inicial;Seqüência de Ações = operações que irão gerar uma sucessão de estados;Objetivo = estado final (ou conjunto de) desejado;

Metáfora da resolução de problemas por meio de busca:◦ Transformar um problema de raciocínio de um agente diretamente em um

problema de navegação num espaço de estados, no qual, a partir de um estado inicial, um agente pode buscar uma seqüência de ações que conduzem ao estados final desejado.

A solução de um problema é conjunto de seqüências de ações que levam de um estado inicial ao estado objetivado

Uma solução ótima é uma seqüência de ações que leva de um estado inicial ao estado objetivado com o menor custo*.

O que é um Problema?

Page 6: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Romênia: ir de Arad a Bucharest

Page 7: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Algoritmo Genérico de buscaFunção AGENTE-DE –RESOLUÇÃO-DE PROBLEMAS-SIMPLES(percepção) retorna uma ação

entradas: percepção, uma percepçãovariáveis státicas: seq, uma sequencia de ações inicialmente vazia

estado, alguma descrição dp estado atual do mundo

Objetivo, um objetivo, inicialmente nulo

Problema, uma formulação de problema

Estado <- ATUALIZAR-ESTADO(estado,percepção)se seq está vazia então faça

objetivo <- FORMULAR-OBJETIVO(estado)

problema <- FORMULAR-PROBLEMA(estado, objetivo)

seq <- BUSCA(problema)

ação <- PRIMEIRO(seq)

seq <- RESTO(seq)retornar ação

Busca da Solução

Page 8: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Antes de qualquer coisa...Formular o problema

Formular o objetivo: definir um estado final que satisfaz o agente

ex: “Estar em Bucareste”

Especificar o problema em termos de: Estado Inicial ex: “Estou em Arad” Função Sucessor S(x) = conjunto de pares ação-estado

◦ ex: S(Arad) = { (Arad→Zerind, Zerind), (Arad→Sibiu, Sibiu), ......} Teste do Objetivo: condição que é capaz de determinar se

o estado final foi alcançado◦ ex: “Estou em Bucareste?”

Custo (path cost) ex: soma de distancias, nº de ações executadas, etc.

Page 9: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

A Formulação do Problema define o Espaço de Estados possíveis

O Espaço de Estados É definido implicitamente pelo estado inicial juntamente com

todos os estados alcançáveis através da função sucessora S(x).

Forma um grafo onde os nós representam estados e os arcos entre os nós representam ações.Entretanto:

Estado Corresponde a uma

configuração do mundo.Ex: “estou em Bucareste”

Nó Estrutura de Informação que compõe

uma seqüência percorrida. Ex: Nó(“Bucareste”) (1)Antecessor = Nó(“Pitesti”)Path-cost = 418 Km

Nó(“Bucareste”) (2)Antecessor = Nó(“Fagarás”)Path-cost = 450 Km

Page 10: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

A Formulação do Problema exige Abstração do Mundo Real

O mundo real é absurdamente complexo: espaço de estados tem que ser abstraído para a resolução de problemas.

Estado (abstrato) = conjunto de estados reais

Ação (abstrata) = combinação complexa de ações reais, onde cada ação abstrata deveria ser “mais fácil” que o

problema original.◦ Ex: “Arad→Zerind” representa um complexo de rotas possíveis,

paradas para descanso, etc.

Solução (abstrata) = conjunto de caminhos reais que são soluções no mundo real para o problema.

Page 11: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Importância de uma Formulação adequada do Problema

O Espaço de Estados derivado da formulação do problema impacta na eficiência de busca da solução

Ex: Problema das 8 Rainhas Dispor 8 rainhas num tabuleiro de xadrez, sem que qualquer

uma delas esteja “sob ataque” das demais: não pode haver mais de uma rainha em uma mesma linha, coluna ou diagonal somente o custo da busca conta (nº de passos para a solução)

Page 12: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Importância de uma Formulação adequada do Problema Problema das 8 Rainhas - Formulação 1:

◦ estado inicial: nenhuma rainha no tabuleiro◦ operadores: adicionar uma rainha a qualquer quadrado vazio◦ teste do objetivo: 8 rainhas no tabuleiro sem ataque mútuo?

.... E assim por diante, até 64 x 63 x 62 x ..... x 57 1,8 x 1014 seqüências possíveis a serem testadas

[_,_]0:

[1,1] [1,2] [2,1]....... [1,8] [2,2] ....... [2,8] [8,1] [8,2] ....... [8,8].......

(64 estados possíveis)

1:

[1,2] [2,1]....... [1,8] [2,2] ....... [2,8] [8,1] [8,2] ....... [8,8].......

(64 x 63 estados possíveis)

2:

Page 13: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Importância de uma Formulação adequada do Problema

Problema das 8 Rainhas - Formulação 2:◦ estado inicial: nenhuma rainha no tabuleiro◦ operadores: adicionar uma rainha a qualquer quadrado da coluna mais a esquerda que

não contém nenhuma rainha◦ teste do objetivo: 8 rainhas no tabuleiro sem ataque mútuo?

.... E assim por diante, até 88 1,7 x 107 seqüências possíveis a serem testadas

[_,_]0:

[1,1] [2,1] [3,1] ....... [8,1] (8 estados possíveis)1:

[1,2] [2,2] [3,2] ....... [8,2] (8 x 8 estados possíveis)2:

1,8 x 1014 possibilidadesda formulação 1

<<

Page 14: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em um Espaço de Estados Uma vez o problema bem formulado... usa-se um método de

busca para encontrar o estado final desejado.

Métodos genéricos de busca:◦ Busca exaustiva ou cega

Não sabe qual o melhor nó da fronteira a ser expandido = menor custo de caminho desse nó até um nó final (objetivo).

◦ Busca heurística - informada Estima qual o melhor nó da fronteira a ser expandido com

base em funções heurísticas => conhecimento

Page 15: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Gráfico do Espaço de Estados do Aspirador

Estados: O agente está entre duas posições que podem estar limpas ou sujas. Ou seja, há 2 X 22=8 estados possíveis

Ações: Esquerda, Direita, Aspirar Teste de Objetivo: Todos os locais limpos Custo de Caminho: 1 por ação

Page 16: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Examplo: Quebra-cabeça 8 peças

Estados: Cada peça pode estar em qualquer lugar

Ações: Mover para o espaço vazio em qualquer direção

Teste de Objetivo = Verifica se as peças estão devidamente sequenciadas

Custo de Caminho: 1 por movimento

Page 17: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em um Espaço de Estados Uma vez o problema bem formulado... usa-se um método de

busca para encontrar o estado final desejado.

Métodos genéricos de busca:◦ Busca exaustiva ou cega

Não sabe qual o melhor nó da fronteira a ser expandido = menor custo de caminho desse nó até um nó final (objetivo).

◦ Busca heurística - informada Estima qual o melhor nó da fronteira a ser expandido com

base em funções heurísticas => conhecimento

Page 18: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Descrição informal do algoritmofunção BUSCA-EM-ÁRVORE(problema, estratégia)

retorna uma solução ou falhaInicializar a árvore de busca usando o estado inicial de problemarepita

se não existe nenhum candidato para expansão então retornar falha

escolher um nó para expansão de acordo com a estratégiase o nó contém um estado objetivo então retornar solução

correspondenteSenão expandir o nó e adicionar os nós restantes à arvore de busca

Busca em Árvore

Page 19: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Nosso nó será uma estrutura de dados com cinco componentes:◦ ESTADO: o estado no espaço de estados a que o nó

corresponde;◦ NÓ-PAI: O nó da árvore de busca que gerou esse nó;◦ AÇÃO: A ação que foi aplicada ao pai para gerar o nó;◦ CUSTO-DO-CAMINHO: O custo, tradicionalmente

denotado por g(n), do caminho desde o estado inicial até o nó, indicado pelos ponteiros do pai.

Árvore de busca

Page 20: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em um Espaço de Estados

Arad Fagaras Oradea R.Vilcea Arad Lugoj Arad Oradea

Sibiu Timisoara Zenrid

Arad

Grafo do espaço de estados do problema

Árvore de Busca

A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora

Page 21: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em um Espaço de Estados

Arad Fagaras Oradea R.Vilcea Arad Lugoj Arad Oradea

Sibiu Timisoara Zenrid

Arad

Grafo do espaço de estados do problema

Árvore de Busca

A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora

fronteira

Page 22: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em um Espaço de Estados

Arad Fagaras Oradea R.Vilcea Arad Lugoj Arad Oradea

Sibiu Timisoara Zenrid

Arad

Grafo do espaço de estados do problema

Árvore de Busca

A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora

fronteira

Page 23: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em um Espaço de Estados

Arad Fagaras Oradea R.Vilcea Arad Lugoj Arad Oradea

Sibiu Timisoara Zenrid

Arad

Grafo do espaço de estados do problema

Árvore de Busca

A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora

fronteira

Page 24: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Desempenho de uma Estratégia de Busca

Completude: se sempre encontra uma solução, se ela existe;

Complexidade de Tempo: em função do nº de nós gerados/expandidos;

Complexidade de Espaço: em função do nº máximo de nós armazenados em memória;

Otimização: se sempre encontra a solução de menor custo

◦ Complexidade de tempo e espaço é mensurada em termos de:b (branching) - fator máximo de ramificação da árvore de busca;d (depth) – profundidade da solução de menor custo;m – profundidade máxima do espaço de estados (que pode ser infinita)

Page 25: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Estratégias de BuscaBusca Cega ou Exaustiva

Page 26: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Exaustiva: Busca em todo espaço de estados, com sequencia sistemática de açoes que atingem todos os estados. Também chamada de Busca Cega, Sistemática ou Uniforme

Parcial: Busca num conjunto restrito de espaço de estados a partir do conhecimento a cerca de características específicas do problema ou classe de problema

Heurística: Estimativa ou conhecimento aproximado sobre a classe ou família em que o algoritmo de busca possa “confiar” para aprimorar o tempo de execução e/ou exigências de espaço;

Buscas Não-heuristicas nao são escalonáveis a grandes problemas. (pior caso é exponencial em tempo e/ou espaço)

Busca Heurística, parcial não oferece garantia de encontrar uma solução se ela existir ou a melhor solução entre muitas existentes.

Métodos de Busca

Page 27: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Extensão/Largura (Breadth-first);

Busca de Custo Uniforme;

Busca em Profundidade (Depth-first);

Busca em Profundidade Limitada (Depth-limited)

Busca de Aprofundamento Iterativo (Iterative deepening)

Busca Bidirecional

Busca Cega

Page 28: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Largura (Breadth-first)

Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos

no fimA

B C

E FD G

Fronteira = (A)

K MI OJ LH N

Page 29: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Largura (Breadth-first)

A

B C

E FD G

Fronteira = (B,C)

K MI OJ LH N

Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos

no fim

Page 30: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Largura (Breadth-first)

A

B C

E FD G

Fronteira = (C,D,E)

K MI OJ LH N

Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos

no fim

Page 31: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Largura (Breadth-first)

A

B C

E FD G

Fronteira = (D,E,F,G)

K MI OJ LH N

Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos

no fim

Page 32: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Largura (Breadth-first)

A

B C

E FD G

Fronteira = (E,F,G,H,I)

K MI OJ LH N

Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos

no fim

Page 33: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Largura (Breadth-first)

A

B C

E FD G

Fronteira = (F,G,H,I,J,K)

K MI OJ LH N

Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos

no fim

Page 34: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Largura (Breadth-first)

A

B C

E FD G

Fronteira = (G,H,I,J,K,L,M)

K MI OJ LH N

Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos

no fim

Page 35: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Largura (Breadth-first)

A

B C

E FD G

Fronteira = (H,I,J,K,L,M,N,O)

K MI OJ LH N

Expande sempre o nó menos profundo ainda não expandido;◦ Fronteira é uma fila do tipo FIFO, i.e., novos sucessores são postos

no fim

Page 36: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Completa?◦ Sim, desde que b (fator de ramificação) seja finito

Tempo?◦ 1 + b + b2 + b3 + ... + bd + b(bd – 1) = O(bd+1), i.e., exponencial em d (fator de

profundidade)

Espaço?◦ O(bd+1) (armazena cada nó na memória)

Ótima?◦ Em geral, não. Sim quando o custo é constante a cada passo

Espaço é o grande problema; pode facilmente gerar nódulos a 10MB/sec, o que em 24h chegaria a 860GB !!!!!

Desempenho da Busca em Largura (Breadth-first)

Page 37: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Expande sempre o próximo nó ainda não expandido que possui caminho de menor custo • Fronteira = fila de nós ordenada pelo custo do caminho até cada nó

Busca de Custo Uniforme

A C E

B

D

Cidades:

1 10

515

5 5

A

B C D

1 5 15Fronteira = (B,C,D)

A

B C D

11

5 15

Fronteira = (C, EB ,D)

EB

A

B C D

11 10

15

Fronteira = (Ec, EB ,D)

EB Ec

A

Fronteira = (A)

Page 38: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

• Completa?

• Tempo?

• Espaço?

• Ótima?

Desempenho da Busca de Custo Uniforme

Sim, desde que o custo de cada nó 0

Nº de nós com custo(nó) < custo(solução ótima)

Sim, já q os nódulos expandem em ordem crescente de custo(nó)

Nº de nós com custo(nó) < custo(solução ótima)

Se o custo dos nós de um mesmo nível for igual, o desempenho é equivalente ao da Busca em Largura

Page 39: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Profundidade (Depth-first)

Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no

início

A

B C

E FD G

J LH NK MI O

Fronteira = (A)

Page 40: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Profundidade (Depth-first)

A

B C

E FD G

J LH NK MI O

Fronteira = (B,C)

Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no

início

Page 41: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Profundidade (Depth-first)

A

B C

E FD G

J LH NK MI O

Fronteira = (D,E,C)

Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no

início

Page 42: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Profundidade (Depth-first)

A

B C

E FD G

J LH NK MI O

Fronteira = (H,I,E,C)

Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no

início

Page 43: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Profundidade (Depth-first)

A

B C

E FD G

J LH NK MI O

Fronteira = (I,E,C)

Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no

início

Page 44: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Profundidade (Depth-first)

A

B C

E FD G

J LH NK MI O

Fronteira = (E,C)

Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no

início

Page 45: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Profundidade (Depth-first)

A

B C

E FD G

J LH NK MI O

Fronteira = (J,K,C)

Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no

início

Page 46: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Profundidade (Depth-first)

A

B C

E FD G

J LH NK MI O

Fronteira = (K,C)

Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no

início

Page 47: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca em Profundidade (Depth-first)

A

B C

E FD G

J LH NK MI O

Fronteira = (C)

Expande sempre o nó mais profundo ainda não expandido;◦ Fronteira é uma fila do tipo LIFO, i.e., novos sucessores são postos no

início

Page 48: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Completa?

Tempo?

Espaço?

Ótima?

Desempenho da Busca em Profundidade (Depth-first)

Não: falha em árvores de profundidade infinita. Nesse caso, pode-se arbitrar um limite de profundidade L: Depth-limited search

O(bm): muito ruim se m >> d (m profundidade máxima, d profundidade da solução)

O(b.m), i.e., função de crescimento linear

Não: deve ser evitada em árvores muito profundas ou profundidade infinita

Page 49: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca de Aprofundamento Iterativo Variação da Busca em Profundidade, que utiliza um limite de

profundidade L, que inicia em 0 e vai sendo incrementado de 1, a cada iteração.

A

A

B C

A

B C

D E D E

A

B C

D E

A

B C

D E D E

AL = 0

AL = 1 A

B C

A

B C

AL = 2 A

B C

A

B C

D E

A

B C

D E

A

B C

D E D E

Page 50: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Completa?

Tempo?

Espaço?

Ótima?

Desempenho da Busca por Aprofundamento Iterativo

Sim, desde que b (fator de ramificação) seja finito

O(bd) (b fator de ramificação, d profundidade do nó objetivado)

O(b.d) (b fator de ramificação, d profundidade do nó objetivado)

Em geral, não. Sim quando o custo é constante a cada passo

Em geral, é o método de Busca Cega preferido para grandes espaçosde busca e quando a profundidade da solução é desconhecida

Page 51: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca Bidirecional Princípio básico - dois agentes de busca agindo em paralelo,

onde a cada expansão de nós verifica-se a existência de interseção entre as respectivas fronteiras de suas árvores de busca.

A B

Page 52: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Busca Bidirecional Motivação: (bd/2 + bd/2) << bd

A B

Page 53: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Motivação: (bd/2 + bd/2) << bd

Busca Bidirecional

A B

Infelizmente, nem sempre é aplicável!

Page 54: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Análise Comparativa das Estratégias de Busca Cega

Critério Largura CustoUniforme

Profun-Didade

Aprofund.Iterativo

Bidirecional(se aplicável)

Completa? Sim* Sim* Não Sim* Sim*

Tempo bd+1 bd* bm bd bd/2

Espaço bd+1 bd* b.m b.d bd/2

Ótima? Sim* Sim Não Sim* Sim*

Page 55: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Repetição de Estados na Busca

A

B

C

D

Soluções possíveis (Custo x Eficácia)

1. Não retornar ao estado “pai”2. Não retornar a um ancestral3. Não gerar qualquer estado que já

tenha sido criado antes (em qualquer ramo)

◦ requer que todos os estados gerados permaneçam na memória: custo O(bd)

◦ pode ser implementado mais eficientemente com hash tables

◦ quando encontra nó igual tem de escolher o melhor (menor custo de caminho até então)

A

B B

C CC C

Page 56: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Problemas com informação Parcial

Sensorless or conformant problem (ambiente inacessíveis)◦ Agente não sabe seu estado inicial (percepção deficiente)◦ Deve raciocinar sobre os conjuntos de estados◦ Solução: seqüência de ações (via busca)

Problema de contingência ◦ Efeito das ações não-determinístico e/ou mundo parcialmente

observável => novas percepções depois de ação ex. aspirador que suja ao sugar e/ou só percebe sujeira localmente

◦ Solução: árvore de decisão (via planejamento, agente deliberativo)

Problema exploratório (on-line)◦ Espaço de estados desconhecido

ex. dirigir sem mapa◦ Solução.... via aprendizagem por reforço (agente indutivo situado)

Page 57: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Problemas com informação Parcial

Estado simples◦ Início: 5◦ Solução: [dir, suga]

Conformant problem◦ Início: {1,2,3,4,5,6,7,8}◦ Dica: direita => {2,4,6,8}◦ Solução: [dir, suga, esq, suga]

Problema de contingência◦ Início: [lado esq, sujo] = {1,3} ◦ Solução? Sugar => {5,7}, Dir =>

{6,8}, Sugar no 6 => 8 mas sugar no 8 => 6

◦ Solução: [sugar, dir, se sujo sugar]◦ Solução geral: [dir, se sujo suga, esq,

se sujo suga] Problema exploratório

◦ ....

Page 58: Baseado no Cap 3 de Russel, Norvig Artificial Intelligence: a Modern Aproach Carlos Augusto dos Santos Computação Inteligente UFS-DCOMP Prof. Maria Augusta.

Referências:◦ Russel e Norvig, Artificial Intelligence: a Modern Aproach,

2ed, Elsevier;◦ Russel e Norvig, Inteligencia Artificial, Tradução da 2ed,

Ed, Campos;◦ Santana, André F, Resolução de Problemas por Meio de

Busca Cega no Espaço Extensional de Hipótese, UFPE, 2003

Acessado em 08/04/2011 no link http://www.cin.ufpe.br/~in1006/2003/ExhaustiveSearch.ppt

FIM