코세라 7

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

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

[이산수학] 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..

[이산수학] Mathematical Thinking in computer Science 2주차

예시를 찾는 방법 문제) Magic Squares : 가로 세로 대각선의 합이 같음 1~n^2까지 해설) 범위를 좁히기 - 1~9까지 더하고 3으로 나눈 수가 각 줄의 합이 됨(15) 가운데 숫자는 15/3=5 줄의 합이 될 수 있는 조합을 확인해 문제를 해결한다. 문제) Multiplicative Magic Squares : 만약 곱이라면? → 2^x+y = 2^x * 2^y 활용 문제) 100으로 시작하고 9127로 나누어지는 6자리숫자 찾기 문제) 7/13 플로린 코인으로 1플로린, 2플로린 만들기 문제) Paths in a Graph 최적성 Optimality a가 최적이라는 사실에 대한 증명 1. Existential statement : a를 달성하는 방법이 존재한다. 2. Universal ..

[이산수학] Mathematical Thinking in computer Science 1주차

증명(proof) 수학자에게 증명이란 기본 도구이지만 프로그래머에겐 더 의심 많은 것이다. 증명이란 다른 사람들에게 것을 사용하기 위한 준비가 되었음을 확신하게 하는 논쟁이다. 어떻게 증명을 이해하고 발견하고 설명하고 즐길지 공부할 예정이다. 문제) 88체스판을 12 타일로 채우기 (비는 칸과 겹치는 칸 없도록) → 타일채우기가 불가한 경우를 증명해보자 코너 1칸만 잘릴 경우 항상 1칸이 남는다. 8*8-1=63 (홀수) → 불가능함을 증명할 수 있음 서로 대각선에 있는 코너 2칸이 잘린 경우 2칸이 남는 경우가 생긴다. → 체스보드의 같은 색이 사라질 경우에는 타일 채우기가 불가능함.(1*2 타일에서 검정, 흰색이 하나의 짝이 되므로) 정리 → 대각선 두 코너가 없는 88 체스보드는 12 도미노로 채워..

[이직기록] 2023년 하반기 개발 공부 계획 수정

그간 포스팅이 뜸했다. 마음의 정화를 위해 8월 중순부터 여행을 잔뜩 다녀왔다. 제주도 여행과 부산 여행을 통해 마음이 조금이나마 가벼워졌다. 이제 9월, 다시 달릴 시간. 이산수학 강의를 듣다가 이상한 부분들을 발견했다. 강의 앞뒤가 잘려 있어 숙제를 못 듣거나 ppt에 빠진 내용이 있었던 것. 그래서 조금 더 최신 자료를 이용하고자 coursera를 검색했다. 내가 선택한 과정은 Introduction to Discrete Mathematics for Computer Science이다. 이 강의에는 5개의 강좌가 포함되어 있다. 1. Mathematical Thinking in Computer Science (6주) 2. Combinatorics and Probability (6주) 3. Introd..

이직 기록 2023.09.02