Fact-checked by Grok 2 weeks ago

Pathfinding

Pathfinding is a fundamental problem in computer science and artificial intelligence that involves determining the shortest or most efficient route between two points in a graph or spatial environment, typically while avoiding obstacles and respecting constraints such as costs or dynamics. It is commonly modeled using graphs where nodes represent locations and edges denote possible movements, enabling applications in diverse fields including video game navigation, robotics, autonomous vehicles, and network routing. Key pathfinding algorithms address variations in graph types—such as unweighted, weighted, directed, or undirected—and balance optimality, efficiency, and adaptability to dynamic changes. finds the shortest path in unweighted graphs by exploring level by level from the start node, making it simple and optimal for uniform-cost scenarios like solving. extends this to weighted graphs, using a to expand the lowest-cost path first, guaranteeing the shortest path when edge weights are non-negative. The A* algorithm, introduced in 1968, combines Dijkstra's cost tracking with a estimate of the distance to the goal, prioritizing promising paths via the f(n) = g(n) + h(n), where g(n) is the cost from the start and h(n) is the . This makes A* optimally efficient among informed search algorithms when the is admissible (never overestimates), and it remains the most widely used due to its balance of speed and accuracy in static environments. Extensions like D* Lite and Anytime Repairing A* (ARA*) handle dynamic settings, such as changing obstacles in , by incrementally updating paths rather than recomputing from scratch. In practice, pathfinding is crucial for enabling behavior; for instance, in , it powers enemy AI to pursue players without getting stuck, while in , it supports navigation for unmanned ground vehicles (UGVs) and aerial drones in obstacle-dense areas. Performance varies by domain factors like size, density, and start-goal distance, with methods often outperforming uninformed ones in large-scale problems but requiring careful design to avoid suboptimal results. Ongoing focuses on integrating for adaptive heuristics and scaling to multi-agent scenarios, where collision avoidance adds complexity.

Fundamentals

Definition and Problem Statement

Pathfinding is the computational process of determining a sequence of moves or positions that forms a path between two specified points, typically a starting point and a goal, within a represented environment such as a graph, grid, or continuous space, often with the objective of minimizing a cost metric like distance, time, or energy consumption. This problem arises in various domains, including navigation, robotics, and artificial intelligence, where the environment may include constraints such as obstacles or varying terrain costs. Formally, the pathfinding problem, often framed as the in , is stated as follows: given a directed or undirected G = (V, E) with set V and edge set E, a starting s \in V, a g \in V, and non-negative weights w(e) assigned to each edge e \in E, identify a P = (v_0 = s, v_1, \dots, v_k = g) such that the total cost \sum_{e \in P} w(e) is minimized, where P consists of edges connecting the vertices in sequence. This assumes the captures the traversable of the environment, with paths required to remain within valid connections. Paths in pathfinding can be categorized by their objectives and constraints: a shortest path minimizes the cumulative under the formal definition above; a feasible path satisfies and requirements, such as staying within bounds or respecting limits, without necessarily optimizing ; and paths may additionally incorporate avoidance, where certain regions or edges are deemed impassable to ensure safety or validity. These types address varying priorities, from efficiency in open spaces to collision-free navigation in cluttered settings. Key assumptions in pathfinding formulations distinguish between discrete spaces, where positions and movements are quantized into a finite or nodes (common in computational implementations for exact solutions), and continuous spaces, where positions form an infinite set requiring approximation techniques like sampling or potential fields for feasible paths. Environments are further classified as static, with fixed obstacles and costs that do not change during computation, or dynamic, where elements like moving agents or altering necessitate replanning to maintain path validity. The origins of pathfinding trace to and early in the 1950s, where problems of optimal routing in networks were formalized amid growing computational capabilities; a seminal contribution came with Edsger W. Dijkstra's 1959 paper, which provided an efficient algorithm for the in weighted graphs, building on prior work like George Dantzig's simplex-based approaches.

Graph Representations and Models

