ArticleslgStudy

computer science

Lifelong Planning A*

Lifelong Planning A* is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Lifelong Planning A* rather than just read about it. In short: LPA* or Lifelong Planning A* is an incremental heuristic search algorithm based on A*. It was first described by Sven Koenig and Maxim Likhachev in 2001.

Key takeaways

  • Lifelong Planning A* belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Lifelong Planning A* to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Lifelong Planning A* from memory before moving on to harder problems.

Reference excerpt

LPA* or Lifelong Planning A* is an incremental heuristic search algorithm based on A*. It was first described by Sven Koenig and Maxim Likhachev in 2001.

Description LPA* is an incremental version of A*, which can adapt to changes in the graph without recalculating the entire graph, by updating the g-values (distance from start) from the previous search during the current search to correct them when necessary. Like A*, LPA* uses a heuristic, which is a lower boundary for the cost of the path from a given node to the goal. A heuristic is admissible if it is guaranteed to be non-negative (zero being admissible) and never greater than the cost of the cheapest path to the goal.

Predecessors and successors With the exception of the start and goal node, each node n has predecessors and successors:

Any node from which an edge leads towards n is a predecessor of n. Any node to which an edge leads from n is a successor of n. In the following description, these two terms refer only to the immediate predecessors and successors, not to predecessors of predecessors or successors of successors.

Start distance estimates LPA* maintains two estimates of the start distance g*(n) for each node:

g(n), the previously calculated g-value (start distance) as in A* rhs(n), a lookahead value based on the g-values of the node's predecessors (the minimum of all g(n' ) + d(n' , n), where n' is a predecessor of n and d(x, y) is the cost of the edge connecting x and y) For the start node, the following always holds true:

r h s ( s t a r t ) = g ( s t a r t ) = 0 {\displaystyle rhs(start)=g(start)=0}

If rhs(n) equals g(n), then n is called locally consistent. If all nodes are locally consistent, then a shortest path can be determined as with A*. However, when edge costs change, local consistency needs to be re-established only for those nodes which are relevant for the route.

Priority queue When a node becomes locally inconsistent (because the cost of its predecessor or the edge linking it to a predecessor has changed), it is placed in a priority queue for re-evaluation. LPA* uses a two-dimensional key:

k ( n ) = [ k 1 ( n ) k 2 ( n ) ] = [ min ( g ( n ) , r h s ( n ) ) + h ( n , g o a l ) min ( g ( n ) , r h s ( n ) ) ] {\displaystyle k(n)={\begin{bmatrix}k_{1}(n)\\k_{2}(n)\\\end{bmatrix}}={\begin{bmatrix}\min(g(n),rhs(n))+h(n,goal)\\\min(g(n),rhs(n))\\\end{bmatrix}}}

Entries are ordered by k1 (which corresponds directly to the f-values used in A*), then by k2.

Node expansion The top node in the queue is expanded as follows:

If the rhs-value of a node equals its g-value, the node is locally consistent and is removed from the queue. If the rhs-value of a node is less than its g-value (known as a locally overconsistent node), the g-value is changed to match the rhs-value, making the node locally consistent. The node is then removed from the queue. If the rhs-value of a node is greater than its g-value (known as a locally underconsistent node), the g-value is set to infinity (which makes the node either locally overconsistent or locally consistent). If the node is then locally consistent, it is removed from the queue, else its key is updated. Since changing the g-value of a node may also change the rhs-values of its successors (and thus their local consistence), they are evaluated and their queue membership and key is updated if necessary. Expansion of nodes continues with the next node at the top of the queue until two conditions are met:

The goal is locally consistent, and The node at the top of the priority queue has a key which is greater than or equal to the key for the goal.

Initial run The graph is initialized by setting the rhs-value of the start node to 0 and its g-value to infinity. For all other nodes, both the g-value and the rhs-value are assumed to be infinity until assigned otherwise. This initially makes the start node the only locally inconsistent node, and thus the only node in the queue. After that, node expansion begins. The first run of LPA* thus behaves in the same manner as A*, expanding the same nodes in the same order.

Cost changes When the cost of an edge changes, LPA* examines all nodes affected by the change, i.e. all nodes at which one of the changed edges terminates (if an edge can be traversed in both directions and the change affects both directions, both nodes connected by the edge are examined):

The rhs-values of the nodes are updated. Nodes which have become locally consistent are removed from the queue. Nodes which have become locally inconsistent are added to the queue. Nodes which remain locally inconsistent have their keys updated. After that, node expansion resumes until the end condition has been reached.

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Lifelong Planning A*

Start with the simplest possible case. Write down what Lifelong Planning A* claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Lifelong Planning A* before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Lifelong Planning A* ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Lifelong Planning A*

In research
Lifelong Planning A* appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Lifelong Planning A* in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Lifelong Planning A* is common in secondary-school and first-year university syllabi. It links to neighbouring topics Artificial intelligence, Robot control, Search algorithms, so understanding it makes those chapters shorter.
In everyday life
Look for Lifelong Planning A* outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Lifelong Planning A*” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Lifelong Planning A* in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Lifelong Planning A* means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Lifelong Planning A* out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Lifelong Planning A* in simple terms?

LPA* or Lifelong Planning A* is an incremental heuristic search algorithm based on A*. It was first described by Sven Koenig and Maxim Likhachev in 2001.

Why does Lifelong Planning A* matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Lifelong Planning A*?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Lifelong Planning A*.

Tags

  • Artificial intelligence
  • Robot control
  • Search algorithms

Keep exploring