Skip to content

Local Search is surprisingly philosophical

Published: at 

Local search is a family of algorithms that maintain a single node and explore only one of the neighbors of the current node. It’s an algorithm that is in the general superfamily of optimization problems, and the goal of these optimization problems is usually to find a global maximum or a global minimum.

From now on, let’s assume that this optimization problem is a maximization problem so that I don’t have to keep repeating words. What we learn from local search is that sometimes to get to the global maximum, you have to let go of the nicer things in your local maximum.

The saying “when you hit rock bottom, you can’t go anywhere else but up” is somewhat true to local search. Because in local search, when we choose to let go of our local maximum, we have to deal with the repercussions of letting go of this optimal solution (which is after all a solution, maybe not the best solution, but still optimal)—we might end up with something worse, but we might also end up climbing higher. That is life, and that is somehow also how local search works. So that’s quite cool, I think.