Results 11  20
of
39
Automatic accurate stack space and heap space analysis for highlevel languages
, 2000
"... This paper describes a general approach for automatic and accurate space and spacebound analyses for highlevel languages, considering stack space, heap allocation and live heap space usage of programs. The approach is based on program analysis and transformations and is fully automatic. The analys ..."
Abstract

Cited by 12 (7 self)
 Add to MetaCart
This paper describes a general approach for automatic and accurate space and spacebound analyses for highlevel languages, considering stack space, heap allocation and live heap space usage of programs. The approach is based on program analysis and transformations and is fully automatic. The analyses produce accurate upper bounds in the presence of partially known input structures. The analyses have been implemented, and experimental results con rm the accuracy. 1
Probabilistic Performance of a Heuristic for the Satisfiability Problem
 Discrete Applied Mathematics
, 1986
"... An algorithm for the Satisfiability problem is presented and its probabilistic behavior is analysed when combined with two other algorithms studied earlier. The analysis is based on an instance distribution which is parameterized to simulate a variety of sample characteristics. The algorithm dynamic ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
An algorithm for the Satisfiability problem is presented and its probabilistic behavior is analysed when combined with two other algorithms studied earlier. The analysis is based on an instance distribution which is parameterized to simulate a variety of sample characteristics. The algorithm dynamically assigns values to literals appearing in a given instance until a satisfying assignment is found or the algorithm "gives up" without determining whether or not a solution exists. It is shown that if n clauses are constructed independently from r boolean variables where the probability that a variable appears in a clause as a positive literal is p and as a negative literal is p then almost all randomly generated instances of Satisfiability are solved in polynomial time if p ! :4 ln(n)=r or p ? ln(n)=r or p = c ln(n)=r, :4 ! c ! 1 and lim n;r!1 n 1\Gammac =r 1\Gammaffl ! 1 for any ffl ? 0. It is also shown that if p = c ln(n)=r, :4 ! c ! 1 and lim n;r!1 n 1\Gammac =r = 1 then almost ...
Algorithms for Polynomial GCD Computation over Algebraic Function Fields
 Proceedings of ISSAC ’04, ACM Press
