순열(Permutation) 과 조합(combination)

Download Report

Transcript 순열(Permutation) 과 조합(combination)

순열(Permutations) 과 조합(combinations)
 세기(Counting) 방법
 순열(Permutations)
 조합(Combinations)
 중복 순열(Permutation with repetition)
 중복 조합(Combination with repetition)
 비둘기집의 원리(pigeonhole principle)
세기(Counting)
 세기(counting) 방법
(1) 순서(order)를 고려하던지 또는 고려하지 않던지
(2) 반복(repetition)을 허락하던지 또는 허락하지 않던지
 반복(X), 순서(O) 순열
 반복(X), 순서(X) 조합
 반복(O), 순서(O) 중복 순열
 반복(O), 순서(X) 중복 조합
순열 (Permutations)
순열 (Permutation)
A permutation of a set S of objects is a sequence containing each
object once.
(객체들의 집합 S에 대한 순열이란 해당 객체들이 한번씩 나오는(객체들을 한번씩 포함
하는) 시퀀스를 의미한다.)
r - 순열(r-permutation)
An ordered arrangement of r distinct elements of S is called an rpermutation.
(집합 S에 포함된 r개의 원소들을 순서대로 나열하는 방법을 r-순열이라 한다.)
원소 n 개를 갖는 집합에서 중복을 허용하지 않고 순서대로 r 개의 원소를 선
택하는 방법  P (n, r)로 표시
순열(계속)
The number of r-permutations of a set with n=|S| elements is (n
개 중 r개를 선택하여 나열하는 방법은)
n!
P(n, r )  n(n  1)(n  r  1) 
(n  r )!
[풀이]
첫 번째 원소를 선택하는 경우의 수 : n 개
두 번째 원소를 선택하는 경우의 수 : (n-1)개
(중복이 허용되지 않으므로 첫 번째 선택된 원소 제외)
r 번째 원소를 선택하는 경우의 수 : (n-r+1)개
따라서 곱셈법칙에 의해
n!
P(n, r )  n(n  1)...(n  r  1) 
(n  r )!
가 성립한다.
Permutation Examples (1/2)
예제 1(경품을 탑시다..):
100명이 참여한 경품 행사에서, 1등, 2등, 3등을 한 명씩 선발하는 방법
은 모두 몇 가지 인가?
• 3등을 선발하는 방법 = 100가지
• 2등을 선발하는 방법 = 99가지
• 1등을 선발하는 방법 = 98가지
• 결국, 100 x 99 x 88 = 970,220가지 이다.
순열을 활용하면….
• 100명 중에서 세 명을 뽑아서 순서대로 나열하는 방법…
• 결국, P(100,3) = 970,220가지 이다.
Permutation Examples (2/2)
예제 2(외판원 문제):
외판원이 8개의 도시를 방문해야 한다. 출발 도시는 춘천으로 정해져 있
다고 할 때, 이들 도시를 방문하는 순서의 가지 수는?
• 첫 번째 도시 선택하는 방법 = 7가지
• 두 번째 도시 선택하는 방법 = 6가지
• …
• 결국, 7 x 6 x 5 x 4 x 3 x 2 x 1 = 7! = 5,040가지 이다.
순열을 활용하면….
• 한 개는 이미 결정되어 있으므로, 7개의 도시에서 7개 모두를 선택하
여 순서대로 나열하는 방법의 수는…
• 결국, P(7,7) = 7! = 5,040가지 이다.
조합(Combinations)
r -조합(r-combination)
An r-combination of elements of a set S is simply a
subset TS with r members, |T|=r.
(집합 S의 r-조합이란, r개의 원소를 가지는 S의 부분집합 T의 개수이다.)
(집합 S에서 r개의 원소(순서 무관)를 선택하는 방법의 개수이다.)
원소 n 개를 갖는 집합에서 중복을 허용하지 않고 순서에 상관없이 r
개의 원소를 선택하는 방법 
C (n, r )
로 표시
The number of r-combinations of a set with n=|S|
elements is
(n개 원소를 갖는 집합 S에 대한 r-조합의 개수는)
P(n, r )  C(n, r )  P(r , r )
n!
 n  P(n, r ) n !/(n  r )!
C (n , r )    


P
(
r
,
r
)
r
!
r !(n  r )!
r
조합(계속)
Note that C(n,r) = C(n, n−r)
• Because choosing the r members of T is the same thing as choosing
the n−r non-members of T.
•
T에서 r개의 member를 선택하는 방법은 T에서 (n-r)개의 non-member를 선
택하는 방법과 동일하다.
n!
n!
C (n, r ) 

r !(n  r )! (n  r )! r !
n!

 C (n , n  r )
