Lecture 4: Local and Randomized/Stochastic Search

Similar documents
CS:4420 Artificial Intelligence

TDT4136 Logic and Reasoning Systems

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Artificial Intelligence

Beyond Classical Search: Local Search. CMPSCI 383 September 23, 2011

Informed Search and Exploration

Introduction to Computer Science and Programming for Astronomers

Artificial Intelligence p.1/49. n-queens. Artificial Intelligence p.2/49. Initial state: the empty board or a board with n random

Informed Search. Dr. Richard J. Povinelli. Copyright Richard J. Povinelli Page 1

Outline. Best-first search. Greedy best-first search A* search Heuristics Local search algorithms

Lecture Plan. Best-first search Greedy search A* search Designing heuristics. Hill-climbing. 1 Informed search strategies. Informed strategies

Artificial Intelligence

Gradient Descent. 1) S! initial state 2) Repeat: Similar to: - hill climbing with h - gradient descent over continuous space

Informed search algorithms

Informed search algorithms. (Based on slides by Oren Etzioni, Stuart Russell)

Informed Search and Exploration

Artificial Intelligence, CS, Nanjing University Spring, 2016, Yang Yu. Lecture 5: Search 4.

CS 331: Artificial Intelligence Local Search 1. Tough real-world problems

Iterative improvement algorithms. Today. Example: Travelling Salesperson Problem. Example: n-queens

Introduction to Artificial Intelligence 2 nd semester 2016/2017. Chapter 4: Beyond Classical Search

Informed Search Algorithms. Chapter 4

Artificial Intelligence

Informed search algorithms. Chapter 4

EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS

Artificial Intelligence

Robot Programming with Lisp

Local Search. CS 486/686: Introduction to Artificial Intelligence Winter 2016

Escaping Local Optima: Genetic Algorithm

Beyond Classical Search

Non-deterministic Search techniques. Emma Hart

INF Biologically inspired computing Lecture 1: Marsland chapter 9.1, Optimization and Search Jim Tørresen

Advanced A* Improvements

Local Search (Greedy Descent): Maintain an assignment of a value to each variable. Repeat:

ARTIFICIAL INTELLIGENCE. Informed search

Problem Solving: Informed Search

TDDC17. Intuitions behind heuristic search. Recall Uniform-Cost Search. Best-First Search. f(n) =... + h(n) g(n) = cost of path from root node to n

Beyond Classical Search

CS 380: Artificial Intelligence Lecture #4

Local Search. CS 486/686: Introduction to Artificial Intelligence

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

Local Search (Ch )

Solving Problems: Intelligent Search

Informed Search and Exploration

2006/2007 Intelligent Systems 1. Intelligent Systems. Prof. dr. Paul De Bra Technische Universiteit Eindhoven

Informed Search. Best-first search. Greedy best-first search. Intelligent Systems and HCI D7023E. Romania with step costs in km

Administrative. Local Search!

Evolutionary Computation Algorithms for Cryptanalysis: A Study

mywbut.com Informed Search Strategies-II

Artificial Intelligence. 2. Informed Search

Artificial Intelligence

TDDC17. Intuitions behind heuristic search. Best-First Search. Recall Uniform-Cost Search. f(n) =... + h(n) g(n) = cost of path from root node to n

Lecture 4. Convexity Robust cost functions Optimizing non-convex functions. 3B1B Optimization Michaelmas 2017 A. Zisserman

Dr. Mustafa Jarrar. Chapter 4 Informed Searching. Artificial Intelligence. Sina Institute, University of Birzeit

3.6.2 Generating admissible heuristics from relaxed problems

Dr. Mustafa Jarrar. Chapter 4 Informed Searching. Sina Institute, University of Birzeit

Informed search algorithms. Chapter 4

Simulated Annealing. G5BAIM: Artificial Intelligence Methods. Graham Kendall. 15 Feb 09 1

N-Queens problem. Administrative. Local Search

CS 188: Artificial Intelligence

BEYOND CLASSICAL SEARCH

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence,

Single Candidate Methods

Algorithm Design (4) Metaheuristics

DIT411/TIN175, Artificial Intelligence. Peter Ljunglöf. 23 January, 2018

