Post

순열의 부호

순열의 부호란 무엇이며, 어떤 성질이 있을까?

참고 1 : https://en.wikipedia.org/wiki/Parity_of_a_permutation
참고 2 : https://en.wikipedia.org/wiki/Alternating_group
참고 3 : https://dec41.user.srcf.net/notes/IA_M/groups.pdf

본 글은 $(\sigma \tau)(x) = \sigma(\tau(x))$ 표기를 사용합니다. 오른쪽이 먼저 작용합니다.

순열의 부호

순열의 부호(Parity of a permutation)는 하나의 순열이 가지는 고유한 특성 중 하나로, +1 또는 -1이다.

순열의 부호는 대칭군을 쪼개는 중요한 특성이며, 우리의 경우 슬라이딩 퍼즐의 해결 가능성과 큰 관련이 있다.
유한 대칭군 외에 일부 무한 대칭군도 순열의 부호를 정의할 순 있지만, 우린 거기까진 관심이 없으므로, 유한 대칭군에 대해서만 다루겠다.

일단 정의부터 먼저 보자 :

순열의 부호(Parity of a permutation)

$sgn(\sigma) = (-1)^{N(\sigma)}, \quad N(\sigma) \text{는 순열 }\sigma\text{의 반전의 수}$
여기서 반전(inversion)이란, 순열 $\sigma$에 대해 $i < j$ 이면서 $\sigma(i) > \sigma(j)$ 인 $(i, j)$ 쌍의 개수를 의미한다.

또는, 다음과 같이 정의되기도 한다
$sgn(\sigma) = (-1)^m, \quad m$는 순열 $\sigma$을 두 원소의 교환(transposition)으로 나타낼 때 필요한 교환의 개수

즉, 순열의 부호는 그 순열이 짝수번의 반전을 가지는지 홀수번의 반전을 가지는지에 따라 결정되며, 동일하게 그 순열을 두 원소의 교환으로 나타낼 때 필요한 교환의 개수가 짝수인지 홀수인지에 따라서도 결정된다.

실제 순열, $ (2 \ 3 \ 4) \in S_4$를 예로 들어보자.

위 순열의 inversion의 수를 세 보면 다음과 같다 :

ij$\sigma(i)$$\sigma(j)$$\sigma(i) > \sigma(j)$ ?inversion?
1213XX
1314XX
1412XX
2334XX
2432OO
3441OO

표 1 : 순열 (2 3 4) 의 inversion 개수 세기

따라서 \(N((2 \ 3 \ 4)) = 2\) 가 되므로, \(sgn((2 \ 3 \ 4)) = (-1)^2 = +1\) 이 되어 짝순열이 된다.

다음으로 두 원소의 교환(transposition)으로 나타낼 때 필요한 교환의 개수도 세어보자.

\[\begin{align} (2 \ 3 \ 4) &= (2 \ 3)(3 \ 4) \\ &= (3 \ 4)(2 \ 4) \\ &= (2 \ 4)(2 \ 3) \end{align}\]

즉, 2번의 교환으로 가능하므로, \(sgn((2 \ 3 \ 4)) = (-1)^2 = +1\) 이 되어 짝순열이 됨을 알 수 있다.

그림으로 표현하면 다음과 같다.

싸이클분해 그림 1 : (a) 순열 (2 3 4), (b) 두개의 transposition 으로의 분해 : (2 3)(3 4)

이제 이 사실이 과연 잘 성립하는지를 확인해보자

순열의 부호는 well-defined인가?

어떠한 정의가 잘 정의되었다(well-defined)는 것은, 그 정의가 모순 없이 일관되게 적용될 수 있음을 의미한다.
정의된 방식에 따라 결과가 항상 동일하게 나오는지를 확인하는 것이다.

즉, 순열의 정의에 따라, 모든 순열이 반드시 짝순열 또는 홀순열로 나뉠 수 있는지를 확인하는 것이다.

일단 inversion의 수에 따른 정의는 크게 의심할 여지가 없다.

  • inversion의 수는 자연수이므로 반드시 짝수이거나 홀수 둘 중 하나임이 명확하다
  • 어떤 순열이여도 inversion의 수는 반드시 존재한다. (최소 0개)