, 2004
"... Let L be an algebraic function field in k ≥ 0 parameters t1,...,tk. Let f1,f2 be nonzero polynomials in L[x]. We give two algorithms for computing their gcd. The first,a modular GCD algorithm,is an extension of the modular GCD algorithm of Brown for Z[x1,...,xn] andEncarnacion for Q(α)[x] to functi ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
Let L be an algebraic function field in k ≥ 0 parameters t1,...,tk. Let f1,f2 be nonzero polynomials in L[x]. We give two algorithms for computing their gcd. The first,a modular GCD algorithm,is an extension of the modular GCD algorithm of Brown for Z[x1,...,xn] andEncarnacion for Q(α)[x] to function fields. The second,a fractionfree algorithm,is a modification of the Moreno Maza and Rioboo algorithm for computing gcds over triangular sets. The modification reduces coefficient growth in L to be linear. We give an empirical comparison of the two algorithms using implementations in Maple.
Asynchronous Analysis of Parallel Dynamic Programming Algorithms
, 1994
"... We examine a very simple asynchronous model of parallel computation that assumes the time to compute a task is random, following some probability distribution. The goal of this model is to capture the effects of unpredictable delays on processors, due to communication delays or cache misses, for exa ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
We examine a very simple asynchronous model of parallel computation that assumes the time to compute a task is random, following some probability distribution. The goal of this model is to capture the effects of unpredictable delays on processors, due to communication delays or cache misses, for example. Using techniques from queueing theory and occupancy problems, we use this model to analyze two parallel dynamic programming algorithms. We show that this model is simple to analyze and correctly predicts which algorithm will perform better in practice. The algorithms we consider are a pipeline algorithm, where each processor i computes in order the entries of rows i, i + p and so on, where p is the number of processors; and a diagonal algorithm, where entries along each diagonal extending from the left to the top of the table are computed in turn. It is likely that the techniques used here can be useful in the analysis of other algorithms that use barriers or pipelining techniques. Ind...
Broadcasting in Butterfly and DeBruijn Networks
, 1992
"... Broadcasting is the process of message dissemination in a communication network in which a message originated by one processor is transmitted to all processors of the network. In this paper, we present a new lower bound of 1:7417m for broadcasting in the butterfly network of dimension m. This improv ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
Broadcasting is the process of message dissemination in a communication network in which a message originated by one processor is transmitted to all processors of the network. In this paper, we present a new lower bound of 1:7417m for broadcasting in the butterfly network of dimension m. This improves the best known lower bound of 1:5621m. We also describe an algorithm which improves the upper bound from 2m to 2m \Gamma 1. This is shown to be optimal for small dimensions m. In addition, the presented lower bound technique is used to derive nontrivial lower bounds for broadcasting in the deBruijn network of dimension m. An upper bound of 1:5m+1:5 is wellknown for this network. Here, we are able to improve the lower bound from 1:1374m to 1:3171m. A preliminary version of these results appears in: Proc. STACS 92, Lecture Notes in Computer Science 577, pp. 351362. y The work of these authors was supported by grant Mo 285/41 from the German Research Association (DFG). 1 Introduct...
Program Optimization Using Indexed and Recursive Data Structures
, 2002
"... This paper describes a systematic method for optimizing recursive functions using both indexed and recursive data structures. The method is based on two critical ideas: first, determining a minimal input increment operation so as to compute a function on repeatedly incremented input; second, determi ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
This paper describes a systematic method for optimizing recursive functions using both indexed and recursive data structures. The method is based on two critical ideas: first, determining a minimal input increment operation so as to compute a function on repeatedly incremented input; second, determining appropriate additional values to maintain in appropriate data structures, based on what values are needed in computation on an incremented input and how these values can be established and accessed. Once these two are determined, the method extends the original program to return the additional values, derives an incremental version of the extended program, and forms an optimized program that repeatedly calls the incremental program. The method can derive all dynamic programming algorithms found in standard algorithm textbooks. There are many previous methods for deriving efficient algorithms, but none is as simple, general, and systematic as ours.
Approximating weighted matchings in parallel
"... revised Version Abstract. We present an NC approximation algorithm for the weighted matching problem in graphs with an approximation ratio of (1 − ɛ). This improves the previously best approximation ratio of − ɛ) of an NC algorithm for this problem. ( 1 2 ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
revised Version Abstract. We present an NC approximation algorithm for the weighted matching problem in graphs with an approximation ratio of (1 − ɛ). This improves the previously best approximation ratio of − ɛ) of an NC algorithm for this problem. ( 1 2
General Techniques For Analyzing Recursive Algorithms With Applications
 SIAM Journal on Computing
, 1997
"... . The complexity of divideandconquer algorithms is often described by recurrences of various forms. In this paper, we develop general techniques and master theorems for solving several kinds of recurrences, and we give several applications of our results. In particular, almost all of the earlier w ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
. The complexity of divideandconquer algorithms is often described by recurrences of various forms. In this paper, we develop general techniques and master theorems for solving several kinds of recurrences, and we give several applications of our results. In particular, almost all of the earlier work on solving the recurrences considered here is subsumed by our work. In the process of solving such recurrences, we establish interesting connections between some elegant mathematics and analysis of recurrences. Using our results and improved bipartite matching algorithms, we also improve existing bounds in the literature for several problems, viz, associativecommutative (AC) matching of linear terms, associative matching of linear terms, rooted subtree isomorphism, and rooted subgraph homeomorphism for trees. Key words. analysis of algorithms, divideandconquer, recurrences, problem complexity, subtree isomorphism, associativecommutative (AC) matching, graph algorithms AMS subject cla...
Domain Independant Heuristics in Hybrid Algorithms for CSP's
, 1994
"... Over the years a large number of algorithms has been discovered to solve instances of CSP problems. In a recent paper Prosser [9] proposed a new approach to these algorithms by splitting them up in groups with identical forward (Backtracking, Backjumping, ConflictDirected Backjumping) and backward ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Over the years a large number of algorithms has been discovered to solve instances of CSP problems. In a recent paper Prosser [9] proposed a new approach to these algorithms by splitting them up in groups with identical forward (Backtracking, Backjumping, ConflictDirected Backjumping) and backward (Backtracking, Backmarking, Forward Checking) moves. By combining the forward move of an algorithm from the first group and the backward move of an algorithm from the second group he was able to develop four new hybrid algorithms: Backmarking with Backjumping (BMJ), Backmarking with ConflictDirected Backjumping (BMCBJ) , Forward Checking with Backjumping (FCBJ) and Forward Checking with ConflictDirected Backjumping (FCCBJ). Variable reordering heuristics have been suggested by, among others, by Haralick [6] and Purdom [11, 14] to improve the standard CSP algorithms. They obtained both analytical and empiral results about the performance of these heuristics in their research. In this thes...
Fully Persistent Arrays for Efficient Incremental Updates and Voluminous Reads
 4th European Symposium on Programming
, 1992
"... The array update problem in a purely functional language is the following: once an array is updated, both the original array and the newly updated one must be preserved to maintain referential transparency. We devise a very simple, fully persistent data structure to tackle this problem such that ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
The array update problem in a purely functional language is the following: once an array is updated, both the original array and the newly updated one must be preserved to maintain referential transparency. We devise a very simple, fully persistent data structure to tackle this problem such that ffl each incremental update costs O(1) worstcase time, ffl a voluminous sequence of r reads cost in total O(r) amortized time, and ffl the data structure use O(n + u) space, where n is the size of the array and u is the total number of updates. A sequence of r reads is voluminous if r is \Omega\Gamma n) and the sequence of arrays being read forms a path of length O(r) in the version tree. A voluminous sequence of reads may be mixed with updates without affecting either the performance of reads or updates. An immediate consequence of the above result is that if a functional program is singlethreaded, then the data structure provides a simple and efficient implementation of funct...