Nondeterministic Algorithms

  title={Nondeterministic Algorithms},
  author={Robert W. Floyd},
  journal={J. ACM},
  • R. W. Floyd
  • Published 1 October 1967
  • Computer Science
  • J. ACM
Programs to solve combinatorial search problems may often be simply written by using multiple-valued functions. Such programs, although impossible to execute directly on conventional computers, may be converted in a mechanical way into conventional backtracking programs. The process is illustrated with algorithms to find all solutions to the eight queens problem on the chessboard, and to find all simple cycles in a network. 

Figures from this paper

A procedure mechanism for backtrack programming
A procedure mechanism that uses coroutines as a means for the description and realization of nondeterministic algorithms and a solution to the eight queens problem is given to illustrate the application of the procedure mechanism to backtracking problems.
The Correctness of Nondeterministic Programs
  • Z. Manna
  • Computer Science
    Artif. Intell.
  • 1970
Teaching Nondeterminism
A plan that starts with a new abstraction of nondeterminism is given that uses the use of pseudo-code augmented by a new construct to make it easier to follow.
Different perspectives of the N-Queens problem
This work classifies the algorithms for the N-Queens problem into 3 categories, and introduces several definitions of the problem, and reviews some of the algorithms.
Non-deterministic programming
An alternative method is suggested and results obtained from an experimental implementation of R. W. Floyd's inclusion of additional features in present programming languages to be able to express in a convenient way algorithms based on the technique of backtrack described by Golomb and Baumert (1965).
POPS: An Application of Heuristic Search Methods to the Processing of a Nondeterministic Programming Language
POPS is a processor for a simple nondeterministic programming language, PSL, that contains the goal-directed methods developed by Fikes in his program REF-ARF and applies methods borrowed from GPS to solve the problem.
A search strategy for the elementary cycles of a directed graph
A new backtracking algorithm is proposed which is bounded byO(N +M(C + 1) time, for a directed graph withN vertices,M edges andC elementary cycles.
Control Structure Abstractions of the Backtracking Programming Technique
Control structure abstraction in the context of correctness is that proofs of general properties of a class of programs with similar control structures are separated from proofs of specific properties of individual programs of the class.
An interpreter for a nondeterministic language
This paper provides a top-down description of an interpreter for a nucleus of a simple nondeterministic language designed to be utilized in computer aided problem-solving. The given description can


Backtrack Programming
A widely used method of efftcient search is examined in detail and its scope and methods are formulated in their full generality.
The Syntax of Programming Languages-A Survey
  • R. W. Floyd
  • Computer Science, Linguistics
    IEEE Trans. Electron. Comput.
  • 1964
The syntactic rules for many programming languages have been expressed by formal grammars, generally variants of phrase-structure grammar, but major problems remain in rendering analyzers efficient in use of space and time and in finding fully satisfactory formal Grammars for present and future programming languages.
A syntax directed compiler for ALGOL 60
The author's algorithm is indebted to Arthur Anger, presently at Harvard University, for many helpful criticisms and suggestions, and for coding the algorithm on the UNiwxc 1105.
Mathematical Recreations and Essays
THIS edition differs from the third by containing chapters on the history of the mathematical tripos at Cambridge, Mersenne's numbers, and cryptography and ciphers, besides descriptions of some
  • J. ACM
  • 1965
The syntax of programming languagessurvey
  • I E E E Trans . ECI
  • 1964