An alternative to Metropolis Monte Carlo

  • Thread starter Thread starter christianjb
  • Start date Start date
  • Tags Tags
    Monte carlo
christianjb
Messages
529
Reaction score
1
Has anyone come across this? I 'invented' it last night, but I'm sure it was discovered decades ago- either that, or it's wrong.

The standard problem is to sample according to a probability distribution P(x).

In standard MMC, this is achieved by:

1) Pick a trial point x' at random within x-dx..x+dx.

2) If P(x')>P(x) then accept the move- set x=x' and return to 1

3) If P(x')<P(x) then accept the move with a probability P(x')/P(x). If move is accepted then set x=x' and return to 1. If move is rejected- just return to 1 without changing x.

-------------------------------
My variation is this

1) Pick a trial point x' at random within x-dx..x+dx

2) Accept move with probability P(x')/(P(x)+P(x')). If move is accepted then set x=x' and return to 1. If move is rejected- just return to 1 without changing x.


It's quite easy to show that both methods obey 'detailed balance'. I'm not sure if there's any advantage of the variation- but it's interesting that an alternative to the standard algorithm exists.
 
Physics news on Phys.org
After some playing around- I found this 'generalized' rule

if P(x')>P(x) accept with probability 1/(alpha P(x)/P(x')+1)
if P(x')<P(x) accept with probability 1/(alpha + P(x')/P(x))

where alpha is a number between 0 and 1.

If alpha = 0 then it reverts to the normal MMC method.
If alpha = 1 then it reverts to my above variation, but any value of alpha works.

It's clear that (the standard choice) alpha=0 is the best choice, because it gives a 100% probability of acceptance if P(x)=P(x'). So- the text-books don't have to be rewritten.

Still, it's nice to see that variants exist on the MMC algorithm. I wonder if there are any other solutions?
 
Last edited:
wow that's really cool, i had never heard of that before, you are very smart to figure that out
 
Hi all, I've been a roulette player for more than 10 years (although I took time off here and there) and it's only now that I'm trying to understand the physics of the game. Basically my strategy in roulette is to divide the wheel roughly into two halves (let's call them A and B). My theory is that in roulette there will invariably be variance. In other words, if A comes up 5 times in a row, B will be due to come up soon. However I have been proven wrong many times, and I have seen some...
Thread 'Detail of Diagonalization Lemma'
The following is more or less taken from page 6 of C. Smorynski's "Self-Reference and Modal Logic". (Springer, 1985) (I couldn't get raised brackets to indicate codification (Gödel numbering), so I use a box. The overline is assigning a name. The detail I would like clarification on is in the second step in the last line, where we have an m-overlined, and we substitute the expression for m. Are we saying that the name of a coded term is the same as the coded term? Thanks in advance.

Similar threads

Back
Top