문제는 두 원소의 transposition으로 구성된 정의이다.

이거에 대해서는 inversion의 수에 따른 정의와, transposition에 따른 정의가 동일함을 보이는 것으로 충분하다.

inversion의 수와 transposition의 수

이제 inversion의 수와 transposition의 수가 동일함을 보이자.
즉, 어떤 순열 $\sigma$에 대해, $N(\sigma)$는 $\sigma$를 두 원소의 교환으로 나타낼 때 필요한 교환의 개수와 짝홀이 같다.

먼저, 어떤 순열 $\sigma$가 두 원소의 교환으로 나타낼 때 필요한 교환의 개수가 $m$,
$N(\sigma)$가 $\sigma$의 inversion의 수라고 하자.

[1] $\sigma$이 $m$개의 두 원소의 교환의 합성으로 나타낼 수 있다고 하자.

즉, \(\sigma = \tau_1 \tau_2 \cdots \tau_m\) 으로 분해하여 표현할 수 있다. 여기서 각 $\tau_i$는 어떤 두 원소의 교환이다.

[2] 인접한 두 원소의 교환은 inversion을 정확히 하나 변화시킴을 보이자.

먼저, 인접한 두 원소의 교환이란, \(\tau_i = (k \ k+1)\) 인 경우를 의미한다. 이때, $k$와 $k+1$에 대해 다음과 같은 두 가지 경우가 있다.

  1. $\sigma(k) < \sigma(k+1)$ 인 경우
    이 경우, $\sigma$에 대해 $(k, k+1)$ 쌍은 inversion이 아니다.
    그러나, $\sigma \cdot \tau_i$에 대해, $(k, k+1)$ 쌍은 inversion이 된다.
    즉, inversion의 수가 1 증가한다.

  2. $\sigma(k) > \sigma(k+1)$ 인 경우
    이 경우, $\sigma$에 대해 $(k, k+1)$ 쌍은 inversion이다.
    그러나, $\sigma \cdot \tau_i$에 대해, $(k, k+1)$ 쌍은 inversion이 아니다.
    즉, inversion의 수가 1 감소한다.

[3] 인접하지 않는 두 원소의 교환은 inversion 수를 홀수개 변화시킴을 보이자.

이제, 인접하지 않는 두 원소의 교환, 즉 \(\tau_i = (a \ b), \quad a+1 < b\) 인 경우를 생각해보자. 이 경우, 다음과 같이 인접한 교환들의 곱으로 나타낼 수 있다 :

\[(a \ b) = (a \ a+1)(a+1 \ a+2) \cdots (b-2 \ b-1)(b-1 \ b)(b-2 \ b-1) \cdots (a+1 \ a+2)(a \ a+1)\]

즉, 교환 $(a \ b)$는 $2(b-a)-1$개의 인접한 교환의 곱으로 나타낼 수 있다. 이는 홀수이므로, 교환 $(a \ b)$는 inversion의 수를 홀수개 변화시킨다.

[4] inversion의 수와 transposition의 수가 짝홀이 같다.

이제, $\sigma$가 $m$개의 두 원소의 교환의 곱으로 나타낼 수 있다고 하자.
각각의 두 원소의 교환은 inversion의 수를 홀수개 변화시키므로,
$m$개의 두 원소의 교환은 inversion의 수를 $m$번 홀수개 변화시킨다.

홀수를 짝수번 더하면 짝수, 홀수번 더하면 홀수가 되므로, $N(\sigma)$와 $m$은 짝홀이 같다.

disjoint cycle decomposition

사실 어물쩡 넘어갔지만, 우리가 짚지 않은 사실이 하나 있다. 정말 모든 순열은 두 원소의 교환들로 분해될 수 있냐는 게 그것이다.

물론, 반드시 분해할 수 있으며,
이를 증명하기 위해 순열의 disjoint cycle decomposition에 대해 알아보자.

disjoint는 ‘서로 겹치지 않는’ 이라는 뜻이다. 서로 겹치지 않는 순환표현들을 의미한다.
즉, 순열은 반드시 서로 겹치지 않는 순환표현(disjoint cycle representation)으로 분해될 수 있음을 의미한다.

이 분해의 정의는 다음과 같다 :

