There are two dominant No Free Lunch theorem’s that relate to computing. One is focused towards search and optimisation, while the other is for supervised machine learning.

## The Key Point

Eric Cai eloquently describes the No Free Lunch theorem in relation to Machine Learning. He describes the theorem as a series of simplifications and assumptions that apply to a problem and it’s solution. In turn, he also points out that the simplifications and assumptions that work for one problem and it’s solution will not nescessarily work on another problem, thus making the solution ineffective.

The

“No Free Lunch” theoremstates that there is no one model that works best for every problem

The idea that a solution cannot be picked up and applied to another problem without any work at all is most likely the origin of the name.

The original *No Free Lunch Theorems for Optimization* paper can be found here, if you’re into that kind of thing.