• 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