(n  r )!(n  (n  r ))!
Combination Examples (1/2)
예제 3(선수를 뽑읍시다):
10명으로 구성된 팀에서 경기에 나갈 선수 5명을 선발하는 방법은 모두
몇 가지인가?
• 10명 중에서 5명을 선발하되, 5명의 순서는 고려할 필요가 없으므로,
• 10개의 원소 집합에서 5-조합의 수를 구하는 문제임
C(10, 5) 
10!
10!

 252
5!(10  5)! 5! 5!
• 결국, 252가지 이다.
Combination Examples (2/2)
예제 4(비트 문자열 문제):
길이 10인 비트 문자열에서 1을 정확히 5개 포함하는 가능한 문자열의
개수는 몇 개인가?
• 일반화  길이 n인 문자열에서 1을 r개 포함하는 문자열 개수는?
• 각 비트 위치의 집합을 S = {1, 2, 3, …, n}이라 하면, 이 문제는 n개 원
소를 가지는 집합 S에서 r개의 원소를 선택하는 방법으로 볼 수 있다.
• 결국, C(n, r)로 답을 구할 수 있게 된다.
• 상기 문제의 경우, n = 10, r = 5이므로, C(10, 5) = 252개이다.
중복순열(permutation with repetition)
 r-중복순열
 원소 n 개를 갖는 집합에서 r 개의 원소를 중복을 허용하여 순서대로
선택하는 방법
 r-중복순열의 개수
 원소 n 개를 갖는 집합에서 r -중복순열의 경우의 수는
nr
 Π(n, r ) 로 표시
[증명]
r -중복순열은 n 개의 원소 중 r 개를 차례대로 나열하는 방
법을 말한다.
r 개를 차례대로 나열하는 것은 1단계부터 r 단계 순으로 단
계별 나열하는 것을 의미
1 단계 올 수 있는 원소의 개수 : n 개
2 단계 올 수 있는 원소의 개수 : n 개 (중복이 허용되므로)
∴ 곱셈법칙에 의해 r 개의 원소를 나열하는 경우의 수
nr
이다.
중복 순열
 예제 5
한 바이트로 만들 수 있는 이진수의 개수는 몇 개인가?
[풀이]
한 바이트는 8 비트므로 총 8 단계로 0 또는 1의 수를 나열
하는 것으로 풀이할 수 있다.
비트 단계별로 가질 수 있는 수는 각각 2 가지므로
28=256
그러므로 총 256 가지의 수를 만들 수 있다.
중복조합(combination with repetition)
 r-중복조합
원소 n 개를 갖는 집합에서 r 개의 원소를 중복을 허용하여
순서에 상관없이 선택하는 방법
 예제 6
 세개의 문자 A,B,C에서 중복을 허용하여 5개를 뽑는 경우의 수
 A A A A A, B B B B B, C C C C C, A B B B B, A A B B B
 A A A B B, A A A A B, A C C C C, A A C C C, A A A C C
 A A A A C, B C C C C, B B C C C, B B B C C, B B B B C
 A B B C C, A A B C C, A A B B C, A A A B C, A B B B C, A B C C C
H (3,5)  C (3  5  1,3  1)
7!
 C (7,2) 
 21
(7  2)!2!
중복조합(combination with repetition)
 r-중복조합의 개수
원소 n 개를 갖는 집합에서 r -중복조합의 경우의 수 다음과
같다.
C (n  r  1, r )  C (n  r  1, n  1)
[풀이]
n 개의 원소에서 r -중복조합을 구하는 문제는 r 개의 V와
n-1 개의 /를 r + n -1 개의 빈칸에 넣는 문제와 같다.
즉, r + n -1 개에서 r 개 또는 n-1 개를 선택하는 문제다.
그러므로
C (n  r  1, r )  C (n  r  1, n  1)
가 성립한다.
중복조합
 중복조합 nHr
 원소 n 개를 갖는 집합에서 r 개의 원소들을 순서에 상관없이 나열
 r 개의 빈칸에 중복을 허용하여 n개의 원소를 넣는 문제
 n-1 개의 칸막이를 두고 n 가지 경우를 임의의 순서로 배열
Ex) 예제 6 에서 칸막이 기호를 /로 나타낸다면,
 "A B B B C“  "A / B B B / C“, "A B C C C“  "A / B / C C C"
칸막이 사이에 아무 원소도 없을 수도 있음
 "A A A C C“  "A A A / / C C“, "B B C C C“  "/ B B / C C C"
 문제 변형
 문자가 들어갈 r 개의 빈칸과 n-1 개의 칸막이가 들어갈 빈칸을 모두
