Random numbers and optimization techniques Jorge Andre Swieca School Campos do Jordão, January,2003...

28
Random numbers and optimization techniques Jorge Andre Swieca School Campos do Jordão, January,2003 second lecture

Transcript of Random numbers and optimization techniques Jorge Andre Swieca School Campos do Jordão, January,2003...

Random numbers and optimization techniques

Jorge Andre Swieca School

Campos do Jordão, January,2003

second lecture

References

• The Nature of Mathematical Modeling, N. Gershenfelder, Cambridge, 1999;

• Numerical Recipes in C, Second Edition, W.H Press et al., Cambridge, 1992;

• Statistical Data Analysis, G. Cowan, Oxford, 1998• Computational Physics, Dean Karlen (online), 1998

Random

O acaso não existe. car sticker

Random numbers

Important task: generate random variables from known probability distributions.

random numbers: produced by the computer in a strictly deterministic way – pseudorandom (→ Monte Carlo Method)

random number generators: ),...,,( 111 xxxfx jjj

linear congruential generators: mcaxx jj mod)( 1

ex: c=3, a=5, m=16 00 x 3163051 mod)(x2163351 mod)(x

0,2,3,13,4,7,6,1,8,11,10,5,12,15,14,9,0,2….

0110 xxxx m

Generators

Arguments from number theory: good values for a, c and m.

Good generators: • longest possible period• individual elements within a period should follow each other “randomly”

Ex. 1 RANDU

a = 65539, m=231, c=0

311 265539 modnn xx

3112 296 mod)( ttt xxx

Generators

Generators

Generators

Generators

“Random numbers fall mainly in the planes” Marsaglia, Proc. Acad. Sci. 61, 25, 1968

What is seen in RANDU is present in any multiplicative congruential generator.

In 32 bit machines: maximum number of hyperplanes in the space of d-dimensions is:

d=3 2953d=4 566d=6 120d=10 41

RANDU has much less than the maximum!

Generators

Ex. 2 Minimal standard generator (Num. Recp. ran0)

a = 75 =16807, m=231-1 RAN1 and RAN2, given in the first edition, are “at best mediocre”

Generators

Ex. 3 RANLUXcernlib (mathlib V115, F.James )A portable high-quality random generator for lattice field theory simulation, M. Lüscher, Comp. Phys. Comm. 79, 100, 1994

period ≥ 10165

Recommendations:1. Do some simple tests.2. Check the results with other generator

Lots of literature about random generators testing. See a set of programs (Die Hard) http://stat.fsu.edu/~geo/diehard.html

Functional definition: an algorithm that generates uniform numbers in acceptable if it is not rejected by a set of tests.

Inverse transform

p(x) uniform probability distribution

otherwise 0

10 xdxdxxp )(

x: uniform deviate Generate y according to g(y).

dxxpdyyg )()( dy

dxxpyg )()( )(yg

dy

dx

y

dyygx0

// )( )(yGx )(xGy 1

0

1

x

y

uniformdeviate in

out

analyticallyor numerically.

G(y)

g(y)

Inverse transform

1

0.5

0 1 2 x

F(x)

3

Ex. 4 discrete case

f(x=0)=0.3f(x=1)=0.2f(x=2)=0.5 u

0.0 ≤ u ≤ 0.3 x=00.3 ≤ u ≤ 0.5 x=10.5 ≤ u ≤ 1.0 x=2

for 2000 deviates:x=0 0.2880X=1 0.2075X=2 0.5045

Inverse transform

Exponential• amount of time until a specific event occurs;• time between independent events (time until a part fails);

0 0, x, xexf );( xexF 1)(

)(xFu

ue x 1

)log( ux 11

ux log1

Acceptance-rejection method

ymax

0

f(x)

xmin xmax

minminmax )( xuxxx

uyy max

if (x,y) under the curve, accept the point, else, discard.

pN

n

A

dxxf

E acc

x

xf

max

min

)(maxminmax )( yxxA

AN

nI acc

N

ApNpI )( 1

p

p

NI

I 11

NI

I 1

Acceptance-rejection method

Importance sampling

g(x): random numbers are easy to generate

g(x)

f(x)

•generate random x according to g(x)• generate u uniformily between 0 and g(x);• if u < f(x), accept x, if not, reject.

Optimization (minimization)

Many strategies for minimization: local search, global search, with derivative evaluation or not, etc.

Choose the best parameters: iteractive search starting from a initial (guess) value.

Objective: find an acceptable solution. It is possible that many solutions are actually good.

Other sources of uncertainty larger than differences among the solutions;

Downhill simplex method

• Nelder-Mead• Most functionality for the least amount of code;• Simplex (triangle in 2D, tetrahedron in 3D, etc);• Random location, evaluate the function at D+1 vertices;• Iterative procedure to improve the vertex with the highest

value of the function at each step: reflect, reflect and grow, reflect and shrink, shrink, shrink towards the minimum;

• Minimum: stop when there is no more improvement;

Num. Rec.: amoeba.c

Downhill simplex method

Powell’s method

• simplex in one dimension: a pair of points;• find the minimum of a function in a given direction: line minimization:• series of line minimization → multi-dimensional search;• Powell’s method: updating the directions searched to find a set of directions that don’t interfere with each other;• , D line minimizations, : ;• good direction to keep for future minimization if advantageous;• is added to the set of directions used for minimization (replacing the most similar to it)• if gradiente of function available → conjugate gradiente algorithm

)ˆ(min xxf 0

0x

1x

01 xxx

x

Powell’s method

Simulated annealing

• Growth of a cristal: difficult optimization problem;• Liquid instantaneously frozen: atoms trapped in the

configuration they had in the liquid state (energy barrier: from glassy to crystalline state )

• If liquid slowly cooled: atoms would explore many local arrangements

• Thermodynamics: the relative probability of system in state with energy E

• trapped in the lowest energy configuration• slower cooling rate, more likely to find the lowest global energy

)exp()exp()( EkTEEp T=0 lowest stateT>0 some chance to be in other state

Simulated annealing

• Metropolis (53) update a simulation

• Kirkpatrick (80’s) same ideia for other hard problems:

• Implementation issues:

• new state randomly selected (Enew evaluated)• if Enew > E, accept the state, else if Enew < E, accept the state with prob. )exp( E

Energy → cost function (simulated annealing)High energy: any move is acceptedT →0 lowest minima found

1. Selection of trial moves: downhill simplex or conjugate gradiente, but Boltzman factor allows mistakes;

2. Cooling schedule; freeze the system in a bad solution X waste computer time

Simulated annealing

Genetic algorithms

• Evolution: a very hard optimization problem;• Explore many options in parallel rather than concentrating

on trying many changes around a single design.• Sim. Annealing : one set of search parameters repeatedly

updated X G.A: keep an ensemble of sets of parameters.• G.A.: state is given by a population: each member a

complete set of parameters for function being searched;• Population updated in generations

Genetic algorithms

Update criteria:

• Fitness: evaluation of the function for each member of the population;

• Reproduction; new population (size fixed) selected based on fitness; low fitness parameters may disappear;

• Crossover: members of the ensemble can share parameters;

• Mutation: changes in the parameters: random or taking advantage of what is already known to generate good moves;

Genetic algorithms