Is there any point in doing Monte Carlo on classical 2D Ising spin systems? The partition function of a classical Ising spin system with arbitrary bonds on any planar graph can be evaluated in polynomial time, through the FKT algorithm. And if I understand correctly, this means that meaningful statistics (such as the magnetization, internal energy, heat capacity) can be extracted in polynomial time as well. However, I am aware of some recent developments in Monte Carlo methods for simulating 2D spin systems, such as the KBD cluster algorithm for fully frustrated lattices.
Even though the work in itself is interesting, I don't see the point of doing Monte Carlo on 2D systems if exact results can be evaluated using the FKT algorithm. It involves simply computing a matrix determinant (and taking its root), which is $O(n^3)$ in time complexity at worst. It would be hard to imagine a Monte Carlo procedure beating this bound (perhaps in term of its auto-correlation time). So I think I must be missing something, as there must be some form of benefit in doing Monte Carlo for planar lattices justifying its use.
 A: (Caveat: I am not an expert in numerical simulations.)
As far as I can see, the FKT algorithm only applies in the absence of a magnetic field term. So, how are you going to extract, say, the magnetization from the knowledge of the partition function?
If the algorithm can be adapted to compute correlation functions, it might be possible to extract, in principle, the value of the spontaneous magnetization, at least in the homogeneous ferromagnetic model. However, for models with frustration, which the KBD algorithm seems to be designed for, it is not clear to me how to obtain statistics of most of the relevant quantities from the knowledge of the zero-field partition function...
In any case, even in the homogeneous ferromagnetic model, there are many quantities of interest that cannot be accessed from the very limited information contained in the partition function: what is the geometry of typical configurations? How do various correlations behave? What is the behavior of interfaces in the system, etc.
