조합 계산기
계산 결과
조합(순서 무시)
- 순열(순서 고려)
- 720
조합 계산기는 많은 확률 문제 아래 깔린 세기 질문에 답합니다. n개 가운데 r개를 고르는 방법이 몇 가지인가 하는 질문입니다. 뽑는 순서를 무시하면 답은 조합이고, 순서를 세면 답은 순열입니다. 사람들이 nCr과 nPr이라고 부를 때 뜻하는 두 수가 바로 이것입니다. 이 페이지는 둘을 한꺼번에 인쇄합니다. 두 해석 사이에 r!만큼 차이가 나는 수는 잘못된 쪽으로 보고되기 딱 좋은 종류의 수이기 때문입니다. 스위치 하나가 중복 허용 여부를 정하고, 그 스위치는 두 행을 함께 바꿉니다. 중복을 허용하면 n개에서 r개를 고르는 것이 다른 수가 되고, r이 n보다 클 수도 있습니다.
공식
조합 C(n, r) = n! / (r!(n − r)!) · 순열 P(n, r) = n! / (n − r)! · 중복 허용: C = (n + r − 1)! / (r!(n − 1)!), P = nʳ
- n
- 고를 수 있는 서로 다른 항목의 수입니다. 뽑는 횟수가 아니라 통의 크기입니다
- r
- 고르는 항목의 수입니다. 중복을 허용하지 않으면 r은 n을 넘을 수 없고, 허용하면 같은 항목이 두 번 나올 수 있으므로 r이 n보다 클 수 있습니다
- allow repetition
- 같은 항목을 두 번 이상 고를 수 있는지 여부입니다. 이것은 서식 취향이 아니라 다른 공식을 고르는 일이며, r이 n보다 큰 것이 합법인지 불가능인지를 정하는 설정입니다
- C(n, r)
- nCr로 읽는 조합의 수입니다. 뽑는 순서를 무시할 때 r개를 고르는 방법이며, ABC와 CBA를 한 가지로 셉니다
- P(n, r)
- 순열의 수입니다. r개를 고른 다음 배열하는 방법이므로 ABC와 CBA가 서로 다른 결과입니다. 언제나 조합의 수에 r!을 곱한 값입니다
질문이 사실상 몇 가지 방법이 있는가, 즉 경우의 수일 때마다 씁니다. 확률을 공식이 아니라 세어서 구할 때는 대개 그렇습니다. 카드 패, 복권 추첨, 위원회 구성, 자리 배치가 모두 이 계산이고, 그중 어느 것이든 하기 전에 내려야 할 단 하나의 결정은 순서가 중요한지입니다. 포커 패는 조합이고, 시상대 순위는 순열입니다. 중복 스위치는 같은 선택을 두 번 할 수 있는 경우에 중요합니다. 아이스크림 가게에서 맛 세 개를 고르는 일은 순서가 여전히 중요하지 않지만 맛이 겹칠 수 있으므로 보통의 조합이 아니라 중복을 허용한 조합의 수입니다. 이 페이지는 확률을 계산하지 않습니다. 확률을 세워 올리는 재료인 수만 계산합니다.
계산 예시
10개에서 3개 고르기: 조합 120가지, 순열 720가지
- 순서를 무시하면 C(10,3) = 10! / (3! × 7!) = (10 × 9 × 8) / (3 × 2 × 1) = 120입니다
- 순서를 세면 P(10,3) = 10 × 9 × 8 = 720입니다
- 둘은 3! = 6만큼 차이 나며, 그 6은 고른 세 항목을 배열하는 방법의 수입니다
- 확인: 120 × 6 = 720
이 페이지가 갈라 놓기 위해 존재하는 짝입니다. 같은 세 항목이 조합으로는 하나이고 순열로는 여섯이므로, 어느 쪽인지 밝히지 않은 수는 여기서 6배까지 틀릴 수 있습니다. 다섯 개를 고를 때는 120배가 되고, 거기서부터는 오차가 눈에 띌 만큼 작지 않습니다. 마지막 단계가 기억할 만한 관계입니다. 순열의 수는 언제나 조합의 수에 r의 계승을 곱한 값입니다. 순서 없는 선택 하나하나가 정확히 r!가지로 배열될 수 있기 때문입니다.
같은 10과 3, 중복을 허용하면
- 중복을 허용하고 순서를 무시하면 C = (10 + 3 − 1)! / (3! × 9!) = C(12,3) = 220입니다
- 중복을 허용하고 순서를 세면 P = 10³ = 1000입니다
- 조합의 수에서는 통이 실질적으로 더 커집니다. 공식이 n에 r − 1을 더하기 때문입니다. 반면 순열의 수는 자리마다 선택이 하나씩일 뿐입니다
- 확인: 220은 120이 아니고 1000은 720이 아닙니다. 스위치를 넘기자 두 행이 함께 움직였습니다
두 행이 모두 바뀌었고, 그것이 이 스위치의 세부가 아니라 요점입니다. 조합의 수만 고치는 구현은 220과 720을 나란히 인쇄할 텐데, 두 수 모두 그럴듯해 보이면서 서로 다른 규칙을 서술하게 됩니다. 순열의 수가 이제 감소곱이 아니라 거듭제곱이라는 점도 눈여겨보세요. 중복이 있으면 r개의 자리마다 선택이 n가지이므로, 매번 하나씩 줄어드는 대신 nʳ으로 곱해집니다.
52장에서 다섯 장 포커 패
- 패는 순서가 없으므로 수는 C(52,5) = 52! / (5! × 47!)입니다
- 내려가는 다섯 항을 곱합니다: 52 × 51 × 50 × 49 × 48 = 311,875,200
- 5! = 120으로 나눕니다: 311875200 / 120 = 2,598,960
- 둘째 행은 첫째 행의 중간 단계입니다. 패가 순서 있는 배분을 배열의 수로 나눈 것이라는 말이 그 뜻입니다
2,598,960은 모든 포커 확률을 나누는 수이고, 이 페이지에서 가장 많이 찾는 칸입니다. 두 행을 여기서 함께 읽을 만합니다. 순열 행이 5!로 나누기 직전의 분자 그 자체이기 때문입니다. 다섯 장 패는 311,875,200가지 순서 있는 방식으로 배분될 수 있고, 각 패가 그중 120가지를 차지합니다. 순서 없는 수가 순서 있는 수를 배열의 수로 나눈 것임을 보는 것이 둘을 헷갈리지 않는 가장 빠른 길입니다.
6개에서 6개 모두 고르기: 조합 1가지, 순열 720가지
- 전부 가져가는 방법은 하나뿐이므로 C(6,6) = 1입니다
- 순열은 여섯 항목을 모두 배열하는 수이므로 P(6,6) = 6! = 720입니다
- 두 행 사이의 인수는 720 = 6!이며, r = n에서의 r! 규칙입니다
r = n이면 두 행이 가능한 한 멀어지고 조합 행은 1로 무너집니다. 전부 가져갈 때는 고를 것이 남아 있지 않습니다. 포커 패 옆에 두고 볼 만한 극단입니다. 거기서는 차이가 120배였고 여기서는 720배인데, 달라진 것은 선택 하나하나가 허용하는 배열의 수뿐입니다. 순열 행이 원했던 쪽이라면 이것이 그 실수의 가장 큰 모습입니다.
맛 세 가지로 다섯 스쿱: r이 n보다 큰 경우
- 맛 세 가지에서 다섯 스쿱, 순서 무시, 중복 허용: C = C(3 + 5 − 1, 5) = C(7,5) = 21입니다
- 순서까지 세면 P = 3⁵ = 243입니다
- 둘 다 중복이 켜져 있어야 합법입니다. 중복을 끄면 셋에서 다섯을 고르는 일은 불가능하고 페이지가 입력을 거절합니다
이 사례가 스위치를 취향이 아니라 정확성의 요구 사항으로 만듭니다. 통이 셋뿐인데 다섯 개를 고르는 일은 중복 없이는 할 수 없으므로, 중복이 꺼져 있으면 페이지는 그것을 아예 거절하고 켜져 있으면 같은 입력이 아주 평범한 두 수를 냅니다. 조합 행은 공식이 왜 통에 r − 1을 더하는지도 보여 줍니다. 중복을 허용하면 통이 뽑는 횟수보다 하나 적은 만큼 커진 것처럼 행동하므로, 맛 세 가지를 다섯 번 고르는 일은 일곱 가지에서 다섯을 고르는 것으로 셉니다.
한계
두 수 모두 어느 지점까지는 정확한 정수이고, 그 지점을 넘으면 페이지는 반올림하는 대신 거절합니다. 이 수는 빠르게 자랍니다. 100개에서 50개를 고르면 서른 자리가 됩니다. 그리고 컴퓨터가 쓰는 부동소수점 수는 열여섯 자리 즈음부터 모든 정수를 정확히 담지 못하므로, 그만큼 큰 수는 끝자리가 틀린 채로 돌아오고도 아주 평범해 보입니다. 아무도 잡아내지 못할 방식으로 틀린 수를 인쇄하는 대신, 이 페이지는 정확한 범위를 넘는 수에 대해 오류를 던집니다. 같은 거절이 1000개를 넘는 통과 음수에도 적용됩니다. 두 가지 한계가 더 있습니다. 이 페이지는 세기만 합니다. 조합을 나열하지도, 하나하나 열거하지도, 하나를 뽑을 확률을 계산하지도 않습니다. 그 확률은 이 수를 전체로 나눈 값입니다. 그리고 중복 스위치는 한 가지 뜻만 갖습니다. 같은 항목을 두 번 이상 고를 수 있다는 뜻이며, 카드 덱처럼 통이 줄어드는 상황과 줄어들지 않는 상황을 구분하는 장치가 아닙니다.
자주 묻는 질문
- 조합과 순열은 무엇이 다른가요?
- 조합은 뽑는 순서를 무시하고 순열은 순서를 셉니다. 10명 가운데 위원 세 명을 고르는 것은 조합입니다. 위원 ABC가 CBA와 같은 위원회이기 때문입니다. 그 세 명에게 1등, 2등, 3등 상을 주는 것은 순열입니다. 배정이 서로 다르기 때문입니다. 순열과 조합의 수는 가까운 적이 없습니다. 순열의 수는 조합의 수에 r!을 곱한 값이고, 그 r!은 고른 r개를 배열하는 방법의 수입니다. 이 페이지가 두 행을 함께 인쇄하는 이유는 그 인수를 짐작하지 않게 하기 위해서입니다. r = 3이면 6이고, r = 5이면 120입니다.
- 계산기의 nCr은 무슨 뜻인가요?
- nCr은 계산기의 조합 기능입니다. n은 통의 크기, r은 고르는 개수이고, 결과는 순서를 무시하고 고르는 방법의 수입니다. 이 페이지가 조합 행에 인쇄하는 수와 같습니다. 짝을 이루는 키인 nPr은 순서를 센 순열의 수이고 아래 행에 있습니다. 어떤 문제가 어느 쪽을 원하는지 빨리 아는 방법은 고른 항목 둘을 맞바꿨을 때 결과가 달라지는지 물어보는 것입니다. 달라지지 않으면 답은 nCr입니다.
- 중복을 허용하면 무엇이 바뀌나요?
- 두 공식이 모두 바뀌고, 어떤 입력이 합법인지도 바뀝니다. 중복이 꺼져 있으면 순열의 수는 내려가는 곱이고 조합의 수는 그것을 r!로 나눈 값입니다. 중복이 켜져 있으면 순열의 수는 그냥 n의 r제곱이고, 조합의 수는 중복집합의 수가 되어 n개에서 r개를 고를 때 C(n + r − 1, r)로 나옵니다. 사람을 잡는 것은 합법성 쪽입니다. 중복이 꺼져 있으면 r이 n보다 큰 일은 아예 할 수 없어 거절되고, 켜져 있으면 맛 세 가지에서 다섯 스쿱을 고르는 것 같은 평범한 요청이 됩니다.
- 왜 큰 입력은 답을 주지 않고 거절하나요?
- 답의 끝자리가 틀리면서 틀려 보이지도 않기 때문입니다. 이 수는 매우 빠르게 자랍니다. 100개에서 50개를 고르면 서른 자리쯤 됩니다. 그리고 컴퓨터가 산술에 쓰는 수는 열여섯 자리 즈음부터 모든 정수를 정확히 담지 못합니다. 그 선을 넘으면 결과는 앞부분이 그럴듯하고 끝부분이 틀린 근처의 수가 되는데, 그 수가 확률이나 보고서에 들어간다면 답이 없는 것보다 나쁩니다. 그래서 이 페이지는 정확히 표현할 수 없는 수에 오류를 던집니다. 1000개를 넘는 통이나 음수에 오류를 던지는 것과 같은 방식입니다.
- 중복 스위치가 복원 추출을 뜻하나요?
- 카드 덱에서 쓰는 뜻으로는 아닙니다. 이 스위치는 같은 항목을 두 번 이상 고를 수 있다는 것만 말하며, 독립적인 선택의 통에서는 그것이 복원 추출이 주는 것과 같습니다. 카드 문제에서는 카드가 빠져나가면서 통도 줄어들고, 위의 수들은 이미 중복 없는 공식의 내려가는 곱을 통해 그것을 반영하고 있습니다. 다섯 장 패는 C(52,5)이지 52의 다섯 제곱이 아닙니다. 그러므로 이 스위치는 반복이 허용되는지에 관한 것이고, 통이 줄어드는 일은 스위치가 아니라 공식이 처리합니다.
- 계산기 아래에 조견표가 없는 이유는 무엇인가요?
- 표가 패널과 어긋날 수밖에 없기 때문입니다. 이런 페이지에 어울릴 표는 한쪽에 n을, 다른 쪽에 r을 늘어놓은 격자입니다. 그런데 패널의 답은 여러분이 입력한 n과 r로 계산되므로 고정된 격자는 같은 입력에 다른 수를 보여 주게 됩니다. 이 사이트에서 참조표를 싣는 페이지는 그 표가 입력의 계산이 아니라 고정된 값 집합, 예컨대 분류 경계나 표준 척도를 서술하는 페이지입니다. 여기서는 패널의 두 행이 답이고, 키를 누를 때마다 함께 움직입니다.
참고 문헌
- Combination — from Wolfram MathWorld — 집합에서 순서 없는 결과를 고르는 방법의 수이며, 이항계수라고도 하고 n choose k로 읽습니다 — Wolfram MathWorld
- Permutation — from Wolfram MathWorld — 순서 있는 목록의 원소를 재배열한 것이며, 주어진 크기의 집합에 대해 그 수를 셉니다 — Wolfram MathWorld
- Multichoose — from Wolfram MathWorld — 주어진 기호 수 위에서 주어진 길이의 중복집합의 수이며, 이 페이지가 전환하는 중복 허용 조합의 수입니다 — Wolfram MathWorld