Hill Climbing. Assume a heuristic value for each assignment of values to all variables. Maintain an assignment of a value to each variable.

Artificial Intelligence

Beyond Classical Search

AI Programming CS S-08 Local Search / Genetic Algorithms

CMU-Q Lecture 8: Optimization I: Optimization for CSP Local Search. Teacher: Gianni A. Di Caro

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Heuristic Optimisation

Advanced Search Genetic algorithm

Introduction to Design Optimization: Search Methods

Simulated Annealing. Slides based on lecture by Van Larhoven

CS 188: Artificial Intelligence Spring Today

Outline of the module

METAHEURISTICS. Introduction. Introduction. Nature of metaheuristics. Local improvement procedure. Example: objective function

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Two approaches. Local Search TSP. Examples of algorithms using local search. Local search heuristics - To do list

x n+1 = x n f(x n) f (x n ), (1)

GENETIC ALGORITHM with Hands-On exercise

Introduction to Genetic Algorithms

Ar#ficial)Intelligence!!

Lecture 6: Constraint Satisfaction Problems (CSPs)

CS 188: Artificial Intelligence

Announcements. CS 188: Artificial Intelligence Fall Reminder: CSPs. Today. Example: 3-SAT. Example: Boolean Satisfiability.

CS 188: Artificial Intelligence Fall 2008

Today. CS 188: Artificial Intelligence Fall Example: Boolean Satisfiability. Reminder: CSPs. Example: 3-SAT. CSPs: Queries.

Planning and Search. Genetic algorithms. Genetic algorithms 1

Heuristic (Informed) Search

Introduction to Optimization Using Metaheuristics. The Lecturer: Thomas Stidsen. Outline. Name: Thomas Stidsen: Nationality: Danish.

Uninformed Search Methods. Informed Search Methods. Midterm Exam 3/13/18. Thursday, March 15, 7:30 9:30 p.m. room 125 Ag Hall

Solving Traveling Salesman Problem Using Parallel Genetic. Algorithm and Simulated Annealing

4/22/2014. Genetic Algorithms. Diwakar Yagyasen Department of Computer Science BBDNITM. Introduction

4 INFORMED SEARCH AND EXPLORATION. 4.1 Heuristic Search Strategies

Algorithms & Complexity

Using Genetic Algorithms to optimize ACS-TSP

Introduction to Optimization Using Metaheuristics. Thomas J. K. Stidsen

Transcription:

Lecture 4: Local and Randomized/Stochastic Search CS 580 (001) - Spring 2018 Amarda Shehu Department of Computer Science George Mason University, Fairfax, VA, USA February 14, 2018 Amarda Shehu (580) 1

1 Search in Unobservable or Large Environments Local Search Template: Iterative Improvement Mechanism Local Search Algorithmic Realization: Hill Climbing Hill Climbing for Discrete State Spaces Hill Climbing in Continuous State Spaces Premature Convergence in Local Search Randomization of Local Search to Address Premature Convergence Random-restart/Multistart Mechanism Iterated Local Search (ILS) Mechanism Memory-less Randomized/stochastic Search/Optimization Monte Carlo Search Simulated Annealing Monte Carlo (SA-MC) Memory-based Randomized/stochastic Search/Optimization Memory via Search Structure - Tabu Search Memory via Search Structure - Tree-guided Search Memory-based Search via Population: Evolutionary Search Strategies Evolutionary Algorithms (EAs) Genetic Algorithms (GAs) 2 Summary Amarda Shehu (580) 2

Graph search algorithms conduct systematic search Assume state space is finite and can fit in memory State space can be large, not even finite Environment may not even be observable No model of the environment available Local Search: how to find solutions quickly with only a local view of the space Randomized Search: Address premature convergence of local search Fundamental to local search: iterative improvement mechanism Amarda Shehu (580) Search in Unobservable or Large Environments 3

Iterative Improvement Mechanism in Local Search In many optimization problems, path is irrelevant; the goal state itself is the solution Then state space = set of complete configurations; find optimal configuration (explicit constraints or objective/fitness function) iterative improvement keep a single current state, try to improve it that is, no memory of what has been found so far hence, (memory-less) local search iterative refers to iterating between states improvement refers to later states improving some objective/goal function or satisfying more of the specified constraints over earlier states improvement may not be immediate (more on this later) Amarda Shehu (580) Search in Unobservable or Large Environments 4

