Você está na página 1de 40
Eur 4 Busca com informacao e exploracdo Em que vemos como as informagées sobre o espaco de estados podem evitar que os algoritmos se percam na escuridaéo O Capitulo 5 mostrou que estratégias de busca sei informagées podem encontrar solug6es para problemas gerando sistematicamente novos estadosetestando-0s por comparago com o objetivo, Infelizmente, essas estrat€gies sdo ineficientes demais na maioria dos casos. Este capitulo mostra Como uma estratégia de busca com informagio ~ que utiliza o conhecimento espectfico do proble- ‘ma pode encontrar solugdes de modo mais eficiente. A Segio 4.1 descreve versdes com informa se dos algoritmos do Capitulo 3, ea Segio 4.2 explica como podem ser obtidas as informagGes es- Pecificas necessérias ao problema. As SegSes 4.3 e 4.4 estudam algoritmos que executam unica. ‘mente « busea focal no espaco de estados, avaliando ¢ modificando um ou mais estados correntes, em vez de explorar de forma sistemética caminhos a partir de um estado inicial. Esses algoritmos sto apropriados para problemas nos quais o custo do caminho € irrelevante, etudo o que importa é oprOprio estado solugto.A familia de algoritmos de busca local inchui métodosinspirados pela fis cacstatistica (tempera simulada) e pela biologia evoluciondria (algoritmos gensticos). Finalmen- te, a Segio 4.5 investiga a busca on-line, em que o agente se defronta com um espago de estados completamente desconhecido. 1 Estratégias de busca com informacao (heuristica) ] Esta sego mostra como ume estratégia de busca com informagio— uma estratégia que utiliza o ¢o- nthecimento espectfico do probleme, além da definigfo do préprio problema ~ pode encontrar solu. g6es de forma mais eficiente que uma estratégia sem informagao, usc cow IngoRugho Busca com informacto e exploracto 95, ‘ch PLA MELHOR ey (esr) Fungo oe aLgio ranglo vevetsnen Busta cLDSA PEAMELIOR SCOUHR sti en Un ETA A abordagem geral que examinaremos € chamada busca pela melhor escolha. A busca pela me- thor escotha é uma especializagio do algoritmo geral BUSCA-EM-ARVORE ou BUSCA-EM- GRAFO, no qual um né & selecionado para expansfo com base em uma funglo de avaliaglo fn), ‘Tradicionalmente, o né com a avaliagdo mais baixa 6 sclecionado para expanséo, porque a avaliagdo mede a distancia até o objetivo. A busca petaimethor escolla pode ser implementada dentro de nossa cestrutura getal de busca por meio de uma fila de prioridades, uma estrutura de dados que manteré a borda em ordem ascendente de valores de f. ‘Onome “busca pela melhor escolha” éconsagrado, mas inexato. Afinal, se pudéssemos realmente expandir o melhor né primeiro, isso nfo seria de modo dlgum uma busca; seria uma marcha direta para 0 objetivo, Tudo 0 que podemos fazer € escolher 0 n6 que parece ser o melhor de acordo com a fungio de avaliago. Se a fungo de avaliagéo for exatamente precisa, esse serd de fato o melhor n6; na realidade, a fungao de avaliagdo as vezes ser inacurada e poder4 levar a busca a se perder. Nao obstante, continuaremos a utilizar o nome “busca pela melhor escolha”, porque “busca pelo aparen- temente melhor “ é um nome um tanto complicado. [Existe utha familia inteira de algoritmos BUSCA-PELA-MELHOR-ESCOLHA com fungées de ava- liagdo diferentes. Um componente fundamental desses algoritmos & ‘uma fungio heuristica,? denotada por h(n): h(a) = custo estimado do caminho mais econémico do né n até um né objetivo Por exemplo, na Roniénia, poderfamos estimar o custo do caminho mais econdmico desde Arad até Bucareste pela distancia em linha reta de Arad a Bucareste. ‘As funges heuristicas séo a forma mais comum de aplicar conhecimento adicional do problema 0 algoritmo de busca. Estudaremos as heurfsticas com maior profundidade na Segio 4.2. Por en- quanto, vamos consideré-las fungSes arbitrérias espectficas do problema, com uma restrigéo: sen 6 ‘um né objetivo, entéo /(n) =0. O restante desta secio focaliza duas maneitas de usar informagées heuristicas para orientar a busca. Busca gulosa pela melhor escotha ‘Abusca galosa pela melhor escotha® tenta expandir 0 n6 mais préximo& mete, na suposigfio de que isso provavelmente levard a uma soluglo répida. Desse modo, ela avalia nés usando apenas a funglo hheuristica: fin) = h(n), ‘Vamos ver como isso funciona no caso de problemas de localizacio de rotas na Roménia, usandoa heuristica de distincia em linha reta, que chamaremos hpzx. Se 0 objetivo € Bucareste, precisare- ‘mos conhecer as distincias em linha reta até Bucareste, mostradas na Figura 4.1. Por exemplo, kyr Un(Arad)) = 366. Note que os valores de lip, g nfo podem set calculados a partir da prépria descri- io do problema, Além disso, é necesséria uma certa experiéncia para saber que hp esté relacions- da com distincias rodovidrias reais ¢ que, portanto, € uma heuristica dtl A Figura 4.2 mostra o progresso de uma busca gulosa pela melhor escolha usando pz x para en- contrar um caminho de Arad até Bucareste, O primeiron6a set expandidoa partir de Arad seré Sibiu, porque esté mais préximo de Bucareste que Zerind ou Timisoara, O préximo néa ser expandido serd Fagaras, porque é o mais préximo; Pot sua vez, Fagatas gera Bucareste, que & o objetivo. Para esse problema especifico, a busca gulosa pela melhor escolha usando ipzg encontra uma solugo sem ex- 1. Exerecio 4.3 lhe pede paca mostrar que essa familia incl vérios lgotitmos sem informagto fxniliares 2. Uma fungéo heurstica h(r) toma um n6 como entrada, mas depen apenas do estado nesse m6. 5. Nossa primeira edigo chamava ess busca de busca gulosa; outros autores chamavam busca pela melhor es- 96 _INTELIGENCIA ARTIFICIAL Pandir nenhum né que nao esteja no caminho da solugo; conseqiientemente, seu custo de busca é inimo, Porém, ela nfo é tina: o caminho até Bucareste passando por Sibiu e Fagaras 6 32 quil6. metros mais longo que o caminho por Rimnicu Vileea e Pitesti. Isso mostra por que o algoritmo é chamado “guloso” — em cada passo, ele tenta chegar 0 mais perto posstvel do objetivo. ‘Arad 386 Mehadia 2a ij Bucareste 0 Neamt 234, | Craiova 360 Oradea 380 Dobreta 22 Pitesti 100 forte 161 Rimnteu Vilcea 193 Fagares 176 Sibiu 253 Giurgiu 7 Timisoara 320 Hirsova 151 Urzicent 0 Iasi 226 Vastut 199 Luge 246 Zerind 374 Figura 4.4 Valores de hyye ~ distancias om tinha reta até Bucareste, (2) 0 estado inioal pcm (6) Depots da expansdo de Arad : Faure 42 Fsesdeuma busca qulasa pelamelvor esol para Bucarete,usando-s heuristic dedistni em nha retahyy Os 16s sto idetifiados por seus valores de h ausonae evrismg AOMISHEL, Busca com informacio e exploracdo 97 ‘Minimizar h(n) 6 uma ago suscetivel a falios inicios. Considere o problema de ir de Tasi até Faga- ras, A heutistica sugere que Neamt seja expandido primeiro, porque esté mais préximo de Fagaras, ‘mas cle 6 um beco sem safda, A solugio 6ir primeiro para Vaslui —uma etapa que na realidade é mais distante do objetivo de acordo com a heuristica—e depois continuar até Urziceni, Bucareste e Faga- ras. Entio, nesse caso, a heuristica provoce a expansio de nés desnecessétios. Além disso, se nfo ti- vermos 0 cuidado de detectar estados repetidos, a solugéo nunca serd encontrada ~a busca oscilard entre Neamt e Iasi ‘A busca gulosa pela melhor escotha é semefhante & busca em profundidade, pelo fato de preferit seguir um tinico caminho até o objetivo, mas voltaré ao encontrar um beco sem safda, Bla tem os mes~ ‘mos defeitos da busca em profundidade—ndo &6tima e¢ incompleta (porque pode entrar em um ca- ‘minho infinito e nunca retornar para experimentar outras possibilidades). A complexidade de tempo c espago do pior caso é O(b), onde m é a profundidade méxima do espago de busca. Porém, com ‘uma boa fungi heuristica, a complexidade pode ter uma redugdo substancial, A proporgéo da redu- go depende do problema especffico e da qualidade da heuristica, Busca A*: minimizando o custo total estimado da solucao ‘A forma mais amplamente conhecida da busca pela melhor escolha & chamada busca A’, Ela avalia rnés combinando g(r), 0 custo parg alcancar cada n6, e h(n), 0 custo pata ir do né até o objetivo: Ain) = gin) + h(n) ‘Tendo em vista que g(n) fornece o custo de caminho desde o né inicial até ond n, eque h(n) 60 custo estimado do caminho de custo mais baixo desde n até o objetivo, tem f(t) = custo estimado da solugfo de custo mais baixo passando por n Desse modo, se estivermos tentando encontrar a solugio de custo mais baixo, uma op¢fio razodvel serd experimentar primeiro o n6é com o menor valor de g(n) + h(t). Na yerdade, essa estratégia é mais que apenas razodvel: desde que a fungao heuristica h(n) satisfaga a certas condig6es, a busca A* seré 20 mesmo tempo completa e étima ‘Aanélise do caréter étimo de A* é direta se for usada com BUSCA-EM-ARVORE. Nesse caso, A* serd 6tima se h(n) for uma heuristica admisstvel - isto é, desde que h(n) nunca superestime o custo para alcangar 0 objetivo. Heuristicas admissfveis so otimistas por natureza, pois imaginam que o custo da resolugio do problema seja menor do que ele éna realidade. Tendo em vista que g(m) é custo exato para se alcangar n, temos como conseqiiéncia imediata que f(/2) nunca ird superestimar © custo verdadeiro de uma solugio pasando por 1. Z ‘Um exemplo ébvio de heurfstica admissivel &a distancia em linha reta hp g que usamos para che gara Bucareste. A distancia em linha reta é admissivel porque o caminho mais curto entre dois pontos quaisquer 6 uma linha reta, e assim a linha reta nfo pode ser uma superestimativa, Na Figura 4.3, mostramos o progresso de uma busca de drvore A* para Bucareste. Os valores de g séo calculados a partir dos custos dos passos da Figura 3,2, e0s valores de hip, gsfio dados na Figura 4.1. Em particu- lar, note que Bucareste aparece primeiro na borda do passo (e), mas nio esté selecionada para expan- sio, porque seu custo de f (450) € mais alto que o de Pitesti (417). Outra forma de dizer isso é afir- ‘mac que talvez haja uma solugdo passando por Pitesti, cujo custo € apenas 417, e assim o algoritmo rio adiitiré uma solugo que custe 450, Desse exemplo, podemos extrair uma prova geral de queA* usando BUSCA-EM-ARVORE é étima se h(n) €admissivel. Suponha que um né objetivo ndo-6timo Gy aparega na borda, e seja C* 0 custo da solugéo étima. Entio, como G2 nko ¢ étimo e h(G2) = 0 (verdadeiro para qualquer n6 objetivo), sabemos que: 98 INTELIGENCTA ARTIFICIAL IGz) = g(G2) + WG) = G(G,) > Cr. Agora, considere um né de borda n que esté em um caminho de soluglo étimo—por exemplo, Pi {estino parfgrafo anterior. (Sempre deve haver tal n6 se existe uma solugGo,) Se (1) nfo supere ‘mar 0 custo de completar 0 caminho de solugao, ent sabemos que: fr) = gl) + hin) sc, (4) Ocestado inet D> iste (©) Depote da expeneto de Arad st aoe tantieae (©) Depoie da expansto de Sibiu +203 452018 CIaaiTase see (@) Depots da expansio de Rimnieu Vilcea Soes06+ 80 479917 +900 aS (6) Depots da expaneso de Fagaras Prssre AH6Ai0 eeRbe HO SHH Figura 4.3 Estgios am uma busce A* por Sucaeste, Os nbs esto rotulados f= g +h Os valores de sf distancasem linha eta para Bucereste tiradas da Figura 4.1. covsssrENck woxorowes owe DestGULDADE De RMNGHLOS coarowvos Busca com informagio e explorago 99 Agora, mostramos que fi) $ C* C*—por exemplo, Timisoara néo €expandidona Figura 4.3, embora seja filho de raiz. Dizemos que a subérvore abaixo de Timisoara foi podada; Como hp, g é admissfvel, o algoritmo pode ignorat com seguranga essa subérvore, embora ainda wa Tanta o caréter Stimo. O conceito de pada — deixar de considerat ‘certas possibilidades sem ter de exa- miné-las ~ 6 importante para muitas éreas da IA. Uma observagao final é que, entre algoritmos étimos desse tipo — algoritmos que estendem os ca- tminhos de busca a partir da raiz—, A* € otimamente eficiente para qualquer fungio heutistca dada, Isto & nenhum outro algoritmo étimo tem a ‘garantia de expandir um ndmero de nés menor que At (exceto talvez pelo rompimento de ligagées entre nés com fn) = C*), Isso ocorre porque qualquer algoritmo que no expande todos os nés com, fit) < C* corre o risco de omitir a solugéio 6tima, O fato de abusca A” ser complete, étima otimementeeficiente entre todos esses algoritmos € bastante interessante. Infelizmente, isso nio significa que A* seja.a resposta para todas as nossas necessidades de busca. Na verdade, para a maioria dos problemas, o ndmero de nés dentro doe: ‘ago de busca do contormo de meta ainda &exponencial em relagGo a0 comprimento da soluga 4-Acompletezaexige que #6 exista um nGmero finite denés com custo menor ou igual a C*, ume condigéoverda- deira se todos os custos de passos excederem algum «finitoe seb for fnito, 1 ioc Busca com informago e exploracéo 104 sok EcuRVA ELO ELHOR Embora a prova do resultado esteja além do escopo deste livro, démonstrou-se que ocrescimento exponencial ocorrerd, a menos que o erto na func heutfstica nao cresca com maior rapidez.que © logaritmo do custo de caminho real. Em notagio matemética, a condigfo para crescimento su- bexponencial é: [h(n ~ k(n) | < Oflog Ha), onde t*(n) € o custo verdadeiro pata ir den até o objetivo, Para quase todas as heuristices em uso na prética, o erro é pelo menos proporcional ao custo do caminho, e o crescimento exponencial resul- tante no final ird sobrecarregar qualquer computador. Por essa tazio, com freqiitncia é impraticével insistir em descobrir uma solugdo étima. E possivel usar variantes de A* que encontrem rapidamente solugSes ndio-6timas ou, ds vezes, projetar heuristicas mais precisas, embora nao estritamente admis- siveis. Em todo caso, o uso de uma boa heuristica ainda proporciona enorme economia em compara so com o uso de uma busca sem informagéo, Na Segéo 4,2, examinaremos a questo de projetar boas hetristicas. Entretanto, 0 tempo de computago no € principal desvantagem de A. Pelo fato de manter todos ‘08 n6s gerados na meméria (como fazem todos os algoritmos BUSCA-EM-GRAFO), em geralA* es- gota oespago bemantes de esgotar o tempo. Por essa razdo, A* no & prético para muitos problemas de grande escala, Aigoritmos desenvolvidos recentemente superaram o problema do espago sem sactificar © carter 6timo ou a completeza, a um custo pequend no tempo de execugio. Esses algoritmos serio discutidos em seguida. Busca heuristica limitada pela meméria ‘O caminho mais simples para reduzir requisitos de meméria de A* é adaptar a idéia de aprofunda- mento iterativo ao contexto de busca heurfstica, resultando no algoritmo A* de aprofundamento iterativo (AIA*).* Aprincipal diferenga entre AIA*e o aprofundamento iterativo padvio é que ocor- teusadoé ocustode f (g + h) em vez da profundidade; a cada iterag&o, o valor de corte € 0 menor custo de fde qualquer né que tenha excedido 0 corte na iteragao anterior. AIA" 6 prético para mui- tos problemas com custo de passo unitério e evita a sobrecarga substancial associada a manutengao de uma fila ordenada de nés. Infelizmente, ele apresenta as mesmas dificuldades com os custos de valor real que encontramos na versio iterativa da busca de custo uniforme descrita no Exerefcio 3.11. Esta seco examinard brevemente dois algoritmos mais recentes limitados pela meméria, chamados BRPM e LMA‘. Abusca recursiva pelo melhor (BRPM) é um algoritmo recursivo simples que tenta imitar a ope- . ragio da busca pela melhor escolha-padrio, mas utiliza apenas espago linear. O algoritmo é mostra~ dona Figura 4.5, Sua estrutura € semelhante de uma busca recursiva em profundidade; porém, em yezde continuar a descer indefinidamente pelo caminho atual, ela controla o valor de fdo melhor ca- minho alternativo disponfvel a partir de qualquer ancestral do né atual. Se 0 né atual exceder esse li- mite, a recurséo retornat4 ao caminho alternativo. A medida que a recurso se desenrola, BRPM re- 1&0 valor def de cada n6 ao longo do caminho com o melhor valor de fde seus filhos. Desse modo, BRPM guarda na meméria o valor de fda methor fothana subérvore esquecida e pode portanto deci- dir se vale a pena voltar a expandir a subérvore em algum momento posterior. A Figura 4.6 mostra como BRPM alcanga Bucareste. *Nota do revisor téenico: IDA" — iteratve-deepening A*. 102 INTELIGENCIA ARTIFICIAL fungéa BUSCA-RECURSIVA-PELO-MELHOR (probleme) retorna uma solucdo ou falh 'BRPM (problema, CRIAR-NO(ESTADO-INICIAL{problema]), 2) fungi BRPM (problema, nd, fLimite)retorna uma solucdo ou falha e um novo limite de custo de f Se TESTAR-OBJETIVO[problema}(estodo) entlo retomar nd _sucessores «~ EXPANDIR(Né, problema) ‘se sucessores esté vazio entdo retornar fatho, «0 para cada s em sucessores face f15] max(ats) + A(5), fn) repita ‘melhor «0 n6 de mats baixo valor de fem sucessores se flmethor] > f limite onto retornar fatho, flmelhor] altemativo < e sequndo mais batxo valor de f entre sucessores resultado, flmethor] < BRPM(problema, melhor, min(f limite, aterativa)) ‘Se resultado = fotha entSo retornar resultado Figura 4.8 0 algoritmo para busca recursiva pelo nether. BRPM € um pouco mais eficiente que AIA*, mas ainda sofre de excessiva geragio repetida de nés, No exemplo da Figura 4.6, primeiro BRPM segue o caminho via Rimnicu Vilea, depois © tenta Fagaras, ¢ entdo volta a mudar de idéia, Essas mudangas de idéia ocorrem Porque, toda vez que o melhor caminho atual 6estendido, hé uma boa chance de que seu valor def aumente— item geral é menos otimista para nés mais préximos a meta, Quuando isso acontece, em Particular em grandes espagos de busea, o segundo melhor caminho pode se tomar omelhor cami. : nho, ¢ assim a busca tem de regressar para segui-lo. Cada mudanga de idéia corresponde a uma ite- i tagio de ATA*, e pode exigir muitas reexpansées de nds esquecidos, aim de recriar o melhor cami. ho ¢ estendé-1o a mais um n6. | Como", BRPM é um algoritmo 6timo se a fungio heuristica h(n) 6 admisstvel, ‘Sua complexida- i de de espago é 0 (bd), mas sua complesidade de tempo € bastante dificil de caracterizar: cla depende ' {anto da exatido da fungio heuristica quanto da freqiiéncia com que o melhor caminho muda a me. j dlida que os nés sio expandidos. Tanto AIA quanto BRPM estio sujeitos ao eumento potencialmente exponencial de complexidade associado A busca em grafos (veja a Seglo 5.5), porque nfo podem ve- rificar a presenga de estados repetids além dos que esto no caminho atual. Desse modo, talvez eles tenham de explorar o mesmo estado muitas vezes, | AIA" ¢ BRPM softem por utilizar muito pouca mem6tia, Entre iteragbes, AIA*retém apenes um ‘nico nimero: olimite de custo de fatual. BRPM retém mais informacGes nameméri, mas s6 utiliza i 8 quantidede de mem6ria correspondente a O(bd): mesmo que houvesse mais meméria dispontrel, 1 BRPM nio teria como utilizé-la, | Portanto, parece sensato usar toda a mem6ria disponfvel. Dois alybtitmos que fazem isso so 1 um LMA® (A*limitado pela men:6ria) eLMSA* (LMA* simpliicedo), Descreveremoso LMSA", que 6 | asi igamos ~-mais simples. © LMSA® prossegue exatamente como A*, expandindo a melhor. folha até completar a meméria. Nesse ponto, ele néo poderé adicionar um novo né a vore de busca sem des- | cartar um n6 antigo. O LMSA* sempre descarta opiorné de folha - on com o mais alto valor def Como BRPM, LMSA* copia entdo o valor do né esquecido em seu pai. Desse modo, o ancestral de | lumia subirvore esquecida conhece a qualidade do melhor caminho nessa subérvore. Com escas infor. ‘magbes, 0 LMSA 56 regeneraa subirvore quando tados os ouiros caminkos se mostram piores que 0 ‘camino esquecido. Outro modo dedizer isso éafirmar que, se todos os descendentes de um nbn fo. rem esquecidos, ndo saberemos que caminho seguir a partir de n, mas ainda teremos uma idéia do quanto vale a pena ir para qualquer lugar a partir den, Busca com informagio e exploracio 103 (2) Dopols da expansti de Arad, Sibiu ‘#Rimnlou Vileoa. (b)Depois da voltae Sibiu e dda expansio de Fayeras {€) Depois de alternar para RmnicuVilcea ‘eda expanséo de Pltest! Figura 4.6 Fases em uma busca de BRPM pare dscobrira rota mas cuta até Bucareste. 0 valor do limite de fpara cada chamadare- cursva & mostrado sobre cada n6atual. (2) 0 caminho via Rmnicu Vilea &seguido até a melhor flha atua (Pitesti) ter um valor pior ue omelhorcaminho alternativo (Fagaras).(b) A recurso retorna eo velar da melhor fotha da subérvoreesquecida (617) &co- a piado em Rimnicu Vilcea; em seguida,Fagaas 6 expandido,revelando um valrdefolha melhor, 480. (cA Tecuséo retorna eo me- P thor valor de fotha da subérvore esquecida (450) € coplado em Fagaras; depots, RmnicuVlcea &expandido. Dessavez, como omelhor caminho altematvo (passando por Timisoara) custa pelo menas 447, a expansio continua até Bucareste, Oalgoritmo completo 6 muito complicado para ser reproduzir aqui’ mas existe uma sutileza que vale a pena mencionar, Dissemos que 0 LMSA* expande a melhor folha e elimina pior folha. E seto- dos 08 n6s de folhas tiverem o mesmo valor de f? O algoritmo poderia entio selecionar o mesmo nd pata eliminagio e expansdo, O LMSA" resolve esse problema expandindo a melhor folha mais nova e eliminando a pior fotha mais antiga. Essas duas folhas $6 podetao representar o mesmo n6 se houver apenas uma folha; nesse caso, arvore de busca atual deve ser um caminho tinicodesde araizaté afo- tha que preenche toda a meméria, Se a folha nfo for um né objetivo, mesmto que ela esteja em um ca- minho de solugdo Stima, essa solugio nfo serd alcanghvel coma meméria dispontvel. Assim, on6 po- derd ser descartado exatamente como se nfo tivesse nenhum sucessor. OLMSA* serd completo se existir qualquer solugfo alcangével—isto é, sed, aprofundidade doné objetivo mais raso, for menor que.o tamanho da mem6ria (expresso em niimero de nés). Ele sera 6ti- 5. Um esbogo rudimentar foi apresentado na primeira edigio deste livro, 104 INTELIGENCIA ARTIFICIAL Tasting & sPAp00E METKESHOOs esmigo ge si00s OE Nhe oBiTo et. Amano 4.2 Funcées heuristicas inp se aualquer solugio 6tima for alcangével; caso gontrérioyelorctornard melhor solugao alcanga- vel Em termos prétcos, o LMSA* poderia bem ser o melhor algoritino dé uso geral para encontrar ‘clugdes timas, particlaemente quando espaco deestades fore Brafo, os custos dos passos no {orem uniformes e a geragio de nés for dlapendiosa em ‘comparago com a sobrecarga adicional de manter as listas abertas e fechadas, No entanto, em problemas muito difice Apresentamos virias estratépias fxas busca em extensZo, bisca ulosa pela melhor escolha cassimn or diante— que foram projetadas por cientistas da Computagio, Um agente poderia aprender como fazer uma busca melhor? A respostaé sim, € ‘omiétédo se baseia em tim importante ‘conceito chamado ‘sbago de mete-estados, Cada estado em um espago dé meta-ectedos captura o'estado interno (com- utacional) de um programa que estd fazendo bisca em unt espago de estados de tivel objeto como 4 Roménia, Por exemplo, o estado interno do'algoritmo Ae consiste na Sivore dé busca atual. Cada ‘cio no espago de meta-estados é um Passo de computagio que altera o éstad ode, a Figura 4.5, que mostra uma seqiencla de érvores de buses cada vex maiores, pode set vista cme ZebresettagBo de un caminho no espago de meta-cstados, onde ‘cada estado no caminho 6 lumia drvore de busca de nivel de objeto, : ‘Agora, o caminho na Figura 4.5 tem cinco passes, inclundo um asso ~a expanséo de Fagaras— due nko €especiatmente Gti, Para problemas mais dificei, haveed ‘muitos desses passos equivocados, «xllas no Capftulo 21, © objetivo da aprendizagem & minimisar a ‘custo fotal da resolingGo de proble- ‘mas, equlibrando.0 gasto compatacional e custo do caminho, Nesta se¢G0, estudaremos as heuristicas pata o duebra-cabeca de 8 pegas, di fim de elucidar a nature- a das heuristicas‘em geral, © quebra-cabega de 8 pegas foi um dos nas antigo problemas debusca heuristica. Como mencio- cal nt Sesto 3.2, 0 objetivo do quebra-cabega édesiat os bloves ne sentido hotizontal ou vert Cal Para o espago vaio, até a configuragfo coincdir com # configuracao objetivo (Figura 4.7), Ocusto da solugio média para uma instincia, do quebra-cabeca de B pecas getada a0 acaso é cerca de 22 passos. O fator de ramificagao é aproxiinadamente igual 83. (Quando o espago vazio esté no melo, hé quatro movimentos possfeis; quando ele esd era van Canto, sd0 posstveis dois movimentos ©, quando ele est em uma borda, hé trés ‘movimentos.) Isso significa que uma busca exaustivaparaa Busca com informacdo e exploracko . 105 Estado objeto Figura 4.7. Uma instincia tipica do quebra-cabeca de 8 pecas. A solugo tem 26 passos, profurndidade 22 examinaria cerca de 32? ~ 3,1 x 1010 estados, Controlando os estados repetides, poderiathos reduzir esse valor aproximadamente 170.000 vezes, porque existem apenas 91/2. = 181.440 estados distintos acessiveis. (Veja o Exercicio 3.4.) Esse é um ndimero gerenciével, mas itimeto correspondente para o quebra-cabega de 15 pegas 6 préximo de 10'5, e assim é necessétio encontrat uma boa fung&o heuristica. Se quisermos descobrir as solugSes mais curtas usando A*, precisaremos de uma fungéo heurfstica que nunca superestime o niimero de passos até o objetivo. Existe uma longa histéria de tais heuristicas para o quebra-cabeca de 15 pegas; aqui estiio duas ca datas comumente utilizadas: imams # hy = 0 nimero de blocos em posigdes erradas, Paraa Figura 47, todos os oitoblocos estio fora de posigio, ¢ assim o estado inital teria hy = 8. € uma heusistica admissivel, porque é claro que qualquer bloco que esteja fora do lugar deve ser movido pelo menos ima vez, ‘© fig = Asoma das distincias dos blocos de suas posig&es objetivo, Como os blocos néo podem se mover em diagonal, a distancia que levaremos em conta é a soma das distancias horizontal e vstvca vertical, As vezes, essa soma é chamada distineia de quadras urbanas ou distincia Mankat- — tan, hig também é admissfvel, porque o resultado de qualquer movimento é deslocar um bloco ara uma posigo mais préxima do objetivo. Os blocos de 1 a 8 no estado inicial fornecem uma distneia Manhattan igual a: hye S4142H24 24545 42=18 ‘Como seria de esperar, nenhum desses valores superestima o custo da solugio verdadeira, que € 26. 0 efeito da exatidao da heuristica sobre o desempenho raoeoe ‘Uma maneira de caracterizar a qualidade de uma heuristica € 0 fator de ramifiengio efetiva, 5*. Seo RWIFCACO—Gmero total dends gerados por A* para um determinado problema é/N, ee profundidade da solu- fo 64, entdo b* €0 fator de ramificago que uma érvore uniforme de profundidade d precisaria ter para conter N + 1 nds, Desse modo: Na tateots b+... 4 OF Por exemplo, se A* encontrar uma solugo na profundidade’s usando 52:nés, 0 fator de ramifica- ‘glo efetiva seré 1,92. 0 fator de ramificagio efetiva pode variar em diversas instfincias do problema ‘mas, em geral, ele é relativamente constante para problemas suficientemente diffceis. Portanto, me~ didas experimentais de b* em um pequeno conjunto de problemas podem fornecer uma boa orienta~ ‘do sobre a utilidade geral da heuristica, Uma heurfstica bem projetada teria um valor de b* préximo de 1, permitindo a resolugdo de problemas bastante extensos. ay 106 _INTELIGENCTA ARTIFICIAL Para testar as fungSes heuristicas hy itz, geramos 1.200 problemas aleatérios com tamanhos de solugGes variando de 2.a 24 (100 para cada nmeto per) ¢ resolvemos esses problemas com a busca Pot aprofundamento iterativoe a busca em érvore A utilizando hy efi. A Figura 4.8 fornece ontime- romédio de nés expandidos por cada estratégia eo fator de ramificaglo efetivo. Os resultados suge- Tem quel, émelhor que hy e muito melhor que a busca por aprofundamentoiterativo, Em nossas so. lugdes com o compritmento 14, A* com fz € 30.000 vezes mais eficiente que « busca por aprofunda. ‘mento iterativo sem informagéo, eee Renny Athy) Lo) My Exc At (b2) 2 10 6 6 245 1,79 179 a2 B 2 287 148 145, 680 2 8 273 1,34 1,30 8 6384 39 Ea 280 133 41,24 10 * anar 98 39 279 138 12 1 3664035, zr B 278 142, 1,26 “ - 539 13 - 1466 423 16 - 3301 a - 145, 125 8 - 3056 363 - eae 1,26 20 - 7216 616 - 37 427 Fz - 18094 sats - 148 128 4 7 39135 1661 : 148 1.26 Figura 4.8 Comparacio entre os custos da busce « entre os fatores de ramiticagdo efetiva para os algoritmos BUSCA OR-APROFUDAMENTO-ITERATIVO eA” com hy A Amba dos dado calcula sabre 10 nstincas do quebra-cabeca ce 8 pe. 685, para diveros comprimentos de solucdo, Poderiamos perguntar se 6 sempre melhor que ht. A resposta 6 sim. £ fécilverificar a partir das dlefinigdes das duas heursticas qu, para qualquer n6 1, h(n) > hy ()- Desse modo, dizemos que aque- foundvek le fig domina fy. A domingncia se traduz direamente em eficiéncia: A* usando hy nunca expandird mais n6s que A* usando hy (excetotalvez por alguns nés com fn) = C*). Oargumento simples, Lem bre-se da observagio da pagina 97 de que todon6 comin) < C* seguramente serf expandido, Isso 6.0 ‘eesmo que dizer que todo né com h(n) < C*—g(r) sem dévida sera expandido, Porém, como hy 6 polo etios tho grande quanto h, para todos os ns, todo né seguramente expancio pela busca a com hy também seré seguramente expandido com, eentio também podria fizer outros nés serem expan didos. Conseqtientemente, sempre é melhor usar uma fungSo heut(tica com valores mais altos, desde ‘uecla nfo superestime ocustoe que o tempode computago para a heurstca no sejamuito grande. Criagdo de funcées heuristicas admissiveis Vimos que tanto ity (blocos mal poticionados) quanto H (disténcia Manhattan) so heuristicas bas. tante bons para o quebra-cabega de 8 pegas,eque ly é melhor. Como alguém péde chegaracriat ij? ‘Um computador pode criar tal heuristica ‘mecanicamente? ‘hy eh sfoestimativas do comprimento de caminho restante parao quebra-cabega de 8 Pegas, mas tamnbémm sio comprimentos de camino perfeitemente precisos para verses smplificadas do que- bra-cabega, Seas regras do quebra-cabega fossem alteradas do forma que um bloco pudesse se deslo, Busca com informacéo e exploragto 107 car para qualquer lugar, e nfo apenas para o quadrado vazio adjacente, entio hy daria ontimero exa- to de passos da solugo mais curta. De modo semelhante, se um bloco pudesse se mover um quadra- doem qualquer dirego, mesmo sobre um quadrado ocupado, entio a forneceria o mimero exato de roti —_passos na solugo mais curta, Um problema com menos restrigGes sobre as agGes ¢ chamado proble- REANO ma relaxado. O custo de uma solugdo dtima para um problema relaxado é uma heuristica admissivel & para o problema original. A heuristica 6 admissivel porque a solugo étima no problema original tam- ‘bém &, por definigdo, uma sclugéo no problema relaxado e, portanto, tem de ser pelo menos tao dis- ‘pendiosa quanto a solugéo étima no problema relaxado. Como a heuristica derivada € um custo exato ‘parao problema relaxado, ela deve obedecer & desigualdade de trifngulos e, assim, deve ser consis- tente (veja a pagina 101). Se uma definigdo de problema for enunciada em uma linguagem formal, seré possivel construir ‘automaticamente problemas relaxados.© Por exemplo, se as agdes do quebra-cabega de 8 pegas fo- rem descritas como: 4 i & Um blgco pode se mover do quadrado A para o quadrado B se & ‘A 6 horizontal ou verticalmente adjacente a B ¢ B 6 vazio 4 Podemos gerar trés problemas relaxados removendo uma ou ambas as condig6es: g (@ Um bloco pode se mover do quadrado A pata o quadrado B se A é adjacente a B. = (6) Um bloco pode se mover do quadrado A pata o quadrado B se B estd vazio, : % (©) Um bloco pode se mover do quadrado A para o quadrado B, Apartirde (@), podemos derivar hy (distfincia Manhattan). © racioefnio é que/t seria a pontuagio adequada se movéssemos um bloco por vez até seu destino. A heuristica derivada de (b) é discutida no Exercicio 4.9. A partir de (€), podemos derivar h (blocos mal posicionados), porque esse valor seria a pontuagdo adequada se os blocos pudessem se mover até o destino pretendido em um éinico passo. Note que € crucial que os problemas relaxados gerados por essa técnica possam ser resolvidos essencialmente sem busca, porque as regras relaxadas permitem que o problema seja decomposto em cito subproblemas independentes. Se o problema relaxado for dificil de resolver, serd dispendioso obter os valores da heurfstica correspondente,” ‘Um programa chamado ABSOLVER pode gerar heuristicas automaticamente a partir de defini- Ges de problemas, usando 0 método de “problema relaxado” ¢ varias outras técnicas (Prieditis, 1993). O ABSOLVER gerou uma nova heutistica para o quebra-cabega de 8 pegas melhor que qual- ‘quer heuristica preexistente ¢ descobriu a primeira heurfstica dtil para o famoso quebra-cabega do ccubo de Rubik. ‘Um problema com a geragéo de novas fungSes heuristicas 6 que freqiientemente nio se consegue ob- ter uma heuristica “claramente melhor", Se uma colegfo de heuristicas admissiveis hy... ty, estiverdispo- nivel para um problema e nenhuma delas dominar qualquer das outras, qual devemos escolher? Na ver- dade, nio precisamos fazer nenhuma escolha. Podemos ter o melhor de todos os mundos, definindo: fn) = méxtiy (2), «5 yD). 6, Nos Capftulos 8c 11, desreveremoslinguagens formals apropradas para essa tarefa; com descrigfes formas {que podem ser manipuladas, a construgdo de problemas relaxados pode ser automatizada, No momento, usare- mos 0 idioma natural. 7. Observe que umna heurfstica perfita pode ser obtida simplesmente permitindo-se que execute uma busca com- pleta em extensio “As escondidas”. Desse modo, existe uma relagGo inversamente proporcional entre exatidlo ¢ tempo de computagéo para fungSes heurfsticas. oo 108 _INTELIGENCTA ARTIFICIAL susrronunk suncos oe apos oF PaDRDES cos Dé Dibos bE ORDES DiswTos Essa heuristica composta utilizaré a fungio que for mais exata sobre o né em questo, Como is houristicas componentes so admissiveis, h & admissfvel; também é fécil provar que h é consistente, Além disso, f domina todas as suas heuristicas componentes. Heuristicas admissiveis também podem ser derivadas do custo da solugéo de um subproblema de ‘um problema especifico. Por exemplo, a Figura 4.9 mostra am subproblema da instncia do que- bra-cabecade 8 peas da Figura 4.7, Osubproblemaenvolve colocar os blocos 1, 2, 3, 4em suas posi- ges corretas. f claro que o custo da solugdo étima desse subproblema é umn limite inferior sobre o ‘custo do problema completo, Na verdade, ela & substancialmente mais precisa que a distincia Ma- nhattan em alguns casos. Aidéia que rege os bancos de dados de padrées 6 armazenar esses custos de solugées exatas para toda instncia possfvel de subproblema — em nosso exemplo, toda configuragao possivel dos quatro blocos e do espago vazio, (Note que as posigdes dos outros quatro blocos sfo irrelovantes para os pro= psitos de resolugéo do subproblema, mas movimentos desses blocos sio importantes para o custo.) Portanto, calculamos uma heurfstica admissivel jg pera cada estado completo encontrado durante ‘umg busca, simplesmente examinando a configurac&o de subproblema correspondente no banco de dados. O prépric banco de dados 6 construfdo por meio de uma busca inversa a partir do estado obje- tivo, registrando-se o custo de cada novo padrdo encontrado; 0 custo dessa busca 6 amortizado ao Jongo das virias instancias subseqiientes do problema. Aescolha de 1-2-3-4 € arbitréria; também poderfamos construir bancos de dados para 5-6-7-8,¢ para2-4-6-8 cassim por diante, Cada banco de dados gera uma heuristica admissfvel, eessas heuris- ticas podem ser combinadas, conforme explicamos antes, tomando-se 0 valor méximo. Uma heurts- tica combinada desse tipo & muito mais precisa que a distncia Manhattan; o némero de nés gerados quando se resolvem quebra-cabegas de 15 pecas ao acaso pode ser reduzido até 1.000 vezes. Poderfamos perguntat seas heuristicas obtidas a partir do banco de dados 1-2-3-4 e do banico de dados 5-6-7-8 poderiam ser somadas, considerando-se que os dois subproblemas parecem néo se sobrepor. Isso ainda daria uma heurfstica admissivel? A resposta 6 nfio, porque as solugdes do sub. problema 1-2-3-4 e do subproblema 5-6-7-8 para um determinado estado quase certamente ito compartilhar alguns movimentos ~ é improvével que 1-2-3-4 possa ser colocado no lugar sem tocar 5-6-7-8 evice-versa. Porém, ese do levartnos em conta esses movimentos? Isto é, nfo registramos 0 custo total da resolugio do subproblema 1-2-3-4, mas apenas do ntimero de movimentos que envol- vem 1-2-3-4, Entio, €fécil ver que a soma dos dois custos ainda é um limite inferior sobre o custo da resolugio do problema inteiro, Essa é a idéia por trés dos bancos de dados de padrées disjuntos, Usando tais bancos de dados, é possfvel resolver quebra-cabecas de 15 pegas ao acaso em alguns mi- lissegundos — o niimero de nés gerados é reduizido 10.000 vezes em comparagéo com o uso da dis- ‘éncia Manhattan, Para quebra-cabegas de 24 pecas, 6 possfvel obter uma acelerag&o de aproximada- mente um milhio de vezes. : Estado ical Estado objetivo Figura 4.9 Um subproblema do quebra-cabeca de 8 pecas dado na Figura 4.7. Atarefa & colacaros blocos 1, 2,3 ¢4 ‘2m suas posigGes corretas, Sem se preocupar com que acontecerd aos outros blocos, Busca com informasdo e explorago 109 (Os bancos de daclos de padres disjuntos funcionam no caso de quebra-cabegas de blocos desl zantes, porque o problema pode ser dividido de tal modo que cada movimento afete apenas um sub- problema ~ porque apenas tum arquivo 6 movido de cada vez. Para um problema como 0 cubo de Ru- bik, esse tipo de subdiviséo néo pode ser feito, porque cada movimento afeta 8 ou 9 dos 26 cubos. No ‘momento, no esté claro como definir bancos de dados disjuntos para tais problemas. Heuristicas de aprendizagem a partir da experiéncia ‘Uma fungéo heutfstica h(n) deve estimar o custo de uma solugéo que comega a partir do estadononé ‘n, Como umm agente poderia construir tat fungfo? Uma solugio foi dada na seydo anterior — ou seja, ctiar problemas relaxados para os quais uma solugo 6tima possa ser encontrada com facilidade, Ou- tra solugdo 6 aprender a partir de experiéncia. Nesse caso, “experiéncia” significa, por exemplo, re- solver uma grande quantidade de quebra-cabegas de B pegas. Cada solugio étima para um problema de quicbra-cabeca de 8 pecas fomece exemplos a partir dos quais f(7) pode ser aprendido. Cada cexempls’consiste em uth estado do caminho de solugo e no custo real da solugéo a partir desse pon- io. Com base nesses exemplos, um algoritmo de aprendizado indutive pode ser usado para construir ‘uma funglo a(n) que pode (com sorte) prognosticar custos de solugSes para outros estados que sur- jgem durante a busca. As técnicas para fazer exatamenteisso usando redes neurais, vores de deciso e outros métodos so demonstradas no Capitulo 18, (Os métodos de aprendizagem por reforgo des- ‘ritos no Capitulo 21 também so aplicéveis.) mensisixs Os métodos de aprendizagem indutiva funcionam melhor quando so alimentados com earacte- risticas de um estado que sio relevantes para sua avaliago, e nfo apenas com a descrigao bruta do estado. Por exemplo, a caracteristica “ntimero de blocos mal posicionados” poderia ser Gti na previ- sio da disténcia real entre um estado e o objetivo. Vamos chamar essa caracterfstica x(n). Poderia~ ‘mos tomar 100 configuragées de quebra-cabega de 8 pegas geradas ao acaso e obter estatisticas so- bre os custos reais de sta solugGo. Talvez descobrissemos que, quando x, (n) 65, 0 custo da solugéo média é aproximadamente 14 eassim por diante. Considerando-se esses dados, ovalor dex, pode ser ‘usado para prever h(n). £ claro que podemos utilizar varias caracterfsticas, Uma segunda caracterfs~ tica xp(n) poderia ser 0 “ntimero de pares de blocos adjacentes que também sfo adjacentes no estado objetivo”. Como x, (1) ex,(n) devem ser combinados para prognosticar h(n)? Uma abordagem co- mum é usar uma combinacgo linear: f(a) = eye (n) + ep%p(m) ‘As constantes ¢; e¢, so ajustadas para proporcionar a melhor adaiptagio aos dados reais em cus tos de solugées, Pressupdem que ¢, deve ser positiva e cy deve ser negativa 3 Algoritmos de busca local e problemas de otimizagao ] Os algoritmos de busca que vimos at agora foram projetados para explorarsistematicamente espa- os de busca. Esse carter sistemdtico € alcangado mantendo-se um ou mais caminhos na meméria e registrando-se as alternativas que foram explotadas em cada ponto.ao longo do caminho e quais delas nfo foram exploradas. Quando um objetivo 6 encontrado, ocamiinho até esse objetivo também cons- titui uma soluedo para o problema, No entanto, em muitos problemas, o caminho até o objetivo é irrelevante. Por exemplo, no proble- made 8 rainhas (veja a pagina 69), o queimporta €a configuragio final das rainhas, enfoaordem em. 110 INTELIGENCIA ARTIFICAL Busca Local esto copa sRontens oe oma Fungo cBienv0 ToroLo6i ESFAQODE sates so cuoea. mo GLOmN sua bE evcostA que elas so acrescentadas. Essa classe de problemas inclui muitas aplicagées importantes, como projeto de circuitos integrados, layout de instalagées industria, escalonamento de jornadas de tra- balho, programagio automética, otimizagio de rede de telecomunicagées, roteamento de vefculos gerenciamento de carteiras. Seo caminho até objetivo nio importa, podemos considerar unu classe diferente de algoritmos, ‘aqueles que niio se preocupam de forma alguma com os caminhos. Os algoritmos de busca local operam usando um inico estado corrente (em vez de varios caminhos) e em geral se movem apenas para os vizinhos desse estado, Normalmente, os caminhos seguidos pela busca néo so guardados. Embora os algoritmos de busca local no sejam sistemticos, eles tém duas vantagens: (1) usem pou- uifssima meméria —quase sempre um valor constante; e (2) freqiientemente podem encontrar solu- {7608 razoaveis em grandes ov infinitos espagos (continuos) de estados para os quais os algoritmos sisteméticos so inadequados. Além de encontrar objetivos, os algoritmos de busca local so Gteis para resolver problemas de oti« izagio puros, nos quais o objetivo € encontrar o melhor estado de acordo com uma fungio objeti- Yo. Muitos problemas de otimizacdo nfo se adaptam ao modelo de busea “padrao” introduzido rio Capitulo 3. Por exemplo, anatureza fornece uma funcéo objetivo —aptido para areprodugio — que a evolugdo de Darwin poderia estar tentando otimizar, mas néo existe nenhum "teste de objetivo” ¢ ne- hum “custo de caminho” para esse problema Para entender ausca local, descobriremos que é muito til considerar a topotogia de espago de es- {ados (como na Figura 4.10). Uma topologia ern ao mesmo tempo “posigéo” (definida pelo estado} ¢ “clevaglo” (dfinida pelo valor da funggo de custo da heuristica ou da funcio objetivo). Se a elevigio corresponder ao custo, o objetivo seré encontrar o vale mais baixo— um mfnimo global; sea cleva- so corresponder a uma fungéo objetivo, entio o objetivo seré encontrar o pico mais lto—um méximo slobal. (Voce pode fazer a conversto de um para o outro apenas inserindo um sinal de subtraglo,) Os slgoritmos de busca local exploram essa topologia. Um algoritmo de busca local completo sempre en- ‘contra umo objetivo, cato ele exista; um algoritmo étimo sempre encontra um minimo/mximo global fungSo objetivo _— méximo gebel mesmo toa ad ‘mésxrnoocal plano cespaga de estado estados correrte Figura 4.10 Uma topotogia de espaco de estados unidimensional, no qual aelevacdo corresponde a funglo cbjetivo. O objetivo & encontrar o méximo global. A busca de subida de encosta modifica o estado corrente para tentar metho. ‘aslo, como mostra a seta. As diversas caracteristicas topogréficas s8o definidas no texto, Busca de subida de encosta Oalgoritmo de busca de subida de eneosta é mostrado na Figura 4.11, Ele ésimplesmente umlago Tepetitivo que se move de forma continua no sentido do valor crescente— isto 6, encosta acima. O al- Busca com informacéo e exploragdo 114 fungio SUBIDA-DE-ENCOSTA(probiema) retorma um esta que & um méximo local entradas: problema, um problema varlaveis locats: corrente, um nb visinho, um 96 Zemanta «~ CRIAR-NO(ESTADO-INICIAL[prattma) repita vitinho < um sucessor de conente com valor mais alto se VALOR(viino] < VALOR|corente]entéo retornar ESTADO[corente conente «= vizio Figura 4.14 0 algritmo de busca de subida de encosta (verso pela tritha mats fngreme) & 2 técnica de busca local ‘mais bésica, Em cada passo,o1n6 corrente €substitufdo pelo melhor viinhos nessa verséo, esse 6 vizinho com o VALOR mais alto; porém, se fosse usada uma estimativa de custo de heuristicah, encontrarlamos o vizinho com o h mats baiko, goritmo termina quando alcanga um “pico” em que nenhum vizinho tem valor mais alto. O algoritmo ndomantém uma érvore de busca, ¢ assim. estrutura de dados do n6 atual s6 precisa registrar o esta- doe ovalor de sua fungao objetivo. A busca de subida de encosta nao examina antecipadamente valo- res de estados além dos vizinhos imediatos do estado correntc. E como tentar alcangar o cume do Monte Everest em.meio a um nevoeiro denso durante uma crise de amnésia, Para ilustrar a subida de encosta, usaremos o problema de 8 rainhas introduzido na pégina 69. Em geral, os algoritmos de busca local utilizam uma formulag&o de estados completos, onde cada estado tem 8 rairihas no tabuleiro, uma por coluna, A fungfio sucessora retorna todos os estados pos- siveis getados pela movimentago de uma tinica rainha para outro quadrado na mesma coluna (de forma que cada estado tenha 8 x 7 = 56 sucessores). A fungéio de custo da heurfstica h € o nfimero de pares de rainhas que esto atacando umas as outras, seja direta ou indiretamente, O mfnimo global dessa fungio € zero, que s6 ocorre em solugGes perfeitas, A Figura 4.12(a) mostra um estado com h= 17.A figura também mostra os valores de todos os seus sucessores, na qual os melhores sucesso- res témh = 12. Os algoritmos de subida de encosta normakmente fazem uma escolha aleat6ria entre o conjunto de melhores sucessores, caso exista mais de um. scacnos —Asubida de encosta As vezes 6 chamada busea gulosa local, porque captura um bom estado vizi- — nho sem decidir com antecedéncia para onde ir em seguida. Embora a gula seja considerada um dos 18 |B} 14 13 |B 14 16 Bie 15 || 14 [BB] 16 | 14 |B] 19 EB) +s || 14 +4 A WS 16 BEB 16 7 16 18 18 15 14 lige 17 |B] 14 [Bi] 18 ® © f ‘Figura 6.12 (2) Um estado de8 rainhas com estimativade custo de heursticah = 17, mastrando o valor de h para cada sucessor pos- sive obtido pela movimentagdo de uma rainha dentro de sua coluna. 0s methores movimentos esto marcades. (b) Um minimolocal no espaco de estados de 8 rainhas;o estado tem f= 1, mas todo sucessor tem um custo mais alto. ‘ 142 __INTELIGENCIA ARTIFICIAL sete pecados capitais, na verdade os algoritmos gulosos freqiientemente funcionam muito bem. Mui- {as vezes, a subida de encosta progride com grande rapidez em diregio a uma solugéo, porque normal. mente ébem fécil melhorar um estado ruim, Por exemplo, a partir doestado da Figura 4.12(a), bastam cinco passos para alcangar o estacio da Figura 4.12(b), que tem h = 1 estd muito préxima de uma so- luc. Infelizmente, a subida de encosta com freqiineia fica paralisada, pelas seyuintes raxtes: * Mésimos locals: Um méximo local é um pico mais eto que cada um de seus estadosviinhos, embora seja mai baixo que o méximo global Os algoritmos de subida de encosta que sloanga ema vizinhange de um méximo local seréo deslocados para cima em diregéo ao pico, mes de- pois fcaro parelisados, sem ter para onde it. A Figura 4.10 ustra esquematicamente o pro- blema, Em termos mais concretos, o estado da Figura 4.12(b) & de fato um méximo local (isto 6 um minimo local para © custo); todo movimento de uma tnica rainha pioa a situagéo. © Picos: Um pico é mostrado na Figura 4.15. Os picos resultem em uma seqiéneia de méximos Tocais que torna muito diffe a navegagao para algoritmos gulosos. ‘of Plats: Um plato € ume érea da topologia de espago de estados em que a fungio deevaliagios plana. Ele pode ser um maximo local plano, a partir do qual nao existe nenbuma saida encosta runioe cima, ou uma planicie, a partir da qual 6 possfvel progredir. (Veja.a Figura 4,10,) Uma busca de subida de encosta talvez seja incapaz de encontrar a safda do platd, Em cada caso, 0 algoritmoalcanga um ponto em que nfio hé. nenhum progresso. A partir de um es- tado doppfoblemia de 8 rainhas gerado aleatoriamente, a subida de encosta pela trilha mais fingreme fi- card paralisada 86% do tempo, resolvendo ‘apenas 14% de instdncias de problemas. Ela funciona com rapidez, demorando apenas 4 passos em média quando tem sucesso e 3 quando fica Parelisada — ‘nada mal para um espaco de estados com 88 = 17 milhGes de estados. Oalgoritmo da Figura 4.11 péra ao alcangar um plat6 em que o melhor sucessor temo mesmo vas wonmexta lor do estado corrente; E possivel que néo seja boa i prosseguir— permitir um movimento lateral, TEM na esperanga de que o plat6 soja na realidade uma planicie, como mostraa Figura 4.10? Normalmen- tearesposta ésim, mas devemos ter cuidado. Se sempre permitirmos movimento laterais, quando nao houver nenhum movimento encosta acima, ocorrerd uma repetigéo infinita sempre que o algoritmo aleangar um méximo local plano que no seja uma planicie, Uma solugéo comun 6 impor um limite sobre ondimero de movimentos laterais: ‘consecutivos permitidos, Por exemplo, poderfamos permitir Flguta 4.13 Tustragto do motivo pelo qua o picos causam difiuldades na subida de encost, Amalha de estados (Chculs escuos) est sobrenosta em um pico que se eleva da esquerda para dirt, criandouma sequéncia de mixi- mes locas que no esti retamente conectados uns aos outros. A partird cada maximo local todas a ardes spo. niveis apontam encosta sbaixo, sada 9€ EvcosTA srocgstat ‘suaton we FAcOSTA PEA anaes ‘SCOUKA SuBDA dE NOUSTA COM aloo ‘LETORIO turers, SiMULADA Busca com informacdo e exploracso 113 até, digamos, 100 movimentos laterais consecutivos no problema de 8 rainhas. Isso aumenta a por- centagem de instancias de problemas resolvidos por subida de encosta de 14% para 94% O sucesso tem um custo: 0 algotitmo demorei em média 21 passos aproximadamente para cada instincia bem- sucedida, e 64 passos para-cada falha, Foram criadas miuitas variantes de subida de encosta. A subida de encosta estocéistiea escolhe 20, ‘acaso entre'os movimentos encosta acima; a probabilidade de selegao pode vatiar com a declividade do movimento encosta ecima. Em geral, isso converge mais lentamente que a subida mais fngreme, ‘mas em algumas topologias de estados enconita solugGes melhores. A subida de encosta pela primel- ra escola implementa a subids de encosta estocéstica gerando sticessores ao acaso, até ser geradlo tum sucessor melhor que o estado corrente. Essa é uma boa estratégia quando um estado tem muitos, sucessores (por exemplo, milhares)..O Exercicio 4.16 pede que vocé investigue. s algoritmos de subida de enicosta descritos até agora so incompletos com freqiléncia, eles deixam'de encontrar um objetivo que existe, porque ficam paralisados em méximos locais. A subida de-encosts com reinicio aleat6rio adota o conhecido adégio: “Se ndo tiver sucesso na primeira vez, continue tentando.” Fla conduz uma série de buscas de subida de encosta a partir de estados iniciais -gerados ao ficaso,§ parando ao encontrar um objetivo. Ela é completa, coma probabilidade se aproxi- ‘mandade 1; pela simples razdo de que ird eventualmente gerar um estado objetivo como estado inicial Secadi'busca de subida de encosts tiver uma probabilidade de sucesso p, onéimero esperado de rei- afcios exigidos seré 1/p. Pata instncias de 8 rainhas sém a permisséo de movimentos litera, p = 0,14; assim, precisamos de aproxiniadamente 7 iterages para encontrar utno objetivo (6 falhas e:1 sucesso). O mimero esperado de passos é 0 custo de uma iteragdo bem-sucedida somado. (1 —P)/p vveres 0 custs da falha ou cerca de'22 passos. Quando permitimios movimentos laterais, so neces sétias 1/0,94 ~'1,06 iteragio em média e (1 x 21) +(0,06/0;94) x 64 » 25 pass0s. Entio, no caso de 8 rainhas, a subida de encosta com reinicio aleat6rio & de fato muito eficiente. Mesmo para trés mi- Indes de rainhas,a abordagem pode encontrar solugdes em menos de um minuto.? ( sucesso da subida de encosta depende mutto da forma da topologia do espaco de estados: s¢ houver poucos méximos locais ¢ platés, a subida de encosta com reincio aleat6rio encontraré urtia boa solugéo com muita rapidez. Por outro lado, muitos problemas reais tern uma topologia mais pa- ‘recida com ume familia de ourigos em um piso plano, com ourigas em miniatura vivendo na ponta de cada espinho de um ourigo, ad infinituni. Em geral, os problemas NP-cificels tém um mémer6 expo- nencial de méximos locais em que ficam paralisados. Apesar disso, um méximo focal razoavelmeite ‘bom pode ser éncontrado com freqiitneia depois de um pequeno nimero de reinfcios, Busca de témpera simulada Umi algoritmo de subida de encoster que nunca faz movimentos “encoste abaixo” em diregdo aesta- dos com yalor mais baixo (ou dé custo mais alto) sem divide é incompleto, porque pode ficer parali- sado.em um méxiino local. Em contraste, um percurso puramente aleatSrio—isto &, a movimentacio Aaté um sucessor escolhido uniformemente'g0 acaso a partir do conjunto de sucessores é coimpleto, mas extremamente ineficiente. Entio, parece razofvel tentar combinar a subida de encosta com um. percurso aleatério que resulte de algum modo em eficiéncia e completeza. A témpera simulada é esse 8, Gerar um estado aleatério a partir de um espago de estados implictamente especificado pode ser um problema itl por si 86. 9, Luby et al. (1995) provam que é melhor, em alguns casos, reiniciar um elgoritmo de busca aleazSria depois de ‘um periodo de tempo fixe espectico, isso pode ser muito mis eficiente que deixar cada busca continuat indei- nidamente, Probir ou limiter 0 niimero de movimentos laterals & um exemplo dessa estratégia. 244 _INTELIGENCTA ARTIICIAL escba SRD Bisck et FEE LocaL iG usc ee sstocésmon algoritmo, Em metaturgis, atémpera 6 0 processo usado para temperar ou-endurecer metas ¢ vidio ‘sauecenco-os a alta temperatura e depois esfriando-os gradualmente, permitindo assitn que o mate. rial seja misturado em um estado eristaline de baixa energia, Para entender a émpeta simulada, va ‘mos mudar nosso ponte de vista de subida de encosta para descida gradiente (isto é aninimizacio do custo) e imagines a tarefa de colocar umabola de pingue-pongue na fenda mais profunda em uma su- Perfici acidenteda, Se simplesmentedeixarmos a bolaolar, ele acabaré cm um minimolocal. Seagi- tarmos asuperficie, poderemos fazer bola quicar para fora do mfnimo local, O artificio &agitar com {orga suficente para fazer a bola sar dos minimos locais, mas néo o bastante para desaloj-la do mi. nimo global. A solugdo de témpera simulada 6 comegar a agitar com forga (isto é, em alta temperatu- 19) © depois reduzir gradualmente a intensidade da agitacio (ou seja, baixar « temperatura). O lago de repetigo mais interno do algoritmo de témpera simulada (Figura 4,14) é muito seme- IThante & subida de encosta, Porém, em vez de escolher o melhor movimento, ele escolhe um movi. mento aleatério, Se movimento melhorarasituagéo, ele sempre seréacito, Caso contrério,oaigo- "imo aceitaréo movimento com alguma probabilidade menor que 1.A probabilidade diminui expo. neneislmente com a “mé qualidade” do movimento ~ o valor AE segundo o qual avaliaglo piora, A Probabilidade também diminui a medida que a “temperatura” T'se reduz: movimentos “ruins” tém ‘maior probabilidade de serem permitidos no inicio, quando a temperatura € ata, e depois se tornamn tnais improvéveis conforme T diminui. Pode-se provar que, se oescalonamento diminuir T comlenti. ‘io suficionte, o algoritmo encontraré um valor étimo global com probabilidade préxime de 1. A mpera simulada foi usada inicialmente de forma extensiva para resolver problemas de layout deVLSI no comego dos anos 80. Ela foi amplamente aplicada ao escelonamento industrial ea outrae {arefas de otimizagio em grande escala, No Exetcicio 4.16, vocé seré convidado a comparar seu de- sempenho ao da subida de encosta com reinfcio aleat6rio no quebra-cabeca de rainhas, Busca em feixe local Amanutengéo de apenas um n6 na memSria pode parecer uma reagéo extrema ao. problema de li- Imitagio de meméria. O algoritmo de busca em feixe local! mantém o controle dek estados, em ver de somente um. Ela comega com k estados ‘gerados aleatoriamente. Em cada Passo, so gerados to- dos os sucessores de todos os k estados. Se qualquer um deles for um objetivo, o algoritmo ira parar. Caso contrétio, ele selecionaré os kmethoressucessotes a partir dalista complete erepetrd a agi, A primeira vista, uma busca em feixe local com kestados talvez pareca néo ser nada mais quea exe- custo dek reinicios aleat6rios em paralelo, eto em seqiifncia, De fato, os dois algoritmos so bas. tante diferentes. Em uma busca com reinicio aleat6rio, cada proceso de busca funciona de forma in- dependente dos outros. Em uma ‘busca em feixe local, so: repassadas informagées titeis entre os kpro- cessos paralelos da busca. Por exemplo, se umestado gerar varios sucessores bons ¢ todos os outros k= 1 estados gerarem sucessores ruins oefeto seré como seo primeito estado dissesse aos outros, “Venha para c4, aqui esté melhor!” O algoritmo logo abendonaré as buscas infrutiferas e deslocard seus Tecursos para o processo em que estiver sendo realizado maior. ‘Progresso. Em sua forma mais simples, a busca em feixe| ‘local pode se ressentir de uma falta de diversidade en- tte of kestados eles podem ficarrapidamente concentrados em uma pequena regio do espayo de ‘estados, tornande a busca pouca mais. ‘que uma Versio dispendiosa de subida de encosta, ‘Uma yari- ante chamada busca em feixe estocdstica, andloga a subida de encosta estocdstica, ajuda a atenuar esse problema. Em vez de escolher o melhor ka partir do conjunto de sucessores candidatos, a busca 10.A busca em feix local 6 una adaptagfio da busea em feixe (beam search), um algcritmobaseado em cami thos. . ‘usoaiiuo evened Poruuagla ‘mowvouo gto De THEss Busca com informatio e exploraggo 115 ‘fangio TEMPERA-SIMULADA(problem, escalonamento) Fetoma um estado salugio entradas: problema, um problema escalonamento, um mapeamento de tempo para “temperatura” varlgvets locals: corente, um n6 réxiro, um né 7. uma “temperatura” que controla a probabildade de passos descendentes ‘corrente «~ CRIAR-NO(ESTADO-INICIAL[problemal) para t «1 até. faga T € escalonamentole] Se T= 0 entdo retornar covrente préximo < um sucessor de corente selecionado a0 acaso AE « VALOR[préximo] ~ VALOR[comente) se AF>0 entio corente + préimo ‘seniio comente < praximo somente com probabilidace ebf/T [igure 4-14 0 lgeritne de timpera sinulads, uma versdodesubda de encostaestockstia, onde alguns movinen- aa ecosts absno séo pemitdos. Novimentos encestaabsivo so prontamenteaettas nani do ecalononenro Gaeaaers ¢ depois com menor freqéncia no decorer do tempo. Aetiadaecalonamento define ovelar ie rear, uma fangdo do tempo. em foixe estocsticaescolhe ksucessores ao aceso, com a probublidade de escolher um determinado Sucessor que seja uma fungio crescente de seu valor. A busca em feixe estocéstica, guarda alguma se- imelhanga com o provesso de selogo natural, peto qual os “sucessores”(descendéncia) de uma “esta, do” (organismo) ‘ocupam a préxima geragéo de acordo com seu “valor” (adaptagio ou fitness). Algoritmos genéticos Um algoritmo genético (ou AG) é uma vaiante de busca em fixe estocdstica, na qualosestados su: Cesstres sio gerados pela combinagio de dois estados pais, em vez de serem gerados pela modifica. $40 de um tnico estado. A analogiaém relagéo a slepfo natural amesmaque se dé na buses em fe, Xe estoofstica, exceto pel fo de agora estamos dando com a reprodugio sexuada, engovom ate, Produgio assexuada. Como ocorre coma busca em feixe, os AGs comegam com tum conjunto de kestados gerados alea- forlamente, chamado populagio, Cada estado, ou indivduo, 6 representaco como um endele sobre um alfabetofinito ~ muito freqientemente um cadein de valores Oe 1. Por exemplo, um estado de 8 Falthas deve especificat as posigdes das 8 rains, ada uma emycoluna de 8 quadrados, ¢ portanto exige 8 log, 8 = 24 bits, Como outra aternativ, o estado poderia ser representado cone & digitos, cada um no intervalo de t @8, (Veremos mais adiante que as duas codifiigGes tim comportamento diferente.) A Figura 4.15(a) mostra uma populagéo de quatro cadeias de 8 digitos ‘que representam estados de 8 rainhas, A produgio da préxima geragéo de estados 6 mostrada na Figura 4.15(b)-(e) Em (b),cada estado é avaliado pela fungio de avaliagio ou (na terminologia do AG) pela fungi de fitness, Uma fungio Ge Gitness deve retornar valores mais ets para estados melhores; assim, para o problema de 8 ra has, usumos 0 nimero de pares de rainhasndo-atacates, que tm o valor 28 para uma solugéo, Os valores dos quatro estades so 24, 23, 20 ¢ 11, Nessa varianteespectfica do algoritmo genético, a Probebilidade de um individuo de ser escolhido para reprodugao é diretam€nte proporcional a sua Pontuagéo de fitness, ¢ as porventagens so mostradas ao lado das pontuagées brutas, En: (c), dois pares escolhidos aleatoriamente so selecionados parareprodagdo, de acordo com as probabilidades mostradas em (b). Note que um individuo é selecionado duas vezes, eum individus 116 _ INTELIGENCIA ARTIFICIAL 24740552 | 2 ove + EERE —_-(Bes02 | —+[seraofbe 32762411 ke 24748552 247pee}—-[ 24752411 24415124 | 20 oo * (RAEN ~EBER BB e4 | —~[ saebotes 32549213 lw zaaisies Y *[2aatelil] —-[ easton] (®) Cc} ©. © @ Popuiapao inicial Fungo dafiness —Selego Crossover Mutagto, Figura 4.15 0 algoritmo genético. A populago inicial em (2) classifica peta funcBo de fitness em), resultando em pares de corespondéncia em (c): Eles produzem descendentes em (4) sujitos & mutacdo em (e) Figura 4.16 0s estos de ranhas correspondents aos dos prinetos pasa Figura 415(2 ea primera descendénca da Figura 4-15(d), As coluras sombreadas foram perddas na etapa de crossover, eas colunasrao-sombreadas foram peseradas. nfo € selecionado de modo algum.1! Para cada par a ser cruzado € escolhido ao acaso um ponto de ! crossevek _ erossover dentre as posigdes na cadeia, Na Figura 4.15, os poritos de crossover esto depois do ter- ceito dfgito no primeiro par e depois do quinto digito no segundo par.!2 Em (@), os préprios descendentes so ctiados por crossover das cadeias pais no ponta de crossover. Por exemplo, o primeito filho do primeiro par recebe os trés primeitos digitos do primeiro pal eos digi- {0s restantes do segundo pai, enquaito o segundo fitho recebe 6s trés primeiros digitos do segundo pai eorestante do primeito pai. Os estados de 8 rainhas envolvidos nessa etapa de reproduc so mostra dos na Figuia 4.16. O exemploilustra ofato de que, quando dois estados pais so bastante diferentes, a operagéo de crossover pode produizir im estado que esté longe do estado de qualquer pai. Emi geral, a opulaglo 6 bastante diversa no inicio do processo, cassim o crossover (comoa tempera simulada) fre

Você também pode gostar