I. Hill climbing algorithm II. Steepest hill climbing algorithmvikas dhakane
Artificial Intelligence: Introduction, Typical Applications. State Space Search: Depth Bounded
DFS, Depth First Iterative Deepening. Heuristic Search: Heuristic Functions, Best First Search,
Hill Climbing, Variable Neighborhood Descent, Beam Search, Tabu Search. Optimal Search: A
*
algorithm, Iterative Deepening A*
, Recursive Best First Search, Pruning the CLOSED and OPEN
Lists
Slide for study session given by Ryosuke Sasaki at Arithmer inc.
It is a summary of recent methods for object pose estimation in robotics using deep learning.
He entered Ph.D course at Univ. of Tokyo in April 2020.
Arithmer株式会社は東京大学大学院数理科学研究科発の数学の会社です。私達は現代数学を応用して、様々な分野のソリューションに、新しい高度AIシステムを導入しています。AIをいかに上手に使って仕事を効率化するか、そして人々の役に立つ結果を生み出すのか、それを考えるのが私たちの仕事です。
Arithmer began at the University of Tokyo Graduate School of Mathematical Sciences. Today, our research of modern mathematics and AI systems has the capability of providing solutions when dealing with tough complex issues. At Arithmer we believe it is our job to realize the functions of AI through improving work efficiency and producing more useful results for society.
I. Hill climbing algorithm II. Steepest hill climbing algorithmvikas dhakane
Artificial Intelligence: Introduction, Typical Applications. State Space Search: Depth Bounded
DFS, Depth First Iterative Deepening. Heuristic Search: Heuristic Functions, Best First Search,
Hill Climbing, Variable Neighborhood Descent, Beam Search, Tabu Search. Optimal Search: A
*
algorithm, Iterative Deepening A*
, Recursive Best First Search, Pruning the CLOSED and OPEN
Lists
Slide for study session given by Ryosuke Sasaki at Arithmer inc.
It is a summary of recent methods for object pose estimation in robotics using deep learning.
He entered Ph.D course at Univ. of Tokyo in April 2020.
Arithmer株式会社は東京大学大学院数理科学研究科発の数学の会社です。私達は現代数学を応用して、様々な分野のソリューションに、新しい高度AIシステムを導入しています。AIをいかに上手に使って仕事を効率化するか、そして人々の役に立つ結果を生み出すのか、それを考えるのが私たちの仕事です。
Arithmer began at the University of Tokyo Graduate School of Mathematical Sciences. Today, our research of modern mathematics and AI systems has the capability of providing solutions when dealing with tough complex issues. At Arithmer we believe it is our job to realize the functions of AI through improving work efficiency and producing more useful results for society.
This file contains the slides for the topic "Representing Knowledge using Rules". The slides focus mainly on difference b/w declarative and procedural knowledge, and forward & backward reasoning. In addition, the role of control knowledge in problem solving is depicted.
발표자: 고영준 (고려대 박사과정)
발표일: 2017.6.
개요:
Algorithms to segment objects in a video sequence will be presented.
First, I will introduce a primary object segmentation algorithm based on region augmentation and reduction. Second, collaborative detection, tracking, and segmentation for online multiple object segmentation will be presented.
The difficulties associated with using mathematical optimization on large-scale engineering problems have contributed to the development of alternative solutions. Linear programming and dynamic programming techniques, for example, often fail (or reach local optimum) in solving NP-hard problems with large number of variables and non-linear objective functions. To overcome these problems, researchers have proposed evolutionary-based algorithms for searching near-optimum solutions to problems.
Evolutionary algorithms (EAs) are stochastic search methods that mimic the metaphor of natural biological evolution and/or the social behaviour of species. Examples include how ants find the shortest route to a source of food and how birds find their destination during migration. The behaviour of such species is guided by learning, adaptation, and evolution. To mimic the efficient behaviour of these species, various researchers have developed computational systems that seek fast and robust solutions to complex optimization problems. The first evolutionary-based technique introduced in the literature was the genetic algorithms (Gas). GAs were developed based on the Darwinian principle of the ‘survival of the fittest’ and the natural process of evolution through reproduction. Based on its demonstrated ability to reach near-optimum solutions to large problems, the GAs technique has been used in many applicationsin science and engineering. Despite their benefits, GAs may require long processing time for a near optimum solution to evolve. Also, not all problems lend themselves well to a solution with GAs.
Visual odometry presentation material. In this presentation, there are two papers. "Omnidirectional visual odomtery of a planetry rovoer" written by peter corke and "Visual odometry for ground vehicle applications" written by David Nister.
This presentation covers Decision Tree as a supervised machine learning technique, talking about Information Gain method and Gini Index method with their related Algorithms.
This file contains the slides for the topic "Representing Knowledge using Rules". The slides focus mainly on difference b/w declarative and procedural knowledge, and forward & backward reasoning. In addition, the role of control knowledge in problem solving is depicted.
발표자: 고영준 (고려대 박사과정)
발표일: 2017.6.
개요:
Algorithms to segment objects in a video sequence will be presented.
First, I will introduce a primary object segmentation algorithm based on region augmentation and reduction. Second, collaborative detection, tracking, and segmentation for online multiple object segmentation will be presented.
The difficulties associated with using mathematical optimization on large-scale engineering problems have contributed to the development of alternative solutions. Linear programming and dynamic programming techniques, for example, often fail (or reach local optimum) in solving NP-hard problems with large number of variables and non-linear objective functions. To overcome these problems, researchers have proposed evolutionary-based algorithms for searching near-optimum solutions to problems.
Evolutionary algorithms (EAs) are stochastic search methods that mimic the metaphor of natural biological evolution and/or the social behaviour of species. Examples include how ants find the shortest route to a source of food and how birds find their destination during migration. The behaviour of such species is guided by learning, adaptation, and evolution. To mimic the efficient behaviour of these species, various researchers have developed computational systems that seek fast and robust solutions to complex optimization problems. The first evolutionary-based technique introduced in the literature was the genetic algorithms (Gas). GAs were developed based on the Darwinian principle of the ‘survival of the fittest’ and the natural process of evolution through reproduction. Based on its demonstrated ability to reach near-optimum solutions to large problems, the GAs technique has been used in many applicationsin science and engineering. Despite their benefits, GAs may require long processing time for a near optimum solution to evolve. Also, not all problems lend themselves well to a solution with GAs.
Visual odometry presentation material. In this presentation, there are two papers. "Omnidirectional visual odomtery of a planetry rovoer" written by peter corke and "Visual odometry for ground vehicle applications" written by David Nister.
This presentation covers Decision Tree as a supervised machine learning technique, talking about Information Gain method and Gini Index method with their related Algorithms.
2002년, 2003년 한국 대학생 프로그래밍 경시대회 금상
2003년, 2004년 세계 대학생 프로그래밍 경시대회 결승 진출
2004년, 2006년, 2008년 구글 코드 잼 결승 진출
2007년 탑코더 오픈 준우승, 2006년 결승 진출
2008년, 2009년 자바 알고리즘 콘테스트 우승
Innotive Corporation Software Engineer
NHN Corporation Software Engineer
Drw Trading Group Algorithmic Trader
Getco Quantitative Email Writer
Algospot.com Administrator
알고리즘의 세계는 끝이 없고 같은 실수를 반복하게 되죠. 하지만 구종만님이 출동하면 어떨까?
화려한 수상 경력을 바탕으로 <알고리즘>를 쓰신 구종만님께 가장 중요한 10가지 알고리즘을 01회 스쿱미디어 세미나에서 강연하셨습니다.
Steered response power phase transform(SRP-PHAT)은 음원 방향 추정을 위해 널리 사용되는 알고리즘이다. SRP-PHAT는 매우 많은 수의 후보 좌표를 조사해야만 하므로 기존 SRP-PHAT들은 실시간에 실행되지 못할 수도 있었다. 이 문제를 극복하기 위해, SRP-PHAT를 graphics processing units(GPUs) 기반으로 병렬화하는 시도가 있었다. 그러나, 그 방법들은 on-chip 메모리를 모두 쓰지 못하여 GPUs의 최대 연산 능력을 활용할 수 없었다. 이 발표에서 우리는 SRP-PHAT의 GPU 기반 병렬 알고리즘들을 주파수 영역과 시간 영역의 두 버전으로 제안한다. 제안된 알고리즘들은 SRP-PHAT의 메모리 접근 패턴을 최적화하고 on-chip 메모리를 공격적으로 사용한다. 결과적으로 제안된 방법들은 CPU 기반 알고리즘들에 비해 주파수 영역에서 1,276 배 그리고 시간 영역에서 80 배의 속도 향상을, 그리고 기존 GPU 기반 알고리즘들에 비해 주파수 영역에서 1.5 배 그리고 시간 영역에서 6 배의 속도 향상을 보였다.
http://www.ubuntu-kr.org/viewtopic.php?f=2&t=16175
내 용
발표 1 우분투로 슈퍼컴 만들기 = 김성윤
발표 2 geogebra (수학 그래프+도형 툴) = 미남imsu(구임수)
자기 소개 및 자유 이야기
발표 3 : 우분투에서 임베디드 리눅스 개발 환경 구축하기 = 뻔뻔강사(유명환)
2. Disclaimer
• 연세대학교 양성봉 교수님의 알기 쉬운 알고리즘
PPT에 개인적으로 몇 가지 내용을 더하였습니다.
• 법적인 문제가 될 경우, dkkang@gmail.com 으로
알려주시면 삭제하겠습니다.
3. 알고리즘의 유래
• 9세기경 페르시아 수학자
알콰리즈미 (al-Khwārizmī)
• 최초의 알고리즘:BC300년경
유클리드의 최대공약수 알고리즘
최대 공약수 – Greatest Common Divisor
최소 공배수 - Least Common Multiple
4. 알고리즘이란
• 알고리즘은 문제를 해결하기 위한 단계적인
절차를 의미한다.
• 요리법과 유사 - 라면 봉지의 요리법
• 단계적인 절차를 따라 하면 요리가 만들어지듯이,
알고리즘도 단계적인 절차를 따라 하면 주어진
문제의 답을 준다.
• 주어진 문제에 대해 여러 종류의 알고리즘이 있을
수 있으나, 항상 보다 효율적인 알고리즘을
고안하는 것이 매우 중요
6. 알고리즘
• 카드의 숫자를 하나씩 비교하면서 본 숫자들 중에
서 가장 큰 숫자를 기억해가며 진행하는 방법일 것
이다.
• 마지막 카드의 숫자를 본 후에, 머릿속에 기억된
가장 큰 숫자가 적힌 카드를 바닥에서 집어 든다.
• 이렇게 찾는 방법을 순차탐색 (Sequential Search,
또는 선형 탐색 linear search)이라고 한다. 즉,
카드를 한 장씩 차례대로 (주어진 순서대로) 읽어
가며 찾는 방법
8. 알고리즘
• 최대 숫자 찾기처럼 머릿속에 85를 기억하고
바닥에 펼쳐진 카드를 차례대로 한 장씩 읽으며
85가 적힌 카드를 찾는다.
• 역시 순차탐색을 이용한 것이다.
9. 순차 탐색의 기대값은?
• 1*1/n+2*1/n+3*1/n+4*1/n+…+n*1/n
• 이는 (n*(n+1)/2) * 1/n 이므로
• 답은 (n+1)/2
• 과연 위와 같을까?
• 만일 주어진 수가 분명히 배열 안에 하나 있다는
것을 알고리즘도 알고 있다고 가정하자.
• 그런 경우 기대값은 ((n-1)(n+2))/(2n) 이다. (왜?)
10. • 10장의 카드가 오름차순으로 미리
정렬되어있다면,
• 실생활에서의 예: 사전, 핸드폰의
전화번호 리스트, 책 뒷부분의
인덱스 등
• 85 찾기
15, 20, 25, 35, 45, 55, 60, 75, 85, 90에서 85를 순
차탐색으로 찾을 경우, 위쪽에 있는 8장의 카드를
읽은 후에나 85를 찾는다.
11. 알고리즘
• 중간에 있는 카드의 숫자인 45 (혹은 55)와 85를 먼저
비교한다.
• 오름차순으로 정렬된 데이터를 반으로 나누고,
나누어진 반을 다시 반으로 나누고, 이 과정을
반복하여 원하는 데이터를 찾는 탐색 알고리즘을
이진탐색 (Binary Search)이라고 한다.
• 이진 탐색의 기대값은? (심화 문제)
12. 1.3 동전 거스름돈
• 물건을 사고 거스름돈을 동전으로 받아야 한다면,
대부분의 경우 가장 적은 수의 동전을 받기 원한다.
• 거스름돈이 730원이라면, 500원짜리 동전 1개,
100원 짜리 동전 2개, 10원짜리 동전 3개인 총
6개를 거슬러 받으면 거스름돈 730원에 대한 최소
동전의 수이다.
13. 알고리즘
• 남은 거스름돈 액수를 넘지 않는 가장 큰 액면의
동전을 계속하여 선택하는 것이다.
• 그리디 (Greedy) 알고리즘 – 탐욕 알고리즘
• 730원의 거스름돈에 대해서, 500원짜리 동전
1개를 선택한다.
• 그 다음엔 230원이 남아있으므로, 100원짜리
동전 2개를 선택하고 나면, 30원이 남는다.
• 마지막으로 10원짜리 동전 3개를 선택한다.
• 총 동전의 수: 1+2+3 = 6개, 최소 동전의 수
14. 1.4 한붓그리기
• 종이에서 연필을 떼지 않고 그리는 한붓그리기 문
제이다.
• 한붓그리기는 그래프의 어느 한 점에서 출발하여
모든 선분을 한 번만 지나서 출발점으로 돌아오되,
궤적을 그리는 동안 연필이 종이에서 떨어져서는
안 된다. 단, 점은 여러 차례 방문하여도 괜찮다.
15. • 점 1에서 출발하여 점 2를 지나고, 점 3과 점 8을
거쳐서 점 7에 도착한 상태를 나타내고 있다.
• 지나온 궤적을 굵은 선으로 보여주고 있다. 점
7이 현재 점이라 하자. 현재 점으로부터 점 6, 9
또는 10 중에서 어디로 진행해야 할까?
현재점
16. • 점 6으로 가면, 5, 4, 3, 9, 7, 10을 거쳐서 점 1로 돌아
올 수 있다.
• 점 9로 가면, 3, 4, 5, 6, 7, 10을 거쳐서 점 1로 역시 돌
아올 수 있다.
• 점 10으로 가면, 점 1로 갈 수 밖에 없고, 3, 4, 5, 6, 7,
9 사이의 선분을 지나가기 위해서는 연필을 떼어야
만 한다.
• 점 6, 9의 공통점은? 현재 점에서 현재 점으로 돌아
오는 사이클
17. 알고리즘
• 현재 점으로부터 진행하고자 하는 점을 지나서
현재 점으로 돌아오는 사이클 (cycle)을 찾는
것이다.
• 현재 점 7에서 점 10을 지나서 현재 점으로
돌아오는 사이클은 없다. 왜냐하면 그러기
위해서는 점 1, 2, 3, 8을 지나가야 하는데 이 점들
사이의 선분은 이미 지나갔기 때문이다.
• 현재 점으로부터 점 6이나 점 9를 지나서 현재
점으로 돌아오는 사이클이 존재한다. 따라서 현재
점에서 점 6이나 점 9를 선택하면, 연필을 떼지
않고 진행할 수 있다.
18. 1.5 미로 찾기
• 미로를 찾는 문제는 그리스 신화에서 유래
• 당시 지중해의 크레타 섬을 통치하던 폭군 미노스
(Minos) 왕이 있었다. 미노스 왕은 황소 머리에
하반신은 사람인 무서운 짐승 미노타우르
에게 제물로 받치기 위해
아테네에게 젊은 남녀를
조공으로 요구하였다.
19. • 조공으로 바쳐진 젊은이들은 지하에 있는 매우
광대하고 복잡한 미로 내부에 갇혔고, 그들이
미로를 탈출하지 못하면 미노타우르가 그들을
잡아먹었다.
• 이러한 비극이 계속되는 동안, 아테네의 한 젊은
청년 테세우스 (Theseus)는 자발적으로 제물이
되기로 결심하여 조공으로 바쳐졌다. 그는 다행히
미노스 왕의 딸 아리아드네 (Ariadne)의 충고로
칼과 함께 실타래를 가지고 실을 풀면서 미로에
들어갔다.
20. • 그리고 마침내 테세우스는 미노타우르를 칼로
죽이고, 실을 다시 감으면서 미로를 빠져 나왔다.
이 그리스 신화에서 알려주는 미로 찾기의 해는
바로 실타래이다.
• 대부분의 경우는 실타래
나 도와주는 사람도 없
다. 이러한 상황에서 어
떻게 미로를 빠져나올
수 있을까?
21. 알고리즘
• 현 위치에서 한 방향을 선택하고, 벽에 오른손을
댄다. 그리고 출구가 나올 때까지 계속 오른손을
벽에서 떼지 않고 계속 걸어간다.
• 오른손 법칙
알고리즘으로 출구를
찾아 나아가는 궤적을
점선으로 보여주고
있다.
22. 미로에서의 무한 루프
• 출처 - http://blog.naver.com/omath/150035865377
• 모든 벽들이 연결된 구조일 때에는
우수법(友手法)또는 좌수법(左手法)으로 충분함
• 무한 루프는 도는 경우
–
–
–
–
확장 좌수법 (한 번 갔던 곳은 다시 가지 않는다)
구심법
다익스트라A
백트래킹
• 네이버의 길찾기나 네비게이션의 핵심 코드로
사용됨
24. 마이크로마우스 대회
• 2007 APEC Micromouse Contest 세계 1위
• 단국대학교 황하윤
– FIRST PRIZE : 최우수상
– BEST STUDENT : 학생부 우승
– FASTEST RUN :가장 빠른 주행 상
• http://pann.nate.com/video/202643346
25. 1.6 가짜 동전 찾기
• 아주 많은 동전 더미 속에 1개의 가짜 동전이 섞여
있다.
• 가짜 동전은 매우 정교하게 만들어져 누구도
눈으로 식별할 수 없다.
• 그러나 가짜 동전의 무게는 정상적인 동전보다
약간 가볍다.
• 가짜 동전 찾기 문제는 이 가짜 동전을 찾아내기
위해서 양팔 저울만 사용하여 가짜 동전을
찾아내는 것인데, 가능한 한 저울에 동전을 다는
횟수를 줄여야 한다.
26. 철수의 생각
• 임의의 동전 1개를 저울 왼편에 올리고, 나머지
동전을 하나씩 오른편에 올려서 가려내어 보자.
• 1번 (n-1)번
27. 영희의 생각
• 동전을 2개씩 짝을 지어, n/2 짝을 각각 저울에 달
아서 가짜 동전을 찾아보자.
• 1번 n/2번
28. 광수의 생각
• 동전 더미를 반 (2 짝)으로 나누어 저울 양편에
놓으면 어떨까?
이쪽에 가짜
동전이 있다.
이쪽만 반씩
나누어 …
29. 알고리즘
• 동전 더미를 반으로 나누어 저울에 달고, 가벼운
쪽의 더미를 계속 반으로 나누어 저울에 단다.
• 분할된 더미의 동전 수가 1개씩이면, 마지막으로
저울을 달아 가벼운 쪽의 동전이 가짜임을
찾아낸다.
• 광수의 알고리즘은 운이 좋을 때가 없다. 왜냐하면
마지막에 가서야 가짜 동전을 찾기 때문이다.
30. • 동전이 1,024개 있을 때 몇 번 저울에 달아야 할까?
• 먼저 512개씩 양쪽에 올려놓고 저울을 재고,
• 다음은 256개씩 재고,
• 128개씩, 64개씩, 32개씩, 16개씩, 8개씩, 4개씩,
2개씩, 마지막엔 1개씩 올려서 저울을 잰다.
• 는 총 10번이고, log21,024 = 10 이다.
• n개의 동전에 대해서 log2n 번 저울에 달면 가짜
동전을 찾는다.
31. 자루 안의 가짜 동전 문제
• 동전이 가득 든 자루가 10 개 있다.
• 동전은 어느 것이나 겉으로 봐서 똑같게 보이지만,
한 개의 자루에 들어 있는 동전만은 가짜
동전들이다.
• 진짜 동전 – 10 g, 가짜 동전 – 9 g
• 지금 곁에는 눈금 저울이 있는데, 단 한 번만
사용해서 어느 자루에 가벼운 가짜 동전이 들어
있는지 알아맞혀 보아라.
32. 1.7 독이든 술 단지
• 옛날 어느 먼 나라에 술을 매우 즐겨 마시는
임금님이 살고 있었다.
• 어느 날 이웃 나라의 스파이가 창고에 들어가서 술
단지 하나에 독을 넣고 나오다가 붙잡혔다.
• 스파이는 어느 단지인지는 모르지만 하나의
단지에만 독을 넣었다고 실토하고는 숨을
거두었다.
• 사용된 독의 특징은 독이든 단지의 술을 아주
조금만 맛보아도 술을 맛 본 사람이 정확히 일주일
후에 죽는다.
34. 아이디어 찾아내기
• 적은 수의 술 단지에 대해서 생각해보는 것이다.
• 즉, 술 단지의 수가 2개일 때, 4개일 때 문제를
풀어보고, 술 단지의 수를 늘려가면서 일반적인
규칙을 찾아보는 것이다.
35. 2개일 때
• 1 명의 신하가 1개의 술 단지의 술을 맛보아
일주일 후 살아 있으면 맛보지 않은 단지에 독이
있는 것이고, 죽는다면 맛본 술 단지에 독이 들어
있을 것이다.
술
술
36. 4개일 때
• 3 사람이 각각 1개씩 맛본다면
술
술
술
술
• 그런데 2사람으로 줄일 수는 없을까?
37. 4개일 때
• 철수의 제안: 2 사람이 각각 1 단지씩 맛보게
해보자.
?
술
술
?
술
술
• 2 사람이 맛보지 않은 나머지 2개의 단지 중
하나에 독이 들어 있으면, 일주일 후 두 사람을
살아있을 것이고, 나머지 2개의 단지 중 어느
하나에 독이 들어 있는지를 알 수 없다.
38. • 광수의 제안: 4개의 단지를 2개의 그룹으로 나누어,
각 그룹에 한 사람씩 할당한다.
• 이 경우는 맨 처음 고려했었던 술 단지의 수가 2인
경우가 2개가 생긴 셈이다.
• 과연 답을 찾을 수 있을까?
술
술
술
술
39. 광수의 제안을 어떻게 보완해야 할까?
• 다시 한 번 문제를 살펴보자.
• 혹시 문제에서 간과한 점이 있나, 아니면 문제에
없는 조건을 우리 마음대로 만들었는지를 생각해
보자.
• 대부분의 경우에 한 명의 신하가 반드시 하나의 단
지의 술만 맛보아야 하는 것으로 생각하기 쉽다.
문제에는 이러한 조건이 주어지지 않았다.
40. • 광수의 제안에서 총 4개의 단지 중에서, 시음하지
않은 2개의 단지가 있다. 이 2개의 단지 중에
하나를 두 신하에게 동시에 맛을 보게 하자.
술
술
술
A
B
술
A
B
41. • 이렇게 하면 아래와 같이 4가지의 결과가 생긴다.
두 신하를 각각 A와 B라고 하자.
1. 아무도 시음하지 않은 단지에 독이 있으면, 일주
일 후에 두 신하 둘 다 살아있다.
2. A가 혼자 시음한 단지에 독이 있으면, 일주일 후
에 A만 죽는다.
3. B가 혼자 시음한 단지에 독이 있으면, 일주일 후
에 B만 죽는다.
4. A와 B 둘 다 시음한 단지에 독이 있으면, 일주일
후에 둘 다 죽는다.
42. 알고리즘
• 각 단지에 2진수를 0부터 부여하고, 각 신하가 술
맛을 보면 1 안보면 0으로 하여, 아래와 같이
단지와 신하를 짝지어 보는 것이다.
00
01
A
10
B
11
A
B
44. 단지 수가 n일 때
• 희생자 수: 0 log2n명
• 8 개의 술단지에 대해 7명을 사용하는 경우,
기대값은? – 7/8 명 – (n-1)/n
• 8 개의 술단지에 대해 3명을 사용하는 경우,
기대값은? – 12/8 = 3/2 명 - ? (심화 문제)
45. 제로 리스크 편향(zero risk bias)
• 모든 위험을 완벽하게 제거할 수 있다는 환상
• 6개의 탄알이 들어갈 수 있는 회전 탄창을 가진
러시안 룰렛을 생각해 보자.
• (1) 4 개의 탄알이 남아있을 때, 그 중 2 개를
제거하기 위해 돈을 얼마나 지불할 수 있나?
• (2) 1 개의 탄알이 남아있을 때, 그 1 개를 제거하기
위해 돈을 얼마나 지불할 수 있나?
• 대부분의 사람들은 (2)의 경우에 더 많은 돈을
지불함
• (1)은 1/3의 확률 제거, (2)는 1/6의 확률 제거
46. 요약
• 순차탐색 (Sequential Search): 주어진 순서에 따라
차례로 탐색한다.
• 이진탐색 (Binary Search): 정렬된 데이터에 대해서
중간에 있는 데이터를 비교하여 그 결과에 따라 같
으면 탐색을 마치고, 다르면 작은 데이터가 있는
쪽 또는 큰 데이터가 있는 쪽을 같은 방식으로 탐
색한다.
• 동전 거스름돈 문제에서 가장 액면이 높은 동전을
항상 선택 (그리디하게 선택)한다. 그리디 (Greedy) 알고
리즘(4장)
47. • 한붓그리기 문제는 오일러 서킷 (Euler Circuit) 문
제와 같다. 알고리즘의 핵심은 현재 점에서 다음으
로 이동 가능한 점을 선택할 때에는 반드시 사이클
이 존재하여야 한다.
• 가짜 동전 찾기에서 동전더미를 반으로 분할하여
저울에 달고, 가짜 동전이 있는 더미를 계속해서
반으로 나누어 저울에 단다. 이는 분할 정복
(Divide-and-Conquer) 알고리즘의 일종:분할 정복 알
고리즘(3장)
• 독이든 술 단지 문제는 2진수를 활용하여 그 해를
찾는다.
48. 연습 문제
• 순차 탐색의 기대값은? 만일 반드시 하나가 있다는
것을 고려하는 경우의 기대값은?
• 이진 탐색의 기대값은?
• 미로에 대한 확장 우수법을 프로그램으로 구현해
보라. 어떤 자료 구조로 구현해야 할까?
• 가짜 동전 문제에서 철수의 생각에 대한 기대값은?
• 가짜 동전 문제에서 영희의 생각에 대한 기대값은?
• 자루 안의 가짜 동전 문제의 해법은?
• n 개의 술단지에 대해 n-1 명을 사용하는 경우의
기대값은?
• n 개의 술단지에 대해 log 2 𝑛명을 사용하는 경우의
기대값은?