Approximating the minimum clique cover and other hard problems in subtree filament graphs
Discrete Applied Mathematics
Exact Algorithms for a Loading Problem with Bounded Clique Width
INFORMS Journal on Computing
Longest increasing subsequences in windows based on canonical antichain partition
Theoretical Computer Science
Longest increasing subsequences in windows based on canonical antichain partition
ISAAC'05 Proceedings of the 16th international conference on Algorithms and Computation
Hi-index | 0.00 |
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.