============
Introduction
============

The Origin of HUGIN
-------------------

During an EU sponsored research project (under the ESPRIT program) on diagnosing neuromuscular diseases, the Bayesian network MUNIN was constructed. A research group at Aalborg University worked on developing correct and efficient computation methods for the diagnosis problem. Some results had at that time been obtained by American researchers, but a very obstinate problem still remained, which prevented Bayesian networks from being used in the construction of expert systems. The problem was known as the rumour problem: you may hear the same story through several different channels; but still the story may originate from the same source. Without knowing whether or not your channels are independent, you cannot combine the statements correctly. 

In Bayesian networks, the rumour problem appears when a cause can influence the same event through different paths in the network. 

The problem was solved and general methods were made available to be used in any domain which can be modeled by a Bayesian network.

The methods were programmed into a general development and runtime system, which was easy to use for anyone wishing to construct an expert system based on Bayesian networks. The system was called HUGIN. Over the years the system has been extended in various ways (e.g. (limited-memory) influence diagrams (LIMIDs), continuous variables, structure learning, adaptation, object-oriented specification of Bayesian networks and LIMIDs, etc).

Basic Concepts
--------------



Before you can use the HUGIN Graphical User Interface , you should at least understand the concept of :ref:`Bayesian Network <Introduction_To_Bayesian_Networks>` which is described in the :ref:`Tutorials` section. This section also contains a step-by-step description of how to :ref:`construct a Bayesian network <HowToBuildABayesianNetwork>` using the HUGIN Graphical User Interface.

The extension of Bayesian networks with decision and utility nodes, known as influence diagrams, allows you to model decision scenarios explicitly. If you are not familiar with (limited-memory) influence diagrams (:ref:`LIMIDs <Introduction_To_Limited_Memory_Influence_Diagrams_Tutorial>`), you can also learn about these in the :ref:`Tutorials` section.  There is also a step-by-step description of how to :ref:`construct a LIMID <How_To_Build_A_Limited_Memory_Influence_Diagram>` using the HUGIN Graphical User Interface.

Also, you can learn about the concept of :ref:`object-oriented networks<Introduction_To_Object_Oriented_Networks>`, which provides a very powerful mechanism for constructing models with repetitive patterns and for constructing models in a hierarchical fashion (top-down, bottom-up, or a mix of the two), making large models much more readable.  Again, there is a step-by-step description of how to :ref:`construct an object-oriented network<How_To_Build_An_Object_Oriented_Bayesian_Network>`,using the HUGIN Graphical User Interface.

The HUGIN Development Environment
---------------------------------

The HUGIN Graphical User Interface is a component of :ref:`the HUGIN Development Environment<DevelopmentEnvironment>`. 
The two other main components are the :ref:`HUGIN Decision Engine<Hugin_Decision_Engine>` and the :ref:`HUGIN Application Program Interface<Application_Program_Interfaces>`.
