23
Search in State Spaces Problem solving as search Search consists of state space – operators start state goal states A Search Tree is an efficient way to represent a search There are a variety of specific search techniques, including Depth-First, Breadth-First, Best-first search Others which use heuristic knowledge

Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Embed Size (px)

DESCRIPTION

What do these problems have in common? Find the layout of chips on a circuit board which minimize the total length of interconnecting wires Schedule which airplanes and crew fly to which cities for American, United, British Airways, etc Write a program which can play chess against a human

Citation preview

Page 1: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Search in State Spaces• Problem solving as search• Search consists of

– state space– operators– start state– goal states

• A Search Tree is an efficient way to represent a search

• There are a variety of specific search techniques, including– Depth-First, Breadth-First, Best-first search – Others which use heuristic knowledge

Page 2: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Chapter 7 • modeling search

• state space, graph notation, explicit search

Chapter 8• standard search techniques – DFS, BFS.

Chapter 9

• heuristic search• best-first, iterative-deepening, A* algorithm

Chapter 12• adversarial search

• two-player and multiplayer games

Page 3: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

What do these problems have in common?• Find the layout of chips on a circuit

board which minimize the total length of interconnecting wires

• Schedule which airplanes and crew fly to which cities for American, United, British Airways, etc

• Write a program which can play chess against a human

Page 4: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

•Build a system which can find human faces in an arbitrary digital image

• Program a tablet-driven portable computer to recognize your handwriting

• Decrypt data which has been encrypted but you do not have the key

• Answer–they can all be formulated as search problems

Page 5: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Search in State Spaces• Many problems in Artificial Intelligence can be

mapped onto searches in particular state spaces.

• This concept is especially useful if the system (our “world”) can be defined as having a finite number of states, including an initial state and one or more goal states.

• Optimally, there are a finite number of actions that we can take, and there are well-defined state transitions that only depend on our current state and current action.

Page 6: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Search in State Spaces• Let us consider an easy task in a very simple world with our robot being the only actor in it:• The world contains a floor and three toy blocks labeled A, B, and C.• The robot can move a block (with no other block on top of it) onto the floor or on top of another block.• These actions are modeled by instances of a schema, move(x, y).• Instances of the schema are called operators.

Page 7: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Search in State Spaces• The robot’s task is to stack the toy blocks so that A

is on top of B, B is on top of C, and C is on the floor.• For us it is clear what steps have to be taken to

solve the task.• The robot has to use its world model to find a

solution.• Let us take a look at the effects that the robot’s

actions exert on its world.

Page 8: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Setting Up a State Space Model• State-space Model is a Model for

The Search Problem– usually a finite set of states X

•e.g., in driving, the states in the model could be towns/cities

•in games, board positions

• Start State - a state from X where the search starts

Page 9: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

• Goal State(s) a goal is defined as a target state

– For now: all goal states have utility 1, and all non-goals have utility 0– there may be many states which satisfy the goal

• e.g., drive to a town with an airport– or just one state which satisfies the goal

• e.g., drive to Las Vegas

• Operators– operators are mappings from X to X

• e.g. moves from one city to another that are legal (connected by a road)

Page 10: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Example

There are three blocks named A, B and C on a table. You can take any (one) block and move it on top of any other stack or to the table. Goal is to get the stack A, B, C.

Start:

Final:

Page 11: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Search in State Spaces

•Effects of moving a block (illustration and list-structure iconic model notation)

Page 12: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Search in State Spaces• In order to solve the task efficiently, the robot

should “look ahead”, that is simulate possible actions and their outcomes.

• Then, the robot can carry out a sequence of actions that, according to the robot’s prediction, solves the problem.

• A useful structure for such a simulation of alternative sequences of action is a directed graph.

• Such a graph is called a state-space graph.

Page 13: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

State-Space Graphs

Page 14: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

State-Space Graphs• To solve a particular problem, the robot has to find a

path in the graph from a start node (representing the initial state) to a goal node (representing a goal state).

• The resulting path indicates a sequence of actions that solves the problem.

