Means-Ends Analysis

Rajil TL
2 Min Read
Disclosure: This website may contain affiliate links, which means I may earn a commission if you click on the link and make a purchase. I only recommend products or services that I personally use and believe will add value to my readers. Your support is appreciated!
  • Allows both backward and forward searching.
  • This means we could solve major parts of a problem first and then return to smaller problems when assembling the final solution.
  • GPS was the first AI program to exploit means-ends analysis.
  • STRIPS (A robot Planner) is an advanced problem solver that incorporates means-ends analysis and other techniques.

Very loosely the means-ends analysis algorithm is:

  1. Until the goal is reached or no more procedures are available:
    • Describe the current state, the goal state and the differences between the two.
    • Use the difference the describe a procedure that will hopefully get nearer to goal.
    • Use the procedure and update current state.
  2. If goal is reached then success otherwise fail.

Constraint Satisfaction

  • The general problem is to find a solution that satisfies a set of constraints.
  • heuristics used not to estimate the distance to the goal but to decide what node to expand nest.
  • Examples of this technique are design problem, labelling graphs, robot path planning and cryptarithmetic puzzles (see last year).

Algorithm:

  1. Propagate available constraints:
    • Open all objects that must be assigned values in a complete solution.
    • Repeat until inconsistency or all objects assigned valid valid values:
      • select an object and strengthen as much as possible the set of constraints that apply to object.
      • If set of constraints different from previous set then open all objects that share any of these constraints.
      • remove selected object.
  2. If union of constraints discovered above defines a solution return solution.
  3. If union of constraints discovered above defines a contradiction return failure
  4. Make a guess in order to proceed. Repeat until a solution is found or all possible solutions exhausted:
  1. select an object with a no assigned value and try to strengthen its constraints.
  2. recursively invoke constraint satisfaction with the current set of constraints plus the selected strengthening constraint.
Share This Article

Rajil TL is a SenseCentral contributor focused on tech, apps, tools, and product-building insights. He writes practical content for creators, founders, and learners—covering workflows, software strategies, and real-world implementation tips. His style is direct, structured, and action-oriented, often turning complex ideas into step-by-step guidance. He’s passionate about building useful digital products and sharing what works.

Leave a review