# Teorema No Free Lunch

Los teoremas No Free Lunch (NFL) publicados en 1997 por David Wolpert y William MacReady, son un conjunto de teoremas matemáticos que tienen implicaciones para el campo de la optimización y el aprendizaje supervisado. Estos teoremas establecen que, para cualquier algoritmo de optimización, cualquier mejora en el desempeño sobre una clase de problemas se compensa con un desempeño inferior en otra clase, es decir, no existe un algoritmo óptimo universal para todos los problemas de optimización.
La idea básica detrás de los teoremas NFL es que, para cualquier algoritmo de optimización, cualquier mejora en el rendimiento sobre una clase de problemas se compensa con el rendimiento sobre otra clase. En otras palabras, no existe un algoritmo de optimización que se adapte a todos los problemas por igual. Este es un resultado contraintuitivo, ya que implica que hay límites fundamentales en el poder de los algoritmos de optimización.

## Implicaciones

Supongamos que tenemos dos algoritmos de optimización, A y B, y dos clases de problemas, P y Q. Asumamos además que el algoritmo A tiene un mejor rendimiento que el algoritmo B en los problemas de la clase P, mientras que el algoritmo B tiene un mejor rendimiento que el algoritmo A en los problemas de la clase Q. Entonces, según el teorema NFL, debe existir alguna distribución de problemas sobre P y Q tal que el algoritmo A y el algoritmo B tengan un rendimiento igual en promedio.
En otras palabras, cualquier mejora en el rendimiento del algoritmo A sobre el algoritmo B en los problemas de clase P se compensa exactamente con una disminución en el rendimiento en los problemas de clase Q, y viceversa.
Podemos expresar esta idea utilizando el concepto de valor esperado. Sea f una función de optimización que asigna un espacio de entrada X a un conjunto de posibles valores de salida Y. Sea F el conjunto de todas las posibles funciones f, y sea D una distribución de probabilidad sobre el espacio de entrada X. Entonces, el valor esperado de una función f con respecto a la distribución D se define como:
$E[f]=\int _{x}f(x)D(x)dx$
donde la integral se toma sobre todo el espacio de entrada X. En otras palabras, el valor esperado de una función f es el valor promedio que f toma sobre todas las posibles entradas, ponderado por su probabilidad de ocurrencia.
Las implicaciones del teorema NFL son significativas. Sugieren que el desempeño de los algoritmos de optimización está limitado inherentemente por la estructura de los problemas que se resuelven. Esto significa que, en la práctica, diferentes algoritmos de optimización pueden ser más adecuados para diferentes tipos de problemas. También significa que la búsqueda de un algoritmo óptimo universal es inútil.

## Expresión matemática

Los teoremas NFL se pueden expresar matemáticamente. Sean A y B dos algoritmos de optimización, y sean P y Q dos clases de problemas. Sea $f_{A}(P)$ la mejor solución encontrada por el algoritmo A en los problemas de la clase P, y $f_{B}(Q)$ la mejor solución encontrada por el algoritmo B en los problemas de la clase Q. Entonces, los teoremas NFL establecen que:
$E[f_{A}(P)]=E[f_{B}(Q)]$
donde $E[f_{A}(P)]$ es el valor esperado de la mejor solución encontrada por el algoritmo A sobre los problemas de la clase P, y $E[f_{B}(Q)]$ es el valor esperado de la mejor solución encontrada por el algoritmo B sobre los problemas de la clase Q.
Esto significa que, independientemente de lo bien que se desempeñe un algoritmo A en los problemas de la clase P, siempre existe alguna distribución de problemas sobre P y Q tal que el algoritmo B tenga un desempeño igualmente bueno en promedio.