Frugal encoding in reversible: A case study for quicksort

  • Diarmuid Early
  • , Ang Gao
  • , Michel Schellekens

Research output: Chapter in Book/Report/Conference proceedingsChapterpeer-review

Abstract

is a high-level data structuring language, designed to allow for modular static timing analysis. In essence, allows the programmer to determine the average running time of a broad class of programmes directly from the code in a (semi-)automated way. The language has the property of randomness preservation which means that applying any operation to a random structure, results in an output isomorphic to one or more random structures, which is the key to systematic timing. The language, its implementation and the associated timing tool have been reported on in the literature. Randomness preservation is key in ensuring modular timing derivation. A degree of reversibility in turn is a key aspect of ensuring randomness preservation. All operations of the language can be made reversible with minimal additional bookkeeping. A challenge in achieving this encoding in a frugal way is to ensure subsets of data can be stored without excessive overheads. The paper focuses on illustrating such an encoding for the case of the Quicksort algorithm. Similar encodings are explored to ensure efficient reversibility of all operations. The paper is self contained, i.e. no prior knowledge of the language is needed to follow the encoding argument. We show how to efficiently encode the information needed to reverse the split of a list into two sublists. The code for reversible Quicksort is provided and an example illustrates the algorithm's reverse execution.

Original languageEnglish
Title of host publicationReversible Computation - 4th International Workshop, RC 2012, Revised Papers
PublisherSpringer Verlag
Pages85-96
Number of pages12
ISBN (Print)9783642363146
DOIs
Publication statusPublished - 2013
Event4th International Workshop on Reversible Computation, RC 2012 - Copenhagen, Denmark
Duration: 2 Jul 20123 Jul 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7581 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference4th International Workshop on Reversible Computation, RC 2012
Country/TerritoryDenmark
CityCopenhagen
Period2/07/123/07/12

Keywords

  • Algorithms
  • Data structures
  • Encoding
  • language
  • Partial orders
  • Quicksort
  • Random Structures
  • Reversible computing
  • Sorting
  • Time analysis

Fingerprint

Dive into the research topics of 'Frugal encoding in reversible: A case study for quicksort'. Together they form a unique fingerprint.

Cite this