The Fastest and Shortest Algorithm for All Well-Defined Problems
Keywords: Acceleration, Computational Complexity,
Algorithmic Information Theory, Kolmogorov Complexity, Blum's
Speed-up Theorem, Levin Search.
Abstract:
An algorithm M is described that solves any well-defined problem
p as quickly as the fastest algorithm computing a solution to
p, save for a factor of 5 and low-order additive terms. M
optimally distributes resources between the execution of provably
correct p-solving programs and an enumeration of all proofs,
including relevant proofs of program correctness and of time
bounds on program runtimes. M avoids Blum's speed-up theorem by
ignoring programs without correctness proof. M has broader
applicability and can be faster than Levin's universal search, the
fastest method for inverting functions save for a large
multiplicative constant. An extension of Kolmogorov complexity and
two novel natural measures of function complexity are used to show
that the most efficient program computing some function f is
also among the shortest programs provably computing f.
Contents:
- Introduction & Main Result
- Levin Search
- Applicability of the Fast Algorithm Mp*
- The Fast Algorithm Mp*
- Time Analysis
- Assumptions on the Machine Model
- Algorithmic Complexity and the Shortest Algorithm
- Generalizations
- Summary & Outlook
Reviewer:
I propose to accept the
paper as is. This is an excellent result, unexpected.
(More than 500 downloads in the first week after the announcement).
BibTeX Entry
@Article{Hutter:01fast,
author = "Marcus Hutter",
title = "The Fastest and Shortest Algorithm for All Well-Defined Problems",
journal = "International Journal of Foundations of Computer Science",
publisher = "World Scientific",
volume = "13",
number = "3",
pages = "431--443",
month = jun,
year = "2002",
keywords = "Acceleration, Computational Complexity,
Algorithmic Information Theory, Kolmogorov Complexity, Blum's
Speed-up Theorem, Levin Search.",
url = "http://www.hutter1.net/ai/pfastprg.htm",
url2 = "http://arxiv.org/abs/cs.CC/0206022",
ftp = "ftp://ftp.idsia.ch/pub/techrep/IDSIA-16-00.ps.gz",
abstract = "An algorithm M is described that solves any well-defined problem
p as quickly as the fastest algorithm computing a solution to
p, save for a factor of 5 and low-order additive terms. M
optimally distributes resources between the execution of provably
correct p-solving programs and an enumeration of all proofs,
including relevant proofs of program correctness and of time
bounds on program runtimes. M avoids Blum's speed-up theorem by
ignoring programs without correctness proof. M has broader
applicability and can be faster than Levin's universal search, the
fastest method for inverting functions save for a large
multiplicative constant. An extension of Kolmogorov complexity and
two novel natural measures of function complexity are used to show
that the most efficient program computing some function f is
also among the shortest programs provably computing f.",
}