합한 n+r-1 개의 빈칸에서, 칸막이가 들어갈 n-1개의 칸을 선택
– nHr은 n+r-1Cn-1이 된다.
– nCr = nCn-r이므로 nHr= n+r-1Cr이 된다.
H (n, r )  C (n  r  1, r )  C (n  r  1, n  1)
중복조합
 [예제 7]
집합 S = {1, 2, 3, 4}에서 3 개의 원소를 선택하는 중복조합
의 수는 얼마인가?
[풀이]
n = 4, r = 3이므로
6!
C ( 4  3  1,3) 
 20
3!3!
이 된다.
비둘기집 원리 (pigeonhole principle)
 비둘기집의 원리
 n은 자연수이고, 만약 (n+1) 마리의 비둘기와 n 개의 비둘기집이
있다면, 반드시 어떤 비둘기집에는 두 마리 이상의 비둘기가 있다
 위의 원리를 함수의 형식으로 표현하면
 X, Y 는 공집합이 아닌 두 집합이고,
 원소의 개수가 각각 X는 (n+1) 개, Y 는 n 개
 함수 F : X →Y는 단사함수가 아니다.
비둘기집 원리
 [예제8]
 한 변의 길이가 2 인 정사각형에 5 개의 점이 있으면, 두 점 사이의
거리가 √2 보다 작은 두 점이 반드시 존재한다.
[풀이]
 한 변의 길이가 1인 네 개의 작은 정사각형으로 자르면
 비둘기집 원리에 의하여 5개의 점중에서 반드시 어떤 2 점은 같은 작은
정사각형 안에 있게 된다.
 따라서, 그러한 두 점은 두 점 사이의 거리가 √2 보다 작게 된다.
비둘기집 원리
 [예제 9] 임의의 양의 정수 열한 개 중에는 두 수의 차가 10의
배수가 되는 짝이 적어도 한 쌍이 있다.
 풀이.
임의의 양의 정수의 1의 자리 수는 0부터 9까지 열까지
( 비둘기 집 의 수 ) 뿐이므로 열 한 개 (비둘기 수)의 양의 정수
중에는 1의 자리의 수가 같은것이 적어도 한 쌍 있다. 이 때 이 두
수의 차는 10의 배수이다.
 [예제 10] 8 명의 학생이 모여 있다. 그러면 생일의 요일이 같은
학생들이 반드시 있다.
 풀이. 8 명의 학생이 있고, 요일은 모두 7 개이므로, 비둘기집
원리에 의하여 생일의 요일이 같은 학생들이 반드시 있다.
비둘기집 원리의 일반화
If N objects are assigned to k places, then at least one
place must be assigned at least N/k objects.
(N개의 객체가 k개 장소에 배정된다면, 적어도 한 곳은 N/k개 객체를 가진다.)
E.g., there are N=280 students in this class.
There are k=52 weeks in the year.
(학생 280명)
(한 해는 52주)
• Therefore, there must be at least 1 week during which at least
280/52= 5.38=6 students in the class have a birthday.
• (일반화된 비둘기 집 원리에 의해서)
최소 6명의 학생은 같은 주에 생일이 들어 있게 된다.
예제 11(생일이 같은 달…):
100명 중에서 적어도 몇 명은 같은 달에 태어났다고 볼 수 있는가?
• 100/12 = 9명
• 적어도 9명은 태어난 달이 같게 된다.
연습 문제
 Ex1. 15명의 회원을 가진 어떤 모임이 있다. 이 때, 회장, 부회장, 총무,
감사를 각각 선출하려고 한다. 가능한 경우의 수는 모두 몇 가지인가 ?
 Ex2. 한신대의 교양과정에는 5 개의 과학 교과목과 4 개의 역사
교과목이 있다. 은지는 이번 학기에 2 개의 과학 교과목과 2 개의 역사
교과목을 선택하려고 한다. 이 때 은지가 선택할 수 있는 과목의 경우의
수는?
연습 문제
 Ex3. 세 자리 영문자와 세자리 숫자로 구성된 자동차 번호판이 있을
때, 몇 가지 다른 경우가 가능한가?
 Ex4. 서로 다른 일곱 개의 공 두 개는 노란색, 나머지는 파란색을
칠하려고 한다. 몇 가지 다른 경우가 존재하는가?
 Ex5. 10권의 서로 다른 책을 병희에게 5권, 현호에게 3권, 문구에게
2권을 주는 경우의 수는?
연습 문제
 Ex6. 다섯 개의 의자와 네 가지의 색이 있을 때, 이 의자들을 칠하는
경우의 수?
 Ex7. 열 개의 똑같은 사과를 다섯 명의 어린이에게 나누어주는 방법의
수는?
 Ex8. 영어 단어 MISSISSIPI의 모든 영어 철자를 사용하여 만들 수 있는
새로운 단어의 개수를 구하여 보시오.