안희갑
포스텍 컴퓨터공학과 교수
UNIVERSITEIT UTRECHT 박사
香港科技大學(The Hong Kong University of Science and Technology) 박사
포항공과대학교 석사
인공지능, 머신러닝, 알고리즘 트레이딩 등 다양한 기술에서 알고리즘은 핵심 이론이며 문제 해결의 기반입니다. 여러가지 복잡한 문제를 컴퓨터가 해결해주지만, 문제의 구조를 분석하여 최적의 알고리즘을 구현해야 컴퓨터가 빠르게 해답을 찾습니다.
본 강좌는 주어진 문제를 해결하는 가장 적합한 알고리즘의 설계와 분석 방법에 대해 학습합니다. 알고리즘에 대한 소개부터 시작하여 분할정복, 그리디 알고리즘, 동적계획법, 네트워크플로우 등 4가지의 기본적인 알고리즘 설계 기법에 대해서 학습합니다. 또한 다루기 힘든 문제의 유형에 대해서 학습하고, 정밀한 해를 찾는 알고리즘 이외에도 휴리스틱한 기법을 통해 단시간에 문제를 해결하는 방법에 대해서 소개합니다.
| 주차 | 학습내용 | |
|---|---|---|
| 1 | 오리엔테이션 | 강의 개요 |
| 계산 효율성 | ||
| 계산 복잡도 표현(big O, Ω, Θ) | ||
| 2 | 정수론 알고리즘 | 정수론 알고리즘 기초 |
| 기초 연산 | ||
| 소수 판정 | ||
| 3,4 | 분할정복 | 분할정복 원리 |
| 이진 탐색 & 합병 정렬 | ||
| 행렬 곱하기 | ||
| 중앙값 찾기와 선택 알고리즘 | ||
| 가장 가까운 쌍 찾기 | ||
| 4,5 | 그래프 알고리즘 | 그래프 이론 기초 |
| 깊이 우선 탐색(DFS) | ||
| 너비 우선 탐색(BFS) | ||
| 최단 경로 문제 | ||
| 다익스트라 알고리즘 I | ||
| 다익스트라 알고리즘 II | ||
| 6,7 | 그리디 알고리즘 | 그리디 알고리즘 원리 |
| 최소신장트리 I | ||
| 최소신장트리 II | ||
| 허프만 코드 | ||
| 트리 군집화 | ||
| 작업 일정 짜기 문제 | ||
| 8,9 | 동적계획법 | 동적계획법 구조 |
| 사다리 올라가기 | ||
| 비트스트링 | ||
| 금화 모으기 | ||
| 행렬의 연속 곱 | ||
| 최단 신뢰 경로 | ||
| 모든 쌍 최단 경로 | ||
| 10 | 선형계획법 | 선형계획법 개론 |
| 이익 극대화 | ||
| 서포트 벡터 머신3 | ||
| 식단 구성하기 | ||
| 과제 할당하기 | ||
| 11 | 네트워크 플로우 | 네트워크 플로우 I |
| 네트워크 플로우 II | ||
| 12,13 | 계산 복잡도와 문제의 난이도 | P & NP |
| 되추적 | ||
| 분기한정법 | ||
| NP 문제 예시 | ||
| 휴리스틱 알고리즘 소개 | ||
포스텍 컴퓨터공학과 교수
UNIVERSITEIT UTRECHT 박사
香港科技大學(The Hong Kong University of Science and Technology) 박사
포항공과대학교 석사