.. index:: Bayesian Networks

.. _About_Bayesian_Network:

Bayesian Networks
=================

A *Bayesian network* is a set of nodes representing random variables and a set of links connecting these nodes in an acyclic manner. Each node has assigned a function which describes how the state of the node depends on the parents of the node.

In HUGIN networks, you can represent two kinds of random variables: :ref:`discrete chance nodes<discrete_chance_node>` having a discrete finite state space and :ref:`continuous chance nodes<continuous_chance_node>` having a continuous infinite state space.

For the discrete chance nodes, the function describing how the node depends on its parents is a :ref:`conditional probability table<conditional_probability_table>`. For  :ref:`continuous chance nodes<continuous_chance_node>` it is a probability density function (PDF) - in HUGIN it must be a :ref:`Gaussian (normal) distribution function<Gaussian_Distribution_Function>`.

In HUGIN, you can also construct :ref:`influence diagrams<About_Limited_Memory_Influence_Diagram>` which are Bayesian networks extended with decision nodes and a utility functions.

A Bayesian network is really just a smart representation of a domain of dependent random variables.

Many real-life situations can be modeled as a domain of random variables. In a medical domain such random variables could represent risk factors, diseases, symptoms, patho-physiological features, etc. A domain of random variables could form the basis of a decision support system to help decision makers make the decision that is most beneficial in a given situation.

If you want to represent a domain of random variables (all having a discrete and finite state space), you can always do this by the joint probability table of the entire domain. That is, a table with an entry for each configuration of the nodes of the domain. However, the number of configurations of a domain grows exponentially in the number of random variables, so this would only work for very small domains.

What you use to keep the representation size to a minimum in networks is the conditional independences in the domain: Very often the knowledge about a random variable being in a specific state will make other variables independent and thus it would be an overkill to have an entry for all combinations of these independent variables (they would all contain the same value).

This is not the right place to describe the theory behind Bayesian networks in detail. You should be able to find some useful literature about the subject elsewhere. A good place to start is the textbook :ref:`Bayesian Networks and Decision Graphs<references>`.  See also a brief overview of the three main :ref:`Paradigms of Expert Systems<Paradigms_Of_Expert_Systems>`.