Skip to main content
Skip header

Algorithmisation of Geometrical Problems

Type of study Follow-up Master
Language of instruction Czech
Code 460-4038/01
Abbreviation AGU
Course title Algorithmisation of Geometrical Problems
Credits 4
Coordinating department Department of Computer Science
Course coordinator doc. Dr. Ing. Eduard Sojka

Subject syllabus

Lectures:
1. The complexity of a problem and the complexity of an algorithm. The complexity in the worst case, expected complexity. Models of computation. RAM, algebraic decision tree.
2. Estimating the lower bound of the worst case time complexity by making use of the transformation to the point location problem in En. Using the transformation between problems for estimating the lower bound of time complexity.
3. The data structures for storing the points in multi-dimensional spaces (k-d trees, quad/oct trees, BSP trees, interval trees, range trees).
4. Fundamental techniques of creating the effective algorithms: the plane sweeping method, divide and conquer method, prune and search method, randomised algorithms.
5. Point location problem. Determining the mutual position of a point and a simple polygon. Determining the position of a point in a planar map. Applications.
6. Convex hull. Algorithms for determining the convex hull in the two-dimensional space.
7. Convex hull in multi-dimensional spaces. Applications of convex hull.
8. The problems of distance and proximity. Finding the closest neighbours in E2 and in En.
9. Voronoi diagram. Constructing the Voronoi diagram. Solving the proximity problems by the Voronoi diagram.
10. Triangulation. Delaunay triangulation and its properties. Algorithms for computing the Delaunay triangulation. Triangulation of a simple polygon.
11. Intersections. Finding the intersections of a set of line segments in E2. Intersection of simple polygons.
12. Visibility graph. Computing the visibility graph for planar problems. Applications.
13. On the application of the algorithms discussed in the course: Planning the motion of a mobile robot.
14. Application of modeling the terrain in geographic systems.

Exercises:
During the exercises, the students construct the algorithms that solve given problems. They explain their algorithms in a critical discussion, and evaluate the time and space complexities of the algorithms they proposed.
1. Transformation between problems and estimating the lower bound of time complexity.
2. The search trees for storing the points in multi-dimensional spaces.
3. Plane sweeping method and its applications.
4. Point location problems: point vs polygon, point vs planar map.
5. Convex hull algorithms in the two-dimensional space.
6. Convex hull in multi-dimensional spaces.
7. The problems of distance and proximity. Finding the nearest neighbours.
8. Constructing the Voronoi diagram and its applications.
9. Delaunay triangulation, its computation and properties.
10. Finding the intersections of two polygons.
11. Computing visibility graph for planar problems.
12. Planning the motion of a mobile robot.
13. Modeling the terrain in geographic systems.
14. Summary and obtaining the credit.

Literature

1. de Berg, M., van Kreveld M., Overmars, M., Schwarzkopf, O.: Computational Geometry: Algorithms and Applications (Third edition), Springer-Verlag, ISBN: 978-3-540-77973-5 , 2008.

Advised literature

1. Toth, C.D., Joseph O'Rourke, J., Goodman, J.E.: Handbook of Discrete and Computational Geometry, 3rd Edition, CRC Press, ISBN 9781498711395 , 2017.
2. Devadoss, S.L., O'Rourke, J.: Discrete and Computational Geometry, Princeton University Press, ISBN: 9780691145532 2011.
3. O'Rourke, J.: Computational Geometry in C, Cambridge University Press, ISBN 0-521-44034-3 , ISBN 0-521-44592-2 , 1994.
4. Preparata, P.F., Shamos, M.I.: Computational geometry: An Introduction, Springer, ISBN 0-387-96131-3, 1985.