Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

An alternative to Metropolis Monte Carlo

  1. Nov 6, 2007 #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.
     
  2. jcsd
  3. Nov 6, 2007 #2
    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: Nov 6, 2007
  4. Nov 6, 2007 #3
    wow thats really cool, i had never heard of that before, you are very smart to figure that out
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: An alternative to Metropolis Monte Carlo
  1. Monte Carlo methods (Replies: 1)

  2. Monte Carlo Simulation (Replies: 9)

  3. Monte carlo simulation (Replies: 3)

Loading...