# Components of the HUGIN System

The HUGIN System has five main components: An inference engine, an Application Program Interface, a compiler, a runtime system, and an editor.

## Inference engine

The inference engine performs reasoning on a knowledge base represented by a Bayesian belief network or an influence diagram. The inference engine performs all data processing and storage maintenance associated with the reasoning process.

The inference engine can be accessed using the graphical user interface of the HUGIN Runtime, or can be accessed from user programs using the application program interface (HUGIN API).

## Application Program Interface (HUGIN API)

The Application Program Interface makes it possible to use the HUGIN inference engine from programs and applications. Using the HUGIN API, an application can build, load, and compile knowledge bases. Then, it can enter data into knowledge bases, perform reasoning, and examine the data (evidence) stored in the knowledge base.

When used through the HUGIN API, the HUGIN inference engine functions as an ordinary program library, giving the application programmer total control of events. Using the HUGIN API, programmers can build knowledge based applications, utilising the power of the HUGIN inference engine for reasoning.

## The HUGIN Compiler

The HUGIN Compiler transforms networks into an efficient structur, making it suitable for use as a knowledge base by the HUGIN inference engine. The process is fully automatic, using efficient heuristic methods. The compilation process is the main reason for the efficiency of the HUGIN system.

When compilation has been done, reasoning can be done in a very fast and efficient manner, bringing response time down to a few seconds, even for large networks.

## Runtime system

The runtime system displays models graphically in a window environment and allows the user to display beliefs and utilities in individual nodes of the model. Using the mouse, the user can enter evidence incrementally by selecting states/actions of individual nodes. The inference engine can then be engaged, propagating the information to obtain revised probabilities and utilities.

The runtime system is identical to the "run" mode of HUGIN Runtime.

## Editor

The editor is used to create and maintain Bayesian belief networks. Using the editor, nodes can be created and linked, states and actions can be specified, and conditional probability tables and utility tables can be entered using a window-, menu- and mouse driven interface.

The editor is identical to the "edit" mode of HUGIN Runtime.

## Extra features

For extra performance gains, the HUGIN inference engine and compiler features a facility for compressing sparse probability tables. This can save considerable space and likewise considerably increase performance. The compiler and inference engine also features an option for approximating the probability tables to increase their scarcity. Combined with the compression, this can have dramatic effects on performance, with negligible effects on end results.

| HUGIN Expert A/S | , 1998

Back