In pathfinding, environments are commonly modeled as graphs, where nodes represent discrete states or positions, and edges denote feasible transitions between them. For discrete spaces, such as uniform grids, the environment is represented using or arrays where each indicates occupancy or traversability, with adjacency implicitly defined by neighboring cells (e.g., 4-connected for cardinal directions or 8-connected including diagonals). Hexagonal grids offer an alternative for more natural movement in certain applications, reducing directional biases while maintaining efficient neighbor generation. These grid-based models are particularly suited to rasterized maps in and games, enabling straightforward implementation with on-the-fly neighbor enumeration to avoid explicit storage of edges. For general graphs, explicit representations include adjacency lists, which store neighbors for each and are memory-efficient for sparse graphs common in pathfinding (O(V + E) space, where V is vertices and E is edges), or adjacency matrices, which use a V × V array for dense connectivity but consume O(V²) space unsuitable for large-scale environments. In continuous s, visibility graphs discretize the problem by constructing a from obstacle vertices and start/goal points, connecting pairs with straight-line edges if unobstructed, thus modeling free as a network of tangent paths around polygonal s. Probabilistic roadmaps (PRMs) address high-dimensional continuous configurations by randomly sampling collision-free s and linking nearby ones with local collision-free paths, forming a that approximates the connectivity of the free . Graphs in pathfinding are classified as unweighted, where all edges imply uniform cost (e.g., unit distance in grids), or weighted, where edge costs reflect real-world metrics such as , traversal time, or risk factors like terrain difficulty or energy expenditure. Weighted models enable more realistic optimization, as seen in environments where paths incur varying penalties, but require algorithms capable of handling non-uniform costs. Obstacles are handled implicitly in graph models by omitting edges between blocked states, such as unconnected cells in grids or absent links in adjacency lists, simplifying representation without additional data structures. Explicit handling involves during edge validation, as in visibility graphs where line segments between vertices are checked against grown obstacle polygons (expanded by robot radius to ensure clearance) or in PRMs where sampled configurations and local paths are tested for intersections with obstacles. Extended state spaces incorporate agent dynamics beyond position, including velocity, orientation, or kinematic constraints, transforming the graph into a higher-dimensional structure where nodes represent full state tuples (e.g., (x, y, v_x, v_y)) and edges enforce feasible accelerations or turning radii. This is essential in robotics for kinodynamic planning, where paths must respect nonholonomic constraints like limited steering, expanding the state space but ensuring executable trajectories. Trade-offs in these representations balance memory usage against query efficiency and preprocessing demands. Grid models offer simplicity and O(1) neighbor access but scale poorly in high dimensions due to exponential memory growth (), limiting them to low-dimensional discrete spaces. Visibility graphs provide exact shortest paths in with O(N² log N) preprocessing for N vertices but become computationally intensive for complex obstacles, while PRMs trade probabilistic completeness for scalability in high dimensions, using O(K) memory for K samples and benefiting from parallel local planner checks at the cost of potential incomplete coverage if sampling is insufficient. Adjacency lists minimize storage for sparse environments compared to matrices, optimizing pathfinding in large, irregularly connected graphs.

Uninformed Search Algorithms

(BFS) is a foundational uninformed used in pathfinding on unweighted , where all edges have equal cost. It systematically explores the graph level by level, starting from the source , ensuring that all at a given from the source are visited before moving to nodes farther away. This level-order traversal is achieved using a first-in, first-out () to manage the nodes pending exploration, which guarantees a breadth-wise expansion rather than depth-wise. To prevent infinite loops in graphs with cycles, BFS maintains a visited set to mark nodes as they are dequeued and processes only unvisited neighbors. The algorithm begins by enqueuing the start node and marking it as visited. It then repeatedly dequeues a node, checks if it is the goal, and enqueues all its unvisited neighbors while updating parent pointers to reconstruct the path if needed. This process continues until the goal is found or the queue empties, indicating no path exists. The following pseudocode outlines the core procedure for finding a path in an unweighted graph:
BFS(Graph G, start s, goal t):
    Create empty queue Q
    Create empty set visited
    Create map parent to track paths
    Q.enqueue(s)
    visited.add(s)
    parent[s] = null

    while Q is not empty:
        u = Q.dequeue()
        if u == t:
            return reconstruct_path(parent, t)  // Backtrack from t to s

        for each neighbor v of u in G:
            if v not in visited:
                visited.add(v)
                parent[v] = u
                Q.enqueue(v)

    return null  // No path found
This implementation assumes an representation for the , allowing efficient neighbor iteration. In terms of complexity, BFS has a of O(|V| + |E|) in the worst case, where |V| is the number of and |E| is the number of edges, since each is enqueued and dequeued at most once, and each edge is examined at most twice (once from each endpoint in undirected graphs). The is also O(|V|), dominated by the and visited set, which may hold up to all in a level during expansion. These bounds hold for both and matrix representations, though are more efficient for sparse graphs common in pathfinding. A key guarantee of BFS is that, in unweighted graphs, it finds the shortest path from the start to the measured by the number of edges, as the level-by-level ensures the first time the goal is dequeued, it has been reached via the minimal number of steps. This optimality stems from the queue property, which processes nodes in non-decreasing order of distance from . However, BFS is limited in applicability to weighted s, where equal treatment of edges ignores varying costs, potentially yielding suboptimal paths, and in large-scale pathfinding problems, its uniform expansion can lead to excessive memory consumption when wide levels in the fill the . For illustration, consider a simple 4x4 grid maze without weights, where open cells are nodes connected to up to four adjacent neighbors (up, down, left, right), excluding walls. Starting from the top-left cell, BFS enqueues it and expands outward level by level—first to its neighbors, then their unvisited neighbors—until reaching the bottom-right goal. The resulting path hugs the shortest route around obstacles, consisting of exactly seven moves in a typical configuration with a few barriers, demonstrating BFS's efficiency for such discrete, unweighted environments.

Dijkstra's Algorithm

