SEARCH Generate and Test Simplest/RES Generate a candidate solution and test to see if it solves the problem, Repeat until you solve the problem Very little information: guaranteed to succeed Hill Climbing Generate a candidate solution by modyfying a previous solution and and test to see if the new solution solves the problem Repeat until you solve the problem Local Search More information, Makes the assumption that..... Ie: local information Population of Hill-Climbers Do this in parallel with as many resources as you can lay your hands on. Choose the first one that solves your problem Parallel Lots of local searches Same information Ie: local information Population of information exchanging Hill-Climbers Genetic Algorithms Same information But exchanging information means it is a more global search Parallel Hard Problems: Computational Complexity Binary Search log N Linear search N Bubble Sort N^2 Scheduling: NP-complete a^N Hard Problems: Poorly-defined Robotics How do we manage to catch a ball, Navigation, Competition Seismology Predicting subsurface structure User Interfaces Predict next command Medicine Will this patient live? Design Design a bridge/truss, Analog-Circuit, Antennas Chemical equilibrium Control Process control.... Search as a solution to hard problems Basic Strategy: Generate and Test Generate a potential solution and test to see if the potential solution solves the problem Information to guide generation of potential solutions? No information means RES is our only recourse and we wait. Lots of EXPLORATION of the search space No information to EXPLOIT Lot of time Lots of information means we use information to directly solve problem. Little EXPLORATION of the search space EXPLOIT information Little Time If we can compare two solutions and tell which is better, we can use a variety of search algorithms tradeoff EXPLORATION and EXPLOITATION Increasing Exploration means Better chance of finding good solution But Increasing Time Increasing (if we can) Exploitation means Less Time But can get stuck in local optima which means less chance of finding good solution The amount of Information available about a problem influences our choice of an appropriate search algorithm and how we TUNE the search algorithm TUNING: Balancing EXPLOITATION against EXPLORATION Assumptions, Search Bias, and Information: RES: Search Bias: None Assumptions: Tester will tell us if/when we reach solution Information: Solution is in search space Hillclimbing: Search Bias: +Follow gradient -- climb the hill Assumptions: +Following gradient will lead to solution Information: +Gradient information is NOT misleading GAs and other, similar algorithms: Search Bias: +Follow gradient -- but hedge your bets sometimes go against gradient Assumptions: +Following gradient will USUALLY lead to solution +Exchanging information USUALLY helps Information: +Gradient information is USUALLY a good idea Questions: 1) What is the encoding? How do we generate candidate solutions? What are the Operators ? What is the search bias ? 2) Where is the balance between speed (converging quickly) (EXPLOITATION) and coverage (do we cover the (EXPLORATION) entire gamut of possible solutions?)