VilaltaEick Uninformed Search Problem Solving By Searching Introduction
Vilalta&Eick: Uninformed Search Problem Solving By Searching Introduction • Solutions and Performance • Uninformed Search Strategies • Avoiding Repeated States/Looping • Partial Information • Summary •
Vilalta&Eick: Uninformed Search Introduction Let’s review a goal-based agent called a “problem-solving agent” They have two characteristics: 1. Find sequences of actions to reach a goal. 2. They are uninformed.
Vilalta&Eick: Uninformed Search Preliminaries We need to define two things: • Goal Formulation ü Define objectives • Problem Formulation ü Define actions and states
Vilalta&Eick: Uninformed Search Problem Formulation Four components: 1. 2. 3. 4. The initial state Actions (successor function) Goal test Path Cost
Vilalta&Eick: Uninformed Search Example
Vilalta&Eick: Uninformed Search Other Examples Toy Problems: ü Vacuum World ü 8 -puzzle ü 8 -queens problem
Vilalta&Eick: Uninformed Search Figure 3. 3
Vilalta&Eick: Uninformed Search Figure 3. 5
Vilalta&Eick: Uninformed Search Other Examples Real Problems ü ü ü Route-Finding Problem Robot Navigation Automatic Assembly Sequencing Protein Design Internet Searching
Vilalta&Eick: Uninformed Search Problem Solving By Searching Introduction • Solutions and Performance • Uninformed Search Strategies • Avoiding Repeated States • Partial Information • Summary •
Vilalta&Eick: Uninformed Search Solutions • We search through a search tree • We expand new nodes to grow the tree • There are different search strategies • Nodes contain the following: ü state ü parent node ü action ü path cost ü depth
Vilalta&Eick: Uninformed Search Tree Initial state Expanded nodes
Vilalta&Eick: Uninformed Search Performance Four elements of performance: • Completeness (guaranteed to find solution) • Optimality (optimal solution? ) • Time Complexity • Space Complexity
Vilalta&Eick: Uninformed Search Performance Complexity requires three elements: a. Branching factor b b. Depth of the shallowest node d c. Maximum length of any path m
Vilalta&Eick: Uninformed Search Problem Solving By Searching Introduction • Solutions and Performance • Uninformed Search Strategies • Avoiding Repeated States • Partial Information • Summary •
Vilalta&Eick: Uninformed Search Breadth-First Search • Root is expanded first • Then all successors at level 2. • Then all successors at level 3, etc. Properties: v Complete (if b and d are finite) v Optimal (if path cost increases with depth) v Cost is O(bd+1)
Vilalta&Eick: Uninformed Search
Vilalta&Eick: Uninformed Search Uniform-Cost Search • Like breadth-first search • Expand node with lowest path cost. Properties: v Complete (if b and d are finite) v Optimal (if path cost increases with depth) v Cost is O(b c*/e) v Could be worse than breadth first search
Vilalta&Eick: Uninformed Search
Vilalta&Eick: Uninformed Search Depth-First Search • Expand the deepest node at the bottom Backtracking even does of the tree. better spacewise: O(m) Only store the nodes on Properties: the current path including v Incomplete their unexpanded sibling nodes v suboptimal v Space complexity is only O(bm)
Vilalta&Eick: Uninformed Search
Vilalta&Eick: Uninformed Search Depth-Limited • Like depth-first search but with depth limit L. Properties: v Incomplete (if L < d) v nonoptimal (if L > d) v Time complexity is O(b. L) v Space complexity is O(b. L)
Vilalta&Eick: Uninformed Search Iterative Deepening • A combination of depth and breadth-first search. • Gradually increases the limit L Properties: v Complete (if b and d are finite) v Optimal if path cost increases with depth v Time complexity is O(bd)
Vilalta&Eick: Uninformed Search
Vilalta&Eick: Uninformed Search Bidirectional Search • Run two searches – one from the initial state and one backward from the goal. • We stop when the two searches meet. Motivation: v Time complexity: (b d/2 + b d/2 ) < b d Searching backwards not easy.
Vilalta&Eick: Uninformed Search Figure 3. 16
Vilalta&Eick: Uninformed Search Problem Solving By Searching Introduction • Solutions and Performance • Uninformed Search Strategies • Avoiding Repeated States/Looping • Partial Information • Summary •
Vilalta&Eick: Uninformed Search Avoiding Looping & Repeated States • Use a list of expanded states; non-expanded states (open and close list) • Use domain specific knowledge • Use sophisticated data structures to find already visited states more quickly. • Checking for repeated states can be quite expensive and slow down the search alg.
Vilalta&Eick: Uninformed Search Problem Solving By Searching Introduction • Solutions and Performance • Uninformed Search Strategies • Avoiding Repeated States • Partial Information • Summary •
Vilalta&Eick: Uninformed Search Partial Information Knowledge of states or actions is incomplete. a. Sensorless problems b. Contingency Problems c. Exploration Problems
Vilalta&Eick: Uninformed Search
Vilalta&Eick: Uninformed Search Figure 3. 21 Goal State
Vilalta&Eick: Uninformed Search Problem Solving By Searching Introduction • Solutions and Performance • Uninformed Search Strategies • Avoiding Repeated States • Partial Information • Summary •
Vilalta&Eick: Uninformed Search Summary • To search we need goal and problem formulation. • A problem has initial state, actions, goal test, and path function. • Performance measures: completeness, optimality, time and space complexity.
Vilalta&Eick: Uninformed Search Summary • Uninformed search has no additional knowledge of states: breadth and depth-first search, depth-limited, iterative deepening, bidirectional search. • In partially observable environments, one must deal with uncertainty and incomplete knowledge.
- Slides: 35