Skip to main content
. Author manuscript; available in PMC: 2017 Aug 5.
Published in final edited form as: J Comput Graph Stat. 2016 Aug 5;25(3):762–788. doi: 10.1080/10618600.2015.1037883

Algorithm 1.

Stochastic search for MAP estimation of DPM-GGM parameters

Input: Initial parameter configurations (L,ξ1:n,G1:L*)[1],,(L,ξ1:n,G1:L*)[I].
Input: # chains N, # follow-up moves C, max # of iterations without score increment before stopping S.
Input: Max # consecutive mode-break moves R, # top modes disregarded in move-break moves D.
Input: Split and merge move parameters Q, f, t.
Input: Mixing ratios: local shotgun graph moves to local ξ-moves g, local ξ-moves to split moves h.
1
2 for i ← 1 to N do
3 graphic file with name nihms814936t1.jpg % Select the initial configuration for the i-th search chain
4 if iI then
5 graphic file with name nihms814936t2.jpg
(L,ξ1:n,G1:L*)(L,ξ1:n,G1:L*)[i]
6 else
7 graphic file with name nihms814936t3.jpg d ~ Multinomial(1, exp(last_best_score[1:I]))
8
(L,ξ1:n,G1:L*)(L,ξ1:n,G1:L*)[d]
9
10 % Start the i-th run of stochastic search
11 k ← 0, c ← 0, last_best_score[i] ← −∞
12 while c < S do
13 graphic file with name nihms814936t4.jpg % Local moves
14 while c < C do
15 graphic file with name nihms814936t5.jpg if g * k is an integer then
16 graphic file with name nihms814936t6.jpg Perform local update moves on ξ1, …, ξn
17 Perform the merge move with tuning parameters (f, t)
18 if g * h * k is an integer then
19 graphic file with name nihms814936t7.jpg Perform the split move with tuning parameters (f, t)
20 else
21 graphic file with name nihms814936t8.jpg Perform local shotgun update moves on G1*,,GL*
22
23 if score > last_best_score then c ← 0
24 else cc + 1
25
26 % Move break moves
27 r ← 1, B ← 1
28 while cC and rR do
29 graphic file with name nihms814936t9.jpg Perform a mode break move with tuning parameters (B, D)
30 for j ← 1 to C do
31 graphic file with name nihms814936t10.jpg Perform local shotgun update moves on G1*,,GL*
32
33 if score > last_best_score then c ← 0
34 else cc + C, rr + 1, BB + 1
35
36 % Global graph jump move
37 if r > R then
38 graphic file with name nihms814936t11.jpg l ~ uniform{1, …, L}
39 Perform a global jump move on Gl*
40 c ← 0
41
42 kk + 1
43 if score > last_best_score[i] then last_best_score[i] = score, (L,ξ1:n,G1:L*)[i]*(L,ξ1:n,G1:L*)
44
45 return
(L,ξ1:n,G1:L*)[1:N]*