06 Not So Vicious Cycles. Cycles inPermutations
排列不仅仅可以看作不同物体排成一列,还能看作是集合到的函数(functions
)。一个排列能看作是为一个唯一的函数,其。
Example 6.1. 排列312可以看作是一个函数,其。
进而,可以把函数组合起来的方式来定义集合上的两个排列的乘积。
Example 6.2. 令。。所以。
Example 6.3. 和定义如上例。。因此。
从上面两个例子可以看出排列的乘法不满足交换律,也就是说不一定成立。
排列的乘法操作涉及到了排列群(permutation groups
)的主题。
Cycles in Permutations
取一个排列321564,它可以被看作是上的函数。,2是排列上的固定点(fixed point
)。,进而,也就是说,重复应用函数,元素1和3会相互替换,不会出现其他元素。在元素1和3上的效果和恒等排列一样,但是不是这样的。对于而言,1和3是-cycle。类似的,,迭代一次,,再迭代一次,。在元素4,5,6上和恒等排列一样,而和不满足。对于而言,4,5和6是-cycle。
Lemma 6.4. 是的一个排列,,一定存在某个正整数,,满足。
Proof. 考虑,如果某个等于,证毕。如果没有,根据鸽巢原理,那么至少有两个值是相等的,不妨设,两边同时应用,得到,重复这个步骤次,得到。
下面给出cycle(循环,这里都用cycle)的定义。
Definition 6.5. 是的一个排列,,是最小的满足的正整数,称是排列的一个-cycle。
Corollary 6.6. 所有的排列能够分成若干个不相交的循环子集。
Proof. Lemma 6.4展示了每个项都是某个cycle的一员,cycle的定义就说明它们不可能相交。
Example 6.7. 排列的循环可以分为。
通过可以很容的逆向构造出原始的排列。
排列分解成若干个循环是唯一的,但是同样的循环可以写成不同的形式。通常,把同一个循环写在同一个括号内。采用规范循环格式(canonical cycle form
)来写,每个循环是最大的数字在最前面,不同循环按照首个数字进行递增排列。比如和表示相同的排列,但是其规范写法是。
将排列写做一个list
或linear order
,,也称为one-line notation
。
Example 6.8. 用one-line notation
写法可以写作24513。
下图展示了2种不同的方式来思考同一个排列。
本节余下内容都是在集合上的排列,简写为-排列。所有-排列的集合记作。在群论中称之为对称群(symmetric group
)。
Theorem 6.9 是非负整数,且满足,那么有个长度为的循环的-排列的数量是
Proof. 将集合写作一行,然后从左往右加括号,先构造个1-cycle,然后构造个2-cycle,等等。这种方式构造出循环长度非递减的一个排列。
集合写作一行有种不同的方式。但是很多不同的个数的写法会产生同一个排列。
在长度为的循环内部,不管怎么循环,对应的排列是同一个,所以重复了次,有个长度为的循环,重复了次。
对于个长度相同的循环,这些循环置换位置,对应的排列是同一个,所以重复了次。
-排列有个长度为的循环,那么是的类型(type
)或循环类型(cycle type
)。Theorem 6.9 提供了一个公式用于计算给定类型的排列的个数。
Example 6.10. 只有一个循环,也就是说对那个类型是,其-排列的数量是。
上面这个例子其实说的是个人围着一个桌子坐,共有种不同的坐法。
Definition 6.11. 有个循环的-排列的个数称之为第一类无符号斯特林数(signless Stirling number of the first kind
),记作。称之为第一类斯特林数(Stirling number of the first kind
)。
时,因为非空的排列一定会有循环。习惯上,令,,以和第二类斯特林数保持一致。
也满足一个简单的递归关系。
Theorem 6.12. 和是正整数且,有
Proof. 分两种情况讨论右边等价于有个循环的-排列的个数。
(1) 第个元素自成一个循环,那么剩余有个循环即可,这是右边的第一项
(2) 第个元素不能自己形成一个环,那么需要剩余有个循环,即,第个元素可以插入每一个循环的各个元素的后面,来组成一个新的循环,增加了倍。
下面分析第一类斯特林数和第二类斯特林数的关系。
Lemma 6.13. 是一个正整数,有
Proof. 先证明的系数也满足Theorem 6.12. 的递归关系,再说明其初始值和的初始值一样。
令
有
所以
多项式相等意味着对应次幂的系数相等,则
这个递归关系和Theorem 6.12. 一样。同时,,且。
将中的替换为,并且两边同乘,得到
从这里我们可以看出为什么定义中要包含了。
这个公式和Corollary 5.10.
相比有一种“反转”的感觉。
是向量的基,也是向量的基。将是一个矩阵,在处的值是,也类似。那么说明是到的转移矩阵,Corollary 5.10. 对应的公式说明是到的转移矩阵。
Theorem 6.14. 矩阵和互为逆矩阵,也就是说。
Permutations with Restricted Cycle Structure
Lemma 6.15 (Transition Lemma) 是写作规范循环格式的排列,是把的括号去掉写作一行的排列,是从的所有排列的集合到的双射。
Example 6.16. ,那么。
Proof. 很明显,从到是满射。反之就不太明显了。已知,需要证明通过加括号得到且只有一种加括号的方法。
令,第一个左括号在左边,第一个右括号在哪里呢?若是最小的值使得,那么右括号在之前;从另一个方面来看,对于,第二个循环不能从开始,因为规范循环格式要求每个循环的第一项是递增的。所以第一个循环只有一种方法。以此类推到所有的循环。也就是说,的原像是唯一的。
Example 6.17. 4356172的原像是(43)(5)(61)(72)。
的某项比其左边的任一项都大,称为从左至右最大值(left-to-right maxima
)。如果有个从左至右最大值的话,那么有个循环。值得注意的是,的第一个从左至右最大值是,最后一个从左至右最大值是元素。
Proposition 6.18. 中两元素和,所有-排列中恰有一半满足和在同一循环中。
Proof. 我们可以给元素重新贴标签,将和对换,和对换,那么问题变成了所有-排列中恰有一半满足和在同一循环中。由Lemma 6.15,等价于,一定是最右的从左至右最大值,那么是否和同一个循环,等价于是否在的右边。在右边恰好占所有-排列的一半。
下面的引理说明在某个循环中的可能性与无关,其值是。
Lemma 6.19. ,对于任意,有个排列有长度为且包含的循环。
Proof. 同Proposition 6.18. 的证明,将和对换,不妨令,包含的循环长度是,进而。要处于某个指定的位置,其余元素可以任意排列,所以有个排列。
Theorem 6.9 提供了一个公式用于计算给定类型的排列的个数。有时候我们不知道其类型,但知道一些其他信息,那么对于很多情况,也能计算出排列的个数。
使用表示-排列的循环长度都是奇数,类似。
Lemma 6.20. 对所有正整数,都有。
Proof. 在两者之间建立双射。令,那么有个长度为奇数的循环。(是偶数,必定有偶数个奇数相加才能得到偶数)。按照规范循环格式写作,对于所有,将的最后一个元素放到的最后,得到的循环长度都是偶数。这种映射记作。
Example 6.21. ,则。
如果是单元素合计,其会消失,但是仍旧是规范循环格式。
现在需要从得到唯一的,即。写作一系列偶数循环,从后往前推理。如果最后一个元素比的第一个元素大,则把最后一个元素作为一个新的循环放到之前,再往前考察和;否则,把最后一个元素放到的最后,然后往前考察和,明显地,此过程恰好和之前的过程相反。
Example 6.22. (41)(62)(75)(83)的原像是(412)(6)(753)(8)。
Example 6.23. (21)(53)(64)(87)的原像是(1)(2)(534)(6)(7)(8)。
证明了,接下来计算它到底是多少。
Theorem 6.24. 对于所有正整数,有
Solution. 根据Lemma 6.20.,我们只需要证明后一个等式即可。令是-排列。显然,,否则组成了长度为一(奇数)的循环,所以有种选法。同理,也有种选法,不要选即可。
和选出来了,有两种情况,它们组成了长度为2的循环,或者没有。对于前者,继续挑选,有种选法,不能选、和;对于后者,要选的是,也有种选法,和已经选出来,不能选,也不能选1,否则会组成长度为3的循环。
继续这个分析过程,对于第个元素,有种选法,对于第个元素也有种选法(这里可以组成偶数长度的循环)。
上面分析了是偶数的情况,如果是奇数呢?,因为若干个偶数之和不可能是奇数。那呢?
Theorem 6.25. 对于所有正整数
Proof. 构造到的双射。在此之前,需要先引入间隔位置(gap postion
)的概念。在每一个循环的每个元素后面和排列的最开始都是间隔位置,也就是说-排列有个间隔位置。
Example 6.26. 排列(42)(513)有六个间隔位置:|(4|2|)(5|1|3|)。
令,。现在定义。取,然后每个元素加一,得到集合的要给排列。将1插入到第个间隔位置,得到了一个循环长度为奇数的循环,其余的是长度是偶数,且规范模式不变。然后对奇数长度的循环之外的循环应用,得到的是-排列,且所有循环长度是奇数。这个排列就是。
Lemma 6.27. 上述的是到的双射。
Proof. 正向证明上面已经描述过了,现在需要找到的逆。令,将包含1的循环放到一边,应用得到偶数长度的循环。1所在的位置相当于某个间隔位置,把1移除得到偶数长度的循环。再应用,得到的都是长度为奇数的循环,该排列就是。上述过程和相应得到的过程互为逆过程。
Exercises
(7) 证明平均看来,长度为的排列有个循环 Solution 递归法。时显然成立。时为真,考虑的情况。考虑元素和其余元素。1有的概率位于第一个单独成为一个循环,其长度为1,若不能自己组成一个循环,那么插入任意其他位置,都不会改变循环个数。
(18) 如果满足但是则称之为非平凡乘方(nontrivial involution
)。求证时,其个数是奇数。
Solution 时,是偶数。将和放到一起,有对,但是这些对既不是也不是非平凡乘方,那么有个,所以非平凡乘方的个数是,是奇数。
(41) 证明对于任意正整数,其中,有 Solution
没想出来,去社区求助了。
和的区别是后者的每块有循环顺序。假设块的元素个数分别是,那么
其中。
现在考虑极端情况。
* ,如果某个块大于,那么有一块小于,那么系数会变大,那么这个极端情况是最小,即;
* ,如果某块大于1,那么最后一块要小于,这时系数会变小,那么这个极端情况是最大,即。