Approximate inference on planar graphs using Loop Calculus and Belief Propagation

Vicen¸cG´omez Michael Chertkov Hilbert J. Kappen Theoretical Division and Center for Nonlinear Studies Radboud University Nijmegen, Los Alamos National Laboratory Donders Institute for Brain, Cognition and Behaviour Los Alamos, NM 87545 6525 EZ Nijmegen, The Netherlands

Abstract as hypothesis testing or parameter estimation. Ex- act computation of this quantity is only feasible when the graph is not too complex, or equivalently, when We introduce novel results for approximate its tree-width is small. Currently many methods are inference on planar graphical models using devoted to approximate this quantity. the loop calculus framework. The loop cal- culus (Chertkov and Chernyak, 2006b) allows The belief propagation (BP) algorithm (Pearl, 1988) is to express the exact partition function Z of at the core of many of these methods. Initially thought a graphical model as a finite sum of terms as an exact algorithm for tree graphs, it is widely used that can be evaluated once the belief prop- as an approximation method for loopy graphs (Mur- agation (BP) solution is known. In general, phy et al., 1999; Frey and MacKay, 1998). The exact full summation over all correction terms is partition function Z is explicitly related to the BP ap- intractable. We develop an algorithm for proximation through the loop calculus framework in- the approach presented in Chertkov et al. troduced by Chertkov and Chernyak (2006b). Loop (2008) which represents an efficient trunca- calculus allows to express Z as a finite sum of terms tion scheme on planar graphs and a new rep- (loop series) that can be evaluated once the BP so- resentation of the series in terms of Pfaffians lution is known. Each term maps uniquely to a sub- of matrices. We analyze in detail both the graph, also denoted as a generalized loop, where the loop series and the Pfaffian series for mod- connectivity of any node within the subgraph is at els with binary variables and pairwise in- least degree 2. Summation of the entire loop series teractions, and show that the first term of is a hard combinatorial task since the number of gen- the Pfaffian series can provide very accurate eralized loops is typically exponential in the size of the approximations. The algorithm outperforms graph. However, different approximations can be ob- previous truncation schemes of the loop series tained by considering different subsets of generalized and is competitive with other state-of-the-art loops in the graph. methods for approximate inference. Although it has been shown empirically (G´omez et al., 2007; Chertkov and Chernyak, 2006a) that truncating this series may provide efficient corrections to the ini- 1 Introduction tial BP approximation, a formal characterization of the classes of tractable problems via loop calculus still Graphical models are popular tools widely used in remains as an open question. The work of Chertkov many areas which require modeling of uncertainty. et al. (2008) represents a step in this direction, where They provide an effective approach through a com- it was shown that for any graphical model, summation pact representation of the joint probability distribu- of a certain subset of terms can be mapped to a sum- tion. The two most common types of graphical mod- mation of weighted perfect matchings on an extended els are Bayesian Networks (BN) and Markov Random graph. For planar graphs (graphs that can be embed- Fields (MRFs). ded into a plane without crossing edges), this sum- mation can be performed in polynomial time evaluat- The partition function of a graphical model, which ing the Pfaffian of a skew-symmetric matrix associated plays the role of normalization constant in a MRF or with the extended graph. Furthermore, the full loop probability of evidence (likelihood) in a BN is a fun- series can be expressed as a sum over Pfaffian terms, damental quantity which arises in many contexts such each one accounting for a large number of loops and of variables where σa is the vector of variables asso- σ solvable in polynomial time as well. ciated with node a, i.e. a := (σab1 ,σab2 ,... ) where b a¯. The joint probability distribution of such a This approach builds on classical results from 1960s i model∈ factorizes as: by Kasteleyn (1963); Fisher (1966) and other physi- −1 cists who showed that in a planar graphical model de- p (σ) = Z fa (σa), Z = fa (σa), (1) fined in terms of binary variables, computing Z can σ aY∈V X aY∈V be mapped to a weighted problem where Z is the partition function. and calculated in polynomial time under the key re- striction that interactions only depend on agreement From a variational perspective, a fixed point of the BP or disagreement between the signs of their variables. algorithm represents a stationary point of the Bethe Such a model is known in statistical physics as the ”free energy” approximation under proper constraints without external field. Notice that exact (Yedidia et al., 2005): inference for a general binary graphical model on a ZBP = exp F BP , (2) planar graph (i.e. Ising model with external field) is − b (σ ) intractable (Barahona, 1982). F BP = b (σ ) ln a a a a f (σ ) a σ a a Recently, some methods for inference over graphical X Xa   models, based on the works of Kasteleyn and Fisher, b (σ ) lnb (σ ), (3) − ab ab ab ab have been introduced. Globerson and Jaakkola (2007) b∈a¯ σab obtained upper bounds on Z for non-planar graphs X X σ with binary variables by decomposition of Z into a where ba( a) and bab(σab) are the beliefs (pseudo- marginals) associated to each node a and variable weighted sum over partition functions of spanning ∈ V tractable (zero field) planar models. Another example ab. For graphs without loops, Equation (2) coincides BP is the work of Schraudolph and Kamenetsky (2009) with the Gibbs ”free energy” and therefore Z coin- BP which provides a framework for exact inference on a cides with Z. If the graph contains loops, Z is just restricted class of planar graphs using the approach of an approximation critically dependent on how strong Kasteleyn and Fisher. the influence of the loops is. We introduce now some convenient definitions. Contrary to the two aforementioned approaches which rely on exact inference on a tractable planar model, the Definition 1 A generalized loop in a graph is any G loop calculus directly leads to a framework for approx- subgraph C such that each node in C has degree 2 or imate inference on general planar graphs. Truncating larger. the loop series according to Chertkov et al. (2008) al- ready gives the exact result in the zero external field We use the term ”loop” instead of ”generalized loop” case. In the general planar case, however, this trunca- for the rest of the manuscript. Z is explicitly repre- tion may result into an accurate approximation that sented in terms of the BP solution via the loop series can be incrementally corrected by considering subse- expansion: quent terms in the series. BP Z = Z z, z = 1 + rC , rC = µa;¯aC , · ! CX∈C aY∈C 2 Belief Propagation and loop Series (4) for Planar Graphs where is the set of all the loops within the graph. Each loopC term r is a product of terms µ asso- We consider the Forney graph representation, also C a,a¯C ciated with every node a of the loop.a ¯ denotes the called general vertex model (Forney, 2001; Loeliger, C set of neighbors of a within the loop C: 2004), of a probability distribution p(σ) defined over a vector σ of binary variables (vectors are denoted us- ba (σa) (σab mab) ing bold symbols). Forney graphs are associated with − σa b∈a¯C general graphical models which subsume other factor µa;¯aC = X Y , 1 m2 graphs, e.g. those correspondent to BNs and MRFs. − ab b∈a¯C q A binary Forney graph := ( , ) consists of a set of Y nodes where each nodeG a V representsE an interac- mab = σabbab (σab). (5) V ∈ V σab tion and each edge (a, b) represents a binary vari- X able ab which take values∈σ E := 1 . We denotea ¯ We consider planar graphs with all nodes of degree not ab {± } the set of neighbors of node a. Interactions fa (σa) are larger than 3, i.e. a¯C 3. We denote by triplet a arbitrary functions defined over typically small subsets node with degree 3| in the| ≤ graph. (a) a G g (b) Gext G Gext b f b c d e 1

