개발 이야기

AI

인공지능(2022.02.27)

목차 인공지능 공부의 시작 어제 다시 학교에 왔다. 부모님의 차를 타고, 고속도로를 타서, 먼길을 달려왔다. 낮이라서, 코로나 때문에 사람들이 많이 안다닌다고 생각하지만, 오는길에 차가 막혔던 적이 한번도 없었다. 곰곰히 생각해보니 참 신기한거다. 어떻게 이많은 도로들을 연결하고, 건설했을까 어떤 기준으로? 언제 분기하는지 이런것들 말이다. 새로운 도로를 건설하는건 엄청난 비용과 시간이 들어가는 일인데, 하나하나를 신중하게 결정해야하는데, 판단 기준이 뭘까.. 라고 그래서 난 내 나름대로 Ai를 사용하면 그 판단을 내릴 수 있지 않을까 생각했다. 내가 아는 Ai는 인간이 풀기 힘들만한 여러가지 데이터들을 모아서 최상의 결과를 내어주는 그런 기술로 알고있다. 그렇다면, 지금 존재하는 모든 교통정보들을 모아..

Algorithm

에라토스테네스의 체(2022.04.13)

목차 에라토스테네스의 체 소수판정의 가장 기본이 되는 에라토스테네스의 체이다. 소수는 약수가 1과 자기자신만을 가지는 수이다. 소수를 구하는 알고리즘을 찾아보자. 알기 쉽게 예를 들어보겠다. 1~50까지의 소수 1부터 50까지의 수 중 소수를 찾는 방법을 보자 먼저 숫자를 다 적어본다. 그리고, 제일 첫번째 소수인 2의 배수를 다 지워준다. 지워주는 이유를 생각을 해보면, 소수는 1과 자기자신만을 약수로 가지는 수 이다. 어떤 수의 배수는 소수가 될 수 없다. 그러므로 범위내의 소수의 배수를 다 지워주면, 소수만 남게된다. 그렇게 2의 배수를 지우고, 3의 배수 5의 배수 7의 배수 이렇게 까지만 지워주면 나머지 수 들은 전부 소수가 된다. 왜 7까지만 지워줄까? 근데 앞에서 그러므로 범위내의 소수의 배..

Algorithm

컴퓨터 안의 실수 - 1(with. IEEE 754)(2021.07.02)

목차 정말 실수를 많이 유발하는 실수 실수(mistake)가 아니라 실수(real number)에 대한 글. 이 실수는 정말 계산하기가 화가 난다. 밑의 예를 보자. void check_real(int n){ double answer = n*(1.0/n); if(answer != 1) printf("not the same number!!\n"); } int main(){ for(int i = 1; i < 100; i++) check_real(i); } 간단한 x * (1 / x)가 1인지에 대한 함수이다. 수학적으로 당연히 저 printf문은 실행되서는 안된다. 하지만 이 코드를 실행시키면, 어째서인지 한 두개의 printf문이 실행된다. 이런 경우 때문에 실수(real number) 연산은 예외를 적용..

Algorithm

산술 오버플로(2021.06.21)

목차 산술 오버플로 산술 오버플로는 코딩을 하면서 정말 흔하게 접할 수 있는 오류이다. (특히 C++, C에서 말이다. JAVA는 내가 안써봤고. 나머지 언어에서는 경험을 해본적이 없다.) 왜 산술 오버플로라는 오류는 흔하게 발생할까? 첫째로, 프로그램 언어는 따로 오버플로를 경고하지 않는다. 둘째로, 알고리즘을 확인하는 과정에서 논리에 집중하다 보면, 산술 오버플로를 신경쓰지 못하고 지나칠 수 있다. 그럼 산술오버플로의 사례를 살펴보자. 산술 오버플로의 사례 너무 큰 결과 C, C++, JAVA등 숫자 자료형이 크기가 제한 되어 있는 경우, 어떤 문제를 푼 결과값이 자료형의 한계를 넘어설 때 이 오류가 발생한다. 흔히 32비트 자료형을 습관적으로 사용하다가, 결과가 32비트 자료형을 넘는것을 인식하지 ..

시유후
'분류 전체보기' 카테고리의 글 목록 (8 Page)