순열과 조합 - 이항분포
순열 (Permutation)은 순서 있는 경우의 수를 찾는 방법으로 다음과 같은 공식으로 나타낼 수 있습니다.
순서가 있을때 사용하는 공식으로 아래와 같이 순서가 나올 수 있는 경우의 수에서는 순열 공식을 사용해서 값을 구하면 쉽게 구할 수 있습니다.
ex) 숫자 1,2,3,4로 3자리 열쇠 조합을 몇개 만들어 낼 수 있을까요?
4P3 = 4! / (4-3)! = 4*3*2 = 24
조합(Combination)은 순서가 필요하지 않을때 경우의 수를 찾는 방법으로 아래와 같은 공식으로 나타낼 수 있습니다.
ex) 소위원회를 구성하려면 5명으로 구성된 위원회에서 3명의 위원을 선택해야 합니다. 소위원회를 구성할 수 있는 경우의 수는 얼마일까요.
5C3 = 5!/ 3!(5-3)! = 5*4*3*2*1/3*2*1*2*1 = 5*4 / 2*1 = 10
이항분포는 베르누이의 시행에서의 성공(p)과 실패(1-p)의 확률을 나타내는 것으로 조합 공식을 사용하여 경우의 수를 나타낼 수 있습니다. 공식은 아래와 같습니다.
이항 분포 공식은 조합 공식과 베르누이의 시행의 조합이라고 볼 수 있습니다.
ex) 전구(lightbulb)의 결함률(defective)이 0.1프로라고 한다면 a) 전구 4개의 결함률은 얼마인가? b) 전구 3개 중에서 2개의 결함률은 얼마인가? c) 전구 8개 중에서 3개의 결함률은 얼마인가?
a) 0.1*0.1*0.1*0.1=0.1^4= 0.0001
b) 조합으로 본다면 0.1*0.1*0.9, 0.1*0.9*0.1, 0.9*0.1*0.1 이렇게 3가지의 경우가 나올수 있습니다. 0.009 ^ 3= 0.027
c) 구하고자 하는 베르누이 시행에서 성공에 대한 확률(여기서는 결함률)을 보면 0.1^3입니다.
0.1^3 * 0.9 ^(8-3) = -0.1^3* 0.9^5 =0.00059049
그리고, 조합에 대한 계산인 8개중에 3개의 결함률은 8C3 = 8!/3! 5! = 56
전체에 대한 이항공식을 적용하면 56*0.00059049 = 0.03306744
이렇게 계산될 수 있습니다.
파이썬으로 라이브러리를 활용하여 순열과 조합을 프로그래밍할 수 있습니다.
itertools 라이브러리를 사용해서 permutioans함수를 사용하여 순열을 구할 수 있습니다.
from itertools import permutations
결과)
itertools 라이브러리를 사용해서 combinations함수를 사용하여 조합을 구할 수 있습니다.
('A', 'B')
('A', 'C')
('B', 'C')
위 결과를 다시 바꿔서 순열로 나타낸 예제는 아래와 같습니다.
위 예제를 보면 파이썬 리스트 ['A', 'B', 'C'] 를 조합과 순열로 계산했을때 나오는 결과가 다른 부분이 나타납니다.
파이썬 라이브러리를 이용하여 순열과 조합의 차이점에 대해 이해하기를 바라며 이항분포에 대한 이항공식에 대해서도 학습을 하였으면 합니다.
https://angeloyeo.github.io/2021/04/23/binomial_distribution.html
이항 분포 - 공돌이의 수학정리노트
angeloyeo.github.io
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pss2072&logNo=220825832581
[확률과 통계/순열과 조합] 순열과 조합 기본 개념 정리하기!
[확률과 통계/순열과 조합] 순열과 조합 기본 개념 정리하기! 지금 2학기 중간고사 시험기간이죠? 끝난 학...
blog.naver.com