The Simulated Annealing Algorithm
An approximation algorithm
Course: CS 5130 - Advanced Data Structures and Algorithms Instructor: Dr. Badri Adhikari
The Simulated Annealing Algorithm An approximation algorithm Course: - - PowerPoint PPT Presentation
The Simulated Annealing Algorithm An approximation algorithm Course: CS 5130 - Advanced Data Structures and Algorithms Instructor: Dr. Badri Adhikari Mathematical Optimization Mathematical optimization is the selection of a best element (with
An approximation algorithm
Course: CS 5130 - Advanced Data Structures and Algorithms Instructor: Dr. Badri Adhikari
Mathematical optimization is the selection of a best element (with regard to some criteria) from some set of available alternatives Given: a function f : A to R maps some set A to the real numbers Minimization: find an element x0 in A such that f(x0) ≤ f(x) for all x in A Maximization: find an element x0 in A such that f(x0) ≥ f(x) for all x in A Example:
http://en.wikipedia.org/wiki/File:Bruteforce.gif
Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city? Solution to a symmetric TSP with 7 cities using brute force search. Note: Number of permutations: (7-1)!/2 = 360
What is energy function for TSP? Sum of distances What is energy function for protein fold search? ? Is the computation time needed for energy function evaluation important? Why? Can we compute energy of all configurations in the space? Can we list all the configurations at all?
State is simply the set of variable values
get a better value of the energy function
can be obtained
example: casting
which in other words corresponds to low energy
Annealing - physical process of controlled cooling
Statistical Mechanics The behavior of systems with many degrees of freedom in thermal equilibrium at a finite temperature. Combinatorial Optimization Finding the minimum of a given function depending on many variables. The Analogy
configuration.
minimum energy (i.e. ground state).
water bubble rings maze
low probability
Count the number of UNHOOKED rings Press button Is it a better move? 8 - 10 = -2 < 0 ?
Counting the number of remaining (unhooked) rings = minimization problem
Accept all good moves If the move is too bad, accept with a low probability
1 outer epoch 1 inner epoch Loop X times
Assignment: Test the algorithm with some real numbers.
Initial Temperature Random Configuration
ΔE=0 ΔE
state
1. A concise description of a configuration (architecture, design, topology) of the system (Design Vector). 2. A random generator of rearrangements of the elements in a configuration (Neighborhoods). This generator encapsulates rules so as to generate only valid
3. A quantitative objective function containing the trade-offs that have to be made (Simulation Model and Output Metric(s)). Surrogate for system energy. 4. An annealing schedule of the temperatures and/or the length of times for which the system is to be evolved.
How to determine when a ring is hooked? The button to press A formula for calculating which configuration is better/worse. The monotonically decreasing function
A movie clip demonstrating an application of monte carlo simulated annealing to reconstruct a small alpha helical protein 1GUU. https://www.youtube.com/watch?v=2p5x7XROxlo
There are algorithms (approximation algorithms) for NP-hard problems. Simulated annealing algorithm is an example. The SA algorithm probabilistically combines random walk and hill climbing algorithms. The output of one SA run may be different from another SA run. Typically, we run more than once to draw some initial conclusions. In the SA algorithm we always accept good moves. The probability of accepting a bad move depends on - temperature & change in energy.