Search
Many AI Systems use Search! Define a representation for the problem Use search and a criteria to solve the problem Rules systems do search! Search is a weak method Search does not depend on domain knowledge
History Shannon proposed chess by search in 1950 Samuel does checkers by search in late 50’s Logic Theorist of Newell and Simon in 63 Geometry Theorem Prover by Gelernter in 63
Problem Types Path finding Two player Games Constraint Satisfaction Puzzles e.g. Rubic’s Cube Two player Games Constraint Satisfaction Eight Queens
Problem Spaces Hypothesis: [Newell and Simon] A problem space is: All goal-oriented problem symbolic activity occurs in a problem space A problem space is: Set of states Set of operations mapping state to new state A problem instance is: A goal and stating state.
Choosing a Problem Space There may be several choices! Looking at a problem different way! Space may allow sub-goals or macro-operations If one level of abstraction is good, is multiple levels better? Search direction? Forward or backward.
General Questions: Is search the best way to solve the problem? Which search methods can solve the problem? Efficiency?
Blind Search Methods that don’t use any domain knowledge! Example – given a highway map find a path from A to B. Costs: Computation cost of finding a path Travel cost of executing the path
Net Search Start a A Add to paths one link at a time Iterate until you reach B Loop removal! This is really a tree search!
Tree Search Cost Basically Exponential! Depth First Breadth First Choice based on branching factor Non deterministic (random)
Heuristically Informed Search Order search choices by a quality function Effect is often increased efficiency DFS -> hill climbing For the map problem: straight line distance Sort paths by straight line distance from end point to goal!
Hill Climbing Problems Foothills Local vs. Global optima Plateau Which way to go? Ridge More Subtle Ridge running at an angle to our paths means all steps go down!
Simulated Annealing Example: Ping Pong Ball Annealing Neural Nets means slowly lowering temperature Temperature is related to randomness Neural Nets
Some General Principles More knowledge leads to reduced search! Use another search space!
Beam Search Use a quality function to sort paths Purge paths by “Beam” Keep best N Keep paths within a tolerance from the quality
Branch and Bound Use lower bound estimate for remaining path Good when estimate is good. Dynamic Programming Principle: Best path thorough an intermediate node is the best path to the node and the best path from the node to the goal In B&B delete multiple paths to a node keeping the lowest code path. Good when multiple paths converge
B & B (cont.) A* Search Lower bound combined with Dynamic Programming Principle
Adversarial Search Game Tree Exhaustive search: impossible! Nodes represent Game State (e.g. board position) Levels represent choices by alternating players Exhaustive search: impossible! Some Game Theory Ideas Games represent more than “games” Zero Sum games
Minmax Search Need Static Evaluator Use look ahead Rates game state’s value for a player One player needs to minimize, the other needs to maximize Use look ahead
Alpha-Beta If an idea is clearly bad – don’t waste time on it! Keep two params – alpha for maximer Beta for minimizer Use terms to limit search
Heuristic Additions Progressive deepening Horizon Effect Use breadth first Limit by amount of time available Horizon Effect Some paths need to analyzed to deeper levels Singular-extension Expand paths with values that standout from the rest
Heuristic Additions (cont.) Heuristic Pruning to reduce search space
Games of Chance Chance can become a “player” Tree has three types of layers Max Min Chance
Partial Information in Games Many card games have partial information! Strategy based on belief states Given information revealed so far What does my opponent believe What do I believe
Genetic Algorithms A topic we look a more later Search in a genetic space Problem solution encoded in genes Crossover and Mutation Evaluation function (Fitness)
“Online” Search Interleave computation and action Cost for inaction Impossible to compute the search tree Ex: Maze problems! Search Types DFS not BFS (Why?) Hill Climbing (uses local information) Random Walk LRTA*
LRTA* Learning in Real Time A* Requires Deterministic, Finite, Safe Results Table – [state X action] Cost table (H) Results and Cost are empty at start
Search Considered Search has solved some problems at an expert level: Chess Mathematical manipulation Search has failed at: Common sense reasoning Language and Vision
Open Problems Parallel Search Learning Heuristic Evaluation Functions