A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Resolução de Problemas por meio de Busca Prof. Alexandre Monteiro Recife.

Apresentações semelhantes


Apresentação em tema: "1 Resolução de Problemas por meio de Busca Prof. Alexandre Monteiro Recife."— Transcrição da apresentação:

1 1 Resolução de Problemas por meio de Busca Prof. Alexandre Monteiro Recife

2 Contatos n Prof. Guilherme Alexandre Monteiro Reinaldo n Apelido: Alexandre Cordel n E-mail/gtalk: alexandrecordel@gmail.comalexandrecordel@gmail.com greinaldo@fbv.edu.br n Site: http://www.alexandrecordel.com.br/fbvhttp://www.alexandrecordel.com.br/fbv n Celular: (81) 9801-1878

3 n O agente reativo simples Escolhe suas ações com base apenas nas percepções atuais -não pode pensar no futuro, não sabe “aonde vai” n Já o agente baseado em objetivo... sabe, pois segue um objetivo explícito 3 458 16 732 123 46 78 5 ? Agente de Resolução de Problemas (1/2)

4 4 Agente de Resolução de Problemas (2/2) n Dentre as maneiras de implementar um agente baseado em objetivo existe o chamado Agente de Resolução de Problemas serve para alguns tipos de problemas requer pouco conhecimento explícito basicamente BUSCA uma seqüência de ações que leve a estados desejáveis (objetivos) Elementos que constituem Problema e sua Solução n Questões O que é um problema e como formulá-lo? Como buscar a solução do problema?

5 5 Problemas e Soluções bem Definidos (1/2) Um problema em IA é definido em termos de 4 componentes: 1) um espaço de estados possíveis, incluindo um estado inicial e um estado final (teste de objetivo) problema 1: dirigir de Natal a Caicó problema 2: jogo de 8-números 2) um conjunto de ações (ou operadores) que permitem passar de um estado a outro ex1. dirigir de uma cidade a outra ex2. mover uma peça do jogo de n-números (n-puzzle) 458 16 732 123 56 78 4 inicialfinal

6 6 Problemas e Soluções bem Definidos (2/2) n Espaço de Estados: conjunto de todos os estados alcançáveis a partir do estado inicial por qualquer seqüência de ações. n Definição do objetivo: propriedade abstrata -ex., condição de xeque-mate no Xadrez conjunto de estados finais do mundo -ex., estar bem na cidade-destino n Solução: caminho (seqüência de ações ou operadores) que leva do estado inicial a um estado final (objetivo).

7 Um problema de busca em IA pode ser definido em termos de... 1.um estado inicial -Em (Recife) -Estar (pobre) 2.um ou mais estados finais => definição do objetivo -Em (João Pessoa) -Estar (rico) 3.Espaço de Estados: -conjunto de todos os estados alcançáveis a partir do estado inicial por qualquer seqüência de ações. -pode ser representado como uma árvore onde os estados são nós e as operações são arcos. 4.Solução: -caminho ( seqüência de ações ou operadores) que leva do estado inicial a um estado final (objetivo), passando de um estado para outro Ex., dirigir de Recife a João Pessoa -Espaço de estados: todas as cidades da região de Recife a João Pessoa 7

8 Algumas definições n Solução caminho (seqüência de ações) que leva do estado inicial a um estado final (objetivo). Cuidado! A solução não é o estado final! 8

9 Um problema de busca em IA pode ser definido em termos de... Um estado inicial e um final Um conjunto de ações (ou operadores) ◦ que permitem passar de um estado a outro ◦ os estados podem não “estar lá” concretamente. ◦ No caso do problema de dirigir… as cidades estão lá ◦ No caso de ficar rico… não necessariamente. Um teste de objetivo ◦ Verifica se um dado estado é o objetivo ◦ Objetivo => um ou mais estados finais -propriedade abstrata (em intenção) -ex., condição de xeque-mate no Xadrez -conjunto de estados finais do problema (em extensão) -ex., estar em João Pessoa 9

