강의자료 280

[초등 1학년 2학기]시계 보기와 규칙 찾기

참고 문제 - https://ko.khanacademy.org/math/kor-1st-2/xdffa2afcc11cd098:1-2-5#xdffa2afcc11cd098:1-2-5-3 ​ 시각의 쓰임을 알수 있고 몇시와 몇분을 5분 단위로 말하고 나타낼 수 있다. 분은 숫자가 1일때 5분,2일때 10분... 과 같이 읽을 수 있으며~ 시는 숫자가 12 와 1 사이일 때 12시,1과 2 사이일 때 1시와 같이 읽을 수 있는 것을 연습할 수 있다. ​ 작품소개 처음 시작하면 시계에 임의의 시간을 나타내고 현재 시간은 몇시입니까? 라고 묻는다. 몇시인지 맞추면 다음으로 현재시간은 몇분입니까? 라고 묻는다. 정답이라면 정답입니다. 가 출력되고 틀린 경우 현재 시간은 몇시 몇분입니다. 라고 출력 된다. ​ ​ 알고리즘..

[인공지능수학] 표준점수

1. 표준점수란? 데이터가 정규분포를 따른다고 가정하고 각 값이 평균에서 얼마나 떨어져 있는지 표준편차를 사용해 변환한 점수를 표준점수(standard score) 또는 z점수 라고 한다. 예를 들면 다음과 같다. 출생한 아기의 몸무게와 키에 대한 데이터가 있다고 가정해 보자.몸무게와 키가 평균으로부터 얼마만큼 떨어져 있는지 나타내려면 몸무게는 1kg, 키는 5cm 와 같이 다른 단위를 써야 한다.게다가 이런 수치만 보아서는 평균으로부터 몸무게가 더 멀리 떨여져 있는지, 키가 더 멀리 떨어져 있는지 알기 어렵다. 그래서 z점수라는 값을 사용한다. 2. 표준점수(z점수) 구하기 z점수는 평균까지의 거리를 표준편차로 나눈 값이다. 식은 다음과 같다. z점수 = (x - 모집단평균)/모집단의 표준편차 와 같이..

[정보올림피아드 대비]18.그래프 관련 문제(한붓그리기외)

1. 그래프란? 그래프 : G=(V,E) 여기서 V는 정점(Node 라고도 하며 꼭짓점이라고도 한다.), E는 엣지( Vi~Vj 를 연결하는 모서리)라고 하며 그래프는 정점과 모서리의 집합으로 구성된 구조를 의미한다. 예) 위와 같은 형태가 그래프이다. 2. 그래프 인접(Adjacent),근접(Incident),루프(Loop) - 인접(Adjacent),근접(Incident) 그래프 G=(V,E)에서 꼭짓점 a와 b를 연결한 모서리 ab가 있을 때 꼭짓점 a와 b는 서로 인접하고 모서리 ab는 꼭짓점 a와 b에 근접한다. - 루프(Loop) 인접하는 꼭짓점이 하나인 모서리 e 3. 방향그래프 화살표로 모서리를 표현해 인접하는 꼭짓점 간의 순서를 알 수 있는 그래프 G = 로 표현하며 인접하는 꼭짓점 사이..

[인공지능수학] 호도법/도수법 실습하기

https://wondangcom.tistory.com/2135 에서 도수법과 호도법에 대해 살펴 보았습니다. 이번 시간에는 도수법과 호도법을 파이썬으로 변환하는 방법에 대해 살펴 보도록 하겠습니다. 1. 도수법 -> 호도법 도수법 60도를 호도법인 deg로 나타내는 방법을 살펴 보도록 하겠습니다. import numpy as np import math deg1 = 60 * math.pi / 180 print(deg1) deg2 = np.deg2rad(60) print(deg2) deg3 = math.radians(60) print(deg3) deg1 은 1도 = pi/180 이므로 직접 연산을 한 값 deg2은 numpy 에서 제공하는 deg2rad 메서드로 연산을 한 값 deg3은 math 함수에서 ..

[정보올림피아드 대비]17.진수를 활용한문제(2진수,10진수,16진수등)

1. n진법 n진법이란 0과 n-1 사이의 숫자들을 이용해 수를 표현하는 방식입니다. 즉 우리가 사용하는 10진법은 0~9까지의 수를 사용하며 컴퓨터가 사용하는 2진법은 0~1 까지의 수를 사용합니다. n진법을 사용한다면 n을 기수(Base Number) 라고 합니다. 기수표기 예) 10진수 1234 : 1234(10) 2진수 1010 : 1010(2) 2. 10진수(Decimal Number) 10진수는 기수를 10으로 하는 수 체계이며 0과 9 사이의 숫자를 이용해 수를 표현합니다. 또한 10진수는 정수 1234 에 대해 다음과 같이 표현 할 수 있습니다. 1234(10) = 1*103 + 2*102 + 3*101 + 4*100 즉 오른쪽 부터 왼쪽으로 기수의 0승 , 기수의 1승 ,기수의 2승 자리..

