{"title":"Balancing graph Voronoi diagrams with one more vertex","authors":"Guillaume Ducoffe","doi":"10.1002/net.22198","DOIUrl":null,"url":null,"abstract":"Let <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0001\" display=\"inline\" location=\"graphic/net22198-math-0001.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>G</mi>\n<mo>=</mo>\n<mo stretchy=\"false\">(</mo>\n<mi>V</mi>\n<mo>,</mo>\n<mi>E</mi>\n<mo stretchy=\"false\">)</mo>\n</mrow>\n$$ G=\\left(V,E\\right) $$</annotation>\n</semantics></math> be a graph with unit-length edges and nonnegative costs assigned to its vertices. Given a list of pairwise different vertices <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0002\" display=\"inline\" location=\"graphic/net22198-math-0002.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>S</mi>\n<mo>=</mo>\n<mo stretchy=\"false\">(</mo>\n<msub>\n<mrow>\n<mi>s</mi>\n</mrow>\n<mrow>\n<mn>1</mn>\n</mrow>\n</msub>\n<mo>,</mo>\n<msub>\n<mrow>\n<mi>s</mi>\n</mrow>\n<mrow>\n<mn>2</mn>\n</mrow>\n</msub>\n<mo>,</mo>\n<mi>…</mi>\n<mo>,</mo>\n<msub>\n<mrow>\n<mi>s</mi>\n</mrow>\n<mrow>\n<mi>p</mi>\n</mrow>\n</msub>\n<mo stretchy=\"false\">)</mo>\n</mrow>\n$$ S=\\left({s}_1,{s}_2,\\dots, {s}_p\\right) $$</annotation>\n</semantics></math>, the <i>prioritized Voronoi diagram</i> of <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0003\" display=\"inline\" location=\"graphic/net22198-math-0003.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>G</mi>\n</mrow>\n$$ G $$</annotation>\n</semantics></math> with respect to <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0004\" display=\"inline\" location=\"graphic/net22198-math-0004.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>S</mi>\n</mrow>\n$$ S $$</annotation>\n</semantics></math> is the partition of <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0005\" display=\"inline\" location=\"graphic/net22198-math-0005.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>G</mi>\n</mrow>\n$$ G $$</annotation>\n</semantics></math> in <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0006\" display=\"inline\" location=\"graphic/net22198-math-0006.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>p</mi>\n</mrow>\n$$ p $$</annotation>\n</semantics></math> subsets <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0007\" display=\"inline\" location=\"graphic/net22198-math-0007.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<msub>\n<mrow>\n<mi>V</mi>\n</mrow>\n<mrow>\n<mn>1</mn>\n</mrow>\n</msub>\n<mo>,</mo>\n<msub>\n<mrow>\n<mi>V</mi>\n</mrow>\n<mrow>\n<mn>2</mn>\n</mrow>\n</msub>\n<mo>,</mo>\n<mi>…</mi>\n<mo>,</mo>\n<msub>\n<mrow>\n<mi>V</mi>\n</mrow>\n<mrow>\n<mi>p</mi>\n</mrow>\n</msub>\n</mrow>\n$$ {V}_1,{V}_2,\\dots, {V}_p $$</annotation>\n</semantics></math> so that, for every <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0008\" display=\"inline\" location=\"graphic/net22198-math-0008.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>i</mi>\n</mrow>\n$$ i $$</annotation>\n</semantics></math> with <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0009\" display=\"inline\" location=\"graphic/net22198-math-0009.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mn>1</mn>\n<mo>≤</mo>\n<mi>i</mi>\n<mo>≤</mo>\n<mi>p</mi>\n</mrow>\n$$ 1\\le i\\le p $$</annotation>\n</semantics></math>, a vertex <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0010\" display=\"inline\" location=\"graphic/net22198-math-0010.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>v</mi>\n</mrow>\n$$ v $$</annotation>\n</semantics></math> is in <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0011\" display=\"inline\" location=\"graphic/net22198-math-0011.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<msub>\n<mrow>\n<mi>V</mi>\n</mrow>\n<mrow>\n<mi>i</mi>\n</mrow>\n</msub>\n</mrow>\n$$ {V}_i $$</annotation>\n</semantics></math> if and only if <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0012\" display=\"inline\" location=\"graphic/net22198-math-0012.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<msub>\n<mrow>\n<mi>s</mi>\n</mrow>\n<mrow>\n<mi>i</mi>\n</mrow>\n</msub>\n</mrow>\n$$ {s}_i $$</annotation>\n</semantics></math> is a closest vertex to <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0013\" display=\"inline\" location=\"graphic/net22198-math-0013.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>v</mi>\n</mrow>\n$$ v $$</annotation>\n</semantics></math> in <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0014\" display=\"inline\" location=\"graphic/net22198-math-0014.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>S</mi>\n</mrow>\n$$ S $$</annotation>\n</semantics></math> and there is no closest vertex to <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0015\" display=\"inline\" location=\"graphic/net22198-math-0015.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>v</mi>\n</mrow>\n$$ v $$</annotation>\n</semantics></math> in <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0016\" display=\"inline\" location=\"graphic/net22198-math-0016.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>S</mi>\n</mrow>\n$$ S $$</annotation>\n</semantics></math> within the subset <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0017\" display=\"inline\" location=\"graphic/net22198-math-0017.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mo stretchy=\"false\">{</mo>\n<msub>\n<mrow>\n<mi>s</mi>\n</mrow>\n<mrow>\n<mn>1</mn>\n</mrow>\n</msub>\n<mo>,</mo>\n<msub>\n<mrow>\n<mi>s</mi>\n</mrow>\n<mrow>\n<mn>2</mn>\n</mrow>\n</msub>\n<mo>,</mo>\n<mi>…</mi>\n<mo>,</mo>\n<msub>\n<mrow>\n<mi>s</mi>\n</mrow>\n<mrow>\n<mi>i</mi>\n<mo form=\"prefix\">−</mo>\n<mn>1</mn>\n</mrow>\n</msub>\n<mo stretchy=\"false\">}</mo>\n</mrow>\n$$ \\left\\{{s}_1,{s}_2,\\dots, {s}_{i-1}\\right\\} $$</annotation>\n</semantics></math>. For every <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0018\" display=\"inline\" location=\"graphic/net22198-math-0018.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>i</mi>\n</mrow>\n$$ i $$</annotation>\n</semantics></math> with <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0019\" display=\"inline\" location=\"graphic/net22198-math-0019.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mn>1</mn>\n<mo>≤</mo>\n<mi>i</mi>\n<mo>≤</mo>\n<mi>p</mi>\n</mrow>\n$$ 1\\le i\\le p $$</annotation>\n</semantics></math>, the <i>load</i> of vertex <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0020\" display=\"inline\" location=\"graphic/net22198-math-0020.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<msub>\n<mrow>\n<mi>s</mi>\n</mrow>\n<mrow>\n<mi>i</mi>\n</mrow>\n</msub>\n</mrow>\n$$ {s}_i $$</annotation>\n</semantics></math> equals the sum of the costs of all vertices in <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0021\" display=\"inline\" location=\"graphic/net22198-math-0021.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<msub>\n<mrow>\n<mi>V</mi>\n</mrow>\n<mrow>\n<mi>i</mi>\n</mrow>\n</msub>\n</mrow>\n$$ {V}_i $$</annotation>\n</semantics></math>. The load of <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0022\" display=\"inline\" location=\"graphic/net22198-math-0022.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>S</mi>\n</mrow>\n$$ S $$</annotation>\n</semantics></math> equals the maximum load of a vertex in <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0023\" display=\"inline\" location=\"graphic/net22198-math-0023.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>S</mi>\n</mrow>\n$$ S $$</annotation>\n</semantics></math>. We study the problem of adding one more vertex <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0024\" display=\"inline\" location=\"graphic/net22198-math-0024.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>v</mi>\n</mrow>\n$$ v $$</annotation>\n</semantics></math> at the end of <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0025\" display=\"inline\" location=\"graphic/net22198-math-0025.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>S</mi>\n</mrow>\n$$ S $$</annotation>\n</semantics></math> in order to minimize the load. This problem occurs in the context of optimally locating a new service facility (e.g., a school or a hospital) while taking into account already existing facilities, and with the goal of minimizing the maximum congestion at a site. There is a brute-force algorithm for solving this problem in <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0026\" display=\"inline\" location=\"graphic/net22198-math-0026.png\" overflow=\"scroll\">\n<mrow>\n<mi>𝒪</mi>\n<mo stretchy=\"false\">(</mo>\n<mi>n</mi>\n<mi>m</mi>\n<mo stretchy=\"false\">)</mo>\n</mrow></math> time on <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0027\" display=\"inline\" location=\"graphic/net22198-math-0027.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>n</mi>\n</mrow>\n$$ n $$</annotation>\n</semantics></math>-vertex <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0028\" display=\"inline\" location=\"graphic/net22198-math-0028.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>m</mi>\n</mrow>\n$$ m $$</annotation>\n</semantics></math>-edge graphs. We prove a matching time lower bound–up to sub-polynomial factors–for the special case where <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0029\" display=\"inline\" location=\"graphic/net22198-math-0029.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>m</mi>\n<mo>=</mo>\n<msup>\n<mrow>\n<mi>n</mi>\n</mrow>\n<mrow>\n<mn>1</mn>\n<mo>+</mo>\n<mi>o</mi>\n<mo stretchy=\"false\">(</mo>\n<mn>1</mn>\n<mo stretchy=\"false\">)</mo>\n</mrow>\n</msup>\n</mrow>\n$$ m={n}^{1+o(1)} $$</annotation>\n</semantics></math> and <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0030\" display=\"inline\" location=\"graphic/net22198-math-0030.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>p</mi>\n<mo>=</mo>\n<mn>1</mn>\n</mrow>\n$$ p=1 $$</annotation>\n</semantics></math>, assuming the so called Hitting Set Conjecture of Abboud et al. On the positive side, we present simple linear-time algorithms for this problem on cliques, paths and cycles, and almost linear-time algorithms for trees, proper interval graphs and (assuming <math altimg=\"urn:x-wiley:net:media:net22198:net22198-math-0031\" display=\"inline\" location=\"graphic/net22198-math-0031.png\" overflow=\"scroll\">\n<semantics>\n<mrow>\n<mi>p</mi>\n</mrow>\n$$ p $$</annotation>\n</semantics></math> to be a constant) bounded-treewidth graphs.","PeriodicalId":54734,"journal":{"name":"Networks","volume":"9 1","pages":""},"PeriodicalIF":1.6000,"publicationDate":"2023-11-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Networks","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1002/net.22198","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
引用次数: 0
Abstract
Let be a graph with unit-length edges and nonnegative costs assigned to its vertices. Given a list of pairwise different vertices , the prioritized Voronoi diagram of with respect to is the partition of in subsets so that, for every with , a vertex is in if and only if is a closest vertex to in and there is no closest vertex to in within the subset . For every with , the load of vertex equals the sum of the costs of all vertices in . The load of equals the maximum load of a vertex in . We study the problem of adding one more vertex at the end of in order to minimize the load. This problem occurs in the context of optimally locating a new service facility (e.g., a school or a hospital) while taking into account already existing facilities, and with the goal of minimizing the maximum congestion at a site. There is a brute-force algorithm for solving this problem in time on -vertex -edge graphs. We prove a matching time lower bound–up to sub-polynomial factors–for the special case where and , assuming the so called Hitting Set Conjecture of Abboud et al. On the positive side, we present simple linear-time algorithms for this problem on cliques, paths and cycles, and almost linear-time algorithms for trees, proper interval graphs and (assuming to be a constant) bounded-treewidth graphs.
期刊介绍:
Network problems are pervasive in our modern technological society, as witnessed by our reliance on physical networks that provide power, communication, and transportation. As well, a number of processes can be modeled using logical networks, as in the scheduling of interdependent tasks, the dating of archaeological artifacts, or the compilation of subroutines comprising a large computer program. Networks provide a common framework for posing and studying problems that often have wider applicability than their originating context.
The goal of this journal is to provide a central forum for the distribution of timely information about network problems, their design and mathematical analysis, as well as efficient algorithms for carrying out optimization on networks. The nonstandard modeling of diverse processes using networks and network concepts is also of interest. Consequently, the disciplines that are useful in studying networks are varied, including applied mathematics, operations research, computer science, discrete mathematics, and economics.
Networks publishes material on the analytic modeling of problems using networks, the mathematical analysis of network problems, the design of computationally efficient network algorithms, and innovative case studies of successful network applications. We do not typically publish works that fall in the realm of pure graph theory (without significant algorithmic and modeling contributions) or papers that deal with engineering aspects of network design. Since the audience for this journal is then necessarily broad, articles that impact multiple application areas or that creatively use new or existing methodologies are especially appropriate. We seek to publish original, well-written research papers that make a substantive contribution to the knowledge base. In addition, tutorial and survey articles are welcomed. All manuscripts are carefully refereed.