disjoint cycle representation

어떠한 순열 $\sigma$에 대해, $\sigma$를 다음과 같이 나타낼 수 있다. \(\sigma = (a_1 \ a_2 \ \cdots \ a_k)(b_1 \ b_2 \ \cdots \ b_m) \cdots (z_1 \ z_2 \ \cdots \ z_n)\) 여기서 각 싸이클이 서로 겹치지 않음을 의미한다. 즉, 각 싸이클의 원소 집합이 서로소이다.

즉, 어떠한 순열이여도 서로 겹치지 않는 순환표현들의 합성으로 나타낼 수 있음을 의미한다.

예를 들어, 다음과 같은 순열 $\sigma$가 있다고 하자.

\[\sigma = \begin{pmatrix} 1 & 2 & 3 & 4 & 5 & 6 \\ 3 & 1 & 2 & 6 & 4 & 5 \end{pmatrix}\]

이 순열을 disjoint cycle representation으로 나타내면 다음과 같다.

\[\sigma = (1 \ 3 \ 2)(4 \ 6 \ 5)\]

각각의 싸이클이 서로 겹치지 않음을 알 수 있다.

증명

이러한 표현/분해가 항상 가능함을 증명하는 것은 비교적 간단한데,
마치 알고리즘처럼 순열의 원소들을 따라가며 싸이클을 형성하는 과정을 반복하면 된다.

먼저 어떤 유한집합 $X$를 섞는 순열 $\sigma$를 다음과 같이 정의한다 :

\[\sigma : X \rightarrow X, \sigma \text{ is bijective}\]

이제 $X$의 원소 $x_1 \in X$를 하나 잡고, $\sigma$를 반복 적용하여 다음과 같은 집합을 정의한다 :

\[C_1 = \{ x_1, \sigma(x_1), \sigma^2(x_1), \ldots \}\]

이 집합 $C_1$는 $x_1$을 시작으로 $\sigma$를 반복 적용하여 도달할 수 있는 모든 원소들의 집합이다.
$X$가 유한집합이므로, 언젠가는 $\sigma^k(x_1) = x_1$이 되는 $k$가 존재한다.

이제 $X^{(1)} = X \setminus C_1 \neq \emptyset$ 라면, $X^{(1)}$ 중에서 제일 작은 다음 원소, $x_2$를 잡고,
마찬가지로 다음과 같은 집합을 또 정의한다 :

\[C_2 = \{ x_2, \sigma(x_2), \sigma^2(x_2), \ldots \}\]

이 집합 $C_2$는 $x_2$를 시작으로 $\sigma$를 반복 적용하여 도달할 수 있는 모든 원소들의 집합이다. 이 역시 유한 집합이다.
이렇게 구한 $C_2$를 또 $X^{(1)}$에서 빼고, 공집합이 아니라면 또 반복한다.

이 과정은 $X$가 유한집합이므로 언젠가 끝나게 된다.

그때의 $C = C_1 \cup C_2 \cup \cdots \cup C_n$ 각각이 서로 겹치지 않는 $n$개의 싸이클을 형성한다.

만약 항등 순열이었다면, 총 $n$개의 원소 각각이 자기 자신으로 가는 싸이클을 형성하는 식으로 끝난다.

결국, 이러한 과정을 통해 모든 순열은 disjoint cycle representation으로 나타낼 수 있음을 알 수 있다.

예시로, 어떤 순열 $\sigma$를 위 방법대로 분해하는 다음 그림을 보자 :

싸이클분해2

그림 2 : (a) 첫번째 싸이클 분해, (b) 두번째 싸이클 분해

transposition decomposition

거의 다 왔다.
이제 disjoint cycle representation을 통해 모든 순열은 transposition의 곱으로 나타낼 수 있음을 보이자.

여긴 엄청 간단한데, 임의의 n-cycle이 항상 n-1개의 transposition의 곱으로 나타낼 수 있기 때문이다 :

\[(a_1 \ a_2 \ \cdots \ a_n) = (a_1 \ a_2)(a_2 \ a_3) \cdots (a_{n-1} \ a_n)\]

증명은 생략하겠다.

