Maximum k-Chains in Planar Point Sets: Combinatorial Structure and Algorithms

  • Authors:
  • Stefan Felsner;Lorenz Wernisch

  • Affiliations:
  • -;-

  • Venue:
  • SIAM Journal on Computing
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

A chain of a set P of n points in the plane is a chain of the dominance order on P. A k-chain is a subset C of P that can be covered by k chains. A k-chain C is a maximum k-chain if no other k-chain contains more elements than C. This paper deals with the problem of finding a maximum k-chain of P in the cardinality and in the weighted case.Using the skeleton S(P) of a point set P introduced by Viennot we describe a fairly simple algorithm that computes maximum k-chains in time O(kn log n) and linear space. The basic idea is that the canonical chain partition of a maximum (k-1)-chain in the skeleton S(P) provides k regions in the plane such that a maximum k-chain for P can be obtained as the union of a maximal chain from each of these regions.By the symmetry between chains and antichains in the dominance order we may use the algorithm for maximum k-chains to compute maximum k-antichains for planar points in time O(kn log n). However, for large k one can do better. We describe an algorithm computing maximum k-antichains (and, by symmetry, k-chains) in time O((n2 k) log n) and linear space. Consequently, a maximum k-chain can be computed in time O(n3/2 log n) for arbitrary k.The background for the algorithms is a geometric approach to the Greene--Kleitman theory for permutations. We include a skeleton-based exposition of this theory and give some hints on connections with the theory of Young tableaux.The concept of the skeleton of a planar point set is extended to the case of a weighted point set. This extension allows to compute maximum weighted k-chains with an algorithm that is similar to the algorithm for the cardinality case. The time and space requirements of the algorithm for weighted k-chains are O(2kn log(2kn)) and O(2kn), respectively.