Maximum Bounded Rooted-Tree Packing Problem

Maximum Bounded Rooted-Tree Packing Problem
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

Given a graph and a root, the Maximum Bounded Rooted-Tree Packing (MBRTP) problem aims at finding K rooted-trees that span the largest subset of vertices, when each vertex has a limited outdegree. This problem is motivated by peer-to-peer streaming overlays in under-provisioned systems. We prove that the MBRTP problem is NP-complete. We present two polynomial-time algorithms that computes an optimal solution on complete graphs and trees respectively.


💡 Research Summary

The paper introduces the Maximum Bounded Rooted‑Tree Packing (MBRTP) problem, motivated by peer‑to‑peer (P2P) live‑streaming systems where each peer has a limited upload capacity. Formally, given an undirected connected graph G = (V, E), a distinguished root vertex r, a positive integer capacity c_v for every vertex v, and an integer K representing the number of independent video sub‑streams (or “stripes”), the task is to select K rooted trees T₁,…,T_K such that: (i) each tree is rooted at r and is acyclic; (ii) for every vertex v, the total number of children it has across all K trees does not exceed its capacity c_v (the “capacity constraint”); and (iii) the sum of the numbers of vertices spanned by the K trees, ∑_{k=1}^{K}|V(T_k)|, is maximized. When K = 1 the problem reduces to the Maximum Bounded Rooted‑Tree (MBRT) problem.

Complexity Results
The authors first prove that MBRTP is NP‑complete. They reduce the classic 3‑SAT problem to the decision version of MBRTP (or equivalently MBRT). In the reduction, each Boolean variable and each clause become vertices; variable vertices have capacity 1, clause vertices have capacity 0, and the root connects to all variable vertices. A feasible rooted tree respecting the capacities corresponds exactly to a satisfying assignment of the 3‑SAT instance. Consequently, the decision version (“does there exist a bounded r‑tree packing of size K whose total number of vertices is at least Γ?”) is NP‑complete, and the optimization version is NP‑hard.

Polynomial‑Time Algorithms for Special Graph Classes

  1. Complete Graphs
    The algorithm proceeds in two phases, each consisting of K iterations.
    Phase 1: For each iteration k, construct the induced subgraph G_k consisting of all vertices whose remaining capacity is positive together with the root r. If the root’s capacity is already zero, the k‑th tree is empty; otherwise, compute a Hamiltonian path s_k starting at r in G_k (trivial in a complete graph). Decrease the capacity of every vertex on s_k except the terminal vertex by one. This yields up to min{c_r, K} non‑empty trees.
    Phase 2: Initialise each tree T_k with its path s_k. While there remain vertices not yet in T_k and some vertex in the current branch still has residual capacity, attach a new vertex as a child of a vertex with remaining capacity, updating capacities accordingly. The process stops when either all vertices are included or every vertex in the tree has exhausted its capacity. The number of vertices spanned by each non‑empty tree equals k + ∑_v c_v, which matches the theoretical upper bound imposed by the capacity constraints. The overall running time is O(nK), polynomial because K ≤ n.

  2. Trees
    When the underlying graph is already a tree, the problem can be solved by dynamic programming from the leaves upward. For each vertex v and each integer k ∈


Comments & Academic Discussion

Loading comments...

Leave a Comment