Example: Traveling Salesman Problem (TSP) Start with any complete tour, perform pairwise exchanges Variants of this approach get within 1% of optimal very quickly with thousands of cities Amarda Shehu (580) Search in Unobservable or Large Environments 5

Example: n-queens Put n queens on an n n board with no two queens on the same row, column, or diagonal Move a queen to reduce number of conflicts Almost always solves n-queens problems almost instantaneously for very large n, e.g., n = 1million Amarda Shehu (580) Search in Unobservable or Large Environments 6

(Simple) Hill Climbing Like climbing Everest in thick fog with amnesia Like hopping kangaroos function Hill-Climbing( problem) returns a state that is a local optimum inputs: problem, a problem local variables: current, a node neighbor, a node current Make-Node(Initial-State[problem]) loop do neighbor a successor of current if Value[neighbor] is not better than Value[current] then return State [current] current neighbor end Amarda Shehu (580) Search in Unobservable or Large Environments 7

(Simple) Hill Climbing for Discrete State Spaces How is the neighbor of a current state generated? If state space is discrete and neighbor list is finite, all neighbors of a current state can be considered: Steepest hill climbing: compare best neighbor to current What if neighbors cannot be enumerated? What if state space is continuous? Stochastic hill climbing: select neighbor at random Gradient-based variants: for continuous state spaces (Conjugate) Gradient Descent/Ascent Other numerical optimization algorithms (taught in Numerical Methods courses) Amarda Shehu (580) Search in Unobservable or Large Environments 8

Continuous State Spaces Suppose we want to site three airports in Romania: 6-D state space defined by (x 1, y 2), (x 2, y 2), (x 3, y 3) objective function f (x 1, y 2, x 2, y 2, x 3, y 3) = sum of squared distances from each city to nearest airport Gradient-based methods (referred to as potential field methods in robotics) compute ( f f =, f, f, f, f, f ) x 1 y 1 x 2 y 2 x 3 y 3 to increase/reduce f, e.g., by x x + α f (x) Sometimes can solve for f (x) = 0 exactly (e.g., with one city). Steepest descent, gradient descent Conjugate gradient descent methods, like Newton Raphson (1664, 1690) iterate x x H 1 f (x) f (x) to solve f (x) = 0, where H ij = 2 f / x i x j What if cannot analytically calculate the derivatives? empirical gradient considers ±δ change in each coordinate Amarda Shehu (580) Search in Unobservable or Large Environments 9

Continuous State Spaces Suppose we want to site three airports in Romania: 6-D state space defined by (x 1, y 2), (x 2, y 2), (x 3, y 3) objective function f (x 1, y 2, x 2, y 2, x 3, y 3) = sum of squared distances from each city to nearest airport Gradient-based methods (referred to as potential field methods in robotics) compute ( f f =, f, f, f, f, f ) x 1 y 1 x 2 y 2 x 3 y 3 to increase/reduce f, e.g., by x x + α f (x) Sometimes can solve for f (x) = 0 exactly (e.g., with one city). Steepest descent, gradient descent Conjugate gradient descent methods, like Newton Raphson (1664, 1690) iterate x x H 1 f (x) f (x) to solve f (x) = 0, where H ij = 2 f / x i x j What if cannot analytically calculate the derivatives? empirical gradient considers ±δ change in each coordinate Amarda Shehu (580) Search in Unobservable or Large Environments 9

(Simple) Hill Climbing and Premature Convergence Why is simple hill climbing and its variants realizations of local search? Amarda Shehu (580) Search in Unobservable or Large Environments 10

(Simple) Hill Climbing and Premature Convergence Why is simple hill climbing and its variants realizations of local search? Useful to consider state space landscape Amarda Shehu (580) Search in Unobservable or Large Environments 10

(Simple) Hill Climbing and Premature Convergence Why is simple hill climbing and its variants realizations of local search? Useful to consider state space landscape simple hill climbing converges to a local optimum Amarda Shehu (580) Search in Unobservable or Large Environments 10

