1 탐색 (Lecture Note #4) 인공지능 이복주 단국대학교 컴퓨터공학과 Modified from the slides by SciTech Media.

Slides:



Advertisements
Similar presentations
10-7 부동소수점 (Floating-Point) 계산  컴퓨터에서 숫자를 표기하는 방법  가수 (Fraction) : 부호화된 고정소수점 숫자 지수 (Exponent) : 소수점의 위치를 표시 ( 예 )10 진수 를 표기하면 Fraction Exponent.
Advertisements

1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
인공지능 : 개념 및 응용 Artificial Intelligence: Concepts and Applications 2. 탐색 도용태 김일곤 김종완 박창현 공저 탐색 (Search) 컴퓨터가 문제를 자율적으로 해결하기 위해 해 혹은 해 에 이르기 위한 경로를 찾아가는.
Add Your Text 5. 지수함수와 로그함수 1. 지수함수 2. 로그함수 · 지수함수와 그 그래프 · 지수방정식과 지수부등식 · 로그 함수와 그 그래프 · 로그방정식과 로그부등식.
탐색 (Lecture Note #2) 인공지능 이복주 단국대학교 컴퓨터공학과 Modified from the slides
이진 나무 구조 강윤섭 2008년 5월 23일.
재료수치해석 HW # 박재혁.
(1.1 v) 엔트리교육연구소 엔트리 카드게임 설명서.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
되추적(Backtracking).
제 12 장 직교배열표에 의한 실험계획(1).
수치해석 6장 예제문제 환경공학과 천대길.
컴퓨터 프로그래밍 기초 [Final] 기말고사
되추적(Backtracking).
Chapter 02 순환 (Recursion).
최현진 정경대학 정치외교학과 국제정치론 2014 가을학기 제1주(2) 최현진 정경대학 정치외교학과
2007 1학기 11 프로젝트 기초 실습.
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
CH 4. 확률변수와 확률분포 4.1 확률 확률실험 (Random Experiment, 시행, Trial) : 결과를 확률적으로 예측 가능, 똑 같은 조건에서 반복 근원사상 (Elementary Event, e) : 시행 때 마다 나타날 수 있는 결과 표본공간.
지식 표현과 논리 (Lecture Note #5)
<소스코딩(Source Coding)> 제4장 가변길이 코드
탐색 (Search) 컴퓨터가 문제를 자율적으로 해결하기 위해 해 혹은 해에 이르기 위한 경로를 찾아가는 과정
1.4 중첩된 한정기호 (Nested Quantifiers) 이산수학 (Discrete Mathematics)
프로그래밍 개요
Chap 6.Assembler 유건우.
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
27장. 모듈화 프로그래밍.
문제 2명의 사형수가 있다. 둘에게는 검정색 모자와 흰색 모자를 임의로 씌우는데, 자기가 쓴 모자의 색은 절대로 알 수가 없다. 서로 상대의 모자색만을 볼 수 있고, 이들이 살기 위해선 자신의 쓴 색의 모자를 맞춰야 한다. 단, 둘 중 한명만이라도 자신이 쓴 모자의 색을.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
8장. 상호 배타적 집합의 처리.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
8장. spss statistics 20의 데이터 변환
디케Dike-정의의여신 Footer Text 4/21/2019.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
메모리 타입 분석을 통한 안전하고 효율적인 메모리 재사용
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
⊙ 이차방정식의 활용 이차방정식의 활용 문제 풀이 순서 (1)문제 해결을 위해 구하고자 하는 것을 미지수 로 정한다.
논문작성을 위한 연구모형 설정 양동훈.
균형이진탐색트리 이진 탐색(binary search)과 이진 탐색 트리(binary search tree)와의 차이점
하이브리드 문화 현상 11조 윤주성, 이호, 허성녕.
탐색 (Lecture Note #3) 인공지능 이복주 단국대학교 컴퓨터공학과 Modified from the slides
에어 PHP 입문.
Excel 일차 강사 : 박영민.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
5장. 선택 알고리즘.
SPL3D Printer If 조건문.
1. 접선의 방정식 2010년 설악산.
광합성에 영향을 미치는 환경 요인 - 생각열기 – 지구 온난화 해결의 열쇠가 식물에 있다고 하는 이유는 무엇인가?
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
탐색 (Search) 컴퓨터가 문제를 자율적으로 해결하기 위해 해 혹은 해에 이르기 위한 경로를 찾아가는 과정
함수, 모듈.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
9 브라우저 객체 모델.
상관계수.
컴퓨터공학과 손민정 Computer Graphics Lab 이승용 교수님
실습 UBLAB.
3장 (2) 구문과 의미론 순천향대학교 컴퓨터공학과 하상호.
트리 (Logical) Data Structures Linear list Tree Graph Linear structures
제 4 장 Record.
수치해석 ch3 환경공학과 김지숙.
9장. spss statistics 20의 데이터 변수계산
어서와 C언어는 처음이지 제21장.
NACST progress report 신수용.
수학10-나 1학년 2학기 Ⅱ.부등식의 영역 3. 부등식의 영역에서 최대, 최소(5/5) 부등식 영역 수업계획 수업활동.
 6장. SQL 쿼리.
퍼지 이론 (Lecture Note #12) 인공지능 이복주 단국대학교 컴퓨터공학과
7 생성자 함수.
6 객체.
Presentation transcript:

1 탐색 (Lecture Note #4) 인공지능 이복주 단국대학교 컴퓨터공학과 Modified from the slides by SciTech Media

2 Slide made by Bogju Lee Outline  탐색  문제 해결  상태 공간  탐색 기법  휴리스틱 기법 –Hill Climbing –Best-First Search –Beam Search –A* Search  게임 트리 기법  알파베타 탐색 문제  제약 조건 만족 문제

3 Slide made by Bogju Lee 게임 트리 탐색  컴퓨터 게임의 역사 –19 세기 : Charles Babbage, 해석 기계에서 서양장기 프로 그래밍 구상 –1950 년대 : Shannon, Turing, 서양장기의 컴퓨터적 알고 리즘 구체적으로 생각 –1960 년대 : Samuel, 프로그램 실제 작성  게임을 위한 탐색 – 지금까지의 탐색과 다른 점 : 다수 (2 인 ) 가 상호 배타적인 환 경에서 승리하기 위한 경로를 탐색 각자의 이익이 상대에게는 손해 – 같은 점 : 자신의 이익을 극대화 시키기 위한 결정 – 앞을 내다봄으로써 현재 상태의 선택을 결정한다 – 대부분의 게임에서 완벽한 평가함수의 정의가 불가능  휴 리스틱한 기준에 의한 추정치 만을 제공

4 Slide made by Bogju Lee 게임 트리 탐색  말패 (last-one-loses) 게임 – 임의의 수의 칩에서 시작, 1~3 개의 칩을 들어냄, 마지막 칩을 들 어낸 사람이 지는 게임 –4 개의 칩인 경우 탐색 트리 : 그림 2.13 –Note: state, operator 표현 – 실제 문제에서 전체 트리를 완성한 후 선택하는 것은 불가능

5 Slide made by Bogju Lee 게임 트리 탐색  예제 2.6: 말패 게임을 위한 평가함수 –4k+1 개의 칩이 남아 있게 하면 이김 –n=1,2,3 – 평가함수를 사용한 말패 게임 ( 그림 2.14)

6 Slide made by Bogju Lee 게임 트리 탐색  평가 함수 – 말패 게임은 특수한 경우 – 대부분의 다른 문제에서 완벽한 평가 함수 정의 힘듬  평가 함수 1 에서 –1 인 경우 –1: A 가 이기는 것 의미 –-1: B 가 이기는 것 의미 –0: 백중 (tie) –A 는 자녀 노드 중 평가 함수 큰 것 선택 ( 그림 2.15) –B 는 자녀 노드 중 평가 함수 작은 것 선택 A [c 1 ] f=0.8 [c 2 ] f=0.3 [c 3 ] f=-0.2

7 Slide made by Bogju Lee 게임 트리 탐색  두 단계 앞까지 고려한 경우 ( 그림 2.16) – 한 단계만 고려한다면 A 는 c1 (0.8) 선택 – 두 단계까지 고려한다면 A 가 c1 을 선택한 경우 B 는 c13 (-0.6) 선 택 –A 가 c3 를 선택한다면 B 는 c32 (-0.3) 선택 –A 는 c1, c3 중 어떤 노드를 선택해야 하나 ? A [c 1 ] f=0.8 [c 2 ] f=0.3 [c 3 ] f=-0.2 [c 11 ] f=0.9 [c 12 ] f=0.1 [c 13 ] f=-0.6 [c 21 ] f=0.1 [c 22 ] f=-0.7 [c 31 ] f=-0.1 [c 32 ] f=-0.3 최소화자 (B) 단계

8 Slide made by Bogju Lee 최소 최대 (minimax) 탐색법  최소최대 (minimax) 탐색법 – 최소화자 (minimizer) 와 최대화자 (maximizer) 로 구성되 어 있다고 가정하고 탐색해 나가는 전략 – 몇 수 앞을 내다보느냐가 탐색의 양에 영향 서양 장기 : 각 노드 당 평균 자녀 수 35 개, 한 게임 50 수  경 우의 수 – 최소최대법을 사용하면 탐색의 영역을 축소 가능 어떤 노드가 그 함수 값을 구하거나 확장하지 않아도 판단을 내리는데 지장이 없는 경우에 이 노드를 고려 대상에서 제외  - pruning ( 알파 - 베타 가지치기 )

9 Slide made by Bogju Lee 알파 베타 탐색 문제  알파베타 가지치기 ( 그림 2.17) – 최대화 노드에서 가능한 최소의 값 ( 알파 ) 과 최소화의 노드에서 가능한 최대의 값 ( 베타 ) 를 사용한 게임 탐색법 – 기본적으로 DFS 로 탐색 진행 – 어떤 최소화 노드의 베타값 (=-0.1) 이 자신보다 상위 ( 선조노드 ) 에 있는 어떤 최대화 노드의 알파값 (=0.2) 보다 작거나 같을 때, 이 최소화 노드는 가지치기 된다 ( 최소화 노드의 자식들이 cut 됨 ). [c 0 ]  =0.2 [c 2 ] f= -0.1 [c 1 ] f=0.2 [c 21 ] f= -0.1 [c 22 ][c 23 ] [c 11 ] f=0.2 [c 12 ] f=0.7 C 21 의 평가값 -0.1 이 C 2 에 올려지면 나머지 노드들 (C 22, C 23 ) 을 더 이상 탐색할 필요가 없음

10 Slide made by Bogju Lee 다음 법칙을 이용하여 아래의 알파 - 베타 탐색 트리를 완성하라 알파 베타 탐색 문제 가지치기가 일어나는 법칙 : 1. 어떤 최소화노드의 베타값 ( 예  =-3 ) 이 자신보다 상위 ( 선조노드 ) 에 있는 어떤 최대화 노드의 알파값 (  =0 ) 보다 작거 나 같을 때, 이 최소화 노드는 가지치기 된다. 2. 어떤 최대화노드의 알파값이 자신보다 상위 ( 선조노드 ) 에 있는 어떤 최소화 노드의 베타값보다 크거나 같을 때, 이 최 대화 노드는 가지치기 된다. 3. 최상위의 최대화노드의 알파값은 최종적으로 올려진 값 (backed-up value) 로 주어진다.

11 Slide made by Bogju Lee 제약 조건 만족 문제 (Constraint Satisfaction Problem)  n 개의 변수로 구성된 CSP 정의 – 유한하고 이산적인 영역들인 D 1, D 2, …,D n 으로부터 값을 취하 고 그 값들 간에는 제약조건 p k (x k1,x k2,…x kl ) 이 존재하는 문제 – 모든 제약 조건을 만족하도록 변수들에 적당한 값 지정 – 일종의 NP-complete 문제

12 Slide made by Bogju Lee  8-Queen 문제 ( 그림 2.18) – 여왕은 하나의 행이나 열에 놓이고 서로 대각선에 놓여도 안 됨 –x i : i 번째 행의 여왕이 놓일 수 있는 열 위치, x 1, x 2, …, x 8 – 여왕 x i, x j 의 위치사이의 제약조건 –i, j 의 열이 같으면 않 되고 행의 차이와 열의 차이가 같으면 않 됨 제약 조건 만족 문제 (Constraint Satisfaction Problem) x 2 = 7

13 Slide made by Bogju Lee 제약 조건 만족 문제 (Constraint Satisfaction Problem)  다른 CSP 문제 –Graph Coloring 문제 : 이웃 노드는 반드시 다른 색깔을 갖도록 색 칠  제약 조건 그래프 : 그림 2.19 –x 1 = {0, 1}, x 2 = {0, 1}, x 3 = {1} – 제약 조건 : x 1  x 2, x 1  x 3 –x 3 = 1, x 1 = 0, x 2 = 1

14 Slide made by Bogju Lee 제약 조건 만족 문제 (Constraint Satisfaction Problem)  탐색기법의 활용 – 공장자동화, 로보트의 경로계획 NASA 의 GPSS (ground processing scheduling system): 주어진 인원과 장비로 우주왕복선의 보수를 마치도록 적절한 일정을 탐색함 – 비행기 좌석예약 시스템 : 승객의 요구 최대 수용, 항공사의 이익 극대화 – 게임 chess - Deep Blue 바둑 - 아직 수준이 요원 – 경제학적 응용 : 다자가 공동의 공간에서 자신의 이익을 달성 하려는 경제적 문제 – 실제 게임의 경우 탐색의 양이 폭증  지식 활용에 대한 연 구가 많이 요구됨

15 Slide made by Bogju Lee Summary  게임 트리  최소 최대 탐색  알파 베타 탐색 문제  제약 조건 만족 문제