i j h l a µa;{b,c}

1 k c (c) b 1 µ µ a a;{b,c} a;{b,d} 1 1 µa;{c,d} 1 2 3 (d) c d

4 5 Figure 2: Fisher’s rules. (Top) A node a of degree 2 in is split in 2 nodes in . (Bottom) A node a of G Gext degree 3 in is split in 3 nodes in ext. Right boxes include all matchingsG in relatedG with node a in . Gext G Figure 1: Example. (a) A Forney graph. (b) Cor- responding extended graph. (c) Loops (in bold) in- cluded in the 2-regular partition function Z∅. (d) otherwise. The following identity allows to obtain the Loops (in bold and red) not included in Z∅. Marked in Pfaffian up to a sign by computing the : red, the triplets associated with each loop. Grouped in 2 gray squares, the loops considered in different subsets Pfaffian (A) = Det(A). Ψ of triplets: (d.1) Ψ = c, h , (d.2) Ψ = e, l , (d.3) { } { } Ψ = h, l , (d.4) Ψ = c, e and (d.5) Ψ = c, e, h, l 2.1 Computing the 2-regular Partition { } { } { } (see Section 2.2). Function Using Perfect Matching

In Chertkov et al. (2008) it has been shown that com- Definition 2 A 2-regular loop is a loop in which all putation of Z∅ in a Forney graph can be mapped to nodes have degree exactly 2. the computation of the sum of allG weighted perfect matchings within another extended weighted graph Definition 3 The 2-regular partition function Z ∅ ext := ( Gext , Gext ). A perfect matching is a sub- is the truncated form of (4) which sums all 2-regular setG of edgesV suchE that each node neighbors exactly one loops only: edge from the subset and its weight is the product of weights of edges in it. The key idea of this mapping BP Z∅ = Z z∅, z∅ = 1 + rC . (6) is that each each perfect matching in corresponds · Gext C∈Cs.t.|a¯XC |=2,∀a∈C to a 2-regular loop in . (See Figures 1b and c for an illustration). If G is planar, the sum of all its Gext Figures 1a and 1c show a small Forney graph and its weighted perfect matchings can be calculated in poly- seven 2-regular loops found in Z∅ respectively. nomial time evaluating the Pfaffian of an associated matrix. Here we reproduce these results with little Finally, consider the set P of all permuta- variations and emphasis on the algorithmic aspects. tions α of the set = 1,..., 2n in pairs: S { } α = ((i1,j1),..., (in,jn)), ik < jk, k = 1,...,n. Given a Forney graph and the BP approximation, ∀ we obtain the 2-core ofG by removing nodes of de- Definition 4 The Pfaffian of a skew-symmetric ma- gree 1 recursively. After thisG step, is either the null G trix A = (Aij )1≤i

