• 검색 결과가 없습니다.

 9장

N/A
N/A
Protected

Academic year: 2022

Share " 9장"

Copied!
21
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

 9장

순열,이산적확률,재귀적관계

(2)

• 경우의 수(number of cases)

• 일어날 수 있는 모든 사건의 수

• 트리를 이용하여 구하는 방법과 표를 이용하여 구하는 방법이 있음

• 예제 1 : 두 개의 주사위 A, B를 동시에 던졌을 때 주사의 눈의 합이 홀수가 나오는 경우의 수를 구하라.

1. 경우의 수

경우의 수

A

B

1

1 2 3 4 5 6

A

B

2

1 2 3 4 5 6

A

B

3

1 2 3 4 5 6

A

B

4

1 2 3 4 5 6

A

B

5

1 2 3 4 5 6

A

B

6

1 2 3 4 5 6 6ⅹ3=18

(3)

1. 경우의 수

• 경우의 수 법칙

• 합의 법칙(rule of sum) : 두 사건 A와 B가 서로 소일 때(즉, A∩B=Ø) 사건 A 또는 B가 일어날 경우의 수는 두 사건이 각각 일 어날 경우의 수를 n(A)=n, n(B)=m이라 할 때 n+m임

곱의 법칙(rule of product) : 두 사건 A와 B가 서로 소일 때(즉,

A∩B=Ø) 사건 A와 B가 동시에 일어날 경우의 수는 두 사건이 각 각 일어날 경우의 수를 n(A)=n, n(B)=m이라 할 때 nⅹm임

• 예제 2 : A 지역과 B 지역 사이에 길이 3개 있고, B 지역과 C 지 역 사이에 길이 2개 있다.

• A 지역에서 출발하여 반드시 B 지역을 거쳐 C 지역으로 가 는 길의 경우의 수를 구하라.

• A→B : 3, B→C : 2이므로 A→B→C는 3ⅹ2=

6

• A 지역에서 출발하여 반드시 B 지역을 거쳐 C 지역으로 갔 다가 C 지역에서 다시 B 지역을 거쳐 A 지역으로 돌아오는 길의 경우의 수를 구하라.

• A→B : 3, B→C : 2이므로 A→B→C는 3ⅹ2=6이고, C→B : 2, B→A : 3이므로 C→B→A는 2ⅹ3=6이고, 이 둘을 곱하므로 6 A→B : 3, B→C : 2이므로 A→B→C는 6ⅹ6=36

(4)

1. 경우의 수

• 예제 3 : 어떤 시스템에서 한 자리 또는 두 자리로 된 ID를 만들 수 있다. 이 때 첫 자리는 대소문자 구분 없이 무조건 영문자여야 하고, 두 번째 자리는 대소문자 구분 없이 영문자 또는 숫자여야 한다. 이 시스템에서 만들 수 있는 ID의 총 개수는?

• 한 자리 ID : 첫 자리는 대소 구분 없이 영문자이므로 26개

• 두 자리 ID : 첫 자리는 대소 구분 없이 영문자이므로 26개, 두 번째 자리는 대소 구분 없이 영문자 26개 또는 숫자 10개 이므로 36개, 즉 26개ⅹ36개=936개

• 한 자리 또는 두 자리 ID의 개수는 26개+936개=

962개

• 예제 4 : 영문 대문자로 구성된 5자리 ID를 만들려고 한다. 첫 문자 또는 마지막 문자가 A인 경우의 수는?

• A가 첫 문자 또는 마지막 문자로만 사용된 경우 : A****로 구성되는 ID는 26개ⅹ26개ⅹ26개ⅹ26개=456,976개, ****A 로 구성되는 ID는 26개ⅹ26개ⅹ26개ⅹ26개=456,976개

• A가 첫 문자와 마지막 문자 모두로 사용된 경우 : A***A로 구성되는 ID는 26개ⅹ26개ⅹ26개=17,576개

• 456,976개+456,976개+17,576개=

931,528개

(5)

2. 순열

• 순열(permutation)

