In this project, we considered problems from computational geometry, the subfield of theoretical computer science that develops algorithms for tasks that deal with geometric data, such as points, lines, triangles, etc. Such tasks include, for example, comparing shapes for similarity, finding shortest routes in geometric networks, analyzing high-dimensional data, or visualizing large geometric networks. In the past 50 years, the field has been highly successful in developing new methods that are widely used in science and industry. However, it turns out that not for every problem that we would like to solve algorithmically, a satisfactory solution has been found. Sometimes, the computational resources required to find a solution are prohibitively large, sometimes we cannot be sure that the answer that we have found is indeed the best possible, and sometimes we do not even know if a solution exists.
The goal of the project was improve our understanding of why there are some algorithmic problems that stubbornly resist a satisfactory resolution. Is the reason just our general ignorance, or can we find deeper, more serious reasons for this phenomenon? The area of theoretical computer science that deals with these questions is called computational complexity theory, and we wanted to bring the methods from this area to bear in the realm of computational geometry. We pursued a somewhat non-traditional approach and considered problems that lie outside the realm of classic complexity theory. In particular, we focused on search problems, where we would actually like to find a solution whose existence is guaranteed, instead of on decision problems, where we must determine whether a solution exists. The field of geometric is full of problems of this flavor, and thus it provides a promising area where we can look for new insights. For some interesting problems, however, it is not known if a desired solution always exists, and we also considered such problems with the goal of extending our fundamental understanding of them.
We managed to make progress on all fronts: we developed new efficient algorithms for classic geometric problems, showing that faster, more satisfactory solutions actually exist. We also found new ways of classifying the difficulty of geometric problems that may lead to a deeper understanding of what makes a problem hard. Finally, we also found new answers for long-standing mathematical questions on certain geometric configurations, showing that sometimes the desired solution always exists (where this was not expected), and sometimes the desired solution does not exist (despite the long-held belief).
Our research is of a foundational nature. It contributes to the understanding of the phenomenon of computation and of the limits of what computers can do. However, there is also a more immediate impact: the new methods that we develop to show that efficient solutions actually exist can lead to new software and to the ability to solve larger computational tasks with our available resources. On the other hand, our impossibility results help focus the development efforts by showing what is feasible and what is not. As such, our project constitutes not only a contribution to the foundational and mathematical aspects of computer science, but also to broadening the algorithmic toolkit and to guiding the efforts for the development of practical software solutions.