IV: Tree Search Techniques Flashcards
What is combinatorial explosion?
Rapid growth of the complexity of a program - exponential growth of solutions
Why is search so important?
A lot of problems can be seen as a ‘search’ for the right answer
What is a search space?
The set of all possible solutions
What is the input to a search algorithm?
The problem
What does a search algorithm return?
A solution to the problem
In a search tree what is the depth of a node?
The number of branches from the root node to the node
What is the depth of a search tree?
Depth of the deepest level node
How do states of a problem convert to a search tree?
They are the nodes
What is the search space in the search tree model?
The set of all reachable states so all nodes in the tree
How do you model operators in a problem/game to the search tree model?
They’re the branches as they are actions that move the model from one state to another
What is a neighbourhood within a search problem?
All possible states reachable from a given state
What is a goal test within a search problem?
A test to a state to tell if the search reached a state that solves the problem
What is path cost within the search tree model?
Cost of taking a particular path
In the search tree model, what is the branching factor?
Average number of branches of all nodes in a tree
In search tree model, do we want a large or small branching factor?
Small as possible
What does BFS stand for?
Breadth - First - Search
What does BFS do differently to a general search algorithm?
Root node is expanded first, expand all nodes at level d before expanding level d+1
What does a queue function do for BFS?
Add a node to the end of the queue to test
What are the three types of nodes during a BFS (tree search)?
- Fringe nodes (open nodes / leaves)
- Visited nodes (closed nodes)
- Undiscovered nodes
In BFS, what is a fringe node?
- has been discovered
- has not been processed yet
e.g. child nodes not explored and hasn’t been tested to see if goal
In BFS, what are visited nodes?
- have been processed
e.g. nodes explored and tested
What is the difference in a search tree between a goal state and a solution?
A goal state is just a node that passes tests, the solution is the path taken to get there
What are the four criteria for evaluating a search technique?
- Completeness
- Time complexity
- Space complexity
- Optimality
Define completeness as an evaluation criteria.
Is the search tree guaranteed to find a solution