10 Um problema de busca em IA pode ser definido em termos de... Custo de caminho ◦ Função que associa um custo a cada caminho possível ◦ Um caminho é uma sequência de estados conectados por ações possíveis. ◦ Cada ação tem um custo associado ◦ O custo de dirigir de Recife a Abreu e Lima, por exemplo, poderia ser a distância entre as duas cidades. ◦ Ou o tempo total que se leva entre as duas cidades, isso pode variar. ◦ Custo de busca ◦ tempo e memória: custo computacional para busca da solução. 10

11 Custo da Busca n Custo total da busca = Custo de Busca + Custo do Caminho custo de busca (tempo e memória, i.e. custo computacional) -> busca da solução + custo do caminho -> execução da solução n Espaço de estados grande compromisso (conflito) entre determinar -a melhor solução em termos de custo do caminho (é uma boa solução?) e -a melhor solução em termos de custo computacional (é computacionalmente barata?) 11

12 12 Solucionando o Problema: formulação, busca e execução n Formulação do problema e do objetivo (manual) quais são os estados e as ações a considerar? qual é (e como representar) o objetivo? n Busca (solução do problema: processo automático) processo que gera/analisa seqüências de ações para alcançar um objetivo solução = caminho entre estado inicial e estado final. n Execução (manual ou automática) Executar (passo a passo) a solução completa encontrada

13 Agentes Solucionadores de Problemas formulação, busca e execução Agente-Simples-SP função Agente-Simples-SP(p) retorna uma ação entrada: p, um dado perceptivo Atualiza-Estado estado  Atualiza-Estado (estado, p) se s (seqüência de ações) está vazia então Formula-Objetivo o (objetivo)  Formula-Objetivo (estado) Formula-Problema problema  Formula-Problema (estado, o) Busca s  Busca (problema) Primeira ação  Primeira (s, estado) Resto s  Resto (s, estado) retorna ação

14 14 Medida de Desempenho na Busca n Desempenho de um algoritmo de busca: 1. O algoritmo encontrou alguma solução? 2. É uma boa solução? -custo de caminho (qualidade da solução) 3. É uma solução computacionalmente barata? -custo da busca (tempo e memória) n Custo total custo do caminho + custo de busca n Espaço de estados grande: compromisso (conflito) entre a melhor solução e a solução mais barata

15 Exemplos de Formulação de problema Jogo de 8 números n Espaço de estados = todas as possíveis configurações do tabuleiro n Estado inicial = qualquer um dos estados possíveis n Teste de Objetivo (estado final) = tabuleiro ordenado, com branco na posição [3,3] n Ações/operadores = mover peças numéricas para espaços livres (em branco) (esquerda, direita, para cima e para baixo) n Custo do caminho = número de passos da solução n Custo de busca = depende do computador e da estratégia de busca utilizada Próximas aulas 15

16 Árvore de busca para o Jogo dos 8 números 16 458 16 732 58 416 732 458 716 32 458 6 732 1 para cima Para baixo direita 123 46 78 5 Para baixo direita

17 Exemplos de formulação de problema Dirigir de Recife (PE) a Juazeiro do Norte (CE) ◦ Espaço de estados = todas as cidades do mapa alcançáveis a partir do estado inicial ◦ Estado inicial = estar em Recife ◦ Teste de Objetivo (já atingimos o objetivo?) = estar em Juazeiro do Norte ◦ Ações/operadores = dirigir de uma cidade para outra (se houver estrada entre elas!) ◦ Função Custo do caminho = número de cidades visitadas, distância percorrida, tempo de viagem, grau de divertimento, etc 17

18 Custo do caminho diferente => Solução diferente n Função de custo de caminho (1) distância entre as cidades (2) tempo de viagem, etc. n Solução mais barata: (1) Camaragibe, Carpina, Patos, Milagres,... (2) Moreno, Vitória de S. Antão, Caruaru, Salgueiro,... apesar de mais longa, pega estradas melhores e evita as cidades. 18

19 Recife – Juazeiro do Norte

20

21 Exemplo: viajar de Recife a Juazeiro 21 Recife Estado inicial => Recife Camaragibe Moreno Olinda Recife Camaragibe Moreno Olinda Carpina Goiana

