## Compile

The compile function is activated from edit mode either by pressing the compile tool button (see figure 1) or by selecting the Run Mode item of the Network menu.

Figure 1: The compile tool button from the network window tool bar.

You can also activate the compile function from run mode. Here, the Run Mode item of the Network menu is replaced with the Recompile item.

When activating the compile function from edit mode, the current network is compiled and run mode is entered.

When activating the compile function from run mode, the current network is recompiled (this can sometimes be useful).

The compilation of a HUGIN network is basicly a transformation from the Bayesian belief network form to the junction tree form in which the propagations can take place. The theory behind the transformation to a junction tree is not covered in this manual.

You can specify certain properties on the compilation in Hugin from the Network Properties item of the Network menu. Figure 2 shows the Compilation tab of the Network Properties dialog box.

Figure 2: The Network Properties dialog box showing the Compilation tab.

Generally, it is NP hard (mathematical way to say that it is impossible within reasonable time) to find the best internal representation of a Hugin network (the junction tree representation). This is basically because it is NP hard to triangulate a graph optimally. The triangulation methods listed in the Compilation tab are different heuristic methods to perform the triangulation step of the compilation process. In some cases one method will be the best - in other cases another one will. If you have a Hugin network which is rather complex and seems to have poor performance, you might try another triangulation method.

You can sometimes save some space by using the optimization facilities. These are activated in the bottom half of the Compilation tab. You can choose between ordinary compression and compression involving approximation. The latter will cause less precision while the first will not.

If you select Approximate, you must also specify an epsilon value stating how much loss of precision you will allow. The larger epsilon value you specify, the less precision (read more about this in the Approximate section).

Back