Skip to main content

Kinetic Algorithms Via Self-adjusting Computation

  • Conference paper
Algorithms – ESA 2006 (ESA 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4168))

Included in the following conference series:

  • 3162 Accesses

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 offers 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 effectiveness 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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Acar, U.A.: Self-Adjusting Computation. PhD thesis, Department of Computer Science, Carnegie Mellon University (May 2005)

    Google Scholar 

  2. Acar, U.A., Blelloch, G.E., Blume, M., Harper, R., Tangwongsan, K.: A library for self-adjusting computation. In: ACM SIGPLAN Workshop on ML (2005)

    Google Scholar 

  3. Acar, U.A., Blelloch, G.E., Blume, M., Tangwongsan, K.: An experimental analysis of self-adjusting computation. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (2006)

    Google Scholar 

  4. Acar, U.A., Blelloch, G.E., Harper, R.: Adaptive functional programming. In: Proceedings of the 29th Annual ACM Symposium on Principles of Programming Languages, pp. 247–259 (2002)

    Google Scholar 

  5. Acar, U.A., Blelloch, G.E., Harper, R.: Selective memoization. In: Proceedings of the 30th Annual ACM Symposium on Principles of Programming Languages (2003)

    Google Scholar 

  6. Acar, U.A., Blelloch, G.E., Harper, R., Vittes, J.L., Woo, M.: Dynamizing static algorithms with applications to dynamic trees and history independence. In: ACM-SIAM Symposium on Discrete Algorithms (SODA) (2004)

    Google Scholar 

  7. Acar, U.A., Blelloch, G.E., Tangwongsan, K., Vittes, J.L.: Kinetic algorithms via self-adjusting computation. Technical Report CMU-CS-06-115, Department of Computer Science, Carnegie Mellon University (March 2006)

    Google Scholar 

  8. Agarwal, P.K., Eppstein, D., Guibas, L.J., Henzinger, M.R.: Parametric and kinetic minimum spanning trees. In: Proceedings of the 39th Annual IEEE Symposium on Foundations of Computer Science, pp. 596–605 (1998)

    Google Scholar 

  9. Agarwal, P.K., Guibas, L.J., Hershberger, J., Veach, E.: Maintaining the extent of a moving set of points. Discrete and Computational Geometry 26(3), 353–374 (2001)

    MATH  MathSciNet  Google Scholar 

  10. Alexandron, G., Kaplan, H., Sharir, M.: Kinetic and dynamic data structures for convex hulls and upper envelopes. In: Dehne, F., López-Ortiz, A., Sack, J.-R. (eds.) WADS 2005. LNCS, vol. 3608, pp. 269–281. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  11. Barber, C.B., Dobkin, D.P., Huhdanpaa, H.: The quickhull algorithm for convex hulls. ACM Trans. Math. Softw. 22(4), 469–483 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  12. Basch, J.: Kinetic Data Structures. PhD thesis, Department of Computer Science, Stanford University (June 1999)

    Google Scholar 

  13. Basch, J., Guibas, L.J., Hershberger, J.: Data structures for mobile data. Journal of Algorithms 31(1), 1–28 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  14. Basch, J., Guibas, L.J., Silverstein, C.D., Zhang, L.: A practical evaluation of kinetic data structures. In: SCG 1997: Proceedings of the Thirteenth Annual Symposium on Computational Geometry, pp. 388–390. ACM Press, New York (1997)

    Chapter  Google Scholar 

  15. Chan, T.M.: Optimal output-sensitive convex hull algorithms in two and three dimensions. Discrete and Computational Geometry 16, 361–368 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  16. Graham, R.L.: An efficient algorithm for determining the convex hull of a finete planar set. Information Processing Letters 1, 132–133 (1972)

    Article  MATH  Google Scholar 

  17. Guibas, L., Karaveles, M., Russel, D.: A computational framework for handling motion. In: Proceedings of teh Sixth Workshop on Algorithm Engineering and Experiments, pp. 129–141 (2004)

    Google Scholar 

  18. Guibas, L., Russel, D.: An empirical comparison of techniques for updating delaunay triangulations. In: SCG 2004: Proceedings of the Twentieth Annual Symposium on Computational Geometry, pp. 170–179. ACM Press, New York (2004)

    Chapter  Google Scholar 

  19. Guibas, L.J., Karavelas, M.I.: Interval methods for kinetic simulations. In: SCG 1999: Proceedings of the Fifteenth Annual Symposium on Computational Geometry, pp. 255–264. ACM Press, New York (1999)

    Chapter  Google Scholar 

  20. Preparata, F.P., Shamos, M.I.: Computational Geometry. Springer, Heidelberg (1985)

    Google Scholar 

  21. Shamos, M.I.: Computational Geometry. PhD thesis, Department of Computer Science, Yale University (1978)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Acar, U.A., Blelloch, G.E., Tangwongsan, K., Vittes, J.L. (2006). Kinetic Algorithms Via Self-adjusting Computation. In: Azar, Y., Erlebach, T. (eds) Algorithms – ESA 2006. ESA 2006. Lecture Notes in Computer Science, vol 4168. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11841036_57

Download citation

  • DOI: https://doi.org/10.1007/11841036_57

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-38875-3

  • Online ISBN: 978-3-540-38876-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics