-BP_SEQFIX: BP[updates=SEQFIX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0]
-BP_SEQRND: BP[updates=SEQRND,tol=1e-9,maxiter=10000,verbose=0,logdomain=0]
-BP_SEQMAX: BP[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0]
-BP_PARALL: BP[updates=PARALL,tol=1e-9,maxiter=10000,verbose=0,logdomain=0]
-BP_SEQFIX_LOG: BP[updates=SEQFIX,tol=1e-9,maxiter=10000,verbose=0,logdomain=1]
-BP_SEQRND_LOG: BP[updates=SEQRND,tol=1e-9,maxiter=10000,verbose=0,logdomain=1]
-BP_SEQMAX_LOG: BP[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=1]
-BP_PARALL_LOG: BP[updates=PARALL,tol=1e-9,maxiter=10000,verbose=0,logdomain=1]
+# --- BP ----------------------
+
+BP_SEQFIX: BP[updates=SEQFIX,tol=1e-9,maxiter=10000,logdomain=0]
+BP_SEQRND: BP[updates=SEQRND,tol=1e-9,maxiter=10000,logdomain=0]
+BP_SEQMAX: BP[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0]
+BP_PARALL: BP[updates=PARALL,tol=1e-9,maxiter=10000,logdomain=0]
+BP_SEQFIX_LOG: BP[updates=SEQFIX,tol=1e-9,maxiter=10000,logdomain=1]
+BP_SEQRND_LOG: BP[updates=SEQRND,tol=1e-9,maxiter=10000,logdomain=1]
+BP_SEQMAX_LOG: BP[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=1]
+BP_PARALL_LOG: BP[updates=PARALL,tol=1e-9,maxiter=10000,logdomain=1]
+MP_SEQFIX: BP[updates=SEQFIX,tol=1e-9,maxiter=10000,logdomain=0,inference=MAXPROD]
+MP_SEQRND: BP[updates=SEQRND,tol=1e-9,maxiter=10000,logdomain=0,inference=MAXPROD]
+MP_SEQMAX: BP[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0,inference=MAXPROD]
+MP_PARALL: BP[updates=PARALL,tol=1e-9,maxiter=10000,logdomain=0,inference=MAXPROD]
+MP_SEQFIX_LOG: BP[updates=SEQFIX,tol=1e-9,maxiter=10000,logdomain=1,inference=MAXPROD]
+MP_SEQRND_LOG: BP[updates=SEQRND,tol=1e-9,maxiter=10000,logdomain=1,inference=MAXPROD]
+MP_SEQMAX_LOG: BP[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=1,inference=MAXPROD]
+MP_PARALL_LOG: BP[updates=PARALL,tol=1e-9,maxiter=10000,logdomain=1,inference=MAXPROD]
+
+# --- JTREE -------------------
JTREE_HUGIN: JTREE[updates=HUGIN,verbose=0]
JTREE_SHSH: JTREE[updates=SHSH,verbose=0]
-MF_SEQRND: MF[tol=1e-9,maxiter=10000,verbose=0]
+# --- MF ----------------------
+
+MF_SEQRND: MF[tol=1e-9,maxiter=10000]
+
+# --- TREEEP ------------------
TREEEP: TREEEP[type=ORG,tol=1e-9,maxiter=10000,verbose=0]
TREEEPWC: TREEEP[type=ALT,tol=1e-9,maxiter=10000,verbose=0]
-MR: MR[updates=FULL,inits=RESPPROP,verbose=0,tol=1e-9]
+# --- MR ----------------------
+
+MR_DEFAULT: MR[updates=FULL,inits=RESPPROP,verbose=0,tol=1e-9]
MR_RESPPROP_FULL: MR[updates=FULL,inits=RESPPROP,verbose=0,tol=1e-9]
MR_RESPPROP_LINEAR: MR[updates=LINEAR,inits=RESPPROP,verbose=0,tol=1e-9]
MR_CLAMPING_FULL: MR[updates=FULL,inits=CLAMPING,verbose=0,tol=1e-9]
MR_EXACT_FULL: MR[updates=FULL,inits=EXACT,verbose=0,tol=1e-9]
MR_EXACT_LINEAR: MR[updates=LINEAR,inits=EXACT,verbose=0,tol=1e-9]
-LCBP_FULLCAVin_SEQFIX: LC[cavity=FULL,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_FULLCAVin_SEQRND: LC[cavity=FULL,reinit=1,updates=SEQRND,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_FULLCAVin_NONE: LC[cavity=FULL,reinit=1,updates=SEQFIX,maxiter=0,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_FULLCAV_SEQFIX: LC[cavity=FULL,reinit=0,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_FULLCAV_SEQRND: LC[cavity=FULL,reinit=0,updates=SEQRND,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_FULLCAV_NONE: LC[cavity=FULL,reinit=0,updates=SEQFIX,maxiter=0,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_PAIRCAVin_SEQFIX: LC[cavity=PAIR,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_PAIRCAVin_SEQRND: LC[cavity=PAIR,reinit=1,updates=SEQRND,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_PAIRCAVin_NONE: LC[cavity=PAIR,reinit=1,updates=SEQFIX,maxiter=0,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_PAIRCAV_SEQFIX: LC[cavity=PAIR,reinit=0,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_PAIRCAV_SEQRND: LC[cavity=PAIR,reinit=0,updates=SEQRND,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_PAIRCAV_NONE: LC[cavity=PAIR,reinit=0,updates=SEQFIX,maxiter=0,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_UNICAV_SEQFIX: LC[cavity=UNIFORM,updates=SEQFIX,maxiter=10000,tol=1e-9,verbose=0,cavaiopts=[],cavainame=NONE]
-LCBP_UNICAV_SEQRND: LC[cavity=UNIFORM,updates=SEQRND,maxiter=10000,tol=1e-9,verbose=0,cavaiopts=[],cavainame=NONE]
-LCBP_PAIR2CAV_SEQFIX: LC[cavity=PAIR2,reinit=0,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_PAIRINTCAV_SEQFIX: LC[cavity=PAIRINT,reinit=0,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCBP_PAIRCUMCAV_SEQFIX: LC[cavity=PAIRCUM,reinit=0,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,verbose=0,logdomain=0],tol=1e-9,verbose=0]
-LCTREEEP: LC[cavity=FULL,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=TREEEP,cavaiopts=[type=ORG,tol=1e-9,maxiter=10000,verbose=0],tol=1e-9,verbose=0]
-LCMF: LC[cavity=FULL,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=MF,cavaiopts=[tol=1e-9,maxiter=10000,verbose=0],tol=1e-9,verbose=0]
+# --- HAK ---------------------
GBP_MIN: HAK[doubleloop=0,clusters=MIN,tol=1e-9,maxiter=10000,verbose=0]
GBP_DELTA: HAK[doubleloop=0,clusters=DELTA,tol=1e-9,maxiter=10000,verbose=0]
GBP_LOOP3: HAK[doubleloop=0,clusters=LOOP,loopdepth=3,tol=1e-9,maxiter=10000,verbose=0]
GBP_LOOP4: HAK[doubleloop=0,clusters=LOOP,loopdepth=4,tol=1e-9,maxiter=10000,verbose=0]
+GBP_LOOP5: HAK[doubleloop=0,clusters=LOOP,loopdepth=5,tol=1e-9,maxiter=10000,verbose=0]
GBP_LOOP6: HAK[doubleloop=0,clusters=LOOP,loopdepth=6,tol=1e-9,maxiter=10000,verbose=0]
+GBP_LOOP7: HAK[doubleloop=0,clusters=LOOP,loopdepth=7,tol=1e-9,maxiter=10000,verbose=0]
GBP_LOOP8: HAK[doubleloop=0,clusters=LOOP,loopdepth=8,tol=1e-9,maxiter=10000,verbose=0]
HAK_MIN: HAK[doubleloop=1,clusters=MIN,tol=1e-9,maxiter=10000,verbose=0]
HAK_LOOP4: HAK[doubleloop=1,clusters=LOOP,loopdepth=4,tol=1e-9,maxiter=10000,verbose=0]
HAK_LOOP5: HAK[doubleloop=1,clusters=LOOP,loopdepth=5,tol=1e-9,maxiter=10000,verbose=0]
HAK_LOOP6: HAK[doubleloop=1,clusters=LOOP,loopdepth=6,tol=1e-9,maxiter=10000,verbose=0]
+HAK_LOOP7: HAK[doubleloop=1,clusters=LOOP,loopdepth=7,tol=1e-9,maxiter=10000,verbose=0]
HAK_LOOP8: HAK[doubleloop=1,clusters=LOOP,loopdepth=8,tol=1e-9,maxiter=10000,verbose=0]
-#---------------------------------------------------------------
-#EXACT
-#
-#
-#} else if( method.substr(0,5) == "EXACT" ) { // EXACT
-# // Look if the network is small enough to do brute-force exact method
-# bool toolarge = false;
-# size_t total_statespace = 1;
-# for( size_t i = 0; i < fg.nrVars(); i++ ) {
-# total_statespace *= fg.var(i).states();
-# if( total_statespace > (1UL << 16) )
-# toolarge = true;
-# }
-#
-# if( !toolarge ) {
-# Factor piet;
-# for( size_t I = 0; I < fg.nrFactors(); I++ )
-# piet *= fg.factor( I );
-# for( size_t i = 0; i < fg.nrVars(); i++ )
-# q.push_back(piet.marginal(fg.var(i)));
-# time += toc() - tic;
-# logZ = fg.ExactlogZ();
-# } else
-# throw "Network too large for EXACT method";
+# --- LC ----------------------
+
+LCBP_FULLCAVin_SEQFIX: LC[cavity=FULL,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_FULLCAVin_SEQRND: LC[cavity=FULL,reinit=1,updates=SEQRND,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_FULLCAVin_NONE: LC[cavity=FULL,reinit=1,updates=SEQFIX,maxiter=0,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_FULLCAV_SEQFIX: LC[cavity=FULL,reinit=0,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_FULLCAV_SEQRND: LC[cavity=FULL,reinit=0,updates=SEQRND,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_FULLCAV_NONE: LC[cavity=FULL,reinit=0,updates=SEQFIX,maxiter=0,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIRCAVin_SEQFIX: LC[cavity=PAIR,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIRCAVin_SEQRND: LC[cavity=PAIR,reinit=1,updates=SEQRND,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIRCAVin_NONE: LC[cavity=PAIR,reinit=1,updates=SEQFIX,maxiter=0,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIRCAV_SEQFIX: LC[cavity=PAIR,reinit=0,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIRCAV_SEQRND: LC[cavity=PAIR,reinit=0,updates=SEQRND,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIRCAV_NONE: LC[cavity=PAIR,reinit=0,updates=SEQFIX,maxiter=0,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIR2CAVin_SEQFIX: LC[cavity=PAIR2,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIR2CAVin_SEQRND: LC[cavity=PAIR2,reinit=1,updates=SEQRND,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIR2CAVin_NONE: LC[cavity=PAIR2,reinit=1,updates=SEQFIX,maxiter=0,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIR2CAV_SEQFIX: LC[cavity=PAIR2,reinit=0,updates=SEQFIX,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIR2CAV_SEQRND: LC[cavity=PAIR2,reinit=0,updates=SEQRND,maxiter=10000,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_PAIR2CAV_NONE: LC[cavity=PAIR2,reinit=0,updates=SEQFIX,maxiter=0,cavainame=BP,cavaiopts=[updates=SEQMAX,tol=1e-9,maxiter=10000,logdomain=0],tol=1e-9,verbose=0]
+LCBP_UNICAV_SEQFIX: LC[cavity=UNIFORM,updates=SEQFIX,maxiter=10000,tol=1e-9,verbose=0,cavaiopts=[],cavainame=NONE]
+LCBP_UNICAV_SEQRND: LC[cavity=UNIFORM,updates=SEQRND,maxiter=10000,tol=1e-9,verbose=0,cavaiopts=[],cavainame=NONE]
+LCTREEEP: LC[cavity=FULL,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=TREEEP,cavaiopts=[type=ORG,tol=1e-9,maxiter=10000,verbose=0],tol=1e-9,verbose=0]
+LCMF: LC[cavity=FULL,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=MF,cavaiopts=[tol=1e-9,maxiter=10000,verbose=0],tol=1e-9,verbose=0]