(Simple) Hill Climbing and Premature Convergence Why is simple hill climbing and its variants realizations of local search? Useful to consider state space landscape simple hill climbing converges to a local optimum when is this behavior sufficient to locate the goal=global optimum? Amarda Shehu (580) Search in Unobservable or Large Environments 10

(Simple) Hill Climbing and Premature Convergence Why is simple hill climbing and its variants realizations of local search? Useful to consider state space landscape simple hill climbing converges to a local optimum when is this behavior sufficient to locate the goal=global optimum? How can we improve its behavior on non-convex landscapes? Amarda Shehu (580) Search in Unobservable or Large Environments 10

Premature Convergence in Nonconvex (Fitness) Landscapes Amarda Shehu (580) Search in Unobservable or Large Environments 11

Three General Mechanisms to Avoid Premature Convergence Randomization: Random/multi restarts allows embarrasing parallelization Iterated Local Search (ILS) Memory-less randomized/stochastic search/optimization: Monte Carlo Simulated Annealing Monte Carlo Memory-based randomized search: Memory via search structure list: tabu search tree-/graph-based search Memory via population Evolutionary search strategies Evolutionary Algorithms (EAs), Genetic Algorithms (GAs), Genetic Programming Algorithms (GPs) Amarda Shehu (580) Search in Unobservable or Large Environments 12

Three General Mechanisms to Avoid Premature Convergence Randomization: Random/multi restarts allows embarrasing parallelization Iterated Local Search (ILS) Memory-less randomized/stochastic search/optimization: Monte Carlo Simulated Annealing Monte Carlo Memory-based randomized search: Memory via search structure list: tabu search tree-/graph-based search Memory via population Evolutionary search strategies Evolutionary Algorithms (EAs), Genetic Algorithms (GAs), Genetic Programming Algorithms (GPs) Categorizations can be subjective, with no clear borders Amarda Shehu (580) Search in Unobservable or Large Environments 12

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Also known as shotgun hill climbing (or shooting kangaroos) Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Also known as shotgun hill climbing (or shooting kangaroos) Surprisingly effective on many difficult optimization problems. Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Also known as shotgun hill climbing (or shooting kangaroos) Surprisingly effective on many difficult optimization problems. Take-away: It is often better to spend CPU time exploring the space, than carefully optimizing from an initial condition. Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Also known as shotgun hill climbing (or shooting kangaroos) Surprisingly effective on many difficult optimization problems. Take-away: It is often better to spend CPU time exploring the space, than carefully optimizing from an initial condition. Why? Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Also known as shotgun hill climbing (or shooting kangaroos) Surprisingly effective on many difficult optimization problems. Take-away: It is often better to spend CPU time exploring the space, than carefully optimizing from an initial condition. Why? Restarts give global view of state space Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Also known as shotgun hill climbing (or shooting kangaroos) Surprisingly effective on many difficult optimization problems. Take-away: It is often better to spend CPU time exploring the space, than carefully optimizing from an initial condition. Why? Restarts give global view of state space Drawback? Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Also known as shotgun hill climbing (or shooting kangaroos) Surprisingly effective on many difficult optimization problems. Take-away: It is often better to spend CPU time exploring the space, than carefully optimizing from an initial condition. Why? Restarts give global view of state space Drawback? Memory-less, Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Also known as shotgun hill climbing (or shooting kangaroos) Surprisingly effective on many difficult optimization problems. Take-away: It is often better to spend CPU time exploring the space, than carefully optimizing from an initial condition. Why? Restarts give global view of state space Drawback? Memory-less, The hill climber threads do not talk to one another. Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Also known as shotgun hill climbing (or shooting kangaroos) Surprisingly effective on many difficult optimization problems. Take-away: It is often better to spend CPU time exploring the space, than carefully optimizing from an initial condition. Why? Restarts give global view of state space Drawback? Memory-less, The hill climber threads do not talk to one another. More on this later. Amarda Shehu (580) Search in Unobservable or Large Environments 13

Random-restart Hill Climbing A meta-algorithm that can encapsulate any local search algorithm, not just hill climbing Launch multiple hill climbers from different initial states/configurations Amenable to embarrasing parallelization Also known as shotgun hill climbing (or shooting kangaroos) Surprisingly effective on many difficult optimization problems. Take-away: It is often better to spend CPU time exploring the space, than carefully optimizing from an initial condition. Why? Restarts give global view of state space Drawback? Memory-less, The hill climber threads do not talk to one another. More on this later. Amarda Shehu (580) Search in Unobservable or Large Environments 13

