Search
Consider two admissible heuristics h1 and h2. Which one of the following operations would yield a better heuristic for use with A*? (a) min(h1,h2) (b) max(h1,h2) (c) (h1+h2)/2 (d) all the above are the same
(b) max(h1,h2) because it creates a tighter bound. hence making the search more efficient
What are the advantages of bfs over dfs ? And vice versa
Bfs over dfs: does not get stuck in cycles, complete and optimal Dfs over bfs: good for long solutions
Explain what the frontier is in a graph and what is it used for ?
Is a collection of explored nodes. It expands to unexplored nodes in a systematic manner until goal node is encountered. How it expands depends on the search algorithm used
Is the worst complexity different for dfs and bfs
No they are the same . Because in the worst case, all nodes needs to be explored
Where b is a maximum branching factor and d is the maximum depth of search, characterize the maximum size of df frontier
O(bd)
What is the distinction between informed and uninformed search
Uninformed searches have no information about goal, they know they are at goal when they are AT the goal. Informed searches have information that lets them know how close they are to the goal
Consider the algorithm for search . Where in the code would the implementation of dfs and bfs be different and how would they differ
Would different in line 10'where nodes are added to path. Dfs treats the frontier as a stack, while bfs treats it as queue as well as selecting and removing path
Is the max of two admissible heuristics also admissible? Why or why not
Yes it is. Because both are still underestimate of the path cost to the goal
Assume you run uniformed iterative deepening is running. If the algorithm has reached the stage in which DFS is running with bound depth 6l must it be true that the start state is not the goal? Why ? Must it be true that there are no solutions at level 3 ? Why
Yes. Uninformed IDS performs DFS on all possible paths in each depth level before proceeding. If it has reached the stage at bound depth 6, this means that the solution is not located in any of the bound depths that precedes it. Therefore, the start node is not the goal, and there cannot be a solution at level 3.
What is a heuristic
estimate of optimal cost between current node and the goal node
What does it mean by search algorithm completeness
A solution will be found if one exists
In what sense is branch and bound better than A*? In what sense is A* better than branch and bound?
A* is complete while branch and bound is not branch and bound has a smaller space complexity
What nodes is/are in the frontier of depth first search
Stack. The nodes of one path is added all at once
State the 5 elements that characterizes a search problem instance or sesrch algorithm
Start state(s) Goal state(s) Graph Boolean to check for goal Frontier
What does it mean by search algorithm optimality
The algorithm will find the best solution
In branch and bound, how is the upper bound calculated
UB is f(n) = cost(n) + h(n)
In branch and bound, wen do we prune a path p?
we prune path p when the lower bound value excess the upper bound value
Assume you run uniformed iterative deepening to find solution no more than k steps from the start node (k>2) . In the worse case, how many time the nodes two steps from the start node will be generated? why?
k-1. If the solution is at depth k, then the entire tree is generated k times. Hence not including the start node. the nodes two steps from start is generated k-1.
Give the definition of an admissible heuristic
underestimate of cost to goal and is lower than any possible cost for all nodes to goal