D Lite* is a focused, incremental replanning algorithm that efficiently finds the shortest path from a start to a goal in a graph where edge costs can increase or decrease over time. It is a simplified, more practical variant of the D algorithm*, sharing core concepts with Lifelong Planning A* (LPA*). Its primary innovation is reusing information from previous searches to repair the optimal path when changes are detected, avoiding a complete recomputation from scratch. This makes it highly effective for real-time navigation of robots and autonomous agents where the map or obstacle costs are discovered or updated during execution.
Glossary
D* Lite

What is D* Lite?
D* Lite is an incremental graph search algorithm for efficient real-time path replanning in dynamic or partially unknown environments.
The algorithm operates by maintaining two cost estimates for each node: a g-value (cost from start) and a rhs-value (one-step lookahead cost). When an edge cost change is detected, D* Lite updates the affected rhs-values and efficiently propagates these changes through a priority queue, similar to LPA*. Its key advantage is a simpler, more intuitive implementation than the original D*, achieved by always searching backwards from the goal to the current robot position. This backward search and incremental update strategy provides the computational efficiency required for real-time navigation in warehouses, logistics, and other dynamic operational environments.
Key Features of D* Lite
D* Lite is an incremental heuristic search algorithm designed for efficient path replanning in dynamic or partially unknown environments. It is functionally equivalent to Lifelong Planning A* (LPA*) but is derived from and maintains the conceptual simplicity of the original D* algorithm.
Incremental Search
D* Lite is an incremental algorithm, meaning it reuses information from previous searches to repair the path when the underlying graph changes (e.g., new obstacles are discovered). Instead of replanning from scratch, it efficiently updates only the parts of the search tree affected by cost changes, dramatically reducing computation time compared to a complete A* rerun. This makes it suitable for real-time applications where the environment model is updated frequently by sensor data.
Lifelong Planning A* (LPA*) Foundation
The algorithm is mathematically equivalent to LPA* but is derived from the perspective of the original D* algorithm. It uses the same two key heuristic estimates for each node s:
- g(s): The current cost from the start to
s. - rhs(s): A one-step lookahead value,
rhs(s) = min_{s'∈Pred(s)}(g(s') + c(s', s)), wherePred(s)are the predecessors ofsandcis the edge cost. A node is consistent ifg(s) = rhs(s). The algorithm works to repair inconsistencies caused by edge cost changes, propagating them efficiently through the graph.
Reverse Search Direction
Unlike forward-searching algorithms like A*, D* Lite performs its search backwards from the goal to the start. This key design choice is optimal for mobile robot navigation where the start position (the robot's current location) changes with every move, but the goal often remains fixed. By searching from the goal, the algorithm maintains a consistent heuristic rooted at the goal, and the robot simply moves to the neighbor with the lowest g-value, recalculating the path only when needed.
Priority Queue with Key Heuristics
D* Lite uses a priority queue to efficiently manage which nodes to process. The queue is ordered by a two-component key: k(s) = [k1(s); k2(s)].
- k1(s) = min(g(s), rhs(s)) + h(s_start, s) + km
- k2(s) = min(g(s), rhs(s))
The
h(s_start, s)term is the heuristic from the start to the node, and km is a correction factor that tracks changes in the start position. This key structure ensures nodes are expanded in an order that focuses the search effectively on the most relevant inconsistencies.
Adaptive Heuristic & km Correction
The algorithm maintains an adaptive heuristic that remains admissible despite changes in the robot's start position. The km variable is incremented by the heuristic cost h(s_last, s_new) whenever the robot moves from s_last to s_new. This adjustment is added to all new priority queue keys, effectively lowering the priority of nodes affected by the robot's movement and preserving the optimality of the search without requiring a full heuristic recalculation.
Practical Implementation Simplicity
A major advantage of D* Lite over the original D* is its conceptual and implementation simplicity. By being derived from and equivalent to LPA*, it can be implemented with a standard priority queue and the well-understood g/rhs value propagation logic. This makes it more accessible, debuggable, and maintainable in production robotics software stacks, leading to its widespread adoption for dynamic grid-based navigation in warehouses, autonomous vehicles, and video games.
How D* Lite Works
D* Lite is an incremental heuristic search algorithm that efficiently re-plans optimal paths for robots navigating in partially known or dynamic environments.
D* Lite is a focused incremental replanning algorithm derived from Lifelong Planning A* (LPA*). It maintains a consistent heuristic by searching backwards from the goal and incrementally repairs the cost-to-go (rhs-values) and g-values of affected states when edge costs in the graph change. This allows it to reuse previous search results, making subsequent replans far faster than a complete A* search from scratch. Its key innovation is a simpler, more intuitive formulation than the original D* algorithm, leading to widespread adoption in robotics.
The algorithm operates in cycles of ComputeShortestPath() and edge cost updates. When a sensor detects a new obstacle or a changed traversal cost, D* Lite updates the local edge costs and affected vertex priorities in its priority queue. It then efficiently propagates these changes, only expanding states whose cost estimates are inconsistent. This lazy evaluation and focused repair make it exceptionally efficient for real-time navigation where the majority of the environment remains static between sensor updates.
D* Lite vs. D* and Lifelong Planning A* (LPA*)
A technical comparison of three key incremental search algorithms used for real-time path replanning in dynamic or partially known environments.
| Algorithmic Feature | D* Lite | Original D* | Lifelong Planning A* (LPA*) |
|---|---|---|---|
Core Design Philosophy | Simplified, focused incremental replanner | Generalized, complex incremental replanner | Incremental version of A* for repeated searches |
Primary Use Case | Real-time navigation in unknown/dynamic environments | Robot navigation in unknown environments (original use) | Repeated pathfinding on a graph with changing edge costs |
Search Direction | Backward search from goal to start | Backward search from goal to start | Forward search from start to goal |
Heuristic Requirement | Consistent heuristic required | No heuristic required (cost-to-go estimates used) | Consistent heuristic required |
First Solution | Optimal path on known graph | Optimal path on known graph | Optimal path on known graph |
Incremental Update Efficiency | High (reuses most previous search tree) | High (reuses previous search tree) | High (reuses previous search tree) |
Implementation Complexity | Low (simpler than D*, similar to LPA*) | High (complex state management and propagation) | Medium (requires careful management of rhs values and queues) |
Key Data Structure | Priority queue with two keys (similar to LPA*) | OPEN list with state propagation logic | Priority queue with two keys (k1, k2) |
Underlying Framework | Built upon LPA* principles | Unique, proprietary incremental framework | Incremental extension of the A* algorithm |
Formal Proofs & Properties | Well-documented, inherits LPA* properties | Complex, original proofs | Well-documented, formally proven properties |
Common Applications of D* Lite
D* Lite is a foundational algorithm for real-time, incremental path replanning. Its efficiency in dynamic environments makes it a cornerstone for several critical robotics and autonomous systems applications.
Real-Time Strategy (RTS) Games & Simulation
Game AI engines utilize D* Lite to manage unit pathfinding for hundreds of entities in dynamically changing battlefields. It handles:
- Terrain deformation from explosions or spell effects that alter traversability.
- Dynamic blocking by moving units, requiring constant, efficient path updates to avoid congestion and deadlock.
- Resource-gathering agent routing where new resource nodes are discovered or depleted. The algorithm's deterministic performance ensures predictable frame-rate impact, which is essential for real-time gaming.
Warehouse & Logistics Automation
D* Lite is integral to Autonomous Mobile Robot (AMR) fleets in fulfillment centers. It enables efficient replanning in response to:
- Dynamic inventory: Pallets, carts, and human workers constantly change the free space on the floor.
- Zone management: Temporarily blocked aisles for maintenance or high-priority traffic.
- Task re-prioritization: Immediate rerouting to handle a new high-urgency pick request. By minimizing replanning latency, D* Lite maximizes fleet throughput and minimizes stoppages, directly impacting operational Key Performance Indicators like orders per hour.
Unmanned Aerial Vehicle (UAV) Missions
For drones performing surveillance, inspection, or delivery in complex airspace, D* Lite provides robust in-flight replanning. It addresses:
- Pop-up no-fly zones or temporary airspace restrictions.
- Unexpected static obstacles like newly constructed buildings or cranes not on the original map.
- Adverse weather avoidance, where wind shear or storm cells create high-cost regions that must be navigated around. The algorithm's focus on cost-to-goal optimization is used to balance path safety, battery efficiency, and mission completion time.
Comparison to Related Planners
Understanding where D* Lite fits among other algorithms clarifies its application scope.
- Vs. A*: A* is optimal for a single, static planning query. D* Lite is superior for repeated replanning in changing environments, as it is incremental.
- Vs. D*: The original D* algorithm is more complex. D* Lite provides equivalent functionality with simpler implementation, making it the preferred choice in most practical robotics systems.
- Vs. RRT*: RRT* is sampling-based and excels in high-dimensional spaces (e.g., manipulator arms). D* Lite is search-based and is typically used for 2D or 3D grid-based navigation.
- Vs. Model Predictive Control (MPC): MPC optimizes a continuous control sequence. D* Lite finds a discrete path; they are often used together, with D* Lite providing a global path and MPC executing smooth local trajectory tracking.
Frequently Asked Questions
D* Lite is a cornerstone algorithm for real-time navigation in dynamic environments. This FAQ addresses its core mechanics, implementation, and role in modern robotics and logistics systems.
D* Lite is an incremental search algorithm for efficient path replanning in partially known or dynamically changing environments. It works by intelligently repairing a previous optimal path when edge costs in the graph change, rather than planning from scratch. The algorithm maintains two estimates for each node: a g-value (cost from start) and a rhs-value (one-step lookahead cost based on neighbors' g-values). A node is consistent if g = rhs, and inconsistent otherwise. When an obstacle appears or a cost changes, D* Lite updates the rhs-values of affected nodes and places them on a priority queue sorted by a key function that combines path cost and heuristic. It then processes the queue to restore consistency for all relevant nodes, efficiently propagating cost changes and yielding a new optimal path from the robot's current position to the goal.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
D* Lite operates within a broader ecosystem of algorithms and concepts for dynamic path planning. These related terms define the foundational methods, optimal variants, and multi-agent extensions that form the core toolkit for real-time navigation in robotics and autonomous systems.
A* Algorithm
The foundational graph search algorithm upon which D* Lite is built. A* finds the least-cost path from a start to a goal node using a best-first search guided by a heuristic function h(n) that estimates the cost to the goal. Its core components are:
g(n): The known cost from the start node to noden.h(n): The admissible heuristic estimating cost fromnto the goal.f(n) = g(n) + h(n): The estimated total path cost throughn, used to prioritize node expansion. D* Lite inherits A*'s optimality guarantees but modifies its operation for efficient replanning.
Lifelong Planning A* (LPA*)
The direct algorithmic predecessor to D* Lite. LPA* is an incremental search algorithm that reuses information from previous searches to find new optimal paths when edge costs in the graph change. Key innovations include:
- Rhs-values: A one-step lookahead value that allows efficient inconsistency detection.
- Priority queue management: Nodes are processed based on a key that combines
gandrhsvalues. - Efficient updates: Only locally affected parts of the graph are recalculated. D* Lite simplifies LPA*'s implementation and is often preferred for its conceptual clarity while maintaining similar performance for path planning in dynamic grids.
D* Algorithm
The original incremental replanning algorithm for unknown environments, which D* Lite was designed to emulate more simply. The original D* (Dynamic A*) works by searching backwards from the goal and propagating cost changes through the graph. Its characteristics include:
- Backward search: Maintains optimal paths from all states to the goal.
- State tagging: Uses
NEW,OPEN, andCLOSEDstates with complex propagation rules. - Robotic heritage: Famously used on NASA's Mars rovers for online navigation. While powerful, D*'s implementation complexity led to the development of the simpler, forward-searching D* Lite, which produces equivalent paths.
Incremental Algorithm
The broader computational class to which D* Lite belongs. An incremental algorithm is designed to efficiently update its output when given a small change to its input, reusing previous computations rather than restarting from scratch. This is critical for real-time systems where:
- Environment changes are local (e.g., a new obstacle appears).
- Recomputation from scratch is prohibitively expensive.
- Low latency is required for responsive control. D* Lite's incremental nature allows it to repair paths orders of magnitude faster than replanning with A* after each environmental change.
Multi-Agent Path Finding (MAPF)
The problem domain where D* Lite is often deployed as a single-agent component within a larger coordination framework. MAPF involves finding collision-free paths for multiple agents from start to goal locations. D* Lite can be used for individual agent navigation in MAPF systems that employ:
- Coupled approaches: Where a joint plan is made for all agents (e.g., Conflict-Based Search).
- Decoupled approaches: Where agents plan independently but coordinate (e.g., with ORCA). In decoupled systems, each agent may use D* Lite for its local, dynamic path planning while a higher-level protocol resolves inter-agent conflicts.
Execution Monitoring
The operational process that triggers D* Lite's replanning cycle. Execution monitoring is the continuous comparison of an agent's actual sensor state against its expected plan state. When a discrepancy is detected—such as an unmapped obstacle—it generates a replanning trigger. This closed-loop process is essential for robust autonomy:
- Plan: Generate an initial path with D* Lite.
- Execute & Monitor: Move along the path while checking sensors.
- Detect Change: Identify new obstacles or cost changes.
- Replan: Invoke D* Lite's incremental update to repair the path. D* Lite provides the computational engine for the rapid replanning required in this cycle.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us