쉽게 배우는 알고리즘 강의노트

Similar documents
Chap 6: Graphs

쉽게배우는알고리즘 9장. 그래프알고리즘

WISHBONE System-on-Chip Interconnection Architecture for Portable IP Cores

Chap 6: Graphs

Microsoft PowerPoint - ch12 - Graph, Graph Algorithms

04 Çмú_±â¼ú±â»ç

Microsoft PowerPoint Backtracking.pptx

Microsoft PowerPoint - ai-2 탐색과 최적화-I

Chap 6: Graphs

Microsoft PowerPoint - ch12 - Graph, Graph Algorithms


선형대수학 Linear Algebra

Microsoft PowerPoint Branch-and-Bound.ppt

슬라이드 1

Ch.8 Procedures and Environments

Chapter 10 그래프 (graph) SANGJI University Kwangman KO

5장 스택

chap01_time_complexity.key

Microsoft PowerPoint - 제10장-그래프.pptx

ePapyrus PDF Document

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

선형자료구조 16.1 그래프 배열, 스택, 큐, 리스트를사용하여해결할수있다. 비선형자료구조 순환, 트리, 이진트리로복잡한문제를해결한다. 그래프 (graph) ; 인터넷과같은통신네트워크나고속도로나철도와같은교통네트워크에적합하다. 그래프 (graph) 링크에의해연결되어있는노

1장. 리스트

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은

2002년 2학기 자료구조

chap 5: Trees

Data structure: Assignment 3 Seung-Hoon Na December 14, 2018 레드 블랙 트리 (Red-Black Tree) 1 본 절에서는 레드 블랙 트리를 2-3트리 또는 2-3-4트리 대한 동등한 자료구조로 보고, 두 가지 유형의 레

<30342DBCF6C3B3B8AEBDC3BCB33228C3D6C1BE292E687770>

구로구민체육센터 여성전용 기구필라테스 강좌 신설 구로구시설관리공단은 신도림생활체육관에서 2014년도부터 시행하여 주민의 큰 호응을 얻고있는 기구필라 테스 강좌를 일자로 구로구민체육센터에 확대 시행하게 되었습니다. 구로구 관내 고객들의 니즈를 반영한 기

Microsoft PowerPoint - slide05.pptx

윈도우즈프로그래밍(1)

3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

11장.그래프

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

슬라이드 1


슬라이드 1

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

입학사정관제도

Chapter 4. LISTS

쉽게 배우는 알고리즘 강의노트

중간고사

슬라이드 1

쉽게배우는알고리즘 8장. 동적프로그래밍 프로그래밍 Dynamic Programming (DP)

Chapter 4. LISTS

03_queue

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

chap x: G입력

슬라이드 1

<33312D312D313220C0CCC7D1C1F820BFB0C3A2BCB12E687770>

Microsoft Word - p_vs_np.doc

DBPIA-NURIMEDIA

슬라이드 1

Microsoft PowerPoint - 08_Dynamic_Prog_01.pptx

7장

EA0015: 컴파일러

단순 베이즈 분류기

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

탄도미사일 방어무기체계 배치모형 연구 (Optimal Allocation Model for Ballistic Missile Defense System by Simulated Annealing Algorithm)

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

C 언어 프로그래밊 과제 풀이

제 1 장 기본 개념

DBPIA-NURIMEDIA

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

슬라이드 1

Introduction to Deep learning