Kicking Hill Climbing out of Local Optimum How to escape from a local optimum? Amarda Shehu (580) Search in Unobservable or Large Environments 14

Kicking Hill Climbing out of Local Optimum How to escape from a local optimum? Kick the kangaroo out - make a random move Amarda Shehu (580) Search in Unobservable or Large Environments 14

Kicking Hill Climbing out of Local Optimum How to escape from a local optimum? Kick the kangaroo out - make a random move Iterated Local Search Amarda Shehu (580) Search in Unobservable or Large Environments 14

Kicking Hill Climbing out of Local Optimum How to escape from a local optimum? Kick the kangaroo out - make a random move Iterated Local Search Amarda Shehu (580) Search in Unobservable or Large Environments 14

Iterated Local Search Start at given initial state Until some budget is exhausted or other termination criterion is reached: Amarda Shehu (580) Search in Unobservable or Large Environments 15

Iterated Local Search Start at given initial state Until some budget is exhausted or other termination criterion is reached: Iterate between two types of moves: Amarda Shehu (580) Search in Unobservable or Large Environments 15

Iterated Local Search Start at given initial state Until some budget is exhausted or other termination criterion is reached: Iterate between two types of moves: local improvement Amarda Shehu (580) Search in Unobservable or Large Environments 15

Iterated Local Search Start at given initial state Until some budget is exhausted or other termination criterion is reached: Iterate between two types of moves: local improvement local randomization/perturbation/variation Amarda Shehu (580) Search in Unobservable or Large Environments 15

Iterated Local Search Start at given initial state Until some budget is exhausted or other termination criterion is reached: Iterate between two types of moves: local improvement local randomization/perturbation/variation Local improvement: as before, go from current state to a neighboring local optimum Amarda Shehu (580) Search in Unobservable or Large Environments 15

Iterated Local Search Start at given initial state Until some budget is exhausted or other termination criterion is reached: Iterate between two types of moves: local improvement local randomization/perturbation/variation Local improvement: as before, go from current state to a neighboring local optimum Local randomization: modify some variable of local optimum to get a worse, adjacent state (not necessarily neighbor) Amarda Shehu (580) Search in Unobservable or Large Environments 15

Iterated Local Search Start at given initial state Until some budget is exhausted or other termination criterion is reached: Iterate between two types of moves: local improvement local randomization/perturbation/variation Local improvement: as before, go from current state to a neighboring local optimum Local randomization: modify some variable of local optimum to get a worse, adjacent state (not necessarily neighbor) Amarda Shehu (580) Search in Unobservable or Large Environments 15

ILS continued ILS also known as Basin Hopping (BH) How to design effective local randomization strategies? Domain-specific Introduce enough change but not too much change Examples from Research Literature Gross, Jamali, Locatelli, Schoen. Solving the problem of packing equal and unequal circles in a circular container. J Glob Optim 47:63-81, 2010. Olson, Hashmi, Molloy, Shehu. Basin Hopping as a General and Versatile Optimization Framework for the Characterization of Biological Macromolecules. Advances in Artificial Intelligence J 2012, 674832 (special issue on Artificial Intelligence Applications in Biomedicine). Can encapsulate ILS within random restart Amarda Shehu (580) Search in Unobservable or Large Environments 16

ILS continued ILS also known as Basin Hopping (BH) How to design effective local randomization strategies? Domain-specific Introduce enough change but not too much change Examples from Research Literature Gross, Jamali, Locatelli, Schoen. Solving the problem of packing equal and unequal circles in a circular container. J Glob Optim 47:63-81, 2010. Olson, Hashmi, Molloy, Shehu. Basin Hopping as a General and Versatile Optimization Framework for the Characterization of Biological Macromolecules. Advances in Artificial Intelligence J 2012, 674832 (special issue on Artificial Intelligence Applications in Biomedicine). Can encapsulate ILS within random restart Amarda Shehu (580) Search in Unobservable or Large Environments 16

