Duration: 75 minutes
Introduction
Some problems are too complex to solve in one step, even with Chain of Thought. The solution? Break them down into smaller, manageable sub-problems. In this lesson, you’ll learn systematic decomposition strategies that transform overwhelming challenges into solvable pieces.Why Decomposition Matters
Reduces Complexity
Transforms hard problems into easier sub-problems
Improves Accuracy
Each sub-problem is simpler and less error-prone
Enables Verification
Easier to verify correctness of smaller pieces
Handles Hierarchy
Natural for problems with hierarchical structure
Least-to-Most Prompting
Start with the simplest sub-problem and build up to the complex one.The Pattern
1
Identify Sub-Problems
Break the main problem into ordered sub-problems
2
Solve Sequentially
Solve each sub-problem, using previous solutions
3
Build to Solution
Combine sub-solutions to solve the original problem
Basic Example
Key Insight: Each sub-problem is simpler than the original, and solving them in order builds toward the complete solution.
Complex Example: Multi-Step Planning
Recursive Problem Solving
Use the solution to simpler versions of the problem to solve the complex version.The Recursive Pattern
Example: Factorial Calculation
Example: Tower of Hanoi
Sub-Question Decomposition
Break complex questions into simpler questions.The Pattern
Example: Business Analysis
Planning and Execution Separation
Separate the planning phase from the execution phase.The Two-Phase Pattern
Example: Software Development
When to Use Decomposition
Hierarchical Problems
Hierarchical Problems
Use when: The problem has natural sub-components or layersExample: “Design a complete e-commerce checkout flow” (cart → shipping → payment → confirmation)
Multi-Domain Problems
Multi-Domain Problems
Use when: The problem spans multiple areas of expertiseExample: “Plan a product launch” (marketing + engineering + sales + support)
Sequential Dependencies
Sequential Dependencies
Use when: Later steps depend on earlier stepsExample: “Build a house” (foundation → framing → plumbing → electrical → finishing)
Overwhelming Complexity
Overwhelming Complexity
Use when: The full problem is too complex to hold in working memoryExample: “Optimize a company’s entire supply chain”
Advanced Decomposition Techniques
Parallel Decomposition
Break into independent sub-problems that can be solved simultaneously.Constraint-Based Decomposition
Break down by identifying and addressing constraints.Best Practices
Start Simple
Begin with the easiest sub-problem to build confidence
Check Dependencies
Ensure sub-problems are solved in the right order
Verify Each Step
Confirm each sub-solution before moving forward
Synthesize Clearly
Show how sub-solutions combine to solve the main problem
Practice Exercises
Exercise 1: Algorithm Design
Decompose this problem: “Design an algorithm to find the shortest path between two cities on a map.”Sample Solution
Sample Solution
Exercise 2: Business Problem
Decompose: “Increase company revenue by 25% in the next year.”Sample Solution
Sample Solution
Exercise 3: Technical Problem
Decompose: “Debug why a web application is slow.”Sample Solution
Sample Solution
Real-World Application: Project Planning System
Key Takeaways
Use least-to-most prompting for hierarchical problems
Apply recursive decomposition for self-similar problems
Break complex questions into simpler sub-questions
Separate planning from execution for clarity
Verify each sub-solution before proceeding
Synthesize sub-solutions to solve the main problem
Next Steps
You’ve mastered problem decomposition. Now learn how to iteratively improve outputs through self-refinement and critique.Next: Lesson 3.3 - Self-Refinement & Iteration
Improve outputs through self-critique and iteration