Make it practical: a generic linear-time algorithm for solving maximum-weightsum problems

  • Authors:
  • Isao Sasano;Zhenjiang Hu;Masato Takeichi;Mizuhito Ogawa

  • Affiliations:
  • Department of Information Engineering, University of Tokyo;Department of Information Engineering, University of Tokyo;Department of Information Engineering, University of Tokyo;NTT Communication Science Laboratories

  • Venue:
  • ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
  • Year:
  • 2000

Quantified Score

Hi-index 0.01

Visualization

Abstract

In this paper we propose a new method for deriving a practical linear-time algorithm from the specification of a maximum-weightsum problem: From the elements of a data structure x, find a subset which satisfies a certain property p and whose weightsum is maximum. Previously proposed methods for automatically generating linear-time algorithms are theoretically appealing, but the algorithms generated are hardly useful in practice due to a huge constant factor for space and time. The key points of our approach are to express the property p by a recursive boolean function over the structure x rather than a usual logical predicate and to apply program transformation techniques to reduce the constant factor. We present an optimization theorem, give a calculational strategy for applying the theorem, and demonstrate the effectiveness of our approach through several nontrivial examples which would be difficult to deal with when using the methods previously available.