1. Introduction
A compact convex subset K of having interior points is called a convex body, whose boundary and interior are denoted by and , respectively. Let be the set of convex bodies in . For each , let be the least number of translates of necessary to cover K. Regarding the least upper bound of in , there is a long-standing conjecture:
Conjecture 1 (Hadwiger’s covering conjecture)
. For each , we have
equality holds if and only if K is a parallelotope.
Classical results related to this conjecture can be found in [
1,
2]. While extensive research has been conducted (see e.g., [
3,
4,
5,
6,
7]), Conjecture 1 has only been conclusively resolved when
.
For each , set .
Let
. A set having the form
, where
and
, is called a
smaller homothetic copy of
K. According to Theorem 34.3 in [
1],
equals the least number of smaller homothetic copies of
K required to cover
K. Clearly,
for some
if and only if
, where
For each
, the map
is an affine invariant and is called the
covering functional with respect to p. Let
and
. A set
C of
p points satisfying
is called a
p-optimal configuration of K.
In [
8], Chuanming Zong proposed the first program based on computers to tackle Conjecture 1 via estimating covering functionals. Two different algorithms have been designed for this purpose. The first one is introduced by Chan He et al. (cf. [
9]) based on the geometric branch-and-bound method (cf. [
10]). The algorithm is implemented in two parts. The first part uses geometric branch-and-bound methods to estimate
, where
The second part also uses geometric branch-and-bound methods to estimate
. When
, computing
and
in this way exhibits a significantly high computational complexity. The other is introduced by Man Yu et al. (cf. [
11]) based on relaxation algorithm. Let
be a discretization of
K,
be a set containing a
p-optimal configuration of
K, and
. They transformed the problem of covering
S by smaller homothetic copies of
K into a vertex
p-center problem, and showed that the solution of the corresponding vertex
p-center problem is a good approximation of
by proving
where
and
and
are two positive numbers satisfying
Clearly, finer discretizations of
K are required to obtain more accurate estimates of
, which will lead to higher computational complexity.
In this paper, we propose an algorithm utilizes Compute Unified Device Architecture (CUDA) and stochastic global optimization methods to accelerate the process of estimating
. CUDA is a parallel computing platform, particularly well-suited for handling large-scale computational tasks by performing many computations in parallel (cf. [
12]). When discretizing convex bodies, CUDA provides a natural discretization method and enables parallel computation for all discretized points, thereby accelerating the execution of algorithms. As show in
Section 2, when calculting
for some
, we need to get the maximum dissimilarity between a point in
S and its closest point in
C. Reduction technique provided by CUDA, which typically involve performing a specific operation on all elements in an array (summation, finding the maximum, finding the minimum, etc., cf. [
13]), enables efficient computation of
. When facing large-scale optimization problems, stochastic algorithms have the capability to produce high-quality solutions in a short amount of time.
In
Section 2, the problem of estimating
is transformed to a minimization optimization problem, and an error estimation is provided. Using ideas mentioned in [
9], an algorithm based on CUDA for
is designed in
Section 3. Results of computational experiments showing the effectiveness of our algorithm are presented in
Section 4.
2. Covering Functional and Error Estimation
As in [
9], we put
. For each
, let
where
is the set of all nonsingular affine transformations on
. We can apply an appropriate affine transformation, if necessary, to ensure that
Remark 1. In general, it is not easy to calculate . If K is symmetric about the origin, then is the Banach-Mazur distance between K and . By Proposition 37.6 in [14], when K is the n-dimensional Euclidean unit ball , . For our purpose, it will be sufficient to choose an α, as large as possible, such that .
Definition 2 (cf. [
11]).
Let . For k, , the number
is called the dissimilarity of k and c.
If , the dissimilarity between any two points is precisely the Euclidean distance between these two points. In general, the dissimilarity is not symmetric. If K is an n-dimensional convex polytope, the dissimilarity between any two points can be computed by Lemma 3.
Lemma 3.
Let be an n-dimensional convex polytope with determined by
where A is an m-by-n matrix and B is an n-dimensional column vector whose elements are all 1. For any , we have
where .
Proof. Since
K is bounded,
. Let
For positive
, we have
Since
, we have
, which implies that
Since
, we have
. Thus
which implies that
The desired equality (
3) follows from (
4) and (
5). □
Remark 4. Clearly, each convex polytope K containing o in its interior can be represented as (2).
Let
and
be two integers. We denote by
the
j-th coordinate of a point
and
Lemma 5. .
Proof. Suppose that
. Let
be the point satisfying
Then
. Let
. If
is even, then
Otherwise, we have
It follows that
. Therefore
□
Theorem 6.
Let and be an integer. If satisfies , then
Proof. By Lemma 5, we have
It follows that
Let
. There exists a point
such that
Thus
Therefore, we have
□
Let
,
be an integer,
K be a convex body satisfying
,
and
. Put
and
Proposition 7.
Let K, α, i, S be as above, . Then
Proof. By Theorem 6, we have
Let
be a
p-element subset of
such that
. We have
which completes the proof. □
3. An Algorithm Based on CUDA for
Let
,
, and
C be a set of
p points. First, we use CUDA to get
S defined by (
6) and compute the minimum dissimilarity from each point in
S to
C. Then, we employ a CUDA-based reduction algorithm to get
. Finally, we use different stochastic global optimization algorithms to estimate
and select an appropriate optimization algorithm through comparison.
Figure 1 shows the overall framework of the algorithm.
3.1. An Algorithm Based on CUDA for
CUDA organizes threads into a hierarchical structure consisting of grids, blocks, and threads. Grid is the highest-level organization of threads in CUDA, and a grid represents a collection of blocks. A block, identified by a unique block index within its grid, is a group of threads that can cooperate with each other and share data using shared memory. Threads are organized within blocks, and each thread is identified by a unique thread index within its block. The number of blocks and threads per block can be specified when launching a CUDA kernel. The grid and block dimensions can be one-dimensional, two-dimensional, or three-dimensional, depending on the problem to deal with. For more information about CUDA we refer to [
15,
16,
17,
18].
The organization of threads within blocks and grids provides a natural way to discretize
. First, we discretize
into a set
P of (gridDim.x)×(gridDim.y) points. Each point
p in
P corresponds to a block
in CUDA. And
contains a collection of blockDim.x threads, each one of which corresponds to a point in
. See
Figure 2, where gridDim.x, girdDim.y, and blockDim.x are set to be 5.
Figure 1.
The overall framework.
Figure 1.
The overall framework.
Let
T be the set of all threads invoked by CUDA. Then the cardinality of
T is
For
,
, and
, there is a thread
indexed by
which corresponds to the point
Put
where
is a positive number satisfying
. For each
, denote by
the minimum dissimilarity from point
to
C. I.e.,
If
, we set
. The CUDA thread corresponding to
computes
. Then a CUDA-based reduction algorithm will be invoked to get
.
The idea of the reduction algorithm based on CUDA is to divide the original data into multiple blocks, then perform a local reduction operation on each block to obtain the local reduction result, and, finally, a global reduction operation is performed on the local reduction results to obtain the final reduction result (cf. [
19]).
Algorithm 1 with parameters
K,
C,
p, blockDim.x, gridDim.x, gridDim.y, and
calculates
. It is more efficient than the geometric branch-and-bound approach proposed in [
9]. For example, take
,
,
Algorithm 1 yields good estimations of
and
much faster, see
Table 1. Both algorithms run on a computer equipped with an AMD Ryzen 9 3900X 12-core processor and the NVIDIA A4000 graphics processor. For Algorithm 1, we take
, and the accuracy is given by Proposition 7. For the geometric branch-and-bound algorithm, we set the relative accuracy
to be
(cf. [
9] for the usage of the relative accuracy). The execution time of the geometric branch-and-bound approach exhibits substantial variability among different
Cs, whereas the algorithm based on CUDA shows relatively consistent execution times across various cases.
Algorithm 1: An algorithm based on CUDA to compute
|
-
Require:
a convex body K, a set C of p points in , a positive number , blockDim.x, gridDim.x and gridDim.y
-
Ensure:
as an estimation of
- 1:
Host and device allocate memory, initialize and copy host data to device
- 2:
- 3:
- 4:
- 5:
- 6:
- 7:
- 8:
ifthen:
- 9:
Calculate by Lemma 3
- 10:
- 11:
else
- 12:
- 13:
end if
- 14:
- 15:
Using the reduction algorithm to find the maximum value
- 16:
- 17:
Copy the final reduction result to the host,
- 18:
- 19:
return
|
3.2. Different Stochastic Global Optimization Algorithms for
We choose to employ stochastic global optimization algorithms for several reasons. In the program proposed by Chuanming Zong (cf. [
8]), after appropriately selecting a positive real number
and constructing a
-net
for
endowed with the Banach-Mazur metric, we only need to verify that
holds for each
, where
is a reasonably accurate estimate of the least upper bound of
. For this purpose, we do not need to determine exact values of covering functionals of convex bodies in
. Stochastic global optimization algorithms demonstrate a low time complexity and high algorithmic efficiency. Moreover, based on the results presented in
Table 4, it is evident that stochastic global optimization algorithms provide satisfactory estimates for covering functionals.
The NLopt (Non-Linear Optimization) library is a rich collection of optimization routines and algorithms, which provides a platform-independent interface for global and local optimization problems (cf. [
20]). Algorithms in the NLopt library are partitioned into four categories: non-derivative based global algorithms, derivative based global algorithms, non-derivative based local algorithms, and derivative based local algorithms. We use several non-derivative based stochastic global algorithms here. All global optimization algorithms require bound constraints to be specified as optimization parameters (cf. e.g., [
21]).
The following is the framework of a stochastic optimization algorithm based on NLopt.
Define the objective function and boundary constraints.
Declare an optimizer for NLopt.
Set algorithm and dimension.
Set termination conditions. NLopt provides different termination condition options including: value tolerance, parameter tolerance, function value stop value, iteration number, and time.
Proposition 8. If , , and , then .
Proof. Suppose that
. Then
. Thus
which shows that
. □
Remark 9. By Proposition 8, when , we only need to search for points in a p-optimal configuration of K.
We utilized different stochastic global optimization algorithms to choose a more efficient one. Optimization algorithms under consideration include Controlled Random Search with local mutation (GN_CRS2_LM) (cf. [
22]), evolutionary strategy (GN_ESCH) (cf. [
23]), and evolutionary constrained optimization (GN_ISRES) (cf. [
24]).
Algorithm 2: A stochastic optimization algorithm for based on NLopt. |
-
Require:
K, C, p, blockDim.x, gridDim.x, gridDim.y, an estimation , lower bound LB and upper bound UB of the search domain
-
Ensure:
as an estimation of .
- 1:
- 2:
- 3:
- 4:
procedure(, blockDim.x, gridDim.x, gridDim.y) ▹Algorithm 1
- 5:
- 6:
___
- 7:
___ LB
- 8:
___ UB
- 9:
___
- 10:
___
- 11:
- 12:
- 13:
repeat
- 14:
- 15:
__
- 16:
__
- 17:
_&f_
- 18:
if result then
- 19:
_
- 20:
end if
- 21:
- 22:
until
- 23:
return
|
Let
p be a positive integer,
, LB=-2, UB=2, and
Table 2 shows a comparison between these three stochastic algorithms. It can be seen that GN_CRS2_LM is better than the other ones.
4. Computational Experiments
All algorithms were coded in CUDA 12.2 and gcc 13.2.1. The computer’s graphics card is an NVIDIA RTX A4000.
4.1. Covering Functional of the Euclidean Unit Disc
Let
be the Euclidean unit disc. In this situation,
is the Euclidean distance between
x and
y. The discretization of
is performed using threadIdx.x for the
x axis and blockIdx.x for the
y axis. For a positive integer
i, let
, then the values of threadIdx.x and blockIdx.x range from 0 to
. Let
It is clear that
Let
By Theorem 6, we have
. By Corollary 3.1 in [
9], there is a
p-optimal configuration of
contained in
. Thus we can take
and
. Proposition 7 shows that
Numerical estimates of
are summarized in
Table 3.
4.2. Covering Functionals of Three-Dimensional Convex Bodies
For each
satisfying
, let
be a positive integer, then the values of threadIdx.x, blockIdx.x and blockIdx.y range from 0 to
. Let
and
By Theorem 6 and Proposition 7, we have
4.2.1. Covering Functionals of
By Remark 9, we set
and
. Clearly,
From (
8), we have
Numerical estimations of
for
are summarized in
Table 4.
Table 4.
Numerical estimations of .
Table 4.
Numerical estimations of .
i |
LB |
UB |
p |
|
Ranges of
|
Known Exact Value |
1024 |
|
2 |
4 |
0.942359⋯ |
|
0.943⋯[8] |
1024 |
|
2 |
5 |
0.894146⋯ |
|
0.894⋯[8] |
1024 |
|
2 |
6 |
0.816220⋯ |
|
0.816⋯[8] |
1024 |
|
2 |
7 |
0.777139⋯ |
|
0.778⋯[8] |
1024 |
|
2 |
8 |
0.744846⋯ |
|
|
4.2.2. Covering Functional of the Regular Tetrahedron
Let
Thus
T is a regular tetrahedron affinely equivalent to
Clearly,
, where
Let
. Then
By Lemma 3, the dissimilarity
between
x and
c is given by
It can be verified that
see
Figure 3, where
By Remark 9, we take
and
. By (
8), we have
Numerical estimations of
for
are summarized in
Table 5.
4.2.3. Covering Functional of the Regular Octahedron
Let
Then
is a regular octahedron. By Lemma 3, the dissimilarity between
x and
c with respect to
is given by
It can be verified that
see
Figure 4, where
By Remark 9, we can set
and
. From (
8), we have
Numerical estimations of
for
are summarized in
Table 6.
4.2.4. Covering Functional of the Regular Dodecahedron
Let
P be the regular dodecahedron having the form
where
. By Lemma 3, the dissimilarity between
x and
c with respect to
P is given by
It can be verified that
see
Figure 5, where
By Remark 9, we can set
and
. From (
8), we have
Numerical estimations of
for
are summarized in
Table 7.
The estimate of
is much better than that given in [
27].
4.2.5. Covering Functional of the Regular Icosahedron
Let
M be the regular icosahedron having the following form
where
. By Lemma 3, the dissimilarity between
x and
c with respect to
M is given by
It can be verified that
see
Figure 6, where
By Remark 9, we take
and
. By (
8), we have
Numerical estimations of
for
are summarized in
Table 8.
Compare to the estimate
given in [
27], our estimate here is much better.
5. Conclusion
This paper proposes an algorithm based on CUDA for estimating covering functionals of three-dimensional convex polytopes, which is more efficient than the geometric branch-and-bound method presented in [
9]. Theoretical accuracy of our algorithm is given by (
8). Restrictions on the dimensions of each grid makes the implementation of our algorithm in higher dimensions difficult.
Author Contributions
Conceptualization, S.W.; methodology, X.H. and S.W.; software, X.H. ; validation, S.W. and L.Z.; writing–original draft preparation, X.H.; writing–review and editing, S.W. and L.Z.; funding acquisition, S.W. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by the [National Natural Science Foundation of China] grant number [12071444] and the [Fundamental Research Program of Shanxi Province of China] grant numbers [202103021223191].
Data Availability Statement
Data sharing is not applicable, since no dataset was generated or analyzed during the current study.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Boltyanski, V.; Martini, H.; Soltan, P.S. Excursions into Combinatorial Geometry, Universitext; Springer: Verlag, Berlin/Heidelberg, Germany, 1997. [Google Scholar]
- Martini, H.; Soltan, V. Combinatorial problems on the illumination of convex bodies. Aequationes Math. 1999, 57, 121–152. [Google Scholar] [CrossRef]
- Bezdek, K. Classical Topics in Discrete Geometry, CMS Books in Mathematics/Ouvrages deMathématiques de la SMC; Springer: New York, 2010. [Google Scholar]
- Brass, P.; Moser, M.; Pach, J. Research Problems in Discrete Geometry; Springer: New York, NY, USA, 2005. [Google Scholar]
- Bezdek, K.; Khan, M.A. The geometry of homothetic covering and illumination. In Discrete Geometry and Symmetry; Springer: Cham, Switzerland, 2018; Volume 234, pp. 1–30. [Google Scholar]
- Rogers, C.A.; Zong, C. Covering convex bodies by translates of convex bodies. Mathematika 1997, 44, 215–218. [Google Scholar] [CrossRef]
- Papadoperakis, I. An estimate for the problem of illumination of the boundary of a convex body in E3. Geom. Dedicata 1999, 75, 275–285. [Google Scholar] [CrossRef]
- Zong, C. A quantitative program for Hadwiger’s covering conjecture. Sci. China Math. 2010, 53, 2551–2560. [Google Scholar] [CrossRef]
- He, C.; Lv, Y.; Martini, H.; Wu, S. A branch-and-bound approach for estimating covering functionals of convex bodies. J. Optimiz. Theory. App. 2023, 196, 1036–1055. [Google Scholar] [CrossRef]
- Scholz, D. Deterministic Global Optimization: Geometric Branch-and-Bound Methods and their Applications; Springer: New York, 2012. [Google Scholar]
- Yu, M.; Lv, Y.; Zhao, Y.; He, C.; Wu, S. Estimations of covering functionals of convex bodies based on relaxation algorithm. Mathematics 2023, 11, 2000. [Google Scholar] [CrossRef]
- Han, T.D.; Abdelrahman, T.S. Hicuda: High-level GPGPU programming. IEEE T. Parall. Distr. 2011, 22, 78–90. [Google Scholar] [CrossRef]
- Harris, M. Optimizing parallel reduction in CUDA. Available online: https://developer.download.nvidia.cn/assets/cuda/files/reduction.pdf.
- Tomczak-Jaegermann, N. Banach-Mazur distances and finite-dimensional operator ideals. In Pitman Monographs and Surveys in Pure and Applied Mathematics; John Wiley & Sons, Inc.: New York, 1989; Volume 38. [Google Scholar]
- Dind, K.; Tan, T.A. Review on general purpose computing on GPU and its applications in computational intelligence. CAAI Transactions on Intelligent Systems 2015, 10, 1–11. [Google Scholar]
- Cheng, J.; Grossman, M.; Mckercher, T. Professional CUDA C Programming; John Wiley & Sons, Inc.: New York, 2014. [Google Scholar]
- Ma, X.; Han, W. A parallel multi-swarm particle swarm optimization algorithm based on CUDA streams. In 2018 Chinese Automation Congress (CAC); IEEE: 2018; pp. 3002–3007.
- Guide, D. CUDA C Programming Guide; NVIDIA, 2013.
- Zhang, Y.; Chen, L.; An, X.; Yan, S. Study on performance optimization of reduction algorithm targeting GPU computing platform. Computer Science 2019, 46, 306–314. [Google Scholar]
- Johnson, S.G. The NLopt Nonlinear-Optimization Package, 2010.
- Tseng, L.Y.; Chen, C. Multiple trajectory search for large scale global optimization. In 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence), IEEE: Hong Kong, 2008; pp. 3052–3059.
- Wang, H.; Shao, H. System optimization strategy based on genetic algorithm and controlled random search. Control Theory and Applications 2000, 06, 907–910. [Google Scholar]
- Hansen, N.; Ostermeier, A. Completely derandomized self-adaptation in evolution strategies. Evol. Comput. 2001, 9, 159–195. [Google Scholar] [CrossRef] [PubMed]
- Branke, J.; Deb, K.; Miettinen, K.; Slowinski, R. Multi-objective Optimization: Interactive and Evolutionary Approaches; Springer: Verlag Berlin Heidelberg, 2008. [Google Scholar]
- Abor, G.; Oth, F.T. Thinnest covering of a circle by eight, nine, or ten congruent circles. In Combinatorial and Computational Geometry; Cambridge University Press: Cambridge, UK, 2005; Volume 52, pp. 361–376. [Google Scholar]
- Yu, M.; Gao, S.; He, C.; Wu, S. Estimations of covering functionals of simplices. Math. Inequal. Appl. 2023, 26, 793–809. [Google Scholar] [CrossRef]
- Wu, S.; He, C. Covering functionals of convex polytopes. Linear. Algebra. Appl. 2019, 577, 53–68. [Google Scholar] [CrossRef]
|
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).