[알고리즘] 동적계획법(Dynamic)

동적계획법 알고리즘이란 동적계획법은 문제의 최적해를 구하거나 답의 개수를 세는 과정에 사용하는 알고리즘 설계기법 - 전체 문제를 작은 문제로 단순화 한 다음 점화식으로 만들어 재귀적인 구조를 활용해서 전체 문제를 해결하는 방식 동적계획법 알고리즘 설계 방법 1. 전체 문제를 작은 문제로 단순화한다. -> 부분문제를 정의 2. 재귀적인 구조를 활용할 수 있는 점화식을 만든다. 3. 작은 문제를 해결한 방법으로 전체 문제를 해결한다. 메모이제이션 기법 메모이제이션(Memoization)은 동적계획법에서 아주 중요한 개념이다. 함수의 값을 계산한 뒤 계산된 값을 배열에 저장하는 방식이다. 이러한 메모이제이션은 필요한 때마다 함수를 다시 호출하지 않고 값을 빠르게 가져 올 수 있다. 동적알고리즘 예시문제 www..

강의자료/알고리즘 2023.01.18 (12)

[머신러닝활용] dlib 라이브러리를 이용한 얼굴 인식

1. 실습환경 Tool : Pycharm 웹캠 OpenCV,dlib 설치 얼굴 특징점 추출 모듈 : https://osdn.net/projects/sfnet_dclib/downloads/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2/ Downloading File /dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2 - dlib C++ Library - OSDN Free download page for Project dlib C++ Library's shape_predictor_68_face_landmarks.dat.bz2.Dlib is a C++ toolkit containing machine learning..

강의자료/머신러닝 2023.01.17 (6)

[초등 1학년 2학기]짝수와 홀수란

참고문제 : https://ko.khanacademy.org/math/kor-1st-2/xdffa2afcc11cd098:1-2-1/xdffa2afcc11cd098:1-2-1-8/v/introduction-to-even-and-odd 짝수와 홀수에 대해 배우고 어떤 수가 짝수인지 또는 홀수인지 알아내는 방법을 살펴 봅니다. ​ 짝수란? 도넛이 여러개 있을 때 두명에게 똑같이 나누어 줄 수 있으면 짝수, 그렇지 않으면 홀수라고 합니다. 즉 짝수는 2의 배수입니다. ​ 작품소개 처음시작하면 엔트리봇이 어떤 수를 생각하고 그 수가 짝수인지 홀수인지를 묻습니다. 만약 31은 짝수인지 홀수인지 맞혀보세요? 라고 말했을 때 홀수라고 말하면 정답입니다. 틀리면 틀렸습니다. 를 말합니다. ​ 알고리즘 수,정답 의 변수를..

[정보올림피아드 대비]16. 점화식(재귀 포함)을 이용한 문제

점화식이란 수열에서 이웃하는 두개의 항 사이에 성립하는 관계를 나타내는 관계식이다. 즉, 수열 { an }의 각 항 an 이 함수 f를 이용해서 f(an) = an+1 과 같이 귀납적으로 정의 될때 f를 수열 {an}의 점화식이라고 하며 또한 수열 {an}은 점화식 f로 정의 된다고 한다. 예) 하노이의 탑 유명한 하노이이탑 문제는 n개의 원판을 이동하는 회수를 수열 an으로 정의 하면 n개의 원판을 이동시키기 위해서는 그 위쪽 n-1개의 원판을 다른 막대로 이동한 후, 맨 아래쪽 원판을 이동하고 다시 n-1개의 원판을 이동해야 하므로 다음과 같은 점화식이 성립함을 알수 있다. f(n) = f(n-1) + 1 + f(n-1) = 2*f(n-1) + 1 = 2^n - 1 (단, f(1)=1) 예) 피보나치..

[알고리즘] 분할정복

분할정복 알고리즘이란? 분할정복(Divide and conquer algorithm)은 그대로 해결 할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법이다. 대표적인 예로 퀵정렬 또는 합병정렬과 같은 알고리즘이 있다. 알고리즘을 설계하는 요령 - Divide : 문제가 분할이 가능한 경우, 2개 이상의 문제로 나눈다. - Conquer : 나누어진 문제가 여전히 분할이 가능하면 또 다시 Divide를 수행한다. 그렇지 않으면 문제를 정복한다. - Combine : : Conquer한 문제들을 통합하여 원래 문제의 답을 얻는다. ※ 문제를 제대로 나누면 conquer 하는 것이 쉽기 때문에 Divide 를 제대로 하는것이 가장 중요하다. 분할정복 알고리즘 예 function F(x): if F(..

강의자료/알고리즘 2023.01.11 (12)