Abstract
Considering a finite intersection of balls and a finite union of other balls in an Euclidean space, we propose an exact method to test whether the intersection is covered by the union. We reformulate this problem into quadratic programming problems. For each problem, we study the intersection between a sphere and a Voronoi-like polyhedron. That way, we get information about a possible overlap between the frontier of the union and the intersection of balls. If the polyhedra are non-degenerate, the initial nonconvex geometric problem, which is NP-hard in general, is tractable in polynomial time by convex optimization tools and vertex enumeration. Under some mild conditions, the vertex enumeration can be skipped. Simulations highlight the accuracy and efficiency of our approach compared with competing algorithms in Python for nonconvex quadratically constrained quadratic programming. This work is motivated by an application in statistics to the problem of multidimensional changepoint detection using pruned dynamic programming algorithms.
Similar content being viewed by others
Notes
The Python code is available on my github ’vrunge’ in repository called ’QP_vs_QCQP’ https://github.com/vrunge/QP_vs_QCQP/blob/master/simulations.ipynb.
website of the Python package http://pycddlib.readthedocs.io/en/latest/.
It would also work for (non-penalized) segment neighborhood method [24].
References
Baker, M.J.C.: A spherical helly-type theorem. Pac. J. Math. 23(1), 1–3 (1967)
Maehara, H.: Helly-type theorems for spheres. Discrete Comput. Geom. 4(3), 279–285 (1989). https://doi.org/10.1007/BF02187730
Avis, D., Bhattacharya, B.K., Imai, H.: Computing the volume of the union of spheres. Vis. Comput. 3(6), 323–328 (1988). https://doi.org/10.1007/BF01901190
Cazals, F., Kanhere, H., Loriot, S.: Computing the volume of a union of balls: a certified algorithm. ACM Trans. Math. Softw. 38(1), 3:1–3:20 (2011). https://doi.org/10.1145/2049662.2049665
Chkhartishvili, L.S.: Volume of the intersection of three spheres. Math. Notes 69(3), 421–428 (2001). https://doi.org/10.1023/A:1010295711303
Böröczky, K.: Finite Packing and Covering, vol. 154. Cambridge University Press, Cambridge (2004)
Glazyrin, A.: Covering a ball by smaller balls. Discrete Comput. Geom. (2018). https://doi.org/10.1007/s00454-018-0010-4
Verger-Gaugry, J.L.: Covering a ball with smaller equal balls in n. Discrete Comput. Geom. 33(1), 143–155 (2005). https://doi.org/10.1007/s00454-004-2916-2
Nguyen, T., Boissonnat, J., Falzon, F., Knauer, C.: A disk-covering problem with application in optical interferometry. CoRR arXiv:abs/cs/0612026 (2006). URL http://arxiv.org/abs/cs/0612026
Gershman, A.B., Sidiropoulos, N.D., Shahbazpanahi, S., Bengtsson, M., Ottersten, B.: Convex optimization-based beamforming. IEEE Signal Process. Mag. 27(3), 62–75 (2010)
Huang, Y., Palomar, D.P.: Randomized algorithms for optimal solutions of double-sided qcqp with applications in signal processing. IEEE Trans. Signal Process. 62(5), 1093–1108 (2014). https://doi.org/10.1109/TSP.2013.2297683
Park, J., Boyd, S.: General heuristics for nonconvex quadratically constrained quadratic programming. ArXiv e-prints (2017)
Luo, Q.Z., Ma, K.W., So, C.A.M., Ye, Y., Zhang, S.: Semidefinite relaxation of quadratic optimization problems. IEEE Signal Process. Mag. 27(3), 20–34 (2010). https://doi.org/10.1109/MSP.2010.936019
Anstreicher, M.: On convex relaxations for quadratically constrained quadratic programming. Math. Program. 136(2), 233–251 (2012). https://doi.org/10.1007/s10107-012-0602-3
Mehanna, O., Huang, K., Gopalakrishnan, B., Konar, A., Sidiropoulos, N.D.: Feasible point pursuit and successive approximation of non-convex qcqps. IEEE Signal Process. Lett. 22(7), 804–808 (2015). https://doi.org/10.1109/LSP.2014.2370033
Scutari, G., Facchinei, F., Lampariello, L.: Parallel and distributed methods for constrained nonconvex optimization. part i: theory. IEEE Trans. Signal Process. 65(8), 1929–1944 (2017). https://doi.org/10.1109/TSP.2016.2637317
Kozlov, M., Tarasov, S., Khachiyan, L.: The polynomial solvability of convex quadratic programming. USSR Comput. Math. Math. Phys. 20(5), 223–228 (1980). https://doi.org/10.1007/s10107-012-0602-3
Ye, Y., Tse, E.: An extension of karmarkar’s projective algorithm for convex quadratic programming. Math. Programm. 44(1), 157–179 (1989). https://doi.org/10.1007/BF01587086
Avis, D., Fukuda, K.: A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra. Discrete Comput. Geom. 8(3), 295–313 (1992). https://doi.org/10.1007/BF02293050
Freund, R.M., Orlin, J.B.: On the complexity of four polyhedral set containment problems. Math. Program. 33(2), 139–145 (1985). https://doi.org/10.1007/BF01582241
Diamond, S., Boyd, S.: CVXPY: a Python-embedded modeling language for convex optimization. J. Mach. Learn. Res. 17(83), 1–5 (2016)
Boyd, S., Parikh, N., Chu, E., Peleato, B., Eckstein, J.: Distributed optimization and statistical learning via the alternating direction method of multipliers. Found. Trends Mach. Learn. 3(1), 1–122 (2011). https://doi.org/10.1561/2200000016
Fukuda, K., Prodon, A.: Double description method revisited. In: Deza, M., Euler, R., Manoussakis, I. (eds.) Combinatorics and Computer Science, pp. 91–111. Springer, Berlin (1996)
Auger, I.E., Lawrence, C.E.: Algorithms for the optimal identification of segment neighborhoods. Bull. Math. Biol. 51(1), 39–54 (1989). https://doi.org/10.1007/BF02458835
Fearnhead, P., Rigaill, G.: Changepoint detection in the presence of outliers. J. Am. Stat. Assoc. (2017). https://doi.org/10.1080/01621459.2017.1385466
Maidstone, R., Hocking, T., Rigaill, G., Fearnhead, P.: On optimal multiple changepoint algorithms for large data. Stat. Comput. 27(2), 519–533 (2017). https://doi.org/10.1007/s11222-016-9636-3
Rigaill, G.: A pruned dynamic programming algorithm to recover the best segmentations with 1 to kmax change-points. J. Soc. Franc. Stat. 156(4), 180–205 (2015)
Acknowledgements
I would like to thank my colleagues Guillem Rigaill (Université Paris-Saclay IPS2, INRAE, Univ Evry), Michel Koskas and Julien Chiquet (Université Paris-Saclay INRAE, AgroParisTech) for relevant comments and for their encouraging attitude regarding this work. This work was supported by an ATIGE grant from Genopole.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Juan-Enrique Martinez Legaz.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendices
Motivation
Our covering problem has a direct application for the implementation of the pruned penalizedFootnote 3 dynamic programming algorithm for changepoint detection in a multidimensional setting [25,26,27]. This problem consists in finding the optimal changepoint within the set \({\mathbb {S}}_m = \{\tau =(\tau _1,\ldots ,\tau _k) \in {\mathbb {N}}^k \,|\, 1 = \tau _0< \tau _1< \cdots< \tau _k < m+1 = \tau _{k+1}\}\) such that we minimize a quadratic (for Gaussian modelization) penalized cost (by \(\beta >0\)):
and \((y_1,\ldots ,y_m)^T \in ({\mathbb {R}}^n)^m\) the data to segment. Using a dynamic programming procedure, we build the recursion \(Q_{t+1}(x) = \min \lbrace Q_{t}(x),\, m_{t}+\beta \rbrace + \sum _{k=1}^{n}(x_k- y_{(t+1)k})^2\) with \(m_t = \min _{x} Q_t(x)\) and the initialization \(Q_0(x) = 0\). We solve this recursion iteratively from \(t=0\) to \(t=m-1\).
At each t, the recursive function \(Q_t(\cdot )\) is a piecewise quadratic function defined on t non-overlapping regions \(R^1_t,\ldots ,R^t_t \subset {\mathbb {R}}^n\), for which each quadratics is active on a set \(R^i_t\) of type “\({\mathcal {I}}\setminus {\mathcal {U}}\)”. Precisely,
where all the “\(B_l^k\)” sets designate balls determined by the data \((y_k,\ldots ,y_l)\). At the next iteration \(t+1\), each \(R_t^i\) is intersected by a new ball (that is, we add a ball in each \({\mathcal {I}}\)) and the set \(R_{t+1}^{t+1}\) is created.
In order to get the global minimum \(m_t\), we compare the minima of all present quadratics. To speed-up the procedure, it is worthwhile to search for vanishing sets, that is to detect efficiently the emptiness of sets \(R_t^1,\ldots ,R_t^t\). In fact, once a set is proved to be empty, we do not need to consider its minimum anymore at any further iteration. This method is called pruning in the changepoint detection literature.
In a paper in preparation, we will compare this exact method to heuristic approaches in order to build a fast algorithm for an application to genomic data. Moreover, our methods can be extended to other distributions of the natural exponential family.
An Alternative Method
In some applications, as for example in “Appendix A,” we need to test sequentially the covering. This means that we add at each iteration a new ball in the intersection \({\mathcal {I}}\). For large q, it could be expensive to solve q QP problems at each iteration for minimum and maximum. Another approach consists in detecting an intersection between \({\mathcal {I}}\setminus {\mathcal {U}}\) and \({\mathbb {S}}\) (as soon as \(\#{\mathcal {I}} >0\)), where \({\mathbb {S}}\) is the frontier of the new ball \({\mathbb {B}}\) (with center c and radius R) to add in \({\mathcal {I}}\). The problem is now centered on the “newest” ball of set \(\varLambda \) rather than the successive balls of V. Thus, a unique QP problem centered on the ball \({\mathbb {B}}\) is built and we get a result similar to Theorem 3.1:
Theorem B.1
If \(V_n(\varPi )>0\), we have the following results.
-
(a)
If there exists \((x^-, x^+)\in \varPi \times \varPi \) such that \(\Vert x^--c\Vert ^2< R^2 < \Vert x^+-c\Vert ^2\),
then \(({\mathbb {B}} \cap {\mathcal {I}}) \setminus {\mathcal {U}} \ne ~\emptyset \) and \(V_n(({\mathbb {B}} \cap {\mathcal {I}}) \setminus {\mathcal {U}}) > 0\);
-
(b)
if \(R^2 \le \Vert x^*_{min}-c\Vert ^2\) or \(\Vert x^*_{max}-c\Vert ^2 \le R^2\), then \({\mathbb {S}}\cap ({\mathcal {I}}\setminus {\mathcal {U}}) = \emptyset \).
In case (b), we can conclude knowing a point \({\tilde{x}}_k\) for each connected component \(C_k\) \((k=1,\ldots ,K)\) of \({\mathcal {I}}\setminus {\mathcal {U}}\) and testing \({\tilde{x}}_k \in {\mathbb {B}}\). If always false, we get \(({\mathbb {B}} \cap {\mathcal {I}}) \setminus {\mathcal {U}} = \emptyset \). The drawback of this approach is the necessity to know the number of connected components in \({\mathcal {I}}\setminus {\mathcal {U}}\). However, with the conditions of Theorem 4.1 the set \({\mathcal {I}}\setminus {\mathcal {U}}\) is connected (see the proof) and a unique point in \({\mathcal {I}}\setminus {\mathcal {U}}\) is required \((K = 1)\).
Proposition 3.2 remains the same with \({\mathbb {B}}\) instead of \({\mathbf {B}}\). The detection of the inclusion \({\mathcal {I}} \subset {\mathbb {B}}\) is now made possible and is important for sequential problems, since in this case, the ball \({\mathbb {B}}\) is not added to the set \(\varLambda \).
Rights and permissions
About this article
Cite this article
Runge, V. Is a Finite Intersection of Balls Covered by a Finite Union of Balls in Euclidean Spaces?. J Optim Theory Appl 187, 431–447 (2020). https://doi.org/10.1007/s10957-020-01762-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10957-020-01762-2
Keywords
- Ball covering problem
- Nonconvex quadratically constrained quadratic programming
- Computational geometry
- Voronoi-like polyhedron
- Vertex enumeration
- Polynomial time complexity