Hacker News new | ask | show | jobs
by Nevermark 1206 days ago
I recently read an essay about this tragedy of algorithms, perhaps phrased differently.

The bittersweet success of general algorithms that just chew up data and compute time to arrive at very good answers, over algorithms crafted from a careful understanding of the problem.

I tried searching for it, but haven't found it yet.

1 comments

This is something known as the “strong search vs weak search” debate. You can imagine generally that many problems can be transformed into a search of a multidimensional problem space for a solution.

Algorithms that are made to a search a specific domain are able to use knowledge of that domain to be more efficient at that particular problem. This is “strong search”. The downsides of this approach include the fact that they won’t be generally applicable outside the domain and also they rely on us understanding the domain well enough ahead of time to build a solution tailored to the problem.

“Weak search” algorithms use no specific knowledge of the domain. So these are things like stochastic methods, ML generally etc. These are weaker in the sense that they will always require more time and compute power than the best strong search in a given domain but are generally applicable and are able to reveal structure in the search space that they aren’t told about (perhaps because we don’t know this structure) ahead of time. So weak search can be used to find “good enough” answers to problems where we don’t yet have an exact/closed form type solution for instance.

This is the same as if you know the formula for calculating the area of a circle you will be able to calculate the area of a given circle much more rapidly than if you use (say) a Monte Carlo simulation to tell you what it is. But the circle method only does circles wheres the exact same MC will be able to tell you the area of any shape.

As compute generally becomes cheaper, weak search methods become viable for more and more problems given often people’s time requirements are not that critical in many applications.