22 22 Outro Exemplo: Ir de Arad a Bucharest

23 23 Exemplo Romênia n Ida para Bucharest: estados = cada possível cidade do mapa estado inicial = Arad teste de objetivo = estar em Bucarest operadores = dirigir de uma cidade para outra custo do caminho = número de cidades visitadas, distância percorrida, tempo de viagem, grau de divertimento, etc

24 24 Mais um Exemplo... n Aspirador de pó estados = 8 estados possíveis; estado inicial = qualquer estado; teste de objetivo = estados 7 ou 8 operadores = mover para direita, mover para esquerda e limpar custo da solução = cada passo tem custo 1, o custo total será a soma de passos.

25 25 Espaço de Estados Aspirador de Pó

26 26 Custo Diferente => Solução Diferente n Função de custo de caminho (1) número de cidades visitadas, (2) distância entre as cidades, (3) tempo de viagem, etc. n Solução mais barata: (1) Canudos, Belém do S. Francisco, Salgueiro,... (2) Canudos, Belém do S. Francisco, Salgueiro,... (3) Canudos, Juazeiro, Pretrolina, Cabrobó, Salgueiro

27 27 Importância da formulação: 8 rainhas n Jogo das 8 Rainhas dispor 8 rainhas no tabuleiro de forma que não possam se “atacar” -não pode haver mais de uma rainha em uma mesma linha, coluna ou diagonal somente o custo da busca conta -não existe custo de caminho n Existem diferentes estados e operadores possíveis essa escolha pode ter conseqüências boas ou nefastas na complexidade da busca ou no tamanho do espaço de estados

28 28 Importância da formulação: 8 rainhas n Formulação A estados: qualquer disposição com n (n  8) rainhas operadores: adicionar uma rainha a qualquer quadrado 64^8 possibilidades: vai até o fim para testar se dá certo n Formulação B estados: disposição com n (n  8) rainhas sem ataque mútuo (teste gradual) operadores: adicionar uma rainha na coluna vazia mais à esquerda em que não possa ser atacada melhor (2057 possibilidades), mas pode não haver ação possível n Formulação C estados: disposição com 8 rainhas, uma em cada coluna operadores: mover uma rainha atacada para outra casa na mesma coluna

29 29 Importância da formulação: 8 rainhas n Formulação A estados: qualquer disposição com n (n  8) rainhas operadores: adicionar uma rainha a qualquer quadrado 64^8 ≈ 3 x 10 14 possibilidades: vai até o fim para testar se dá certo n Formulação B estados: disposição com n (n  8) rainhas sem ataque mútuo (teste gradual) operadores: adicionar uma rainha na coluna vazia mais à esquerda em que não possa ser atacada melhor (2057 possibilidades), mas pode não haver ação possível n Formulação C estados: disposição com 8 rainhas, uma em cada coluna operadores: mover uma rainha atacada para outra casa na mesma coluna

30 30 Importância da formulação: 8-números n Jogo de 8 números: estados = cada possível configuração do tabuleiro estado inicial = qualquer um dos estados possíveis teste de objetivo = ordenado, com branco na posição [3,3] operadores = mover branco (esquerda, direita, para cima e para baixo) custo da solução = número de passos da solução 458 16 732 58 416 732 458 716 32 458 6 732 1 up down right 123 46 78 5 downright

31 31 Algumas Aplicações

32 32 Aplicações de Busca: “Toy Problems” n Jogo das n rainhas n Jogo dos n números (n-puzzle) n Criptoaritmética n Torre de Hanoi n Palavras cruzadas n Canibais e missionários send + more --------- money

33 33 Aplicações: Problemas Reais n Cálculo de rotas (pathfinding) rotas em redes de computadores sistemas de planejamento de viagens planejamento de rotas de aviões Caixeiro viajante Jogos de computadores (rotas dos personagens) n Alocação (Scheduling) Salas de aula Máquinas industriais (job shop) n Projeto de VLSI Cell layout Channel routing

