DocumentCode :
2140689
Title :
Algorithm Design Template Base on Temporal ADT
Author :
Shilov, Nikolay
Author_Institution :
A.P. Ershov Inst. of Inf. Syst., Novosibirsk, Russia
fYear :
2011
fDate :
12-14 Sept. 2011
Firstpage :
157
Lastpage :
162
Abstract :
Design and Analysis of Computer Algorithms is a must of Computer Curricula. It covers many topics that group around several core themes. These themes range from data structures to complexity theory, but one very special theme is algorithmic design patterns, including greedy method, divide-and-conquer, dynamic programming, backtracking and branch-and-bound. Naturally, at the undergraduate level all listed design patterns are taught, learnt and comprehended by examples. But they can be semi-formalized as design templates, semi-specified by correctness conditions, and semi-formally verified, for example, by means of Manna - Pnueli proof-principles. Moreover, this approach can lead to new insights and better comprehension of the design patterns, specification and verification methods. In this paper we demonstrate an utility of the approach by study of backtracking and branch-and-bound design patterns. In particular, we present, specify and prove correctness of the unified template for these patterns. Our approach is based on a temporal abstract data type the que that unifies stack and queue discipline. We prove that every algorithm instantiated from the template is totally correct, if the input graph for traversing is finite, the boundary condition is monotone, and the decision condition is anti-monotone on sets of "visited" vertices.
Keywords :
abstract data types; divide and conquer methods; dynamic programming; greedy algorithms; tree searching; Manna-Pnueli proof principle; algorithm design template; algorithmic design pattern; boundary condition; branch-and-bound design pattern; complexity theory; computer algorithm abstract; computer algorithm analysis; computer curricula; decision condition; divide-and-conquer dynamic programming; greedy method; queue discipline; specification method; temporal ADT; temporal abstract data type theque; undergraduate level; verification method; Algorithm design and analysis; Clocks; Reactive power; Safety; Upper bound; Vectors; backtracking; branch-and-bound; liveness properties; safety properties; temporal abstract data type; temporal proof principles; total correctness;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Temporal Representation and Reasoning (TIME), 2011 Eighteenth International Symposium on
Conference_Location :
Lubeck
ISSN :
1530-1311
Print_ISBN :
978-1-4577-1242-5
Type :
conf
DOI :
10.1109/TIME.2011.18
Filename :
6065207
Link To Document :
بازگشت