1.定义
给定定两个排列 P = p 1 , p 2 , . . . , p n P={p_1,p_2,...,p_n} P=p1,p2,...,pn, Q = q 1 , q 2 , . . . , q n Q={q_1,q_2,...,q_n} Q=q1,q2,...,qn。
排列 Q Q Q关于排列 P P P进行置换运算得到的新排列为
A n s = Q ∗ P = P Q 1 , P Q 2 , . . . , P Q n Ans=Q*P={P_{Q_1},P_{Q_2},...,P_{Q_n}} Ans=Q∗P=PQ1,PQ2,...,PQn。
这就是排列的置换运算。
即:
某个排列关于排列 P P P做置换运算,就是将这个排列中的值为 i i i的元素替换为 P i P_i Pi。
2.置换的表示法
(1)第一种表示法
设排列 P = 3 , 1 , 2 , 8 , 6 , 4 , 7 , 5 P={3,1,2,8,6,4,7,5} P=3,1,2,8,6,4,7,5
置换群 P P P可以表示为:
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 1,2,3,4,5,6,7,8 1,2,3,4,5,6,7,8
3 , 1 , 2 , 8 , 6 , 4 , 7 , 5 3,1,2,8,6,4,7,5 3,1,2,8,6,4,7,5
该表示的含义为将元素 i i i映射为 P i P_i Pi。
(2)第二种表示法
置换群 P P P:
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 1,2,3,4,5,6,7,8 1,2,3,4,5,6,7,8
3 , 1 , 2 , 8 , 6 , 4 , 7 , 5 3,1,2,8,6,4,7,5 3,1,2,8,6,4,7,5
还可以表示为: ( 1 , 3 , 2 ) ( 4 , 8 , 5 , 6 ) (1,3,2)(4,8,5,6) (1,3,2)(4,8,5,6)(其中 7 7 7关于自身映射,可以省略其表示)。
该表示的含义为每个圆括号里面的元素都构成一个环。
例1:
Q = ( 1 , 2 , 3 , 4 ) Q=(1,2,3,4) Q=(1,2,3,4), P = ( 1 , 3 , 2 ) ( 4 ) P=(1,3,2)(4) P=(1,3,2)(4)
Q ∗ P = 3 , 1 , 2 , 4 Q*P=3,1,2,4 Q∗P=3,1,2,4
Q ∗ P ∗ P = Q ∗ P 2 = 2 , 3 , 1 , 4 Q*P*P=Q*P^2=2,3,1,4 Q∗P∗P=Q∗P2=2,3,1,4
Q ∗ P 3 = 1 , 2 , 3 , 4 Q*P^3=1,2,3,4 Q∗P3=1,2,3,4
例2:
Q = ( 1 , 2 , 3 , 4 ) Q=(1,2,3,4) Q=(1,2,3,4), P = ( 1 , 4 , 2 , 3 ) P=(1,4,2,3) P=(1,4,2,3)
Q ∗ P 0 = 1 , 2 , 3 , 4 Q*P^0=1,2,3,4 Q∗P0=1,2,3,4
Q ∗ P 1 = 4 , 3 , 1 , 2 Q*P^1=4,3,1,2 Q∗P1=4,3,1,2
Q ∗ P 2 = 2 , 1 , 4 , 3 Q*P^2=2,1,4,3 Q∗P2=2,1,4,3
Q ∗ P 3 = 3 , 4 , 2 , 1 Q*P^3=3,4,2,1 Q∗P3=3,4,2,1
Q ∗ P 4 = 1 , 2 , 3 , 4 Q*P^4=1,2,3,4 Q∗P4=1,2,3,4
观察 P P P和上述每一列的关系,显然单个 ( ) () ()的循环节为 ( ) () ()内数字的个数。
多个 ( ) () ()的循环节为多个 ( ) () ()的循环节的 L C M LCM LCM(最小公倍数)。
(3)第三种表示法
置换群 P = ( 1 , 3 , 2 ) ( 4 , 8 , 5 , 6 ) P=(1,3,2)(4,8,5,6) P=(1,3,2)(4,8,5,6)还可以表示为 ( 1 , 3 ) ( 1 , 2 ) ( 4 , 8 ) ( 4 , 5 ) ( 4 , 6 ) (1,3)(1,2)(4,8)(4,5)(4,6) (1,3)(1,2)(4,8)(4,5)(4,6)。
至于这种表示法有什么优美的含义?博主还没研究出来。
3.置换的乘法和逆运算
n n n元单位置换群 I n = 1 , 2 , . . . , n I_n={1,2,...,n} In=1,2,...,n。
对于任意置换群 P P P,满足:
I ∗ P = P I*P=P I∗P=P
P ∗ I = P P*I=P P∗I=P
置换的乘法即为上述例1和例2。
例3:
Q = ( 1 , 2 , 3 , 4 ) Q=(1,2,3,4) Q=(1,2,3,4), P = ( 1 , 4 , 2 , 3 ) P=(1,4,2,3) P=(1,4,2,3)
Q ∗ P − 0 = 1 , 2 , 3 , 4 Q*P^{-0}=1,2,3,4 Q∗P−0=1,2,3,4
Q ∗ P − 1 = 3 , 4 , 2 , 1 Q*P^{-1}=3,4,2,1 Q∗P−1=3,4,2,1
Q ∗ P − 2 = 2 , 1 , 4 , 3 Q*P^{-2}=2,1,4,3 Q∗P−2=2,1,4,3
Q ∗ P − 3 = 4 , 3 , 1 , 3 Q*P^{-3}=4,3,1,3 Q∗P−3=4,3,1,3
Q ∗ P − 4 = 1 , 2 , 3 , 4 Q*P^{-4}=1,2,3,4 Q∗P−4=1,2,3,4
(注: − 0 -0 −0仅为了对齐)
观察例2和例3,可以简单的得出一个小结论:
在第二种表示法中,乘法运算即将某个元素替换为其右边的元素。
逆运算即将其替换为左边的元素。
4.置换的幂运算
置换的乘法满足结合律,不满足交换律。
Q ∗ P ∗ S = ( Q ∗ P ) ∗ S = Q ∗ ( P ∗ S ) Q*P*S=(Q*P)*S=Q*(P*S) Q∗P∗S=(Q∗P)∗S=Q∗(P∗S)。
结合律的优势:如果在计算机中要求 P n P^n Pn,且 n n n比较大,但是对 P P P的运算满足结合律,就可以利用快速幂在 l o g ( n ) log(n) log(n)运算内求出 P n P^n Pn。
P k 1 ∗ P k 2 = P k 1 + k 2 P^{k_1}*P^{k_2}=P^{k_1+k_2} Pk1∗Pk2=Pk1+k2
( P k 1 ) k 2 = P k 1 ∗ k 2 (P^{k_1})^{k_2}=P^{k_1*k_2} (Pk1)k2=Pk1∗k2
参考文献:https://wenku.baidu.com/view/72de788aaeaad1f346933f74?ivk_sa=1023194j