Table of Contents
Fetching ...

Finding the Center and Centroid of a Graph with Multiple Sources

Matthew Chou

TL;DR

The paper tackles finding a fair meeting place among $S$ sources on a graph by defining center as the node minimizing $ecc(v)=\max_{s_j\in S} d(v,s_j)$ and centroid as the node minimizing $g(v)=\sum_{j} d(v,s_j)$. It introduces a multiple-source alternating Dijkstra's framework, with optimized stopping conditions to significantly reduce exploration while preserving accuracy, and extends this with an A*-based variant. The center problem is solved optimally within this framework, while the centroid solution is near-optimal and experimentally exhibits substantial savings in compute, achieving roughly 2x–12x reductions in explored nodes. The work demonstrates practical, low-complexity algorithms for online or continuously updated meeting-place decisions and outlines future directions for dynamic updates and improved centroid accuracy.

Abstract

We consider the problem of finding a "fair" meeting place when S people want to get together. Specifically, we will consider the cases where a "fair" meeting place is defined to be either 1) a node on a graph that minimizes the maximum time/distance to each person or 2) a node on a graph that minimizes the sum of times/distances to each of the sources. In graph theory, these nodes are denoted as the center and centroid of a graph respectively. In this paper, we propose a novel solution for finding the center and centroid of a graph by using a multiple source alternating Dijkstra's Algorithm. Additionally, we introduce a stopping condition that significantly saves on time complexity without compromising the accuracy of the solution. The results of this paper are a low complexity algorithm that is optimal in computing the center of S sources among N nodes and a low complexity algorithm that is close to optimal for computing the centroid of S sources among N nodes.

Finding the Center and Centroid of a Graph with Multiple Sources

TL;DR

The paper tackles finding a fair meeting place among sources on a graph by defining center as the node minimizing and centroid as the node minimizing . It introduces a multiple-source alternating Dijkstra's framework, with optimized stopping conditions to significantly reduce exploration while preserving accuracy, and extends this with an A*-based variant. The center problem is solved optimally within this framework, while the centroid solution is near-optimal and experimentally exhibits substantial savings in compute, achieving roughly 2x–12x reductions in explored nodes. The work demonstrates practical, low-complexity algorithms for online or continuously updated meeting-place decisions and outlines future directions for dynamic updates and improved centroid accuracy.

Abstract

We consider the problem of finding a "fair" meeting place when S people want to get together. Specifically, we will consider the cases where a "fair" meeting place is defined to be either 1) a node on a graph that minimizes the maximum time/distance to each person or 2) a node on a graph that minimizes the sum of times/distances to each of the sources. In graph theory, these nodes are denoted as the center and centroid of a graph respectively. In this paper, we propose a novel solution for finding the center and centroid of a graph by using a multiple source alternating Dijkstra's Algorithm. Additionally, we introduce a stopping condition that significantly saves on time complexity without compromising the accuracy of the solution. The results of this paper are a low complexity algorithm that is optimal in computing the center of S sources among N nodes and a low complexity algorithm that is close to optimal for computing the centroid of S sources among N nodes.
Paper Structure (16 sections, 1 theorem, 6 equations, 9 figures, 4 tables, 4 algorithms)

This paper contains 16 sections, 1 theorem, 6 equations, 9 figures, 4 tables, 4 algorithms.

Key Result

Theorem 1

Assume that there are $S$ Dijkstra's Algorithms initiated from $S$ different source nodes. Once a node has been visited by all $S$ Dijkstra's Algorithms, then let these nodes be called $intersection$ nodes and let $d_{max}$ represent the maximum distance to all source nodes from one of the intersect

Figures (9)

  • Figure 1: The state of our proposed algorithm at the start of the first iteration. During this iteration, Node 1 is extracted from priority queue 0, and all it neighboring nodes' distances are calculated and updated. Similarly, Node 6 is extracted from priority queue 1 and all its neighboring nodes' distances are calculated and updated
  • Figure 2: The state of our proposed algorithm at the start of the second iteration. During this iteration, Node 0 is extracted from priority queue 0, and all it neighboring nodes' distances are calculated and updated. Similarly, Node 4 is extracted from priority queue 1 and all its neighboring nodes' distances are calculated and updated
  • Figure 3: The state of our proposed algorithm at the start of the third iteration. During this iteration, Node 5 is extracted from priority queue 0, and all it neighboring nodes' distances are calculated and updated. Similarly, Node 7 is extracted from priority queue 1 and all its neighboring nodes' distances are calculated and updated
  • Figure 4: The state of our proposed algorithm at the start of the fourth iteration. During this iteration, Node 4 is extracted from priority queue 0, and all it neighboring nodes' distances are calculated and updated. Similarly, Node 0 is extracted from priority queue 1 and all its neighboring nodes' distances are calculated and updated
  • Figure 5: The state of our proposed algorithm at the start of the fifth iteration. During this iteration, Node 7 is extracted from priority queue 0, and all it neighboring nodes' distances are calculated and updated. Similarly, Node 2 is extracted from priority queue 1 and all its neighboring nodes' distances are calculated and updated
  • ...and 4 more figures

Theorems & Definitions (2)

  • Theorem
  • proof