d90f4ff0f3569d284ac7ff533a22394e.ppt

- Количество слайдов: 21

Chapter 3. Problem Solving Methods(문제해결 방법) - Generate & Test - Means-Ends Analysis - Problem Reduction

Problem Solving Methods -Generate-and-Test 생성과 검사 - Means-ends Analysis (state space) 수단과 목적 - Problem Reduction (And-Or graph) 문제 축소

Generate-and-test Method Generator Tester possible solutions correct solution reject solutions - Generator ==> enumerates possible solutions. - Tester ==> evaluates accepted/rejected solutions.

Generate-and-test Method Procedure: - Until a satisfactory solution is found or no more candidate solutions can be generated, * Generate a candidate solution. * Test the candidate solution. - If an acceptable solution is found, anounce it, otherwise, announce failure.

Generate-and-test Method ==> Generator produces hypothesis (ex 1) tree dictionary - Generation ==> thumbing through the book. - Testing ==> matching pictures to the tree. (ex 2) burgling a safe (Fig 3. 2) - How to find safe number ? - Let’s start from 00 -00 -00 to 99 -99 -99 until opens, then 100 * 100 = 1000000 combinations. - Suppose 1 testing takes 3 min, then it will totally takes 16 weeks if he works 24 hours a day - Looks like “stupid”.

Generate-and-test Method - What is good generator ? (좋은 생성기란? ) * complete 완전성 * nonredundant 비중복성 * informed 정보성 (ex 1) tree dictionary ==> generate all possible solutions. ==> not provide the same solution twice. ==> use constraint information to reduce solution space. 분류정보, 속성정보 ==> if solutions are classified and if we have some feature informations, it would be better. (ex 2) burgling a safe ==> if we know that the number is prime, then 253 = 15625, I. e. , less than 2 days.

Means-ends Analysis Method ==> state space representation(상태공간 표현) - A state space is a representation that is a semantic net, in which · nodes = states · links = transition between states. - Terminologies: · initial state = where you start · current state = where you are · goal state = where you want to heading (Fig 3. 3, 3. 4) - Key idea in means-ends analysis is to reduce difference between current state and goal state.

Means-ends Analysis Method - Procedure: * Until the goal is reached or no more procedures are available, . describe the current state, the goal state, and the difference. . use the difference to select best-like procedures. . use the best-like procedure and update the current state. * If goal reached, then announce success. Otherwise, announce fail.

Example: 8 Puzzle 2 8 3 1 1 6 4 8 5 7 7 initial state - state definition: n 11 S = n 21 n 31 n 12 n 22 n 32 2 3 4 6 5 goal state n 13 n 23 n 33 nij Î {0, . . . , 8}, 1 £ i £ 3, 1 £ j £ 3 - initial state definition: any s Î S - goal state definition: any s Î S - operators: move blank tile (1) up, (2) down, (3) left, (4) right - difference definition: # of digits that is different.

Example: 8 Puzzle - Procedure: 2 8 3 1 6 4 7 2 3 6 4 7 5 8 1 u 6 2 5 8 3 1 8 4 7 u 6 5 initial state 2 2 3 1 8 4 7 l 6 5 d 1 2 3 1 8 4 7 6 5 r 1 2 8 7 3 4 6 5 goal state - Solution: { u, u, l, d, r }

Problem-reduction Method ==> goal reduction (use sub-goals) hard problem simple problem

Moving block by robot - situation “Put A on B” E F C D B A

Moving block by robot - introduce some operation PUT-ON GET-SPACE MAKE-SPACE GRASP CLEAR-TOP MOVE GET-RID-OF UNGRASP

Moving block by robot (ex) put block A on block B 1. Grasp D 2. Move D to some location 3. Ungrasp D 4. Grasp C 5. Move C to some location 6. Ungrasp C 7. Grasp A 8. Move A on B 9. Ungrasp A How to solve the problem reduction ? ==> need Goal Tree.

Semantic Tree Semantic tree is a representation that is semantic net in which - links ==> branches. each branch connects two nodes. . head node ==> parent node. tail node ==> child node - root node ==> no parent - leaf node ==> no children - ancestor ==> upper node - descendant ==> lower node

Goal Tree ==> Semantic tree where, nodes ==> goals branches ==> how to achieve goals children ==> subgoals parent ==> supergoals root node ==> root goal leaf node ==> leaf goal ==> Always involves AND nodes and/or OR nodes. ==> So called “AND-OR Tree”.

Moving block by robot - Goal Tree PUT-ON A B GET-SPACE A B GRASP A MAKE-SPACE A B CLEAR-TOP A GET-RID-OF D GET-RID-OF C PUT-ON D Table GET-SPACE D Table PUT-ON C Table GET-SPACE C Table GRASP D GRASP C MOVE D Table UNGRASP D MOVE C Table UNGRASP C MOVE A B UNGRASP A

AND-OR Tree ìAND goal: satisfied when all of immediate subgoals are satisfied. îOR goal: satisfied when any of immediate subgoals are satisfied. ==> AND-OR Procedure: * Determine whether the goal is satisfied without recourse to subgoal. - If so, announce that goal is achieved. - Otherwise, determine whether the goal corresponds to AND goal: . If so, use the AND-Procedure to determine whether the goal is satisfied. . Otherwise, use the OR-Procedure to determine whether the goal is satisfied.

AND-OR Tree ==> AND Procedure: * Use AND-OR procedure on each immediate subgoal until there are no more goals, or until it finds a subgoal that is not satisfied. * If it has found a subgoal that is not satisfied, announce that the goal is not satisfied; otherwise, announce that the goal is satisfied. ==> OR Procedure: * Use AND-OR procedure on each immediate subgoal until it finds a subgoal that is satisfied. * If it has found a subgoal that is satisfied, announce that the goal is satisfied; otherwise, announce that the goal is not satisfied.

AND-OR Tree - Question answering: “block A on B” Q: How did you clear the top of A ? ==> “By getting rid of block C” - If goal is AND goal, report all of the immediate subgoals. - If goal is OR goal, report the immediate subgoal. Q: Why did you clear the top of A ? ==> “To grasp block A” - Report the immediate supergoal.

AND-OR Tree - Example 1 • AND-OR graph (or tree) is useful for representing the solution of problems that can be solved by decomposing them into a set of smaller problems, all of which must then be solved. • One AND arc may point to any number of successor nodes, all of which must be solved in order for the arc to point to a solution. Goal: Acquire TV set Subgoal: steal TV set Subgoal: earn money Subgoal: buy TV set