51,797 research outputs found
Greedy Maximization Framework for Graph-based Influence Functions
The study of graph-based submodular maximization problems was initiated in a
seminal work of Kempe, Kleinberg, and Tardos (2003): An {\em influence}
function of subsets of nodes is defined by the graph structure and the aim is
to find subsets of seed nodes with (approximately) optimal tradeoff of size and
influence. Applications include viral marketing, monitoring, and active
learning of node labels. This powerful formulation was studied for
(generalized) {\em coverage} functions, where the influence of a seed set on a
node is the maximum utility of a seed item to the node, and for pairwise {\em
utility} based on reachability, distances, or reverse ranks.
We define a rich class of influence functions which unifies and extends
previous work beyond coverage functions and specific utility functions. We
present a meta-algorithm for approximate greedy maximization with strong
approximation quality guarantees and worst-case near-linear computation for all
functions in our class. Our meta-algorithm generalizes a recent design by Cohen
et al (2014) that was specific for distance-based coverage functions.Comment: 8 pages, 1 figur
A Functional Approach to Standard Binary Heaps
This paper describes a new and purely functional implementation technique of
binary heaps. A binary heap is a tree-based data structure that implements
priority queue operations (insert, remove, minimum/maximum) and guarantees at
worst logarithmic running time for them. Approaches and ideas described in this
paper present a simple and asymptotically optimal implementation of immutable
binary heap
Recommended from our members
Design, implementation and testing of an integrated branch and bound algorithm for piecewise linear and discrete programming problems within an LP framework
A number of discrete variable representations are well accepted and find regular use within LP systems. These are Binary variables, General Integer variables, Variable Upper Bounds or Semi Continuous variables, Special Ordered Sets of type One and type Two. The FortLP system has been extended to include these representations. A Branch and Bound algorithm is designed in which the choice of sub-problems and branching variables are kept general. This provides considerable scope of experimentation with tree development heuristics and the tree search can then be guided by search parameters specified by user subroutines. The data structures for representing the variables and the definition of the branch and bound tree are described. The results of experimental investigation for a few test problems are reported
Smooth heaps and a dual view of self-adjusting data structures
We present a new connection between self-adjusting binary search trees (BSTs)
and heaps, two fundamental, extensively studied, and practically relevant
families of data structures. Roughly speaking, we map an arbitrary heap
algorithm within a natural model, to a corresponding BST algorithm with the
same cost on a dual sequence of operations (i.e. the same sequence with the
roles of time and key-space switched). This is the first general transformation
between the two families of data structures.
There is a rich theory of dynamic optimality for BSTs (i.e. the theory of
competitiveness between BST algorithms). The lack of an analogous theory for
heaps has been noted in the literature. Through our connection, we transfer all
instance-specific lower bounds known for BSTs to a general model of heaps,
initiating a theory of dynamic optimality for heaps.
On the algorithmic side, we obtain a new, simple and efficient heap
algorithm, which we call the smooth heap. We show the smooth heap to be the
heap-counterpart of Greedy, the BST algorithm with the strongest proven and
conjectured properties from the literature, widely believed to be
instance-optimal. Assuming the optimality of Greedy, the smooth heap is also
optimal within our model of heap algorithms. As corollaries of results known
for Greedy, we obtain instance-specific upper bounds for the smooth heap, with
applications in adaptive sorting.
Intriguingly, the smooth heap, although derived from a non-practical BST
algorithm, is simple and easy to implement (e.g. it stores no auxiliary data
besides the keys and tree pointers). It can be seen as a variation on the
popular pairing heap data structure, extending it with a "power-of-two-choices"
type of heuristic.Comment: Presented at STOC 2018, light revision, additional figure
Locally Self-Adjusting Skip Graphs
We present a distributed self-adjusting algorithm for skip graphs that
minimizes the average routing costs between arbitrary communication pairs by
performing topological adaptation to the communication pattern. Our algorithm
is fully decentralized, conforms to the model (i.e. uses
bit messages), and requires bits of memory for each
node, where is the total number of nodes. Upon each communication request,
our algorithm first establishes communication by using the standard skip graph
routing, and then locally and partially reconstructs the skip graph topology to
perform topological adaptation. We propose a computational model for such
algorithms, as well as a yardstick (working set property) to evaluate them. Our
working set property can also be used to evaluate self-adjusting algorithms for
other graph classes where multiple tree-like subgraphs overlap (e.g. hypercube
networks). We derive a lower bound of the amortized routing cost for any
algorithm that follows our model and serves an unknown sequence of
communication requests. We show that the routing cost of our algorithm is at
most a constant factor more than the amortized routing cost of any algorithm
conforming to our computational model. We also show that the expected
transformation cost for our algorithm is at most a logarithmic factor more than
the amortized routing cost of any algorithm conforming to our computational
model
Memory-Adjustable Navigation Piles with Applications to Sorting and Convex Hulls
We consider space-bounded computations on a random-access machine (RAM) where
the input is given on a read-only random-access medium, the output is to be
produced to a write-only sequential-access medium, and the available workspace
allows random reads and writes but is of limited capacity. The length of the
input is elements, the length of the output is limited by the computation,
and the capacity of the workspace is bits for some predetermined
parameter . We present a state-of-the-art priority queue---called an
adjustable navigation pile---for this restricted RAM model. Under some
reasonable assumptions, our priority queue supports and
in worst-case time and in worst-case time for any . We show how to use this
data structure to sort elements and to compute the convex hull of
points in the two-dimensional Euclidean space in
worst-case time for any . Following a known lower bound for the
space-time product of any branching program for finding unique elements, both
our sorting and convex-hull algorithms are optimal. The adjustable navigation
pile has turned out to be useful when designing other space-efficient
algorithms, and we expect that it will find its way to yet other applications.Comment: 21 page
- …