• 서로 다른 원소들을 순서를 고려하여 나열하는 것을 말하는데 서로 다른 n개의 원소를 한 줄로 배열하는 순열의 수는 nⅹ(n-1)ⅹ(n- 2)ⅹ…ⅹ3ⅹ2ⅹ1이고, 통상 n!(팩토리알)이라고 함

• 서로 다른 n개의 원소 중에서 r개를 선택하는 순열의 수는 nⅹ(n- 1)ⅹ(n-2)ⅹ…ⅹ(n-r+1), (단, 0<r≤n) 이고, 이를 nPr로 나타냄 순열

(6)

2. 순열

• 예제 1 : 학생 6명 중에 3명을 선택하여 줄을 세우는 경우의 수 를 구하라.

6P3이므로 n=6, r=3으로 놓고 계산하면 6ⅹ(6-1)ⅹ(6- 3+1)=6ⅹ5ⅹ4=120

• 예제 2 : 서로 다른 4개의 문자 A, B, C, D를 이용해서 만들 수 있는 문자열에 대해 사전적 순서로 BDAC는 몇 번째 순서인가?

• A로 시작하는 문자열은 A***이므로 A와 관계없이 B, C, D 세 개의 문자열을 나열하는 방법으로 3P3=3!=3ⅹ2ⅹ1=6

• B로 시작하고 그 다음에 A가 나오는 문자열은 BA**이므로 B, A와 관계없이 C, D 두 개의 문자열을 나열하는 방법으로

2P2=2!=2ⅹ1=2

• 문자는 1개씩이므로 B로 시작하고 그 뒤에 B가 올 수 없음

• B로 시작하고 그 다음에 C가 나오는 문자열은 BC**이므로 B, C와 관계없이 A, D 두 개의 문자열을 나열하는 방법으로

2P2=2!=2ⅹ1=2

• B로 시작하고, 그 뒤에 D가 오는 문자열 중에는 BDAC가 제일 앞이므로 6+2+2+1=11번째 문자열임

(7)

2. 순열

B

y

(8)

2. 순열

• 중복 순열(permutation with repetition)

• 서로 다른 n개의 원소 중 중복을 허용하여 r개를 선택하여 나열 하는 것으로 다음과 같이 구함

nr=nr

• 예제 5 : 0부터 9까지 총 10개의 숫자가 3열로 나열되어 있고, 그 중 각 줄에서 하나씩의 숫자를 선택하여 잠그는 자물쇠에서 만 들 수 있는 비밀번호의 개수는?

nr=nr=103=103=1,000

• 예제 6 : A, B, C, D, E 5개의 문자 중에서 3개의 문자를 골라 나 열할 때 (1) 중복을 허락하지 않을 때와 (2) 중복을 허락할 때 각 각 몇 가지 경우가 나오는가?

• (1) 중복을 허락하지 않을 때 : 5P3이므로 5ⅹ4ⅹ3=60

• (2) 중복을 허락할 때 : 53=53=125

• 예제 7 : 숫자의 중복을 허락하면서 0, 1, 2, 3, 4로 만 단위의 숫 자를 만든다면 몇 가지 경우가 나오는가?

• 만의 자리에는 1, 2, 3, 4 등 4개만 올 수 있고, 천의 자리 이하는 0, 1, 2, 3, 4 모두 올 수 있으므로 4ⅹ 54=54=2,500

(9)

3. 조합

• 조합(combination)

• 서로 다른 n개의 원소 중에서 순서를 고려하지 않고 r개를 선택하는 것 조합

(10)

3. 조합

(11)

3. 조합

• 이항 계수(binomial coefficient)

• (a+b)n을 전개해서 나오는 식을 이항 정리(binomial theorem)라 하 고, 이 때 nCr을 이항 계수라고 함

• 예제 4

• (a+b)3=a3+3a2b+3ab2+b3

• (a+b)4=1a4+4a3b+6a2b2+4ab3+1b4

• n=4, r=0일 때 : 4C0=1

• n=4, r=1일 때 : 4C1=4

• n=4, r=2일 때 : 4C2=6

• n=4, r=3일 때 : 4C3=4

