CS170 Midterm 1 Notes
Which statement is FALSE about diameter of a problem? a) If we know the diameter of a problem, we can use depth-limited search to nd the best solution b) Finding the diameter of a problem can be computationally expensive c) Diameter of a problem is the maximum number of steps/moves taken by any algorithm to solve the problem d) Diameter of a problem is the minimum number of steps/moves required to solve the worst case initial state
C, Diameter of a problem is the max number of steps/moves taken by any algo to solve the problem
What is the worst time complexity of DFS
O(b^d), Where d is the max depth and b is branching factor
What is the best case for A* search
When we have a perfect heuristic we get space/time complexity of O(d), this happens when we march down a stright path
a game whose outcome can be correctly predicted from any position is called?
a solved game
Whats the best case for BFS
about O(b^g), case happens when the goal is in the bottom left corner at depth g
When using minimax with alpha beta pruning, what is the best case?
when best moves are explored firstm and the time complexity is O(b^(d/2)) ex: at MAX nodes the child with the largest value is generated first and with MIN nodes the child with the smallest value is generated first
When using minimax with alpha beta pruning, what is the worst case?
when the best moves are the last ones explored and time complexity is O(b^d) ex: explores all nodes and ends up being the same as minimax with no pruning
Is the following an admissible heuristic (h1 + h2) / 2
yes, the average is a good heuristic as long as h1 and h2 are less than the exact cost to goal
How do we calculate the probability of hill climbing search failing? * maybe this formula is wrong
(1-(# of good choices/ total choice space))^(# of times we run hill climb)
Max depth to the cheapest solution for a particular problem is called?
Diameter
What does a heuristic function do?
It can only estimate how close a node is to the final state state. Key Note: We want to make sure our heuristic is admissable
What is Iterative deepening search
Iterative deepening is just like DFS but will explore subtrees with the same root but different depths
What happens if our step size it to big in optimization algos
You might miss the optima or end up in oscillation, less accurate
What is the diameter of a Rubiks cube problem
exactly 20 for max diameter
What happens if your step size is to small
going to take a long time to reach the optima, but will be more accurate
Is the following an admissible heuristic min(h1,h2)
is admissible
Is the following an admissible heuristic sqrt(h1 * h2)
is admissible
What type of searching algo is Simulated anealing
optimization search
What is the worst case for A* search
Worst case time and space complexity is O(b^d) when we choose a bad heuristic
What is an admisable heuristic
A heuristic that never overestimates the cost to reach the goal state
In genetic algorithms, the process of creating a new state,, by randomly changing part of an old state is called
mutation
Which of the following statements is true? (may be more than one) A) The alpha-beta algo is preferred to minimax because it computes the same answer as minimax while usually doing so without examining as much of the game B) Minimax with alpha-beta pruning will maximize the number branches pruned if the moves under nodes are ordered carefully C) The alpha beta algo is preferred to minimax because it provides a better estimation of which move is best for a given lookahead distance D) Minimax algo is not always optimal for exact playing
A and B
The MiniMax algorithm has an exponential running time. If we want to find the exact best move, we might have to wait forever. How can we get an approximate best move in a given time? A) Searching to a cut-off and applying utility functions on terminal (game over) states B) Do a depth-limited search with evaluation function for intermediate nodes C) Search the full game tree, make the best move and wait for a reply, search the full game tree, make the best move, wait for a reply... repeat until game over D) Do a depth first search and calculate minimax values simultaneously
B) Do a depth-limited search with evaluation function for intermediate nodes
Which of the following statements is false? A) if the temperature t is always fixed at 0, simulated annealing works as pure greedy search B) An advantage of hill climbing search is that it requires minimal memory C) The local optima problem only happens in continuous space D) Random search is optimal but it can be very slow
C, this is because local optimal problem can also happen in discrete space
In the genetic algorithm , the process of creating a new state, by combining parts of parent states is called?
Crossover
Which statement is TRUE about goal test? (checking whether a search algorithm has found the goal state). a) For A* search, goal test should be performed right after creating a node and before pushing it into the frontier b) For uniform-cost search, goal test should be performed right after creating a node and before pushing it into the frontier c) For uniform-cost search and A* search, goal test should be performed right after pushing a node into the frontier d) For uniform-cost search and A* search, goal test should be performed right after moving a node from the frontier
D , For uniform-cost search and A* search, goal test should be performed right after moving a node from the frontier
Which one of the following statements is FALSE A) Bredth-first search will always find the shortest solution if one exists and it is of finite length B) A greedy best first search algorithm can get stuck in loops C) A danger of depth first search is that it may not terminate if the search space is infinite, even if a finite solution exists D) A* algorithm will always find the best solution
D, A* algo will always find the best solution
In the worst case, how many nodes are explored by depth first search
O(b^d) - O(b^(d-g)) nodes explored. This happens when goal node is the rightmost node at depth g
Worst Case of Expanded Nodes for BFS
O(b^g) Where b is branching factor and g is the goal depth
What are the storage requirements for BFS
O(b^g), BFS keeps nodes in queue
In the worst case, how many nodes are explored by iterative deepening search
O(b^g), the goal is at the right most branch at depth g
In the best case, how many nodes are explored by iterative deepening search
O(b^g), where the goal is in the left-most branch, at depth g
In the worst case, what is the space complexity of DFS
O(bd), Where d is the max depth and b is branching factor
What is the best case, how many nodes are explored by DFS
O(g), in the best case the goal state is at the leftmost branch at depth g (Goal depth)
True or False Step size can be defined dynamically through the optimization process by considering the topology of thespace i.e. use the gradient to reduce the step size as you move closer and closer to an optima
True
How do we compute the branching factor for a problem when not all operators are applicable to all nodes
We take the average of branching factors. Formula: number of branches / total number of branch points (non-leaf nodes)
Is the following an admissible heuristic h1 * h2
not admissible, unable to derive a relationship
Is the following an admissible heuristic h1 - h2
not admissible, unable to derive a relationship