Calculating Linear Time Algorithms for Solving Maximum Weightsum Problems

In this paper, we propose a new method to derive practical linear time algorithms for maximum weightsum problems. A maximum weightsum problem is speci ed as follows: given a recursive data x, nd an optimal subset of elements of x which not only satis es certain property p but also maximizes the sum of the weight of elements of the subset. The key point of our approach is to describe the property p as a functional program. This enables us to use program transformation techniques. Based on this approach, we present the optimization theorem, with which we construct a systematic framework to calculate e cient linear time algorithms for maximum weightsum problems on recursive data structures. We demonstrate e ectiveness of our approach through several interesting and non-trivial examples, which would be di cult to solve by known approaches.

[1]  Maarten M. Fokkinga,et al.  Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire , 1991, FPCA.

[2]  Richard S. Bird,et al.  Algebraic Identities for Program Calculation , 1989, Comput. J..

[3]  Johan Jeuring Theories for Algorithm Calculation , 1993 .

[4]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[5]  Mikkel Thorup,et al.  All Structured Programs have Small Tree-Width and Good Register Allocation , 1998, Inf. Comput..

[6]  Richard S. Bird,et al.  Algebra of programming , 1997, Prentice Hall International series in computer science.

[7]  Paul D. Seymour,et al.  Graph Minors. II. Algorithmic Aspects of Tree-Width , 1986, J. Algorithms.

[8]  Eugene L. Lawler,et al.  Linear-Time Computation of Optimal Subgraphs of Decomposable Graphs , 1987, J. Algorithms.

[9]  I. G. BONNER CLAPPISON Editor , 1960, The Electric Power Engineering Handbook - Five Volume Set.

[10]  Robin Thomas,et al.  A menger-like property of tree-width: The finite case , 1990, J. Comb. Theory, Ser. B.

[11]  Bengt Aspvall,et al.  Memory Requirements for Table Computations in Partial k-tree Algorithms , 1998, SWAT.

[12]  Richard S. Bird,et al.  An introduction to the theory of lists , 1987 .

[13]  Maarten M. Fokkinga,et al.  Law and order in algorithmics , 1992 .

[14]  Akihiko Takano,et al.  Tupling calculation eliminates multiple data traversals , 1997, ICFP '97.

[15]  Bruno Courcelle,et al.  Graph Rewriting: An Algebraic and Logic Approach , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[16]  Nobuji Saito,et al.  Combinatorial problems on series-parallel graphs , 1981, Discret. Appl. Math..

[17]  Stefan Arnborg,et al.  Decomposable Structures, Boolean Function Representations, and Optimization , 1995, MFCS.

[18]  Hans L. Bodlaender,et al.  A Tourist Guide through Treewidth , 1993, Acta Cybern..

[19]  Bruno Courcelle,et al.  The Monadic Second-Order Logic of Graphs. I. Recognizable Sets of Finite Graphs , 1990, Inf. Comput..

[20]  Maarten M. Fokkinga Tupling and Mutumorphisms , 1989 .

[21]  Stephen T. Hedetniemi,et al.  Linear algorithms on k-terminal graphs , 1987 .

[22]  Tim Sheard,et al.  A fold for all seasons , 1993, FPCA '93.

[23]  R. Lathe Phd by thesis , 1988, Nature.

[24]  Bruno Courcelle,et al.  An algebraic theory of graph reduction , 1993, JACM.