Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Two-level control structure for nondeterministic programming

Published: 01 October 1977 Publication History

Abstract

The basic ideas of nondeterministic programming are critically reconsidered to single out a proper attitude and programming style for languages allowing direct control of nondeterministic features. The proposed attitude aims at retaining the purity of the nondeterministic formulation of search processes on one level (the attempt level), deferring the coordination of problem solving efforts to another (the choice level). The feasibility of recognizing these two levels is discussed, stressing that the structure to be managed at the choice level is a tree of contexts. The leaves are computational environments, each holding an alternative under inspection, while the other nodes are associated with choice points. According to the proposed programming style, a generative function is associated with each choice point, which expresses the desired choice strategy. The main advantage of this approach is the localization of the search strategies: Each nonterminal node of the tree keeps track of the state of the computation as it was when the choice point was last interrogated, holding at the same time the strategy to coordinate the available alternatives. Examples are given in term of ND-Lisp, an extension of Lisp designed and implemented according to these guidelines.

References

[1]
Bobrow, D.G., and Wegbreit B. A model and stack implementation of multiple environments. Comm. ACM 16,10 (Oct. 1973), 591-603.
[2]
Bobrow, D.G., and Raphael, B. New programming languages for artificial intelligence research. Computing Surveys 6,3 (Sept. 1974), 153-174.
[3]
Davies, D. Popler: A POP2 planner. Memo MIP-89, Dep. Machine Intel. and Perception, U. of Edinburgh, Edinburgh, 1971.
[4]
Fahlman, S.E. A planning system for robot construction tasks. Artificial Intel. J. 5,1 (Spring 1974), 1-50.
[5]
Floyd, R.W. Nondeterministic algorithms. J. ACM 14,4 (Oct. 1967), 636-644.
[6]
Golomb, S.W., and Baumert, L.D. Backtrack programming. J. ACM 12,4 (Oct. 1965), 516-524.
[7]
Hewitt, C. Procedural embedding of knowledge in PLANNER. Proc. 2nd Int. Joint Conf. Artificial Intel., London, 1971, pp. 167- 182.
[8]
McCarthy, J., et al. LISP 1.5 Programmer's Manual. M.I.T. Press, Cambridge, Mass., 1962.
[9]
Montangero, C., Pacini, G., and Turini, F. Magma-LISP: A machine language for Artificial Intelligence. Proc. 4th Int. Joint Conf. Artificial Intel., Tbilisi, 1975, pp. 556-561.
[10]
Reboh, R., and Sacerdoti, E. A preliminary QLISP manual. Tech. Note No. 81, Stanford Res. Inst. AI Center, Stanford, Calif., Aug. 1973.
[11]
Rulifson, J.F., Waldinger, R.J., and Derksen, J.A. QA4: A procedural calculus for intuitive reasoning. Tech. Note No. 73, Stanford Res. Inst. AI Center, Stanford, Calif., Nov. 1972.
[12]
Smith, D.C., and Enea, H.J. Backtracking in MLISP2. Proc. 3rd Int. Joint Conf. Artificial Intel., Stanford, Calif., 1973, pp. 671-685.
[13]
Sussman, G.J., and Winograd, T. Micro-Planner reference manual. A.I. Memo No. 203, Project MAC, M.I.T., Cambridge, Mass., July 1970.
[14]
Sussman, G.J., and McDermott, D.V. From Planner to Conniver, a genetic approach. Proc. AFIPS F JCC 72, Vol. 41, Pt. II, AFIPS Press, Montvale, N.J., 1171-1179.
[15]
Teitelman, W. Interlisp Reference Manual. Xerox Palo Alto Res. Ctr., Palo Alto, Calif., 1974.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 20, Issue 10
Oct. 1977
93 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/359842
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1977
Published in CACM Volume 20, Issue 10

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. artificial intelligence
  2. backtracking
  3. context tree
  4. control structures
  5. nondeterministic programming
  6. search strategy planning

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)61
  • Downloads (Last 6 weeks)11
Reflects downloads up to 21 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media