Thursday, July 08, 2010

Get it Working. Get it Right. Then, Optimize.

Today's xkcd resonated with me, because it highlights the major pitfall of trying to learn by the trial-and-error method (or any other unsupervised method).

"It works!", you say, and you're done with it.

Unfortunately, finding a solution is only the first step. The next step is in determining whether that solution is correct.

Even after you've determined that the solution is correct, it is important to check if the solution is optimal -- are there other solutions that are simpler?

Although I probably use the trial-and-error method more often that I'd like to admit, I always try sanity check my solutions. Without understanding the solution, or why it works, I cannot claim to have understood the problem.

No comments: