Skip to main content

Optimal encodings

  • Contributed Papers
  • Conference paper
  • First Online:
  • 126 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1338))

Abstract

The basic notion of encoding is one of the most important present in computer science. So far, they have not been per se the subject of serious research, because of their apparent simplicity. In this paper we show how the realm of encodings, instead, deserves big attention. In particular, we address the fundamental question of optimality of encodings: data need a certain storage cost, so it seems natural to investigate whether some encodings are better than others, in the sense they waste less space. We give a precise formalization of this analysis, within the context of extendable families of encodings, and show that the structure is so rich that no optimal encoding can be found, viz. one can arbitrarily improve the data packing. Secondly, we raise the subtle point of the effect of encodings on the computational power of the device: although so far this problem has been passed over, it is not obvious at all whether or not an encoding affects the computational power of a machine. The subtlety of the point. is formally shown, by proving that for almost all the machines encodings behave nicely. However, things become deeply involved just in the most basic case of the 2-register machine, where only particular encodings are safe. The analysis then reveals than in this context not only there are optimal elements, but even a best one, which rather intriguingly is shown to be the first encoding system ever developed.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Balzer. Evolution as a new basis for reusability. In Reusability in Programming, pages 80–82. Newport, RI, 1983.

    Google Scholar 

  2. H.P. Barendregt. The Lambda Calculus: its Syntax and Semantics. North-Holland, 1981.

    Google Scholar 

  3. V.R. Basili and A.J. Turner. Iterative enhancement: A practical technique for software development. IEEE Transactions on Software Engineering, 4:390–396, December 1975.

    Google Scholar 

  4. M. Bezem, J.W. Klop, and R.C de Vrijer. Term Rewriting Systems, volume 25 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1997. To appear.

    Google Scholar 

  5. K. Clark and D. Cowell. Programs, machines, and computation. McGraw-Hill, 1976.

    Google Scholar 

  6. B.A. Davey and H.A. Priestley. Introduction to Lattices and Order. Cambridge University Press, 1990.

    Google Scholar 

  7. K. Gödel. On Formally Undecidable Propositions of Principia Mathematica and Related Systems. Oliver&Boyd, Edinburgh and London, 1962.

    Google Scholar 

  8. J.E. Hopcroft and I. Ullman. Introduction to Automata Theory, Languages and Computation. Addison-Wesley, 1979.

    Google Scholar 

  9. I.V. Horebeek and J. Lewi. Algebraic Specifications in Software Engineering. Springer-Verlag, 1989.

    Google Scholar 

  10. M. Kanovich. Petri nets, horn programs, linear logic, and vector games. In M. Hagiya and J.C. Mitchell, editors, International Symposium on Theoretical Aspects of Computer Software, volume 789 of LNCS, pages 642–666. Springer-Verlag, 1994.

    Google Scholar 

  11. A.J. Kfoury, R.N. Moll, and M.A. Arbib. A programming approach to computability. Springer-Verlag, New York, 1982.

    Google Scholar 

  12. A.J. Kfoury, R.N. Moll, and M.A. Arbib. A programming approach to computability. Springer-Verlag, New York, 1982.

    Google Scholar 

  13. S.S. Lam and A.U. Shankar. A composition theorem for layered systems. In B. Jonsson, J. Parrow, and B. Perhson, editors, 11th International Symposium on Protocol Specification, pages 93–108. North-Holland, 1991.

    Google Scholar 

  14. M. Machtey and P. Young. An Introduction to the General Theory of Algorithms. North-Holland, 1978.

    Google Scholar 

  15. Yu.I. Manin. A Course in Mathematical Logic. Springer-Verlag, 1977.

    Google Scholar 

  16. I.C.C. Phillips. Recursion theory. In S. Abramsky, Dov M. Gabbay, and T.S.E. Maibaum, editors, Handbook of Logic in Computer Science, volume 1, chapter 1, pages 79–188. Clarendon Press, Oxford, 1992.

    Google Scholar 

  17. D. Scott. Some definitional suggestions for automata theory. Journal of Computer and System Sciences, 1:187–212, 1967.

    Google Scholar 

  18. J.D Warnier. Logical Constructions of Programs. H.E. Stenfert Kroese, 1974.

    Google Scholar 

  19. P. Wegner. Varietes of reusability. In Reusability in Programming, pages 30–44. Newport, RI, 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

František Plášil Keith G. Jeffery

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Marchiori, M. (1997). Optimal encodings. In: Plášil, F., Jeffery, K.G. (eds) SOFSEM'97: Theory and Practice of Informatics. SOFSEM 1997. Lecture Notes in Computer Science, vol 1338. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63774-5_131

Download citation

  • DOI: https://doi.org/10.1007/3-540-63774-5_131

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63774-5

  • Online ISBN: 978-3-540-69645-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics