Upload
tobias-ellis
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
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 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
“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
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
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
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
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;