Paper in [1] is our original paper developing multi-label energy minimization techniques based on graph cuts which we called the expansion and the swap algorithms. Note that in most cases these approximation techniques are not exact (since the problem is NP hard, in general), but there are strong approximation guarantees, see the paper/thesis for more details
Paper in [2] is about 2-label (binary) energy minimization with graph cuts. It describes the class of binary energies that can be optimized exactly with graph cuts. Because the title of the paper in [2] sounds more general than the title of paper [1], some people have been confused about the relationship between the results of these two papers. The title of paper in [2] does not say binary, whereas in fact, the paper in [2] deals only with binary energies. Thus the paper in [2] is not a generalization of paper in [1], since [1] deals with multi-label energies (Neither, of course, is [1] a generalization of [2]). However, as a very nice "bi-product" of research in paper [2], they produce useful results for the algorithms described in paper [1]. In particular, they show how to construct a smaller graph for the expansion algorithm which was introduced in paper [1], since each individual step inside the main loop of algorithms in [1] is, in fact, a binary energy minimization step. Another very nice result of paper [2] is that they also slightly generalize the class of energy functions to which the expansion and the swap algorithms apply. In the software that we distribute, we use the graph construction described in [2] for the algorithm described in [1]. In fact, we directly use Vladimir Kolmogorov's implementation for binary energy minimization, which he kindly allowed us to include in our library. You can also download Vladimir's code which we use, "energy.h", directly from his home page .
Paper in [3] develops a very fast max-flow algorithm needed for graph cuts computation. Again, the authors of that algorithm kindly allowed us to include their implementation in our library. There are 2 implementation versions available, for simplicity we only use one version, where the graph is implemented with "forward star". If you wish to explore other max-flow versions, and for a better description of max-flow library, go to V. Kolmogorov's web page
For description and example usage see GC_README.TXT.