Results 1  10
of
78
A new approach to the maximum flow problem
 JOURNAL OF THE ACM
, 1988
"... All previously known efficient maximumflow algorithms work by finding augmenting paths, either one path at a time (as in the original Ford and Fulkerson algorithm) or all shortestlength augmenting paths at once (using the layered network approach of Dinic). An alternative method based on the pre ..."
Abstract

Cited by 676 (34 self)
 Add to MetaCart
(Show Context)
All previously known efficient maximumflow algorithms work by finding augmenting paths, either one path at a time (as in the original Ford and Fulkerson algorithm) or all shortestlength augmenting paths at once (using the layered network approach of Dinic). An alternative method based on the preflow concept of Karzanov is introduced. A preflow is like a flow, except that the total amount flowing into a vertex is allowed to exceed the total amount flowing out. The method maintains a preflow in the original network and pushes local flow excess toward the sink along what are estimated to be shortest paths. The algorithm and its analysis are simple and intuitive, yet the algorithm runs as fast as any other known method on dense. graphs, achieving an O(n³) time bound on an nvertex graph. By incorporating the dynamic tree data structure of Sleator and Tarjan, we obtain a version of the algorithm running in O(nm log(n²/m)) time on an nvertex, medge graph. This is as fast as any known method for any graph density and faster on graphs of moderate density. The algorithm also admits efticient distributed and parallel implementations. A parallel implementation running in O(n²log n) time using n processors and O(m) space is obtained. This time bound matches that of the ShiloachVishkin algorithm, which also uses n processors but requires O(n²) space.
Achieving 100% Throughput in an InputQueued Switch
 IEEE TRANSACTIONS ON COMMUNICATIONS
, 1996
"... It is well known that headofline (HOL) blocking limits the throughput of an inputqueued switch with FIFO queues. Under certain conditions, the throughput can be shown to be limited to approximately 58%. It is also known that if nonFIFO queueing policies are used, the throughput can be increas ..."
Abstract

Cited by 527 (27 self)
 Add to MetaCart
It is well known that headofline (HOL) blocking limits the throughput of an inputqueued switch with FIFO queues. Under certain conditions, the throughput can be shown to be limited to approximately 58%. It is also known that if nonFIFO queueing policies are used, the throughput can be increased. However, it has not been previously shown that if a suitable queueing policy and scheduling algorithm are used then it is possible to achieve 100% throughput for all independent arrival processes. In this paper we prove this to be the case using a simple linear programming argument and quadratic Lyapunov function. In particular, we assume that each input maintains a separate FIFO queue for each output and that the switch is scheduled using a maximum weight bipartite matching algorithm. We introduce two maximum weight matching algorithms: LQF and OCF. Both
Principles and methods of Testing Finite State Machines  a survey
 PROCEEDINGS OF IEEE
, 1996
"... With advanced computer technology, systems are getting larger to fulfill more complicated tasks, however, they are also becoming less reliable. Consequently, testing is an indispensable part of system design and implementation; yet it has proved to be a formidable task for complex systems. This moti ..."
Abstract

Cited by 339 (14 self)
 Add to MetaCart
With advanced computer technology, systems are getting larger to fulfill more complicated tasks, however, they are also becoming less reliable. Consequently, testing is an indispensable part of system design and implementation; yet it has proved to be a formidable task for complex systems. This motivates the study of testing finite state machines to ensure the correct functioning of systems and to discover aspects of their behavior. A finite state machine contains a finite number of states and produces outputs on state transitions after receiving inputs. Finite state machines are widely used to model systems in diverse areas, including sequential circuits, certain types of programs, and, more recently, communication protocols. In a testing problem we have a machine about which we lack some information; we would like to deduce this information by providing a sequence of inputs to the machine and observing the outputs produced. Because of its practical importance and theoretical interest, the problem of testing finite state machines has been studied in different areas and at various times. The earliest published literature on this topic dates back to the 50’s. Activities in the 60’s and early 70’s were motivated mainly by automata theory and sequential circuit testing. The area seemed to have mostly died down until a few years ago when the testing problem was resurrected and is now being studied anew due to its applications to conformance testing of communication protocols. While some old problems which had been open for decades were resolved recently, new concepts and more intriguing problems from new applications emerge. We review the fundamental problems in testing finite state machines and techniques for solving these problems, tracing progress in the area from its inception to the present and the state of the art. In addition, we discuss extensions of finite state machines and some other topics related to testing.
Optimally Profiling and Tracing Programs
 ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
, 1994
"... ..."
Making data structures persistent
, 1989
"... This paper is a study of persistence in data structures. Ordinary data structures are ephemeral in the sense that a change to the structure destroys the old version, leaving only the new version available for use. In contrast, a persistent structure allows access to any version, old or new, at any t ..."
Abstract

Cited by 288 (6 self)
 Add to MetaCart