34 34 Aplicações: Problemas Reais n Navegação de robôs: generalização do problema da navegação robôs movem-se em espaços contínuos, com um conjunto (infinito) de possíveis ações e estados -controlar os movimentos do robô no chão, e de seus braços e pernas requer espaço multi-dimensional n Montagem de objetos complexos por robôs: ordenar a montagem das diversas partes do objeto n etc...

35 35 Problemas com Informação Parcial

36 36 Problemas com informação Parcial n Até agora só vimos problemas de estado único o agente sabe em que estado está e pode determinar o efeito de cada uma de suas ações -sabe seu estado depois de uma seqüência qualquer de ações Solução: seqüência de ações n Porém existem 3 outros tipos de problemas...

37 37 Problemas com Informação Parcial n Sensorless or conformant problem 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) n 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) n Problema exploratório (on-line) Espaço de estados desconhecido -ex. dirigir sem mapa Solução.... via aprendizagem por reforço

38 38 Problemas com Informação Parcial n Estado simples Início: 5, Solução: [dir, suga] n Conformant problem Percepção deficiente Início: {1,2,3,4,5,6,7,8} Direita => {2,4,6,8}, Sugar => {4,8},... Solução: [dir, suga, esq, suga] n Problema de contingência Efeito das ações não-determinístico 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]

39 39 Buscando Soluções Busca Cega

40 40 Busca em Espaço de Estados n Uma vez o problema bem formulado... o estado final deve ser “buscado” n Em outras palavras, deve-se usar um método de busca para saber a ordem correta de aplicação dos operadores que lavará do estado inicial ao final n Isto é feito por um processo de geração (de estados possíveis) e teste (para ver se o objetivo está entre eles) n Uma vez a busca terminada com sucesso, é só executar a solução (= conjunto ordenado de operadores a aplicar)

41 41 Busca em Espaço de Estados: Geração e Teste n Fronteira do espaço de estados nós (estados) a serem expandidos no momento. n Algoritmo: Obs: começa com a fronteira contendo o estado inicial do problema. 1. Selecionar o primeiro nó (estado) da fronteira do espaço de estados; - se a fronteira está vazia, o algoritmo termina com falha. 2. Testar se o nó é um estado final (objetivo): - se “sim, então retornar nó - a busca termina com sucesso. 3. Gerar um novo conjunto de estados pela aplicação dos operadores ao nó selecionado; 4. Inserir os nós gerados na fronteira, de acordo com a estratégia de busca usada, e voltar para o passo (1).

42 42 Exemplo: viajar de Jeremoabo a Cajazeiras Jeremoabo estado inicial => Jeremoabo canudosPaulo AfonsoAracaju Jeremoabo canudosPaulo AfonsoAracaju PetrolinaB. do S. Francisco fronteira

43 43 Busca em Espaço de Estados: Implementação n Espaços de Estados podem ser representados como uma árvore onde os estados são nós e as operações são arcos. n Os nós da árvore podem guardar mais informação do que apenas o estado: estrutura de dados com pelo menos 5 componentes: 1. o estado correspondente 2. o seu nó pai 3. o operador aplicado para gerar o nó (a partir do pai) 4. a profundidade do nó 5. o custo do nó (desde a raiz) 6. nós-filhos 7. etc.

44 44 Busca em Espaço de Estados: implementação Algoritmo: Função-Insere Função-Insere: controla a ordem de inserção de nós na fronteira do espaço de estados. Busca-GenéricaFunção-Insere função Busca-Genérica (problema, Função-Insere) retorna uma solução ou falha Faz-FilaFaz-NóEstado-Inicial fronteira  Faz-Fila (Faz-Nó (Estado-Inicial [problema] ) ) loop do se fronteira está vazia então retorna falha Remove-Primeiro nó  Remove-Primeiro (fronteira) Teste-TérminoEstado se Teste-Término [problema] aplicado a Estado [nó] tiver sucesso então retorna nó Função-InsereOperadores fronteira  Função-Insere (fronteira, Operadores [problema, nó]) end

