Skip to content

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)来写,每个循环是最大的数字在最前面,不同循环按照首个数字进行递增排列。比如表示相同的排列,但是其规范写法是

将排列写做一个listlinear 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,那么最后一块要小于,这时系数会变小,那么这个极端情况是最大,即