Monte Carlo (MC) Search Can be seen as a variant of hill climbing While hill climbing is monotonic (strict on improvement), MC allows hopping to a worse neighbor Temperature parameter controlls how often function MC( problem, T) returns a solution state inputs: problem, a problem T, a temperature controlling prob. of downward steps local variables: current, a node next, a node current Make-Node(Initial-State[problem]) for t 1 to do if T = 0 then return current next a randomly selected successor of current E Value[next] Value[current] if E > 0 then current next else current next only with probability e E/T Amarda Shehu (580) Search in Unobservable or Large Environments 17

Simulated Annealing Monte Carlo (SA-MC) Idea: escape local maxima by allowing some bad moves but gradually decrease their size and frequency function SA( problem, schedule) returns a solution state inputs: problem, a problem schedule, a mapping from time to temperature local variables: current, a node next, a node T, a temperature controlling prob. of downward steps current Make-Node(Initial-State[problem]) for t 1 to do T schedule[t] if T = 0 then return current next a randomly selected successor of current E Value[next] Value[current] if E > 0 then current next else current next only with probability e E/T Amarda Shehu (580) Search in Unobservable or Large Environments 18

SA-MC Behavior At fixed temperature T, state occupation probability reaches Boltzman distribution p(x) = αe E(x) kt T decreased slowly enough = always reach best state x because e E(x ) E(x) E(x ) E(x) kt /e kt = e kt 1 for small T Is this necessarily an interesting guarantee?? Devised by Metropolis et al., 1953, for physical process modelling Sometimes referred to as Metropolis Monte Carlo (MMC) Widely used in VLSI layout, airline scheduling, computational biology, chemistry, physics to find lowest-energy states of a complex system composed of many modules that constrain motions/placements of one another Amarda Shehu (580) Search in Unobservable or Large Environments 19

Exploiting Concept of Temperature How should next temperature be picked? Fixed, proportional cooling schedule Dynamic, adaptive (adaptive tempering, popular in chemistry, material science) Other ways to use temperature To diversify restart threads Different MCs, each at their own temperature Trivial way threads can exchange information: exchange current states every so often known as parallel tempering or replica exchange (popular in physics and chemistry) Amarda Shehu (580) Search in Unobservable or Large Environments 20

Combination of Strategies ILS+MC Monte Carlo with minimization very popular in biomolecular structure/energy optimization SA-MC + random restart Many enhancement strategies proposed to broaden the view of the state space afforded by local search Example: Local Beam Search Amarda Shehu (580) Search in Unobservable or Large Environments 21

Local Beam Search Idea: keep k states instead of 1; choose top k of all their successors Not the same as k searches run in parallel! Searches that find good states recruit other searches to join them Problem: quite often, all k states end up on same local hill Idea: choose k successors randomly, biased towards good ones Observe the close analogy to natural selection! Amarda Shehu (580) Search in Unobservable or Large Environments 22

Combination of Strategies ILS+MC Monte Carlo with minimization very popular in biomolecular structure/energy optimization SA-MC + random restart Many enhancement strategies proposed to broaden the view of the state space afforded by local search Example: Local Beam Search Nomenclature: domain-specific In computational chemistry/physics: enhancement strategies In evolutionary computation: hybridization mechanisms In AI: local + global search Where is the global view? a data structure that records visited states (robotics) a more general concept: population (evolutionary computation) Amarda Shehu (580) Search in Unobservable or Large Environments 23

Tabu Search Idea: Avoid generating same state Tabu: list of states generated so far A generated state compared to tabu list for redundancy Tabu list may also include set of moves that yield to redundant states Tabu considered an evolutionary search strategy More general concept: hall of fame (next in evolutionary computation) Amarda Shehu (580) Search in Unobservable or Large Environments 24

Tabu Search Idea: Avoid generating same state Tabu: list of states generated so far A generated state compared to tabu list for redundancy Tabu list may also include set of moves that yield to redundant states Tabu considered an evolutionary search strategy More general concept: hall of fame (next in evolutionary computation) Amarda Shehu (580) Search in Unobservable or Large Environments 24

Tree-guided Search Keep states generated so far in a tree or graph Centralizes redundant local searches Integrate local searches in a global search structure Amarda Shehu (580) Search in Unobservable or Large Environments 25

