Results 1 
7 of
7
DynFO: A Parallel, Dynamic Complexity Class
 Journal of Computer and System Sciences
, 1994
"... Traditionally, computational complexity has considered only static problems. Classical Complexity Classes such as NC, P, and NP are defined in terms of the complexity of checking  upon presentation of an entire input  whether the input satisfies a certain property. For many applications of compu ..."
Abstract

Cited by 50 (4 self)
 Add to MetaCart
Traditionally, computational complexity has considered only static problems. Classical Complexity Classes such as NC, P, and NP are defined in terms of the complexity of checking  upon presentation of an entire input  whether the input satisfies a certain property. For many applications of computers it is more appropriate to model the process as a dynamic one. There is a fairly large object being worked on over a period of time. The object is repeatedly modified by users and computations are performed. We develop a theory of Dynamic Complexity. We study the new complexity class, Dynamic FirstOrder Logic (DynFO). This is the set of properties that can be maintained and queried in firstorder logic, i.e. relational calculus, on a relational database. We show that many interesting properties are in DynFO including multiplication, graph connectivity, bipartiteness, and the computation of minimum spanning trees. Note that none of these problems is in static FO, and this f...
Deriving incremental programs
, 1993
"... A systematic approach i s g i v en for deriving incremental programs from nonincremental programs written in a standard functional programming language. We exploit a number of program analysis and transformation techniques and domainspeci c knowledge, centered around e ective utilization of cachin ..."
Abstract

Cited by 39 (21 self)
 Add to MetaCart
A systematic approach i s g i v en for deriving incremental programs from nonincremental programs written in a standard functional programming language. We exploit a number of program analysis and transformation techniques and domainspeci c knowledge, centered around e ective utilization of caching, in order to provide a degree of incrementality not otherwise achievable by a generic incremental evaluator. 1
Fully dynamic algorithms for chordal graphs
 In Proceedings of the 10th Annual ACMSIAM Symposium on Discrete Algorithms (SODA'99
, 1999
"... We present the rst dynamic algorithm that maintains a clique tree representation of a chordal graph and supports the following operations: (1) query whether deleting or inserting an arbitrary edge preserves chordality, (2) delete or insert an arbitrary edge, provided it preserves chordality. Wegivet ..."
Abstract

Cited by 30 (1 self)
 Add to MetaCart
We present the rst dynamic algorithm that maintains a clique tree representation of a chordal graph and supports the following operations: (1) query whether deleting or inserting an arbitrary edge preserves chordality, (2) delete or insert an arbitrary edge, provided it preserves chordality. Wegivetwo implementations. In the rst, each operation runs in O(n) time, where n is the numberofvertices. In the second, an insertion query runs in O(log 2 n) time, an insertion in O(n) time, a deletion query in O(n) time, and a deletion in O(n log n) time. We also present a data structure that allows a deletion query to run in O ( p m) time in either implementation, where m is the current number of edges. Updating this data structure after a deletion or insertion requires O(m) time. We also present avery simple dynamic algorithm that supports each of the following operations in O(1) time on a general graph: (1) query whether the graph is split, (2) delete or insert an arbitrary edge. 1
Massive Streaming Data Analytics: A Case Study with Clustering Coefficients
"... We present a new approach for parallel massive graph analysis of streaming, temporal data with a dynamic and extensible representation. Handling the constant stream of new data from health care, security, business, and social network applications requires new algorithms and data structures. We exami ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
We present a new approach for parallel massive graph analysis of streaming, temporal data with a dynamic and extensible representation. Handling the constant stream of new data from health care, security, business, and social network applications requires new algorithms and data structures. We examine data structure and algorithm tradeoffs that extract the parallelism and high performance necessary for rapidly updating analysis of massive graphs. Static implementations of analysis kernels often rely on specific structure on the input data, maintaining the specific structures for each possible kernel with high data rates imposes too great a performance price. A case study with clustering coefficients demonstrates incremental updates can be more efficient than global recomputation. Within this kernel, we compare three methods for dynamically updating local clustering coefficients: a bruteforce local recalculation, a sorting algorithm, and our new approximation method using a Bloom filter. On 32 processors of a Cray XMT with a synthetic scalefree graph of 2^24 ≈ 16 million vertices and 2^29 ≈ 537 million edges, the bruteforce method processes a mean of over 50 000 updates per second and our Bloom filter approaches 200 000 updates per second.
Incremental computation for transformational software development
"... Given a program f and an input change, w e wish to obtain an incremental program that computes f (x y) e ciently by making use of the value of f (x), the intermediate results computed in computing f (x), and auxiliary information about x that can be inexpensively maintained. Obtaining such increment ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Given a program f and an input change, w e wish to obtain an incremental program that computes f (x y) e ciently by making use of the value of f (x), the intermediate results computed in computing f (x), and auxiliary information about x that can be inexpensively maintained. Obtaining such incremental programs is an essential part of the transformationalprogramming approach to software development and enhancement. This paper presents a systematic approach that discovers a general class of useful auxiliary information, combines it with useful intermediate results, and obtains an e cient incremental program that uses and maintains these intermediate results and auxiliary information. We g i v e a n umbe r of examples from list processing, VLSI circuit design, image processing, etc. 1
conducted
"... a liations command Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for pro t or direct commercial advantage and that copies show this notice on the rst page or initial screen o ..."
Abstract
 Add to MetaCart
a liations command Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for pro t or direct commercial advantage and that copies show this notice on the rst page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copyotherwise, to republish, to post on servers, to redistribute to lists, or to use any component ofthiswork in other works, requires prior speci c permission and/or a fee. Permissions may be requested from Publications Dept, ACM
unknown title
"... In this paper we examine the problem of designing incremental algorithms for algebraic problems. In particular, let R =(S � + � � 0 � 1) be a ring with elements from a set S and appropriately de ned addition and multiplication operations, and let f: S n! S m be an algebraic function over this ring. ..."
Abstract
 Add to MetaCart
In this paper we examine the problem of designing incremental algorithms for algebraic problems. In particular, let R =(S � + � � 0 � 1) be a ring with elements from a set S and appropriately de ned addition and multiplication operations, and let f: S n! S m be an algebraic function over this ring. Given an initial input vector (x1�x2