{"title":"Dynamic Algorithms for Approximate Steiner Trees","authors":"Hemraj Raikwar, Harshil Sadharakiya, Sushanta Karmakar","doi":"10.1002/cpe.70040","DOIUrl":null,"url":null,"abstract":"<div>\n \n <p>This study investigates the dynamic Steiner tree problem. The objective of the Steiner tree problem is to compute a minimum-weight tree connecting a set of designated vertices called terminals in a connected weighted graph with positive real edge weights. A dynamic graph is one in which the set of edges, the set of vertices, or both can change over time. Here, we focus on dynamic graphs where edges can change over time. The work begins by establishing a lower bound on the update time required to maintain an MST heuristic based <span></span><math>\n <semantics>\n <mrow>\n <mo>(</mo>\n <mn>2</mn>\n <mo>−</mo>\n <mi>ϵ</mi>\n <mo>)</mo>\n </mrow>\n <annotation>$$ \\left(2-\\epsilon \\right) $$</annotation>\n </semantics></math>-approximate Steiner tree (where <span></span><math>\n <semantics>\n <mrow>\n <mi>ϵ</mi>\n </mrow>\n <annotation>$$ \\epsilon $$</annotation>\n </semantics></math> is a small fraction) in a general graph undergoing edge insertions or deletions. Subsequently, we propose two dynamic algorithms: A fully dynamic algorithm to maintain an approximate Steiner tree in planar graphs and an incremental algorithm to maintain an approximate Steiner tree in general graphs. We focus on edge-weighted connected graphs. The graph undergoes dynamic updates where edges with specific weights can be either inserted or deleted. The goal is to efficiently compute a Steiner tree of the updated graph, guaranteeing a solution quality (Steiner tree cost) within a good factor of the optimal Steiner tree. In the fully dynamic case, our analysis demonstrates that the presented algorithm maintains an approximation factor of <span></span><math>\n <semantics>\n <mrow>\n <mo>(</mo>\n <mn>2</mn>\n <mo>+</mo>\n <mi>ϵ</mi>\n <mo>)</mo>\n </mrow>\n <annotation>$$ \\left(2+\\epsilon \\right) $$</annotation>\n </semantics></math>. The worst case update time for processing a series of <span></span><math>\n <semantics>\n <mrow>\n <mi>k</mi>\n </mrow>\n <annotation>$$ k $$</annotation>\n </semantics></math> number of updates is <span></span><math>\n <semantics>\n <mrow>\n <mi>Õ</mi>\n <mo>(</mo>\n <mo>|</mo>\n <mi>S</mi>\n <msup>\n <mrow>\n <mo>|</mo>\n </mrow>\n <mrow>\n <mn>2</mn>\n </mrow>\n </msup>\n <msqrt>\n <mrow>\n <mi>n</mi>\n </mrow>\n </msqrt>\n <mo>+</mo>\n <mo>|</mo>\n <mi>S</mi>\n <mo>|</mo>\n <mi>D</mi>\n <mo>+</mo>\n <mi>n</mi>\n <mo>)</mo>\n </mrow>\n <annotation>$$ \\overset{\\widetilde }{O}\\left({\\left|S\\right|}^2\\sqrt{n}+|S|D+n\\right) $$</annotation>\n </semantics></math> where <span></span><math>\n <semantics>\n <mrow>\n <mi>n</mi>\n </mrow>\n <annotation>$$ n $$</annotation>\n </semantics></math> is the cardinality of the vertex set of the input graph, <span></span><math>\n <semantics>\n <mrow>\n <mi>D</mi>\n </mrow>\n <annotation>$$ D $$</annotation>\n </semantics></math> denotes the unweighted diameter of the updated graph, and <span></span><math>\n <semantics>\n <mrow>\n <mi>k</mi>\n <mo>∈</mo>\n <msup>\n <mrow>\n <mi>Z</mi>\n </mrow>\n <mrow>\n <mo>+</mo>\n </mrow>\n </msup>\n <mo>:</mo>\n <mn>1</mn>\n <mo>≤</mo>\n <mi>k</mi>\n <mo>≤</mo>\n <mo>(</mo>\n <msqrt>\n <mrow>\n <mi>n</mi>\n <mo>+</mo>\n <mi>m</mi>\n </mrow>\n </msqrt>\n <mo>)</mo>\n </mrow>\n <annotation>$$ k\\in {Z}^{+}:1\\le k\\le \\left(\\sqrt{n+m}\\right) $$</annotation>\n </semantics></math>. It is shown that the update time can be improved to <span></span><math>\n <semantics>\n <mrow>\n <mi>O</mi>\n <mo>(</mo>\n <mi>n</mi>\n <msup>\n <mrow>\n <mo>(</mo>\n <msup>\n <mrow>\n <mi>ϵ</mi>\n </mrow>\n <mrow>\n <mo>′</mo>\n </mrow>\n </msup>\n <mo>)</mo>\n </mrow>\n <mrow>\n <mo>−</mo>\n <mn>2</mn>\n </mrow>\n </msup>\n <mo>)</mo>\n </mrow>\n <annotation>$$ O\\left(n{\\left({\\epsilon}^{\\prime}\\right)}^{-2}\\right) $$</annotation>\n </semantics></math> in a special case. On the other hand, the incremental algorithm maintains an approximate Steiner tree in general graphs with an approximation factor of <span></span><math>\n <semantics>\n <mrow>\n <mo>(</mo>\n <mn>2</mn>\n <mo>−</mo>\n <mi>ϵ</mi>\n <mo>)</mo>\n </mrow>\n <annotation>$$ \\left(2-\\epsilon \\right) $$</annotation>\n </semantics></math> under edge insertions. It achieves an update time of <span></span><math>\n <semantics>\n <mrow>\n <mi>O</mi>\n <mo>(</mo>\n <mi>n</mi>\n <msub>\n <mrow>\n <mi>D</mi>\n </mrow>\n <mrow>\n <mi>s</mi>\n </mrow>\n </msub>\n <mo>)</mo>\n </mrow>\n <annotation>$$ O\\left(n{D}_s\\right) $$</annotation>\n </semantics></math>. Here <span></span><math>\n <semantics>\n <mrow>\n <msub>\n <mrow>\n <mi>D</mi>\n </mrow>\n <mrow>\n <mi>s</mi>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ {D}_s $$</annotation>\n </semantics></math> is the shortest path diameter of the modified graph. The fully dynamic algorithm leverages concepts from an existing Steiner tree algorithm and a dynamic distance oracle. On the other hand, the incremental algorithm maintains a partition of the input graph in the form of a shortest path forest, which aids in efficiently updating a Steiner tree.</p>\n </div>","PeriodicalId":55214,"journal":{"name":"Concurrency and Computation-Practice & Experience","volume":"37 6-8","pages":""},"PeriodicalIF":1.5000,"publicationDate":"2025-03-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Concurrency and Computation-Practice & Experience","FirstCategoryId":"94","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1002/cpe.70040","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
This study investigates the dynamic Steiner tree problem. The objective of the Steiner tree problem is to compute a minimum-weight tree connecting a set of designated vertices called terminals in a connected weighted graph with positive real edge weights. A dynamic graph is one in which the set of edges, the set of vertices, or both can change over time. Here, we focus on dynamic graphs where edges can change over time. The work begins by establishing a lower bound on the update time required to maintain an MST heuristic based -approximate Steiner tree (where is a small fraction) in a general graph undergoing edge insertions or deletions. Subsequently, we propose two dynamic algorithms: A fully dynamic algorithm to maintain an approximate Steiner tree in planar graphs and an incremental algorithm to maintain an approximate Steiner tree in general graphs. We focus on edge-weighted connected graphs. The graph undergoes dynamic updates where edges with specific weights can be either inserted or deleted. The goal is to efficiently compute a Steiner tree of the updated graph, guaranteeing a solution quality (Steiner tree cost) within a good factor of the optimal Steiner tree. In the fully dynamic case, our analysis demonstrates that the presented algorithm maintains an approximation factor of . The worst case update time for processing a series of number of updates is where is the cardinality of the vertex set of the input graph, denotes the unweighted diameter of the updated graph, and . It is shown that the update time can be improved to in a special case. On the other hand, the incremental algorithm maintains an approximate Steiner tree in general graphs with an approximation factor of under edge insertions. It achieves an update time of . Here is the shortest path diameter of the modified graph. The fully dynamic algorithm leverages concepts from an existing Steiner tree algorithm and a dynamic distance oracle. On the other hand, the incremental algorithm maintains a partition of the input graph in the form of a shortest path forest, which aids in efficiently updating a Steiner tree.
期刊介绍:
Concurrency and Computation: Practice and Experience (CCPE) publishes high-quality, original research papers, and authoritative research review papers, in the overlapping fields of:
Parallel and distributed computing;
High-performance computing;
Computational and data science;
Artificial intelligence and machine learning;
Big data applications, algorithms, and systems;
Network science;
Ontologies and semantics;
Security and privacy;
Cloud/edge/fog computing;
Green computing; and
Quantum computing.