520 likes | 618 Views
Search. Instructor: Kris Hauser http://cs.indiana.edu/~hauserk. Recap. http:// www.cs.indiana.edu/classes/b351 Brief history and philosophy of AI What is intelligence? Can a machine act/think intelligently? Turing machine, Chinese room. Agenda. Problem Solving using Search
E N D
Search Instructor: Kris Hauser http://cs.indiana.edu/~hauserk
Recap • http://www.cs.indiana.edu/classes/b351 • Brief history and philosophy of AI • What is intelligence? Can a machine act/think intelligently? • Turing machine, Chinese room
Agenda • Problem Solving using Search • Search Algorithms
Exploring Alternatives • Problems that seem to require intelligence usually require exploring multiple alternatives • Search: a systematic way of exploring alternatives
Across history, puzzles and games requiring the exploration of alternatives have been considered a challenge for human intelligence: • Chessoriginated in Persia and India about 4000 years ago • Checkers appear in 3600-year-old Egyptian paintings • Go originated in China over 3000 years ago So, it’s not surprising that AI uses games to design and test algorithms
Example: 8-Puzzle 8 2 1 2 3 3 4 7 4 5 6 5 1 6 7 8 Initial state Goal state State: Any arrangement of 8 numbered tiles and an empty tile on a 3x3 board
Successor Function: 8-Puzzle SUCC(state) subset of states The successor function is knowledgeabout the 8-puzzle game, but it does not tell us which outcome to use, nor to which state of the board to apply it. 8 2 7 3 4 5 1 6 8 2 8 2 7 8 2 7 3 4 7 3 4 6 3 4 5 1 6 5 1 5 1 6
Defining a Search Problem S • State space S • Successor function: x S SUCC(x) 2S • Initial state s0 • Goal test: xS GOAL?(x) =T or F • Arc cost
8-Queens Problem • State repr. 1 • Any non-conflicting placement of 0-8 queens • State repr. 2 • Any placement of 8 queens
State Graph • Each state is represented by a distinct node • An arc (or edge) connects a node s to a node s’ if s’ SUCC(s) • The state graph may contain more than one connected component
I Solution to the Search Problem • A solution is a path connecting the initial node to a goal node (any one) • The cost of a path is the sum of the arc costs along this path • An optimal solution is a solution path of minimum cost • There might be no solution ! G
Pathless Problems • Sometimes the path doesn’t matter • A solution is any goal node • Arcs represent potential state transformations • E.g. 8-queens, Simplex for LPs, Map coloring G I
Representation 1 • State: any placement of 0-8 queens • Initial state: 0 queens • Successor function: • Place queen in empty square • Goal test: • Non-conflicting placement of 8 queens • # of states ~ 64x63x…x57 ~ 3x1014
Representation 2 • State: any placement of non-conflicting 0-8 queens in columns starting from left • Initial state: 0 queens • Successor function: • A queen placed in leftmost empty column such that it causes no conflicts • Goal test: • Any state with 8 queens • # of states = 2057
Path Planning What is the state space?
Cost of one horizontal/vertical step = 1 Cost of one diagonal step = 2 Formulation #1
Optimal Solution This path is the shortest in the discretized state space, but not in the original continuous space
Cost of one step: length of segment Formulation #2
Cost of one step: length of segment Formulation #2 Visibility graph
Solution Path The shortest path in this state space is also the shortest in the original continuous space
What is a State? • A state does: • Represent all information meaningful to the problem at a given “instant in time” – past, present, or future • Exist in an abstract, mathematical sense • A state DOES NOT: • Necessarily exist in the computer’s memory • Tell the computer how it arrived at the state • Tell the computer how to choose the next state • Need to be a unique representation
What is a State Space? • An abstract mathematical object • E.g., the set of all permutations of (1,…,8,empty) • Membership should be triviallytestable • E.g., S = { s | s is reachable from the start state through transformations of the successor function } is not easily testable • Arcs should be easily generated • Again: the state space does NOT contain information about which arc to take (or not to take) in a given state
Example: 8-Puzzle 8 2 1 2 3 3 4 7 4 5 6 5 1 6 7 8 Initial state Goal state State: Any arrangement of 8 numbered tiles and an empty tile on a 3x3 board
15-Puzzle • Introduced (?) in 1878 by Sam Loyd, who dubbed himself “America’s greatest puzzle-expert”
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 ? 13 13 14 15 15 14 15-Puzzle • Sam Loyd offered $1,000 of his own money to the first person who would solve the following problem:
How big is the state space of the (n2-1)-puzzle? • 8-puzzle ?? states
How big is the state space of the (n2-1)-puzzle? • 8-puzzle 9! = 362,880 states • 15-puzzle 16! ~ 2.09 x 1013 states • 24-puzzle 25! ~ 1025 states • But only half of these states are reachable from any given state(but you may not know that in advance)
Permutation Inversions • Wlg, let the goal be: • A tile j appears after a tile i if either j appears on the same row as i to the right of i, or on another row below the row of i. • For every i = 1, 2, ..., 15, let ni be the number of tiles j < i that appear after tile i (permutation inversions) • N = n2 + n3 + + n15 + row number of empty tile 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 n2 = 0 n3 = 0 n4 = 0 n5 = 0 n6 = 0 n7 = 1 n8 = 1 n9 = 1 n10 = 4 n11 = 0 n12 = 0 n13 = 0 n14 = 0 n15 = 0 5 10 7 8 N = 7 + 4 9 6 11 12 13 14 15
1 2 3 4 1 2 3 4 5 6 7 5 6 11 7 9 10 11 8 9 10 8 s’ = 13 14 15 12 13 14 15 12 • Proposition: (N mod 2) is invariant under any legal move of the empty tile • Proof: • Any horizontal move of the empty tile leaves N unchanged • A vertical move of the empty tile changes N by an even increment ( 1 1 1 1) s = N(s’) = N(s) + 3 + 1
Proposition: (N mod 2) is invariant under any legal move of the empty tile • For a goal state g to be reachable from a state s, a necessary condition is that N(g) and N(s) have the same parity • It can be shown that this is also a sufficient condition • The state graph consists of two connected components of equal size
Searching the State Space • It is often not feasible (or too expensive) to build a complete representation of the state graph
8-, 15-, 24-Puzzles 8-puzzle 362,880 states 15-puzzle 2.09 x1013 states 24-puzzle 1025 states 0.036 sec ~ 55 hours > 109 years 100 millions states/sec
Intractability • Constructing the full state graph is intractable for most interesting problems • n-puzzle: (n+1)! states • k-queens:kk states Tractability of search hinges on the ability to explore only a tiny portion of the state graph!
Searching the State Space Search tree
Searching the State Space Search tree
Searching the State Space Search tree
Searching the State Space Search tree
Searching the State Space Search tree
Searching the State Space Search tree
8 8 2 2 8 2 7 3 3 4 4 7 7 3 4 5 5 1 1 6 6 5 1 6 8 2 3 4 7 8 2 8 4 2 3 4 7 3 7 5 1 6 5 1 6 5 1 6 Search Nodes and States If states are allowed to be revisited,the search tree may be infinite even when the state space is finite
8 2 PARENT-NODE 3 4 7 BOOKKEEPING 5 1 6 STATE CHILDREN Action Right Depth 5 ... Path-Cost 5 yes Expanded Data Structure of a Node Depth of a node N = length of path from root to N (depth of the root = 0)
8 2 8 8 4 8 2 3 4 7 2 2 3 3 4 7 3 7 4 7 1 5 6 5 1 6 5 1 6 5 1 6 Node expansion • The expansion of a node N of the search tree consists of: • Evaluating the successor function on STATE(N) • Generating a child of N for each state returned by the function • node generation node expansion N
8 2 8 2 7 3 4 7 3 4 5 1 6 5 1 6 Fringe of Search Tree • The fringe is the set of all search nodes that haven’t been expanded yet 8 2 3 4 7 5 1 6 8 2 7 3 4 5 1 6 8 2 8 2 3 4 7 3 4 7 5 1 6 5 1 6
Search Strategy • The fringe is the set of all search nodes that haven’t been expanded yet • The fringe is implemented as a priority queue FRINGE • INSERT(node,FRINGE) • REMOVE(FRINGE) • The ordering of the nodes in FRINGE defines the search strategy
Search Algorithm #1 SEARCH#1 1. If GOAL?(initial-state) then return initial-state 2. INSERT(initial-node,FRINGE) 3.Repeat: 4. If empty(FRINGE) then return failure 5.N REMOVE(FRINGE) 6.s STATE(N) 7. For every state s’ in SUCCESSORS(s) 8. Create a new node N’ as a child of N 9. If GOAL?(s’) then return path or goal state 10. INSERT(N’,FRINGE) Expansion of N
Performance Measures • CompletenessA search algorithm is complete if it finds a solution whenever one exists[What about the case when no solution exists?] • OptimalityA search algorithm is optimal if it returns a minimum-cost path whenever a solution exists • ComplexityIt measures the time and amount of memory required by the algorithm
Topics of Next 3-4 Classes • Blind (uninformed) Search • Little or no knowledge about how to search • Heuristic (informed) Search • How to use extra knowledge about the problem • Local Search • With knowledge about goal distribution