Results 1  10
of
27
Combining Histograms and Parametric Curve Fitting for FeedbackDriven Query ResultSize Estimation
 VLDB CONFERENCE
, 1999
"... This paper aims to improve the accuracy of query resultsize estimations in query optimizers by leveraging the dynamic feedback obtained from observations on the executed query workload. To this end, an approximate "synopsis" of datavalue distributions is devised that combines histograms with para ..."
Abstract

Cited by 30 (1 self)
 Add to MetaCart
This paper aims to improve the accuracy of query resultsize estimations in query optimizers by leveraging the dynamic feedback obtained from observations on the executed query workload. To this end, an approximate "synopsis" of datavalue distributions is devised that combines histograms with parametric curve fitting, leading to a specific class of linear splines. The approach reconciles the benefits of histograms, simplicity and versatility, with those of parametric techniques especially the adaptivity to statistically biased and dynamically evolving query workloads. The paper
Dynamic programming via static incrementalization
 In Proceedings of the 8th European Symposium on Programming
, 1999
"... Dynamic programming is an important algorithm design technique. It is used for solving problems whose solutions involve recursively solving subproblems that share subsubproblems. While a straightforward recursive program solves common subsubproblems repeatedly and often takes exponential time, a dyn ..."
Abstract

Cited by 26 (12 self)
 Add to MetaCart
Dynamic programming is an important algorithm design technique. It is used for solving problems whose solutions involve recursively solving subproblems that share subsubproblems. While a straightforward recursive program solves common subsubproblems repeatedly and often takes exponential time, a dynamic programming algorithm solves every subsubproblem just once, saves the result, reuses it when the subsubproblem is encountered again, and takes polynomial time. This paper describes a systematic method for transforming programs written as straightforward recursions into programs that use dynamic programming. The method extends the original program to cache all possibly computed values, incrementalizes the extended program with respect to an input increment to use and maintain all cached results, prunes out cached results that are not used in the incremental computation, and uses the resulting incremental program to form an optimized new program. Incrementalization statically exploits semantics of both control structures and data structures and maintains as invariants equalities characterizing cached results. The principle underlying incrementalization is general for achieving drastic program speedups. Compared with previous methods that perform memoization or tabulation, the method based on incrementalization is more powerful and systematic. It has been implemented and applied to numerous problems and succeeded on all of them. 1
P.: A discipline of dynamic programming over sequence data
 Science of Computer Programming
, 2004
"... Abstract. Dynamic programming is a classical programming technique, applicable in a wide variety of domains such as stochastic systems analysis, operations research, combinatorics of discrete structures, flow problems, parsing of ambiguous languages, and biosequence analysis. Little methodology has ..."
Abstract

Cited by 26 (12 self)
 Add to MetaCart
Abstract. Dynamic programming is a classical programming technique, applicable in a wide variety of domains such as stochastic systems analysis, operations research, combinatorics of discrete structures, flow problems, parsing of ambiguous languages, and biosequence analysis. Little methodology has hitherto been available to guide the design of such algorithms. The matrix recurrences that typically describe a dynamic programming algorithm are difficult to construct, errorprone to implement, and, in nontrivial applications, almost impossible to debug completely. This article introduces a discipline designed to alleviate this problem. We describe an algebraic style of dynamic programming over sequence data. We define its formal framework, based on a combination of grammars and algebras, and including a formalization of Bellman’s Principle. We suggest a language used for algorithm design on a convenient level of abstraction. We outline three ways of implementing this language, including an embedding in a lazy functional language. The workings of the
Cacheoblivious dynamic programming
 In Proc. of the Seventeenth Annual ACMSIAM Symposium on Discrete Algorithms, SODA ’06
, 2006
"... We present efficient cacheoblivious algorithms for several fundamental dynamic programs. These include new algorithms with improved cache performance for longest common subsequence (LCS), edit distance, gap (i.e., edit distance with gaps), and least weight subsequence. We present a new cacheoblivi ..."
Abstract

Cited by 16 (5 self)
 Add to MetaCart
We present efficient cacheoblivious algorithms for several fundamental dynamic programs. These include new algorithms with improved cache performance for longest common subsequence (LCS), edit distance, gap (i.e., edit distance with gaps), and least weight subsequence. We present a new cacheoblivious framework called the Gaussian Elimination Paradigm (GEP) for Gaussian elimination without pivoting that also gives cacheoblivious algorithms for FloydWarshall allpairs shortest paths in graphs and ‘simple DP’, among other problems. 1
Time Petri Nets State Space Reduction Using Dynamic Programming
"... Abstract. In this paper a parametric description for the state space of an arbitrary TPN is given. An enumerative procedure for reducing the state space is introduced. The reduction is defined as a truncated multistage decision problem and solved recursively. A reachability graph is defined in a dis ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
Abstract. In this paper a parametric description for the state space of an arbitrary TPN is given. An enumerative procedure for reducing the state space is introduced. The reduction is defined as a truncated multistage decision problem and solved recursively. A reachability graph is defined in a discrete way by using the reachable integerstates of the TPN.
Efficient algorithms for normalized edit distance
 Journal of Discrete Algorithms
