590 likes | 604 Views
This outline covers problem-solving agents, example problems, and basic search algorithms. It includes a discussion on problem formulation, search process, and execution phase. Examples include traveling in Romania, vacuum world, and the 8-puzzle.
E N D
Solving Problems by Searching CMPT 420 / CMPG 720
Outline • Problem-solving agents • Example problems • Basic search algorithms
Problem-Solving Agents • Intelligent agents are supposed to maximize their performance measure. • If the agent can adopt a goaland aim at satisfying it.
Example: Traveling in Romania • On holiday in Romania; currently in Arad. • Flight leaves tomorrow from Bucharest
Problem-Solving Agents • Goal formulation, based on the current situation and the agent’s performance measure, is the first step in problem solving. • Problem formulation is the process of deciding what actions and states to consider, given a goal. • The process of looking for a sequence of actions that reaches the goal is search. • Execution phase: once a solution is found, the actions it recommended can be carried out. • “formulate, search , execute” design
Example: Traveling in Romania • Formulate goal: be in Bucharest • Formulate problem: • states: various cities • action: drive between cities • Find solution: • sequence of cities: e.g., Arad, Sibiu, Fagaras, Bucharest
Problem Formulation • A problem is defined by five components. • Initial state e.g., “at Arad” • Actions (s) {a1, a2, a3, … } • e.g., {Go(Sibiu), Go(Timisoara), Go(Zerind)} • Transition model: Result (s,a) s’ • e.g., Result(In(Arad), Go(Timisoara)) = In(Timisoara) • Goal test (s) T/F e.g., “at Bucharest” • Path cost (sss) n (additive) • sum of cost of individual steps, e.g., number of miles traveled, number of minutes to get to destination
Problem Formulation • A solution is a sequence of actions from initial to goal state. • Optimal solution has the lowest path cost.
Example: Vacuum World • states? • initial state? • actions? • transition model? • goal test? • path cost?
states?location and dirt, 2*22=8, n*2n • initial state? • actions? • transition model? • goal test? • path cost?
states?location and dirt, 2*22=8, n*2n • initial state? any state • actions? • transition model? • goal test? • path cost?
states?location and dirt, 2*22=8, n*2n • initial state? any state • actions?Left, Right, Suck • transition model? • goal test? • path cost?
states?location and dirt, 2*22=8, n*2n • initial state? any state • actions?Left, Right, Suck • transition model? • goal test? no dirt at all locations • path cost? 1 per action
Example: The 8-Puzzle • Online 8-puzzle game:
Example: The 8-Puzzle • states? • initial state? • actions? • transition model? • goal test? • path cost?
states?A state description specifies the location of the eight tiles and the blank one. • initial state? any state (mixed-up) • actions? • naive answer: move piece at square (x1,x2) to square (y1,y2): lots of operations • movement of the blank space: Left, Right, Up, Down
states?A state description specifies the location of the eight tiles and the blank one. • initial state? any state (mixed-up) • actions? movement of the blank space: Left, Right, Up, Down • transition model? • goal test? • path cost?
states?A state description specifies the location of the eight tiles and the blank one. • initial state? any state (mixed-up) • actions? movement of the blank space: Left, Right, Up, Down • transition model? (s,a)s’ • goal test? • path cost?
Example: 8-puzzle 8 2 8 2 7 3 4 7 3 4 5 1 6 5 1 6 8 2 8 2 3 4 7 3 4 7 5 1 6 5 1 6
states?A state description specifies the location of the eight tiles and the blank one. • initial state? any state (mixed-up) • actions? movement of the blank space: Left, Right, Up, Down • transition model? (s,a)s’ • goal test? • path cost?
states?A state description specifies the location of the eight tiles and the blank one. • initial state? any state (mixed-up) • actions? movement of the blank space: Left, Right, Up, Down • transition model? (s,a)s’ • goal test? goal state (given) • path cost?
states?A state description specifies the location of the eight tiles and the blank one. • initial state? any state (mixed-up) • actions? movement of the blank space: Left, Right, Up, Down • transition model? (s,a)s’ • goal test? goal state (given) • path cost? 1 per move
Example: The 8-Puzzle • Eight puzzle is from a family of “sliding –block puzzles” • (n2-1)-puzzle
15-Puzzle • Sam Loyd, who called himself “America’s greatest puzzler” • offered $1,000 of his own money to the first person who would solve the following problem:
(n2-1)-puzzle • NP Complete • 8 puzzle has 9! = 362,880 states (0.36 sec with 10 million states/sec) • 15 puzzle has approx. 1.3*1012 states (6 days) • 24 puzzle has approx. 1*1025 states (12 billion years)
Example: 8-Queens Place 8 queens in a chessboard such that no queen can attack another queen: no two queens are in the same row, column, or diagonal. A solution Not a solution
The 8-Queens Problem • states? • initial state? • actions? • transition model? • goal test? • path cost?
Incremental formulation vs. Complete state formulation • states? • initial state? • actions? • transition model? • goal test? • path cost?
Incremental formulation vs. Complete state formulation • states?Any arrangement of 0 to 8 queens • initial state? • actions? • transition model? • goal test? • path cost?
Incremental formulation vs. Complete state formulation • states?Any arrangement of 0 to 8 queens • initial state? No queens on the board • actions? • transition model? • goal test? • path cost?
Incremental formulation vs. Complete state formulation • states?Any arrangement of 0 to 8 queens • initial state? No queens on the board • actions? Add a queen to any empty square • transition model? • goal test? • path cost?
Incremental formulation vs. Complete state formulation • states?Any arrangement of 0 to 8 queens • initial state? No queens on the board • actions? Add a queen to any empty square • transition model? Return the board with a queen added • goal test? • path cost?
Incremental formulation vs. Complete state formulation • states?Any arrangement of 0 to 8 queens • initial state? No queens on the board • actions? Add a queen to any empty square • transition model? Return the board with a queen added • goal test? 8 queens, none attacked • path cost?
Incremental formulation vs. Complete state formulation • states?Any arrangement of 0 to 8 queens • initial state? No queens on the board • actions? Add a queen to any empty square • transition model? Return the board with a queen added • goal test? 8 queens, none attacked • path cost? no interest because only the final state counts
(N-Queens?) The 8-Queens Problem • 64*63*…*57 ~= 1.8*1014 Ouch!!
The 8-Queens Problem(N-Queens?) • 64*63*…*57 ~= 1.8*1014 Ouch!! • Formulation #2 (better): • states: All possible arrangement of n queens, one per column in the leftmost n columns, with no queen attacking another. (0<=n<=8) • actions: Add a queen to any square in the leftmost empty column such that it is not attacked by any other queen. • 2057 sequences to investigate
Donald Knuth (1964): starting with the number 4, a sequence of factorial, square root, and floor operation will reach any desired positive integer. • states?Positive numbers • initial state? 4 • actions?Apply factorial, square root, or floor operation
transition model? definition of the operations • goal test? desired positive integer • path cost? number of operations • How large a number might be generated to reach the goal! • 620,448,401,733,239,439,360,000
Real-World Problems • Route-finding problem • Touring problems • e.g., visit every city in the Romania example at least once, starting and ending in Bucharest. • Traveling salesman problem (TSP) • each city must be visited exactly once • shortest tour • Robot Navigation • VLSI layout • ...
Searching For Solutions • Having formulated some problems…how do we solve them? • Assumptions in basic search • The world is static • The world is discrete • The world is fully-observable
Searching For Solutions • Having formulated some problems…how do we solve them? • Search through a state space • Use a search tree that is generated with an initial state and successor functions that define the state space
Example: 8-puzzle 8 2 8 2 7 3 4 7 3 4 5 1 6 5 1 6 8 2 8 2 3 4 7 3 4 7 5 1 6 5 1 6
Tree Search Algorithms • search tree: initial state as the root, the branches as actions and the nodes as states. • We expand the current state and generate a new set of states. • parent node, child nodes • leaf node: a node with no children (frontier) • search strategy: how to choose which state to expand next • repeated state, redundant paths
Tree Search Example • The initial state
Tree Search Example • After expanding Arad
Tree Search Example • After expanding Sibiu