75,836 research outputs found
Porovnání implementací Top stromů
Porovnání implementací Top stromů - Abstrakt Jiří Setnička Definice a zavedení Top stromů a představení problémů, které se jimi dají efektivně řešit včetně problému hranové 2-souvislosti. Definice a zavedení topologických stromů, které jsou následně použity jako jeden z driverů pro Top stromy. Po úvodním seznámení s problematikou jsou představeny dvě implementace: jedna založená na samovyvažujících se stromech a druhá založená na topologických stromech. Porovnání obou imple- mentací je provedeno na dvou experimentech. Naměřené hodnoty jsou diskutovány v závěru - výsledky korespondují s úvodními odhady, ale s výrazně odlišnými multiplikativními konstantami, než bylo před- pokládáno. 1Comparison of Top trees implementations - Abstract Jiří Setnička Definition and description of Top trees and introduction of problems solvable by them including problem of edge 2-connectivity. Definition and description of Topology trees used as one of the drivers for Top trees. After the initial descriptions the two top trees implementations are introduced: one based on self adjusting trees, second based on topology trees. Comparison of these implementations is done by two experiments. Measurements are discussed in conclusion - results corresponds with initial estimates but with different multiplicative constant than expected. 1Department of Theoretical Computer Science and Mathematical LogicKatedra teoretické informatiky a matematické logikyFaculty of Mathematics and PhysicsMatematicko-fyzikální fakult
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
Brief Announcement: On Self-Adjusting Skip List Networks
This paper explores the design of dynamic network topologies which adjust to the workload they serve, in an online manner. Such self-adjusting networks (SANs) are enabled by emerging optical technologies, and can be found, e.g., in datacenters. SANs can be used to reduce routing costs by moving frequently communicating nodes topologically closer. This paper presents SANs which provide, for the first time, provable working set guarantees: the routing cost between node pairs is proportional to how recently these nodes communicated last time. Our SANs rely on skip lists (which serve as the topology) and provide additional interesting properties such as local routing
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
A Complexity O(1) Priority Queue for Event Driven Molecular Dynamics Simulations
We propose and implement a priority queue suitable for use in event driven
molecular dynamics simulations. All operations on the queue take on average
O(1) time per collision. In comparison, previously studied queues for event
driven molecular dynamics simulations require O(log ) time per collision for
systems of particles.Comment: Accepted for publication in Journal of Computational Physic
Cache-Oblivious Persistence
Partial persistence is a general transformation that takes a data structure
and allows queries to be executed on any past state of the structure. The
cache-oblivious model is the leading model of a modern multi-level memory
hierarchy.We present the first general transformation for making
cache-oblivious model data structures partially persistent
- …