Anda di halaman 1dari 18

Estruturas e Estratgias de Busca 1 2 Introduo ..................................................................... ................................................................................ ....................... 2 Algoritmos de busca no-informados ..................... ................................................................................ ............................. 3 2.

1 Nomenclatura ............................... ................................................................................ ................................................ 4 2.2 Busca em profundidade (de pth-first search) .............................................................. .................................................. 5 2.3 Busca em profundidade c om altura limitada (depth-limited search) ...................................... ..................................... 6 2.4 Busca em amplitude ou largura (bread th-first search) ............................................................... .................................. 7 2.5 Comparao das trs estratgias................ ................................................................................ ................................... 8 2.6 Exemplo de busca em rvore ............. ................................................................................ .......................................... 9 Algoritmos de busca informados .... ................................................................................ ................................................... 12 3.1 Busca de custo unifor me (uniform-cost search)........................................................ ................................................. 15 3.2 Exemplo de aplicao da bus ca de custo uniforme............................................................ ........................................ 16 3.3 Busca gulosa (greedy search).... ................................................................................ ................................................. 16 3.4 Exemplo de aplicao da bus ca gulosa ...................................................................... ................................................ 17 3.5 Busca A* ............... ................................................................................ ..................................................................... 19 3.6 Exe mplo de aplicao da busca A*....................................................... ..................................................................... 21 3.7 Def inio de heursticas admissveis ...................................................... ................................................................... 23 3.8 Relaes com branch-and-bound ........................................................... .................................................................... 23 Algoritm os de busca com decises estocsticas .............................................. .................................................................. 25 4.1 Simula ted Annealing................................................................... ............................................................................... 25 4.2 Busca Tabu............................................................... ................................................................................ .................. 28 Algoritmos de busca populacionais ........................ ................................................................................ ........................... 30 Algoritmos para busca local...................... ................................................................................ ......................................... 31 Referncias Bibliogrficas ............ ................................................................................ ..................................................... 31 3 4 5 6 7 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 1 Introduo a IA Clssica, voltada para processamento simblico, pode ser dividida em representao

do conhecimento e busca. em problemas de busca, o espao de busca e suas proprieda des topolgicas so definidos pela tcnica de representao do conhecimento (codificao da s luo). em espaos discretos, deve-se percorrer um grafo em busca de um n. em espaos co tnuos, deve-se percorrer o espao em busca de um ponto. em ambos os casos, a noo de v izinhana do n ou ponto atual de grande relevncia. existem buscas: no-informadas (usa m apenas informao de ordem 0) e informadas; populacionais ou no-populacionais; com decises determinsticas ou estocsticas; Tpico P2.4: Estruturas e estratgias de busca 2

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp com ou sem garantia de convergncia para a soluo tima (embora essa propriedade pode d epender do tipo de problema); com ou sem busca local. as buscas no-informadas so t ambm chamadas de busca cega; qualquer que seja a estratgia de busca, desejvel estru turar a busca de modo a evitar ciclos. Essa a motivao principal para a utilizao de rv ores de busca em espaos discretos. 2 Algoritmos de busca no-informados dentre as vrias estratgias para busca cega em rvore, ser dada nfase aqui a apenas alg umas delas. importante salientar que, embora o custo de cada uma seja distinto, todas as propostas aqui apresentadas se tornam computacionalmente intratveis quan do o nmero de folhas muito grande. Tpico P2.4: Estruturas e estratgias de busca 3 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 2.1 Nomenclatura Tpico P2.4: Estruturas e estratgias de busca 4

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp

tomando uma rvore n-ria (todos os pais, ou seja, todos os ns que no so folha, tm n fi hos) e equilibrada, com altura h, ento o nmero de caminhos possveis dado por n h . 2.2 Busca em profundidade (depth-first search)

