컴퓨터공학/통계학

순열과 조합

루키~ 2013. 3. 31. 18:27

기본적인 배열을 나타내는 순열과 조합에 대해서 간단히 살펴보도록 하죠. 


배열

n개의 사물을 배열하는 가능한 방법의 수를 찾으려고 하면 Factorial을 이용하면 됩니다. 

Factorial은 1808년 수학자 Christian Kramp가 처음 썼다고 하는데요..  n부터 1까지의 수를 모두 곱하는 것이죠. 



다른 형식으로는 다음과 같이 사용할 수 있습니다. 

파이는 곱을 의미하니 한번 기억해 두면 좋을 듯 합니다. 


프로그래밍을 처음 배울 때 재귀함수 호출하면서 Factorial에 대해서 한번씩 구현해 본 기억이 있을 겁니다. 

만약 n개의 사물이 원형으로 배열되어 있다면, (n-1)!의 배열이 존재하겠죠.. 


추가로 n개의 사물을 배열하려고 할 때, 그 안에 j개의 사물이 하나의 종류이고, k개의 사물이 또 다른 종류이고, m개의 사물이 역시 또 다른 종류일 때, 전체 배열의 수는 다음과 같이 구합니다. 



순열과 조합

순열은 어떤 사물의 집합에서 순서를 고려하면서 사물을 꺼내는 방법의 수를 나타냅니다. 

각 위치를 채우는 방식의 수를 센다는 점에서 순열은 조합보다 훨씬 구체적입니다. 


조합은 어떤 사물의 집합에서 순서를 고려하지 않은 채 사물을 꺼내는 방법의 수를 나타냅니다. 

각 위치를 채우는 방식에 대해 알 필요가 없기 때문에 조합은 순열보다 훨씬 일반적이라고 합니다. 

조합은 어떤 사물이 선택되었는지가 중요할 뿐입니다. 


즉, 순열은 순서와 상관이 있으나 조합은 순서와 상관이 없는 것이죠. 


n개의 사물이 있는 집합에서 r개의 사물을 선택할 때 순열의 값은 다음과 같습니다. 



n개의 사물이 있는 집합에서 r개의 사물을 선택할 때 조합의 값은 다음과 같이 계산합니다. 



간략하게 순열과 조합에 대해서 한번 정리해봤습니다. 

다음부터 확률분포에 대해 좀 더 자세히 알아보도록 하죠..