23
1 탐탐 탐탐 (Lecture Note #2) (Lecture Note #2) 인인인인 인인인 인인인인인 인인인인인인 Modified from the slides by SciTech Media

탐색 (Lecture Note #2)

  • Upload
    dalia

  • View
    105

  • Download
    1

Embed Size (px)

DESCRIPTION

Modified from the slides by SciTech Media. 탐색 (Lecture Note #2). 인공지능 이복주 단국대학교 컴퓨터공학과. Outline. 탐색 문제 해결 상태 공간 탐색 기법 휴리스틱 기법 게임 트리 기법 알파베타 탐색 문제 제약 조건 만족 문제. 탐색 (Search). 컴퓨터가 문제를 자율적으로 해결하기 위해 해 혹은 해에 이르기 위한 경로를 찾아가는 과정 탐색은 인공 지능적 문제해결에서 주요한 수단 초기의 서양 장기 , 근래의 비행기표 예약 시스템 - PowerPoint PPT Presentation

Citation preview

Page 1: 탐색 (Lecture Note #2)

1

탐색탐색(Lecture Note #2)(Lecture Note #2)

인공지능

이복주단국대학교 컴퓨터공학과

Modified from the slidesby SciTech Media

Page 2: 탐색 (Lecture Note #2)

2

OutlineOutline

탐색 문제 해결 상태 공간 탐색 기법 휴리스틱 기법 게임 트리 기법 알파베타 탐색 문제 제약 조건 만족 문제

Page 3: 탐색 (Lecture Note #2)

3

탐색 탐색 (Search)(Search)

컴퓨터가 문제를 자율적으로 해결하기 위해 해 혹은 해에 이르기 위한 경로를 찾아가는 과정

탐색은 인공 지능적 문제해결에서 주요한 수단– 초기의 서양 장기 , 근래의 비행기표 예약 시스템

해를 찾는 과정의 효율성과 찾은 해의 적합성까지 포함 다른 분야와의 관계 ( 학자에 따라서 )

– 계획 (planning) 은 탐색의 특수한 경우– 탐색은 학습 (learning) 의 특수한 경우

Page 4: 탐색 (Lecture Note #2)

4

문제 해결문제 해결 문제 해결

– 인간의 지적 문제해결 • ‘1+2’: 인공지능적 문제 해결로 볼 수 없다 .• 하노이 탑 문제 : 인공지능적 탐색이 필요

예제 2.1: 하노이 타워– 캄보디아 하노이 근처 사원 , 64 개의 원반 , 5 개 기둥– 한번에 하나의 원반 옮김 , 작은 원반이 밑에 가는 경우 없음

Page 5: 탐색 (Lecture Note #2)

5

예제예제 : : 하노이 타워하노이 타워

예제 2.1: 간단한 하노이 타워 문제

– 답 : m(d1, p2), m(d2, p3), m(d1, p3)

(a) 초기상태

d1

d2

p1 p2 p3

(b) 목표상태

p1 p2 p3

동작 작용 m(d1,p1) d1 을 p1 으로 옮긴다 .m(d1,p2) d1 을 p2 로 옮긴다 .m(d1,p3) d1 을 p3 로 옮긴다 .m(d2,p1) d2 를 p1 으로 옮긴다 .m(d2,p2) d2 를 p2 로 옮긴다 .m(d2,p3) d2 를 p3 로 옮긴다 .

문제해결을 위한 가능한 동작의 문제해결을 위한 가능한 동작의 정의정의

Page 6: 탐색 (Lecture Note #2)

6

문제 해결문제 해결 문제 해결

– 직접적 기법• 주어진 초기 상태로부터 문제 해를 위한 순차적 수행을 위한

프로그래밍• 예 : m(d1, p2), m(d2, p3), m(d1, p3) 을 프로그램 화• 초기상태가 다르면 프로그램 수정 필요• 1+2 를 해결하는 것과 비슷• 인공지능적 방법이 아님 ( 거의 모든 기존의 프로그램에 의한

문제 해결방식 )

– 인공지능적 해법• 문제 상태와 요구하는 목표 상태만으로 컴퓨터가 문제 해결

Page 7: 탐색 (Lecture Note #2)

7

탐색에 의한 문제 해결탐색에 의한 문제 해결 탐색에 의한 문제 해결

– 문제의 해에 도달하기 위한 탐색과정을 직접 수행함으로써 보다 포괄적 ( 일반적 ) 이며 자동화된 해결방안

– 탐색에 의한 문제 해결법과 직접적 해결은 활용 영역이 다름• 문제해결 과정 중에 지적 판단이 요구되는 경우 탐색기법이 유용

– 완벽한 의미의 지능적 기계보다는 인간의 지능이 어느 정도 개입하는 시스템 개발이 보다 현실적이다

• 탐색의 방식은 인간이 결정

– 문제해결의 최적의 방법보다 적당한 방법을 찾는 것이 쉽고 , 인간의 문제 해결 방식과 상통하는 바가 있다

Page 8: 탐색 (Lecture Note #2)

8

상태공간 상태공간 (state space)(state space)

상태공간 (state space)– 상태 : 문제의 풀이과정 중의 고유한 요소 ( 상황 )– 상태의 집합을 상태공간– 상태공간의 도입은 문제의 형식화에 유리

• 하노이 타워 : ((p1 에 있는 원반 ) (p2 에 있는 원반 ) (p3 에 있는 원반 )) • 초기상태 = ((d1,d2)()()) • 목표상태 = (()()(d1,d2))• 초기상태에 연산자 ( 규칙 ) 적용 상태 변이 목표상태

Page 9: 탐색 (Lecture Note #2)

9

상태 트리 예상태 트리 예 예제 2.1 상태 트리 예 ( 그림 2.2)

((d1,d2)()()) ((d2)()(d1)) (()(d1)(d2)) ((d2)(d1)())((d1,d2)()()) (()(d2)(d1))

((d2)(d1)()) ((d2)()(d1))

((d1,d2)()())

m(d1,p2) m(d1,p3)

m(d1,p1)m(d1,p3)

m(d2,p3)m(d1,p1)

m(d1,p2)

m(d2,p2)

Page 10: 탐색 (Lecture Note #2)

10

상태공간 상태공간 (state space)(state space)

상태공간 (state space) ( 계속 )– 트리 구조

• 각 상태 : 노드 (node)• 문제의 초기 상태 = 뿌리 노드 (root node)• 적용 가능한 연산자나 조건 = 가지 (branch)• 확장 (expansion): 부모 노드에서 자녀 노드를 얻는 것• 열린 노드 (open node): 확장 전 노드• 닫힌 노드 (closed node): 확장 된 노드

– 뿌리노드에서 목표노드까지 도달하는 과정• 트리 전체의 모양을 완성할 필요는 없음• 트리의 크기가 문제해결의 효율성과 관련

– 트리에서의 노드의 재생성은 문제 야기 그래프구조• 탐색의 효율을 저하 , 무한루프에 빠질 가능성

Page 11: 탐색 (Lecture Note #2)

11

상태 그래프 예상태 그래프 예 그림 2.3 상태 그래프 예

((d1,d2)( )( ))

((d2)(d1)( ))

(( )(d1)(d2))

((d2)( )(d1))

(( )(d2)(d1))

m(d1,p2)

m(d1,p2)

m(d1,p3)

m(d1,p1)m(d1,p3)

m(d1,p1)

m(d2,p1) m(d2,p3) m(d2,p2) m(d2,p1)

Page 12: 탐색 (Lecture Note #2)

12

탐색기법탐색기법 기본적 탐색기법

– 어떤 연산자를 선택할 것인가– 경로 선택의 고려사항

• 해의 경로는 짧아야 한다• 탐색의 소요 경비는 적어야 한다• 해가 있다면 탐색으로 반드시 찾아야 한다

– 탐색 기법으로 해결할 수 있는 문제 분류• 경로 발견 (path finding) 문제 : e.g., 8-puzzle• 게임 (game) 문제 : e.g., chess, 바둑

– 두 명의 참여자가 자신의 이익을 극대화하려 경쟁• 제약조건 만족 (constraint satisfaction) 문제 : e.g., 8-queen

– 목표에 이르는 경로를 찾는 것이 아니라 목표 자체를 발견하는 것

Page 13: 탐색 (Lecture Note #2)

13

탐색기법탐색기법 무작위 탐색 (random search or blind search)

– 무작위로 경로 선택– 영국박물관 알고리즘 (BMA: British Museum Algori

thm)– 일반적으로 최악의 방법이라고 생각되지만– 탐색 영역이 작은 ( 축소될 수 있는 ) 문제에는

유용할 수도 있다– 예 : 예제 2.1 의 하노이 타워 (2 개의 원반 )

트리에 의한 탐색– 일반적인 탐색기법– 깊이우선 (depth-first) 탐색 , 너비우선 (breadth-f

irst) 탐색

Page 14: 탐색 (Lecture Note #2)

14

깊이 우선 탐색 깊이 우선 탐색 (depth-first search: (depth-first search: DFS)DFS)

깊이 우선 탐색 (depth-first search: DFS)– 탐색 트리의 수직방향으로 점차 깊은 곳까지 목표노드를

찾아 탐색해 나가는 기법 (backtracking 이 존재 )

Page 15: 탐색 (Lecture Note #2)

15

깊이 우선 탐색 깊이 우선 탐색 (depth-first search: (depth-first search: DFS)DFS)

깊이 우선 탐색 (depth-first search: DFS)– 장점

• 저장공간의 수요가 비교적 작다• 목표노드가 깊은 단계에 있을 경우 해를 빨리 구할 수도 있다

– 단점• 해가 없는 경로에 깊이 빠질 우려 (depth bound 설정 )• 해에 이르는 경로가 다수인 경우 얻어진 해가 최단 경로가 된다는

보장이 없다

– 예제 2.2.: 평균 탐색 노드 수 ( 가지 : b 개 , 목표노드 깊이 : d)

• 목표가 최좌측 : d+1 (1) • 목표가 최우측 : 1+b+b2+ … +bd = (bd+1-1)/(b-1) (2)• 평균 : {(1) + (2)} / 2

Page 16: 탐색 (Lecture Note #2)

16

너비우선 탐색너비우선 탐색 (breadth-first search: (breadth-first search: BFS)BFS)

너비우선 탐색 (breadth-first search: BFS)– 탐색트리의 루트노드부터 목표노드를 만날 때까지 단계별로

횡방향으로 탐색을 진행해 나가는 방식

Page 17: 탐색 (Lecture Note #2)

17

너비우선 탐색너비우선 탐색 (breadth-first search : (breadth-first search : BFS)BFS)

너비우선 탐색 (breadth-first search : BFS)– 장점

• 해에 이르는 경로가 다수인 경우에도 최단경로를 보장• 해가 존재하면 반드시 찾을 수 있다• 노드의 수가 적고 얕은 깊이에 해가 존재할 때 유리

– 단점• 노드의 수가 늘어나면 탐색시간이 비현실적이다• 기억공간에 대한 요구가 과중

– 예제 2.3: 평균 탐색 노드 수 ( 가지 : b 개 , 목표노드 깊이 : d)

• d 깊이 목표를 위한 평균 노드 수 = (d-1 깊이까지 총 노드수 ) + (d 깊이에서의 노드 평균수 ) • d-1 까지의 총수 : 1+b+b2+ … +bd-1 = (bd-1)/(b-1) (1)• d 에서의 평균 수 : (1+ bd)/2 (2)

Page 18: 탐색 (Lecture Note #2)

18

탐색의 방향탐색의 방향 탐색의 방향

– 전향 추론 (forward reasoning)• 초기상태에서 목표상태로 탐색

– 후향 추론 (backward reasoning)• 목표상태에서 초기상태로 탐색

– 주어진 문제의 성격에 따라 좌우된다• 시작 상태의 단순성과 복잡성 비교

– 예제 2.4: 런던을 거쳐 도버로 여행가는 길 찾기 ( 그림 2.6)• 후향 추론이 더 유리

런던

캔터베리

마케트

도버

코벤트리

노스앰톤

옥스포드

브리스톨

솔즈베리

사우스앰톤 포츠머스헤이스팅즈

노리지

캠브리지

콜체스트

Page 19: 탐색 (Lecture Note #2)

19

휴리스틱 기법휴리스틱 기법

휴리스틱 (heuristic) 기법– 논리적으로 혹은 수학적으로 증명할 수 없으나 경험이나

직관에 의해 효율적으로 해를 얻을 수 있으리라는 기대를 갖게 하는 어떤 근거에 의한 방법

– 용도• 정의하기 힘든 문제 : 예 , 직업선택 , 예산지출• 맹목적인 기법 (blind search) 으로 풀기에는 비현실적인 문제

– 인간의 사고형태는 대부분 휴리스틱이다– 해법이 유일하지 않으며 , 최적의 해를 보장할 수 없다– 해의 결정에 허용치를 부과하는 방법이 유용하다

Page 20: 탐색 (Lecture Note #2)

20

휴리스틱 기법휴리스틱 기법

휴리스틱 (heuristic) 기법 : TSP (Traveling Salesman Problem)

– n=3: A-B-C-A, A-C-B-A 같은 경로 1 가지– n=4: 3 가지– n=5: 12 가지– n 개의 도시 순회 방문 (n-1)!/2– n=20 60,822,550,204,416,000– 가능한 경로를 구한 후 가능성 생각 : 시간 너무 많이 걸림

Page 21: 탐색 (Lecture Note #2)

21

휴리스틱 기법휴리스틱 기법

외판원 방문 예에서 휴리스틱 사용– 1. 임의의 도시를 출발지로 한다– 2. 다음 방문 도시는 지금까지 방문하지 않은 도시 중에서 현재 위치에서 가장 가까운 도시부터 먼저 방문

– 3. 더 이상 방문할 도시가 없으면 끝내고 , 아니면 2 로 간다

Page 22: 탐색 (Lecture Note #2)

22

휴리스틱 기법휴리스틱 기법

외판원 방문 예에서 휴리스틱 사용– 위의 절차를 표 2.2 에 적용 ( 그림 2.8)

– 해 : 광주 , 목포 , 전주 , 대전 , 광주

Page 23: 탐색 (Lecture Note #2)

23

SummarySummary

탐색 문제 해결 하노이 타워 상태 공간 탐색 기법 깊이 우선 탐색 너비 우선 탐색 휴리스틱 기법