- #1
christianjb
- 529
- 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.
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.