(Show Context)
This paper is a study of persistence in data structures. Ordinary data structures are ephemeral in the sense that a change to the structure destroys the old version, leaving only the new version available for use. In contrast, a persistent structure allows access to any version, old or new, at any time. We develop simple, systematic, and efftcient techniques for making linked data structures persistent. We use our techniques to devise persistent forms of binary search trees with logarithmic access, insertion, and deletion times and O (1) space bounds for insertion and deletion.
An Incremental Algorithm for a Generalization of the ShortestPath Problem
, 1992
"... The grammar problem, a generalization of the singlesource shortestpath problem introduced by Knuth, is to compute the minimumcost derivation of a terminal string from each nonterminal of a given contextfree grammar, with the cost of a derivation being suitably defined. This problem also subsume ..."
Abstract

Cited by 147 (1 self)
 Add to MetaCart
(Show Context)
The grammar problem, a generalization of the singlesource shortestpath problem introduced by Knuth, is to compute the minimumcost derivation of a terminal string from each nonterminal of a given contextfree grammar, with the cost of a derivation being suitably defined. This problem also subsumes the problem of finding optimal hyperpaths in directed hypergraphs (under varying optimization criteria) that has received attention recently. In this paper we present an incremental algorithm for a version of the grammar problem. As a special case of this algorithm we obtain an efficient incremental algorithm for the singlesource shortestpath problem with positive edge lengths. The aspect of our work that distinguishes it from other work on the dynamic shortestpath problem is its ability to handle "multiple heterogeneous modifications": between updates, the input graph is allowed to be restructured by an arbitrary mixture of edge insertions, edge deletions, and edgelength changes.
The Tiny Tera: A Packet Switch Core
, 1996
"... In this paper, we present the Tiny Tera: a small packet switch with an aggregate bandwidth of 320Gb/s. The Tiny Tera is a CMOSbased inputqueued, fixedsize packet switch suitable for a wide range of applications such as a highperformance ATM switch, the core of an Internet router or as a fast mult ..."
Abstract

Cited by 96 (4 self)
 Add to MetaCart
In this paper, we present the Tiny Tera: a small packet switch with an aggregate bandwidth of 320Gb/s. The Tiny Tera is a CMOSbased inputqueued, fixedsize packet switch suitable for a wide range of applications such as a highperformance ATM switch, the core of an Internet router or as a fast multiprocessor interconnect. Using offtheshelf technology, we plan to demonstrate that a very highbandwidth switch can be built without the need for esoteric optical switching technology. By employing novel scheduling algorithms for both unicast and multicast traffic, the switch will have a maximum throughput close to 100%. Using novel highspeed chiptochip serial link technology, we plan to reduce the physical size and complexity of the switch, as well as the system pincount.
Efficient Projections onto the ℓ1Ball for Learning in High Dimensions
"... We describe efficient algorithms for projecting a vector onto the ℓ1ball. We present two methods for projection. The first performs exact projection in O(n) expected time, where n is the dimension of the space. The second works on vectors k of whose elements are perturbed outside the ℓ1ball, proje ..."
Abstract

Cited by 85 (9 self)
 Add to MetaCart
(Show Context)
We describe efficient algorithms for projecting a vector onto the ℓ1ball. We present two methods for projection. The first performs exact projection in O(n) expected time, where n is the dimension of the space. The second works on vectors k of whose elements are perturbed outside the ℓ1ball, projecting in O(k log(n)) time. This setting is especially useful for online learning in sparse feature spaces such as text categorization applications. We demonstrate the merits and effectiveness of our algorithms in numerous batch and online learning tasks. We show that variants of stochastic gradient projection methods augmented with our efficient projection procedures outperform interior point methods, which are considered stateoftheart optimization techniques. We also show that in online settings gradient updates with ℓ1 projections outperform the exponentiated gradient algorithm while obtaining models with high degrees of sparsity. 1.
On the Computational Complexity of Dynamic Graph Problems
 THEORETICAL COMPUTER SCIENCE
, 1996
"... ..."
Verification and Sensitivity Analysis Of Minimum Spanning Trees In Linear Time
 SIAM J. COMPUT
, 1992
"... Komlos has devised a way to use a linear number of binary comparisons to test whether a given spanning tree of a graph with edge costs is a minimum spanning tree. The total computational work required by his method is much larger than linear, however. We describe a lineartime algorithm for verifyi ..."
Abstract

Cited by 59 (1 self)
 Add to MetaCart
Komlos has devised a way to use a linear number of binary comparisons to test whether a given spanning tree of a graph with edge costs is a minimum spanning tree. The total computational work required by his method is much larger than linear, however. We describe a lineartime algorithm for verifying a minimum spanning tree. Our algorithm combines the result of Komlos with a preprocessing and table lookup method for small subproblems and with a previously known almostlineartime algorithm. Additionally, we present an optimal deterministic algorithm and a lineartime randomized algorithm for sensitivity analysis of minimum spanning trees.