AO* vs A* Algorithms: AND–OR Graph Search and Key Behavioral Differences

AO* vs A* Algorithms: AND–OR Graph Search and Key Behavioral Differences

Verified Sources
Nov 4, 2026

The AO* algorithm is a heuristic search method for AND–OR graphs where solutions are represented as subgraphs (policies/contingency plans), not just a single path. In contrast, A* is designed for finding the lowest-cost path in a state-space graph with transitions. Conceptually, AO* generalizes the “best-first with heuristics” idea of A*, but changes what it means to “reach the goal” and how expansions propagate costs through the structure.

A* expands individual nodes along candidate paths and stops when the goal state is selected for expansion under standard conditions. AO* expands AND–OR subgraphs guided by heuristics, repeatedly improving the estimated cost of the current best partial solution until it becomes consistent/closed enough that an optimal solution subgraph can be extracted. Mermaid summary:

Key learning terms

  • OR node
  • AND node
  • heuristic function
  • incumbent solution

A* Search (Foundations)

AO* in detail: what it searches for and how it expands

AO* targets solution subgraphs in an AND–OR graph. Each OR node represents an alternative: select one child to proceed. Each AND node represents conjunction: you must satisfy all its children; thus the cost of using an AND node is typically the sum (or appropriate aggregation) of the costs to satisfy each child subgoal.

A core mechanism in AO* is cost propagation/back-up: when the estimated costs of the children improve, the estimated cost of their parent must be updated to reflect the best current way to satisfy that parent. For OR nodes, the parent cost is the minimum over child options; for AND nodes, the parent cost is an aggregation over all required children. This is why AO* uses “best-first” behavior while the structure it evaluates is more complex than in A*.

AO repeatedly performs:*

  1. Select an unexpanded node that lies on the current best solution subgraph (based on heuristic estimates and backed-up costs).
  2. Expand it (generate its outgoing AND/OR successors).
  3. Update backed-up costs upward through the graph.
  4. Repeat until the current best subgraph is “solved” (no further needed expansion to maintain optimality of the extracted solution subgraph).

Cost semantics: OR vs AND backup

  • For an OR node, the backed-up value tends to be:
    • V(n)=min⁡a∈Succ(n)(c(n,a)+V(a))V(n)=\min_{a\in Succ(n)}\left(c(n,a)+V(a)\right)
  • For an AND node, the backed-up value tends to be:
    • V(n)=∑a∈Succ(n)(c(n,a)+V(a))V(n)=\sum_{a\in Succ(n)}\left(c(n,a)+V(a)\right)
      (Exact forms depend on modeling choices like edge costs, and whether you model costs per child or per hyperedge.)

The practical takeaway: AO* evaluates structures where satisfying one decision point may require multiple subproblems (AND) or exactly one (OR), and it uses backed-up estimates to decide what to expand next.

How AO* builds and improves a solution subgraph (high-level)

  1. 1
    Step 1

    Set initial heuristic estimates and mark all nodes unexpanded. Maintain a notion of the current best backed-up value for the root (incumbent).

  2. 2
    Step 2

    Choose an unexpanded node that is on the current best partial solution subgraph, typically the one with the smallest backed-up estimate.

  3. 3
    Step 3

    Generate successors and create the local AND/OR structure needed to represent options or required subgoals.

  4. 4
    Step 4

    For OR nodes, back up via a minimum; for AND nodes, back up via an aggregation (often sum).

  5. 5
    Step 5

    Stop when the backed-up costs of the nodes on the candidate solution subgraph indicate the subgraph is complete/consistent, so that no open node can improve the extracted solution.

How AO* differs from A*: core behavioral and modeling differences

1) What is the “solution”?

  • A* finds a single least-cost path from start to a goal state in a state-space graph.
  • AO* finds an optimal solution subgraph/policy in an AND–OR graph, which may include branching where multiple subgoals must all be satisfied (AND) and others where only one alternative is chosen (OR).
  • In A*, branching affects the number of successor states pushed to the frontier, but each expansion is a local step toward reaching a goal.
  • In AO*, branching interacts with AND/OR structure: selecting an OR option may require evaluating an AND bundle of subproblems. This changes both what “progress” means and how costs combine.

3) How are costs propagated?

  • A* uses f(n)=g(n)+h(n)f(n)=g(n)+h(n) per node, where gg is the path cost from start and hh estimates remaining cost to the goal.
  • AO* relies on graph-structural backup:
    • OR parents take a min over children.
    • AND parents combine children costs (often sum).
    • The backed-up values of ancestors can change after expanding only one leaf/open node.

4) When do you stop?

  • A* typically stops when it selects a goal node for expansion (under conditions such as admissible/consistent heuristics in standard formulations).
  • AO* stops when the current best partial solution subgraph becomes complete/consistent such that the extracted policy is optimal with respect to the backed-up estimates.

5) What does “heuristic guidance” mean?

  • In A*, the heuristic guides which node to expand next in a path-centric frontier.
  • In AO*, heuristics guide selection of open nodes inside a solution subgraph, while the AND/OR backup structure can cause global improvement after local expansions.

Side-by-side comparison: AO* vs A* (conceptual emphasis)

Higher value indicates stronger emphasis of that characteristic in the algorithm design.

Pro Tip: Translate AO* into “policy construction”

If you view each OR node as a choice and each AND node as a requirement to satisfy multiple subgoals, AO* becomes a policy/subgraph constructor. A* becomes a route finder.

Heuristics and optimality conditions differ by model

Optimality guarantees for A* rely on assumptions like admissibility/consistency. For AO*, the backup structure and the AND/OR semantics mean you must ensure your heuristic/bounds are appropriate for AND–OR evaluation (e.g., consistent estimates that remain valid under backup).

FAQ: common confusions

From A* thinking to AO* thinking (conceptual roadmap)

A* mindset

Step 1

Frontier of nodes; expand the node with best f(n)f(n); stop at goal."

Introduce AND–OR semantics

Step 2

OR = choose one child; AND = satisfy all children."

Switch from paths to subgraphs

Step 3

AO* builds a solution subgraph/policy, not a single path."

Add structural backup

Step 4

OR uses min backup; AND uses aggregation backup; update ancestors."

Update stopping logic

Step 5

Stop when the best subgraph is complete/consistent and the policy can be extracted."

AO* vs A* Flashcards

1 / 5
Question · Term

A* searches for what object?

Click to reveal
Answer · Definition

A least-cost path from start to a goal state in a state-space graph.

Knowledge Check

Question 1 of 4
Q1Single choice

Which best describes what AO* optimizes compared with A*?