is a that computes the shortest paths from a single source to all other vertices in a weighted with non-negative weights. It operates by maintaining estimates of the shortest s and systematically expanding the with the smallest estimate, ensuring that once a is processed, its shortest path is finalized. Developed by in 1956 as part of efforts to optimize network routing computations, the algorithm was first published in 1959. The core mechanism of involves a to select the next to based on the minimum tentative , combined with a relaxation step to potentially improve estimates for adjacent vertices. Specifically, for each extracted vertex u, the algorithm relaxes edges to neighbors v by updating the estimate d(v) if a shorter is found via u: d(v) \leftarrow \min(d(v), d(u) + w(u,v)) where w(u,v) is the weight of the edge from u to v. This continues until the is empty or the target is dequeued, at which point the is complete. When all edge weights are uniform (as in unweighted graphs), specializes to . The following pseudocode outlines the algorithm's execution, assuming a G = (V, E) with s and a heap-based :
DIJKSTRA(G, w, s)
1  Initialize-Single-Source(G, s)
2  Q ← V[G]  // [priority queue](/page/Priority_queue) initially containing all [vertices](/page/Vertex)
3  while Q ≠ ∅
4      do u ← EXTRACT-MIN(Q)
5          for each [vertex](/page/Vertex) v ∈ Adj[u]
6              do RELAX(u, v, w)
Here, Initialize-Single-Source sets d(v) = \infty for all v \in V except d(s) = 0, and inserts all into the keyed by their distance estimates. The RELAX procedure performs the distance update shown above and decreases the of v in the queue if an improvement occurs. The EXTRACT-MIN operation retrieves and removes the with the smallest . In terms of , using a for the , runs in O((|V| + |E|) \log |V|) time, where |V| is the number of vertices and |E| is the number of edges; this bound arises from |V| extract-min operations (each O(\log |V|)) and up to |E| decrease-key operations (each O(\log |V|)). The algorithm guarantees optimal shortest paths provided all weights are non-negative, as the selection ensures that no shorter path can be discovered later for processed vertices. However, it fails to produce correct results if any weights are negative, since a negative could invalidate prior finalizations. To illustrate, consider a network modeled as a where represent vertices and highways represent weighted edges with distances in kilometers. Starting from a source s, would prioritize expanding to the nearest neighboring first, updating routes to farther only after confirming no shorter alternatives exist through intermediate points, ultimately yielding the minimal-distance to each destination .

Informed Search Algorithms

A* Algorithm

