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. February 11, 2016 Introduction to Artificial Intelligence Lecture 6: Search in State Spaces II 1 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. February 11, 2016 Introduction to Artificial Intelligence Lecture 6: Search in State Spaces II 2 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? A queen can move any number of squares horizontally, vertically, and diagonally. Here, the possible target squares of the queen Q are marked with an x. February 11, 2016 x x x x x x x x Introduction to Artificial Intelligence Lecture 6: Search in State Spaces II x x x x Q x x x x x x x x x x x x x x x 3 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. February 11, 2016 Introduction to Artificial Intelligence Lecture 6: Search in State Spaces II 4 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. This way, “only” 256 configurations need to be tested. February 11, 2016 Introduction to Artificial Intelligence Lecture 6: Search in State Spaces II 5 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 with “sanity checks”). February 11, 2016 Introduction to Artificial Intelligence Lecture 6: Search in State Spaces II 6 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). February 11, 2016 Introduction to Artificial Intelligence Lecture 6: Search in State Spaces II 7 Backtracking in Decision Trees empty board Q place 1st Q queen Q place 2nd queen Q Q Q Q Q Q place 3rd Q Q queen Q Q Q Q place 4th Q queen Q Q February 11, 2016 Introduction to Artificial Intelligence Lecture 6: Search in State Spaces II 8