0 ) Θ Θ). ab Z  ′ so of p (pfaffianterms) β Z BP error ∅ Z 10 error LSBP T 2 em.I l cases, all In terms. Then iue3sosteerror the shows 3 Figure Z infntosfrtetuctdsre as: series parti- truncated define We the terms for series. more functions respective tion as the corrected in are included and are errors order, how Pfaffi- descending analyze in or values then loops absolute either their contributions, by approxima- ans, all both sort compare we To tions terms. Pfaffian all pute ekitrcin ( interactions weak op and loops rvdsa cuaeapoiainwt nerrof error an with approximation accurate an provides iey eueΘ=0 = Θ respec- use factors We and tively. variables Circles denote com- series. squares loop to black the used and with series graph Pfaffian factor full the bipartite pare Planar 4: Figure f P scn oun o ohrpeettos For representations. both for column) (second ( Z l 10 ro nlglgsae hddrgosinclude regions Shaded scale. log-log in error ) LSBP T

4 Z Z Ψ Z

Z Ψ Ψ −15 −10 −5 −8 −6 −4 −2 −5 0 5 0 2 10 f P 0 5 Z x 10 x 10 0 x 10 LSBP T Z ( ( −4 −12 −8 l p Z ∅ consfrthe for accounts ) ml example: Small o the for ) akdb circle. a by marked , f P etr cuaythan accuracy better) r p (pfaffianterms) ( ( Z β p orsod oadffrn value different a to corresponds w l )= )= . Ψ 10 and 1 0 = 1 1 Z Z | BP BP orsod to corresponds Z p Z Ψ . ( ( )B ovre atand fast converges BP 1) otcnrbtn Pfaffian contributing most LSBP T P 1+ | β β n excluding and i = { ∈ P =1 10 { 0 i 2 . ...p 1 =1 , 0 = Θ 0 0 . 5 . l ...l , 1 Z fis oun and column) (first 1 otcontributing most . . , 5 Ψ 1 } r 0 i C ih column Right . ) 5 i . z ) , ∅ , 1 Z . . 5 ∅ z } . ∅ . Middle . (8) −4 error Z (Θ = 1.0) BP error Z (Θ = 0.1) order 10 . Summation of less than 50 loop terms 0 10 TreeEP (top-left panel) is enough to obtain machine precision (a) TRW (b) PDC accuracy. The BP error is almost reduced totally with −2 CVMLoop4 10 CVMLoop6 the z∅ correction (top-middle panel). In this scenario, Z∅ higher order terms are negligible (top-right panel). −4 10 For strong interactions (β = 1.5) BP converges after

−6 many iterations and gives a poor approximation. Also 10 a larger proportion of loop terms (bottom-left panel) is necessary to correct the BP result up to machine pre- −8 10 cision. Looking at the bottom-left panel we find that approximately 200 loop terms are required to achieve −10 10 −2 −1 0 1 −2 −1 0 1 the same correction as the one obtained by z∅. The z∅ 10 10 10 1010 10 10 10 β β is quite accurate (bottom-middle panel). As the right panels show, as β increases, higher order Figure 5: 7x7 grid attractive interactions and pos- terms change from a flat sequence of small terms to itive local fields. BP converged always. Error aver- an alternating sequence of positive and negative terms ages over 50 random instances as a function of β for which grow in absolute value. These oscillations are (a) strong local fields and (b) weak local fields. also present in the loop series representation.

We conclude that the z∅ correction can give a signif- icant improvement even in hard problems for which (Wainwright et al., 2005), which decomposes the BP converges after many iterations. Notice again that parametrization of a probabilistic graphical model as a mixture of spanning trees, and Planar graph calculating z∅ does not require explicit search of loop or Pfaffian terms. decomposition (PDC) (Globerson and Jaakkola, 2007), which uses a mixture of planar-tractable graphs. 3.2 Square Grids 3.2.1 Attractive Interactions We now analyze the Z∅ approximation using Ising grids (nearest neighbor connectivity) and compare We first focus on models with interactions that tend with the following methods: 2 to align neighboring variables to the same value, J > 0. If local fields are also positive, J > Truncated Loop-Series for BP (TLSBP) (G´omez a;{ab,ac} a;{ab} 0, a , Sudderth et al. (2008) showed that ZBP is et al., 2007), which accounts for a certain number of a lower∀ ∈ V bound of Z and all loop terms (and therefore loops by performing depth-first-search on the graph Pfaffian terms too) have the same sign. and then merging found loops iteratively. We adapted TSLBP as an any-time algorithm (anyTLSBP) such We generate grids with J (0, β/2) and |{ a;bc}| ∼ N that only the length of the loop l is used as parameter. Ja;b (0, βΘ) for different interaction strengths |{ }| ∼ N We run anyTLSBP by selecting loops shorter than a and strong/weak local fields. Figure 5 shows average given l, and increased l progressively. errors. All methods show an initial growth and a sub- sequent decrease, a fact explained by the phase tran- Cluster Variation Method (CVM-Loopk) A dou- sition occurring in this model for Θ = 0 and β 1 ble loop implementation of CVM (Heskes et al., 2003), (Mooij and Kappen, 2005). As the difference between≈ which is a special case of generalized belief propaga- the two plots suggest, errors are larger as Θ approaches tion (Yedidia et al., 2005) with convergence guaran- zero. Notice that Z = Z for the limit case Θ = 0, tees. We use as outer clusters all (maximal) factors ∅ suggesting an abrupt change in the difficulty of the together with loops of four (k=4) or six (k=6) vari- inference task from Θ = 0 to Θ > 0. ables in the factor graph. Z always improves over the BP approximation. Cor- Tree-Structured Expectation Propagation ∅ rections are most significant for weak interactions (TreeEP) (Minka and Qi, 2004). This method per- β < 1 and strong local fields. forms exact inference on a base tree of the graphical model and approximates the other interactions. The Z∅ approximation performs better than TreeEP in all cases except for very strong couplings, where they We also compare with two variational methods which show very similar results. Interestingly, for Θ = 0.1, give upper bounds on Z: Tree Reweighting (TRW) Z∅ performs very similar to CVM which is known to 2We use the libDAI library (Mooij, 2008) for algorithms be a very accurate approximation in grids. Notice that CVM-Loopk, TreeEP and TRW. using larger outer-clusters in CVM does not necessar- error Z (Θ = 1.0) error Z (Θ = 0.1) (a) error Z (b) cpu−time 0 −2 10 10 (a) (b)

2 −2 10 10

−4 10 −4 10 0 10 BP