este exemplo considera que a altura mxima da rvore trs. na priorizao dos ns-filho ilizada a estratgia left-first. Tpico P2.4: Estruturas e estratgias de busca 5 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp desvantagem 1: no garante encontrar a melhor soluo, considerando a melhor soluo como aquela que se encontra mais prxima da raiz, ou seja, que requer o menor nmero de o peraes para ser alcanada. desvantagem 2: no pode ser aplicada quando a rvore tem altu ra infinita. 2.3 Busca em profundidade com altura limitada (depth-limited search ) impe-se uma altura mxima para a busca (igual a trs, na figura acima), mesmo que a a ltura da rvore seja maior ou at ilimitada. Tpico P2.4: Estruturas e estratgias de busca 6

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp

a definio de altura mxima para a busca deve levar em conta a limitao de recursos de p rocessamento e memria, alm de requisitos do problema (deve haver uma chance no desp rezvel de encontrar a soluo). na priorizao dos ns-filhos, utilizada a estratgia le rst. 2.4 Busca em amplitude ou largura (breadth-first search)

na priorizao dos ns-filhos, utilizada a estratgia left-first. desvantagem: produz u aumento expressivo no uso de memria. Tpico P2.4: Estruturas e estratgias de busca 7 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp

um mtodo de fora bruta que garante encontrar a melhor soluo. 2.5 Comparao das trs tgias n: ordem do n; h: altura da rvore; hmax: altura mxima para a busca hsol: al a da soluo Critrio Profundidade Profundidade limitada Amplitude Tempo Memria nh nh n hmax n hsol +1 timo? No No Sim Completo? No No Sim n hmax n hsol +1 Tpico P2.4: Estruturas e estratgias de busca 8

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 2.6 Exemplo de busca em rvore quebra-cabea de 8 (Eight-puzzle): considere o proble ma de partir de uma configurao qualquer para os nmeros inteiros de 1 a 8 numa grade 3 3 e chegar configurao final: 1 8 7 6 2 3 4 5 inicialmente, necessrio definir uma representao em rvore para este problema, seguida da definio de uma forma eficiente de buscar a soluo percorrendo a rvore. considere a configurao inicial na forma: 2 1 7 Tpico P2.4: Estruturas e estratgias de busca 8 6 3 4 5 9 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp

a qual corresponde ao n-raiz da rvore. h trs movimentos possveis: mover o 6 para baix o; mover o 7 para a direita; mover o 5 para a esquerda. em outras palavras, a co nfigurao inicial tem trs configuraes sucessivas a ela; embora a seqncia de passos ac se mostre adequada ao raciocnio humano, para a formulao do processo de busca mais adequado pensar no movimento do quadrado vazio e no no movimento de um nmero de um quadrado ocupado para o quadrado vazio. neste caso, o quadrado vazio pode expre ssar no mximo 4 movimentos possveis (quando est no centro) e no mnimo 2 movimentos p ossveis (quando est nas bordas). com isso, a rvore de busca fica totalmente caracte rizada e um fragmento dela pode ser visualizado a seguir. Tpico P2.4: Estruturas e estratgias de busca 10

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 2 8 3 1 6 4 7 5 esquerda alto direita 2 8 3 1 6 4 7 5 esquerda 2 8 3 1 4 7 6 5 2 8 3 1 6 4 7 5 alto direita alto baixo direita esquerda alto . . . . . . rvore de busca para o quebra-cabea de 8 . . . Tpico P2.4: Estruturas e estratgias de busca 11 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp por ser uma rvore com raiz, cada n desta rvore de busca possui um nico pai e existe apenas um n-raiz, que corresponde configurao inicial.