따라서, disjoint cycle representation으로 나타낸 순열 $\sigma$에 대해, 각각의 cycle을 transposition의 곱으로 또 나타낼 수 있으므로, 결국 모든 순열은 transposition의 곱으로 나타낼 수 있음을 알 수 있다.

transposition의 부호는 유일할까?

마지막 의심으로, transposition의 개수의 부호가 정말 유일한지 의심할 수 있다.
예를 들어, 어떤 순열을 분해했는데, 이리 저리 분해했더니 각각 짝수번과 홀수번의 transposition으로 나타낼 수 있다면 모순이 생긴다.

다행히도 그럴 수 없음을 이미 앞에서 보였다.

앞서 순열을 유한개의 transposition의 곱으로 나타낼 수 있다면, 그 개수의 짝홀이 반드시 inversion의 수의 짝홀과 같음을 보였다. 이제 inversion의 수는 순열의 고유한 특성이므로 , transposition의 개수의 짝홀 역시 순열의 고유한 특성이 된다.

직전에 순열을 유한개의 transposition의 곱으로 나타낼 수 있음까지 보였으므로,
모든 순열은 반드시 짝수 transposition 또는 홀수 transposition으로 나뉠 수 있으며, 그 부호는 유일하다 는 것을 알 수 있다.

교대군과 순열의 부호

재미있는 사실은, 짝순열들로만 이루어진 부분집합이 부분군을 이룬다는 것이다.

교대군(Alternating group)

$A_n = \{ \sigma \in S_n \mid sgn(\sigma) = +1 \}$
즉, 짝순열들로만 이루어진 $S_n$ 부분군

먼저 순열의 부호가 갖는 성질 하나를 알아보자 :

$sgn(\sigma \tau) = sgn(\sigma) \cdot sgn(\tau)$ for all $\sigma, \tau \in S_n$

이건 앞에서 해 놓은 게 많아서 아주 쉽다.

순열의 부호가 transpositon의 개수에 따라 결정되므로, \(sgn(\sigma) = (-1)^{m}, \quad sgn(\tau) = (-1)^{n}\) 이고, \(\sigma \tau\) 는 $m+n$개의 transposition의 곱으로 나타낼 수 있으므로, \(sgn(\sigma \tau) = (-1)^{m+n} = (-1)^m \cdot (-1)^n = sgn(\sigma) \cdot sgn(\tau)\) 이다.

이제 집합 $A_n = \{ \sigma \in S_n \mid sgn(\sigma) = +1 \}$ 가 부분군임을 보이자.

  1. 항등원
    항등원 $e$에 대해, $sgn(e) = +1$ 이므로, $e \in A_n$ 이다.

  2. 닫힘성
    임의의 $\sigma, \tau \in A_n$ 에 대해, $sgn(\sigma \tau) = sgn(\sigma) \cdot sgn(\tau) = +1 \cdot +1 = +1$ 이므로, $\sigma \tau \in A_n$ 이다.

  3. 역원
    임의의 $\sigma \in A_n$ 에 대해, $sgn(\sigma^{-1}) = sgn(\sigma)^{-1} = +1^{-1} = +1$ 이므로, $\sigma^{-1} \in A_n$ 이다.

따라서, $A_n$은 $S_n$의 부분군임을 알 수 있다.
이 사실을 꼭 기억해 주자.

마치며

이번 포스팅은 순열의 부호가 무엇인지, 그리고 그것이 어떻게 잘 정의되는지를 살펴보았다.

왜 굳이 순열의 부호의 정의가 두 가지 버전이 있느냐 하면, 각각의 정의가 가지는 장단점이 있기 때문이다.

예를 들어 transposition의 개수로 된 정의는, 순열의 부호가 unique한지는 증명하기 힘들다.
반대로 inversion으로 된 정의는 순열의 부호가 갖는 성질을 증명하기 힘들다.

필요할 때마다 적절한 정의를 골라 쓰면 증명이 훨씬 쉽다. 두 정의가 동일함을 보였으니, 걱정 없이 필요할 때마다 골라 쓸 수 있다.

이제 필요한 모든 준비가 끝났다.
다음 포스팅부터 드디어 슬라이딩 퍼즐의 해결 가능성에 대해서 알아보겠다.

This post is licensed under CC BY 4.0 by the author.