Results 11  20
of
30
Concurrency Control for Knowledge Bases
 In Proceedings of the Third International Conference on Knowledge Representation and Reasoning
, 1992
"... As the demand for everlarger knowledge bases grows, knowledge base management techniques assume paramount importance. In this paper we show that large, multiuser knowledge bases need concurrency control. We discuss known techniques from database concurrency control and explain their inadequa ..."
Abstract

Cited by 12 (7 self)
 Add to MetaCart
As the demand for everlarger knowledge bases grows, knowledge base management techniques assume paramount importance. In this paper we show that large, multiuser knowledge bases need concurrency control. We discuss known techniques from database concurrency control and explain their inadequacies in the context of knowledge bases. We offer a concurrency control algorithm, called the Dynamic Directed Graph (DDG) policy that addresses the specific needs of knowledge bases. The DDG policy exploits the rich structure of a knowledge base to support the interleaved, concurrent execution of several user requests, thereby improving overall system performance. We give a proof of correctness of the proposed concurrency control algorithm and an analysis of its properties. We demonstrate that these results from concurrency control interact in interesting ways with knowledge base features and highlight the importance of performanceoriented tradeoffs in the design of knowledge...
Data Structures and Amortized Complexity in a Functional Setting
, 1992
"... views of amortization : : : : : : : : : : : : : : : : : : : 44 4 Implementation aspects 49 4.1 Functional program notation : : : : : : : : : : : : : : : : : : : : 50 4.2 Eager evaluation : : : : : : : : : : : : : : : : : : : : : : : : : : : 51 4.3 Pointer implementation of stacks : : : : : : : : : ..."
Abstract

Cited by 11 (3 self)
 Add to MetaCart
views of amortization : : : : : : : : : : : : : : : : : : : 44 4 Implementation aspects 49 4.1 Functional program notation : : : : : : : : : : : : : : : : : : : : 50 4.2 Eager evaluation : : : : : : : : : : : : : : : : : : : : : : : : : : : 51 4.3 Pointer implementation of stacks : : : : : : : : : : : : : : : : : : 52 4.4 Destructivity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 54 4.5 Queues and concatenable deques : : : : : : : : : : : : : : : : : : Contents iii 4.6 Linear usage of destructive monoalgebras : : : : : : : : : : : : : 58 4.7 Benevolent sideeffects : : : : : : : : : : : : : : : : : : : : : : : : 61 5 Analysis of functional programs and algebras 63 5.1 Cost measures : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 63 5.2 Worstcase analysis : : : : : : : : : : : : : : : : : : : : : : : : : : 67 5.3 Amortized cost of functions : : : : : : : : : : : : : : : : : : : : : 69 5.4 Amortized analysis : : : : : : : : : : : : : : : : : : : : : : : : : ...
Transaction Synchronization in Knowledge Bases: Concepts, Realization and Quantitative Evaluation
, 1995
"... Large knowledge bases that are intended for applications such as CAD, corporate repositories or process control will have to be shared by multiple users. For these systems to scale up, to give acceptable performance and to exhibit consistent behavior, it is mandatory to synchronize user transactions ..."
Abstract

Cited by 11 (8 self)
 Add to MetaCart
Large knowledge bases that are intended for applications such as CAD, corporate repositories or process control will have to be shared by multiple users. For these systems to scale up, to give acceptable performance and to exhibit consistent behavior, it is mandatory to synchronize user transactions using a concurrency control algorithm. The transactions in knowledge bases often access a large number of entities and perform complex inferences that may last for a long period of time. In such a situation, using conventional concurrency control methods, which require a transaction to hold its locks until it has acquired all the locks it will ever need, do not lead to good performance. This thesis examines the problem of concurrency control for such long transactions in a knowledge base setting. Using a directed graph as a general model of a knowledge base, we develop an algorithm, called the Dynamic Directed Graph (DDG) policy, that allows release of locks by a transaction before it has ...
Dynamic shortest paths and transitive closure: algorithmic techniques and data structures
 J. Discr. Algor
, 2006
"... In this paper, we survey fully dynamic algorithms for path problems on general directed graphs. In particular, we consider two fundamental problems: dynamic transitive closure and dynamic shortest paths. Although research on these problems spans over more than three decades, in the last couple of ye ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
In this paper, we survey fully dynamic algorithms for path problems on general directed graphs. In particular, we consider two fundamental problems: dynamic transitive closure and dynamic shortest paths. Although research on these problems spans over more than three decades, in the last couple of years many novel algorithmic techniques have been proposed. In this survey, we will make a special effort to abstract some combinatorial and algebraic properties, and some common datastructural tools that are at the base of those techniques. This will help us try to present some of the newest results in a unifying framework so that they can be better understood and deployed also by nonspecialists.
Tradeoffs for fully dynamic transitive closure on DAGs: breaking through the O(n²) barrier
 J. ACM
