{"title":"Maximum k-chains in planar point sets: combinatorial structure and algorithms","authors":"S. Felsner, L. Wernisch","doi":"10.1145/167088.167136","DOIUrl":null,"url":null,"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 logn) 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 logn). 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) logn) and linear space. Consequently, a maximum k-chain can be computed in time O(n3/2 logn) 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.","PeriodicalId":280602,"journal":{"name":"Proceedings of the twenty-fifth annual ACM symposium on Theory of Computing","volume":"99 1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1993-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"28","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the twenty-fifth annual ACM symposium on Theory of Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/167088.167136","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 28
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 logn) 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 logn). 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) logn) and linear space. Consequently, a maximum k-chain can be computed in time O(n3/2 logn) 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.