분류 전체보기
-
에라토스테네스의 체Computer Science🖥️/Algorithm 2022. 6. 17. 16:09
수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 알고리즘 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다. 2는 소수이므로 오른쪽에 2를 쓴다. (빨간색) 자기 자신을 제외한 2의 배수를 모두 지운다. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. (초록색) 자기 자신을 제외한 3의 배수를 모두 지운다. 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다. (파란색) 자기 자신을 제외한 5의 배수를 모두 지운다. 남아있는 수 가운데 7은 소수이므로 오른쪽에 7을 쓴다. (노란색) 자기 자신을 제외한 7의 배수를 모두 지운다. 위의 과정을 반복하면 구하는 구간의 모든 소수가 남는다. 그림의 경우, 11^{2}>120이므로 1..
-
01_Introduction to AIComputer Science🖥️/Artificial Intelligence 2021. 12. 10. 00:53
1. AI : intelligent(지능적인) 행동을 할 수 있는 컴퓨터 software를 만드는 것. 2. Machine Learning - AI의 하위 분야 - 패턴 인식과 컴퓨터 학습 이론에 대한 분야 - 자동으로 데이터로부터 규칙을 배우는 프로그램을 만드는 것 Supervised Learing : 지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법. - predictive approach(예측적 접근) - input에서 output으로 가는 것을 어떻게 맵핑하는지 배워야한다 - ex) classification(분류), regression(회귀) Unsupervised Learning - descriptive approach(기술적 접근) - data에서 intere..
-
[week4]File I/OComputer Science🖥️/System Programming 2021. 12. 6. 10:53
1. What is File? Linux file은 byte의 나열이다. // kernel, HW partition 등 모두 file로 표현이 된다. All I/O devices 은 파일로 표현된다. - /dev/sda1 (hard disk partition) - /dev/tty2 (terminal) //ctrl + alt + F1~F7 (termianl 이동 단축키) 2. File Types 각 파일은 시스템 안에서의 역할을 가리키는 type을 갖고 있다. - Regular file: 임의의 데이터를 담는 파일 - Directory: 관련된 파일의 그룹을 만들어 가리키는 그룹의 index - Socket: another machine에서 프로세스로 소통하기 위해 필요한 것 1) Regular file ..
-
[week3] Shell script & MakefileComputer Science🖥️/System Programming 2021. 12. 6. 08:33
1. What is Shell? : user와 os 사이의 Interface program - window command prompt와 유사하다 - bash version: $/bin/bash -version (bash shell version 확인 명령어) 2. Redirection & Pipes (shell script를 위한 명령어) File descriptor(fd) : open file에 대한 식별 번호 - 프로세스가 file이나 device에 접근하기 위해 사용된다. - standard fd(0~2는 기본 설정) stdin(0): standard input // keyboard stdout(1): standard output //terminal stderr(2): standard error o..
-
동적 프로그래밍(Dynamic Programming)Computer Science🖥️/Algorithm 2021. 10. 15. 14:26
1. Dynamic Programming 이란? - 알고리즘을 디자인 하기 위한 전략 - 큰 문제를 작은 문제로 나누어 푸는 문제 (동적 프로그래밍이란 이름 때문에 동적으로 이루어지는지 찾아볼 필요 x, 그저 멋있는 이름을 붙였다는 원작자) 1.1 Divide and Conquer (분할 정복)과 비슷? : 작은 문제로 나누어 푼다는 점에서 비슷한 면이 있지만 결정적 차이점은 바로, 작은 문제가 중복을 일으키는지 아닌지 이다. 분할 정복은 단지 작은 문제로 나누어 푸는 것이기 때문에 작은 문제에 반복이 일어나지 않는 것이 특징이지만, 동적 프로그래밍은 작은 문제들이 반복되는 것(답이 바뀌지 않음) 을 이용해 풀어나가는 방법이다. 1.2 Dynamic Programming 방법 - 모든 작은 문제들은 한번..
-
[JAVAProgramming] 다형성(Polymorphism)Computer Science🖥️ 2021. 10. 9. 00:43
다형성(polymorphism) 다형성이란 하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미한다. 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 구현하는 것. ex) Dog (parent, super class) Police Dog(child, sub class) Dog dog1 = new PoliceDog(); - 부모 클래스 타입의 참조 변수가 사용할 멤버의 개수
-
1주차 프로그래밍 언어란?Computer Science🖥️/Programming Language 2021. 9. 24. 20:51
Programming Languages & Related Issues Introduction to Programming Languages Review for Computing Architecture & Environments 1. Language and programming language - Language : 사람 사이에서 소통하기 위한 도구. - Programming Language : 컴퓨터를 제어하기위해 사용자들 사이에서의 프로토콜. & 기계 간 통신을 위한 도구. - Definition of formal language : formal language 란 수학적으로 정확한 구성 규칙을 가진 언어이며 더 정확하겐 일부 알파벳들의 단어 집합이다. 예를 들어 문자 a, b, c로 구성된 알파벳을 취..
-
[1주차]Introduction to AIComputer Science🖥️/Artificial Intelligence 2021. 9. 10. 02:50
1. AI 란? : 지능적인 행동을 할 수 있는 컴퓨터와 컴퓨터 소프트웨어를 어떻게 생성할지 고민하는 수업. 2. Machine learning - 인공지능의 하위 필드 - 패턴 인식과 계산적인 학습 이론에 대한 연구 - 데이터를 통해 자동으로 규칙을 배우게(the ability to learn) 하는 프로그램을 만드는 것 - Supervised Learning, Unsupervised Learning 3. AI 의 공식적 탄생: Dartmouth, 1956 4. AI as Designing Rational Agents - Agent 는 인지하고 행동하는 개체(entity) - A rational agent 는 예상 효용(expected utility)를 극대화하는 행동을 선택한다 - sensors, a..