Lecture 2 Flashcards
what is state space search?
use of graph to keep track of relationships between states. each node is a state and each arc (edge) is a operator to move from one state to another.
what does open and closed list mean?
open - current fringe of search
closed - states already visited
explain 4 steps to solve search problem
state representation (f w g c), initial state (E E E E), goal state (W W W W), operators (farmer goes alone, farmer takes wolf etc)
explain breadth-first-search with example
searches state level by level, doesn’t store pathway to go to that state to store pathway at each state store a pair (current state, parent state)
characteristics of breadth first search
nodes at level n are examined before preceding to level n+1, solutn guaranteed to be shortest, good when simple solutn is known to exist, if each node has large # of descendants BAD, B = avg # of children B^n states on n level, space complexity makes it hard for large problems
explain depth first search
explores root then all children before moving on to sibling
characteristics of depth first search
gets to deep search space quickly, if search path is long, doesn’t waste time searching “shallow” space, can get lost and miss short solutions, Bxn states to go n deep, using depth limit is good for making it a bit better.
4 factors for evaluating search strategies
completeness (guaranteed to find solutn), time complexity how long to find solutn (measured in # of nodes), space complexity (usually maximum size node list becomes), optimality/admissibility (is solutn is found it is guaranteed to be optimal (minimum cost))
evaluate bedth-first-search
completeness - yes, time complexity 1 + b + b^2 + b^3 + … + b^d = O(b^d), space complexity O(b^d), optimality and admissibility - yes.
evaluate depth-first search and DFS with depth limit and iterative deepening
DFS/depthlimit/ID completeness = no/yes if I > d/yes time = O(b^n)/O(b^I)/O(b^d) space = O(BM), O(BI), O(BD) optimaland admissible = no/no/yes b - branching factor, d - depth of solutn, m - maximum depth of tree, I - depth limit
difference between heuristic search strategies and non-heuristic (depth and breadth)
heuristic - have some way of telling how close a state is to goal state.
non-heuristic - goal state larger = further away
what heuristics state do we use if 2 have same value?
use one closer to root, depth can be added to heuristic value. f(n) = g(n) + h(n). g(n) = length of path from start to end, h(n) = heuristic estimate (length from n to goal)
what is admissibility and informedness?
admissible - when a heuristic finds shortest path to goal its said to be admissible.
informedness - how much better one heuristic search is better than another
what is f*(n)?
it is admissible and f(n) = g(n) + h(n). evaluates a function. g(n) - is cost of shortest path from start node to node n. h*(n) - actual cost of shortest path from node n to the goal
what if h = 0, what type of search is made? (in heuristic search models)
we get a breadth first search, that is NOT very informed