Results 1 
5 of
5
Algorithm theories and design tactics
 Science of Computer Programming
, 1990
"... Algorithm theories represent the structure common to a class of algorithms, such as divideandconquer or backtrack. An algorithm theory for a class A provides the basis for design tactics – specialized methods for designing Aalgorithms from formal problem specifications. We illustrate this approac ..."
Abstract

Cited by 48 (15 self)
 Add to MetaCart
(Show Context)
Algorithm theories represent the structure common to a class of algorithms, such as divideandconquer or backtrack. An algorithm theory for a class A provides the basis for design tactics – specialized methods for designing Aalgorithms from formal problem specifications. We illustrate this approach with recent work on the theory of global search algorithms and briefly mention several others. Several design tactics have been implemented in the KIDS/CYPRESS system and have been used to semiautomatically derive many algorithms. 1.
Structure and Design of Problem Reduction Generators
 Client Resources on the Internet, IEEE Multimedia Systems ’99
, 1991
"... In this paper we present an axiomatic theory for a class of algorithms, called problem reduction generators, that includes dynamic programming, general branchandbound, and game tree search as special cases. This problem reduction theory is used as the basis for a mechanizable design tactic that tr ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
In this paper we present an axiomatic theory for a class of algorithms, called problem reduction generators, that includes dynamic programming, general branchandbound, and game tree search as special cases. This problem reduction theory is used as the basis for a mechanizable design tactic that transforms formal specifications into problem reduction generators. The theory and tactic are illustrated by application to the problem of enumerating optimal binary search trees. Contents 1. Introduction 3 2. Basic Concepts And Notation 3 2.1. Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Signatures and Structures . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3. Problem Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Enumerating Feasible Solutions 6 3.1. Problem Reduction Theory . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2. Design Tactic  Enumerating Feasible Solutions . . . . . . . . . . . . . ....
Systematic Parallel Programming
, 2000
"... reasoning, trace semantics. Parallel computers have not yet had the expected impact on mainstream computing. Parallelism adds a level of complexity to the programming task that makes it very errorprone. Moreover, a large variety ofvery di erent parallel architectures exists. Porting an implementati ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
reasoning, trace semantics. Parallel computers have not yet had the expected impact on mainstream computing. Parallelism adds a level of complexity to the programming task that makes it very errorprone. Moreover, a large variety ofvery di erent parallel architectures exists. Porting an implementation from one machine to another may require substantial changes. This thesis addresses some of these problems by developing a formal basis for the design of parallel programs in form of a re nement calculus. The calculus allows the stepwise formal derivation of an abstract, lowlevel implementation from a trusted, highlevel speci cation. The calculus thus helps structuring and documenting the development process. Portability is increased, because the introduction of a machinedependent feature can be located in the re nement tree. Development e orts above this point in the tree are independent of that feature and are thus reusable. Moreover, the discovery of new, possibly more
A Logical Inverted Taxonomy of Sorting Algorithms
, 1997
"... Sorting is still one of the most important problems in Computer Science. Work in transformational programming and automatic program synthesis provided the insight that led to Merritt's inverted taxonomy of sorting algorithms, a highlevel, topdown, conceptually simple and symmetric categoriza ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Sorting is still one of the most important problems in Computer Science. Work in transformational programming and automatic program synthesis provided the insight that led to Merritt's inverted taxonomy of sorting algorithms, a highlevel, topdown, conceptually simple and symmetric categorization of sorting algorithms. More recent work in logicbased program synthesis by Lau has produced a logical taxonomy of sorting algorithms. This provides a logical basis for the inverted taxonomy and expands it into a logical inverted taxonomy to include distributive sorting algorithms which can be derived along with comparisonbased algorithms. The inclusion of distributive algorithms into a unified conceptual framework is new and significant for a comprehensive perspective on sorting algorithms. In this paper, we describe both the inverted and the logical taxonomies and show how the latter strengthens the latter and expands it into a logical inverted taxonomy of sorting algorithms, a highlevel...