Strategy: Change the Problem

James T. Kirk's infamous gambit in Starfleet's impossible to win Kobayashi Maru test was to redefine the problem into a challenge he could beat.

Interestingly, an article titled Shifts In Algorithm Design, says something like the same gambit is the modern method of solving algorithmic problems.

In the past:

In the good old days of theory, we got a problem, we worked on it, and sometimes we solved it. Nothing shifty, no changing the problem or modifying the goal.

Today:

Now today, in the 21st century, we have a better way to attack problems. We change the problem, often to one that is more tractable and useful. In many situations solving the exact problem is not really what a practitioner needs. If computing X exactly requires too much time, then it is useless to compute it. A perfect example is the weather: computing tomorrow’s weather in a week’s time is clearly not very useful.

The brilliance of the current approach is that we can change the problem. There are at least two major ways to do this:

  • Change the answer required. Allow approximation, or allow a partial answer. Do not insist on an exact answer.
  • Change the algorithmic method. Allow algorithms that can be wrong, or allow algorithms that use randomness. Do not insist that the algorithm is a perfect deterministic one.

The example given is an approximation to PageRank that is called SignificantPageRank, which is a new way of finding page rank fast. It's explored in some detail if you are interested.

But the change in perspective is the important lesson. If you are trying to solve a hard problem, maybe there's an easier problem you can change the problem into? That's how Kirk became Captain James T. Kirk.