45 45 Métodos de Busca n Busca exaustiva (sem informação 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). n Busca heurística (com informação) Estima qual o melhor nó da fronteira a ser expandido com base em funções heurísticas => conhecimento

46 Busca Cega n Estratégias para determinar a ordem de ramificação dos nós: 1. Busca em largura/extensão 2. Busca de custo uniforme 3. Busca em profundidade 4. Busca com aprofundamento iterativo (retrocesso) n Direção da ramificação: 1. Do estado inicial para um estado final 2. De um estado final para o estado inicial 3. Busca bi-direcional

47 Critérios de Avaliação das Estratégias de Busca n Completa (Completeza)? a estratégia sempre encontra uma solução quando existe alguma? n Ótima (Otimização)? a estratégia encontra a melhor solução quando existem soluções diferentes? -menor custo de caminho n Custo de tempo (Complexidade de Tempo)? quanto tempo gasta para encontrar uma solução? n Custo de memória (Complexidade de Espaço)? quanta memória é necessária para realizar a busca?

48 Busca em Largura n Ordem de ramificação dos nós: 1. Nó raiz 2. Todos os nós de profundidade 1 3. Todos os nós de profundidade 2, etc… n Algoritmo: Busca-em-Largura função Busca-em-Largura (problema) retorna uma solução ou falha Busca-GenéricaInsere-no-Fim Busca-Genérica (problema, Insere-no-Fim)

49 Busca em Largura n Esta estratégia é completa n É ótima ? Sempre encontra a solução mais “rasa” que nem sempre é a solução de menor custo de caminho, caso os operadores tenham valores diferentes -ex. ir para uma cidade D passando por B e C pode ser mais perto do que passando só por E n Em outras palavras, é ótima se custo de caminho cresce com a profundidade do nó O que ocorre quando todos os operadores têm o mesmo custo (=1)

50 Busca em Largura n Def. Fator de ramificação da árvore de busca: número de nós gerados a partir de cada nó (b) n Custo de tempo: se o fator de ramificação do problema = b, e a primeira solução para o problema está no nível d, então o número máximo de nós gerados até se encontrar a solução = 1 + b + b 2 + b 3 + … + b d custo exponencial = O (b d ). n Custo de memória: problema mais crucial: a fronteira do espaço de estados deve permanecer na memória logo, busca em largura só dá bons resultados quando a profundidade da árvore de busca é pequena.

51 Busca de Custo Uniforme (Dijkstra’s Search) n Estende a busca em largura: expande o nó da fronteira com menor custo de caminho até o momento cada operador pode ter um custo associado diferente, medido pela função g(n) que dá o custo do caminho da origem ao nó n n Na busca em largura: g(n) = profundidade (n) n Algoritmo: Busca-de-Custo-Uniforme função Busca-de-Custo-Uniforme (problema) retorna uma solução ou falha Busca-GenéricaInsere-Ordem-Crescente Busca-Genérica (problema, Insere-Ordem-Crescente)

52 Busca de Custo Uniforme Cidades

53 53 Busca de Custo Uniforme Fronteira do exemplo anterior n F = {S} testa se S é o estado objetivo, expande-o e guarda seus filhos A, B e C ordenadamente na fronteira n F = {A, B, C} testa A, expande-o e guarda seu filho G A ordenadamente -obs.: o algoritmo de geração e teste guarda na fronteira todos os nós gerados, testando se um nó é o objetivo apenas quando ele é retirado da lista! n F= {B, G A, C} testa B, expande-o e guarda seu filho G B ordenadamente n F= {G B, G A, C} testa G B e para!

54 54 Busca de Custo Uniforme n Esta estratégia é completa n É ótima se g (sucessor(n))  g (n) -custo de caminho no mesmo caminho não decresce -i.e., não tem operadores com custo negativo caso contrário, teríamos que expandir todo o espaço de estados em busca da melhor solução. -Ex. Seria necessário expandir também o nó C do exemplo, pois o próximo operador poderia ter custo associado = -13, por exemplo, gerando um caminho mais barato do que através de B n Custo de tempo e de memória teoricamente, igual ao da Busca em Largura

