Improved VarSet and the GIBBS alias
[libdai.git] / tests / aliases.conf
1 # This file contains reasonable default settings for various inference
2 # algorithms in libDAI. Each non-empty line should either be a comment
3 # (starting with #) or contain an alias definition in the format
4 #
5 # alias: name[key1=val1,key2=val2,...,keyn=valn]
6 #
7 # where name should be a valid libDAI algorithm name, and the list of
8 # its properties (between rectangular brackets) consists of key=value
9 # pairs, seperated by spaces. This defines 'alias' as a shortcut for
10 # the rest of the line (more precisely, the contents to the right of
11 # the colon and possible whitespace).
12
13
14 # --- BP ----------------------
15
16 BP: BP[inference=SUMPROD,updates=SEQMAX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
17
18 BP_SEQFIX: BP[inference=SUMPROD,updates=SEQFIX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
19 BP_SEQRND: BP[inference=SUMPROD,updates=SEQRND,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
20 BP_SEQMAX: BP[inference=SUMPROD,updates=SEQMAX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
21 BP_PARALL: BP[inference=SUMPROD,updates=PARALL,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
22 BP_SEQFIX_LOG: BP[inference=SUMPROD,updates=SEQFIX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
23 BP_SEQRND_LOG: BP[inference=SUMPROD,updates=SEQRND,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
24 BP_SEQMAX_LOG: BP[inference=SUMPROD,updates=SEQMAX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
25 BP_PARALL_LOG: BP[inference=SUMPROD,updates=PARALL,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
26 MP_SEQFIX: BP[inference=MAXPROD,updates=SEQFIX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
27 MP_SEQRND: BP[inference=MAXPROD,updates=SEQRND,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
28 MP_SEQMAX: BP[inference=MAXPROD,updates=SEQMAX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
29 MP_PARALL: BP[inference=MAXPROD,updates=PARALL,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
30 MP_SEQFIX_LOG: BP[inference=MAXPROD,updates=SEQFIX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
31 MP_SEQRND_LOG: BP[inference=MAXPROD,updates=SEQRND,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
32 MP_SEQMAX_LOG: BP[inference=MAXPROD,updates=SEQMAX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
33 MP_PARALL_LOG: BP[inference=MAXPROD,updates=PARALL,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
34
35 # --- FBP ---------------------
36
37 FBP: FBP[inference=SUMPROD,updates=SEQMAX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
38
39 FBP_SEQFIX: FBP[inference=SUMPROD,updates=SEQFIX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
40 FBP_SEQRND: FBP[inference=SUMPROD,updates=SEQRND,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
41 FBP_SEQMAX: FBP[inference=SUMPROD,updates=SEQMAX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
42 FBP_PARALL: FBP[inference=SUMPROD,updates=PARALL,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
43 FBP_SEQFIX_LOG: FBP[inference=SUMPROD,updates=SEQFIX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
44 FBP_SEQRND_LOG: FBP[inference=SUMPROD,updates=SEQRND,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
45 FBP_SEQMAX_LOG: FBP[inference=SUMPROD,updates=SEQMAX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
46 FBP_PARALL_LOG: FBP[inference=SUMPROD,updates=PARALL,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
47 FMP_SEQFIX: FBP[inference=MAXPROD,updates=SEQFIX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
48 FMP_SEQRND: FBP[inference=MAXPROD,updates=SEQRND,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
49 FMP_SEQMAX: FBP[inference=MAXPROD,updates=SEQMAX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
50 FMP_PARALL: FBP[inference=MAXPROD,updates=PARALL,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0]
51 FMP_SEQFIX_LOG: FBP[inference=MAXPROD,updates=SEQFIX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
52 FMP_SEQRND_LOG: FBP[inference=MAXPROD,updates=SEQRND,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
53 FMP_SEQMAX_LOG: FBP[inference=MAXPROD,updates=SEQMAX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
54 FMP_PARALL_LOG: FBP[inference=MAXPROD,updates=PARALL,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0]
55
56 # --- TRWBP -------------------
57
58 TRWBP: TRWBP[updates=SEQFIX,tol=1e-9,maxiter=10000,logdomain=0,nrtrees=0]
59
60 TRWBP_SEQFIX: TRWBP[inference=SUMPROD,updates=SEQFIX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
61 TRWBP_SEQRND: TRWBP[inference=SUMPROD,updates=SEQRND,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
62 TRWBP_SEQMAX: TRWBP[inference=SUMPROD,updates=SEQMAX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
63 TRWBP_PARALL: TRWBP[inference=SUMPROD,updates=PARALL,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
64 TRWBP_SEQFIX_LOG: TRWBP[inference=SUMPROD,updates=SEQFIX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
65 TRWBP_SEQRND_LOG: TRWBP[inference=SUMPROD,updates=SEQRND,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
66 TRWBP_SEQMAX_LOG: TRWBP[inference=SUMPROD,updates=SEQMAX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
67 TRWBP_PARALL_LOG: TRWBP[inference=SUMPROD,updates=PARALL,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
68 TRWMP_SEQFIX: TRWBP[inference=MAXPROD,updates=SEQFIX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
69 TRWMP_SEQRND: TRWBP[inference=MAXPROD,updates=SEQRND,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
70 TRWMP_SEQMAX: TRWBP[inference=MAXPROD,updates=SEQMAX,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
71 TRWMP_PARALL: TRWBP[inference=MAXPROD,updates=PARALL,logdomain=0,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
72 TRWMP_SEQFIX_LOG: TRWBP[inference=MAXPROD,updates=SEQFIX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
73 TRWMP_SEQRND_LOG: TRWBP[inference=MAXPROD,updates=SEQRND,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
74 TRWMP_SEQMAX_LOG: TRWBP[inference=MAXPROD,updates=SEQMAX,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
75 TRWMP_PARALL_LOG: TRWBP[inference=MAXPROD,updates=PARALL,logdomain=1,tol=1e-9,maxiter=10000,damping=0.0,nrtrees=0]
76
77 # --- JTREE -------------------
78
79 JTREE_HUGIN: JTREE[inference=SUMPROD,updates=HUGIN]
80 JTREE_SHSH: JTREE[inference=SUMPROD,updates=SHSH]
81
82 JTREE_MINFILL_HUGIN: JTREE[inference=SUMPROD,heuristic=MINFILL,updates=HUGIN]
83 JTREE_MINFILL_SHSH: JTREE[inference=SUMPROD,heuristic=MINFILL,updates=SHSH]
84 JTREE_MINFILL_HUGIN_MAP: JTREE[inference=MAXPROD,heuristic=MINFILL,updates=HUGIN]
85 JTREE_MINFILL_SHSH_MAP: JTREE[inference=MAXPROD,heuristic=MINFILL,updates=SHSH]
86 JTREE_WEIGHTEDMINFILL_HUGIN: JTREE[inference=SUMPROD,heuristic=WEIGHTEDMINFILL,updates=HUGIN]
87 JTREE_WEIGHTEDMINFILL_SHSH: JTREE[inference=SUMPROD,heuristic=WEIGHTEDMINFILL,updates=SHSH]
88 JTREE_WEIGHTEDMINFILL_HUGIN_MAP:JTREE[inference=MAXPROD,heuristic=WEIGHTEDMINFILL,updates=HUGIN]
89 JTREE_WEIGHTEDMINFILL_SHSH_MAP: JTREE[inference=MAXPROD,heuristic=WEIGHTEDMINFILL,updates=SHSH]
90 JTREE_MINWEIGHT_HUGIN: JTREE[inference=SUMPROD,heuristic=MINWEIGHT,updates=HUGIN]
91 JTREE_MINWEIGHT_SHSH: JTREE[inference=SUMPROD,heuristic=MINWEIGHT,updates=SHSH]
92 JTREE_MINWEIGHT_HUGIN_MAP: JTREE[inference=MAXPROD,heuristic=MINWEIGHT,updates=HUGIN]
93 JTREE_MINWEIGHT_SHSH_MAP: JTREE[inference=MAXPROD,heuristic=MINWEIGHT,updates=SHSH]
94 JTREE_MINNEIGHBORS_HUGIN: JTREE[inference=SUMPROD,heuristic=MINNEIGHBORS,updates=HUGIN]
95 JTREE_MINNEIGHBORS_SHSH: JTREE[inference=SUMPROD,heuristic=MINNEIGHBORS,updates=SHSH]
96 JTREE_MINNEIGHBORS_HUGIN_MAP: JTREE[inference=MAXPROD,heuristic=MINNEIGHBORS,updates=HUGIN]
97 JTREE_MINNEIGHBORS_SHSH_MAP: JTREE[inference=MAXPROD,heuristic=MINNEIGHBORS,updates=SHSH]
98
99 # --- MF ----------------------
100
101 MF: MF[tol=1e-9,maxiter=10000,damping=0.0,init=UNIFORM,updates=NAIVE]
102
103 MF_NAIVE_UNI: MF[tol=1e-9,maxiter=10000,damping=0.0,init=UNIFORM,updates=NAIVE]
104 MF_NAIVE_RND: MF[tol=1e-9,maxiter=10000,damping=0.0,init=RANDOM,updates=NAIVE]
105 MF_HARDSPIN_UNI: MF[tol=1e-9,maxiter=10000,damping=0.0,init=UNIFORM,updates=HARDSPIN]
106 MF_HARDSPIN_RND: MF[tol=1e-9,maxiter=10000,damping=0.0,init=RANDOM,updates=HARDSPIN]
107
108 # --- TREEEP ------------------
109
110 TREEEP: TREEEP[type=ORG,tol=1e-9,maxiter=10000]
111 TREEEPWC: TREEEP[type=ALT,tol=1e-9,maxiter=10000]
112
113 # --- MR ----------------------
114
115 MR_DEFAULT: MR[updates=FULL,inits=RESPPROP,tol=1e-9]
116 MR_RESPPROP_FULL: MR[updates=FULL,inits=RESPPROP,tol=1e-9]
117 MR_RESPPROP_LINEAR: MR[updates=LINEAR,inits=RESPPROP,tol=1e-9]
118 MR_CLAMPING_FULL: MR[updates=FULL,inits=CLAMPING,tol=1e-9]
119 MR_CLAMPING_LINEAR: MR[updates=LINEAR,inits=CLAMPING,tol=1e-9]
120 MR_EXACT_FULL: MR[updates=FULL,inits=EXACT,tol=1e-9]
121 MR_EXACT_LINEAR: MR[updates=LINEAR,inits=EXACT,tol=1e-9]
122
123 # --- HAK ---------------------
124
125 GBP_MIN: HAK[doubleloop=0,clusters=MIN,init=UNIFORM,tol=1e-9,maxiter=10000]
126 GBP_BETHE: HAK[doubleloop=0,clusters=BETHE,init=UNIFORM,tol=1e-9,maxiter=10000]
127 GBP_DELTA: HAK[doubleloop=0,clusters=DELTA,init=UNIFORM,tol=1e-9,maxiter=10000]
128 GBP_LOOP3: HAK[doubleloop=0,clusters=LOOP,init=UNIFORM,loopdepth=3,tol=1e-9,maxiter=10000]
129 GBP_LOOP4: HAK[doubleloop=0,clusters=LOOP,init=UNIFORM,loopdepth=4,tol=1e-9,maxiter=10000]
130 GBP_LOOP5: HAK[doubleloop=0,clusters=LOOP,init=UNIFORM,loopdepth=5,tol=1e-9,maxiter=10000]
131 GBP_LOOP6: HAK[doubleloop=0,clusters=LOOP,init=UNIFORM,loopdepth=6,tol=1e-9,maxiter=10000]
132 GBP_LOOP7: HAK[doubleloop=0,clusters=LOOP,init=UNIFORM,loopdepth=7,tol=1e-9,maxiter=10000]
133 GBP_LOOP8: HAK[doubleloop=0,clusters=LOOP,init=UNIFORM,loopdepth=8,tol=1e-9,maxiter=10000]
134
135 HAK_MIN: HAK[doubleloop=1,clusters=MIN,init=UNIFORM,tol=1e-9,maxiter=10000]
136 HAK_BETHE: HAK[doubleloop=1,clusters=BETHE,init=UNIFORM,tol=1e-9,maxiter=10000]
137 HAK_DELTA: HAK[doubleloop=1,clusters=DELTA,init=UNIFORM,tol=1e-9,maxiter=10000]
138 HAK_LOOP3: HAK[doubleloop=1,clusters=LOOP,init=UNIFORM,loopdepth=3,tol=1e-9,maxiter=10000]
139 HAK_LOOP4: HAK[doubleloop=1,clusters=LOOP,init=UNIFORM,loopdepth=4,tol=1e-9,maxiter=10000]
140 HAK_LOOP5: HAK[doubleloop=1,clusters=LOOP,init=UNIFORM,loopdepth=5,tol=1e-9,maxiter=10000]
141 HAK_LOOP6: HAK[doubleloop=1,clusters=LOOP,init=UNIFORM,loopdepth=6,tol=1e-9,maxiter=10000]
142 HAK_LOOP7: HAK[doubleloop=1,clusters=LOOP,init=UNIFORM,loopdepth=7,tol=1e-9,maxiter=10000]
143 HAK_LOOP8: HAK[doubleloop=1,clusters=LOOP,init=UNIFORM,loopdepth=8,tol=1e-9,maxiter=10000]
144
145 # --- LC ----------------------
146
147 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]
148 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]
149 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]
150 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]
151 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]
152 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]
153 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]
154 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]
155 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]
156 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]
157 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]
158 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]
159 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]
160 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]
161 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]
162 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]
163 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]
164 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]
165 LCBP_UNICAV_SEQFIX: LC[cavity=UNIFORM,updates=SEQFIX,maxiter=10000,tol=1e-9,cavaiopts=[],cavainame=NONE]
166 LCBP_UNICAV_SEQRND: LC[cavity=UNIFORM,updates=SEQRND,maxiter=10000,tol=1e-9,cavaiopts=[],cavainame=NONE]
167
168 LCTREEEP: LC[cavity=FULL,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=TREEEP,cavaiopts=[type=ORG,tol=1e-9,maxiter=10000],tol=1e-9]
169 LCMF: LC[cavity=FULL,reinit=1,updates=SEQFIX,maxiter=10000,cavainame=MF,cavaiopts=[tol=1e-9,maxiter=10000],tol=1e-9]
170 LCBP: LCBP_FULLCAVin_SEQRND
171
172 # --- GIBBS -------------------
173
174 GIBBS: GIBBS[maxiter=10000,burnin=100,restart=10000]
175
176 # --- CBP ---------------------
177
178 CBP: CBP[max_levels=12,updates=SEQMAX,tol=1e-9,rec_tol=1e-9,maxiter=500,choose=CHOOSE_RANDOM,recursion=REC_FIXED,clamp=CLAMP_VAR,min_max_adj=1.0e-9,bbp_cfn=CFN_FACTOR_ENT,rand_seed=0,bbp_props=[tol=1.0e-9,maxiter=10000,damping=0,updates=SEQ_BP_REV],clamp_outfile=]
179 BBP: CBP[choose=CHOOSE_BBP]
180
181 # --- DECMAP ------------------
182
183 DECMAP: DECMAP[ianame=BP,iaopts=[inference=MAXPROD,updates=SEQRND,logdomain=1,tol=1e-9,maxiter=10000,damping=0.1,verbose=0],reinit=1,verbose=0]