개발자되기 5

[이산수학] Combinatorics and Probability 조합론과 확률 수료증

코세라에서 받은 두번째 수료증! 조합론과 확률은 앞서 공부한 수학적사고보다 훨씬 어려웠다. 고등학생 때 배운 내용들을 다시 복습하기 위해 수학의 정석을 꺼냈다. 고등학생 때 배우지 않은 내용들을 새로 학습하느라 애먹었다. 이제 다음 강의는 3개 남았다. 하나하나 완료할 때마다 뿌듯한 느낌이 든다. 앞으로 남은 강의를 모두 이수하면 알고리즘의 기초는 쌓을 수 있는 걸까? 혹시 내 공부의 방향이 잘못된 것은 아닐까 두려운 마음도 있지만 언젠가 개발자가 되었을 때 컴퓨터공학과 전공생처럼 이산수학을 공부했다는 기록이 있는, 그런 지식이 있는 개발자가 되었으면 좋겠다.

[이산수학] Combinatorics and Probability 조합론과 확률 5주차

학습 목표 - 선형성을 이용하여 기댓값을 계산하기 - 기댓값을 이용하여 확률을 추측하기 - 확률 실험에서의 확률 변수 구별하기 - 확률 변수의 기댓값 계산하기 확률 변수와 기댓값 확률 변수 : 무작위 실험의 수치적 특성을 연구하기 위한 수학적 모델 평균 from statistics import mean print(mean([1, 2, 3, 4, 5, 6])) print(mean([7, 7, 7])) print(mean([9.5, 10.5])) 평균은 최댓값보다 작거나 같고 최솟값보다 크거나 같다. 기댓값 기댓값의 선형성 마르코프 부등식 coursera Introduction to Discrete Mathematics for Computer Science 과정 중 Combinatorics and Proba..

[이산수학] Combinatorics and Probability 조합론과 확률 4주차

학습목표 주어진 확률에 대한 확률 공간 제안하기 등확률적인 결과를 가지고 단순한 경우에 확률 계산하기 확률적 모델이 실제 상황에 적합한지 판단하기 단순 예제에서 조건부 확률 값 찾기 확률론 동전 던지기는 예측할 수가 없고 반복적으로 실험했을 때 0과 1이 같은 빈도로 나옴 갈톤보드(이항분포 실험기) : 가운데로 구슬을 넣었을 때 왼쪽 오른쪽 중 한 군데로 감 Z=(X+Y)/2 -> 가운데에 더 많은 구슬이 떨어짐 순수과학에서는 모델에 의해 실제 동전을 대상으로 하지만 수학에서는 모델의 결과이다. 확률공간 : 모든 결과 이벤트 : 몇 개의 결과(유리한) 동일하지 않은 결과 실제 보다 더 많은 시도를 해서 나온 것이 동일한 결과이다 전체 확률을 더하면 1이 되어야 한다. 두 상자에 흰 공 검은 공 각 15개..

[이산수학] Combinatorics and Probability 조합론과 확률 3주차

학습목표 - 문제를 계산할 때 표준 조합 세팅 사용하기 - 카운팅 문제를 표준 조합 세팅으로 분류하기 - 표준 조합 세팅을 통한 개체 수 세기 - 여러 조합 세팅을 결합해 계산 문제 해결하기 복습 () parentheses(소괄호) 순서 있는 집합{} braces(중괄호) 순서 없는 집합튜플 : 순서 있는 선택, 중복 가능 from itertools import product for t in product('abc', repeat=2): print(*t, sep='', end=' ') 순열 permutation : 순서 있는 선택, 중복 불가능 n!/(n-k)! from itertools import permutations for t in permutations('abc', 2): print(*t, se..

[이산수학] Combinatorics and Probability 조합론과 확률 2주차

Combination 조합 토너먼트 : 5개의 팀이 있을 경우 각 팀은 4번의 경기를 치룬다. 즉 5*4번의 경기를 치룬다. 겹치는 경우를 제외해준다. n(n-1)/2 게임의 종류 1. 첫번째 팀 포함 게임수 n-1 / 2. 첫 번째 팀 빼고 T(n) -> T(n)=(n-1)+T(n-1)=(n-1)+(n-2)+....+2+1+0 from itertools import combinations for c in combinations("abcdefgh", 2): print("".join(c)) 집합 S에 대하여 k-조합은 k크기의 S의 부분 집합이다. 파스칼의 삼각형 C=dict() for n in range(8) C[n, 0]=1 C[n, n]=1 for k in range(1,n: C[n, k]=C[n-1..