Buscas Não Informadas (Cegas) - Parte I Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Graduação em Ciência da Computação / 2006
BUSCA EM LARGURA(BREADTH-FIRST ) - 1/5 A raiz é expandida. Todos os nós gerados pela expansão da raiz são expandidos. Os sucessores dos nós gerados pela expansão da raiz são expandidos. O processo se repete.
BUSCA EM LARGURA(BREADTH-FIRST ) - 1/5 A raiz é expandida. Todos os nós gerados pela expansão da raiz são expandidos. Os sucessores dos nós gerados pela expansão da raiz são expandidos. O processo se repete.
BUSCA EM LARGURA(BREADTH-FIRST ) - 1/5 A raiz é expandida. Todos os nós gerados pela expansão da raiz são expandidos. Os sucessores dos nós gerados pela expansão da raiz são expandidos. O processo se repete.
BUSCA EM LARGURA(BREADTH-FIRST ) - 1/5 A raiz é expandida. Todos os nós gerados pela expansão da raiz são expandidos. Os sucessores dos nós gerados pela expansão da raiz são expandidos. O processo se repete.
Árvore de Busca BUSCA EM LARGURA - 2/5 1
Árvore de Busca BUSCA EM LARGURA - 2/5 1 2 3
Árvore de Busca BUSCA EM LARGURA - 2/5 1 2 3 4 5
Árvore de Busca BUSCA EM LARGURA - 2/5 1 2 3 4 5 6 7
Avaliação BUSCA EM LARGURA - 3/5 Esta estratégia sempre encontra uma solução, caso ela exista. Se houver mais de uma solução esta estratégia encontra primeiro a mais próxima da raiz.
Avaliação BUSCA EM LARGURA - 3/5 Esta estratégia sempre encontra uma solução, caso ela exista. Se houver mais de uma solução esta estratégia encontra primeiro a mais próxima da raiz.
Avaliação BUSCA EM LARGURA - 4/5 Segundo os critérios de avaliação: Completo; Ótimo - se o custo do caminho é uma função não decrescente da profundidade dos nós. Esta condição somente é válida se todos os operadores têm o mesmo custo.
Avaliação BUSCA EM LARGURA - 4/5 Segundo os critérios de avaliação: Completo; Ótimo - se o custo do caminho é uma função não decrescente da profundidade dos nós. Esta condição somente é válida se todos os operadores têm o mesmo custo.
Avaliação BUSCA EM LARGURA - 4/5 Segundo os critérios de avaliação: Completo; Ótimo - se o custo do caminho é uma função não decrescente da profundidade dos nós. Esta condição somente é válida se todos os operadores têm o mesmo custo.
Avaliação BUSCA EM LARGURA - 4/5 Segundo os critérios de avaliação: Completo; Ótimo - se o custo do caminho é uma função não decrescente da profundidade dos nós. Esta condição somente é válida se todos os operadores têm o mesmo custo.
Avaliação BUSCA EM LARGURA - 5/5 Para uma busca completa: Se cada estado produz b (branching factor) Novos estados e a solução está em um caminho de profundidade d: O número máximo (pior caso) de nós expandidos antes de se obter a solução é: 1 + b + b 2 + b 3 +... + b d Complexidade temporal e espacial: O(b d ) Todas as folhas têm que estar na memória ao mesmo tempo.
Avaliação BUSCA EM LARGURA - 5/5 Para uma busca completa: Se cada estado produz b (branching factor) Novos estados e a solução está em um caminho de profundidade d: O número máximo (pior caso) de nós expandidos antes de se obter a solução é: 1 + b + b 2 + b 3 +... + b d Complexidade temporal e espacial: O(b d ) Todas as folhas têm que estar na memória ao mesmo tempo.
Avaliação BUSCA EM LARGURA - 5/5 Para uma busca completa: Se cada estado produz b (branching factor) Novos estados e a solução está em um caminho de profundidade d: O número máximo (pior caso) de nós expandidos antes de se obter a solução é: 1 + b + b 2 + b 3 +... + b d Complexidade temporal e espacial: O(b d ) Todas as folhas têm que estar na memória ao mesmo tempo.
Avaliação BUSCA EM LARGURA - 5/5 Para uma busca completa: Se cada estado produz b (branching factor) Novos estados e a solução está em um caminho de profundidade d: O número máximo (pior caso) de nós expandidos antes de se obter a solução é: 1 + b + b 2 + b 3 +... + b d Complexidade temporal e espacial: O(b d ) Todas as folhas têm que estar na memória ao mesmo tempo.
Avaliação BUSCA EM LARGURA - 5/5 Para uma busca completa: Se cada estado produz b (branching factor) Novos estados e a solução está em um caminho de profundidade d: O número máximo (pior caso) de nós expandidos antes de se obter a solução é: 1 + b + b 2 + b 3 +... + b d Complexidade temporal e espacial: O(b d ) Todas as folhas têm que estar na memória ao mesmo tempo.
Avaliação BUSCA EM LARGURA - 5/5 Para uma busca completa: Se cada estado produz b (branching factor) Novos estados e a solução está em um caminho de profundidade d: O número máximo (pior caso) de nós expandidos antes de se obter a solução é: 1 + b + b 2 + b 3 +... + b d Complexidade temporal e espacial: O(b d ) Todas as folhas têm que estar na memória ao mesmo tempo.
Exemplo BUSCA EM LARGURA - Exemplo Busca em Largura com: Fator de ramificação b = 10; Velocidade de processamento: 1000 nós/s; Memória necessária: 100 Bytes/nós.
Exemplo BUSCA EM LARGURA - Exemplo Busca em Largura com: Fator de ramificação b = 10; Velocidade de processamento: 1000 nós/s; Memória necessária: 100 Bytes/nós.
Exemplo BUSCA EM LARGURA - Exemplo Busca em Largura com: Fator de ramificação b = 10; Velocidade de processamento: 1000 nós/s; Memória necessária: 100 Bytes/nós.
Exemplo BUSCA EM LARGURA - Exemplo Busca em Largura com: Fator de ramificação b = 10; Velocidade de processamento: 1000 nós/s; Memória necessária: 100 Bytes/nós.
Requisitos REQUISITOS DE TEMPO E MEMÓRIA Prof Nós Tempo Memória 0 1 1 ms 100B 2 111 0.1 s 11KB 4 11.111 11 s 1MB 6 10 6 18 m 111MB 8 10 8 31 h 11GB 10 10 10 128 dias 1TB 12 10 12 35 anos 111TB 14 10 14 3500 anos 11.111TB
BUSCA COM CUSTO UNIFORME - 1/4 A meta mais próxima da raiz não representa sempre a de menor custo. A busca em Largura pode ser modificada: Expandir sempre o nó de menor custo da fronteira ao invés nó de menor profundidade.
BUSCA COM CUSTO UNIFORME - 1/4 A meta mais próxima da raiz não representa sempre a de menor custo. A busca em Largura pode ser modificada: Expandir sempre o nó de menor custo da fronteira ao invés nó de menor profundidade.
BUSCA COM CUSTO UNIFORME - 1/4 A meta mais próxima da raiz não representa sempre a de menor custo. A busca em Largura pode ser modificada: Expandir sempre o nó de menor custo da fronteira ao invés nó de menor profundidade.
Exemplo BUSCA COM CUSTO UNIFORME - 2/4 A problema de roteamento Atingir a meta M, a partir do estado inicial R. R 1 5 15 B 5 10 5 M C
Exemplo BUSCA COM CUSTO UNIFORME - 2/4 A problema de roteamento Atingir a meta M, a partir do estado inicial R. R 1 5 15 B 5 10 5 M C
Exemplo BUSCA COM CUSTO UNIFORME - 2/4 A problema de roteamento Atingir a meta M, a partir do estado inicial R. R 1 5 15 B 5 10 5 M C
Exemplo BUSCA COM CUSTO UNIFORME - 2/4 A problema de roteamento Atingir a meta M, a partir do estado inicial R. R 1 5 15 B 5 10 5 M C
Exemplo BUSCA COM CUSTO UNIFORME - 2/4 A problema de roteamento Atingir a meta M, a partir do estado inicial R. R 1 5 15 B 5 10 5 M C
Árvore de Busca BUSCA COM CUSTO UNIFORME - 3/4 R - 00
Árvore de Busca BUSCA COM CUSTO UNIFORME - 3/4 R - 00 A - 01 B - 05 C - 15
Árvore de Busca BUSCA COM CUSTO UNIFORME - 3/4 R - 00 A - 01 B - 05 C - 15 M - 11
Árvore de Busca BUSCA COM CUSTO UNIFORME - 3/4 R - 00 A - 01 B - 05 C - 15 M - 11 M - 10
Avaliação BUSCA COM CUSTO UNIFORME - 4/4 Esta estratégia encontra a melhor solução se: O custo do caminho nunca diminuir enquanto o mesmo for percorrido - g(sucessor(n)) g(n). Esta restrição é obedecida se o custo do caminho é a soma dos custos dos operadores que geram o caminho e nenhum operador tem custo negativo.
Avaliação BUSCA COM CUSTO UNIFORME - 4/4 Esta estratégia encontra a melhor solução se: O custo do caminho nunca diminuir enquanto o mesmo for percorrido - g(sucessor(n)) g(n). Esta restrição é obedecida se o custo do caminho é a soma dos custos dos operadores que geram o caminho e nenhum operador tem custo negativo.
Avaliação BUSCA COM CUSTO UNIFORME - 4/4 Esta estratégia encontra a melhor solução se: O custo do caminho nunca diminuir enquanto o mesmo for percorrido - g(sucessor(n)) g(n). Esta restrição é obedecida se o custo do caminho é a soma dos custos dos operadores que geram o caminho e nenhum operador tem custo negativo.
BUSCA EM PROFUNDIDADE 1/6 Expande sempre um dos nós de maior profundidade na árvore. Quando a busca encontra um nó que não pode ser expandido, retorna e expande os nós que estão pendentes.
BUSCA EM PROFUNDIDADE 1/6 Expande sempre um dos nós de maior profundidade na árvore. Quando a busca encontra um nó que não pode ser expandido, retorna e expande os nós que estão pendentes.
Árvore de Busca BUSCA EM PROFUNDIDADE 2/6 R
Árvore de Busca BUSCA EM PROFUNDIDADE 2/6 R A B
Árvore de Busca BUSCA EM PROFUNDIDADE 2/6 R A B D E
Árvore de Busca BUSCA EM PROFUNDIDADE 2/6 R A B D E H I
Árvore de Busca BUSCA EM PROFUNDIDADE 2/6 R A B D E J K
Árvore de Busca BUSCA EM PROFUNDIDADE 2/6 R A B F G
Árvore de Busca BUSCA EM PROFUNDIDADE 2/6 R A B F G L M
Árvore de Busca BUSCA EM PROFUNDIDADE 2/6 R A B F G N O
Requisitos BUSCA EM PROFUNDIDADE 3/6 Pouca exigência de memória: É necessário armazenar apenas um único caminho da raiz até um nó-folha. Para um espaço de estados finito, com profundidade máxima m e fator de ramificação b: Necessário armazenar : bm nós. Complexidade temporal: O(b m ).
Requisitos BUSCA EM PROFUNDIDADE 3/6 Pouca exigência de memória: É necessário armazenar apenas um único caminho da raiz até um nó-folha. Para um espaço de estados finito, com profundidade máxima m e fator de ramificação b: Necessário armazenar : bm nós. Complexidade temporal: O(b m ).
Requisitos BUSCA EM PROFUNDIDADE 3/6 Pouca exigência de memória: É necessário armazenar apenas um único caminho da raiz até um nó-folha. Para um espaço de estados finito, com profundidade máxima m e fator de ramificação b: Necessário armazenar : bm nós. Complexidade temporal: O(b m ).
Requisitos BUSCA EM PROFUNDIDADE 3/6 Pouca exigência de memória: É necessário armazenar apenas um único caminho da raiz até um nó-folha. Para um espaço de estados finito, com profundidade máxima m e fator de ramificação b: Necessário armazenar : bm nós. Complexidade temporal: O(b m ).
Requisitos BUSCA EM PROFUNDIDADE 3/6 Pouca exigência de memória: É necessário armazenar apenas um único caminho da raiz até um nó-folha. Para um espaço de estados finito, com profundidade máxima m e fator de ramificação b: Necessário armazenar : bm nós. Complexidade temporal: O(b m ).
Requisitos BUSCA EM PROFUNDIDADE 4/6 Considerando o exemplo anterior (para d = 12): Memória necessária: 12 KB 10 bilhões de vezes menos que a Busca em Largura.
Requisitos BUSCA EM PROFUNDIDADE 4/6 Considerando o exemplo anterior (para d = 12): Memória necessária: 12 KB 10 bilhões de vezes menos que a Busca em Largura.
Requisitos BUSCA EM PROFUNDIDADE 4/6 Considerando o exemplo anterior (para d = 12): Memória necessária: 12 KB 10 bilhões de vezes menos que a Busca em Largura.
Avaliação BUSCA EM PROFUNDIDADE 5/6 Problemas com muitas soluções: a Busca em Profundidade é melhor que a Busca em Largura: Há boas chances de se encontrar uma solução após explorar somente uma pequena parte do espaço de estados.
Avaliação BUSCA EM PROFUNDIDADE 5/6 Problemas com muitas soluções: a Busca em Profundidade é melhor que a Busca em Largura: Há boas chances de se encontrar uma solução após explorar somente uma pequena parte do espaço de estados.
Avaliação BUSCA EM PROFUNDIDADE 6/6 Desvantagem: a estratégia pode forçar uma busca em um ramo que não há soluções: Um dos ramos pode ser extremamente longo ou mesmo infinito. Não é completa nem ótima. Deve ser evitada para árvores de busca com profundidades muito grandes ou infinitas.
Avaliação BUSCA EM PROFUNDIDADE 6/6 Desvantagem: a estratégia pode forçar uma busca em um ramo que não há soluções: Um dos ramos pode ser extremamente longo ou mesmo infinito. Não é completa nem ótima. Deve ser evitada para árvores de busca com profundidades muito grandes ou infinitas.
Avaliação BUSCA EM PROFUNDIDADE 6/6 Desvantagem: a estratégia pode forçar uma busca em um ramo que não há soluções: Um dos ramos pode ser extremamente longo ou mesmo infinito. Não é completa nem ótima. Deve ser evitada para árvores de busca com profundidades muito grandes ou infinitas.
Avaliação BUSCA EM PROFUNDIDADE 6/6 Desvantagem: a estratégia pode forçar uma busca em um ramo que não há soluções: Um dos ramos pode ser extremamente longo ou mesmo infinito. Não é completa nem ótima. Deve ser evitada para árvores de busca com profundidades muito grandes ou infinitas.