[수학] 완전순열 // 점화식

in #kr-math7 years ago (edited)

수학퀴즈(?)를 준비하다 보니 완전순열(교란순열, Derangement sequence) 문제가 나타나서 한번 정리해 봤습니다.

완전순열은 고등학교 때 등장하는 순열로, EBS 교재에 단골로 등장하는 [교과 과정 외의 토픽 중 하나입니다. 중복 순열, 중복조합도 그 맥락을 같이했죠..], 모의고사에도 종종 등장했던 그런 순열입니다.

혹시 기억하시는 분이 있으려나요? ㅎㅎ

주로 시험에는 이 행렬 5보다 작은 D_n 이 종종 출제가 되곤 했죠.

5보다 작은 n 의 경우 쉽게 손으로도 셀 수 있지요

일단 정의 부터 갑시다.

The number of (complete) derangements or number of permutations with no rencontres of n distinct object is givn by D_n : = !n

즉 고정점이 없는 n distinct object 에 대한 permutation 경우의 수를 말하는 것으로

[영어로는 이러한 수를 subfactorial 이라 부르고 !n 이라 씁니다]

ㅋㅋㅋㅋㅋ

정의가 왜캐 어렵게 느껴지는지, 그냥 예제를 들면 바로 어떤 순열인지 이해가 될 것으로 봅니다.

예제 갑니다

n 명의 사람들이 n 개의 자리에 아무렇게나 앉을 때, 전부 자기 자리에 앉지 않는 경우의 수는?

목욕탕에 n 명의 사람이 있어서 서로 등을 밀어준다고 할 때 그 경우의 수는?

모자를 쓴 n 명의 사람들이 모자를 벗었다. 그리고 그 모자를 뒤섞고 나서 다시 모자를 집었을 때 모두 자신의 모자를 선택하지 않았을 경우의 수는?

그냥 집합에서 각각 자신의 labelling 있는데 그 object 들을 집합의 구성원들에게 나누어주었을 때 자기 것이 아닌 다른 object 를 가지고 있는 경우의 수를 말합니다.

혹시 전단사 함수의 갯수와 순열, 조합의 관계성이 있다는 것을 알고 계시다면 [다들 고등학교 졸업하고 한참 지나서 자동 포멧이 되었겠죠... ㅠㅠ ]

이 완전순열도 함수의 갯수로 표현할 수 있다는 것을 알 수 있습니다.

f 가 X -> X 의 함수일 때, 모든 정의역에 대해서 f(x) \neq x 인 함수의 갯수

사실 이 완전순열은 점화식과 관련된 수학적 사고를 훈련시켜주는 중요한 예제이기도 합니다.

점화식 유도?


생각보다 쉽게 위의 점화식을 증명할 수 있습니다.

n 개 중에 하나를 고정합니다 편의상 n 을 숫자들의 집합이라고 보죠

n = { 1,2,3, .... n}

특정 숫자 1을 고정해 봅시다.

이 n 개의 숫자를 가지고 D_n 을 만들어 봅시다.

1을 뽑았으니 남는 것은 숫자를 배열하는 방법이 남아있습니다.

1을 뽑아 그 1을 다른 자리에 넣을 수 있는 경우의 수는 n-1 개 입니다.

이제 뽑은 1의 자리에 1을 놓을 수 없으니 나머지 n-1 자리 수에서 하나를 뽑아야 겠군요 편의상 그 수를 a 라 해봅시다.

그러면 우리에겐 두가지 경우의 수가 있습니다.

  • 1 자리에 a 가 들어가고 a 자리에 1 이 들어가는 경우

이 때에는 남은 n-2 (1과 a 를 제외) 한 숫자들 사이에서 다시 완전 수열을 세면 됩니다.

즉 D_{n-2} !

  • 1 자리에 a 가 들어가고 a 자리에 1이 아닌 다른 숫자가 들어가는 경우

이 떄에는 1 을 제외한 n-1 숫자를 가지고 하는 완전순열 즉 D_{n-1}

이 두사건은 동시에 일어나지 않기에 그냥 더해주면 됩니다.

각 항의 일반항은 적절히 함수를 re-parametrization 을 한 후 계차수열을 이용해서 구하면 됩니다.

오랜만의 수열이라 귀찮긴 한데..

한번 해봅시다.

중간에 C_n 에 대해선 계차수열 공식을 이용했습니다.

포함과 배제 방법으로


포함과 배제 방법으로도 일반항을 쉽게 구할 수 있습니다.

자 크기가 n 인 모든 순열의 집합을 U 라 하고, 그 중 i 가 자기 자리에 고정된 순열들의 집합을 A_i 라 하면

해석을 해보면

|U| 의 경우 n 개를 나열하는 경우
|A_i| 의 경우 한개 고정을 했으니 한개를 제외한 (n-1) 개를 나열하는 경우.
|A_i \cap A_k| 는 두 개를 제외한 (n-2) 를 나열하는 경우..

자 계산상의 편의를 위해 변수 하나를 도입해 봅시다.

위 식은 n 개 중에서 k 개를 뽑는 경우를 고려한 합이죠

자 그러면 D_n 은

같은 결과를 얻습니다.


이 계산 유도를 위해

오래전 학창시절 계산 노트를 보면서

따라해봤는데 ㅋㅋㅋㅋ

이거 유도하면서 옆에 여러가지 점화식 문제들을 적어 놨더군요

점화식 예제?


를 만족하는 점화식은?

세번 합성하면 점화식은 어떻게 되는가?

이를 n번으로 확장하면?

하노이의 탑 문제?

계단 알고리즘 문제?

피보나치 수열?

...

너무나 많군요

수학 퀴즈 책 읽다가 덕분에 오랜만에 중고교 때 만들었던 노트들을 봤군요 ㅋㅋㅋㅋ

차마 버리질 못하고 지금까지 방에 고이 모셔놓고 있네요;; ㅋㅋㅋ

아 근데 수학퀴즈 ㅋㅋㅋ 먼가 책 읽는데 고등학교 참고서 푸는 느낌이 드는건 왜 그럴까요? ㅋㅋㅋ 너무 인위적으로 문제를 세팅하고 거기에 수학문제를 끼어넣는 그런 느낌이 강한데.. 이를 어떻게 각색해야할지 좀 더 고민해 봐야겠군요

참고문헌

위키1

위키2

위키 mathnt

이산수학 참고서 등등

Sort:  

생성함수(generating function) 에 대해서 한번 써주시길 요청해봅니다~

ㅎㅎ 예전에 생성함수 가지고 partition number 구하는 글을 쓴 적이 있긴 한데..

[수학, 계산] 고교수학(?)... 자연수의 분할

생성함수만을 가지고만 따로 다룬적은 없긴 하네요 ㅎㅎ

한번 노트에 적어 놓고 준비해 볼게요~

저는 과고 나왔는데 옛날 생각나네요..아니 사실 생각이 하나도 안나요ㅋ 눈에 읽히지가 않습니다ㅎ

ㅎㅎ.. 사실 뭐 대학 졸업하고 나서 전공 관련쪽으로 직장을 구하지 않으면 금세 까막눈이 되어버리니까요 ㅠㅠ

시간이 지나면 지식보다는 지혜나 가치관이 더 중요한 것 같아요 ㅎㅎ

킵해놓고 찬찬히 읽어봐야겠습니다. 좋은 글 감사해요~

날이 춥네요^^
그래도 맘은 따뜻한 하루가 되시길~

Coin Marketplace

STEEM 0.19
TRX 0.17
JST 0.031
BTC 82044.15
ETH 3194.87
USDT 1.00
SBD 2.80