3 Algoritmos de busca informados so tambm conhecidos como busca best-fit ou busca heurstica; as buscas informadas so parecidas com a busca em amplitude, com a exceo de que a busca no procede de forma uniforme a partir do n-raiz da rvore. De acordo com heursticas e/ou informaes especfic as do problema, possvel definir uma ordem de preferncia entre os caminhos possveis a partir do n-raiz. logo, recorrendo a um pouco mais de informao, possvel ser mais e ficiente. em outras palavras, o melhor caminho at a soluo obtido pela adoo de decis do tipo best-fit a cada passo. Para tanto, estimar o custo de se chegar a cada n (g(n)) e/ou o quo distante se est da soluo (h(n)) passam a ser de grande relevncia. Tpico P2.4: Estruturas e estratgias de busca 12

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp Tpico P2.4: Estruturas e estratgias de busca 13 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp assim, a deciso para que n seguir determinada: na busca de custo uniforme: pelo cu sto de se chegar quele n; ou na busca gulosa: pelo custo estimado de se alcanar a s oluo a partir do n corrente; ou na busca A: pela adio de ambos os custos. seguem defi nies mais completas para as mtricas envolvidas: g(n) (fator de altura): o custo do caminho de custo mnimo entre o n-raiz e o n n. h(n) (fator heurstico): o custo estim ado do caminho de custo mnimo entre o n n e o n-soluo, considerando todos os possveis ns-soluo e todos os possveis caminhos entre esses dois ns. f(n) = g(n) + h(n): o cust o do caminho de custo mnimo entre o n-raiz e um n-soluo, considerando todos os caminh os que passam pelo n n. Tpico P2.4: Estruturas e estratgias de busca 14

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp

note que f(n0) = h(n0) o custo estimado do caminho de custo mnimo entre o nraiz e um n-soluo. esses algoritmos de busca s so vlidos junto a problemas para os quais, co forme aumenta a altura da rvore, o custo da soluo vai aumentando monotonicamente, o u seja, o custo junto a cada aresta da rvore no-negativo. uma outra restrio mandatri para a validade das tcnicas que o nmero de filhos de cada n-pai da rvore de busca s eja finito. quando o fator heurstico h(n) nunca sobre-estima o caminho de custo mn imo real entre o n n e o n-soluo, hreal(n), ou seja, h(n) hreal(n), ento h(n) chamad de heurstica otimista ou heurstica admissvel e o algoritmo de busca denominado A*. 3.1 Busca de custo uniforme (uniform-cost search) leva em conta apenas o fator de altura g(n), escolhendo o n com o menor g a cada passo. Tpico P2.4: Estruturas e estratgias de busca 15 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 3.2 Exemplo de aplicao da busca de custo uniforme considere o problema de encontra r o menor caminho entre S e G num grafo. 3.3 Busca gulosa (greedy search) leva em conta apenas o fator heurstico h(n). Tpico P2.4: Estruturas e estratgias de busca 16

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 3.4 Exemplo de aplicao da busca gulosa considere novamente o problema de partir da configurao 2 1 7 8 6 3 4 5 para os nmeros inteiros de 1 a 8 numa grade 3 3 e chegar configurao final: 1 8 7 6 2 3 4 5 Tpico P2.4: Estruturas e estratgias de busca 17 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp Tpico P2.4: Estruturas e estratgias de busca 18

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp este exemplo mostra que a busca gulosa pode se perder em certas aplicaes, geralmen te porque no considera o quanto j se caminhou na rvore. 3.5 Busca A* como no caso d as duas tcnicas anteriores, esta tcnica requer que a estimao do custo restante no prx imo n no seja nunca maior que o custo restante do n anterior. Diferente das duas tcn icas anteriores, sob esta hiptese, sempre possvel encontrar a soluo tima com a busca A*. a busca A* degenera para a busca em amplitude quando a heurstica no aponta pre ferncia por nenhum caminho ao longo da busca. a busca A* completa, tima e eficient e (HART et al., 1968). no entanto, sua complexidade ainda exponencial e o seu us o de memria intenso. existem na literatura adaptaes da busca A* visando torn-la mais tratvel junto a classes especficas de problemas: Tpico P2.4: Estruturas e estratgias de busca 19 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp Iterative-Deepening A* (KORF, 1985) Simplified Memory Bound A* Tpico P2.4: Estruturas e estratgias de busca 20

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 3.6 Exemplo de aplicao da busca A* considere novamente o problema de partir da con figurao 2 1 7 8 6 3 4 5