−6 BP TreeEP 10 TreeEP −6 CVMLoop4 TRW 10 CVMLoop6 PDC −2 −8 10 Z∅ 10 CVMLoop4 anyTLSBP CVMLoop6 JuncTree Z∅ −10 −8 10 1 10 0.5 (c) (d) 0 100 200 300 0 100 200 300 N N 0 −2 −1 0 1 −2 −1 0 1 10 10 10 1010 10 10 10 β β Figure 7: Scaling results on grids as a function of the Figure 6: 7x7 grid mixed interactions. Error aver- network size for strong interactions β = 1 and very aged over 50 random instances as a function of β for weak local fields Θ = 0.01. BP converged in all cases. (a) strong and (b) weak local fields. Bottom panels, (a) Error medians over 50 instances. (b) Cpu time. (c) and (d), show proportion of instances for which BP converged. We compare also with anyTLSBP, which we run for ily lead to improvements. Finally, PDC performs bet- the same cpu time as Z∅. ter than TRW 3. In general, both upper bounds are Figure 7a shows approximation errors. In increasing significantly less tight than the lower bounds provided accuracy we get BP, TreeEP, anyTLSBP, CVM-Loop6, by BP and Z∅. CVM-Loop4 and Z∅ which turns out to be the best approximation for this setup. 3.2.2 Mixed Interactions Overall, results are roughly independent of the net- Here we focus on a more general model where inter- work size N in almost all methods that we compare. actions and local fields can have mixed signs, Z∅ is no The error of anyTLSBP starts being the smallest but longer a lower bound and loop terms can be positive soon increases because the proportion of loops cap- or negative. Figure 6 shows results using this setup. tured decreases very fast. The Z∅ correction, on the other hand, stays flat and it scales reasonably well. In- For strong local fields (subplots a,c), we observe that terestingly, although Z and anyTLSBP use different Z improvements become less significant as β in- ∅ ∅ ways to truncate the loop series, both methods show creases. It is important to note that Z always im- ∅ similar scaling behavior for large graphs. proves on the BP result, even when the couplings are very strong (β = 10) and BP fails to converge in Figure 7b shows averaged cpu time for all tested al- some instances. Z∅ performs substantially better than gorithms. Although the cpu time required to com- 3 TreeEP for small and intermediate β. As in the case pute Z∅ scales with O(NGext ), its curve shows the of attractive interactions, the best results are attained steepest growth. The cpu time of the junction tree using CVM. quickly increases with the tree-width of the graphs. For large enough N, exact solution via the junction For the case of weak local fields (subplots b,d), BP tree method is no longer feasible because of its mem- fails to converge near the transition to the spin-glass ory requirements. In contrast, for all approximate in- phase. For β > 2, all methods give results comparable ference methods, memory demands do not represent a to BP or worse. For β = 10, BP converges only in limitation. a few instances, and it may happen that Z∅ degrades the ZBP approximation because loops of alternating signs have major influence in the series. 4 Discussion

