Skip to main content

Back to the Complexity of Universal Programs

  • Conference paper
Principles and Practice of Constraint Programming (CP 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5202))

  • 1264 Accesses

Abstract

I start with three examples illustrating my contribution to constraint programming: the problem of cutting a rectangle into different squares in Prolog III, a complicated constraint for Prolog IV, the optimal narrowing of the sortedness constraint. Then I switch to something quite different: to machines, in particular to Turing machines. After the declarative aspect, the basic computational aspect!

The 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 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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bleuzen, N., Colmerauer, A.: Optimal Narrowing of a Block of Sortings in Optimal time. Constaints 5(1-2), 85–118 (2000), http://alain.colmerauer.free.fr

  2. Colmerauer, A.: An Introduction to Prolog III. Communications of the ACM 33(7), 68–90 (1990), http://alain.colmerauer.free.fr

  3. Colmerauer, A.: Prolog IV (1995), http://alain.colmerauer.free.fr

  4. Colmerauer, A.: On the complexity of universal programs. In: Machine, Computations and Universality (Saint-Petersburg 2004). LNCS, pp. 18–35 (2005), http://alain.colmerauer.free.fr

  5. Minsky, M.: shape Computations: Finite and Infinite Machines. Prentice-Hall, Englewood Cliffs (1967)

    Google Scholar 

  6. Rogers, H.: Theory of Recursive Functions and Effective Computability. McGraw-Hill, New York (1967); fifth printing. MIT Press (2002)

    MATH  Google Scholar 

  7. Rogozin, Y.: Small universal Turing machines. Theoretical Computer Science 168(2) (November 1996)

    Google Scholar 

  8. Sipser, M.: Introduction to the Theory of Computation. PWS Publishing Company (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Peter J. Stuckey

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Colmerauer, A. (2008). Back to the Complexity of Universal Programs. In: Stuckey, P.J. (eds) Principles and Practice of Constraint Programming. CP 2008. Lecture Notes in Computer Science, vol 5202. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-85958-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-85958-1_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-85957-4

  • Online ISBN: 978-3-540-85958-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics