How can a stack of identical blocks be arranged to extend beyond the edge of a table as far as possible? We consider a generalization of this classic puzzle to blocks that differ in width and mass. Despite the seemingly simple premise, we demonstrate that it is unlikely that one can efficiently determine a stack configuration of maximum overhang. Formally, we prove that the Block-Stacking Problem is NP-hard, partially answering an open question from the literature. Furthermore, we demonstrate that the restriction to stacks without counterweights has a surprising connection to the Airplane Refueling Problem, another famous puzzle, and to Robust Appointment Scheduling, a problem of practical relevance. In addition to revealing a remarkable relation to the real-world challenge of devising schedules under uncertainty, their equivalence unveils a polynomial-time approximation scheme, that is, a $(1+ε)$-approximation algorithm, for Block Stacking without counterbalancing and a $(2+ε)$-approximation algorithm for the general case.
翻译:如何将一组相同的块体堆叠起来,使其伸出桌边的距离尽可能远?我们将这一经典谜题推广至宽度和质量各不相同的块体。尽管问题前提看似简单,我们证明高效确定最大悬伸的堆叠构型很可能是不可行的。形式化而言,我们证明了块体堆叠问题是NP难的,从而部分解答了文献中的一个开放性问题。此外,我们证明限制在无配重堆叠的情形下,该问题与另一著名谜题——飞机加油问题,以及具有实际应用价值的鲁棒预约调度问题存在出人意料的联系。除了揭示其与不确定性下制定调度方案这一现实挑战的显著关联外,这些问题的等价性还导出了无配重块体堆叠问题的多项式时间近似方案,即$(1+ε)$-近似算法,以及一般情形下的$(2+ε)$-近似算法。