3.2.3 Scaling with Graph Size We have presented an approximate algorithm for the partition function based on the exact loop calculus We now study how the accuracy of Z∅ changes as a framework for inference on planar graphical models function of the grid size for √N = 4, ..., 18 focusing { } defined in terms of binary variables. The proposed on a difficult regime according to the previous results. approach improves the estimate provided by BP with- 3The worse performance of PDC for strong couplings out an explicit search of loops and turns out to be might be attributed to implementation artifacts. competitive with other state of the art methods. Currently, the shortcoming of the presented approach Belief propagation and loop series on planar graphs. is in its relatively costly implementation. However, J. Stat. Mech-Theory E., 2008(05):P05003 (19pp). since the bottleneck of the algorithm is the Pfaffian Fisher, M. (1966). On the dimer solution of the planar calculation and not the algorithm itself (used to obtain Ising model. J. Math. Phys., 7(10):1776–1781. the extended graphs and the associated matrices), it Forney, G.D., J. (2001). Codes on graphs: normal realiza- is easy to devise more efficient methods than the one tions. IEEE T. Inform. Theory, 47(2):520–548. used here. Thus, one may substitute brute-force eval- Frey, B. J. and MacKay, D. J. C. (1998). A revolution: uation of the Pfaffians by a smarter one, which could belief propagation in graphs with cycles. In NIPS 10, 3 3/2 pages 479–486. reduce the cost from (NGext )) to (NGext ) (Loh and Carlson, 2006). ThisO is focus of currentO investigation. Globerson, A. and Jaakkola, T. S. (2007). Approximate inference using planar graph decomposition. In NIPS For direct comparison with other methods, we have fo- 19, pages 473–480. cused on inference problems defined on planar graphs G´omez, V., M. Mooij, J., and J. Kappen, H. (2007). Trun- with symmetric pairwise interactions and, to make the cating the loop series expansion for belief propagation. problems difficult, we have introduced local field po- J. Mach. Learn. Res., 8:1987–2016. tentials. Notice however, that the algorithm can also Heskes, T., Albers, K., and Kappen, H. J. (2003). Approx- be used to solve models with more complex interac- imate inference and constrained optimization. In 19th UAI, pages 313–320. tions, i.e. more than pairwise as in the case of the Ising model (see Chertkov et al., 2008, for a discussion Karpinski, M. and Rytter, W. (1998). Fast parallel al- gorithms for graph matching problems. pages 164–170. of possible generalization). This makes our approach Oxford University Press, USA. more general than the approaches of Globerson and Kasteleyn, P. W. (1963). Dimer statistics and phase tran- Jaakkola (2007); Schraudolph and Kamenetsky (2009), sitions. J. Math. Phys., 4(2):287–293. designed specifically for the pairwise interaction case. Lauritzen, S. L. and Spiegelhalter, D. J. (1988). Although planarity is a severe restriction, planar Local computations with probabilities on graphical graphs appear in many contexts such as computer structures and their application to expert systems. J. Roy. Stat. Soc. B Met., 50(2):154–227. vision and image processing, magnetic and optical recording, or network routing and logistics. We are Loeliger, H.-A. (2004). An introduction to factor graphs. IEEE Signal Proc. Mag., 21(1):28–41. currently investigating possible extensions for approx- imate inference on some class of non-planar graphs for Loh, Y. L. and Carlson, E. W. (2006). Efficient algorithm for random-bond Ising models in 2d. Phys. Rev. Lett., which efficient inference could be done in the ”closest” 97(22):227205. planar graph. Minka, T. and Qi, Y. (2004). Tree-structured approxima- tions by expectation propagation. In NIPS 16. Acknowledgements Mooij, J. M. (2008). libDAI: A free/open source C++ We acknowledge J. M. Mooij, A. Windsor and A. Glober- library for discrete approximate inference methods. son for providing their software and V. Y. Chernyak, J. K. Mooij, J. M. and Kappen, H. J. (2005). On the proper- Johnson and N. Schraudolph for interesting discussions. ties of the Bethe approximation and loopy belief prop- This research is part of the Interactive Collaborative In- agation on binary networks. J. Stat. Mech-Theory E., formation Systems (ICIS) project, supported by the Dutch 2005(11):P11012. Ministry of Economic Affairs, grant BSIK03024. The work Murphy, K. P., Weiss, Y., and Jordan, M. I. (1999). Loopy at LANL was carried out under the auspices of the National Belief Propagation for approximate inference: An em- Nuclear Security Administration of the U.S. Department of pirical study. In 15th UAI, pages 467–475. Energy at Los Alamos National Laboratory under Contract No. DE-AC52-06NA25396. Pearl, J. (1988). Probabilistic Reasoning in Intelligent Sys- tems: Networks of Plausible Inference. Morgan Kauf- mann Publishers, San Francisco, CA. References Schraudolph, N. and Kamenetsky, D. (2009). Efficient ex- Barahona, F. (1982). On the computational complexity act inference in planar Ising models. In NIPS 21. of Ising spin glass models. J. Phys. A-Math. Gen., Sudderth, E., Wainwright, M., and Willsky, A. (2008). 15(10):3241–3253. Loop series and Bethe variational bounds in attractive graphical models. In NIPS 20, pages 1425–1432. Chertkov, M. and Chernyak, V. Y. (2006a). Loop calculus helps to improve Belief Propagation and linear program- Wainwright, M., Jaakkola, T., and Willsky, A. (2005). A ming decodings of LDPC codes. In invited talk at 44th new class of upper bounds on the log partition function. Allerton Conference. IEEE T. Inf. Theory, 51(7):2313–2335. Chertkov, M. and Chernyak, V. Y. (2006b). Loop series Yedidia, J. S., Freeman, W. T., Weiss, Y., and Yuille, for discrete statistical models on graphs. J. Stat. Mech- A. L. (2005). Constructing free-energy approxima- Theory E., 2006(06):P06009. tions and generalized belief propagation algorithms. IEEE T. Inf. Theory, 51(7):2282–2312. Chertkov, M., Chernyak, V. Y., and Teodorescu, R. (2008).