8,048 research outputs found
Convex Hull Formation for Programmable Matter
We envision programmable matter as a system of nano-scale agents (called
particles) with very limited computational capabilities that move and compute
collectively to achieve a desired goal. We use the geometric amoebot model as
our computational framework, which assumes particles move on the triangular
lattice. Motivated by the problem of sealing an object using minimal resources,
we show how a particle system can self-organize to form an object's convex
hull. We give a distributed, local algorithm for convex hull formation and
prove that it runs in asynchronous rounds, where is the
length of the object's boundary. Within the same asymptotic runtime, this
algorithm can be extended to also form the object's (weak) -hull,
which uses the same number of particles but minimizes the area enclosed by the
hull. Our algorithms are the first to compute convex hulls with distributed
entities that have strictly local sensing, constant-size memory, and no shared
sense of orientation or coordinates. Ours is also the first distributed
approach to computing restricted-orientation convex hulls. This approach
involves coordinating particles as distributed memory; thus, as a supporting
but independent result, we present and analyze an algorithm for organizing
particles with constant-size memory as distributed binary counters that
efficiently support increments, decrements, and zero-tests --- even as the
particles move
I/O-optimal algorithms on grid graphs
Given a graph of which the n vertices form a regular two-dimensional grid,
and in which each (possibly weighted and/or directed) edge connects a vertex to
one of its eight neighbours, the following can be done in O(scan(n)) I/Os,
provided M = Omega(B^2): computation of shortest paths with non-negative edge
weights from a single source, breadth-first traversal, computation of a minimum
spanning tree, topological sorting, time-forward processing (if the input is a
plane graph), and an Euler tour (if the input graph is a tree). The
minimum-spanning tree algorithm is cache-oblivious. The best previously
published algorithms for these problems need Theta(sort(n)) I/Os. Estimates of
the actual I/O volume show that the new algorithms may often be very efficient
in practice.Comment: 12 pages' extended abstract plus 12 pages' appendix with details,
proofs and calculations. Has not been published in and is currently not under
review of any conference or journa
- …