, 2000
"... ABSTRACT: A common model for computing the similarity of two stringsXandYof lengthsm andnrespectively, withmn, is to transformXintoYthrough a sequence of edit operations, called an edit sequence. The edit operations are of three types: insertion, deletion, and substitution. A given cost function ass ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
ABSTRACT: A common model for computing the similarity of two stringsXandYof lengthsm andnrespectively, withmn, is to transformXintoYthrough a sequence of edit operations, called an edit sequence. The edit operations are of three types: insertion, deletion, and substitution. A given cost function assigns a weight to each edit operation. The amortized weight for a given edit sequence is the ratio of its weight to its length, and the minimum of this ratio over all edit sequences is the normalized edit distance. Existing algorithms for normalized edit distance computation with proven complexity bounds requireO(mn2)time in the worstcase. We give provably better algorithms: anO(mnlogn)time algorithm when the cost function is uniform, i.e, the weights of edit operations depend only on the type but not on the individual symbols involved, and anO(mnlogm)time algorithm when the weights are rational.
An Efficient UniformCost Normalized Edit Distance Algorithm
 6th Symp. on String Processing and Info. Retrieval
, 1999
"... A common model for computing the similarity of two strings X and Y of lengths m, and n respectively with m n, is to transform X into Y through a sequence of three types of edit operations: insertion, deletion, and substitution. The model assumes a given cost function which assigns a nonnegative re ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
A common model for computing the similarity of two strings X and Y of lengths m, and n respectively with m n, is to transform X into Y through a sequence of three types of edit operations: insertion, deletion, and substitution. The model assumes a given cost function which assigns a nonnegative real weight to each edit operation. The amortized weight for a given edit sequence is the ratio of its weight to its length, and the minimum of this ratio over all edit sequences is the normalized edit distance. Existing algorithms for normalized edit distance computation with proven complexity bounds require O(mn
A distance function to support optimized selection decisions. Decision Support Systems 39(3):345–354
 Decision Support Systems, Vol 39, Issue 3, pp 309
, 2005
"... Decision makers often want to see a diverse collection of good solutions in addition to a solution that is in some mathematical sense an optimal solution to a problem. The purpose of the objective function is to quantify the notion “good ” while the purpose of this paper is to exhibit a suitable fun ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Decision makers often want to see a diverse collection of good solutions in addition to a solution that is in some mathematical sense an optimal solution to a problem. The purpose of the objective function is to quantify the notion “good ” while the purpose of this paper is to exhibit a suitable function for quantifying the notion “diverse.” We focus on the case where important aspects of the solutions are best represented as matrices or sets of vectors, such as when the solution involves selections. We establish a distance function and its connections with related distance functions used in optimization and psychology. A realworld application illustrates its use for decision support.
Games: 1. A Neglected Educational Resource
 INFORMS Transactions on Education
, 2002
"... Games offer OR/MS lecturers and students important educational resources. However, for various reasons the OR/MS literature in general and introductory textbooks in particular scarcely make use of this treasure. In this discussion we suggest that it is time to reconsider this position and regard g ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Games offer OR/MS lecturers and students important educational resources. However, for various reasons the OR/MS literature in general and introductory textbooks in particular scarcely make use of this treasure. In this discussion we suggest that it is time to reconsider this position and regard games as a valuable source for developing educationally rich material for OR/MS courses. Hopefully this will initiate a constructive discussion on this topic that will eventually facilitate the identification and development of good OR/MS educational resources and stimulate the development of new exciting ways to make OR/MS tools more accessible to students and the public at large. 1.
A Petri net representation for dynamic programming problems in management applications
 In Proceedings of the 37th Hawaii International Conference on System Sciences (HICSS2004), Waikoloa
"... Dynamic programming (DP) is a very general optimization technique, which can be applied to numerous management decision problems. In order to develop a software system that automates many of the tasks a user encounters when attempting to solve an instance of an optimization problem with discrete DP ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Dynamic programming (DP) is a very general optimization technique, which can be applied to numerous management decision problems. In order to develop a software system that automates many of the tasks a user encounters when attempting to solve an instance of an optimization problem with discrete DP an intermediate problem representation in the form of a Petri net (PN) turns out to be useful. The specialized PN model presented in this paper captures the essential components of a DP problem instance. It uses the standard semantics of place/transition nets, a lowlevel PN class, whereas previous work [3, 4, 5] relied on highlevel PNs. This approach is illustrated by a simple financing example, but the methodology works for a wide range of management problems and can be applied to more complex instances. Among the benefits of this representation are the possibility to perform consistency checks on the PN level and the existence of a simple procedure to translate a model instance into executable code that could be integrated into existing solvers. Also, a software system currently under development will automate the task of transforming a DP functional equation into the PN model suggested in this paper. Users need not construct the PN model directly.