Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 ·...
Transcript of Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 ·...
![Page 1: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/1.jpg)
Problem Solving and Search
School of Computer Science & Engineering Chung-Ang University
Artificial Intelligence
Dae-Won Kim
![Page 2: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/2.jpg)
Outline
• Problem-solving agents
• Problem types
• Problem formulation
• Example problems
• Basic search algorithms
![Page 3: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/3.jpg)
Problem-Solving Agents
![Page 4: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/4.jpg)
![Page 5: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/5.jpg)
On holiday In Romania;
currently in Arad.
Flight leaves tomorrow for Bucharest.
![Page 6: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/6.jpg)
Goal: be in Bucharest
![Page 7: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/7.jpg)
Solution: sequence of cities
![Page 8: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/8.jpg)
Solution: ???
Performance measure: ???
![Page 9: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/9.jpg)
Problem formulation:
states – various cities
actions – drive between cities
![Page 10: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/10.jpg)
![Page 11: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/11.jpg)
Problem Formulation: How To
vs. Problem Modeling
![Page 12: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/12.jpg)
A problem is defined by four items:
• Initial state
• Successor function:
set of action-state pairs
• Goal test
• Path cost
![Page 13: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/13.jpg)
A solution is a sequence of actions leading from the initial state to a goal state.
Consider a solution in algorithm
![Page 14: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/14.jpg)
Problem Formulation: Romania
![Page 15: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/15.jpg)
• Initial state:
• Successor function:
• Goal test:
• Path cost:
![Page 16: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/16.jpg)
• Initial state: x = “at Arad”
• Successor function:
S = {<AradZerind,Zerind>, …}
• Goal test: x = “at Bucharest”
• Path cost: sum of distances
![Page 17: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/17.jpg)
Problem Formulation: Vacuum Cleaner
![Page 18: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/18.jpg)
• States:
• Actions:
• Goal test:
• Path cost:
![Page 19: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/19.jpg)
• States: integer dirt and robot locations
• Actions: left, right, suck, stay
• Goal test: no dirt
• Path cost: 1 per action (0 for stay)
![Page 20: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/20.jpg)
Problem Formulation: Robot Assembly
![Page 21: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/21.jpg)
• States: real-valued coordinates of joint angles
• Actions: continuous motions of robot joints
• Goal test: complete assembly
• Path cost: time to execute
![Page 22: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/22.jpg)
Problem Formulation: The 8-Puzzle
![Page 23: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/23.jpg)
• States ?
• Actions ?
• Goal test ?
• Path cost ?
![Page 24: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/24.jpg)
How to achieve the goal state through the complex state space from the initial state?
![Page 25: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/25.jpg)
Answer: Tree Search Algorithms
![Page 26: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/26.jpg)
Idea: exploration of state space by generating successors of already-explored states (expanding states)
![Page 27: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/27.jpg)
![Page 28: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/28.jpg)
Implementation: States vs. Nodes
![Page 29: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/29.jpg)
A state is (a representation of) a physical configuration
![Page 30: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/30.jpg)
A node is data structure constituting part of a search tree includes parents, children, depth, path cost.
![Page 31: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/31.jpg)
A search strategy is defined by picking the order of node expansion.
![Page 32: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/32.jpg)
Strategies are evaluated along the following dimensions:
• Completeness
• Time complexity
• Space complexity
• Optimality
![Page 33: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/33.jpg)
Uninformed Search Strategies
![Page 34: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/34.jpg)
Uninformed search strategies use only the information available in the problem definition.
• Breadth-first search
• Uniform-cost search
• Depth-first search
• Depth-limited search
• Iterative deepening search
![Page 35: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/35.jpg)
Breath-First Search
![Page 36: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/36.jpg)
Expand shallowest unexpanded node.
Implementation: FIFO queue
![Page 37: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/37.jpg)
• Complete?
• Time complexity?
• Space complexity?
• Optimal?
![Page 38: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/38.jpg)
• Complete? Yes (if b is finite)
• Time complexity? O(bd+1)
• Space complexity? O(bd+1)
• Optimal? Yes (if cost = 1 per step)
![Page 39: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/39.jpg)
Uniform-Cost Search
Expand least-cost unexpanded node
using queue ordered by path cost
Equivalent to BFS if step costs equal.
![Page 40: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/40.jpg)
Depth-First Search
![Page 41: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/41.jpg)
Expand deepest unexpanded node.
Implementation: LIFO queue
![Page 42: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/42.jpg)
• Complete?
• Time complexity?
• Space complexity?
• Optimal?
![Page 43: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/43.jpg)
• Complete? No (infinite-depth, loops)
• Time complexity? O(bm)
• Space complexity? O(bm)
• Optimal? No
![Page 44: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/44.jpg)
Depth-Limited Search
= DFS with depth limit (L).
i.e., nodes at depth (L) have no successors
![Page 45: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/45.jpg)
Iterative Deepening Search
![Page 46: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/46.jpg)
![Page 47: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/47.jpg)
![Page 48: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/48.jpg)
• Complete?
• Time complexity?
• Space complexity?
• Optimal?
![Page 49: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/49.jpg)
• Complete? Yes
• Time complexity? O(bd)
• Space complexity? O(bd)
• Optimal? Yes (if step cost = 1)
![Page 50: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/50.jpg)
![Page 51: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/51.jpg)
Informed Search Methods : The Basics
School of Computer Science & Engineering Chung-Ang University
Artificial Intelligence
Dae-Won Kim
![Page 52: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/52.jpg)
Outline
• Best-first search
• Greedy search
• A* search
• Brach and Bound
![Page 53: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/53.jpg)
A strategy is defined by picking the order of node expansion.
![Page 54: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/54.jpg)
Informed search strategy can find solutions more efficiently than an uninformed search.
![Page 55: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/55.jpg)
It uses problem-specific knowledge beyond the definition of the problem itself.
![Page 56: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/56.jpg)
Best-First Search
![Page 57: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/57.jpg)
Idea: use an evaluation function for each node.
![Page 58: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/58.jpg)
• Estimate the “desirability” of each node
• Expand most desirable unexpanded node
![Page 59: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/59.jpg)
Special cases:
• Greedy search
• A* search
• Branch and Bound
![Page 60: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/60.jpg)
Romania Example with Step Costs
![Page 61: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/61.jpg)
![Page 62: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/62.jpg)
Greedy Search
![Page 63: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/63.jpg)
We need an evaluation function : heuristic function h(n)
![Page 64: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/64.jpg)
h(n) = estimate of cost from n to the closest goal
![Page 65: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/65.jpg)
h(n) = straight-line distance from n to Bucharest
![Page 66: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/66.jpg)
Greedy search expands the node that appears to be closest to goal.
![Page 67: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/67.jpg)
![Page 68: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/68.jpg)
![Page 69: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/69.jpg)
![Page 70: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/70.jpg)
![Page 71: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/71.jpg)
Properties of greedy search
![Page 72: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/72.jpg)
• Complete?
• Time complexity?
• Space complexity?
• Optimal?
![Page 73: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/73.jpg)
• Complete? No (can get stuck in loops)
Yes (in finite space with repeated-state checking)
• Time complexity? O(bm), A good heuristic is needed.
• Space complexity? O(bm), Keeps all nodes in memory.
• Optimal? No
![Page 74: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/74.jpg)
What is A* Search?
![Page 75: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/75.jpg)
Idea: avoid expanding paths that are already expensive.
![Page 76: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/76.jpg)
Evaluation function: f(n) = g(n) + h(n)
![Page 77: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/77.jpg)
• g(n) = cost so far to reach n
• h(n) = estimated cost to goal from n
• f(n) = estimated total cost through n to goal
![Page 78: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/78.jpg)
A* search uses an admissible heuristic. Thus, it is optimal.
![Page 79: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/79.jpg)
• h(n) h*(n) where h*(n) is the true cost from n.
• h(n) 0, so h(Goal) = 0.
![Page 80: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/80.jpg)
e.g., hstraight(n) never overestimates the actual distance.
![Page 81: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/81.jpg)
Romania Example with A* Search
![Page 82: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/82.jpg)
![Page 83: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/83.jpg)
![Page 84: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/84.jpg)
![Page 85: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/85.jpg)
![Page 86: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/86.jpg)
![Page 87: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/87.jpg)
![Page 88: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/88.jpg)
Properties of A* Search
![Page 89: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/89.jpg)
• Complete?
• Time complexity?
• Space complexity?
• Optimal?
![Page 90: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/90.jpg)
• Complete? Yes
• Time complexity? Exponential in [relative error in h x length of sol.]
• Space complexity? Keeps all nodes in memory.
• Optimal? Yes
![Page 91: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/91.jpg)
Q: Explain why A* is optimal?
![Page 92: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/92.jpg)
Admissible Heuristics for the 8-puzzle
![Page 93: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/93.jpg)
Guess a h-function : f = g + h
![Page 94: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/94.jpg)
h1(n) = number of misplaced tiles
h1(n) = 6
![Page 95: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/95.jpg)
h2(n) = total Manhattan distance
h2(n) = 4 + 0 + 3 + 3 + 1 + 0 + 2 + 1 = 14
![Page 96: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/96.jpg)
Admissible Heuristics & Dominance
![Page 97: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/97.jpg)
If h2(n) > h1(n) for all n, then h2 dominates h1 and is better for search.
![Page 98: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/98.jpg)
• IDS = 50,000,000,000 nodes
• A*(h1) = 39,135 nodes
• A*(h2) = 1,641 nodes
![Page 99: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/99.jpg)
Q: How to find good heuristics?
![Page 100: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/100.jpg)
Admissible heuristics can be derived from the exact solution cost of a relaxed version of the problem.
![Page 101: Problem Solving and Search - CAU AI Labai.cau.ac.kr/teaching/ai-2014/02.pdf · 2014-09-11 · Problem Solving and Search School of Computer Science & Engineering Chung-Ang University](https://reader036.fdocuments.net/reader036/viewer/2022070801/5f029f327e708231d4052e25/html5/thumbnails/101.jpg)
The optimal solution cost of a relaxed problem is no greater than the optimal solution cost of the real problem.