(define (domain blocksworld (:requirements :strips :typing (:types block (:predicates (on?x - block?y - block (ontable?x - block (clear?x - block (hol

Microsoft PowerPoint - 자료구조2008Chap06

PowerPoint 프레젠테이션

<32392D342D313020C0FCB0C7BFED2CC0CCC0B1C8F12E687770>


, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float

원형연결리스트에대한설명중틀린것은 모든노드들이연결되어있다 마지막에삽입하기가간단한다 헤더노드를가질수있다 최종노드포인터가 NULL이다 리스트의 번째요소를가장빠르게찾을수있는구현방법은무엇인가 배열 단순연결리스트 원형연결리스트 이중연결리스트 단순연결리스트의노드포인터 가마지막노드를

(......).hwp

PowerPoint 프레젠테이션

I

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

Java ...

Microsoft PowerPoint - m05_Equation1(Print) [호환 모드]

Frama-C/JESSIS 사용법 소개

6장정렬알고리즘.key

chap 5: Trees

(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

필요한경우에는실시간변경을통하여여정계획을수정하기도한다. 하지만현재여정계획수립을위한트립플래너의기능은개인교통과대중교통이단절된형태만을제공하고있다. 이용객은출발지에서목적지까지단절없는정보를원하고있으며, 특히개인교통과대중교통을모두이용하는트립플래너에대한요구를만족할수있는서비스는현재제공

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000

untitled

< B3E220C1A632C8B820C4C4C7BBC5CDBFEEBFEBBBE72041C7FC28C3D6C1BE292E687770>

기본자료형만으로이루어진인자를받아서함수를결과값으로반환하는고차함수 기본자료형과함수를인자와결과값에모두이용하는고차함수 다음절에서는여러가지예를통해서고차함수가어떤경우에유용한지를설명한다. 2 고차함수의 예??장에서대상체만바뀌고중간과정은동일한계산이반복될때함수를이용하면전체연산식을간 단

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Optus - Optimization

1 1 장. 함수와극한 1.1 함수를표현하는네가지방법 1.2 수학적모형 : 필수함수의목록 1.3 기존함수로부터새로운함수구하기 1.4 접선문제와속도문제 1.5 함수의극한 1.6 극한법칙을이용한극한계산 1.7 극한의엄밀한정의 1.8 연속

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Week5

슬라이드 1

REP - CP - 016, N OVEMBER 사진 요약 25 가지 색상 Surf 를 이용한 사진 요약과 사진 배치 알고리즘 Photo Summarization - Representative Photo Selection based on 25 Color Hi

Transcription:

쉽게배우는알고리즘 ( 한빛미디어 ) 2 장. 상태공간트리의탐색

State-Space Tree State-space tree ( 상태공간트리 ) 문제해결과정의중간상태를각각한노드로나타낸트리 이장에서배우는세가지상태공간탐색기법 Backtracking Branch-and-bound A * algorithm - 2 - 한빛미디어

Travelling Salesman Problem 의예 물건을판매하기위해여행하는세일즈맨의문제 물건을팔기위해서어떤도시를먼저방문해서최소한의비용으로도시들을모두순회하고돌아올수있는지를구하는것 TSP 는가장대표적인 NP-Hard 문제 NP-Hard 란 Nondeterministic Polynomial - Hard 의약자 다항식으로표현될수있을지의여부가아직알려지지않았다는의미 NP-Hard 란 TSP 문제와같이모든경우의수를일일히확인해보는방법이외에는다항식처럼답을풀이할수없는문제들을말함 2 2 2 4 4 4 3 3 3 5 6 5 6 5 6 TSP 예제해의예최적해 - 3 - 한빛미디어

TSP 와 Adjacency Matrix 의예 2 3 4 5 0 0 2 0 0 0 30 25 25 4 5 0 9 0 0 3 3 3 0 0 7 7 4 8 30 8 2 4 2 3 4 5 0 0 4 2 0 0 8 0 7 9 8 7 0 3 4 0 0 3 0-4 - 한빛미디어

사전적탐색의 State-Space Tree 2-2 2 22 32-3 -4-5 3 6-2-3-2-4 9-2-5 39-5-4 4 5 7 8 0 4-2-3-4 -2-3-5-2-4-3 -2-4-5-2-5-3 -2-5-4-5-4-2 -5-4-3 48 44 6 54 45 63 63-2-3-4-5- -2-3-5-4- -2-4-3-5- -2-4-5-3- -2-5-3-4- -2-5-4-3- -5-4-2-3- -5-4-3-2- - 5 - 한빛미디어

Backtracking DFS 또는그와유사한스타일의탐색을총칭한다 Go as deeply as possible, backtrack if impossible 예 가능한지점까지탐색하다가막히면되돌아간다 Maze, 8-Queens problem, Map coloring, - 6 - 한빛미디어

Maze maze T S S 4 3 5 2 6 7 S 그래프로모델링한미로 8 2 3 4 5 T 6 T 9 7 8 9 Branching tree - 7 - 한빛미디어

maze(v) { } visited[v] YES; if (v = T) then {print 성공! ; exit( );} for each x L(v) L(v) : 정점 v 의인접정점집합 if (visited[x] = NO) then { prev[x] v; maze(x); } - 8 - 한빛미디어

Coloring Problem Graph 에서 인접한 vertex 는같은색을칠할수없다 k 개의색상을사용해서전체 graph 를칠할수있는가? - 9 - 한빛미디어

Coloring Problem 의예 : Map Coloring (a) 지도 (b) 구역간의인접관계 2 3 4 2 3 4 5 6 5 6 (c) 연결관계를정점과간선으로나타낸것 (d) (c) 와동일한그래프 - 0 - 한빛미디어

kcoloring(i, c) i: 정점, c: color 질문 : 정점 i-까지는제대로칠이된상태에서정점 i를색 c로칠하려면 k 개의색으로충분한가? { if (valid(i, c)) then { color[i] c; if (i = n) then {return TRUE;} else { result FALSE; } } return result; } else {return FALSE;} d ; d: color while (result = FALSE and d k) { result kcoloring(i+, d); i+: 다음정점 d++; } - - 한빛미디어

valid(i, c) i: 정점, c: color 질문 : 정점 i- 까지는제대로칠이된상태에서정점 i 를색 c 로칠하려면이들과색이겹치지않는가? { for j to i- { 정점 i 와 j 사이에간선이있고, 두정점이같은색이면안된다 if ((i, j) E and color[j] = c) then return FALSE; } return TRUE; } - 2 - 한빛미디어

State-Space Tree, 2 2, 3 2, 2 4 5 3, 3, 2 6 7 4, 4, 2 2 3 4 5 6 8 5, 9 0 6, 6, 2 6, 3-3 - 한빛미디어

Branch-and-Bound 분기 branch 와한정 bound 의결합 분기를한정시켜쓸데없는시간낭비를줄이는방법 Backtracking 과공통점, 차이점 공통점 경우들을차례로나열하는방법필요 차이점 Backtracking 가보고더이상진행이되지않으면돌아온다 Branch-&-Bound 최적해를찾을가능성이없으면분기는하지않는다 - 4 - 한빛미디어

P P 6 P P 6 P 5 P 5 P 2 P 2 P 4 P 4 P 3 P 3 어느시점에가능한선택들 최적해를포함하지않아제외하는선택들 - 5 - 한빛미디어

TSP 예제를대상으로한 Branch-and-Bound 탐색의예 (State-Space Tree) (33) 0+33 2-2 (33) 0+23 0 9 8-3 (33) 0+23-4 (53) 30+23-5 (48) 25+23 (37) 24+3 6 9-2-3-2-4 (44) 3+3 3 7 4-2-5 (33) 20+3 (44) 28+6-3-2-3-4 (33) 7+6-3-5 (35) 9+6 7 8 4 5 2 3 5 6-2-3-4 -2-3-5-2-5-3 -2-5-4-3-4-2 -3-4-5-3-5-2 -3-5-4-2-3-4-5- -2-3-5-4- -2-5-3-4- -2-5-4-3- -3-4-2-5- -3-4-5-2- -3-5-2-4- -3-5-4-2- 48 44 45 52 58 43-6 - 한빛미디어

A * Algorithm Best-First-Search 각정점이매력함수값 g(x) 를갖고있다 방문하지않은정점들중 g(x) 값이가장매력적인것부터방문한다 A * algorithm 은 best-first search 에목적점에이르는잔여추정거리를고려하는알고리즘이다 Vertex x 로부터목적점에이르는잔여거리의추정치 h(x) 는실제치보다크면안된다 f(n): 평가함수 f(n) = g(n) + h(n) g(n): 출발노드로부터노드 n 까지의경로비용 h(n): 노드 n 으로부터목표노드까지의추정경로비용 - 7 - 한빛미디어

Shortest Path 문제 Remind: Dijkstra algorithm 시작점은하나 시작점으로부터다른모든 vertex 에이르는최단경로를구한다 ( 목적점이하나가아니다 ) A * algorithm 에서는목적점이하나다 - 8 - 한빛미디어

Dijkstra Algorithm 의작동예 20 0 7 25 7 s 9 30 6 23 24 8 28 20 39 25 29 28 20 t 20 0 7 0 7 25 9 30 23 25 24 8 28 20 39 6 29 28 20 0 9 30 24 20 0 30 7 0 6 23 8 7 25 23 28 20 7 25 39 25 29 28 20 0 9 30 24 20 0 30 7 0 6 23 8 7 25 23 28 20 7 25 39 25 29 28 20-9 - 한빛미디어

0 9 30 24 20 0 30 7 0 6 23 8 7 25 23 28 20 7 25 39 25 29 28 20 0 9 30 24 20 0 30 7 0 6 23 8 7 25 23 28 20 7 25 39 25 29 4 28 20 0 9 30 24 20 0 30 7 0 6 23 8 7 25 23 28 20 7 25 39 25 29 50 4 20 28 64 6 0 9 30 24 20 0 30 7 0 6 23 8 7 25 23 28 20 7 25 39 25 29 50 4 28 20-20 - 한빛미디어

0 9 30 24 20 0 30 7 0 6 23 8 7 25 23 28 20 7 25 39 25 29 50 4 64 28 20 6 0 9 30 24 20 0 30 7 0 6 23 8 7 25 23 28 20 7 25 39 25 29 50 4 64 28 20 6-2 - 한빛미디어

A * Algorithm 의작동예 20 0 7 25 7 9 24 30 6 23 8 28 20 39 25 29 28 20 68 6 52 52 34 39 추정잔여거리 9 9 9 24 20 0 30 7 0 6 23 8 25 28 20 7 39 25 29 20 28 (7) (70) 0 9 30 24 20 0 30 7 0 6 23 8 7 25 23 28 20 (85) (57) 7 25 39 (77) 25 29 28 20-22 - 한빛미디어

(7) 9 (70) 0 30 24 20 0 30 (60) 7 0 6 4 20 23 8 7 25 23 28 20 28 (85) (57) 7 25 39 (77) 25 29 50 (89) 6 (7) 9 (70) 0 30 24 20 0 30 7 0 6 23 8 7 25 23 28 20 (85) (57) 7 25 39 (77) 25 29 50 (89) (60) 4 20 28 6 추정잔여거리를사용함으로써탐색의단계가현저히줄었다 - 23 - 한빛미디어

TSP 예제를대상으로한 A * Algorithm 탐색의예 (State-Space Tree) (33) 0+33 2 3-2 (33) 0+23-3 (33) 0+23-4 (53) 30+23-5 (48) 25+23 (37) 24+3 7 4 5 6-2-3-2-4 (44) 3+3-2-5 (33) 20+3 (44) 28+6-3-2-3-4 (33) 7+6-3-5 (35) 9+6 8-2-3-4 -2-3-5-2-5-3 -2-5-4-3-4-2 -3-4-5-3-5-2 -3-5-4-2-3-4-5- -2-3-5-4- -2-5-3-4- -2-5-4-3- -3-4-2-5- -3-4-5-2- -3-5-2-4- -3-5-4-2- 48 44 45 52 58 43-24 - 한빛미디어

예제 : 8- 퍼즐문제 (A*) f(n) = g(n) + h(n) - 25 - 한빛미디어

A* search for finding path from a start node to a goal node in a robot motion planning problem. http://upload.wikimedia.org/wikipedia/commons/5/5d/astar_progress_animation.gif - 26 - 한빛미디어

A* Pathfinding Algorithm Visualization http://www.youtube.com/watch?v=9hg22hby8-27 - 한빛미디어

Local Beam Search Best-First search 에서기억노드의수를제한하는방법 기억공간이축소되지만너무빠른가지치기를초래 BFS search로다음상태의해집합을구함 해집합을 Goal에가까운순으로정렬 사전설정된수만큼의해집합만을유지하고나머지는잘라냄 - 28 - 한빛미디어

Hill Climbing 기법 hill climbing 기법은 DFS(depth-first search) 를기초로하여 heuristic 을적용한탐색기법으로현재상태와자식노드와의거리 ( 혹은비용 ) 에따라정렬 (sort) 한후각단계 (step) 의선택이이전단계의상태보다나은지를평가함 지역최대치 (local maxima) 문제 ( 작은언덕 ; foothills) 정상주변에정상보다낮은봉우리들이있을때, 그주변봉우리에오를경우그곳이정상인것으로판단할수있다. - 29 - 한빛미디어

Genetic Algorithm ( 유전알고리즘 ) 자연계생물의유전과진화의메카니즘을공학적으로모델화하는일종의확률탐색방법으로, 생물의유전자모양으로탐색을진행하며, 탐색 (search), 최적화 (optimization), 기계학습 (machine learning) 의도구로서많이사용됨 근접한최적해를찾기쉽고병렬적탐색이가능하며지역최적해 (local maximum) 에빠지지않음 그러나만약탐색이해의사이로진행되는경우결과를찾지못할가능성이있으며, 해를찾는다하더라도찾는과정을알수없음. 적합한분야 TSP, 고차함수의근사최적해문제, 신경망최적화, 기타 NP-Hard 문제중일부 적합하지않은분야 :N Shortest path 문제, Sorting, Finding 유전알고리즘의응용예들 함수근사, 신경망최적화, 퍼지시스템최적화, 엘리베이터그룹스케줄링, TSP, 네트웍배치, 그래프분할, 회로라우팅 - 30 - 한빛미디어