Abstract
We employ an algebraic method for comparing the structural simplicity of families of abstract machines. We associate with each family of machines a first-order structure that includes machines as objects, composition operations, which construct larger machines from smaller ones, as functions, and a set of semantic relations. We then compare families of machines by studying the existence of homomorphisms between the associated structures. Given families of machinesL, L′ with associated structuresS, S′, we say thatL issimpler thanL′ if there is a homomorphism ofS intoS′, but notvice versa. We show that across several abstract machine models — finite automata, Turing machines, and logic programs — deterministic machines are simpler than nondeterministic machines and nondeterministic machines are simpler than alternating machines. Our results cross computational complexity boundaries. We show that for Turing machines, finite automata and logic programs every non-deterministic variant is not simpler than any deterministic variant, and that every alternating variant is not simpler than any nondeterministic (non-alternating) variant. In addition, we show that nondeterministic and alternating Turing machines are equivalent in their structural simplicity to iterative and ordinary logic programs, respectively, and that deterministic Turing machines are as simple as deterministic logic programs. We thus establish, in a sense somewhat independent of computational complexity classes and machine models, that determinism is simpler than nondeterminism and that nondeterminism is simpler than alternation. The method of comparison we employ is quite general. It has been applied successfully to the comparison of concurrent programming languages and we expect it to be applicable to other languages and machine models as well.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
S. Abiteboul, M.Y. Vardi and V. Vianu, Fixpoints logics, relational machines, and computational complexity,Proc. 7th Structure in Complexity Theory Conference, 1992, pp. 156–168.
F. Afrati and S.S. Cosmadakis, Expressiveness of restricted recursive queries,Proc. of the 21st ACM Symp. on Theory of Computing, 1989, pp. 113–126.
L. Bougé, On the existence of symmetric algorithms to find leaders in networks of communicating sequential processes, Acta Informatica 25 (1988) 179–201.
S. Brown, D. Gries and T. Szymanski, Program schemes with pushdown stores, SIAM J. Comput. 1 (1972) 242–268.
A.K. Chandra, D.C. Kozen and L.J. Stockmeyer, Alternation, J. ACM 28(1) (1981) 114–133.
A.K. Chandra and L.J. Stockmeyer, Alternation,Proc. of the 17th IEEE Symp. on Foundation of Computer Science, 1976, pp. 98–108.
R.L. Constable and D. Gries, On classes of program schemata, SIAM J. Comput. 1 (1972) 66–118.
F.S. de Boer and C. Palamidessi, Concurrent logic programming: asynchronism and language comparison,Proc. of 1990 North American Conference on Logic Programming, S. Debray and M. Hermenegildo (eds.) (MIT Press, 1990) pp. 175–194.
F.S. de Boer and C. Palamidessi, Embedding as a tool for language comparison: On the CSP hierarchy,Proc. of the 2nd International Conference on Concurrency Theory (CONCUR'91), J.C.M. Baeten and J.F. Groote (eds.), LNCS 527 (Springer-Verlag, 1991) pp. 127–141.
D. Drusinsky and D. Harel, On the power of bounded concurrency I: The finite automata level, to appear in JACM. Earlier version appeared as: “On the power of cooperative concurrency”,Proc. Concurrency '88, Lecture Notes in Computer Science, Vol. 335 (Springer-Verlag, New York, 1988) pp. 74–103.
M. Felleisen, On the expressive power of programming languages,Proc. ESOP'90, N. Jones (ed.), LNCS 432 (Springer-Verlag, 1990) pp. 134–151. A full version appeared inScience of Computer Programming, Vol. 17 (Elsevier, 1991) pp. 35–75.
M.J. Fischer and R.A. Ladner, Propositional dynamic logic of regular programs, J. Comp. and Syst. Sci. 18 (1979) 194–211.
H. Gaifman and E. Shapiro, Fully abstract compositional semantics for logic programs,Proc. 16th ACM Symposium on Principles of Programming Languages, 1989, pp. 134–142.
H. Gaifman and E. Shapiro, Proof theory and semantics of logic programs,Proceedings of the 4th Annual Symposium on Logic in Computer Science, Pacific Grove, California, 1989, pp. 50–62.
D. Harel, A thesis for bounded concurrency,Proc. of the 14th Symp. on Math. Found. of Comput. Sci., Lecture Notes in Computer Science, Vol. 379 (Springer-Verlag, New York, 1989) pp. 35–48.
M. Hennessy,Algebraic Theory of Processes (MIT Press, 1988).
T. Hirst and D. Harel, On the power of bounded concurrency II: The pushdown automata level,Proc. CAAP '90, Trees in Algebra and Programming, Lecture Notes in Computer Science, Vol. 431 (Springer-Verlag, 1990) pp. 1–17.
P.J. Landin, The next 700 programming languages, Comm. ACM 9(3) (1966) 157–166.
A.R. Meyer and M.J. Fischer, Economy of description by automata, grammars, and formal systems,Proc. of the 12th IEEE Symp. on Switching and Automata Theory, 1971, pp. 188–191.
D. Kozen, On parallelism in Turing machines,Proc. of the 17th IEEE Symp. on Foundation of Computer Science, 1976, pp. 89–97.
J. Mitchell, On abstraction and the expressive power of programming languages,Proc. of the International Conference on Theoretical Aspects of Computer Science, LNCS (Springer, Sendai, Japan, 1991) pp. 290–310.
Y. Okabe and S. Yajima, Parallel computational complexity of logic programs and alternating Turing machines,Proc. of the International Conference on Fifth Generation Computer Systems (ICOT, 1988) pp. 356–363.
M.S. Paterson and C.E. Hewitt, Comparative schematology,Record of Project, MAC Conference on Concurrent Systems and Parallel Computation (ACM, 1970) pp. 119–127.
J.C. Reynolds, The essence of ALGOL, inAlgorithmic Languages, de Bakker and van Vilet (eds.) (North Holland, Amsterdam, 1981) pp. 345–372.
J.G. Riecke, Fully abstract translations between functional languages (Preliminary Report),Proc. ACM POPL, 1991.
E. Shapiro, Alternation and the computational complexity of logic programs, J. Logic Programming 1 (1984) 19–33.
E. Shapiro, Embeddings among concurrent programming languages,Proc. of the 3rd International Conference on Concurrency Theory (CONCUR'92), W.R. Cleaveland (ed.), LNCS 630 (Springer-Verlag, 1992) pp. 486–503.
E. Shapiro, Separating concurrent languages with categories of language embeddings,Proc. STOC'91 (ACM, 1991) pp. 198–208.
G.L. Steele, Jr. and G.J. Sussman, Lambda — The ultimate imperative, MIT AI Memo 353 (1976).
F.W. Vaandrager, On the relationship between process algebra and input/output automata,Proc. LICS'91 (IEEE, 1991) pp. 387–398.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Moscowitz, Y., Shapiro, E. On the structural simplicity of machines and languages. Ann Math Artif Intell 15, 379–405 (1995). https://doi.org/10.1007/BF01536402
Issue Date:
DOI: https://doi.org/10.1007/BF01536402