Results 11 
19 of
19
Incremental Algorithms on Lists
 Proceedings SION Computing Science in the Netherlands
, 1991
"... Incremental computations can improve the performance of interactive programs such as spreadsheet programs, program development environments, text editors, etc. Incremental algorithms describe how to compute a required value depending on the input, after the input has been edited. By considering the ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
Incremental computations can improve the performance of interactive programs such as spreadsheet programs, program development environments, text editors, etc. Incremental algorithms describe how to compute a required value depending on the input, after the input has been edited. By considering the possible different edit actions on the data type lists, the basic data type used in spreadsheet programs and text editors, we define incremental algorithms on lists. Some theory for the construction of incremental algorithms is developed, and we give an incremental algorithm for a more involved example: formatting a text. CR categories and descriptors: D11 [Software]: Programming Techniques  Applicative Programming, D43 [Software]: Programming Languages  Language constructs, I22 [Artificial Intelligence]: Automatic Programming  Program transformation. General terms: algorithm, design, theory. Additional keywords and phrases: BirdMeertens calculus for program construction, incremen...
Formal Derivation of Parallel Program for 2Dimensional Maximum Segment Sum Problem
 In Annual European Conference on Parallel Processing, LNCS 1123
, 1996
"... . It has been attracting much attention to make use of list homomorphisms in parallel programming because they ideally suit the divideandconquer parallel paradigm. However, they have been usually treated rather informally and adhoc in the development of efficient parallel programs. This paper rep ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
. It has been attracting much attention to make use of list homomorphisms in parallel programming because they ideally suit the divideandconquer parallel paradigm. However, they have been usually treated rather informally and adhoc in the development of efficient parallel programs. This paper reports a case study on systematic and formal development of a new parallel program for the 2dimensional maximum segment problem. We show how a straightforward, and "obviously" correct, but quite inefficient solution to the problem can be successfully turned into a semantically equivalent "almost list homomorphism" based on two transformations, namely tupling and fusion, which are defined according to the specific recursive structures of list homomorphisms. 1 Introduction It has been attracting wide attention to make use of list homomorphisms in parallel programming. List homomorphisms are those functions on finite lists that promote through list concatenation  that is, function h for whic...
Computing maximumscoring segments in almost linear time
 In Proceedings of the 12th Annual International Computing and Combinatorics Conference, volume 4112 of LNCS
, 2006
"... Given a sequence, the problem studied in this paper is to find a set of k disjoint continuous subsequences such that the total sum of all elements in the set is maximized. This problem arises naturally in the analysis of DNA sequences. The previous best known algorithm requires Θ(n log n) time in th ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Given a sequence, the problem studied in this paper is to find a set of k disjoint continuous subsequences such that the total sum of all elements in the set is maximized. This problem arises naturally in the analysis of DNA sequences. The previous best known algorithm requires Θ(n log n) time in the worst case. For a given sequence of length n, we present an almost lineartime algorithm for this problem. Our algorithm uses a disjointset data structure and requires O(nα(n, n)) time in the worst case, where α(n, n) is the inverse Ackermann function. 1
Synthesis of Fast Programs for Maximum Segment Sum Problems
"... It is wellknown that a naive algorithm can often be turned into an efficient program by applying appropriate semanticspreserving transformations. This technique has been used to derive programs to solve a variety of maximumsum programs. One problem with this approach is that each problem variation ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
It is wellknown that a naive algorithm can often be turned into an efficient program by applying appropriate semanticspreserving transformations. This technique has been used to derive programs to solve a variety of maximumsum programs. One problem with this approach is that each problem variation requires a new set of transformations to be derived. An alternative approach to synthesis combines problem specifications with flexible algorithm theories to derive efficient algorithms. We show how this approach can be implemented in Haskell and applied to solve constraint satisfaction problems. We illustrate this technique by deriving programs for three varieties of maximumweightsum problem. The derivations of the different programs are similar, and the resulting programs are asymptotically faster in practice than the programs created by transformation. 1.
Abstraction and Performance in the Design of Parallel Programs
, 1997
"... ion and Performance in the Design of Parallel Programs Der Fakultat fur Mathematik und Informatik der Universitat Passau vorgelegte Zusammenfassung der Veroffentlichungen zur Erlangung der venia legendi von Dr. Sergei Gorlatch Passau, Juli 1997 Contents 1 Introduction 2 2 Outline of the SA ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
ion and Performance in the Design of Parallel Programs Der Fakultat fur Mathematik und Informatik der Universitat Passau vorgelegte Zusammenfassung der Veroffentlichungen zur Erlangung der venia legendi von Dr. Sergei Gorlatch Passau, Juli 1997 Contents 1 Introduction 2 2 Outline of the SAT Approach 6 2.1 Performance View . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Abstraction View . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Design in SAT: Stages and Transformations . . . . . . . . . . 9 2.4 SAT and Homomorphisms . . . . . . . . . . . . . . . . . . . . 11 3 List Homomorphisms 12 4 Extraction and Adjustment 14 4.1 The CSMethod . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2 Mechanizing the CSMethod . . . . . . . . . . . . . . . . . . . 17 4.3 AlmostHomomorphisms: the MSS Problem . . . . . . . . . . 19 5 Composition of Homomorphisms 21 5.1 Rules of Composition . . . . . . . . . . . . . . . . . . . . . . . 21 5.2 Derivation by Transformation...
List Homomorphism with Accumulation
 In Proceedings of Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD
