## Kinetic algorithms via self-adjusting computation (2006)

### Cached

### Download Links

- [www.cs.cmu.edu]
- [www.cs.cmu.edu]
- [www.cs.cmu.edu]
- [ttic.uchicago.edu]
- [www.cs.cmu.edu]
- [www.cs.cmu.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proceedings of the 14th Annual European Symposium on Algorithms (ESA 2006 |

Citations: | 12 - 9 self |

### BibTeX

@TECHREPORT{Acar06kineticalgorithms,

author = {Umut A. Acar and Guy E. Blelloch and Kanat Tangwongsan and Jorge L. Vittes},

title = {Kinetic algorithms via self-adjusting computation},

institution = {In Proceedings of the 14th Annual European Symposium on Algorithms (ESA 2006},

year = {2006}

}

### OpenURL

### Abstract

Abstract. Define a static algorithm as an algorithm that computes some combinatorial property of its input consisting of static, i.e., non-moving, objects. In this paper, we describe a technique for syntactically transforming static algorithms into kinetic algorithms, which compute properties of moving objects. The technique o«ers capabilities for composing kinetic algorithms, for integrating dynamic and kinetic changes, and for ensuring robustness even with fixed-precision floating-point arithmetic. To evaluate the e«ectiveness of the approach, we implement a library for performing the transformation, transform a number of algorithms, and give an experimental evaluation. The results show that the technique performs well in practice. 1

### Citations

454 | The quickhull algorithm for convex hulls
- Barber, Dobkin, et al.
- 1996
(Show Context)
Citation Context ...valuate the effectiveness of the approach by kinetizing a number of algorithms (Sections 3 and 4), including the merge-sort and the quick-sort algorithms, the Graham-Scan [16], merge-hull, quick-hull =-=[11]-=-, ultimate [15] algorithms for computing convex hulls, and Shamos’s algorithm for computing diameters [21] and performing an experimental evaluation. Our experiments (Section 5) show that kinetized al... |

450 | Computational Geometry
- Preparata, Shamos
- 1985
(Show Context)
Citation Context ...ng the merge-sort and the quick-sort algorithms, the Graham-Scan [16], merge-hull, quick-hull [11], ultimate [15] algorithms for computing convex hulls, and Shamos’s algorithm for computing diameters =-=[21]-=- and performing an experimental evaluation. Our experiments (Section 5) show that kinetized algorithms are efficient in practice. For the transformation to yield an efficient kinetic algorithm, the st... |

239 |
An efficient algorithm for determining the convex hull of a finite planar set
- Graham
- 1972
(Show Context)
Citation Context ...e-propagation algorithm. We evaluate the effectiveness of the approach by kinetizing a number of algorithms (Sections 3 and 4), including the merge-sort and the quick-sort algorithms, the Graham-Scan =-=[16]-=-, merge-hull, quick-hull [11], ultimate [15] algorithms for computing convex hulls, and Shamos’s algorithm for computing diameters [21] and performing an experimental evaluation. Our experiments (Sect... |

231 | Data Structures for Mobile Data
- Basch, Guibas, et al.
- 1997
(Show Context)
Citation Context ...sform a number of algorithms, and give an experimental evaluation. The results show that the technique performs well in practice. 1 Introduction Since first proposed by Basch, Guibas, and Hershberger =-=[13]-=-, many kinetic data structures for computing properties of moving objects have been designed and analyzed (e.g., [8, 12, 9]). Some kinetic data structures have also been implemented [14, 12, 17]. A ki... |

64 | Adaptive functional programming
- Acar, Blelloch, et al.
(Show Context)
Citation Context ...er determines what data is changeable, s/he can transform the program by annotating it with the aforementioned primitives. This transformation is aided by language techniques that ensures correctness =-=[1, 2, 4]-=-. Example transformations can be found elsewhere [7, 1]. Kinetizing a self-adjusting program requires replacing the comparisons in the program with certificate-generating comparisons. This is achieved... |

47 | Optimal output-sensitive convex hull algorithms in two and three dimensions, Discrete Comput. Geom. 16
- Chan
- 1996
(Show Context)
Citation Context ...ectiveness of the approach by kinetizing a number of algorithms (Sections 3 and 4), including the merge-sort and the quick-sort algorithms, the Graham-Scan [16], merge-hull, quick-hull [11], ultimate =-=[15]-=- algorithms for computing convex hulls, and Shamos’s algorithm for computing diameters [21] and performing an experimental evaluation. Our experiments (Section 5) show that kinetized algorithms are ef... |

44 | Selective memoization
- Acar, Blelloch, et al.
- 2003
(Show Context)
Citation Context ...ge of the computation structure expressed by the static algorithm to update the output. To achieve efficiency, the change-propagation algorithm [3, 1] relies on an integral combination of memoization =-=[5]-=- and dynamic-dependence graphs [6, 4]. Since change-propagation is general purpose and can handle any change to the computation, kinetic (self-adjusting) algorithm have the following capabilities: – I... |

41 | Dynamizing static algorithms with applications to dynamic trees and history independence
- Acar, Blelloch, et al.
- 2004
(Show Context)
Citation Context ... the static algorithms being transformed need to be stable. Informally, an algorithm is stable if a small change to the input causes a small change in the execution of the algorithm. In previous work =-=[1, 6]-=- we have formalized the notion of stability and described approaches to analyzing it.sIn practice many algorithms seem stable with respect to small input changes, or can be made stable with minor modi... |

35 | Self-Adjusting Computation
- Acar
- 2005
(Show Context)
Citation Context ...atic algorithms semi-automatically by applying a syntactic transformation. We call such kinetized algorithms as kinetic algorithms. The transformation (Section 2) relies on self-adjusting computation =-=[1]-=-, where programs can respond to any change to their data (e.g., insertions/deletions into/from the input, changes to the outcomes of comparisons) by running a generalpurpose change-propagation algorit... |

34 | An experimental analysis of selfadjusting computation
- Acar, Blelloch, et al.
(Show Context)
Citation Context ...tructure, the change-propagation algorithm takes advantage of the computation structure expressed by the static algorithm to update the output. To achieve efficiency, the change-propagation algorithm =-=[3, 1]-=- relies on an integral combination of memoization [5] and dynamic-dependence graphs [6, 4]. Since change-propagation is general purpose and can handle any change to the computation, kinetic (self-adju... |

30 | Kinetic Data Structures
- Basch
- 1999
(Show Context)
Citation Context ...in practice. 1 Introduction Since first proposed by Basch, Guibas, and Hershberger [13], many kinetic data structures for computing properties of moving objects have been designed and analyzed (e.g., =-=[8, 12, 9]-=-). Some kinetic data structures have also been implemented [14, 12, 17]. A kinetic data structure for computing a property can be viewed as maintaining the proof obtained by running a static algorithm... |

26 |
A computation framework for handling motion
- Guibas, Karavelas, et al.
- 2004
(Show Context)
Citation Context ...d Hershberger [13], many kinetic data structures for computing properties of moving objects have been designed and analyzed (e.g., [8, 12, 9]). Some kinetic data structures have also been implemented =-=[14, 12, 17]-=-. A kinetic data structure for computing a property can be viewed as maintaining the proof obtained by running a static algorithm for computing that property. Based on this connection between static a... |

24 | An empirical comparison of techniques for updating Delaunay triangulations
- Guibas, Russel
(Show Context)
Citation Context ...sion together as a batch. In all previous work, events are processed one by one by computing their order exactly—this requires expensive numerical techniques based on exact and/or interval arithmetic =-=[19, 18, 17]-=-. The reason for processing events one by one is that events may be interdependent: processing one may invalidate another. Our approach is made possible by the ability of the change-propagation algori... |

21 | A practical evaluation of kinetic data structures - Basch, Guibas, et al. - 1997 |

11 |
Kinetic and dynamic data structures for convex hulls and upper envelopes
- Alexandron
- 2007
(Show Context)
Citation Context ...ynamic or kinetic data structure. For example, Basch et al.’s kinetic convex-hull data structure [13], which does not handle dynamic changes, is very different from Alexandron et al.’s data structure =-=[10]-=-, which supports integrated changes. Advancing-time capability refers to the ability to advance the simulation time to any time in the future. In addition to combining time-stepping and kinetic simula... |

6 |
Maintaining the extent of a moving set of points
- Agarwal, Guibas, et al.
- 1997
(Show Context)
Citation Context ...in practice. 1 Introduction Since first proposed by Basch, Guibas, and Hershberger [13], many kinetic data structures for computing properties of moving objects have been designed and analyzed (e.g., =-=[8, 12, 9]-=-). Some kinetic data structures have also been implemented [14, 12, 17]. A kinetic data structure for computing a property can be viewed as maintaining the proof obtained by running a static algorithm... |

5 |
and Monika Rauch Henzinger. Parametric and kinetic minimum spanning trees
- Agarwal, Eppstein, et al.
- 1998
(Show Context)
Citation Context ...in practice. 1 Introduction Since first proposed by Basch, Guibas, and Hershberger [13], many kinetic data structures for computing properties of moving objects have been designed and analyzed (e.g., =-=[8, 12, 9]-=-). Some kinetic data structures have also been implemented [14, 12, 17]. A kinetic data structure for computing a property can be viewed as maintaining the proof obtained by running a static algorithm... |

3 |
Kanat Tangwongsan, and Jorge Vittes. Kinetic algorithms via self-adjusting computation
- Acar, Blelloch
- 2006
(Show Context)
Citation Context ...the program by annotating it with the aforementioned primitives. This transformation is aided by language techniques that ensures correctness [1, 2, 4]. Example transformations can be found elsewhere =-=[7, 1]-=-. Kinetizing a self-adjusting program requires replacing the comparisons in the program with certificate-generating comparisons. This is achieved by linking the program with a library that provides th... |

3 |
Guibas and Menelaos I. Karavelas. Interval methods for kinetic simulations
- Leonidas
- 1999
(Show Context)
Citation Context ...sion together as a batch. In all previous work, events are processed one by one by computing their order exactly—this requires expensive numerical techniques based on exact and/or interval arithmetic =-=[19, 18, 17]-=-. The reason for processing events one by one is that events may be interdependent: processing one may invalidate another. Our approach is made possible by the ability of the change-propagation algori... |