• The sequence of operators along a path to a goal is called a plan.

• Searching for such a sequence is called planning.

• Predicting a sequence of world states from a sequence of actions is called projecting.

Page 15: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

State-Space Graphs• There are various methods for searching state

spaces.• One possibility is breadth-first search:

– Mark the start node with a 0.– Mark all adjacent nodes with 1.– Mark all unmarked nodes adjacent to

nodes with a 1 with the number 2, and so on, until you arrive at a goal node.

– Finally, trace a path back from the goal to the start along a sequence of decreasing numbers.

Page 16: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Decision Trees•A decision tree is a special case of a state-space graph.•It is a rooted tree in which each internal node corresponds to a decision, with a subtree at these nodes for each possible outcome of the decision.•Decision trees can be used to model problems in which a series of decisions leads to a solution. •The possible solutions of the problem correspond to the paths from the root to the leaves of the decision tree.

Example: There are 12 coins of which one is heavier or lighter than the rest. Find the odd coin using a balance with 3 weighings.

Page 17: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Decision Trees• Example: The n-queens problem•How can we place n queens on an nn chessboard so that no two queens can capture each other?

•Q•Q•x•x•x

•x•x

•x

•x•x

•x

•x•x

•x•x

•x•x•x

•x•x•x•x•x

•x•x

•x•x

•x•x

A queen can move any A queen can move any number of squares number of squares horizontally, vertically, and horizontally, vertically, and diagonally.diagonally.

Here, the possible target Here, the possible target squares of the queen Q are squares of the queen Q are marked with an x.marked with an x.

Page 18: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Decision Trees•Let us consider the 4-queens problem.• Question: How many possible configurations of 44 chessboards containing 4 queens are there?•Answer: There are 16!/(12!4!) = (13141516)/(234) = 13754 = 1820 possible configurations.• Shall we simply try them out one by one until we encounter a solution?•No, it is generally useful to think about a search problem more carefully and discover constraints on the problem’s solutions.•Such constraints can dramatically reduce the size of the relevant state space.

Page 19: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Decision Trees• Obviously, in any solution of the n-queens problem, there must be exactly one queen in each column of the board. • Otherwise, the two queens in the same column could capture each other.• Therefore, we can describe the solution of this problem as a sequence of n decisions: • Decision 1: Place a queen in the first column.• Decision 2: Place a queen in the second column... Decision n: Place a queen in the n-th column.•

Page 20: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Backtracking in Decision Trees

• There are problems that require us to perform an exhaustive search of all possible sequences of decisions in order to find the solution.

• We can solve such problems by constructing the complete decision tree and then find a path from its root to a leave that corresponds to a solution of the problem (breadth-first search often requires the construction of an almost complete decision tree).

• In many cases, the efficiency of this procedure can be dramatically increased by a technique called backtracking (depth-first search).

Page 21: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Backtracking in Decision Trees

•Idea: Start at the root of the decision tree and move downwards, that is, make a sequence of decisions, until you either reach a solution or you enter a situation from where no solution can be reached by any further sequence of decisions.•In the latter case, backtrack to the parent of the current node and take a different path downwards from there. If all paths from this node have already been explored, backtrack to its parent.•Continue this procedure until you find a solution or establish that no solution exists (there are no more paths to try out).

Page 22: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Backtracking in Decision Trees

•Q•Q

•Q

•Q

•Q

•Q

•Q

•Q

•Q

•Q

•Q

•Q•Q

•Q

•Q

•Q•Q

•Q

place 1place 1stst queen queen

place 2place 2ndnd queen queen

place 3place 3rdrd queen queen

place 4place 4thth queen queen

empty boardempty board

Page 23: Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way

Summary: Defining Search Problems

• A statement of a Search problem has 4 components– 1. A set of states– 2. A set of “operators” which allow one to get

from one state to another– 3. A start state S– 4. A set of possible goal states, or ways to test

for goal states

• Search solution consists of– a sequence of operators which transform S into

a a unique goal state G. (often, we may want the shortest path to the goal.)