Lecture 2-State Space Search Flashcards
Why use State Space?
-Many AI problems can be expressed in terms of going from an initial state to a goal state
Brute force search vs heuristic search
Brute force search:
-generate and search all possibilities but INEFFICIENT
Heuristic search:
-only try the possibilities that you think are more likely to lead to good solutions
What is State Space represented by?
1.Inital state
2.Set of operations : responsible for transition between states
3.Goal test function: applied to a state to determine if it is a goal state
4.Path cost function: assigns a cost to a path to tell if a path is preferable to another
What is search space?
-The set of all states that can be reached from the initial state by any sequence of action
What is search algorithm?
-How the search space is visited
What can prevent termination?
-Cycles in graph representation(blind search without cycle check may never terminate)
What is uninformed search?
-We systematically explore the alternatives
-BRUTE FORCE SEARCH
-breadth-first, depth-first,depth-limited,iterative deepening,uniform cost
Depth-first vs breadth-first
Determine order for examining states:
-Depth-first: visit successors before siblings
-Breadth-first: visit siblings before successors, level-by-level
DFS vs BFS
-Only differ in the way they order nodes in the OPEN LIST
BFS :
-optimal (will always find shortest path)
-high memory
DFS:
-not optimal
-less memory
*BOTH IMPRACTICAL IN REAL APPLICATIONS BCUZ SEARCH SPACE TOO LARGE
What is DFS?
-Uses a stack –> nodes are added on the TOP of the list(LIFO)
What is BFS?
-Uses a queue –> nodes are added at the END of the list (FIFO)
What is Depth-limited search(DLS)?
-Compromise for DFS : DFS +depth cutoff k
What are the 3 possible outcomes of DLS?
-Solution
-Failure(no solution)
-Cutoff(no solution within cutoff)
What is Iterative Deepening?
-Compromise between BFS and DFS : DFS + a max depth before going to next level
-Needs little memory
-Finds shortest path
When is iterative deepening preferred?
When there is a large search space and the depth of the solution is unknown.
What is uniform cost search?
-Uses a priority queue sorted using the cost from the root to node n
-Guarantees to find the lowest cost solution path