목 차
1. 곱의 법칙.
2. 합의 법칙
3. 순열(Permutations)
4. 중복 순열 (Permutations with Repetitions or Product)
5. 조합 (Combinations)
6. 중복 조합 (Combinations with Repetitions)
7. 중복된 원소를 갖는 순열(Permutation of Multisets)
8. 원순열(Circular Permutation)
경우의 수는 (말 그대로) 일어날 가능성이 있는 '경우(상황)'의 총 개수.
경우의 수를 계산하는 방법은 상황에 따라 다양.
상호 독립적인 사건(한 사건의 발생이 다른 사건의 발생에 영향을 주지 않는 경우 : ex 동전을 두번 던진다고 가정할 때 첫번째 던짐과 두번째 던짐의 확률은 서로 독립적.)의 경우, 각 사건이 발생할 수 있는 경우의 수를 곱하여 전체 경우의 수를 계산.
ex) 한 자리 수로 이루어진 3자리 수를 만들 때, 각 자리마다 가능한 경우의 수는 10가지 이므로,
총 경우의 수 : 10 x 10 x 10 = 1000가지.
ex) 상의(3종류) × 하의(2종류) = 전체 옷차림 경우 수 3 × 2 = 6.
그리드 서치(grid search) : 하이퍼파라미터의 각 선택지들을 곱해서 총 실험 수를 계산.
데이터 증강 단계(랜덤 회전 5가지 × 색상 변환 4가지 × 크롭 3가지) → 총 경우 수 = 5×4×3.
ex) A 이벤트(3가지) 또는 B 이벤트(4가지)를 택하는 경우 → 전체 : 3+4=7
분류 문제에서 사건 A 또는 B의 확률 계산(단, 배타성 확인 필요).
파이프라인에서 'A 방식으로 처리하거나 B 방식으로 처리' 같은 분기(branch) 경우 수 계산.
특정 집합에서 중복을 허용(비복원 추출)하지않고 일부 원소를 선택하여 '순서에 맞게' 나열하는 방법을 다루는 개념.
- 선택된 원소들의 순서가 중요한 경우에 사용.
- 주로 "n 개 중에서 r 개를 선택하여 나열하는 경우의 수"를 계산하는 데 사용.
순서가 중요한 작업(예: 경로 순서, 랭킹)
정렬 알고리즘/복잡도 분석에서 경우의 수 근거
시퀀스 생성(예: 비밀번호/토큰, 순서 있는 이벤트 나열)
특정 집합에서 원소들에 중복을 허용(복원추출)하여 순서에 따라 나열하는 순열.
- 중복순열을 구하는 방법은 간단.
- 각각의 위치에 원소를 선택하고 나열하는 것이므로, 각 위치에 선택 가능한 원소들의 수를 곱하기.
샘플 생성(복원추출 sampling with replacement)
무작위 초기화(여러 파라미터를 중복 선택 가능할 때 경우 수 계산)
문자열/토큰 시퀀스 모델에서 어휘(vocabulary) 크기^시퀀스 길이가 가능한 시퀀스 수의 상한
특정 집합에서 중복을 허용(비복원 추출)하지않고 일부 원소를 선택하여 나열하는 방법으로 순서 없이, 선택된 원소들의 조합에만 관심이 있는 경우에 사용.
- 즉 ab와 ba는 동일한 경우의 수로 취급.
ex) 5명의 학생 중에서 3명을 선택하여 그룹을 만들 때, 가능한 경우의 수는 5 x 4 x 3/(3 x 2 x 1)로 C(5, 3) = 10로 역시 팩토리얼을 이용해 위와 같은 식으로 나타낼 수 있음.
특징 선택(feature selection): 𝑛개의 피처 중 𝑘개 조합 수 계산 → 모델 탐색의 규모 추정
확률(사건의 경우의 수가 동등할 때) — 동전·카드 문제 등에서 표본공간 크기 계산