and

LinkConnectionStrength Package

The two packages below are extensions for PNL (Intel's Open-Source Probabilistic Networks Library).

There are two components that are bundled together:

- PNLtoGraphviz Interface (last updated Mar 11, 2006):

Short Description:

- PNLtoGraphviz is an
interface from PNL
(Intel's Open-Source Probabilistic Networks Library) to Graphviz (Open-Source
Graph
Vizualization Software) that facilitates the vizualization of PNL
network graphs.

- It applies to any PNL network of type BayesNet, DBN or LIMID.
- It generates a graph description for the network and writes it to
a
file that can be read by Graphviz. The Graphviz package can then
be invoked to generate the actual graph layout and rendering.

- LinkConnectionStrength Package (last updated Mar 11, 2006)

Short Description:

See the documentation below for more details.- LinkConnectionStrength is a package for the Calculation and Vizualization of Entropy, Link Strengths and Connection Strengths in Discrete Bayesian Networks.
- It currently applies only to Discrete
Bayesian Networks.

- It provides functions for
the calculation of

- entropy,

- mutual information (to
measure connection
strength between two nodes)

- and certain derivatives of
mutual information (to measure
link strength of any directed arc).

- Several output routines allow the user to print the resulting
values to the screen in a formatted way.

- Another set of output routines uses the PNLtoGraphviz interface to generate a picture of the graph, employing varying gray scales of links and nodes to indicate link strengths and connections strengths.

- PNLtoGraphviz
and LinkConnectionStrength (Version 1.0) - Overview,
Installation and Quick Command Reference.

- User's Guide for the PNLtoGraphviz Package (Version 1.0) - Details of PNLtoGraphviz Package.
- User's Guide for the LinkConnectionStrength Package (Version 1.0) - Details of LinkConnectionStrength Package.

- Imme Ebert-Uphoff, "On Measuring Connection
Strengths and Link Strengths in Discrete Bayesian Networks",
Research Report EBE-BN-CSLS-Mar-06, March 24, 2006.

- Required files
(includes both components):

The two packages depend on each
other, so you have to download all four files above, even if you only
want to use one of the two packages.

- Optional files (demonstrate use of interface)

- SampleUsePTG.cpp (Main file to demonstrate use of PNLtoGraphviz interface.)
- SampleUseLCS.cpp (Main file to
demonstrate use of
LinkConnectionStrength package)

- models.cpp (various network
models used as examples in SampleUse files above)

- models.h (corresponding header file)

- Required package (only
required if you want to generate graphs):

- Graphviz package available from http://www.graphviz.org for most
platforms.

Complete List of Changes Since Version 1.0 (Jan 20, 2006):

- Remedy for Numerical Error in Mutual Information or Link Strength:

Problem:
In
theory, MI, LS_true and LS_blind are always positive, but
in practice they can become slightly
negative due to numerical error. The
negative values can create problems for choosing gray scale, etc.,
later on.

Changes:
If
any of the values MI, LS_true or LS_blind are between (- 0.0001) and
0,
set it to zero.

- Deal with Degenerate Cases for Mutual Information Percentage and Link Strength Percentage

Problem:
If MI=0, then MI% is undefined. If LS=0, then LS% is
undefined. Division by zero would occur.

Changes:

Changes:

In calculation of MI and LS:

If MI<EPSILON, print warning
on screen + set MI% to impossible value (-1).

If LS<EPSILON, print warning
on screen + set LS% to impossible value (-1).

In vizualization routines: If MI% is undefined (i.e. value
-1), write
"(Undefined %)" as corresponding percentage value in graph.

If LS% is undefined (i.e. value -1), write "(Undefined %)" as corresponding percentage value in graph.

If LS% is undefined (i.e. value -1), write "(Undefined %)" as corresponding percentage value in graph.

- Ensure the Sample Model AsiaModelCorrected
is topologically sorted

Problem:
Previously
Dyspnoea was
defined before CancerOrTuberculosis,
although
CancerOrTuberculosis
is a parent of Dyspnoea.
This
can cause problems with SaveNet and other functions in PNL.

Changes: Switched order of definitions of nodes CancerOrTuberculosis and Dyspnoea.

Changes: Switched order of definitions of nodes CancerOrTuberculosis and Dyspnoea.

Acknowledgements:

If you use the above packages in your work, please consider doing one of the following:

- Placing a link from your web page to the main page,
www.DataOnStage.com. (This will help to increase use of the
packages, which helps everyone using them.)

- Mentioning the packages in your publications, but only if they really made a difference for the work reported therein.
- Providing feedback and suggestions for improvements.

So, please send me your comments and questions!

This site and its content are maintained by Imme
Ebert-Uphoff .

This page: www.DataOnStage.com/PNL/PACKAGES/PTG_LCS/PTG_LCS.html

This page: www.DataOnStage.com/PNL/PACKAGES/PTG_LCS/PTG_LCS.html