EXPLORAÇÃO DOS PARADIGMAS BIDIRECIONAL E PARALELO EM ALGORITMOS DE BUSCA HEURÍSTICA LUIS HENRIQUE OLIVEIRA RIOS EXPLORAÇÃO DOS PARADIGMAS BIDIRECIONAL E PARALELO EM ALGORITMOS DE BUSCA HEURÍSTICA Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computa- ção do Instituto de Ciências Exatas da Universidade Federal de Minas Gerais comorequisitoparcialparaaobtençãodo grau de Mestre em Ciência da Computa- ção. ORIENTADOR: LUIZ CHAIMOWICZ Belo Horizonte Abril de 2012 (cid:13)c 2012,LuisHenriqueOliveiraRios. Todososdireitosreservados. Rios,LuisHenriqueOliveira R586e Exploraçãodosparadigmasbidirecionaleparalelo emalgoritmosdebuscaheurística/LuisHenrique OliveiraRios. —BeloHorizonte,2012 xxiv,115f.: il.;29cm Dissertação(mestrado)—UniversidadeFederalde MinasGerais Orientador: LuizChaimowicz 1.Computação-Teses. 2.Inteligênciaartifical- Teses. I.Orientador. II.Título. CDU519.6*82(043) UNIVERSIDADE FEDERAL DE MINAS GERAIS INSTITUTO DE CIENCIAS EXATAS PROGRAMA DE POS-GRADUA<;AO EM CIENCIA DA COMPUTA<;AO FOLHA DEAPROVA~AO Explora<;aodos paradigmas bidirecional eparalelo em algoritmos de busca heuristica LUIS HENRIQUE OLIVEIRA RIOS Dissertayao defendida eaprovada pela banca examinadora constituida pelos Senhores: HA 0 ICZ-Orientador Departamento Computayao -UFMG -~'7,~Mr PROF. FERNANDO SANTOS OSORIO Departamento de Sistemas de Computayao -USP Depart;nn:Ce:ienCi~OmpUG ~ ~O~SOFERREIRA PROF. ~EY ~'NS FERREIRA Departamento deEngenharia Mecanica -UFMG Belo Horizonte, 26de abril de2012. Resumo O A* é um importante algoritmo de busca heurística em Inteligência Artificial. A heurística proporciona uma diminuição significativa no esforço computacional da busca. Entretanto,emmuitoscontextosissonãoésuficiente. Comointuitodelidar melhorcomessaquestão,váriasextensõesdoalgoritmoA*temsidopropostas. O objetivo central deste trabalho é investigar formas de melhorar o desempe- nho do A* através de abordagens bidirecionais e paralelas para propor novos al- goritmos. Suas contribuições, portanto, são uma forma de organizar os principais algoritmosdebuscabaseadosnoA*queforampropostosnaliteraturaedoisnovos algoritmosdebuscaheurísticabidirecionalparalelachamadosPNBA*eBPBNF. AclassificaçãodasextensõesdoA*expostanestetrabalhoéumaformadeor- ganizar os principais algoritmos de busca baseados no A* presentes na literatura. Elaéestruturadaemseisclasses(bidirecional,incremental,memory-concerned,para- lela,anytimeetempo-real)nãoexcludentesentresi. OPNBA*éumaimplementaçãoparaleladoNBA*(algoritmodebuscaheurís- tica bidirecional) para ambientes computacionais de memória compartilhada. Seus dois processos de busca são executados em paralelo. Em todos os domínios empre- gadosnosexperimentos,oPNBA*foimaisrápidodoqueoA*eoNBA*. O BPBNF generaliza a idéia do algoritmo PNBA* para mais de dois proces- sadores e também reduz o tempo de execução do PBNF (algoritmo no qual ele se baseia). A comparação empírica dos desempenhos evidenciou uma clara superi- oridade do BPBNF em relação ao A*. Se comparado ao PBNF, em dois dos três domíniosempregadostambémfoipossívelnotarasuasuperioridade. Portanto, este trabalho mostra ser viável e factível a combinação dos paradig- mas bidirecional e paralelo para redução do tempo de execução do algoritmo de buscaheurísticaA*,mantendoaadmissibilidade. Palavras-chave: buscaheurísticabidirecionalparalela,classificaçãodealgorit- mosdebuscaheurística,A*,PNBA*,BPBNF. vii Abstract A* is a very important heuristic search algorithm in Artificial Intelligence. The use of a heuristic provides a significant reduction in the computational efforts of the searchalgorithm. However,inmanycontextsthisisnotsufficient. Inordertobetter dealwiththisissue,severalextensionsoftheA*algorithmhavebeenproposed. The goal of this dissertation is to investigate ways of improving the perfor- mance of A* through bidirectional and parallel approaches to propose new algo- rithms. Therefore, the contributions are: a way of organizing the main search algo- rithms based on A* that have been proposed in the literature and two new parallel bidirectionalheuristicsearchalgorithmscalledPNBA*andBPBNF. We discuss and organize the main extensions of A* in six different classes: bi- directional,incremental,memory-concerned,parallel,anytimeandreal-time. These classes are not mutually exclusive and represent the main objectives and characte- risticsofthemajorityofA*extensionsfoundintheliterature. The PNBA* is a parallel implementation of NBA* (a bidirectional heuristic se- arch algorithm) for computational environments with shared memory. Its two se- arch processes are executed in parallel. We show in our experiments that PNBA* is fasterthanA*andNBA*inthreedifferentapplicationdomains. The BPBNF algorithm generalizes the idea of PNBA* for more than two pro- cessors and also reduces the execution time of PBNF (an algorithm in which it is based on). Our experiments have showed a clear superiority of BPBNF relative to A*. WhencomparedtoPBNFintwoofthethreetesteddomains,itwasalsopossible tonoteBPBNFsupremacy. Therefore,thisdissertationshowstheviabilityandthefeasibilityofcombining thebidirectionalandparallelparadigmsinordertoreducetheruntimeofA*while keepingitsadmissibility. Keywords: bidirectional parallel heuristic search, heuristic search algorithms classification,A*,PNBA*,BPBNF. ix
Description: