| Input: |
| Random variable set, X = {X1, …, X|X|} |
| maximum neighborhood sizes, kmax, khard
|
| Output: |
Inferred graph structure
|
|
for k = 1; k ≤ kmax; k + + do
|
| for Xi ∈ X do {Add stage} |
| Find best new MB variable Xj that maximizes ΔSij
|
| s.t. |Mi| ≤ k (Eq 6) |
| end for
|
| for Xi ∈ X do {Swap stage} |
| for Xi ∈ M̂ik do
|
| for Xq ∈ X \ (M̂ik ∪ {Xi}) and |M̂qk| ≤ khard and Xq ∉ tabulist(Xi) do
|
| Delete {Xi, Xj}, add {Xi, Xq}, add Xj to tabulist(Xi) if swapping Xq for Xj gives maximal score improvement. |
| end for
|
| end for
|
| end for
|
| end for |