A generic rectangulation is a partition of a rectangle into finitely many interior-disjoint rectangles, such that no four rectangles meet in a point. In this work we present a versatile algorithmic framework for exhaustively generating a large variety of different classes of generic rectangulations. Our algorithms work under very mild assumptions, and apply to a large number of rectangulation classes known from the literature, such as generic rectangulations, diagonal rectangulations, 1-sided/area-universal, block-aligned rectangulations, and their guillotine variants, including aspect-ratio-universal rectangulations. They also apply to classes of rectangulations that are characterized by avoiding certain patterns, and in this work we initiate a systematic investigation of pattern avoidance in rectangulations. Our generation algorithms are efficient, in some cases even loopless or constant amortized time, i.e., each new rectangulation is generated in constant time in the worst case or on average, respectively. Moreover, the Gray codes we obtain are cyclic, and sometimes provably optimal, in the sense that they correspond to a Hamilton cycle on the skeleton of an underlying polytope. These results are obtained by encoding rectangulations as permutations, and by applying our recently developed permutation language framework.
翻译:通用的矩形是将矩形分割成有限的许多内部分解矩形, 从而没有四个矩形在一个点上相交。 在这项工作中, 我们提出了一个多用途算法框架, 用于详尽地产生各种种类的大型通用对流。 我们的算法在非常温和的假设下运作, 并适用于从文献中得知的大量对流类, 例如一般对流、 三角对流、 一面/ 区域对流、 一面/ 区域对流、 块对流变异, 以及它们的guilletine 变异, 包括方位对流的对流。 在这项工作中, 我们提出了一个全方位的对流框架。 此外, 我们有时通过最坏的或平均的对流化的对流, 这些对流的对流的对流结果, 我们有时通过最优的对流化的对流化的对流。