para os nmeros inteiros de 1 a 8 numa grade 3 3 e chegar configurao final: 1 8 7 he ursticas admissveis [h(n)]: quantidade de nmeros fora de posio; somatria das distncias dos nmeros que esto em posio incorreta at a posio correta. Tpico P2.4: Estruturas e estratgias de busca 2 6 3 4 5 21 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp Tpico P2.4: Estruturas e estratgias de busca 22

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp

3.7 Definio de heursticas admissveis mesmo sem conhecer o custo real, muitas vezes p ossvel garantir que o custo estimado no o ultrapassa. Exemplos: quantidade de nmero s fora de posio no quebra-cabea de 8: para cada nmero fora de posio, necessrio ao me um movimento para colocar o nmero na posio correta; rota mnima entre duas cidades: qualquer caminho entre duas cidades maior ou igual ao comprimento da reta que un e as duas cidades. 3.8 Relaes com branch-and-bound a busca A* mais poderosa e efic iente que o algoritmo branch-and-bound, mas requer mais informao sobre o problema. a seguir, apresentado o princpio de operao do algoritmo branch-and-bound. Tpico P2.4: Estruturas e estratgias de busca 23 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp Tpico P2.4: Estruturas e estratgias de busca 24

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 4 Algoritmos de busca com decises estocsticas 4.1 Simulated Annealing o material desta seo est baseado em GOMES (2006), e aplicvel tanto para espaos de busca contnuos como discretos. o recozimento simulado (GOFFE et al., 1994) a meta-heurstica mais antiga e um dos primeiros algoritmos a adota r uma estratgia explcita para escapar de pontos de timo local. O mtodo inspirado no processo de aquecimento de metais e vidros, que assumem um estado de baixa energ ia quando resfriados de maneira lenta e gradual. a idia bsica contornar pontos de t imo local permitindo a realizao de movimentos que conduzam temporariamente a solues de pior qualidade que a atual. A probabilidade de se aceitarem movimentos que le vem a solues de pior qualidade decresce ao longo do processo de busca. Tpico P2.4: Estruturas e estratgias de busca 25 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp

o algoritmo inicia-se com a gerao de uma soluo inicial s, que pode ser obtida aleato riamente ou de acordo com alguma outra heurstica. Em seguida, inicializado um parm etro de temperatura T, o principal parmetro de controle do recozimento simulado. A cada iterao, uma soluo vizinha s tomada aleatoriamente do conjunto de solues vizin (s ) da soluo atual. a aceitao ou no da nova soluo s leva em considerao trs e usto da soluo corrente s, o custo da soluo s em anlise e o valor do parmetro T. cons rando um problema de minimizao, caso o valor da funo-objetivo da soluo em anlise seja enor que o valor da funo-objetivo da soluo atual, a soluo em anlise aceita. Caso con o, a soluo ser aceita com uma probabilidade P, geralmente calculada de acordo com a distribuio de Boltzmann: Tpico P2.4: Estruturas e estratgias de busca 26

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp f (s ) f (s) P ( s, s , T ) = exp T a seguir apresentado um pseudocdigo para o recozimento simulado:

Procedimento RecozimentoSimulado Gerar soluo inicial s Inicializar temperatura T E nquanto no atingir condio de parada faa Selecionar soluo aleatoriamente s de (s ) Se ( s ) < f ( s ) ento s s seno aceitar s com probabilidade P ( s, s , T ) Atualiz ar temperatura T Fim Enquanto Fim Procedimento Recozimento simulado Tpico P2.4: Estruturas e estratgias de busca 27 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 4.2 Busca Tabu o material desta seo est baseado em GOMES (2006), e aplicvel tanto pa ra espaos de busca contnuos como discretos. a busca tabu (GLOVER & LAGUNA, 2004) u ma meta-heurstica de escopo local provida da habilidade de contornar pontos de tim o local prematuros. Isso realizado via uma memria seletiva que reflete o histrico da busca, considerando solues obtidas no decorrer do processo de busca. Assim, res tries que delimitam o espao de busca so sistematicamente impostas de modo que certas solues se tornem proibidas ou tabu, no intuito de varrer regies ainda inexploradas do espao de solues. as origens da busca tabu datam de meados da dcada de 1960, mas sua verso atual foi formulada por Fred Glover em 1986. Desde ento, o mtodo vem send o aplicado com sucesso a uma ampla variedade de problemas combinatrios de alta co mplexidade (GLOVER & LAGUNA, 2004). Tpico P2.4: Estruturas e estratgias de busca 28

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp

