Kaiqi Zhang , Siyuan Zhang , Jirun Gao , Hongzhi Wang , Hong Gao , Jianzhong Li
{"title":"Approximation algorithms for finding maximum containing circle and sphere","authors":"Kaiqi Zhang , Siyuan Zhang , Jirun Gao , Hongzhi Wang , Hong Gao , Jianzhong Li","doi":"10.1016/j.tcs.2024.114901","DOIUrl":null,"url":null,"abstract":"<div><div>We first study maximum containing circle problem. The input to the problem is a weighted set of points and a circle of fixed radius, and the output is a suitable location of the circle such that the sum of the weights of the points covered by the circle is maximized. We propose a special polygon, called symmetrical rectilinear polygon (SRP). In this paper, we give a method for constructing the circumscribed SRP of a circle and prove the area relationship between this polygon and the circle. We solve the maximum containing SRP problem exactly, and based on this, give an algorithm for solving the <span><math><mo>(</mo><mn>1</mn><mo>−</mo><mi>ε</mi><mo>)</mo></math></span>-approximation of maximum containing circle problem. We also show that the algorithm is valid for most inputs. It only needs <span><math><mi>O</mi><mrow><mo>(</mo><mi>n</mi><msup><mrow><mi>ε</mi></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msup><mrow><mi>log</mi></mrow><mspace></mspace><mi>n</mi><mo>+</mo><mi>n</mi><msup><mrow><mi>ε</mi></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msup><mi>log</mi><mo></mo><mrow><mo>(</mo><mfrac><mrow><mn>1</mn></mrow><mrow><mi>ε</mi></mrow></mfrac><mo>)</mo></mrow><mo>)</mo></mrow></math></span> time for unit points and <span><math><mi>o</mi><mrow><mo>(</mo><mi>n</mi><msup><mrow><mi>ε</mi></mrow><mrow><mo>−</mo><mn>2</mn></mrow></msup><mspace></mspace><mrow><mi>log</mi></mrow><mspace></mspace><mi>n</mi><mo>)</mo></mrow></math></span> time for weighted points. Due to its low time complexity, the algorithm can run as a stand-alone algorithm or as a preprocessor for other algorithms. As an extension of our work, we discuss a 3D version of the unweighted maximum containing circle problem, i.e., containing the maximum number of points with a given sphere. We give a <span><math><mo>(</mo><mn>1</mn><mo>−</mo><mi>ε</mi><mo>)</mo></math></span>-approximation algorithm for this problem that returns correct results in <span><math><mi>m</mi><mi>a</mi><mi>x</mi><mo>{</mo><mi>O</mi><mrow><mo>(</mo><mrow><mo>(</mo><msup><mrow><mi>n</mi></mrow><mrow><mfrac><mrow><mn>3</mn></mrow><mrow><mn>2</mn></mrow></mfrac></mrow></msup><msup><mrow><mi>ε</mi></mrow><mrow><mo>−</mo><mn>3</mn></mrow></msup><mo>/</mo><msup><mrow><mi>log</mi></mrow><mrow><mfrac><mrow><mn>3</mn></mrow><mrow><mn>2</mn></mrow></mfrac></mrow></msup><mo></mo><mo>(</mo><mi>n</mi><msup><mrow><mi>ε</mi></mrow><mrow><mo>−</mo><mn>2</mn></mrow></msup><mo>)</mo><mo>)</mo></mrow><msup><mrow><mo>(</mo><mi>log</mi><mo></mo><mi>log</mi><mo></mo><mo>(</mo><mi>n</mi><msup><mrow><mi>ε</mi></mrow><mrow><mo>−</mo><mn>2</mn></mrow></msup><mo>)</mo><mo>)</mo></mrow><mrow><mi>O</mi><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>,</mo><mi>o</mi><mrow><mo>(</mo><msup><mrow><mi>n</mi></mrow><mrow><mn>2</mn></mrow></msup><msup><mrow><mo>(</mo><msup><mrow><mi>ε</mi></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msup><mrow><mi>log</mi></mrow><mspace></mspace><mi>n</mi><mo>)</mo></mrow><mrow><mn>2</mn></mrow></msup><mo>)</mo></mrow><mo>}</mo></math></span> time for most cases.</div></div>","PeriodicalId":49438,"journal":{"name":"Theoretical Computer Science","volume":"1023 ","pages":"Article 114901"},"PeriodicalIF":0.9000,"publicationDate":"2024-10-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Theoretical Computer Science","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0304397524005188","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0
Abstract
We first study maximum containing circle problem. The input to the problem is a weighted set of points and a circle of fixed radius, and the output is a suitable location of the circle such that the sum of the weights of the points covered by the circle is maximized. We propose a special polygon, called symmetrical rectilinear polygon (SRP). In this paper, we give a method for constructing the circumscribed SRP of a circle and prove the area relationship between this polygon and the circle. We solve the maximum containing SRP problem exactly, and based on this, give an algorithm for solving the -approximation of maximum containing circle problem. We also show that the algorithm is valid for most inputs. It only needs time for unit points and time for weighted points. Due to its low time complexity, the algorithm can run as a stand-alone algorithm or as a preprocessor for other algorithms. As an extension of our work, we discuss a 3D version of the unweighted maximum containing circle problem, i.e., containing the maximum number of points with a given sphere. We give a -approximation algorithm for this problem that returns correct results in time for most cases.
期刊介绍:
Theoretical Computer Science is mathematical and abstract in spirit, but it derives its motivation from practical and everyday computation. Its aim is to understand the nature of computation and, as a consequence of this understanding, provide more efficient methodologies. All papers introducing or studying mathematical, logic and formal concepts and methods are welcome, provided that their motivation is clearly drawn from the field of computing.