Implicative Bayesian Reasoner for Java

The Implicative Bayesian Reasoner for Java (IBRJ) is a free and open source software tool for research and development into Implicative Bayesian Networks

What is IBRJ?

Implicative Bayesian Networks (IBNs) allow classical and defeasible implication statements to be added to a Bayesian Network. This allows additional dependencies to be added between variables in the network, increasing the networks expressivity. This software tool, the Implicative Bayesian Reasoner for Java, partially implements the theory of IBNs giving researchers the ability to use and understand how these modified networks function. IRBJ allows for classical implication statements to be added to the network while maintaining the ability to draw inference.

The Goal

The IBRJ tool sets out to determine if a software tool could be developed that easily allows a user to add classical implication statements into a Bayesian Reasoner while maintaining the ability to make meaningful queries to the network. The goal is to allow a researcher in the field to easily use and understand how IBNs function. Included in the tool is a Graphical User Interface that demonstrates how the network structure changes as the new dependencies between network variables are introduced.

Features and Results

A completed, fully functional version of IBRJ has been released and is available for download. This version of IBRJ has a GUI and CLI user interface, and allows the user to load and save networks, make observations, add classical implication statements and draw inference on the network. The tool is built as a wrapper around the open-source software Bayesian Network tools in Java. Classical implication added to the network effects the structure of the network, and the inference that can be drawn from the network. This is visualised in the GUI. Implicative cycles are also implemented, showing how these effect the graph structure. An extension to the BayesNet Interchange Format, the Implicative BayesNet Interchange Format, is also proposed that allows Implicative Bayesian Networks to be saved and loaded. This is detailed in the project paper.

Figure 1: A package diagram depicting the package structure of IBRJ.

s

Figure 2: A screen shot of the IBRJ tool showing the popular Asia network loaded, with some added observations and implications.

How to get IBRJ

IBRJ is completely free and open source. The source files, including example networks, build scripts and docs can be found at the project GitHub repository

Download

How to use IBRJ

IBRJ is developed using Java version 10.0.2. The latest version of Java can be found on the Oracle website. For information on running the tool, please refer to README.md The JacaDocs can be found below.

JavaDocs

Licence

The IBRJ software is fully open-source. It is licensed under the GNU General Public Licence (GPL) version 3. This allows the software and code to be used, run, shared, studied and modified, while ensuring that the software and all reproduced versions of it must remain free and open-source. The GPL version 3 can be found here, with more information on the GPL website.

Who developed IBRJ?

The IBRJ software tool was built by Luke Neville as part of his Honour Project at the University of Cape Town, South Africa. The project was split into two sections - the theory and implementation of Implicative Bayesian Networks. This tool makes up the implementation component of the project. As part of the project, a literature review and final paper were submitted, which can be found below.

Download the literature review Download the final paper

Report: Abstract

Implicative Bayesian Networks (IBNs) allow classical and defeasible implication statements to be added to a Bayesian Network. This allows additional dependencies to be added between variables in the network, increasing its expressivity. A software tool, the Implicative Bayesian Reasoner for Java (IBRJ) partially implements the theory of IBNs, giving researchers the ability to use and understand how these modified networks function. IRBJ allows for classical implication statements to be added to the network while maintaining the ability to draw inference. A Graphical User Interface is also provided that shows how the network changes given the additional information. An extension of the BayesNets Interchange Format is proposed that allows IBNs to be saved in a standard format. This paper details the development of the IBRJ tool, and explains the implementation process followed. A background on IBNs is also given as an explanation of what is being implemented, including algorithms that define how the network reacts to the introduction of implication statements.