55 Busca em Profundidade n Ordem de ramificação dos nós: sempre expande o nó no nível mais profundo da árvore: 1. nó raiz 2. primeiro nó de profundidade 1 3. primeiro nó de profundidade 2, etc. Quando um nó final não é solução, o algoritmo volta para expandir os nós que ainda estão na fronteira do espaço de estados (backtracking) n Algoritmo: Busca-em-Profundidade função Busca-em-Profundidade (problema) retorna uma solução ou falha Busca-GenéricaInsere-no-Começo Busca-Genérica (problema, Insere-no-Começo)

56 Busca em Profundidade

57 n Esta estratégia não é completa nem é ótima Esta estratégia deve ser evitada quando as árvores geradas são muito profundas ou geram caminhos infinitos. n Custo de memória: necessita armazenar apenas b.m nós para um espaço de estados com fator de ramificação b e profundidade m, onde m pode ser maior que d (profundidade da 1a. solução). n Custo de tempo: O(b m ), no pior caso. Para problemas com várias soluções, esta estratégia pode ser bem mais rápida do que busca em largura.

58 Busca com Aprofundamento Iterativo n Evita o problema de caminhos muito longos ou infinitos impondo um limite máximo (l) de profundidade para os caminhos gerados. l  d, onde l é o limite de profundidade e d é a profundidade da primeira solução do problema n Esta estratégia tenta limites com valores crescentes, partindo de zero, até encontrar a primeira solução fixa profundidade = i, executa busca se não chegou a um objetivo, recomeça busca com profundidade = i + n (n qualquer) piora o tempo de busca, porém melhora o custo de memória!

59 Busca com Aprofundamento Iterativo n Combina as vantagens de busca em largura com busca em profundidade. n É ótima e completa com n = 1 e operadores com custos iguais n Custo de memória: necessita armazenar apenas b.d nós para um espaço de estados com fator de ramificação b e limite de profundidade d n Custo de tempo: O(b d ) n Bons resultados quando o espaço de estados é grande e de profundidade desconhecida.

60 Busca com Aprofundamento Iterativo

61 Busca Aprofundamento Interativo

62 Busca em Profundidade limitada

63 Comparando Estratégias de Busca Exaustiva

64 Evitar Geração de Estados Repetidos n Problema geral em Busca expandir estados presentes em caminhos já explorados n É inevitável quando existe operadores reversíveis ex. encontrar rotas, canibais e missionários, 8-números, etc. a árvore de busca é potencialmente infinita n Idéia podar (prune) estados repetidos, para gerar apenas a parte da árvore que corresponde ao grafo do espaço de estados (que é finito!) mesmo quando esta árvore é finita, evitar estados repetidos pode reduzir exponencialmente o custo da busca

65 Evitar Geração de Estados Repetidos n Exemplo: (m + 1) estados no espaço => 2 m caminhos na árvore n Questões Como evitar expandir estados presentes em caminhos já explorados? Em ordem crescente de eficácia e custo computacional? Espaço de estadosÁrvore de busca

66 Evitando operadores reversíveis n Se os operadores são reversíveis: conjunto de predecessores do nó = conjunto de sucessores do nó porém, esses operadores podem gerar árvores infinitas! n A seguir, 3 soluções com diferentes níveis de eficácia e custo de implementação...

67 Evitar Estados Repetidos: soluções 1. Não retornar ao estado “pai” 2. Não retorna a um ancestral 3. 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(b d ) pode ser implementado mais eficientemente com hash tables quando encontra nó igual tem de escolher o melhor (menor custo de caminho até então)

68 Sensorless: Prob. sem Sensores

69 69 Referências n T. Mitchell. Machine Learning. McGraw Hill, New York, 1997. n Stuart Russell and Peter Norvig, Artificial Intelligence - A Modern Approach. Prentice Hall, 1995.


Carregar ppt "1 Resolução de Problemas por meio de Busca Prof. Alexandre Monteiro Recife."

Apresentações semelhantes


Anúncios Google