, 2005
"... We present an algorithm for directed acyclic graphs that breaks through the O(n²) barrier on the singleoperation complexity of fully dynamic transitive closure, where n is the number of edges in the graph. We can answer queries in O(n ɛ) worstcase time and perform updates in O(n ω(1,ɛ,1)−ɛ + n 1+ɛ ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
We present an algorithm for directed acyclic graphs that breaks through the O(n²) barrier on the singleoperation complexity of fully dynamic transitive closure, where n is the number of edges in the graph. We can answer queries in O(n ɛ) worstcase time and perform updates in O(n ω(1,ɛ,1)−ɛ + n 1+ɛ) worstcase time, for any ɛ ∈ [0,1], where ω(1,ɛ,1) is the exponent of the multiplication of an n ×n ɛ matrix by an n ɛ ×n matrix. The current best bounds on ω(1,ɛ,1) imply an O(n 0.575) query time and an O(n 1.575) update time in the worst case. Our subquadratic algorithm is randomized, and has onesided error. As an application of this result, we show how to solve singlesource reachability in O(n 1.575) time per update and constant time per query.
A Software Library of Dynamic Graph Algorithms
, 1998
"... We report on a software library of dynamic graph algorithms. It was written in C++ as an extension of LEDA, the library of efficient data types and algorithms. It contains implementations of simple data structures as well as of sophisticated data structures for dynamic connectivity, dynamic minimum ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
We report on a software library of dynamic graph algorithms. It was written in C++ as an extension of LEDA, the library of efficient data types and algorithms. It contains implementations of simple data structures as well as of sophisticated data structures for dynamic connectivity, dynamic minimum spanning trees, dynamic single source shortest paths, and dynamic transitive closure. All data structures are implemented by classes derived from a common base class, thus they have a common interface. Additionally, the base class is in charge of keeping all dynamic data structures working on the same graph consistent. It is possible to change the structure of a graph by a procedure which is not aware of the dynamic data structures initialized for this graph. The library is easily extendible. 1 Introduction Traditional graph algorithms operate on static graphs. A fixed graph is given, and an algorithmic problem (e.g., "Is the graph planar?") is solved on the graph. Dynamic graphs are not fi...
Fully Dynamic Planarity Testing with Applications
"... The fully dynamic planarity testing problem consists of performing an arbitrary sequence of the following three kinds of operations on a planar graph G: (i) insert an edge if the resultant graph remains planar; (ii) delete an edge; and (iii) test whether an edge could be added to the graph without ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The fully dynamic planarity testing problem consists of performing an arbitrary sequence of the following three kinds of operations on a planar graph G: (i) insert an edge if the resultant graph remains planar; (ii) delete an edge; and (iii) test whether an edge could be added to the graph without violating planarity. We show how to support each of the above operations in O(n2=3) time, where n is the number of vertices in the graph. The bound for tests and deletions is worstcase, while the bound for insertions is amortized. This is the first algorithm for this problem with sublinear running time, and it affirmatively answers a question posed in [11]. The same data structure has further applications in maintaining the biconnected and triconnected components of a dynamic planar graph. The time bounds are the same: O(n2=3) worstcase time per edge deletion, O(n2=3) amortized time per edge insertion, and O(n2=3) worstcase time to check whether two vertices are either biconnected or triconnected.
A Uniform Approach to SemiDynamic Problems on Digraphs
 Theoretical Computer Science
, 1998
"... In this paper we propose a uniform approach to deal with incremental problems on digraphs and with decremental problems on dags generalizing a technique used by La Poutr'e and van Leeuwen in [17] for updating the transitive closure and the transitive reduction of a dag. We define a propagation pr ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
In this paper we propose a uniform approach to deal with incremental problems on digraphs and with decremental problems on dags generalizing a technique used by La Poutr'e and van Leeuwen in [17] for updating the transitive closure and the transitive reduction of a dag. We define a propagation property on a binary relationship over the vertices of a digraph as a simple sufficient condition to apply this approach. The proposed technique is suitable for a very simple implementation which does not depend on the particular problem; in other words, the same procedures can be used to deal with different problems by simply setting appropriate boundary conditions.
Maintenance of 2 and 3Connected Components of Graphs, Part I: 2 and 3EdgeConnected Components
, 1990
"... In this paper a data structure is presented to efficiently maintain the 2and 3edgeconnected components of a graph, under insertions of edges in the graph. Starting from an "empty" graph of n nodes, the insertion of e edges takes O(nlogn[ e) time in total. The data structure allows for inserti ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
In this paper a data structure is presented to efficiently maintain the 2and 3edgeconnected components of a graph, under insertions of edges in the graph. Starting from an "empty" graph of n nodes, the insertion of e edges takes O(nlogn[ e) time in total. The data structure allows for insertions of nodes also (in the same time bounds, taking n as the final number of nodes).
ArchitecturalLevel Synthesis Of Asynchronous Systems
, 1998
"... Asynchronous circuit design has the potential to produce circuits superior to those of synchronous circuit design. Current synchronous methods of architecturallevel synthesis do not exploit properties inherent to asynchronous circuits. This research describes potential optimizations and techniques ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Asynchronous circuit design has the potential to produce circuits superior to those of synchronous circuit design. Current synchronous methods of architecturallevel synthesis do not exploit properties inherent to asynchronous circuits. This research describes potential optimizations and techniques that can be applied to the architecturallevel design of asynchronous systems. The proposed methods take advantage of asynchronous circuit properties such as datadependent delays, modularity, and composiblity. The optimization problems of scheduling and allocation are studied. For scheduling, some counterintuitive properties of delays in a system are shown. The design space is studied and several filters to reduce the size of the design space are proposed. To evaluate and test these ideas the CAD tool Mercury was developed and is described in detail. Mercury is unique in that it can take an abstract model of a design, in this case a data flow graph, and from that generate both an optimal s...