Framing the Problem
The first step to a solution is creating a common understanding of the problem. We introduce a model to describe a problem in terms of its inputs, computation, and outputs.
The LiFi project presents a complex problem to solve, perhaps even too complex. A necessary first step toward a solution is to analyze the problem and possibly break it down into smaller chunks.



Divide and Conquer
Distribution and Parallelization
Dynamic Programming
Greedy Strategies
Recursion
Brute Force
Randomization
Heuristics and Approximation
Deepen your understanding
Last updated