busca cega

Download Busca cega

Post on 10-Jan-2017

217 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Soluo de problemas por meio de buscaAula 2Fundamentos da IA Mestrado FEI -- 2006

  • Problema: jarrosDados uma bica d`agua, um jarro de capacidade 3 litros e um jarro de capacidade 4 litros (ambos vazios). Como obter 2 litros no jarro de 4?

  • Soluo de problemas por meio de buscaDesenvolver programas, no com os passos de soluo de um problema, mas que produzam estes passos;Construir um espao de estados para encontrar uma sequncia de aes cuja aplicao resolve um problema;Recebe um problema e retorna uma soluo

  • Cap. 3 - Buscas sem informao (ou busca cega)Algoritmos que no recebem nenhuma informao sobre o problema alm de sua formulao. preciso definir

    problemasoluo

  • Formulao de um problemaUm agente com vrias opes imediatas pode decidir o que fazer examinando diferentes sequncias de aes possveis para depois escolher a melhor sequncia para executar.Formular -> buscar -> executar

  • Formulao de um problemaObjetivoEstado inicialFuno sucessor

    transio de estados (aes)espao de estadosTeste de objetivoCusto de caminho

  • Formulao de um problemaObjetivo:

    chegar algum lugar: Em(Zerind)Estado inicial: ponto de partida

    ex. partir de Arad: Em(Arad)

  • Funo transio (sucessor):

    prov um conjunto de aes possveis a partir de um determinado estadoSucessor(s) -> {, ... ,}ex. Dado um mapa da Romnia:Sucessor(Em(arad)) -> {, , }

  • O conjunto de todos os estado acessveis a partir de um estado inicial chamado:

    ESPAO DE ESTADOSO espao de estados pode ser interpretado como um grafo em que os ns so estados e os arcos so aes.

  • Uma sequncia de estados conectados por aes em um espao de estados chama-se:UM CAMINHO NO ESPAO DE ESTADOS

  • Exemplo da primeira aula (jarros)

  • Exemplo: viajar pela Romnia

  • Formulao de um problemaTeste de objetivo: determina se um dado estado gerado no processo de busca o estado objetivo;Funo custo: atribui um valor numrico para cada caminho

  • Abstrao

  • AbstraoAbstrao vlida: se qqr soluo abstrata pode ser expandida em uma soluo mais detalhada;Abstrao til: se a execuo de cada uma das aes na soluo mais fcil que o problema original.

    i.e., os passos da soluo abstrata no exigem (muito) planejamento adicional

  • Definio de soluoSoluo um caminho desde o estado inicial at o estado final;Soluo tima: tem o menor custo de caminho dentre todas as solues existentes.

  • Exemplos de problemasMiniproblemas (micro-worlds):

    descrio concisa e exatailustrar, exercitar ou comparar solucionadores de problemasProblemas no mundo real

    problemas com interesse no acadmico

  • Miniproblemas: aspirador de pEstados: duas posies para o agenteEstado inicial: qqrFuno sucessor: aes esq., dir., aspirarTeste: todos os quadrados limposCusto: cada passo=1

  • Miniprob.:quebra-cabeas 8 peasEstados: posio das 8 peas e do vazioEstado inicial: qqr estadoFuno sucessor: esq., dir., acima, abaixoTeste: verifica se o estado corrente o objetivoCusto:cada passo=1; caminho=num. d passos

  • Miniprob.:8 rainhas: formulao incrementalEstados: qqr disposio de rainhasEstado inicial: nenhuma rainhaF. sucessor: colocar 1 rainha em qqr vazioTeste: 8 rainhas no tab., nenhuma atacada64x63x...57 = 3x1014 seq. para investigar

    Quasi soluo

  • Miniprob.:8 rainhas: formulao de estados completosEstados: disposies de n rainhas, uma por coluna, sem que nenhuma rainha ataque outraFuno sucessor: adicionar uma rainha a qqr quadrado na coluna vazia mais esquerda, de tal modo que ela no seja atacada tamanho do espao de estados: 2.057

    Quasi soluo

  • Uma boa formulao do problema essencial!!

  • Problemas do mundo realProblema de roteamento

    encontrar a melhor rota de um ponto a outro (aplicaes: redes de computadores, planejamento militar, planejamento de viagens areas)Problemas de tour

    visitar cada ponto pelo menos uma vezCaixeiro viajante

    visitar cada cidade exatamente uma vezencontrar o caminho mais curto

  • Busca de soluesPercorrer o espao de estados a partir de uma rvore de busca; Expandir o estado atual aplicando a funo sucessor, gerando novos estados;Busca: seguir um caminho, deixando os outros para depois;A estratgia de busca determina qual caminho seguir.

  • Algumas definies

  • rvore de busca no equivalente espao de estados!H 20 estados no mapa da romnia (espao de estados), mas infinitos caminhos a percorrer. Portanto a rvore de busca, neste caso, tem tamanho infinito.

  • Medio de desempenho de um algoritmoCompleteza: sempre encontra uma soluo se esta existir;Otimizao: encontra a soluo timaComplexidade de tempo: tempo gasto para encontrar uma soluo;Complexidade de espao: memria necessria para encontrar uma soluo.

  • Anlise de algoritmos de buscaFator de ramificao: b (nmero mximo de sucessores de qualquer n);Profundidade do n objetivo menos profundo: d

    tempo: medido em termos do nmero de ns gerados durante a buscaespao: nmero mximo de ns armazenados.

  • Busca em extensoO n raiz expandido primeiro e, em seguida, todos os sucessores dele, depois todos os sucessores desses ns...I.e., todos os ns em uma dada profundidade so expandidos antes de todos os ns do nvel seguinte.

  • Busca em extenso em uma rvore binria

  • Busca em extenso: anliseCompleta: sempre encontra o objetivo que esteja em uma profundidade d (desde que b seja finito);tima??

  • Busca em extenso: anliseCompleta: sempre encontra o objetivo que esteja em uma profundidade d (desde que b seja finito);tima??

    O n objetivo mais raso no necessariamente o n timoser timo se o custo do caminho for uma funo no-decrescente da profundidade do n.

  • Busca em extenso: anliseComplexidade de tempo e espao:

    Espao de estados em que cada estado tem b sucessores (portanto, a uma profundidade n, bn estados so gerados).Supondo que a soluo esteja a uma profundidade d: b + b2 + ...+bd + (bd+1 - b) = O(bd+1)No pior caso a soluo est no ltimo n de d, portanto todos os irmo do objetivo tem seus filhos gerados (da vem o d+1);checa o n, sem checar se filhos (daqui o -b).

  • Busca em profundidadeExpande o n mais profundo na borda atual da rvore;No havendo mais sucessores, a busca retorna prxima profundidade acima que no foi explorada.

  • Busca em profundidade: anliseS precisa armazenar um nico caminho da raiz at um n folha, e os ns irmos no expandidos;Ns cujos descendentes j foram completamente explorados podem ser retirados da memria;Logo para ramificao b e profundidade mxima m, a complexidade espacial : O(bm)

  • Busca em profundidade: anlisePode fazer uma escolha errada e ter que percorrer um caminho muito longo (as vezes infinito), quando uma opo diferente levaria a uma soluo rapidamente (ex. n C na fig. anterior);Portanto, a busca em profundidade no completa e nem tima!Complexidade temporal: no pior caso, todos os ns so gerados, portanto:

    O(bm)

  • Busca em profundidade limitadaPara resolver o problema de busca em profundidade em rvores infinitas, um limite l restringe a busca. I.e., ns na profundidade l so tratados como se no tivessem sucessores.Resolve caminhos infinitos, porm adiciona mais incompleteza;

  • Busca em profundidade limitadaLimites de profundidade podem ser conhecidos a priori:

    ex. caminho mais longo no mapa da romnia tem l = 19, porm qqr cidade pode ser alcanada a partir de qqr outra em l = 9.Dois tipos de falhas terminais:

    falha: nenhuma soluo encontrada;corte: nenhuma soluo dentro de l;

  • Busca por aprofundamento iterativoCombina busca em profundidade com busca em extenso;Faz busca em profundidade aumentando gradualmente o limite de profundidade;Mtodo de busca preferido quando se tem espao de busca grande e profundidade no conhecida;

  • Como evitar estados repetidosUm processo de busca pode perder tempo expandindo ns j explorados antes;Estados repetidos podem levar a laos infinitos;Deteco de estados repetidos: comparar os ns prestes a serem expandidos com ns j visitados. Se o n j tiver sido visitado, ser descartado em vez de expandido.

  • um procedimento timo para buscas de custo uniforme, pois, nesse caso, a primeira vez que um estado aparecer ser sempre mais timo que a segunda.Pode excluir um caminho timo, caso contrrio...

  • ConclusoEmbora algoritmos de busca sejam o que h de mais antigo em IA, eles ainda ocupam uma posio fundamental nesta rea, havendo poucas abordagens em Inteligncia Artificial que no tenham alguma relao com algum tipo de busca em estados.LEIAM TODO O CAP. 3 DO RUSSELL & NORVIG!!

Recommended

View more >