Table of Contents
Fetching ...

Sum-of-Max Chain Partition of a Tree

Ruixi Luo, Taikun Zhu, Kai Jin

TL;DR

The paper addresses the sum-of-max chain partition problem on rooted trees under a knapsack constraint: partition the tree into chains of total weight at most $w_0$ while minimizing the sum of chain costs, defined as the maximum $s_i$ per chain. It introduces a dynamic-programming framework augmented with a novel two-layer heap-over-heap data structure, maintaining candidate costs $cost(v,i)$ via $H_x^{(v)}$ and $\mathbb{H}^{(v)}$, and uses Over-weight and Update-s-maximal procedures to update structures as the root window changes. The main result is an $O(n\log n)$ algorithm, with a generalized version using rank-based dominance ($r$-maximal) that preserves the same time bound. These techniques enable efficient, scalable chain partitioning on trees and extend to broader chain-cost definitions, informing related path-partition and decomposition problems.

Abstract

Path partition problems on trees have found various applications. In this paper, we present an $O(n \log n)$ time algorithm for solving the following variant of path partition problem: given a rooted tree of $n$ nodes $1, \ldots, n$, where vertex $i$ is associated with a weight $w_i$ and a cost $s_i$, partition the tree into several disjoint chains $C_1,\ldots,C_k$, so that the weight of each chain is no more than a threshold $w_0$ and the sum of the largest $s_i$ in each chain is minimized. We also generalize the algorithm to the case where the cost of a chain is determined by the $s_i$ of the vertex with the highest rank in the chain, which can be determined by an arbitrary total order defined on all nodes instead of the value of $s_i$.

Sum-of-Max Chain Partition of a Tree

TL;DR

The paper addresses the sum-of-max chain partition problem on rooted trees under a knapsack constraint: partition the tree into chains of total weight at most while minimizing the sum of chain costs, defined as the maximum per chain. It introduces a dynamic-programming framework augmented with a novel two-layer heap-over-heap data structure, maintaining candidate costs via and , and uses Over-weight and Update-s-maximal procedures to update structures as the root window changes. The main result is an algorithm, with a generalized version using rank-based dominance (-maximal) that preserves the same time bound. These techniques enable efficient, scalable chain partitioning on trees and extend to broader chain-cost definitions, informing related path-partition and decomposition problems.

Abstract

Path partition problems on trees have found various applications. In this paper, we present an time algorithm for solving the following variant of path partition problem: given a rooted tree of nodes , where vertex is associated with a weight and a cost , partition the tree into several disjoint chains , so that the weight of each chain is no more than a threshold and the sum of the largest in each chain is minimized. We also generalize the algorithm to the case where the cost of a chain is determined by the of the vertex with the highest rank in the chain, which can be determined by an arbitrary total order defined on all nodes instead of the value of .

Paper Structure

This paper contains 15 sections, 12 theorems, 13 equations, 5 figures, 1 table, 3 algorithms.

Key Result

lemma thmcounterlemma

Figures (5)

  • Figure 1: (a) Illustration for window and outer boundary, where $w_0=7$. The numbers in the vertices are their weights. Squares represent the vertices in the window. (b) Illustration for $\mathsf{sum}(v,i)$. Here, $\mathsf{sum}(v,i)= F[j_1]+F[j_2]+F[j_3]+F[j_4]+F[j_5]$.
  • Figure 2: A partition of $\mathsf{win}_v$ into different parts, with each part organized by a heap. In this figure, rhombuses indicate s-maximal vertices and circles indicate other vertices.
  • Figure 3: Illustration of the change of the heaps at the stage for computing $F[v]$.
  • Figure 4: Example of binomial heaps melding with lazy tag
  • Figure 5: Example of binomial heaps pushing up a node $-\infty$. In the first step, 3 is swapped down and becomes $3-1=2$ to counter the $+1$ tag's effect since it was not affected by $+1$ in the first place. Similarly, 2 is swapped down and becomes $2-2=0$ to counter the $+2$ tag.

Theorems & Definitions (33)

  • definition thmcounterdefinition
  • lemma thmcounterlemma
  • proof
  • remark thmcounterremark
  • lemma thmcounterlemma
  • proof
  • remark thmcounterremark
  • lemma thmcounterlemma
  • proof
  • lemma thmcounterlemma
  • ...and 23 more