Resoluo de Problemas por Meio de Busca Cega
Resolução de Problemas por Meio de Busca Cega no Espaço Extensional de Hipótese Disciplina: Métodos de Computação Inteligente – 1 Aluno: André Felipe Santana
Resolução de Problemas por Meio de Busca Cega no Espaço Extensional de Hipótese n Objetivo Geral do Seminário: n n Apresentar o método de busca cega como meio direto de resolução de problemas genéricos. Objetivos Específicos: n n n 26/05/2003 Definir o que é um problema sob a ótica da agentes inteligentes Descrever a formulação de problemas e ilustrar com exemplos Apresentar busca como método genérico de resolução de problemas Definir busca cega e ilustrar sua implementação Apresentar os diversos métodos de busca cega com análise comparativa de desempenho Apresentar restrições do uso de busca com informação parcial Disciplina: MCI-1 / Cin-UFPE
O que é um problema? n Qualquer situação a ser “resolvida” por uma seqüência ações a ser executada, com vistas a atingir um objetivo; n 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; n Metáfora da resolução de problemas por meio de busca: n 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. Ø Ø 26/05/2003 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*. Disciplina: MCI-1 / Cin-UFPE
Romênia: ir de Arad a Bucharest 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Antes de qualquer coisa. . . Formular o problema Ø Ø n n 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 n n n 26/05/2003 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 n ex: “Estou em Bucareste? ” Custo (path cost) ex: soma de distancias, nº de ações executadas, etc. Disciplina: MCI-1 / Cin-UFPE
A Formulação do Problema define o Espaço de Estados possíveis Ø n n 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 26/05/2003 Nó(“Bucareste”) (2) Antecessor = Nó(“Fagarás”) Path-cost = 450 Km Disciplina: MCI-1 / Cin-UFPE
A Formulação do Problema exige Abstração do Mundo Real n n n 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. n n 26/05/2003 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. Disciplina: MCI-1 / Cin-UFPE
Importância de uma Formulação adequada do Problema n n 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 n 26/05/2003 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) Disciplina: MCI-1 / Cin-UFPE
Importância de uma Formulação adequada do Problema n Problema das 8 Rainhas - Formulação 1: n estado inicial: nenhuma rainha no tabuleiro n operadores: adicionar uma rainha a qualquer quadrado vazio n teste do objetivo: 8 rainhas no tabuleiro sem ataque mútuo? [_, _] 0: 1: [1, 1] [1, 2] . . . . [1, 8] [2, 1] [2, 2] . . . . [2, 8] . . . . [8, 1] [8, 2]. . . . [8, 8] (64 estados possíveis) 2: [1, 2] . . . . [1, 8] [2, 1] [2, 2] . . . . [2, 8] . . . . [8, 2]. . . . [8, 1] [8, 8] (64 x 63 estados possíveis). . E assim por diante, até 64 x 63 x 62 x. . . x 57 1, 8 x 1014 seqüências possíveis a serem testadas 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Importância de uma Formulação adequada do Problema n Problema das 8 Rainhas - Formulação 2: n estado inicial: nenhuma rainha no tabuleiro n operadores: adicionar uma rainha a qualquer quadrado da coluna mais a esquerda que não contém nenhuma rainha n teste do objetivo: 8 rainhas no tabuleiro sem ataque mútuo? [_, _] 0: [1, 1] 1: 26/05/2003 [1, 2] [2, 1] [3, 2]. . . . [8, 2] . . . . [8, 1] (8 estados possíveis) (8 x 8 estados possíveis) . . E assim por diante, até 88 1, 7 x 107 seqüências possíveis a serem testadas << 1, 8 x 1014 possibilidades da formulação 1 Disciplina: MCI-1 / Cin-UFPE
Mais um exemplo. . . n n n 26/05/2003 Aspirador de pó estados = estado inicial = teste de término = operadores = custo da solução = Disciplina: MCI-1 / Cin-UFPE
Busca em um Espaço de Estados n n 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: n Busca exaustiva ou cega n n 26/05/2003 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 n Estima qual o melhor nó da fronteira a ser expandido com base em funções heurísticas => conhecimento Disciplina: MCI-1 / Cin-UFPE
Busca em um Espaço de Estados Grafo do espaço de estados do problema Árvore de Busca Arad Sibiu Arad Fagaras Oradea Timisoara R. Vilcea Arad Lugoj Zenrid Arad Oradea A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em um Espaço de Estados Grafo do espaço de estados do problema Árvore de Busca fronteira Arad Sibiu Arad Fagaras Oradea Timisoara R. Vilcea Arad Lugoj Zenrid Arad Oradea A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em um Espaço de Estados Grafo do espaço de estados do problema Árvore de Busca fronteira Arad Sibiu Arad Fagaras Oradea Timisoara R. Vilcea Arad Lugoj Zenrid Arad Oradea A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em um Espaço de Estados Grafo do espaço de estados do problema Árvore de Busca fronteira Arad Sibiu Arad Fagaras Oradea Timisoara R. Vilcea Arad Lugoj Zenrid Arad Oradea A cada passo, a árvore de busca é expandida a partir de sua fronteira, pelos operadores definidos na sua função sucessora 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Estratégias de Busca n São definidas pela ordem de expansão de nós n Avaliação de desempenho de uma estratégia – dimensões: n n n 26/05/2003 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) Disciplina: MCI-1 / Cin-UFPE
Estratégias de Busca Cega 26/05/2003 n Busca em Largura (Breadth-first); n Busca de Custo Uniforme; n Busca em Profundidade (Depth-first); n Busca em Profundidade Limitada (Depth-limited) n Busca de Aprofundamento Iterativo (Iterative deepening) n Busca Bidirecional Disciplina: MCI-1 / Cin-UFPE
Busca em Largura (Breadth-first) n Expande sempre o nó menos profundo ainda não expandido; n Fronteira é uma fila do tipo FIFO, i. e. , novos sucessores são postos no fim A B C D H E I J F K L G M N O Fronteira = (A) 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em Largura (Breadth-first) n Expande sempre o nó menos profundo ainda não expandido; n Fronteira é uma fila do tipo FIFO, i. e. , novos sucessores são postos no fim A B C D H E I J F K L G M N O Fronteira = (B, C) 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em Largura (Breadth-first) n Expande sempre o nó menos profundo ainda não expandido; n Fronteira é uma fila do tipo FIFO, i. e. , novos sucessores são postos no fim A B C D H E I J F K L G M N O Fronteira = (C, D, E) 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em Largura (Breadth-first) n Expande sempre o nó menos profundo ainda não expandido; n Fronteira é uma fila do tipo FIFO, i. e. , novos sucessores são postos no fim A B C D H E I J F K L G M N O Fronteira = (D, E, F, G) 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em Largura (Breadth-first) n Expande sempre o nó menos profundo ainda não expandido; n Fronteira é uma fila do tipo FIFO, i. e. , novos sucessores são postos no fim A B C D H E I J F K L G M N O Fronteira = (E, F, G, H, I) 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em Largura (Breadth-first) n Expande sempre o nó menos profundo ainda não expandido; n Fronteira é uma fila do tipo FIFO, i. e. , novos sucessores são postos no fim A B C D H E I J F K L G M N O Fronteira = (F, G, H, I, J, K) 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em Largura (Breadth-first) n Expande sempre o nó menos profundo ainda não expandido; n Fronteira é uma fila do tipo FIFO, i. e. , novos sucessores são postos no fim A B C D H E I J F K L G M N O Fronteira = (G, H, I, J, K, L, M) 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em Largura (Breadth-first) n Expande sempre o nó menos profundo ainda não expandido; n Fronteira é uma fila do tipo FIFO, i. e. , novos sucessores são postos no fim A B C D H E I J F K L G M N O Fronteira = (H, I, J, K, L, M, N, O) 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Desempenho da Busca em Largura (Breadth-first) n n Completa? Sim, desde que b (fator de ramificação) seja finito Tempo? 1 + b 2 + b 3 +. . . + bd + b(bd – 1) = O(bd+1), i. e. , exponencial em d (fator de profundidade) Espaço? O(bd+1) (armazena cada nódulo 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 10 MB/sec, o que em 24 h chegaria a 860 GB !!!!! 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca de Custo Uniforme Ø 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ó A A Fronteira = (A) B B 5 26/05/2003 B 10 1 15 A D 5 15 1 Fronteira = (B, C, D) Cidades: A C C D 5 E 5 C D 5 15 EB 11 Fronteira = (C, EB , D) A B C D 15 EB Ec 11 10 Fronteira = (Ec, EB , D) Disciplina: MCI-1 / Cin-UFPE
Desempenho da Busca de Custo Uniforme • Completa? Sim, desde que o custo de cada nó 0 • Tempo? Nº de nós com custo(nó) < custo(solução ótima) • Espaço? Nº de nós com custo(nó) < custo(solução ótima) • Ótima? Sim, já q os nódulos expandem em ordem crescente de custo(nó) Se o custo dos nós de um mesmo nível for igual, o desempenho é equivalente ao da Busca em Largura 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca em Profundidade (Depth-first) n Expande sempre o nó mais profundo ainda não expandido; n Fronteira é uma fila do tipo LIFO, i. e. , novos sucessores são postos no início Fronteira = (A) A B C D H 26/05/2003 E I J F K L G M N O Disciplina: MCI-1 / Cin-UFPE
Busca em Profundidade (Depth-first) n Expande sempre o nó mais profundo ainda não expandido; n Fronteira é uma fila do tipo LIFO, i. e. , novos sucessores são postos no início Fronteira = (B, C) A B C D H 26/05/2003 E I J F K L G M N O Disciplina: MCI-1 / Cin-UFPE
Busca em Profundidade (Depth-first) n Expande sempre o nó mais profundo ainda não expandido; n Fronteira é uma fila do tipo LIFO, i. e. , novos sucessores são postos no início Fronteira = (D, E, C) A B C D H 26/05/2003 E I J F K L G M N O Disciplina: MCI-1 / Cin-UFPE
Busca em Profundidade (Depth-first) n Expande sempre o nó mais profundo ainda não expandido; n Fronteira é uma fila do tipo LIFO, i. e. , novos sucessores são postos no início Fronteira = (H, I, E, C) A B C D H 26/05/2003 E I J F K L G M N O Disciplina: MCI-1 / Cin-UFPE
Busca em Profundidade (Depth-first) n Expande sempre o nó mais profundo ainda não expandido; n Fronteira é uma fila do tipo LIFO, i. e. , novos sucessores são postos no início Fronteira = (I, E, C) A B C D H 26/05/2003 E I J F K L G M N O Disciplina: MCI-1 / Cin-UFPE
Busca em Profundidade (Depth-first) n Expande sempre o nó mais profundo ainda não expandido; n Fronteira é uma fila do tipo LIFO, i. e. , novos sucessores são postos no início Fronteira = (E, C) A B C D H 26/05/2003 E I J F K L G M N O Disciplina: MCI-1 / Cin-UFPE
Busca em Profundidade (Depth-first) n Expande sempre o nó mais profundo ainda não expandido; n Fronteira é uma fila do tipo LIFO, i. e. , novos sucessores são postos no início Fronteira = (J, K, C) A B C D H 26/05/2003 E I J F K L G M N O Disciplina: MCI-1 / Cin-UFPE
Busca em Profundidade (Depth-first) n Expande sempre o nó mais profundo ainda não expandido; n Fronteira é uma fila do tipo LIFO, i. e. , novos sucessores são postos no início Fronteira = (K, C) A B C D H 26/05/2003 E I J F K L G M N O Disciplina: MCI-1 / Cin-UFPE
Busca em Profundidade (Depth-first) n Expande sempre o nó mais profundo ainda não expandido; n Fronteira é uma fila do tipo LIFO, i. e. , novos sucessores são postos no início Fronteira = (C) A B C D H 26/05/2003 E I J F K L G M N O Disciplina: MCI-1 / Cin-UFPE
Desempenho da Busca em Profundidade (Depth-first) n n Completa? Não: falha em árvores de profundidade infinita. Nesse caso, pode-se arbitrar um limite de profundidade L: Depth-limited search Tempo? O(bm): muito ruim se m >> d (m profundidade máxima, d profundidade da solução) Espaço? O(b. m), i. e. , função de crescimento linear Ótima? Não: deve ser evitada em árvores muito profundas ou profundidade infinita 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca de Aprofundamento Iterativo n 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. L=0 A A L=1 A A A B C D 26/05/2003 E C C E D C E A B D B E A C C A B D A B B C A A L=2 A D A B E D C E D E Disciplina: MCI-1 / Cin-UFPE
Desempenho da Busca por Aprofundamento Iterativo n Completa? Sim, desde que b (fator de ramificação) seja finito n Tempo? O(bd) n Espaço? O(b. d) (b fator de ramificação, d profundidade do nó objetivado) n Ótima? Em geral, não. Sim quando o custo é constante a cada passo (b fator de ramificação, d profundidade do nó objetivado) Em geral, é o método de Busca Cega preferido para grandes espaços de busca e quando a profundidade da solução é desconhecida 26/05/2003 Disciplina: MCI-1 / Cin-UFPE
Busca Bidirecional n 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 26/05/2003 B Disciplina: MCI-1 / Cin-UFPE
Busca Bidirecional n Motivação: (bd/2 + bd/2) << bd A 26/05/2003 B Disciplina: MCI-1 / Cin-UFPE
Busca Bidirecional n Motivação: (bd/2 + bd/2) << bd A 26/05/2003 Infelizmente, nem sempre é aplicável! B Disciplina: MCI-1 / Cin-UFPE
Análise Comparativa das Estratégias de Busca Cega Critério Largura Custo Uniforme Profun. Didade Aprofund. Iterativo Bidirecional (se aplicável) Completa? Sim* Não 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*
Repetição de Estados na Busca A B C Soluções possíveis (Custo x Eficácia) 1. Não retornar ao estado “pai” 2. Não retornar a um ancestral 3. Não gerar qualquer estado que já tenha sido criado antes (em qualquer ramo) A B C C C n n D 26/05/2003 n 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) Disciplina: MCI-1 / Cin-UFPE
Problemas com informação Parcial n Sensorless or conformant problem (ambiente inacessíveis) n n 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 n Efeito das ações não-determinístico e/ou mundo parcialmente observável => novas percepções depois de ação n n n Solução: árvore de decisão (via planejamento, agente deliberativo) Problema exploratório (on-line) n Espaço de estados desconhecido n n 26/05/2003 ex. aspirador que suja ao sugar e/ou só percebe sujeira localmente ex. dirigir sem mapa Solução. . via aprendizagem por reforço (agente indutivo situado) Disciplina: MCI-1 / Cin-UFPE
Problemas com informação Parcial n Estado simples n n n Conformant problem n n n n 26/05/2003 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 n n Início: 5 Solução: [dir, suga] 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 n . . Disciplina: MCI-1 / Cin-UFPE
- Slides: 48