This paper provides a framework enabling to define and determine the complexity of various universal programs U for various machines. The approach consists of first defining the complexity as the average number of instructions to be executed by U, when simulating the execution of one instruction of a program P with input x. To obtain a complexity that does not depend on P or x, we then introduce the concept of an introspection coefficient expressing the average number of instructions executed by U, for simulating the execution of one of its own instructions. We show how to obtain this coefficient by computing a square matrix whose elements are numbers of executed instructions when running selected parts of U on selected data. The coefficient then becomes the greatest eigenvalue of the matrix. We illustrate the approach using two examples of particularly efficient universal programs: one for a three-symbol Turing Machine (blank symbol not included) with an introspection coefficient of 3 672.98, the other for an indirect addressing arithmetic machine with an introspection coefficient of 26.27. © Springer-Verlag Berlin Heidelberg 2005.
CITATION STYLE
Colmerauer, A. (2005). On the complexity of universal programs. In Lecture Notes in Computer Science (Vol. 3354, pp. 18–35). Springer Verlag. https://doi.org/10.1007/978-3-540-31834-7_2
Mendeley helps you to discover research relevant for your work.