Transcript lec03
Modified from the slides
by SciTech Media
탐색
(Lecture Note #3)
인공지능
이복주
단국대학교 컴퓨터공학과
1
Outline
탐색
문제 해결
상태 공간
탐색 기법
휴리스틱 기법
게임 트리 기법
알파베타 탐색 문제
제약 조건 만족 문제
2
Slide made by Bogju Lee
언덕등반기법 (hill-climbing)
언덕등반기법
(hill-climbing)
– 평가함수 (evaluation function or objective function) 사
용
• 한 경로가 목표에 이르는데 얼마나 지름길일 것인지 판단하는 함수
• 평가함수 값을 증가(감소)시키는 방향으로 나가는 탐색전략
• 계곡 하강법 (valley declining)
– 깊이우선 탐색기법에 평가함수를 활용한 형태
– 최단의 경로에 대한 보장이 없다
– 국부최대가 존재할 수 있다 (plateau)
– 과정 회복 불가능 (irrevocable)
예) 8-퍼즐 문제 (그림 2.9)
2
3
1 8 4
7 6 5
1 2 3
8
4
7 6 5
초기상태
목표상태
3
Slide made by Bogju Lee
언덕등반기법 (hill-climbing)
8-퍼즐
문제
2
3
1 8 4
7 6 5
1 2 3
8
4
7 6 5
초기상태
목표상태
평가함수 = 목표상태와 같은 위치에 있는 타일 수
초기상태 = 5 (3, 4, 5, 6, 7 이 같은 위치)
목표상태 = 8
연산자 = blank cell을 전후좌우로 이동시키는 것
4
Slide made by Bogju Lee
언덕등반기법 (hill-climbing)
8-퍼즐문제의 탐색 (그림 2.10)
1
6
2
2 3
1 8 4
7 6 5
5
2
3
1 8 4
7 6 5
5
2 8 3
1
4
7 6 5
4
2 3
1 8 4
7 6 5
3
7
6
1 2 3
7 8 4
6 5
6
1 2 3
8 4
7 6 5
2 3
1 8 4
7 6 5
2
3
1 8 4
7 6 5
5
8
4
1 2 3
8
4
7 6 5
5
Slide made by Bogju Lee
언덕등반기법 (hill-climbing)
언덕등반기법의
실패 (그림 2.11)
5
5
2 8 3
1 4
7 6 5
5
2 8 3
1
4
7 6 5
2
3
1 8 4
7 6 5
4
2 8 3
1 4
7 6 5
4
2 8 3
1 6 4
7
5
– 평가함수의 값을 높이는 방향으로 탐색할 수 없음
– 국부 최대 (local maximum)에 빠짐
– 많은 실제적 문제에서 국부 최대 문제 발생
6
Slide made by Bogju Lee
최고우선탐색 (best-first)
최고우선탐색
(best-first)
– 모든 말단 노드(열린 노드)를 대상으로 평가함수 값을 비교
하는 방법
• 선택 안 된 노드도 추후 선택 가능
• Vs. 언덕등반기법: 하나의 노드가 선택되면 같은 레벨의 다른 노드들
다시 고려되지 않음
7
Slide made by Bogju Lee
최고우선탐색 (best-first)
– 최고우선 탐색법 예 (그림 2.12)
a
4
4
5
f
a
6
2
s
1
b
2
s
1
b
g
5
2
c
5
d
4
c
3
a
4
e
2
s
1
b
a
5
2
d
2
s
1
b
c
3
e
5
c
5
f
6
g
2
d
5
h
3
i
8
j
3
e
8
Slide made by Bogju Lee
최고우선탐색 (best-first)
최고우선탐색
(best-first)
– 국부최대를 만나도 탐색이 계속된다
• Vs. 언덕등반기법: 자녀노드에 더 좋은 함수 값이 없으면 탐색 진행 안
됨
– 너비우선 방식에 비해 탐색비용이 절감된다
• 열린노드를 대상으로 가장 좋은 것 선택
– 그러나 역시 최적의 경로를 보장할 수 없다
• 아직 선택 안 된 노드를 또 확장해 보면 더 나은 해를 발견 가능
• 예: 앞의 예에서 b의 자녀 중에 최적의 해가 있을 수도
• 해결책: 해를 찾은 후라도 아직 open 안된 노드 open 하여 확인한다
9
Slide made by Bogju Lee
최고우선탐색 (best-first)
빔 탐색 (beam search)
– 최고우선기법에서 기억노드(열린 노드)의 수를 제한하는 방
법
– 기억공간이 축소되지만 너무 빠른 가지치기(pruning)를 초
래
10
Slide made by Bogju Lee
A-알고리즘
A-알고리즘
–
–
–
–
지금까지의 평가함수: 노드의 목표노드와의 근접도
실제 최적의 경로: 초기노드에서 목표노드까지의 최단 경로
임의의 노드 N의 평가함수를 정의
f(N) = g(N) + h(N)
•
•
•
•
g(N): 초기노드에서 N노드 까지의 최단거리
h(N): N노드에서 목표노드까지 최단 거리
h(N)은 해가 주어지지 않으면 알 수 없으므로,
h(N)대신에 추정치 h*(N)을 사용
– f(N) = g(N) + h*(N): 평가함수
11
Slide made by Bogju Lee
A* 알고리즘
A*
알고리즘
– A 알고리즘에서 모든 N에 대해 h*(N) h(N)가 성립되도
록 하면 허용성을 가짐 A* 알고리즘
• 허용성 (admissibility): 최적의 경로를 보장하는 조건
– Admissible: h* never overestimates h (i.e.,
underestimate or equal)
– 예: straight line, # tiles out of place
h
2
3
1 8 4
7 6 5
h*
# tiles out of place
h* = 4
h >= 4
1 2 3
8
4
7 6 5
# tiles out of place
=0
12
Slide made by Bogju Lee
A* 알고리즘
A*
알고리즘
– f(N) = g(N)로 두면(h*(N)=0), 허용성 조건을 만족
• 평가함수로 초기노드와의 거리만을 고려
낮은 깊이 노드를 우선 탐색 BFS
• BFS가 최단 경로를 발견한다는 것을 다시 입증
– BFS를 해나가는 데 있어 각 노드에서 목표에 이르는 경로가
얼마나 짧은 것인가의 추정치를 이용하는 방법
• cf. 8-puzzle에서 상태 N에서의 평가 함수
• f(N) = g(N) + W(N)
• 여기서 W(N)은 목표상태와 틀린 위치의 타일의 갯수
13
Slide made by Bogju Lee
Summary
언덕 등반 기법
최고 우선 탐색
언덕 등반 기법과 최고 우선 탐색의 차이점
A* 알고리즘
– Admissibility
모두 heuristic 기법의 일종
14
Slide made by Bogju Lee