The A* algorithm, introduced by Peter E. Hart, Nils J. Nilsson, and Bertram Raphael in 1968, is a widely used informed search method for finding the shortest path from a start node to a goal node in a , particularly effective in large state spaces due to its integration of directional guidance via heuristics. Unlike uninformed searches, A* evaluates nodes not just by the path cost incurred so far but by combining it with an estimate of future costs, prioritizing exploration toward the goal while guaranteeing optimality under certain conditions. This makes it a of pathfinding in domains like and game , where exhaustive exploration is impractical. At its core, A* uses an to rank for expansion: f(n) = g(n) + h(n) where g(n) represents the exact cost of the lowest-cost from the start to the current n, and h(n) is a function providing a non-negative estimate of the minimum cost from n to the . The algorithm maintains an (priority queue ordered by f(n)) of to explore and a of expanded , selecting the lowest f(n) for expansion, generating its successors, and updating their g and f values if a better is found. Expansion continues until the is dequeued from the , at which point the is reconstructed via backpointers. When the h(n) = 0 for all , A* specializes to , expanding purely by increasing cost. Optimality in A* relies on the heuristic's properties: admissibility requires h(n) \leq h^*(n) for all n, where h^*(n) is the true minimum cost to the , ensuring f(n) never overestimates the optimal cost. (or monotonicity) strengthens this by satisfying h(n) \leq c(n, n') + h(n') for every successor n' reached from n via arc cost c, implying admissibility and allowing the to remain final without reopening nodes. A brief proof of optimality under admissibility proceeds by contradiction: assume a suboptimal is found first; then, nodes on the true optimal would have lower or equal f values (since h underestimates), so they would be expanded earlier, yielding the optimum upon selection. In terms of time and space complexity, A* is exponential in the worst case—O(b^d), where b is the and d the solution depth— as it may explore all nodes up to depth d, akin to . However, an effective dramatically reduces expansions by guiding the search, often achieving near-linear performance in practice for structured problems. Common admissible heuristics for grid-based pathfinding include the distance, h(n) = |x_n - x_g| + |y_n - y_g|, which sums absolute differences in coordinates and suits 4-connected grids (no diagonals) without obstacles. The , h(n) = \sqrt{(x_n - x_g)^2 + (y_n - y_g)^2}, estimates straight-line travel and is admissible for any movement allowing direct paths, though it may be less informative in constrained grids. The , h(n) = \max(|x_n - x_g|, |y_n - y_g|), accounts for diagonal moves and fits 8-connected grids, providing a tighter bound when such connectivity is possible. For instance, in grid-based with obstacles—such as a map where cells are nodes connected to adjacent free cells—A* using the starts at a source cell, expands toward the goal by prioritizing low f(n) cells, skirts barriers by marking them untraversable, and reconstructs the obstacle-avoiding shortest path upon reaching the destination. Greedy best-first search is an informed search algorithm that uses a heuristic function to guide the exploration toward the goal by always expanding the node estimated to be closest to the goal, prioritizing computational speed over guarantees of optimality. The mechanism relies on a priority queue where nodes are ordered solely by their heuristic value h(n), which estimates the cost from the current node to the goal; the algorithm ignores the path cost g(n) from the start and repeatedly expands the node with the lowest h(n) until the goal is reached or no nodes remain. This approach simplifies the search process compared to more balanced methods, as it focuses exclusively on promising directions indicated by the heuristic without tracking accumulated costs. One key advantage is its speed, often outperforming A* in practice for certain problems by exploring fewer when the effectively points toward the goal, and its implementation is simpler due to the single evaluation criterion. However, it is neither optimal nor complete, as it may select suboptimal paths or fail to find a if the leads into dead ends or local minima, potentially getting trapped in cycles if not mitigated by visited tracking. It is particularly suitable for scenarios requiring approximations under time constraints, such as systems where finding any feasible path quickly is preferable to an exhaustive optimal search. In relation to A*, best-first search can be viewed as a variant where the f(n) equals h(n) alone, making it heavily heuristic-dominant and degenerating toward breadth-first-like behavior if h(n) is constant (e.g., zero), though it typically emphasizes forward estimates over path history. For instance, in robot arm planning, it enables rapid computation of feasible trajectories in configuration spaces by prioritizing joint configurations closest to the pose, sufficient for applications where minor deviations from optimality are acceptable to meet demands.

Applications

In Video Games

Pathfinding plays a crucial role in video games by enabling non-player characters (NPCs) to navigate complex environments realistically and efficiently, supporting immersive gameplay in genres such as (RTS), first-person shooters (), and open-world adventures. It is commonly used for NPC movement, where characters must avoid static obstacles like walls or terrain while pursuing goals, and for enemy routing, allowing opponents to flank players or coordinate attacks without computational bottlenecks. In RTS games, for instance, hundreds of units may require simultaneous path computations to respond to player commands, emphasizing the need for scalable solutions. Game environments present unique challenges for pathfinding, including dynamic obstacles from moving NPCs or destructible objects, expansive worlds that can span millions of nodes, and stringent frame-rate demands to ensure responsive 60 FPS or higher performance. Unlike static academic benchmarks, game pathfinders must complete queries in milliseconds amid updates, where even minor delays can cause unnatural in movement. Large open worlds exacerbate this by increasing search , often requiring approximations to prevent CPU overload during peak scenarios like mass battles. To overcome these hurdles, developers employ optimizations like precomputed navigation meshes (navmeshes), which represent walkable surfaces as interconnected polygons rather than dense grids, reducing node counts and speeding up searches in spaces. Influence maps further enhance group behaviors by overlaying scalar fields that propagate effects from key points (e.g., enemy positions or resources), guiding flocks of agents toward safe or strategic routes without individual path recomputations. These techniques integrate heuristics, such as slightly overestimated distances (weights of 1.1–1.5), to trade minor path suboptimality for faster results in dynamic contexts. Major game engines provide built-in pathfinding tools leveraging these optimizations. Unity's NavMesh system bakes a mesh from scene geometry offline, then uses A* for runtime queries while handling dynamic obstacles through carveable NavMeshObstacle components that update the mesh locally without full rebakes. Similarly, employs Recast for automated navmesh generation via voxelization and , paired with for efficient path queries and , supporting tiled updates for streaming large worlds and avoiding collisions among multiple agents. These integrations allow developers to achieve high performance, with path computations limited to fixed iterations per frame to maintain fluidity. A notable case study is StarCraft, where pathfinding manages unit movement in fast-paced RTS battles involving up to 400 agents. The system hybridizes A* on a grid-based graph for coarse global paths with potential fields for fine-grained local avoidance of dynamic obstacles like other units or buildings, enabling collision-free routing and adaptive formations under real-time constraints. This approach ensures units reach destinations efficiently even amid chaos, contributing to the game's tactical depth. The evolution of pathfinding in traces from rudimentary grid-based methods in titles, which divided maps into uniform cells for simple breadth-first or A* searches suitable for limited , to today's hybrid systems blending navmeshes, hierarchical planning, and AI-driven adjustments for vast, interactive worlds. Early games like those from the arcade era relied on coarse grids for basic enemy pursuit, but as advanced in the and , techniques shifted to networks and polygon-based navmeshes to handle complexity and dynamism, as seen in modern productions.

In Robotics and Autonomous Systems

Pathfinding in and autonomous systems involves computing feasible trajectories for physical agents in real-world environments, often integrating kinematic constraints to ensure motions respect the robot's and joint limits. A historical milestone in this domain is , developed at from 1966 to 1972, which pioneered early pathfinding by combining perception, planning, and execution to navigate indoor spaces autonomously. Key aspects include that accounts for to generate smooth, executable paths, alongside collision avoidance leveraging sensors like for real-time obstacle detection and for mapping unknown or changing environments. Adapted algorithms address the complexities of physical spaces, such as Rapidly-exploring Random Trees (RRT), which efficiently sample high-dimensional configuration spaces to find collision-free paths by incrementally building a toward random points in the state space. For local avoidance, artificial potential fields treat goals as attractive forces and obstacles as repulsive ones, enabling reactive navigation without exhaustive search. Standards like the (ROS) provide modular frameworks, including the Navigation Stack, which integrates global planners (e.g., for lattice-based paths) with controllers for obstacle circumvention in sensor-driven setups. These often discretize continuous spaces into models for efficient search, linking to fundamental representations in pathfinding. Applications span warehouse automation and autonomous vehicles; for instance, Amazon's robots (now Drive Units) use pathfinding to transport shelves in cluttered fulfillment centers, optimizing routes amid thousands of units to reduce and human-robot interactions. In self-driving cars, employs trajectory planning to generate safe, drivable paths by predicting dynamic elements like pedestrians and vehicles from sensor data. Challenges persist in handling uncertainty from dynamic environments, where moving obstacles require probabilistic modeling, and real-time replanning demands algorithms that recompute paths in milliseconds without halting motion.

Advanced Techniques

Hierarchical Pathfinding

Hierarchical pathfinding addresses the scalability challenges of standard algorithms in large environments by decomposing the search space into multiple abstraction levels, typically a high-level coarse graph and one or more low-level fine graphs. The core concept involves planning an abstract path on the coarse graph, which connects larger regions or clusters, and then refining it into a detailed path on the fine graph within those regions. This two-phase approach—abstract planning followed by local refinement—leverages precomputed summaries of local connectivity to avoid exhaustive searches across the entire space. A prominent algorithm in this domain is Hierarchical A* (HA*), which extends the A* search by applying it sequentially across hierarchy levels, often using clusters or manually placed waypoints to define abstract nodes and edges. In HA*, the high-level graph represents inter-cluster connections with edge costs derived from optimal low-level paths between entry/exit points, enabling efficient global routing before local A* resolves intra-cluster details. A specific implementation, HPA* (Hierarchical Path-Finding A*), automates cluster formation on grid maps by dividing the space into square regions and precomputing shortest paths between boundary entrances, ensuring near-optimal results without domain-specific heuristics. The primary benefits include substantial reductions in computational cost, as the high-level search operates on a much smaller , potentially shrinking the effective from O(n²) expansions in a full of size n to significantly fewer expansions (often reductions depending on depth and cluster size) in balanced hierarchies. For instance, HPA* achieves up to 10-fold speedups over optimized A* on large static , with average query times under 10 on 800 MHz , while producing near-optimal paths that, after post-processing smoothing, deviate by about 1% from optimal. This efficiency is particularly valuable in expansive domains like open-world , where region graphs abstract vast terrains into navigable zones for rapid NPC routing. Despite these advantages, hierarchical methods incur preprocessing overhead for building abstract graphs, including time and storage for intra- path caching, which scales with depth and can be prohibitive in highly dynamic settings. Additionally, abstraction mismatches—such as poor boundaries—may yield suboptimal or even invalid paths if local refinements fail to connect high-level segments accurately. Variants adapt the hierarchy to specific structures; for example, quadtree-based approaches recursively partition space into uniform quadrants, enabling adaptive resolution in GIS applications where on quadtree abstractions accelerate least-cost pathfinding over nonuniform raster terrains by minimizing node evaluations. Corridor-based hierarchies, as in the Corridor Map Method, decompose environments into funnel-shaped corridors connecting free space, precomputing smooth paths along medial axes for real-time planning in crowded or irregular layouts like multi-agent simulations. Recent advances as of 2025 include dynamic hierarchical methods like DHPA* for updates in worlds and HMLPA* for efficient multi-target planning in indoor environments, enhancing adaptability to changing obstacles and structured spaces.

Multi-Agent Pathfinding

(MAPF) is the combinatorial problem of computing collision-free paths for a set of k cooperative s on an undirected , where each i moves from its start s_i to its g_i while avoiding or conflicts with other agents at any discrete time step. The primary objectives are to minimize the sum-of-costs (), defined as the total travel time across all agents, or the , the maximum time until all agents reach their goals. This problem generalizes single-agent pathfinding by incorporating inter-agent constraints, making coordination essential to prevent deadlocks or collisions. MAPF approaches are classified as centralized or decentralized. Centralized methods treat the problem as a joint search over the combined state space of all s, expanding configurations to ensure global optimality but facing in complexity with k. For instance, multi-agent A* extends the single-agent A* by searching in a k- state space, where each node represents the joint positions and actions of all s. Decentralized methods allow s to plan independently using local , improving scalability through mechanisms like assignment or reactive avoidance, though they often sacrifice optimality. Examples include -based planning, where s are ordered by and lower- s treat higher ones as moving obstacles. A seminal centralized approach is , introduced by et al. in 2015, which operates on a two-level to resolve conflicts iteratively while maintaining optimality guarantees for or . At the high level, CBS constructs a constraint tree starting from initial individual paths computed via low-level single-agent searches (e.g., A*); when a conflict arises between two agents (such as swapping positions or occupying the same ), it branches by adding pairwise constraints to forbid the conflicting actions for each agent, infeasible branches. The low level then recomputes paths for affected agents under these accumulating constraints, as needed until a conflict-free solution is found. CBS avoids full joint state expansion by focusing only on conflicting subsets, achieving significant efficiency over naive multi-agent A* in practice. MAPF is NP-hard, even for makespan minimization on graphs with uniform edge costs, due to the exponential number of possible joint configurations and the need to decouple agent interactions for tractable approximations. Decentralized methods mitigate this by decoupling planning, but centralized solvers like remain preferred for optimality despite higher computational demands on large instances (e.g., grids exceeding 100x100 with dozens of s). Key applications include , where MAPF coordinates fleets of mobile robots for tasks like or in shared environments, and systems for optimizing vehicle or routes to reduce . In warehouse logistics, it enables efficient picker routing for autonomous guided vehicles. Standard evaluation metrics for MAPF algorithms encompass for total efficiency, for completion time, and success rate as the proportion of solvable instances without collisions, often benchmarked on standardized datasets like random grids or movingai benchmarks. As of 2025, recent advances incorporate , such as MAPF-GPT for learnable solvers with to improve generalization, and lifelong MAPF variants with caching mechanisms to handle sequential tasks in dynamic environments like autonomous warehouses more efficiently.

References

  1. [1]
    [PDF] Evaluating Heuristic Search Algorithms in Pathfinding
    The paper presents a comprehensive performance evaluation of some heuristic search algorithms in the context of autonomous systems and robotics.
  2. [2]
    Introduction to A* - Stanford CS Theory
    Sep 23, 2025 · The pathfinding algorithms from computer science textbooks work on graphs in the mathematical sense—a set of vertices with edges connecting them ...
  3. [3]
    [PDF] Fundamentals of Pathfinding - CMU School of Computer Science
    These algorithms are often paired up with a maze/terrain generation algorithm as part of MVP. Later on more pathfinding algorithms can be added for additional.
  4. [4]
    Red Blob Games: Introduction to A*
    ### Summary of Pathfinding from Red Blob Games
  5. [5]
    [PDF] A Survey of Shortest-Path Algorithms - arXiv
    May 4, 2017 · The shortest-path problem is one of the well-studied topics in computer science, specifically in graph theory. An optimal shortest-path is one ...
  6. [6]
    [PDF] A Note on Two Problems in Connexion with Graphs
    Numerische Mathematik 1, 269-271 (1959). A Note on Two Problems in Connexion with Graphs. By. E. W. DIJKSTRA. \Ve consider n points (nodes), some or all pairs ...
  7. [7]
    [PDF] Chapter 13 Shortest Paths
    In this chapter we will cover problems involving finding the shortest path between vertices in a graph with weights (lengths) on the edges.
  8. [8]
    Obstacle Avoidance and Path Planning Methods for Autonomous ...
    Path planning creates the shortest path from the source to the destination based on sensory information obtained from the environment. Within path planning ...
  9. [9]
    Pathfinding Algorithms- Top 5 Most Powerful - Graphable
    Jun 6, 2023 · They enable machines to navigate efficiently through complex environments by finding the shortest or most efficient path between two points.What are Pathfinding... · Top 5 Pathfinding Algorithms · A* algorithm
  10. [10]
    Robotic Path Planning - MIT Fab Lab
    Although continuous maps have clear memory advantages, discrete maps are most common in robotic path planning because they map well to graph representations ...<|separator|>
  11. [11]
    A Systematic Review and Analysis of Intelligence-Based Pathfinding ...
    Static refers to discovering the route globally in a static environment. Dynamic pathfinding on the other hand refers to finding the route locally in dynamic ...
  12. [12]
    [PDF] On the History of the Shortest Path Problem - EMIS
    Dijkstra's method is easier to implement (as an O(n2) algorithm) than. Dantzig's, since we do not need to store the information in lists: in order to find a ...
  13. [13]
    Grid-Based Path-Finding - SpringerLink
    May 28, 2002 · Grid representations discussed are 4-way tiles, 8-way tiles, and hexes. This paper introduces texes as an efficient representation of hexes. The ...<|separator|>
  14. [14]
    [PDF] Benchmarks for Grid-Based Pathfinding
    Abstract—The study of algorithms on grids has been widespread in a number of research areas. Grids are easy to implement and offer fast memory access.
  15. [15]
    [PDF] Understanding Graph Databases: A Comprehensive Tutorial ... - arXiv
    Nov 15, 2024 · 3) Adjacency Matrix: An adjacency matrix represents the connections between nodes in a graph, where each matrix element indicates the presence ...
  16. [16]
    [PDF] Visibility Graph Path Planning - Columbia CS
    The shortest path in distance can be found by searching the Graph G using a shortest path search (Dijkstra's Algo- rithm) or other heuristic search method. ...
  17. [17]
    [PDF] Probabilistic Roadmaps for Path Planning in High-Dimensional ...
    In the learning phase, a probabilistic roadmap is constructed and stored as a graph whose nodes correspond to collision-free configurations and whose edges ...
  18. [18]
    [PDF] Comparative Analysis of Weighted Pathfinding in Realistic ...
    Jun 17, 2017 · Weighted graphs have a cost associated with every edge. This can be interpreted as some edges being longer than others, or requiring more time ...
  19. [19]
    [PDF] Kinodynamic Planning in the Configuration Space via Admissible ...
    At the heart of this method is a new technique – called Admissible Velocity Propagation (AVP) – which, given a path in the configuration space and an interval.
  20. [20]
    [PDF] Optimizing Motion-Constrained Pathfinding
    Assuming there are N states in the original state space before adding motion constraints, we compute the size of the state space that results from im- posing ...
  21. [21]
    The breadth-first search algorithm (BFS) (article) | Khan Academy
    In BFS, we initially set the distance and predecessor of each vertex to the special value ( null ). We start the search at the source and assign it a distance ...
  22. [22]
    [PDF] BFS, DFS, Shortest Paths - Washington
    Jul 31, 2020 · - Graph algorithms often just need to iterate over all the neighbors, so you might get a better guarantee with the linked list. Page 12. CSE 373 ...
  23. [23]
    [PDF] Chapter 12 Shortest Paths
    The reason why BFS works on unweighted graphs is quite interesting and helpful for understanding other shortest path algorithms. The key idea behind BFS is to ...
  24. [24]
    Lecture 30: Breadth-first search and Depth-first search on graphs
    Breadth-first search has one advantage over depth-first search, in that it will find the shortest path between the two vertices, in terms of the number of edges ...
  25. [25]
    [PDF] Breadth first search on massive graphs∗
    Breadth first search is a fundamental graph traversal strategy. It can also be viewed as computing single source shortest paths on unweighted graphs. It ...
  26. [26]
    Dijkstra's Algorithm - cs.wisc.edu
    Dijkstra's algorithm is a greedy algorithm that solves the single-source shortest path problem for a directed or undirected graph with non-negative edge weights ...
  27. [27]
    [PDF] Lecture 16: Shortest Paths II - Dijkstra - csail
    Repeatedly select u V − S with minimum shortest path estimate, add u to S, relax all edges out of u. Pseudo-code. Dijkstra (G, W, s). //uses priority queue Q.
  28. [28]
    A note on two problems in connexion with graphs
    A note on two problems in connexion with graphs. Published: December 1959. Volume 1, pages 269–271, (1959); Cite this article. Download PDF · Numerische ...
  29. [29]
    CS 312 Lecture 25 Priority Queues, Heaps, Shortest Paths
    If q is a FIFO queue, we do a breadth-first search of the graph. If q is a LIFO queue, we do a depth-first search. If the graph is unweighted, we can use a ...Missing: space | Show results with:space
  30. [30]
    [PDF] astar.pdf - Stanford AI Lab
    HART, MEMBER, IEEE, NILS J. NILSSON, MEMBER, IEEE, AND BERTRAM RAPHAEL. Abstract-Although the problem of determining the minimum cost path through a graph ...
  31. [31]
    Heuristics - Stanford CS Theory
    Sep 23, 2025 · ALT A* (Computing the Shortest Path: Search Meets Graph Theory) uses “landmarks” and the triangle inequality to preprocess the pathfinding graph ...
  32. [32]
    1.4 Informed Search | Introduction to Artificial Intelligence
    Description - Greedy search is a strategy for exploration that always selects the frontier node with the lowest heuristic value for expansion, which corresponds ...Missing: best- | Show results with:best-
  33. [33]
    CS 540 Lecture Notes: Informed Search - cs.wisc.edu
    Assuming all arc costs are 1, then Greedy Best-First search will find the left goal, which has a solution cost of 5, while the optimal solution is the path to ...
  34. [34]
    Search-Based Planning and Replanning in Robotics ... - IntechOpen
    Configuration space of 2DOF robot arm that represents a set of collision ... Greedy best-first search has the best computation; however, it does not ...
  35. [35]
    [PDF] Pathfinding Architecture Optimizations - Game AI Pro
    This simple optimization will speed up a search by roughly one over the branching factor. For a grid search space this is 1/8, but for a navmesh search space ...
  36. [36]
    (PDF) A*-based Pathfinding in Modern Computer Games
    ... Among these techniques, one of the most common challenges in video games is path nding, which involves intelligently avoiding obstacles and determining the ...
  37. [37]
    [PDF] Video Game Pathfinding and Improvements to Discrete Search on ...
    The three most common representations are discussed namely waypoint based, navigation mesh based, and grid based navigational graphs. Chapter 4 discusses the ...
  38. [38]
    Navigation Meshes and Pathfinding - Artificial Intelligence - Tutorials
    Apr 27, 2018 · A navigation mesh is actually a 2D grid of an unknown or infinite size. In a 3D game, it is common to represent a navigation mesh graph as a ...
  39. [39]
    [PDF] Influence Map-Based Pathfinding Algorithms in Video Games
    Influence maps are a spatial reasoning technique that helps bots and players to take decisions about the course of the game. Influence map represent game ...
  40. [40]
    Unity - Scripting API: NavMesh
    ### Summary of Unity's NavMesh for Pathfinding
  41. [41]
    Industry-standard navigation-mesh toolset for games - GitHub
    Recast constructs a navmesh through a multi-step mesh rasterization process. You can use Recast to build a single navmesh, or a tiled navmesh.
  42. [42]
    (PDF) Hybrid Pathfinding in StarCraft - ResearchGate
    Aug 10, 2025 · Pathfinding algorithms have many uses, such as autonomous vehicle [1], unit movement in video games [2] , path planner application [3], and ...<|separator|>
  43. [43]
    [PDF] Pathfinding in Computer Games - Arrow@TU Dublin
    Pathfinding in games uses strategies to find a path from a start to a destination, often using precomputed data structures, and is a core part of AI movement.
  44. [44]
    Ch. 6 - Motion Planning - Robotic Manipulation
    Oct 15, 2025 · In this chapter, we will explore some of the powerful methods of kinematic trajectory motion planning.Missing: LIDAR | Show results with:LIDAR
  45. [45]
    Milestones:SHAKEY: The World's First Mobile Intelligent Robot, 1972
    Feb 12, 2024 · The world's first mobile intelligent robot, SHAKEY. It could perceive its surroundings, infer implicit facts from explicit ones, create plans, recover from ...<|separator|>
  46. [46]
    Motion planning for robotics: A review for sampling-based planners
    A key challenge is developing efficient motion planning algorithms that allow robots to navigate complex environments while avoiding collisions and optimizing ...
  47. [47]
    How do robots handle obstacle avoidance and path planning? - Milvus
    Robots handle obstacle avoidance and path planning through a combination of sensors, algorithms, and real-time decision-making. Sensors like LiDAR, cameras, ...
  48. [48]
    [PDF] Rapidly-Exploring Random Trees: A New Tool for Path Planning
    Abstract. We introduce the concept of a Rapidly-exploring Ran- dom Tree (RRT) as a randomized data structure that is designed for a broad class of path ...
  49. [49]
    [PDF] Real-Time Obstacle Avoidance for Manipulators and Mobile Robots
    This paper presents a unique real-time obstacle avoidance approach for manipulators and mobile robots based on the artificial potential field concept.
  50. [50]
    Robot Operating System (ROS) | SwRI
    ROS is an open-source project providing a common framework for robotics, enabling manipulation in dynamic environments and enabling comparison between robots.<|separator|>
  51. [51]
    How Amazon robots navigate congestion
    Amazon fulfillment centers use thousands of mobile robots. To keep products moving, Amazon Robotics researchers have crafted unique solutions.
  52. [52]
    Trajectory Prediction for Autonomous Driving - arXiv
    Sep 20, 2025 · The sensor data is processed by the perception module and then passed to motion prediction and planning components. Waymo adopts a modular ...Missing: pathfinding | Show results with:pathfinding
  53. [53]
    A Comprehensive Study of Recent Path-Planning Techniques in ...
    This paper presents a comprehensive review of path planning in dynamic environments. This review covers the entire process, starting from obstacle detection ...
  54. [54]
    Real-time path planning in dynamic environments using LSTM ...
    Path planning is a foundational challenge in robotics and autonomous systems, wherein an agent must compute a collision-free trajectory from a start to a goal ...
  55. [55]
    (PDF) Near optimal hierarchical path-finding (HPA*) - ResearchGate
    This paper presents HPA* (Hierarchical Path-Finding A*), a hierarchi-cal approach for reducing problem complexity in path-finding on grid-based maps.
  56. [56]
    Using the Hierarchical Pathfinding A* Algorithm in GIS to Find Paths ...
    Compared to using the original raster for pathfinding, a quadtree-based search for an optimum path may be substantially faster, as the number of cells (nodes) ...
  57. [57]
    [PDF] The Corridor Map Method: Real-Time High-Quality Path Planning
    In this paper, we extend and generalize their results by proposing a general framework, called the Corridor Map. Method (CMM). We show how the framework can ...
  58. [58]
  59. [59]
  60. [60]
    [PDF] Search-Based Optimal Solvers for the Multi-Agent Pathfinding Problem
    Instead, this paper focuses on and summarizes a line of work on optimal MAPF solvers and in particular on search-based solvers which were usually designed for ...
  61. [61]
    A Comprehensive Survey of Classic and Learning-Based Multi ...
    May 25, 2025 · Where Paths Collide: A Comprehensive Survey of Classic and Learning-Based Multi-Agent Pathfinding. Authors:Shiyue Wang, Haozheng Xu, Yuhan Zhang ...Missing: seminal | Show results with:seminal
  62. [62]
  63. [63]
  64. [64]
    View of Multi-Agent Pathfinding: Definitions, Variants, and Benchmarks
    1 IntroductionMAPF is an important type of multi-agent planning prob-lem in which the task is to plan paths for multiple agents,where the key constraint is ...Missing: seminal | Show results with:seminal