What is the application for using the `Boltzmann Machines`? I've came across this post from wikipedia about Boltzmann machines, which concludes that it is not a model that is usually used in practice, and that its' constrained version (i.e. where the network resembles a bipartite graph) is more usable.
My question is - what the Boltzmann machines are used for, and why is the constrained version is more usable than the unconstrained one?
 A: The idea behind the Boltzmann Machine is that it represents a closed system where an energy flows from one part to another, i.e. heat dissipation, and models the decrease in the entropy of a closed model - while the model starts with relatively low entropy (i.e. when there is a separation between 'hot' and 'cold' parts), it tends to the state of equilibrium, or high entropy (i.e. all the items of the same energy, or 'heat'). Those networks are a type of Hopfield networks, which are used for associative memory modelling (here is the link from wikipedia).

*

*To the reason why it is not so useful - it is due to the infeasibility of its' solution in the general case, when there are an edge between each node to the other, even a relatively small network will have n(n-1) connections.


*The answer for the first question is also in part an answer for the second, but in addition to it, Constrained Boltzmann Networks may model a more realistic scenarios, where nodes are divided into two separate groups, and the edges between them may represent weight of data flow, etc.
