15,227 research outputs found
Linear Time Distributed Swap Edge Algorithms
In this paper, we consider the all best swap edges problem in
a distributed environment. We are given a 2-edge connected positively weighted network X, where all communication is routed through a rooted spanning tree T of X. If one tree edge e = {x, y} fails, the communication network will be disconnected. However, since X is 2-edge connected,
communication can be restored by replacing e by non-tree edge e′, called a swap edge of e, whose ends lie in different components of T − e. Of all possible swap edges of e, we would like to choose the best, as defined by the application. The all best swap edges problem is to identify the
best swap edge for every tree edge, so that in case of any edge failure, the best swap edge can be activated quickly. There are solutions to this problem for a number of cases in the literature. A major concern for all these solutions is to minimize the number of messages. However, especially in fault-transient environments, time is a crucial factor. In this
paper we present a novel technique that addresses this problem from a time perspective; in fact, we present a distributed solution that works in linear time with respect to the height h of T for a number of differentcriteria, while retaining the optimal number of messages. To the best of
our knowledge, all previous solutions solve the problem in O(h^2) time in the cases we consider
Effective Edge-Fault-Tolerant Single-Source Spanners via Best (or Good) Swap Edges
Computing \emph{all best swap edges} (ABSE) of a spanning tree of a given
-vertex and -edge undirected and weighted graph means to select, for
each edge of , a corresponding non-tree edge , in such a way that the
tree obtained by replacing with enjoys some optimality criterion (which
is naturally defined according to some objective function originally addressed
by ). Solving efficiently an ABSE problem is by now a classic algorithmic
issue, since it conveys a very successful way of coping with a (transient)
\emph{edge failure} in tree-based communication networks: just replace the
failing edge with its respective swap edge, so as that the connectivity is
promptly reestablished by minimizing the rerouting and set-up costs. In this
paper, we solve the ABSE problem for the case in which is a
\emph{single-source shortest-path tree} of , and our two selected swap
criteria aim to minimize either the \emph{maximum} or the \emph{average
stretch} in the swap tree of all the paths emanating from the source. Having
these criteria in mind, the obtained structures can then be reviewed as
\emph{edge-fault-tolerant single-source spanners}. For them, we propose two
efficient algorithms running in and time, respectively, and we show that the guaranteed (either
maximum or average, respectively) stretch factor is equal to 3, and this is
tight. Moreover, for the maximum stretch, we also propose an almost linear time algorithm computing a set of \emph{good} swap edges,
each of which will guarantee a relative approximation factor on the maximum
stretch of (tight) as opposed to that provided by the corresponding BSE.
Surprisingly, no previous results were known for these two very natural swap
problems.Comment: 15 pages, 4 figures, SIROCCO 201
A Parallel Distributed Strategy for Arraying a Scattered Robot Swarm
We consider the problem of organizing a scattered group of robots in
two-dimensional space, with geometric maximum distance between robots. The
communication graph of the swarm is connected, but there is no central
authority for organizing it. We want to arrange them into a sorted and
equally-spaced array between the robots with lowest and highest label, while
maintaining a connected communication network.
In this paper, we describe a distributed method to accomplish these goals,
without using central control, while also keeping time, travel distance and
communication cost at a minimum. We proceed in a number of stages (leader
election, initial path construction, subtree contraction, geometric
straightening, and distributed sorting), none of which requires a central
authority, but still accomplishes best possible parallelization. The overall
arraying is performed in time, individual messages, and
travel distance. Implementation of the sorting and navigation use communication
messages of fixed size, and are a practical solution for large populations of
low-cost robots
Setting Parameters by Example
We introduce a class of "inverse parametric optimization" problems, in which
one is given both a parametric optimization problem and a desired optimal
solution; the task is to determine parameter values that lead to the given
solution. We describe algorithms for solving such problems for minimum spanning
trees, shortest paths, and other "optimal subgraph" problems, and discuss
applications in multicast routing, vehicle path planning, resource allocation,
and board game programming.Comment: 13 pages, 3 figures. To be presented at 40th IEEE Symp. Foundations
of Computer Science (FOCS '99
Fast Deterministic Selection
The Median of Medians (also known as BFPRT) algorithm, although a landmark
theoretical achievement, is seldom used in practice because it and its variants
are slower than simple approaches based on sampling. The main contribution of
this paper is a fast linear-time deterministic selection algorithm
QuickselectAdaptive based on a refined definition of MedianOfMedians. The
algorithm's performance brings deterministic selection---along with its
desirable properties of reproducible runs, predictable run times, and immunity
to pathological inputs---in the range of practicality. We demonstrate results
on independent and identically distributed random inputs and on
normally-distributed inputs. Measurements show that QuickselectAdaptive is
faster than state-of-the-art baselines.Comment: Pre-publication draf
Toward Linearizability Testing for Multi-Word Persistent Synchronization Primitives
Persistent memory makes it possible to recover in-memory data structures following a failure instead of rebuilding them from state saved in slow secondary storage. Implementing such recoverable data structures correctly is challenging as their underlying algorithms must deal with both parallelism and failures, which makes them especially susceptible to programming errors. Traditional proofs of correctness should therefore be combined with other methods, such as model checking or software testing, to minimize the likelihood of uncaught defects. This research focuses specifically on the algorithmic principles of software testing, particularly linearizability analysis, for multi-word persistent synchronization primitives such as conditional swap operations. We describe an efficient decision procedure for linearizability in this context, and discuss its practical applications in detecting previously-unknown bugs in implementations of multi-word persistent primitives
Improved Incremental Randomized Delaunay Triangulation
We propose a new data structure to compute the Delaunay triangulation of a
set of points in the plane. It combines good worst case complexity, fast
behavior on real data, and small memory occupation.
The location structure is organized into several levels. The lowest level
just consists of the triangulation, then each level contains the triangulation
of a small sample of the levels below. Point location is done by marching in a
triangulation to determine the nearest neighbor of the query at that level,
then the march restarts from that neighbor at the level below. Using a small
sample (3%) allows a small memory occupation; the march and the use of the
nearest neighbor to change levels quickly locate the query.Comment: 19 pages, 7 figures Proc. 14th Annu. ACM Sympos. Comput. Geom.,
106--115, 199
- …