Kinetic Priority Queue
   HOME

TheInfoList



OR:

A Kinetic Priority Queue is an abstract kinetic data structure. It is a variant of a
priority queue In computer science, a priority queue is an abstract data-type similar to a regular queue or stack data structure in which each element additionally has a ''priority'' associated with it. In a priority queue, an element with high priority is se ...
designed to maintain the maximum (or minimum) priority element (key-value pair) when the priority of every element is changing as a continuous function of time. Kinetic priority queues have been used as components of several kinetic data structures, as well as to solve some important non-kinetic problems such as the k-set problem and the connected red blue segments intersection problem.


Implementations

The operations supported are: * : create an empty kinetic priority queue * (or find-min): - return the (or for a ) value stored in the queue at the current virtual time . * : - insert a key into the kinetic queue at the current virtual time, whose value changes as a continuous function of time . * - delete a key at the current virtual time . There are several variants of kinetic priority queues, which support the same basic operations but have different performance guarantees. Some of the most common implementations are
kinetic heap A Kinetic Heap is a kinetic data structure, obtained by the kinetization of a heap. It is designed to store elements (keys associated with priorities) where the priority is changing as a continuous function of time. As a type of kinetic priority ...
s which are simple to implement but don't have tight theoretical performance bounds, and their randomized variants - kinetic heaters and kinetic hangers - which are easier to analyze. There is also a heap-like structure based on the
dynamic convex hull The dynamic convex hull problem is a class of dynamic problems in computational geometry. The problem consists in the maintenance, i.e., keeping track, of the convex hull for input data undergoing a sequence of discrete changes, i.e., when input da ...
data structure which achieves better performance for affine motion of the priorities, but doesn't support curved trajectories. The
kinetic tournament A Kinetic Tournament is a kinetic data structure that functions as a priority queue for elements whose priorities change as a continuous function of time. It is implemented analogously to a "tournament" between elements to determine the "winner" ...
is another commonly used implementation. It achieves, deterministically, the same performance bounds as the heater or hanger, however it is less local and responsive than the heap-based data-structures. Here, \alpha(x) denotes the
inverse Ackermann function In computability theory, the Ackermann function, named after Wilhelm Ackermann, is one of the simplest and earliest-discovered examples of a total computable function that is not primitive recursive. All primitive recursive functions are total ...
.\delta-intersecting curves refer to curves where each pair has at most \delta intersections, and \lambda_\delta(n) refers to a term in the Davenport-Schinzel sequence, which gives the maximum size of the
upper envelope In mathematics, the lower envelope or pointwise minimum of a finite set of functions is the pointwise minimum of the functions, the function whose value at every point is the minimum of the values of the functions in the given set. The concept of ...
of n \delta-intersecting curves. n is the largest number of elements in the queue at any given time, while m refers to the total number of elements that are ever in the queue.


Applications

Kinetic priority queues are used as part of other kinetic data structures/algorithms such as
kinetic closest pair A kinetic closest pair data structure is a kinetic data structure that maintains the closest pair of points, given a set ''P'' of ''n'' points that are moving continuously with time in a metric space. While many Kinetic data structure#Performance, ...
, kinetic max-cut or kinetic clustering. They can also be used to solve problems such as broadcast scheduling or the connected red blue segments intersection problem.


References

{{Reflist, refs= {{cite conference, title = Faster kinetic heaps and their use in broadcast scheduling , publisher=ACM , author1=Haim Kaplan , author2=Robert E. Tarjan , author3=Kostas Tsioutsiouliklis , book-title=Proc. 12th ACM-SIAM Symposium on Discrete Algorithms, pages=836–844, year=2001, citeseerx = 10.1.1.12.2739 {{cite web, url=http://www.uniriotec.br/~fonseca/hanger.pdf , title=Kinetic hanger , publisher=Information Processing Letters , access-date=May 17, 2012 , author=da Fonseca, Guilherme D. , author2=de Figueiredo, Celina M. H. , author3=Carvalho, Paulo C. P. , pages=151–157 , url-status=dead , archive-url=https://web.archive.org/web/20150524111432/http://www.uniriotec.br/~fonseca/hanger.pdf , archive-date=May 24, 2015 {{cite conference, author1=Basch, Julien , author2=Guibas, Leonidas , author3=Ramkumar, G. , title=Reporting red-blue intersections between two sets of connected line segments , book-title=Algorithms — ESA '96, year=1996, publisher=Springer Berlin / Heidelberg, isbn=978-3-540-61680-1, doi = 10.1007/3-540-61680-2_64, citeseerx = 10.1.1.55.98 {{cite conference , url=http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/32977.pdf, title=Efficient kinetic data structures for MaxCut , access-date=May 17, 2012 , author1=Czumaj, Arthur , author2=Frahling, Gereon , author3=Sohler, Christian , year=2007 , conference=Canadian Conference on Computational Geometry {{cite conference , url=http://dl.acm.org/citation.cfm?id=1014129, title= Clustering moving objects, author1=Li, Yifan , author2=Han, Jiawei , author3=Yang, Jiong , publisher=ACM, conference=SIGKDD, book-title=Proceedings of the tenth ACM SIGKDD international conference on knowledge discovery and data mining, pages=617–622 {{cite conference, author1=Brodal, G.S. , author2=Jacob, R. , pages=617–626, conference=FCS, year=2002, book-title=Proc. The 43rd Annual IEEE Symposium on Foundations of Computer Science, title=Dynamic planar convex hull, doi=10.1109/SFCS.2002.1181985 , arxiv=1902.11169 Kinetic data structures Priority queues