Could some one tell me ... ?

ray%cs.su.oz.au@CARNEGIE.BITNET ray%cs.su.oz.au at CARNEGIE.BITNET
Mon Sep 23 07:13:11 EDT 1991


I'll try to give a brief, intuitive, answer.  For what might be a more
formal and satisfying answer, try:
 
van Laarhoven, P and Aarts, E "Simulated Annealing: Theory and Applications"
Reidel Publishing (and Kluwer), 1987.
 
Aarts, E, and Korst, J "Simulated Annealing and Boltzmann Machines",
Wiley, 1989.
 
  >  1.What is the reason that the states of the k th unit Sk = 1 with
  >    probability
  >                 1
  >    Pk = -------------------
  >          1+exp(-delta Ek/T)
  >
  >    where delta Ek is the energy gap between the 1 and 0 states of the
  >    k th unit, T is a parameter which acts like the temperature
 
Its really only normal simulated annealing, in a slightly different form.
Suppose we explicitly used traditional simulated annealing instead to
determine the state of a unit. The energy of the s=0 state is E0=0, and the
energy of the s=1 state is E1=Ek.  Suppose also, for simplicity, that Ek>0.
Now, since we must be in one state or the other:
 
  P(s=0,n) + P(s=1,n)  =  1
 
Where s=x indicates the state of the unit, and n is the iteration number.
At thermal equilibrium:
 
  P(s=0,n) = P(s=0,n-1)
  P(s=1,n) = P(s=1,n-1)
 
So we will drop the second component to the function, and simply write P(s=0)
and P(s=1).
 
You can only transfer from s=0 to s=1, and vice versa.  Let the probabilty of
those transitions (given that you are already in the initial state) be
designated P(0->1) and P(1->0) respectively. Since Ek>0, if we find ourself
in the s=1 state, we will always immediately drop back to the s=0 state i.e.
 
  P(1->0) = 1
 
If we're in the s=0 state, then:
 
  P(0->1) = exp(-Ek/T)
 
i.e. the normal simulated annealing function.    At equilibrium, P(s=1) equals
the probability of being in state s=0 at the previous iteration , and then
making a successful transition to s=1 i.e.:
 
  P(s=1) = P(s=0) * P(0->1)
         = (1 - P(s=1)) * exp(-delta Ek/T)
 
Rearranging the above equation gives - I think! - the Pk expression normally
used for the Boltzmann Machine.
 
  >  2.Why this local decision rule ensures that in thermal equilibrium the
  >    relative probability of two global states is determined by their
  >    energy difference,and follows a Boltzmann distribution:
  >
  >     Pa
  >    ---- = exp(-(Ea - Eb))/T
  >     Pb
  >
  >    where Pa is the probability of being in the a th global state and
  >          Ea is the energy of that state.
 
It follows from noting that exp(x) * exp(y) = exp(x+y).  Or, putting it
another way P(A->B)*P(B->C) = P(A->C).
 
  >    and how do we know that whether the system reaches thermal equilibrium
  >    or not?
 
There are formal ways of showing it.  In practise, they're no help.  The
answer is "Run the machine for a very long time."  In a lot of cases, "a
very long time" is approximately equal to infinity, and this accounts for the
mediocre performance of the Boltzmann Machine.


More information about the Connectionists mailing list