a busca tabu trabalha com base em uma nica soluo. O mtodo de busca parte de uma soluo inicial, e a cada iterao a vizinhana da soluo corrente analisada. Na seqncia, uma no soluo selecionada do conjunto de vizinhos. Esse processo repetido at que um critrio de parada seja alcanado. A principal caracterstica desse mtodo que ele opera com o objetivo de transcender a otimalidade local, permitindo a degradao da soluo durante o processo de busca e at a ocorrncia temporria de solues infactveis. a busca tabu con erva um histrico do processo de busca com o objetivo de contornar pontos de timo l ocal. Durante a busca, certas solues (ou movimentos) so considerados proibidos ou t abu. Em geral, solues ou partes de solues recentemente visitadas ou freqentemente obt idas so classificadas como tabu. Existem variaes da busca tabu propondo melhorias, tais como estratgias de diversificao e memrias adaptativas. Tpico P2.4: Estruturas e estratgias de busca 29 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 5 Algoritmos de busca populacionais algoritmos evolutivos viso geral do espao de busca regio promissora regio no-promissora gerao atual regio no-promissora regio promissora escolha dos indivduos que iro se reproduzir e aqueles que iro ser substitudos prxima gerao Tpico P2.4: Estruturas e estratgias de busca 30

EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp 6 Algoritmos para busca local requer a definio de uma vizinhana; tipos de algoritmos de busca local em espaos disc retos: first improvement; best improvement; best improvement with limited resour ces. 7 Referncias Bibliogrficas HART, P., NILSSON, N. & RAPHAEL, B. A Formal Basis for the Heuristic Determinatio n of Minimum Cost Paths, IEEE Trans. Syst. Science and Cybernetics, vol. SSC-4, n o. 2, pp. 100-107, 1968. GOMES, L.C.T. Inteligncia Computacional na Sntese de Metaheursticas para Otimizao Combinatria e Multimodal, Tese de Doutorado, FEEC/Unicamp, 2 006. GLOVER, F.W. & LAGUNA, M. Tabu Search, Springer, 2004. Tpico P2.4: Estruturas e estratgias de busca 31 EA072 Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp LAWLER, E.L. & WOOD, D.E. Branch-and-Bound Methods: A Survey, Operations Research, vol. 14, no. 4, pp. 699-719, 1966. MITTEN, L.G. Branch-and-Bound Methods: Genera l Formulation and Properties, Operations Research, vol. 18, no. 1, pp. 24-34, 197 0. GOFFE, W.L., FERRIER, G.D. & ROGERS, J. Global optimization of statistical fun ctions with simulated annealing, Journal of Econometrics, vol. 60, pp. 65-99, 199 4. KORF, R. Depth-First Iterative Deepening: An Optimal Admissible Tree Search Al gorithm, Artificial Intelligence, vol. 27, pp. 97-109, 1985. NILSSON, N.J. Artific ial Intelligence: A New Synthesis, Morgan Kaufmann Publishers, 1998. PEARL, J. Heu ristics: Intelligent Search Strategies for Computer Problem Solving, Addison Wesl ey, 1984. RUSSEL, S. & NORVIG, P. Artificial Intelligence A Modern Approach, Prent ice Hall, 2003. WINSTON, P. Artificial Intelligence, 3rd edition, Addison Wesley, 1993. Tpico P2.4: Estruturas e estratgias de busca 32

Anda mungkin juga menyukai