• n=4, r=4일 때 : 4C4=1 이항 계수

(12)

3. 조합

• 파스칼의 삼각형(Pascal’s triangle)

• 이항 정리에서 이항 계수를 만들어주는 다음 식

n-1Cr-1+n-1Cr=nCr

(a+b)

0

=1

(a+b)

1

=a+b

(a+b)

2

=a

2

+2ab+b

2

(a+b)

3

=a

3

+3a

2

b+3ab

2

+b

3

(a+b)

4

=a

4

+4a

3

b+6a

2

b

2

+4ab

3

+b

4

(a+b)

5

=a

5

+5a

4

b+10a

3

b

2

+10a

2

b

3

+5ab

4

+b

5

(13)

4. 이산적 확률과 통계

확률

(14)

4. 이산적 확률과 통계

(15)

4. 이산적 확률과 통계

(16)

5. 비둘기 집 원리

• 비둘기 집 원리(pigeonhole principle)

• n개의 비둘기 집과 n+1 마리의 비둘기가 있다면 n개의 비둘기 집 중 어딘가에는 2마리 이상의 비둘기가 들어있다는 원리로, 19세기 말 프랑스의 수학자 디리클레(Peter Gustav Lejeune Dirichlet)에 의 해 제안된 원리

• 예 : 서울의 인구를 1,000만 명으로 봤을 때 머리카락의 수가 같은 사람은 얼마나 될 지 추정하라.

• 인간의 머리카락 수는 10만~15만개라고 하는데 계산하기 용 이하게 10만개라고 가정하고 머리카락의 수 10만개를 비둘기 집의 수로, 서울의 인구 1,000만 명을 비둘기의 수로 가정함

• 머리카락의 수가 1개인 경우부터 10만개인 경우까지를 비둘기 집 번호 1번부터 10만 번까지로 할당

• 여기에 서울시의 인구 1,000만 명을 한 명씩 할당하면 한 번호 에 반드시 100명은 할당되기 때문에 최소한 100명은 머리카락 의 수가 같다고 추정됨

비둘기 집 원리

(17)

6. 재귀적 정의

• 재귀적 정의(recursive definition)

• 첫 번째 요소가 정의되고, n+1번째 요소는 n번째 요소와 그 앞의 요소들로 정의할 수 있을 때 ‘재귀적’이라 말하고, 재귀적인 경우는

재귀적 관계(recursive relation)로 문제를 해결할 수 있음

• 주어진 문제를 원래와 똑같은 개념의 더 작은 문제로 분할할 수 있 고, 가장 작은 문제로 분할한 후 문제를 해결하여 전 단계로 전할 수 있어야 함

• 예를 들어, 팩토리알 계산은 전형적인 재귀적 관계임

• n!=nⅹ(n-1)!

• (n-1)!=(n-1)ⅹ(n-2)!

• (n-2)!=(n-2)ⅹ(n-3)!

• 3!=3ⅹ2!

• 2!=2ⅹ1!(1!=1)

• ‘재귀’는 ‘순환’ 또는 ‘되부름’이라는 이름으로 컴퓨터 프로그램 개 발에 많이 사용되는 기법임

재귀적 관계식

(18)

6. 재귀적 정의

• 예제 1 : f(0)=1, f(n+1)=2f(n)+1로 정의되었을 때 f(1), f(2), f(3), f(4), f(5)의 값을 구하라.

• f(1)=2f(0)+1=2ⅹ1+1=3

• f(2)=2f(1)+1=2ⅹ3+1=7

• f(3)=2f(2)+1=2ⅹ7+1=15

• f(4)=2f(3)+1=2ⅹ15+1=31

• f(5)=2f(4)+1=2ⅹ31+1=63

• 예제 2 : 0!=1, 1!=1일 때 5!을 구하라.

• 5!=5ⅹ4!=5ⅹ4ⅹ3!=5ⅹ4ⅹ3ⅹ2!=5ⅹ4ⅹ3ⅹ2ⅹ1!=

5ⅹ4ⅹ3ⅹ2ⅹ1

