No Free Lunch Theorems

From RationalWiki
Jump to: navigation, search
Part of a
convergent series on

Mathematics
link=:category:
1+1=11

No Free Lunch Theorems for Search[1] is the title of a 1995 paper of David H. Wolpert and William G. Macready, and No Free Lunch Theorems for Optimization[2] the title of a follow-up from 1997.

In these papers, Wolpert and Macready show that for any algorithm, any elevated performance over one class of problems is offset by performance over another class[2], i.e. that on average each algorithm works as well as a blind search.

Intelligent Designers love these No Free Lunch Theorems (often abbreviated to NFL), as they seem to indicate that - for instance - evolutionary algorithms have to get some additional information from somewhere to work.

Usually they neglect the fact that an algorithm has to work only on a certain class of functions, and not on all functions. Wolpert himself has repudiated William Dembski's interpretation of the theorems as lending support to intelligent design.

Mathematical formulation of the Sharpened No Free Lunch Theorem[edit]

While the original NFL theorems looked at the class of all functions, the Sharpened NFL theorem is formulated for smaller classes with a special property, i.e., being closed under permutation.

First, some definitions have to be introduced in the way as they seem popular in the literature when talking about the NFL and such. This set of definition can be found - for instance - in a paper[3] of Andrea Valsecchi and Leonardo Vanneschi:

  • \mathcal{X},\mathcal{Y} are finite sets.
  • f:\quad \mathcal{X} \rightarrow \mathcal{Y} is a function
  • a trace of length m over \mathcal{X} and Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \mathcal{Y} is a sequence of couples Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \langle (x_1,y_1), \dots, (x_m,y_m) \rangle such that Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): x_i \in \mathcal{X} and Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): y_i = f(x_i)\, Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \forall i = 1,2,\dots,m
  • a trace is called simple if an element of \mathcal{X} appears at most once in it
  • T is the set of all possible traces over the sets \mathcal{X} and Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \mathcal{Y}
  • a search operator is a function Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): g: T \rightarrow \mathcal{X}
  • g is non-repeating if Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \forall t \in T, g(t) \notin t^\mathcal{X} (here, t^\mathcal{X} = \{x_1,x_2,\dots,x_m\} for the trace Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \langle (x_1,y_1), \dots, (x_m,y_m) \rangle , and Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): t^\mathcal{Y} = \{y_1,y_2,\dots,y_m\} )
  • if t \in T is simple and Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): g is non-repeating, then also Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): t' = t \| (g(t),f \circ g(t)) is a simple trace. Here Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \| is the concatenation operator
  • a deterministic search algorithm Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): A_g\, is an application A_g: ((\mathcal{X} \rightarrow \mathcal{Y}) \times T) \rightarrow T with Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \forall t \in T: \quad A_g(f,t)= t \| (g(t),f \circ g(t)) , where g is a search operator.
  • Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): A_g\, is called non-repeating if g is non-repeating
  • for convenience, we'll drop the g and speak of a search-algorithm A.
  • a deterministic non-repeating search algorithm will be called algorithm for short
  • Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): A^m(f,t) is the m-th iteration of A to trace t, defined by Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): A^0(f,t) = t , Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): A^{m+1}(f,t) = A(f,A^m(f,t))
  • Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): A^m(f) = A^m(f,\langle \rangle) , where Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \langle \rangle is the empty trace.
  • A set of functions Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): F \subset \mathcal{Y}^\mathcal{X} is called closed under permutation (c.u.p) if \forall f \in F and for each permutation Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \sigma of \mathcal{X} (Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \sigma \in \mathcal{S}_\mathcal{X} ), we have (f\circ \sigma) \in F.

Now, at last, the Sharpened NFL:

Sharpened NFL: Let Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): A, B be two deterministic non-repeating search algorithms and let Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): F \subset \mathcal{Y}^\mathcal{X} be c.u.p. Then Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \forall m \in \{1,..., |\mathcal{X}| \}: Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \{(A^m(f))^\mathcal{Y}:f \in F\} Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): =\{(B^m(f))^\mathcal{Y}:f \in F\}

References[edit]

  1. Wolpert, D.H., Macready, W.G. (1995), No Free Lunch Theorems for Search, Technical Report SFI-TR-95-02-010 (Santa Fe Institute).
  2. 2.0 2.1 Wolpert, D.H., Macready, W.G. (1997), No Free Lunch Theorems for Optimization, IEEE Transactions on Evolutionary Computation 1, 67. http://ic.arc.nasa.gov/people/dhw/papers/78.pdf
  3. Andrea Valsecchi and Leonardo Vanneschi (2008), A study of Some Implications of the No Free Lunch Theorem, Applications of Evolutionary Computing, Volume 4974/2008, Springer Berlin/Heidelberg, pp. 634-635