
Markov Chain Monte Carlo Sampling - micaeloliveira
https://galeascience.wordpress.com/2016/04/27/markov-chain-monte-carlo-sampling/
======
mrcactu5
The intrinsic important of MCMC is clear. What kinds of applications would be
of excitement to startup-oriented readers here on YCombinator?

Also why is this called Quantum MCMC rather than just normal Markov Chain
Monte Carlo?

By coincidence there is a Coursera Cousrse that just started on Statistical
Mechanics and Algorithms, and the first exercise is to approximate pi.

[https://www.coursera.org/learn/statistical-
mechanics](https://www.coursera.org/learn/statistical-mechanics)

~~~
evanb
In Lattice QCD [1] we basically execute huge MCMC in order to sample the
partition function [2] on a discretized spacetime.

[1]
[https://en.wikipedia.org/wiki/Lattice_QCD](https://en.wikipedia.org/wiki/Lattice_QCD)

[2]
[https://en.wikipedia.org/wiki/Path_integral_formulation#The_...](https://en.wikipedia.org/wiki/Path_integral_formulation#The_path_integral_and_the_partition_function)

------
contravariant
>If you come from a math, statistics, or physics background you may have
leaned that a Markov chain is a set of states that are sampled from a
probability distribution.

That's a very weird way of putting it. A set of states sampled from a
probability distribution is usually just called a 'sample' and has nothing to
do with Markov or chains.

Really 'Markov chains' are called 'chains' because they represents an infinite
sequence of states, which depend on each other.

And they're called 'Markov' because they have the 'Markov' property, which
roughly states that the probability distribution for each state is completely
determined by the previous state.

------
egjerlow

      > and if A < 1 we do the following:
      > Produce a random number \chi from 0 to 1
      > Calculate m=A + \chi
      > Accept the move if m >= 1, otherwise reject
    

I'm guessing people have their own ways of doing this step, but by doing the
math here, seems to me the second move can be omitted and the third replaced
with "Accept the move if A >= /chi, otherwise reject".

EDIT: I see in the actual code all of this is summarized as A + chi >= 1, i.e.
not a big deal (but still an addition more than needed ;)

------
chrisra
And instead of writing MCMC samplers yourself, with probabilistic programming
languages you can define a model and the language figures out how to do the
sampling for you.

