Abstract
The author introduces a methodology for utilizing concurrency in place of backtracking in the implementation of nondeterministic algorithms. This is achieved in an applicative setting through the use of the Friedman-Wise multiprogramming primitive frons, and a paradigm which views the action of nondeterministic algorithms as one of data structure construction. The element by element nondeterminism arising from a linearized search is replaced by a control structure which is oriented towards constructing sets of partial computations. This point of view is facilitated by the use of suspensions, which allow control disciplines to be embodied in the form of conceptual data structures that in reality manifest themselves only for purposes of control. He applies this methodology to the class of problems usually solved through the use of simple backtracking (e.g. 'eight queens'), and to a problem presented by Lindstrom (1979) to illustrate the use of coroutine controlled backtracking, to produce backtrack-free solutions. The solution to the latter illustrates the coroutine capability of suspended structures, but also demonstrates a need for further investigations into resolving problems of process communication in applicative languages. 14 references.
Citation Formats
Salter, R.
Concurrent applicative implementations of nondeterministic algorithms.
United Kingdom: N. p.,
1983.
Web.
Salter, R.
Concurrent applicative implementations of nondeterministic algorithms.
United Kingdom.
Salter, R.
1983.
"Concurrent applicative implementations of nondeterministic algorithms."
United Kingdom.
@misc{etde_5139612,
title = {Concurrent applicative implementations of nondeterministic algorithms}
author = {Salter, R}
abstractNote = {The author introduces a methodology for utilizing concurrency in place of backtracking in the implementation of nondeterministic algorithms. This is achieved in an applicative setting through the use of the Friedman-Wise multiprogramming primitive frons, and a paradigm which views the action of nondeterministic algorithms as one of data structure construction. The element by element nondeterminism arising from a linearized search is replaced by a control structure which is oriented towards constructing sets of partial computations. This point of view is facilitated by the use of suspensions, which allow control disciplines to be embodied in the form of conceptual data structures that in reality manifest themselves only for purposes of control. He applies this methodology to the class of problems usually solved through the use of simple backtracking (e.g. 'eight queens'), and to a problem presented by Lindstrom (1979) to illustrate the use of coroutine controlled backtracking, to produce backtrack-free solutions. The solution to the latter illustrates the coroutine capability of suspended structures, but also demonstrates a need for further investigations into resolving problems of process communication in applicative languages. 14 references.}
journal = []
volume = {2}
journal type = {AC}
place = {United Kingdom}
year = {1983}
month = {Jan}
}
title = {Concurrent applicative implementations of nondeterministic algorithms}
author = {Salter, R}
abstractNote = {The author introduces a methodology for utilizing concurrency in place of backtracking in the implementation of nondeterministic algorithms. This is achieved in an applicative setting through the use of the Friedman-Wise multiprogramming primitive frons, and a paradigm which views the action of nondeterministic algorithms as one of data structure construction. The element by element nondeterminism arising from a linearized search is replaced by a control structure which is oriented towards constructing sets of partial computations. This point of view is facilitated by the use of suspensions, which allow control disciplines to be embodied in the form of conceptual data structures that in reality manifest themselves only for purposes of control. He applies this methodology to the class of problems usually solved through the use of simple backtracking (e.g. 'eight queens'), and to a problem presented by Lindstrom (1979) to illustrate the use of coroutine controlled backtracking, to produce backtrack-free solutions. The solution to the latter illustrates the coroutine capability of suspended structures, but also demonstrates a need for further investigations into resolving problems of process communication in applicative languages. 14 references.}
journal = []
volume = {2}
journal type = {AC}
place = {United Kingdom}
year = {1983}
month = {Jan}
}