int factorial(int n) {

if(n <= 1) return 1;

else

return n*factorial(n-1);

}

(19)

7. 피보나치 수와 하노이 탑

• 피보나치 수(Fibonacci number)

• Fib(0)=0, Fib(1)=1

• Fib(n)=Fib(n-1)+Fib(n-2), n=2, 3, 4, …

• 피보나치 수 : 0, 1, 1, 2, 3, 5, 8, 13, … 피보나치 수

int include<stdio.h>

inf( fib(int n) {

if(n==0) return(0);

else if(n==1) return(1);

else return(fib(n-1)+fib(n-2));

}

int main (void) {

int i, n;

int result;

printf(“구하려는 피보나치 값 입력 : “);

scanf(“%d”, &n);

result=fib(n);

printf(“\nFib(%d)=“, n);

if(n==0 || n==1) printf(“%d\n\n”, result);

else printf(“%d + %d = %d\n\n”, fib(n-2), fib(n-1), result);

}

(20)

7. 피보나치 수와 하노이 탑

• 하노이 탑(Tower of Hanoi)

• 고대 인도의 베나레스라는 지방에 큰 사원이 하나 있었는데 이 사 원에는 다이아몬드 막대가 3개 있고, 그 중 한 막대에 크기가 다른 64개의 순금 원반이 크기가 큰 것부터 아래에서 차곡차곡 쌓여있었 다고 함

• 어느 날 신이 승려들에게 다음과 같은 몇 가지 규칙을 준수하여 순 금 원반을 다른 다이아몬드 막대에 옮기라고 지시함. 이게 다 옮겨지 면 모든 생명체는 먼지처럼 사라지고 세상의 종말이 올 것이라고 말 함

• 순금 원반은 한번에 한 개 씩만 옮겨야 함

• 작은 원반이 큰 원반 밑에 들어갈 수 없음

• 원반이 2개일 때 22-1번, 3개일 때 23-1번, 이런 식으로 추정하면 원반이 64개인 경우는 264-1번 옮겨야 하고, 하나를 옮기는데 1초 걸린다고 했을 때 64개의 원반을 다 옮기는데 264-1초(약 5,845억년) 가 걸림

하노이 탑

(21)

7. 피보나치 수와 하노이 탑

int include<stdio.h>

void hanoi_tower(int n,char from,char tmp,char to) {

if(n==1)

printf(“원반 1을 %c에서 %c로 옮긴다.\n”,from,to);

else {

hanoi_tower(n-1,from,to,tmp)

printf(“원반 %d을 %c에서 %c로 옮긴다.\n”,n,from,to);

hanoi_tower(n-1,tmp,from,to) }

}

int main(void) {

int n;

printf(“구하려는 원반의 개수를 입력하세요.\n”);

scanf(“%d”,&n);

printf(“원반이 %d개 있을 때 하노이 탑의 결과\n\n,n);

hanoi_tower(n,’A’,’B’,’C’);

}

참조

관련 문서

• t-분포는 표준정규분포보다 분산이 크므로 표준 정규분포와 비슷하나 표준정규분포보다 양쪽 꼬 리부분이 두텁고 가운데 부분의 높이가 낮다... 이것이 단점이기

• 연속적으로 변화하는 analog 신호를 이산적(discrete) 디지털 부호로 변환.. 표본화(sampling) : 신호에서 표본값 추출(PAM: Pulse Amplitude

„ 동일한 개념을 측정하려는 서로 다른 여러 문항들이 같은 내용 을 얼마나 유사하게 측정하고 있는가에 대한 지표.. „ 한 변수에 대한 측정도구가 여러 문항 점수의 합으로

시설별 식중독 발생 통계 지역별 식중독 발생 통계 HACCP 부적합 업체 정보. 나

확률과 집합의 용어

구절판에서 음식을 배열하는 모든 방법의 수는 원순열을 이용하여 구할 수 있다 이와 같이 실생활과.. 방법을

[r]

Communication effectiveness lies in the accuracy of facts, statistics, and decisions. • Effective managers are at the center of information / to facilitate task