Skip to main content
QUICK REVIEW

[论文解读] Generating permutations with a given major index

Vincent Vajnovszki|arXiv (Cornell University)|Feb 26, 2013
Coding theory and cryptography参考文献 3被引用 3
一句话总结

本文提出了首个生成具有固定主指标的排列的分摊时间复杂度为常数(CAT)的算法,利用一种新颖的子超出序列的格雷码,确保连续排列之间至多通过三次相邻对换变换。该方法基于有界组合的共字典序生成,将其转化为子超出序列的格雷码,并通过双射映射至排列,保持格雷码性质,通过受控的对换序列实现高效生成。

ABSTRACT

In [S. Effler, F. Ruskey, A CAT algorithm for listing permutations with a given number of inversions, {\it I.P.L.}, 86/2 (2003)] the authors give an algorithm, which appears to be CAT, for generating permutations with a given major index. In the present paper we give a new algorithm for generating a Gray code for subexcedant sequences. We show that this algorithm is CAT and derive it into a CAT generating algorithm for permutations with a given major index.

研究动机与目标

  • 开发一种用于生成具有固定主指标的排列的分摊时间复杂度为常数(CAT)的算法。
  • 构建一种固定权重的子超出序列的格雷码,使得连续序列在至多三个相邻位置上发生改变,且变化量受有限范围限制。
  • 确保在子超出序列与排列之间的双射下,格雷码性质得以保持,从而实现具有固定主指标的排列的高效生成。
  • 证明格雷码结构在此构造中是必不可少的,若改用更简单的字典序则会损失效率。

提出的方法

  • 使用递归算法以可增加位置的方式生成有界组合的共字典序,避免生成树中出现冗余节点。
  • 通过重新排序生成过程并将边界序列特化为 $\boldsymbol{b} = 01\ldots(n-1)$,将共字典序转化为子超出序列的格雷码。
  • 将格雷码生成过程优化为高效版本 Gen2_Gray,通过追踪最右边不同的位置和累积和,实现快速更新。
  • 定义一个对换过程 transp,基于子超出序列的差异更新排列,采用基于位置的变换,使用 $\phi_j$ 函数。
  • 利用子超出序列到排列的双射 $\psi$(McMahon码),将序列上的格雷码映射为排列上的格雷码。
  • 应用 Update_Perm 过程,基于子超出序列中的局部差异,计算将一个排列转换为下一个排列的最小对换序列。

实验结果

研究问题

  • RQ1能否为生成具有固定主指标的排列构造一个分摊时间复杂度为常数的算法?
  • RQ2能否设计一种固定权重的子超出序列格雷码,使得连续序列在至多三个相邻位置上发生改变,且变化量受有限范围限制?
  • RQ3在McMahon码双射下,子超出序列上的格雷码结构是否能保持排列之间仅通过少量对换变换的性质?
  • RQ4为何在此构造中格雷码结构是必不可少的?为何不能用字典序实现同等效率?

主要发现

  • 所提出的算法以每个排列的分摊时间复杂度为常数,生成所有长度为 $n$ 且主指标为 $k$ 的排列。
  • 子超出序列的格雷码确保连续序列在至多三个相邻位置上发生改变,且变化量为 $\pm1$ 或 $\pm2$。
  • 通过双射生成的连续排列之间至多通过三次对换变换,这一关键结构特性使得排列的高效生成成为可能。
  • 该算法通过将有界组合的共字典序生成转化为格雷码,再特化至子超出序列并优化生成过程而导出。
  • 基于对换的更新机制通过 Update_Perm 过程实现,能正确地将子超出序列中的局部差异映射为排列的全局变化。
  • 数值证据表明,若放松格雷码条件(例如允许非相邻位置的差异),则在排列空间中对换效率将被破坏。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。