, 2003
"... This paper introduces accumulation into list homomorphisms for systematic development of both efficient and correct parallel programs. New parallelizable recursive pattern called is given, and transformations from sequential patterns in the form into (H)homomorphism are shown. We illustrate ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper introduces accumulation into list homomorphisms for systematic development of both efficient and correct parallel programs. New parallelizable recursive pattern called is given, and transformations from sequential patterns in the form into (H)homomorphism are shown. We illustrate the power of our formalization by developing a novel and general parallel program for a class of interesting and challenging problems, known as maximum marking problems. 1.
Algorithms for Aggregate Information Extraction from Sequences
"... In this thesis, we propose efficient algorithms for aggregate information extraction from sequences and multidimensional arrays. The algorithms proposed are applicable in several important areas, including large databases and DNA sequence segmentation. We first study the problem of efficiently compu ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In this thesis, we propose efficient algorithms for aggregate information extraction from sequences and multidimensional arrays. The algorithms proposed are applicable in several important areas, including large databases and DNA sequence segmentation. We first study the problem of efficiently computing, for a given range, the rangesum in a multidimensional array as well as computing the k maximum values, called the topk values. We design two efficient data structures for these problems. For the rangesum problem, our structure supports fast update while preserving low complexity of rangesum query. The proposed topk structure provides fast query computation in linear time proportional to the sum of the sizes of a twodimensional query region. We also study the k maximum sum subsequences problem and develop several efficient algorithms. In this problem, the k subsegments of consecutive elements with largest sum are to be found. The segments can potentially
The Greedy Algorithms Class: Formalization, Synthesis and Generalization
, 1995
"... On the first hand, this report studies the class of Greedy Algorithms in order to find an as systematic as possible strategy that could be applied to the specification of some problems to lead to a correct program solving that problem. On the other hand, the standard formalisms underlying the G ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
On the first hand, this report studies the class of Greedy Algorithms in order to find an as systematic as possible strategy that could be applied to the specification of some problems to lead to a correct program solving that problem. On the other hand, the standard formalisms underlying the Greedy Algorithms (matroid, greedoid and matroid embedding) which are dependent on the particular type set are generalized to a formalism independent of any data type based on an algebraic specification setting.
Recursion
"... Suppose A(n) is an assertion that depends on n. We use induction to prove that A(n) is true when we show that • it’s true for the smallest value of n and • if it’s true for everything less than n, then it’s true for n. ..."
Abstract
 Add to MetaCart
Suppose A(n) is an assertion that depends on n. We use induction to prove that A(n) is true when we show that • it’s true for the smallest value of n and • if it’s true for everything less than n, then it’s true for n.