Tree-guided Search Keep states generated so far in a tree Generate a new state in a two-punch, select-and-expand mechanism: Selection mechanism: Query tree to give you a (parent) state Probability distribution function can be used to select parents (guide tree) Expand (with local search) from that state to get a candidate child state If candidate state not already similar to something in tree, add it as child, with corresponding edge Discretization/projection layers to organize states so as to quickly tell whether a state is really new Amarda Shehu (580) Search in Unobservable or Large Environments 26

Tree-guided Search Continued Popular in robotics and computational biology: RRT (robot motion planning) EST (robot motion planning) FeLTr Olson, Shehu. IJRR 2010, SPRINT Molloy, Shehu. BMC Struct Biol 2013 (for protein structure prediction and motion computation) Amarda Shehu (580) Search in Unobservable or Large Environments 27

Memory-based Search via Population: Evolutionary Computation Subfield of AI Idea: mimick natural selection to arrive at solutions that have a better chance of including the global optimum than local search Many evolutionary search (ES) strategies exist can learn about them in Nature-inspired Computing course (K. A. De Jong) We will summarize main idea behind evolutionary algorithms (EAs) and provide specific realizations such as GAs and GPs Amarda Shehu (580) Search in Unobservable or Large Environments 28

Amarda Shehu (580) Search in Unobservable or Large Environments 29

EAs Initalization Mechanism Define an initial population of states Population evolves over generations At each generation: selection mechanism selects parents that will give offspring Variation operator applied to one or two parents yield offspring Replacement mechanism selects new population from only the offspring, or offspring and parent combined Variation/perturbation operators: mutation changes one parent cross-over combines two parents to yield one or two offspring Very rich framework: e.g., if offspring subjected to local improvement, memetic EA only value maintained but offspring not replaced Baldwinian EA offspring replaced with improved version Lamarckian EA Different decisions in each of the components yield different, complex behavior Question: How is ILS/BH an EA? Amarda Shehu (580) Search in Unobservable or Large Environments 30

EAs Initalization Mechanism Define an initial population of states Population evolves over generations At each generation: selection mechanism selects parents that will give offspring Variation operator applied to one or two parents yield offspring Replacement mechanism selects new population from only the offspring, or offspring and parent combined Variation/perturbation operators: mutation changes one parent cross-over combines two parents to yield one or two offspring Very rich framework: e.g., if offspring subjected to local improvement, memetic EA only value maintained but offspring not replaced Baldwinian EA offspring replaced with improved version Lamarckian EA Different decisions in each of the components yield different, complex behavior Question: How is ILS/BH an EA? Amarda Shehu (580) Search in Unobservable or Large Environments 30

EAs from Optimization to Mapping (of Environment) Mapping state space of H-Ras, a flexible, oncogenic protein. Sapin, De Jong, Shehu IEEE BIBM 2015. Amarda Shehu (580) Search in Unobservable or Large Environments 31

Genetic Algorithms (GAs) = stochastic local beam search + generate successors from pairs of states an EA with crossover Amarda Shehu (580) Search in Unobservable or Large Environments 32

From GAs to GPs GAs require states encoded as strings (GPs use programs) Crossover helps iff substrings are meaningful components GAs evolution: e.g., real genes encode replication machinery! GPs designed to evolve programs Attributed to Koza, 1992 Main change from a GA: states not binary or real-valued, but complex tree-based structure representations of programs Adapted by Kamath, De Jong, and Shehu to evolve features capturing complex signals of function in DNA sequences (IEEE TCBB 2013, PLoS One 2014) Amarda Shehu (580) Search in Unobservable or Large Environments 33

Summary EAs currently some of the most powerful (randomized) solvers for the toughest academic and industrial optimization problems Tree-guided search popular in robotics can be encapsulated in EA template Literature on randomized search/optimization algorithms is very rich Developments from different sub-communities within AI and different communities outside of computer science Often, similar ideas reproduced but differently termed Example: basin hopping is just ILS Example: ILS is just 1+1 EA Example: Metropolis Monte Carlo (MMC) with minimization is just ILS Example: MMC with minimization is just 1+1 memetic/hybrid EA Awareness of developments in different communities inspires new strategies or combination of strategies for more powerful randomized search algorithms Amarda Shehu (580) Summary 34