Heuristic Search Theory and Applications

Total Page:16

File Type:pdf, Size:1020Kb

Heuristic Search Theory and Applications Heuristic Search Theory and Applications Stefan Edelkamp Stefan Schrodl AMSTERDAM • BOSTON • HEIDELBERG • LONDON NEW YORK • OXFORD • PARIS • SAN DIEGO SAN FRANCISCO • SINGAPORE • SYDNEY » TOKYO ELSEVIER Morgan Kaufmann is an imprint of Elsevier Contents List of Algorithms Preface xxul PART I HEURISTIC SEARCH PRIMER CHAPTER 1 Introduction 3 1.1 Notational and Mathematical Background 3 1.1.1 Pseudocode 3 1.1.2 Computability Theory 4 1.1.3 Complexity Theory 5 1.1.4 Asymptotic Resource Consumption 7 1.1.5 Symbolic Logic 8 1.2 Search 9 1.3 Success Stories 9 1.4 State Space Problems 12 1.5 Problem Graph Representations 14 1.6 Heuristics 15 1.7 Examples of Search Problems 19 1.7.1 Sliding-Tile Puzzles 19 1.7.2 Rubik's Cube 22 1.7.3 Sokoban 22 1.7.4 Route Planning 24 1.7.5 TSP 25 1.7.6 Multiple Sequence Alignment 26 1.8 General State Space Descriptions 29 1.8.1 Action Planning 29 1.8.2 *Production Systems 32 1.8.3 Markov Decision Processes 35 1.8.4 Generic Search Model 36 1.9 Summary 37 1.10 Exercises 39 1.11 Bibliographic Notes 45 CHAPTER 2 Basic Search Algorithms 47 2.1 Uninformed Graph Search Algorithms 48 2.1.1 Depth-First Search 50 2.1.2 Breadth-First Search 51 2.1.3 Dijkstra's Algorithm 53 V vi Contents 2.1.4 Negatively Weighted Graphs 57 2.1.5 Relaxed Node Selection 58 2.1.6 * Algorithm of Bellman-Ford 60 2.1.7 Dynamic Programming 62 2.2 Informed Optimal Search 68 2.2.1 A* 69 2.2.2 On the Optimal Efficiency of A* 74 2.3 *General Weights 75 2.3.1 Cost Algebras 76 2.3.2 Multiobjective Search 79 2.4 Summary 80 2.5 Exercises 82 2.6 Bibliographic Notes 86 CHAPTER 3 *Dictionary Data Structures 89 3.1 Priority Queues 89 3.1.1 Bucket Data Structures 90 3.1.2 Heap Data Structures 97 3.2 Hash Tables 110 3.2.1 Hash Dictionaries Ill 3.2.2 Hash Functions 112 3.2.3 Hashing Algorithms 121 3.2.4 Memory-Saving Dictionaries 130 3.2.5 Approximate Dictionaries 134 3.3 Subset Dictionaries 138 3.3.1 Arrays and Lists 139 3.3.2 Tries 139 3.3.3 Hashing 139 3.3.4 Unlimited Branching Trees 141 3.4 String Dictionaries 142 3.4.1 Suffix Trees 143 3.4.2 Generalized Suffix Trees 146 3.5 Summary 151 3.6 Exercises 154 3.7 Bibliographic Notes 157 CHAPTER 4 Automatically Created Heuristics 161 4.1 Abstraction Transformations 162 4.2 Valtorta's Theorem 164 4.3 hierarchical A* 165 4.4 Pattern Databases 167 4.4.1 Fifteen-Puzzle 168 4.4.2 Rubik's Cube 169 4.4.3 Directed Search Graphs 170 4.4.4 Korf's Conjecture 170 4.4.5 Multiple Pattern Databases 172 4.4.6 Disjoint Pattern Databases 173 4.5 *Customized Pattern Databases 177 4.5.1 Pattern Selection 178 4.5.2 Symmetry and Dual Pattern Databases 179 4.5.3 Bounded Pattern Databases 180 4.5.4 On-Demand Pattern Databases 183 4.5.5 Compressed Pattern Databases 183 4.5.6 Compact Pattern Databases 185 4.6 Summary 185 4.7 Exercises 187 4.8 Bibliographic Notes 190 PART II HEURISTIC SEARCH UNDER MEMORY CONSTRAINTS CHAPTER 5 Linear-Space Search 195 5.1 ^Logarithmic Space Algorithms 195 5.1.1 Divide-and-Conquer BFS 196 5.1.2 Divide-and-Conquer Shortest Paths Search 196 5.2 Exploring the Search Tree 197 5.3 Branch-and-Bound 198 5.4 Iterative-Deepening Search 201 5.5 Iterative-Deepening A* 204 5.6 Prediction of IDA* Search 206 5.6.1 Asymptotic Branching Factors 206 5.6.2 IDA* Search Tree Prediction 212 5.6.3 *Convergence Criteria 217 5.7 * Refined Threshold Determination 218 5.8 *Recursive Best-First Search 219 5.9 Summary 220 5.10 Exercises 222 5.11 Bibliographic Notes 223 CHAPTER 6 Memory-Restricted Search 227 6.1 Linear Variants Using Additional Memory 228 6.1.1 Transposition Tables 228 6.1.2 Fringe Search 231 viii Contents 6.1.3 iterative Threshold Search 233 6.1.4 MA*, SMA, and SMAG 235 6.2 Nonadmissible Search 240 6.2.1 Enforced Hill-Climbing 240 6.2.2 Weighted A* 243 6.2.3 Overconsistent A* 244 6.2.4 Anytime Repahing A* 246 6.2.5 Jt-Best-First Search 250 6.2.6 Beam Search 251 6.2.7 Partial A* and Partial IDA* 251 6.3 Reduction of the Closed List 254 6.3.1 Dynamic Programming in Implicit Graphs 255 6.3.2 Divide-and-Conquer Solution Reconstruction 255 6.3.3 Frontier Search 257 6.3.4 *Sparse Memory Graph Search 259 6.3.5 Breadth-First Heuristic Search 261 6.3.6 Locality 264 6.4 Reduction of the Open List 266 6.4.1 Beam-Stack Search 266 6.4.2 Partial Expansion A* 270 6.4.3 Two-Bit Breadth-First Search 271 6.5 Summary 273 6.6 Exercises 275 6.7 Bibliographic Notes 279 CHAPTER 7 Symbolic Search 283 7.1 Boolean Encodings for Set of States 284 7.2 Binary Decision Diagrams 286 7.3 Computing the Image for a State Set 290 7.4 Symbolic Blind Search 291 7.4.1 Symbolic Breadth-First Tree Search 291 7.4.2 Symbolic Breadth-First Search 293 7.4.3 Symbolic Pattern Databases 294 7.4.4 Cost-Optimal Symbolic Breadth-First Search 296 7.4.5 Symbolic Shortest Path Search 298 7.5 Limits and Possibilities of BDDs 299 7.5.1 Exponential Lower Bound 299 7.5.2 Polynomial Upper Bound 300 7.6 Symbolic Heuristic Search 302 7.6.1 Symbolic A* 302 7.6.2 Bucket Implementation 305 Contents ix 7.6.3 Symbolic Best-First Search 307 7.6.4 Symbolic Breadth-First Branch-and-Bound 308 7.7 *Refinements 309 7.7.1 Improving the BDD Size 309 7.7.2 Partitioning 310 7.8 Symbolic Algorithms for Explicit Graphs 311 7.9 Summary 311 7.10 Exercises 313 7.11 Bibliographic Notes 317 CHAPTER 8 External Search 319 8.1 Virtual Memory Management 320 8.2 Fault Tolerance 321 8.3 Model of Computation 321 8.4 Basic Primitives 323 8.5 External Explicit Graph Search 324 8.5.1 * External Priority Queues 324 8.5.2 External Explicit Graph Depth-First Search 325 8.5.3 External Explicit Graph Breadth-First Search 326 8.6 External Implicit Graph Search 328 8.6.1 Delayed Duplicate Detection for BFS 328 8.6.2 *External Breadth-First Branch-and-Bound 330 8.6.3 *External Enforced Hill-Climbing 332 8.6.4 External A* 334 8.6.5 *Lower Bound for Delayed Duplicate Detection 340 8.7 *Refinements 342 8.7.1 Hash-Based Duplicate Detection 342 8.7.2 Structured Duplicate Detection 343 8.7.3 Pipelining 344 8.7.4 External Iterative-Deepening A* Search 345 8.7.5 External Explicit-State Pattern Databases 346 8.7.6 External Symbolic Pattern Databases 348 8.7.7 External Relay Search 348 8.8 *External Value Iteration 349 8.8.1 Forward Phase: State Space Generation 349 8.8.2 Backward Phase: Update of Values 349 8.9 *Flash Memory 353 8.9.1 Hashing 354 8.9.2 Mapping 354 8.9.3 Compressing 356 8.9.4 Flushing 358 x Contents 8.10 Summary 358 8.11 Exercises 361 8.12 Bibliographic Notes 364 PART III HEURISTIC SEARCH UNDER TIME CONSTRAINTS CHAPTER 9 Distributed Search 369 9.1 Parallel Processing 370 9.1.1 Motivation for Practical Parallel Search 374 9.1.2 Space Partitioning 374 9.1.3 Depth Slicing 375 9.1.4 Lock-Free Hashing 378 9.2 Parallel Depth-First Search 379 9.2.1 *Parallel Branch-and-Bound 379 9.2.2 Stack Splitting 380 9.2.3 Parallel IDA* 382 9.2.4 Asynchronous IDA* 382 9.3 Parallel Best-First Search Algorithms 385 9.3.1 Parallel Global A* 385 9.3.2 Parallel Local A* 387 9.4 Parallel External Search 388 9.4.1 Parallel External Breadth-First Search 388 9.4.2 Parallel Structured Duplicate Detection 391 9.4.3 Parallel External A* 392 9.4.4 Parallel Pattern Database Search 398 9.5 Parallel Search on the GPU 400 9.5.1 GPU Basics 401 9.5.2 GPU-Based Breadth-First Search 401 9.5.3 Bitvector GPU Search 407 9.6 Bidirectional Search 408 9.6.1 Bidirectional Front-to-End Search 409 9.6.2 *Biclirectional Front-to-Front Search 410 9.6.3 Perimeter Search 412 9.6.4 Bidirectional Symbolic Breadth-First Search 416 9.6.5 *Island Search 416 9.6.6 *Multiple-Goal Heuristic Search 418 9.7 Summary 419 9.8 Exercises 422 9.9 Bibliographic Notes 425 Contents xi CHAPTER 10 State Space Pruning 429 10.1 Admissible State Space Pruning 430 10.1.1 Substring Pruning 430 10.1.2 Pruning Dead-Ends 440 10.1.3 Penalty Tables 445 10.1.4 Symmetry Reduction 447 10.2 Nonadmissible State Space Pruning 449 10.2.1 Macro Problem Solving 449 10.2.2 Relevance Cuts 452 10.2.3 Partial Order Reduction 453 10.3 Summary 458 10.4 Exercises 460 10.5 Bibliographic Notes 463 CHAPTER 11 Real-Time Search 465 11.1 LRTA* 466 11.2 LRTA* with Lookahead One 473 11.3 Analysis of the Execution Cost of LRTA* 474 11.3.1 Upper Bound on the Execution Cost of LRTA* 476 11.3.2 Lower Bound on the Execution Cost of LRTA* 477 11.4 Features of LRTA* 479 11.4.1 Heuristic Knowledge 479 11.4.2 Fine-Grained Control 479 11.4.3 Improvement of Execution Cost 480 11.5 Variants of LRTA* 482 11.5.1 Variants with Local Search Spaces of Varying Sizes 482 11.5.2 Variants with Minimal Lookahead 482 11.5.3 Variants with Faster Value Updates 484 11.5.4 Variants That Detect Convergence 488 11.5.5 Variants That Speed Up Convergence 488 11.5.6 Nonconverging Variants 491 11.5.7 Variants for Nondeterministic and Probabilistic State Spaces 494 11.6 How to Use Real-Time Search 496 11.6.1 Case Study.
Recommended publications
  • Steps Towards a Science of Heuristic Search
    STEPS TOWARDS A SCIENCE OF HEURISTIC SEARCH BY Christopher Makoto Wilt MS in Computer Science, University of New Hampshire 2012 AB in Mathematics and Anthropology, Dartmouth College, 2007 DISSERTATION Submitted to the University of New Hampshire in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Computer Science May, 2014 ALL RIGHTS RESERVED c 2014 Christopher Makoto Wilt This dissertation has been examined and approved. Dissertation director, Wheeler Ruml, Associate Professor of Computer Science University of New Hampshire Radim Bartˇos, Associate Professor, Chair of Computer Science University of New Hampshire R. Daniel Bergeron, Professor of Computer Science University of New Hampshire Philip J. Hatcher, Professor of Computer Science University of New Hampshire Robert Holte, Professor of Computing Science University of Alberta Date ACKNOWLEDGMENTS Since I began my doctoral studies six years ago, Professor Wheeler Ruml has provided the support, guidance, and patience needed to take me from “never used a compiler” to “on the verge of attaining the highest degree in the field of computer science”. I would also like to acknowledge the contributions my committee have made to my development over the years. The reality of graduate school is that it requires long hours and low pay, but one factor that makes it more bearable is good company, and I have the University of New Hampshire Artificial Intelligence Research Group to thank for making those long days more bearable. The work in this dissertation was partially supported by the National Science Founda- tion (NSF) grants IIS-0812141 and IIS-1150068. In addition to NSF, this work was also partially supported by the Defense Advanced Research Projects Agency (DARPA) grant N10AP20029 and the DARPA CSSG program (grant HR0011-09-1-0021).
    [Show full text]
  • A Faster Alternative to Traditional A* Search: Dynamically Weighted BDBOP
    Int'l Conf. Artificial Intelligence | ICAI'16 | 3 A Faster Alternative to Traditional A* Search: Dynamically Weighted BDBOP John P. Baggs, Matthew Renner and Eman El-Sheikh Department of Computer Science, University of West Florida, Pensacola, FL, USA A path-finding algorithm requires the following: a start Abstract – Video games are becoming more computationally point, an end point, and a representation of the environment complex. This requires video game designers to carefully in which the search is to take place. Today, the two main allocate resources in order to achieve desired performance. methods environments are represented in video games are This paper describes the development of a new alternative to with square grids and navigation meshes. Square grids take a traditional A* that decreases the time to find a path in three- specific section of space in the environment and map the dimensional environments. We developed a system using Unity space to a matrix location. The matrix has to be large enough 5.1 that allowed us to run multiple search algorithms on to contain the number of squares needed to represent the different environments. These tests allowed us to find the environment. Navigation meshes were developed in the 1980s strengths and weaknesses of the variations of traditional A*. for robotic path-finding and most games after the 2000s have After analyzing these strengths, we defined a new alternative adopted these navigation meshes. In [3], a navigation mesh is algorithm named Dynamically Weighted BDBOP that defined as “…a set of convex polygons that describe the performed faster than A* search in our experiments.
    [Show full text]
  • Pathfinding in Strategy Games and Maze Solving Using A* Search Algorithm
    Journal of Computer and Communications, 2016, 4, 15-25 http://www.scirp.org/journal/jcc ISSN Online: 2327-5227 ISSN Print: 2327-5219 Pathfinding in Strategy Games and Maze Solving Using A* Search Algorithm Nawaf Hazim Barnouti, Sinan Sameer Mahmood Al-Dabbagh, Mustafa Abdul Sahib Naser Al-Mansour University College, Baghdad, Iraq How to cite this paper: Barnouti, N.H., Abstract Al-Dabbagh, S.S.M. and Naser, M.A.S. (2016) Pathfinding in Strategy Games and Pathfinding algorithm addresses the problem of finding the shortest path from Maze Solving Using A* Search Algorithm. source to destination and avoiding obstacles. One of the greatest challenges in the Journal of Computer and Communications, design of realistic Artificial Intelligence (AI) in computer games is agent movement. 4, 15-25. http://dx.doi.org/10.4236/jcc.2016.411002 Pathfinding strategies are usually employed as the core of any AI movement system. In this work, A* search algorithm is used to find the shortest path between the source Received: July 25, 2016 and destination on image that represents a map or a maze. Finding a path through a Accepted: September 4, 2016 Published: September 8, 2016 maze is a basic computer science problem that can take many forms. The A* algo- rithm is widely used in pathfinding and graph traversal. Different map and maze Copyright © 2016 by authors and images are used to test the system performance (100 images for each map and maze). Scientific Research Publishing Inc. The system overall performance is acceptable and able to find the shortest path be- This work is licensed under the Creative Commons Attribution International tween two points on the images.
    [Show full text]
  • Influence Map-Based Pathfinding Algorithms in Video Games
    UNIVERSIDADE DA BEIRA INTERIOR Engenharia Influence Map-Based Pathfinding Algorithms in Video Games Michaël Carlos Gonçalves Adaixo Dissertação para obtenção do Grau de Mestre em Engenharia Informática (2º ciclo de estudos) Orientador: Prof. Doutor Abel João Padrão Gomes Covilhã, Junho de 2014 Influence Map-Based Pathfinding Algorithms in Video Games ii Influence Map-Based Pathfinding Algorithms in Video Games Dedicado à minha Mãe, ao meu Pai e à minha Irmã. iii Influence Map-Based Pathfinding Algorithms in Video Games iv Influence Map-Based Pathfinding Algorithms in Video Games Dedicated to my Mother, to my Father and to my Sister. v Influence Map-Based Pathfinding Algorithms in Video Games vi Influence Map-Based Pathfinding Algorithms in Video Games Acknowledgments I would like to thank Professor Doutor Abel Gomes for the opportunity to work under his guidance through the research and writing of this dissertation, as well as to Gonçalo Amador for sharing his knowledge with me on the studied subjects. I want to thank my family, who always provided the love and support I needed to pursue my dreams. I would like to show my gratitude to my dearest friends, Ana Rita Augusto, Tiago Reis, Ana Figueira, Joana Costa, and Luis de Matos, for putting up with me and my silly shenanigans over our academic years together and outside the faculty for remaining the best of friends. vii Influence Map-Based Pathfinding Algorithms in Video Games viii Influence Map-Based Pathfinding Algorithms in Video Games Resumo Algoritmos de pathfinding são usados por agentes inteligentes para resolver o problema do cam- inho mais curto, desde a àrea jogos de computador até à robótica.
    [Show full text]
  • Influence-Based Motion Planning Algorithms for Games
    UNIVERSIDADE DA BEIRA INTERIOR Engenharia Influence-based Motion Planning Algorithms for Games Gonçalo Nuno Paiva Amador Tese para obtenção do Grau de Doutor em Engenharia Informática (3º ciclo de estudos) Orientador: Prof. Doutor Abel João Padrão Gomes Covilhã, Junho of 2017 ii This thesis was conducted under supervision of Professor Abel João Padrão Gomes. The research work behind this doctoral dissertation was developed within the NAP-Cv (Net- work Architectures and Protocols - Covilhã) at Instituto de Telecomunicações, University of Beira Interior, Portugal. The thesis was funded by the Portuguese Research Agency, Foundation for Science and Technology (Fundação para a Ciência e a Tecnologia) through grant contract SFHR/BD/86533/2012 under the Human Potential Operational Program Type 4.1 Ad- vanced Training POPH (Programa Operacional Potencial Humano), within the National Strategic Reference Framework QREN (Quadro de Referência Estratégico Nacional), co- funded by the European Social Fund and by national funds from the Portuguese Educa- tion and Science Minister (Ministério da Educação e Ciência). iii iv À minha famí liae amigos. v vi To my family and friends. vii viii Acknowledgments This thesis would not have reached this final stage without my supervisor, my family, and my friends. To my supervisor Professor Abel Gomes. First, for his guidance in helping me defining a proper work plan for my PhD thesis. Second, by his interesting doubts and suggestions, that often resulted in extra programming and writing hours. Third, for his rigorous (and I really mean ‘rigorous’) revision of every single article related to my PhD and thesis chapters/sections. Finally, for accepting, enduring, and surviving being my supervisor, specially because I am sometimes difficult to deal with.
    [Show full text]
  • Cpe/Csc 480 Artificial Intelligence Midterm Section 1 Fall 2005
    C P E / C S C 4 8 0 A RT I F I C I A L I NT E L L I G E NC E M I DT E R M S E C T I O N 1 FA L L 2 0 0 5 PRO F. FRANZ J. KURFESS CAL POL Y, COMPUTER SCIENCE DE PARTMENT This is the Fall 2005 midterm exam for the CPE/CSC 480 class. You may use textbooks, course notes, or other material, but you must formulate the text for your answers yourself. The use of calculators or computers is allowed for viewing documents or for numerical calculations, but not for the execution of algorithms or programs to compute solutions for exam questions. The exam time is 80 minutes. Student Name: Signature: Date: CPE 480 ARTIFICIAL INTELLIGENCE MIDTERM F05 PA RT 1: MULTIPLE CHOICE QUESTIONS Mark the answer you think is correct. I tried to formulate the questions and answers so that there is only one correct answer. Each question is worth 3 points. [30 points] a) Which statement characterizes a rational agent best? ! An agent that performs reasoning steps to select the next action. ! An agent that can explain its choice of an action. ! An agent that always selects the best action under the given circumstances. ! An agent that is capable of predicting the actual outcome of an action. b) What is the most significant aspect that distinguishes an agent with an internal state from a reflex agent? ! An agent that selects its actions based on rules describing common input-output associations.
    [Show full text]
  • Fringe Search Vs. A* for NPC Movement
    Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Fringe Search vs. A* for NPC movement Andru Putra Twinanda - 13506046 Informatics Engineering School of Electrical dan Informatics Engineering Institut Teknologi Bandung Jalan Ganesa 10 e-mail: [email protected] ABSTRACT player will lose. To determine which path they should take, thay need an algorithm that will take them to the This paper presents how artificial intelligence (AI) is player character, effectively and, more important, used in games to solve common problems and provide efficiently. This is the problem of NPC movement. game features, specifically, non-playing character (NPC) path finding. A* algorithm is a well-known algorithm to solve path finding problem. Beside A* algorithm, in this paper, Fringe Search algorithm is introduced. It is more efficient that A* algorithm. Experimental results show that Fringe Search runs roughly 10-40% faster than highly-optimized A* in many application. Keywords: AI, NPC, path finding, A*, Fringe Search, faster. 1. INTRODUCTION Games today are better than at any time in the past. Thanks to the latest powerful hardware Figure 1. Ms. Pacman Screenshot. platforms, artists are creating near photo-realistic How Could The Monsters Find Ms. Pacman? environments, game designers are building finely detailed worlds, and programmers are coding effects more spectacular than ever before. Unfortunately, this leap in graphics quality and richness of detail has not been matched by a similar increase in the sophistication and believability of artificial intelligence (AI). Three common problems that computer games must provide a solution for are non-playing character (NPC) movement, NPC decision making, and NPC learning.
    [Show full text]
  • Video Game Pathfinding and Improvements to Discrete Search on Grid-Based Maps By
    Video Game Pathfinding and Improvements to Discrete Search on Grid-based Maps by Bobby Anguelov Submitted in partial fulfillment of the requirements for the degree Master of Science in the Faculty of Engineering, Built Environment and Information Technology University of Pretoria Pretoria JUNE 2011 © University of Pretoria Publication Data: Bobby Anguelov. Video Game Pathfinding and Improvements to Discrete Search on Grid-based Maps. Master’s dissertation, University of Pretoria, Department of Computer Science, Pretoria, South Africa, June 2011. Electronic, hyperlinked PDF versions of this dissertation are available online at: http://cirg.cs.up.ac.za/ http://upetd.up.ac.za/UPeTD.htm Video Game Pathfinding and Improvements to Discrete Search on Grid-based Maps by Bobby Anguelov Email: [email protected] Abstract The most basic requirement for any computer controlled game agent in a video game is to be able to successfully navigate the game environment. Pathfinding is an essential component of any agent navigation system. Pathfinding is, at the simplest level, a search technique for finding a route between two points in an environment. The real-time multi-agent nature of video games places extremely tight constraints on the pathfinding problem. This study aims to provide the first complete review of the current state of video game pathfinding both in regards to the graph search algorithms employed as well as the implications of pathfinding within dynamic game environments. Furthermore this thesis presents novel work in the form of a domain specific search algorithm for use on grid-based game maps: the spatial grid A* algorithm which is shown to offer significant improvements over A* within the intended domain.
    [Show full text]
  • Forward Perimeter Search with Controlled Use of Memory
    Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence Forward Perimeter Search with Controlled Use of Memory Thorsten Schutt,¨ Robert Dobbelin,¨ Alexander Reinefeld Zuse Institute Berlin, Germany Abstract But the applicability of breadth-first search is limited to problems where the largest search front fits into the main There are many hard shortest-path search problems memory. Parallel implementations of BF-IDA* [Schutt¨ et al., that cannot be solved, because best-first search runs 2011] alleviate this problem by partitioning the search front out of memory space and depth-first search runs out over several computers and thereby utilizing the main memo- of time. We propose Forward Perimeter Search ries of all parallel machines as a single aggregated node store. (FPS), a heuristic search with controlled use of Although these algorithms have been shown to run efficiently memory. It builds a perimeter around the root node on parallel systems with more than 7000 CPU cores, there and tests each perimeter node for a shortest path to exist large problems that cannot be solved with BF-IDA*. the goal. The perimeter is adaptively extended to- Forward Perimeter Search (FPS) allows to steer the mem- wards the goal during the search process. ory consumption within certain limits and it does not suf- We show that FPS expands in random 24-puzzles fer from IDA*’s weaknesses (2) to (4). FPS first generates 50% fewer nodes than BF-IDA* while requiring a set of nodes (the perimeter P ) around the root node and several orders of magnitude less memory. then performs heuristic breadth-first searches to test whether Additionally, we present a hard problem instance any perimeter node p 2 P reaches a solution within a given of the 24-puzzle that needs at least 140 moves to threshold.
    [Show full text]
  • Pathfinding with Hard Constraints - Mobile Systems and Real Time Strategy Games Combined
    Master Thesis Computer Science Thesis no: MCS-2008-2 January 2008 Pathfinding with Hard Constraints - Mobile Systems and Real Time Strategy Games Combined Erdtman, Samuel & Fylling, Johan Department of Interaction and System Design School of Engineering Blekinge Institute of Technology Box 520 SE – 372 25 Ronneby Sweden Contact Information: Author(s): Johan Fylling, Samuel Erdtman [email protected], [email protected] External advisor(s): Alexander Ekvall Pixelknights AB [email protected] University advisor(s): Rune Gustavsson Department of Interaction and System Design Department of Internet : www.bth.se/tek Interaction and System Design Phone : + 46 457 38 50 00 Blekinge Institute of Technology Fax : + 46 457 102 45 Box 520 SE – 372 25 Ronneby Sweden ABSTRACT There is an abundance of pathfinding solutions, but are any of those solutions suitable for usage in a real time strategy (RTS) game designed for mobile systems with limited processing and storage capabilities (such as the Nintendo DS, PSP, cellular phones, etc.)? The RTS domain puts great requirements on the pathfinding mechanics used in the game; in the form of de- mands on responsiveness and path optimality. Furthermore, the Nintendo DS, and its portable, distant relatives, bring hard con- straints on the processing- and memory resources available to said mechanics. This master thesis aims to find a pathfinding solution well suited to function within the above mentioned, narrow domain. From a broad selection of candidate solutions, a few promising subjects are treated to an investigative empirical study; with the goal of finding the best “fitting” solution, considering the domain. The empirical study shows that the triangle-based TRA* solution and the hierarchical-abstraction influenced Minimal Memory so- lution are both very promising candidates.
    [Show full text]
  • HEURISTIC SEARCH with LIMITED MEMORY by Matthew Hatem
    HEURISTIC SEARCH WITH LIMITED MEMORY BY Matthew Hatem Bachelor’s in Computer Science, Plymouth State College, 1999 Master’s in Computer Science, University of New Hampshire, 2010 DISSERTATION Submitted to the University of New Hampshire in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Computer Science May, 2014 ALL RIGHTS RESERVED c 2014 Matthew Hatem This dissertation has been examined and approved. Dissertation director, Wheeler Ruml, Associate Professor of Computer Science University of New Hampshire Radim Bartoˇs, Associate Professor, Chair of Computer Science University of New Hampshire R. Daniel Bergeron, Professor of Computer Science University of New Hampshire Philip J. Hatcher, Professor of Computer Science University of New Hampshire Richard Korf, Professor of Computer Science University of California, Los Angeles Date DEDICATION To Noah, my greatest achievement. iv ACKNOWLEDGMENTS If I have seen further it is by standing on the shoulders of giants. – Isaac Newton My family has provided the support necessary to keep me working at all hours of the day and night. My wife Kate, who has the hardest job in the world, has been especially patient and supportive even when she probably shouldn’t have. My parents, Alison and Clifford, have made life really easy for me and for that I am eternally grateful. Working with my advisor, Wheeler Ruml, has been the most rewarding aspect of this entire endeavor. I would have given up years ago were it not for his passion, persistence and just the right amount of encouragement (actually, I tried to quit twice and he did not let me).
    [Show full text]
  • Performance Evaluation of Pathfinding Algorithms
    University of Windsor Scholarship at UWindsor Electronic Theses and Dissertations Theses, Dissertations, and Major Papers 1-1-2020 Performance Evaluation of Pathfinding Algorithms Harinder Kaur Sidhu University of Windsor Follow this and additional works at: https://scholar.uwindsor.ca/etd Recommended Citation Sidhu, Harinder Kaur, "Performance Evaluation of Pathfinding Algorithms" (2020). Electronic Theses and Dissertations. 8178. https://scholar.uwindsor.ca/etd/8178 This online database contains the full-text of PhD dissertations and Masters’ theses of University of Windsor students from 1954 forward. These documents are made available for personal study and research purposes only, in accordance with the Canadian Copyright Act and the Creative Commons license—CC BY-NC-ND (Attribution, Non-Commercial, No Derivative Works). Under this license, works must always be attributed to the copyright holder (original author), cannot be used for any commercial purposes, and may not be altered. Any other use would require the permission of the copyright holder. Students may inquire about withdrawing their dissertation and/or thesis from this database. For additional inquiries, please contact the repository administrator via email ([email protected]) or by telephone at 519-253-3000ext. 3208. Performance Evaluation of Pathfinding Algorithms By Harinder Kaur Sidhu A Thesis Submitted to the Faculty of Graduate Studies through the School of Computer Science in Partial Fulfillment of the Requirements for the Degree of Master of Science at the University of Windsor Windsor, Ontario, Canada 2019 © 2019 Harinder Kaur Sidhu Performance Evaluation of Pathfinding Algorithms by Harinder Kaur Sidhu APPROVED BY: ______________________________________________ C. Semeniuk Great Lakes Institute for Environmental Research ______________________________________________ A.
    [Show full text]