<p>For a given finite set <i>X</i> and an approximation parameter <InlineEquation ID="IEq4"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq4.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="41" /> </InlineMediaObject> <EquationSource Format="TEX">\(\delta \ge 0\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>δ</mi> <mo>≥</mo> <mn>0</mn> </mrow> </math></EquationSource> </InlineEquation>, a convex polygon or polyhedron <InlineEquation ID="IEq5"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq5.gif" Format="GIF" Height="17" Rendition="HTML" Resolution="72" Type="Linedraw" Width="41" /> </InlineMediaObject> <EquationSource Format="TEX">\(\mathcal{P}^\textrm{inner}\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mrow> <mi mathvariant="script">P</mi> </mrow> <mtext>inner</mtext> </msup> </math></EquationSource> </InlineEquation> is called an <i>inner </i><InlineEquation ID="IEq6"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq1.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="12" /> </InlineMediaObject> <EquationSource Format="TEX">\(\delta \)</EquationSource> <EquationSource Format="MATHML"><math> <mi>δ</mi> </math></EquationSource> </InlineEquation><i>-approximation</i> of the convex hull <InlineEquation ID="IEq7"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq7.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="54" /> </InlineMediaObject> <EquationSource Format="TEX">\({{\,\textrm{conv}\,}}X\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mspace width="0.166667em" /> <mtext>conv</mtext> <mspace width="0.166667em" /> </mrow> <mi>X</mi> </mrow> </math></EquationSource> </InlineEquation> of <i>X</i> if <InlineEquation ID="IEq8"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq7.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="54" /> </InlineMediaObject> <EquationSource Format="TEX">\({{\,\textrm{conv}\,}}X\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mspace width="0.166667em" /> <mtext>conv</mtext> <mspace width="0.166667em" /> </mrow> <mi>X</mi> </mrow> </math></EquationSource> </InlineEquation> contains <InlineEquation ID="IEq9"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq5.gif" Format="GIF" Height="17" Rendition="HTML" Resolution="72" Type="Linedraw" Width="41" /> </InlineMediaObject> <EquationSource Format="TEX">\(\mathcal{P}^\textrm{inner}\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mrow> <mi mathvariant="script">P</mi> </mrow> <mtext>inner</mtext> </msup> </math></EquationSource> </InlineEquation> and the Hausdorff distance between them is not greater than <InlineEquation ID="IEq10"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq1.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="12" /> </InlineMediaObject> <EquationSource Format="TEX">\(\delta \)</EquationSource> <EquationSource Format="MATHML"><math> <mi>δ</mi> </math></EquationSource> </InlineEquation>. In this paper, two algorithms for computing inner <InlineEquation ID="IEq11"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq1.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="12" /> </InlineMediaObject> <EquationSource Format="TEX">\(\delta \)</EquationSource> <EquationSource Format="MATHML"><math> <mi>δ</mi> </math></EquationSource> </InlineEquation>-approximation in 2D are developed. This approximation approach can reduce the computation time. For example, if <i>X</i> consists of <InlineEquation ID="IEq12"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq12.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="66" /> </InlineMediaObject> <EquationSource Format="TEX">\(1,\!000,\!000\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mn>1</mn> <mo>,</mo> <mspace width="-0.166667em" /> <mn>000</mn> <mo>,</mo> <mspace width="-0.166667em" /> <mn>000</mn> </mrow> </math></EquationSource> </InlineEquation> random points in an ellipse, the computation time can be reduced by <InlineEquation ID="IEq13"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq13.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="51" /> </InlineMediaObject> <EquationSource Format="TEX">\(11.20\%\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mn>11.20</mn> <mo>%</mo> </mrow> </math></EquationSource> </InlineEquation> if one chooses <InlineEquation ID="IEq14"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq1.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="12" /> </InlineMediaObject> <EquationSource Format="TEX">\(\delta \)</EquationSource> <EquationSource Format="MATHML"><math> <mi>δ</mi> </math></EquationSource> </InlineEquation> to be equal to <InlineEquation ID="IEq15"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq15.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="33" /> </InlineMediaObject> <EquationSource Format="TEX">\(10^{-4}\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mn>10</mn> <mrow> <mo>-</mo> <mn>4</mn> </mrow> </msup> </math></EquationSource> </InlineEquation> multiplied by the diameter of this ellipse. By choosing <InlineEquation ID="IEq16"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq16.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="40" /> </InlineMediaObject> <EquationSource Format="TEX">\(\delta = 0\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>δ</mi> <mo>=</mo> <mn>0</mn> </mrow> </math></EquationSource> </InlineEquation>, our algorithms can be applied to quickly determine the exact convex hull <InlineEquation ID="IEq17"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq7.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="54" /> </InlineMediaObject> <EquationSource Format="TEX">\({{\,\textrm{conv}\,}}X\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mspace width="0.166667em" /> <mtext>conv</mtext> <mspace width="0.166667em" /> </mrow> <mi>X</mi> </mrow> </math></EquationSource> </InlineEquation>. Numerical experiments confirm that their time complexity is linear in <i>n</i> if <i>X</i> consists of <i>n</i> random points in ellipses or rectangles. Compared to others, our Algorithm 2 is much faster than the Quickhull algorithm in the Qhull library, which is faster than all 2D convex hull functions in CGAL (Computational Geometry Algorithm Library). If <i>X</i> consists of <InlineEquation ID="IEq18"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq18.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="86" /> </InlineMediaObject> <EquationSource Format="TEX">\(n = 100,\!000\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>n</mi> <mo>=</mo> <mn>100</mn> <mo>,</mo> <mspace width="-0.166667em" /> <mn>000</mn> </mrow> </math></EquationSource> </InlineEquation> random points in an ellipse or a rectangle, Algorithm 2 is 5.17 or 18.26 times faster than Qhull, respectively. The speedup factors of our algorithms increase with <i>n</i>. E.g., if <i>X</i> consists of <InlineEquation ID="IEq19"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="10589_2025_682_Article_IEq19.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="106" /> </InlineMediaObject> <EquationSource Format="TEX">\(n = 46,\!200,\!000\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>n</mi> <mo>=</mo> <mn>46</mn> <mo>,</mo> <mspace width="-0.166667em" /> <mn>200</mn> <mo>,</mo> <mspace width="-0.166667em" /> <mn>000</mn> </mrow> </math></EquationSource> </InlineEquation> random points in an ellipse or a rectangle, the speedup factors of Algorithm 2 compared to Qhull are 8.46 and 22.44, respectively.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Inner \(\delta \)-approximation of the convex hull of finite sets

  • Nam-Dũng Hoang,
  • Nguyen Kieu Linh,
  • Hoang Xuan Phu

摘要

For a given finite set X and an approximation parameter \(\delta \ge 0\) δ 0 , a convex polygon or polyhedron \(\mathcal{P}^\textrm{inner}\) P inner is called an inner \(\delta \) δ -approximation of the convex hull \({{\,\textrm{conv}\,}}X\) conv X of X if \({{\,\textrm{conv}\,}}X\) conv X contains \(\mathcal{P}^\textrm{inner}\) P inner and the Hausdorff distance between them is not greater than \(\delta \) δ . In this paper, two algorithms for computing inner \(\delta \) δ -approximation in 2D are developed. This approximation approach can reduce the computation time. For example, if X consists of \(1,\!000,\!000\) 1 , 000 , 000 random points in an ellipse, the computation time can be reduced by \(11.20\%\) 11.20 % if one chooses \(\delta \) δ to be equal to \(10^{-4}\) 10 - 4 multiplied by the diameter of this ellipse. By choosing \(\delta = 0\) δ = 0 , our algorithms can be applied to quickly determine the exact convex hull \({{\,\textrm{conv}\,}}X\) conv X . Numerical experiments confirm that their time complexity is linear in n if X consists of n random points in ellipses or rectangles. Compared to others, our Algorithm 2 is much faster than the Quickhull algorithm in the Qhull library, which is faster than all 2D convex hull functions in CGAL (Computational Geometry Algorithm Library). If X consists of \(n = 100,\!000\) n = 100 , 000 random points in an ellipse or a rectangle, Algorithm 2 is 5.17 or 18.26 times faster than Qhull, respectively. The speedup factors of our algorithms increase with n. E.g., if X consists of \(n = 46,\!200,\!000\) n = 46 , 200 , 000 random points in an ellipse or a rectangle, the speedup factors of Algorithm 2 compared to Qhull are 8.46 and 22.44, respectively.