Title
Deriving Effcient Graph Algorithms
Abstract
Two case studies are presented that demonstrate the systematic derivation of efficient algorithms from simple combinatorial definitions. These case studies contribute to an exploration of evolutionary approaches to the explanation, proof, adaptation, and possibly the design of complex algorithms. The algorithms derived are the linear-time depth-first-search algorithms developed by Tarjan and Hopcroft for strong connectivity and biconnectivity. These algorithms are generally considered by students to be complex and difficult to understand. The problems they solve, however, have simple combinatorial definitions that can themselves be considered inefficient algorithms. The derivations employ systematic program manipulation techniques combined with appropriate domain-specific knowledge. The derivation approach offers evolutionary explanations of the algorithms that make explicit the respective roles of programming knowledge (embodied as program manipulation techniques) and domain-specific knowledge (embodied as graph-theoretic lemmas). Because the steps are rigorous and can potentially be formalized, the explanations are also proofs of correctness. We consider the merits of this approach to proof as compared with the usual a posteriori proofs. These case studies also illustrate how significant algorithmic derivations can be accomplished with a relatively small set of core program manipulation techniques.
Year
DOI
Venue
2003
10.1007/978-3-540-39910-0_28
LECTURE NOTES IN COMPUTER SCIENCE
Keywords
DocType
Volume
graph theory,algorithms,computer programming,graphs,transformations
Conference
2772
ISSN
Citations 
PageRank 
0302-9743
3
1.65
References 
Authors
14
2
Name
Order
Citations
PageRank
John H. Reif14180810.75
William L. Scherlis234063.64