Ch 2 Search 1 Contents q q Breadthfirst
Ch. 2 탐 색(Search) 1
Contents q q 인공지능 문제의 특징 문제의 표현 문제풀이 기본적 탐색기법 Breadth-first search Depth-first search Uniform-cost search 탐색 노드의 확장 방향 q Heuristic Search Hill-climbing search Best-first search Beam search A* search q Game Playing Minimax algorithm Alpha-Beta pruning q 제약조건 만족문제 q 탐색기법의 활용 2
인공지능 문제의 특징(2) q Example TSP: Traveling Salesman’s Problem A 3 5 3 4 B 6 4 E 6 6 7 C 3 D 4
인공지능 문제의 특징(3) q Example: Search Trees or Graphs TSP: Traveling Salesman’s Problem (A) (A, B) (A, C) (A, B, C, D) (A, B, C, E) (A, B, D, C) (A, D) (A, E) (A, B, D, E) (A, B, D, E, C) (A, B, C, D, E) (A, B, C, E, D) (A, B, D, C, E) (A, B, D, E, C) (A, B, C, D, E) …… (A, B, D, C, E, A)(A, B, D, E, C, A) (A, B, C, D, E, A)(A, B, C, E, D, A)(A, B, D, C, E, A) 24 24 28 28 25 25 28 28 5
문제의 표현(5) q 상태공간의 표현– con’d (2) 트리구조 level 0 부모노드(parent node) 자식노드(child node) 노드확장(node expansion) level 1 open node : 확장될 노드 closed node : 확장된 노드 자손(descendant) 형제노드(sibling) 레벨(level) 깊이(depth) level n … … … 10
문제풀이(3) q 상태공간 방식(state space approach) op(state) state op(…. (op(initial state))) = goal state solution(해) : finite sequence of applications of operators that change an initial state into a goal state (sequence of operations) 문제를 해결할 수 있는 minimum operation 수를 찾아야 함. (ex) Hanoi tower problem 14
문제풀이(4) q Example Hanoi Tower 15
문제풀이(5) q Example: Search Trees or Graphs Hanoi Tower 16
문제풀이(7) q Example Hanoi Tower의 상태공간 (111) (112) (132) 이동(A, 3, 1) 이동(A, 1, 3) (113) 이동 (B, 2, 1) 이동 (B, 1, 2) (123) (133) (122) (131) (121) (233) (231) (232) (323) (212) (221) (222) (322) (223) (211) (321) (331) (313) (311) (312) (333) 18
문제풀이(8) q 문제축소 방식(problem reduction approach) 부분문제(subproblem)를 이용 원래의 문제를 부분문제로 나누고, 부분문제를 또 다시 나누는 방법을 반복하여 각각의 부분문제를 해결함으로써 전체문제를 해결하는 것 principal data structure : problem description 문제표현 1) initial problem description : IS, GS, operator 2) set of problem reduction operator(문제축소연산자) problem description {여러 개의 problem description} 3) set of primitive problem(known how to solve) 19
문제풀이(9) q Example Hanoi Tower의 AND-OR 그래프 (111) (333) (111) (122) (111) (113) (123) (122) (322) (123) (122) (322) (321) (322) (333) (321) (331) (333) 20
탐색의 유형 q Heuristics Knowledge(경험적 지식) 유, 무 BLIND SEARCH(맹목적 탐색): No heuristics used - 무정보 순차 탐색 ú Type • • • HEURISTIC SEARCH(휴리스틱 탐색): Use heuristics – 경험에 의한 규칙을 이용한 탐색 ú Type • • q Breadth-first (너비우선) Depth-first(깊이우선) Uniform cost(균일비용) Hill climbing (언덕등반기법) Best first(최고우선) Beam search(빔 탐색법) A*(A star) 탐색 노드의 확장 방향 순방향 추론(forward reasoning) 역방향 추론(backward reasoning) 양방향 추론 21
기본적 탐색기법(1) q Breadth-first search(BFS : 너비우선 탐색) A B F C G H D I N E J O K P L M Q 22
기본적 탐색기법(2) q Breadth-first search: algorithm with a queue Tree인 경우 ú goal state 주어져 있음(tree를 만들어 나가다가 goal이 나오면 stop) ú always pick the oldest node to expand next Open set (list of nodes that haven’t been expanded: FIFO(QUEUE)) Closed set (list of expanded nodes) node structure State description Back pointer 23
기본적 탐색기법(7) q Depth-first search (DFS: 깊이 우선 탐색) A B F C G H D I N E J O K P L M Q 28
기본적 탐색기법(8) q Depth-first search : Backtracking algorithm with a stack depth bound : D OPEN set : LIFO(STACK)(앞에 넣고 앞에서 꺼냄) CLOSED set node structure State description Back pointer Tree인 경우 정의) tree의 깊이(depth) d(S) = 0, d(ni)=d(n)+1 d(n) ni: successor of n 29
기본적 탐색기법(13) q 균일비용 탐색(Uniform-cost search) generalized version of breadth-first search guarantee to find a path of minimal cost g(n) : cost of a path from s to n node structure State description ú Back pointer g( ) 모든 arc가 equal cost를 가지고 있으면 breadth-first search 34
기본적 탐색기법(15) q Uniform-cost search 1 3 2 1 2 4 3 2 3 5 4 1 2 6 7 8 G 1 9 2 4 10 11 G 2 36
기본적 탐색기법(16) q Breadth-first search & Uniform-cost search always get solution if one exists always get the minimal solution(optimal path) ú admissible search technique q Depth-first search 만일 D값이 작으면 solution 얻는 것 보장 못함 만일 D값이 크면 minimal solution 을 얻지 못함 37
Heuristic Search(2) q 휴리스틱(heuristic)기법 – con’d 휴리스틱(heuristic) : not algorithm principle, trick, rule of thumb 휴리스틱 탐색(heuristic search) ú ú ú graph로 표현된 문제에 대한 특별한 정보(heuristic information) 이용, 탐색의 효율을 개선시키는 방법 각 노드에 대해 heuristic function으로 표현된 quantitative measure를 준다 space efficiency, goal 찾는 시간 줄여 준다 41
Heuristic Search(7) q Hill-climbing search 1 5 2 3 1 8 4 7 6 5 5 2 8 3 1 4 7 6 5 8 -퍼즐문제의 탐색 ú 평가함수값: 목표상태와 같은 위치에 있는 타일 수 6 2 2 3 1 8 4 7 6 5 4 2 3 1 8 4 7 6 5 3 7 1 2 3 8 4 7 6 5 2 3 1 8 4 7 6 5 5 4 6 1 2 3 7 8 4 6 5 6 2 3 1 8 4 7 6 5 8 1 2 3 8 4 7 6 5 46
Heuristic Search(8) q Hill-climbing search 언덕오르기 기법의 실패 : 국부최대(local maximum) 2 8 1 5 2 5 7 8 3 2 1 4 1 6 5 7 3 4 6 5 3 2 8 8 4 1 4 6 5 7 6 4 3 5 4 2 8 3 1 6 4 7 5 47
Heuristic Search(11) q Best-first search s 2 4 a 4 2 4 5 f a 6 b 1 1 g a 2 s 1 b c 5 s b 5 2 d 5 4 c 3 e a 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 50
Heuristic Search(13) q A algorithm depth-first, breadth-first 변형 f(n) = g(n) +h(n) (h(n) : h(n)의 추정치)과 같은 평가함수를 갖는 탐색 알고리즘 ú h(n) = 0 이면 A algorithm uniform-cost search ú h(n) = 0, g(n) = d(깊이) 이면 A algorithm breadth-first 52
Heuristic Search(15) q A algorithm 1 arc상에 equal cost 1이 할당 8 2 5 9 3 6 10 되었다고 가정 4 7 11 G 54
Heuristic Search(17) q 56
Heuristic Search(18) q 57
Heuristic Search(19) q 58
Other issues: AND-OR 그래프 탐색(2) q AND-OR 그래프 탐색과정 objective of search : 출발노드가 ‘solvable’인가 ‘unsolvable’ 인가를 보이기 위함 출발노드가 ‘solvable’ or ‘unsolvable’임이 나타나면 탐색 종료 solution graph(풀이그래프) : 출발노드 가 solvable임을 보이는 풀이될 수 있는 노드들의 subgraph q Breadth-first AND-OR search q Depth-first AND-OR search 60
Other issues: AND-OR 그래프 탐색(3) q AND-OR 그래프 t t 61
- Slides: 67