BNJ is an open-source suite of software tools for research and development using graphical models of probability. It is implemented in 100% pure Java and distributed under the GNU General Public License (GPL) by the Kansas State University Laboratory for Knowledge Discovery in Databases (KDD).
For information on the BNJ project and documentation, see the following pages.
Want the latest source code and docs?
Please remember to register BNJ online once you have downloaded it. Registration is free and takes only a few minutes.
Read these if you just want to download and compile the basic utilities (the GUI-based Bayesian network editor and conversion tools, and the Inference Wizard and Learning Wizard tool).
- Eclipse setup tutorial, by Roby Joehanes [ HTML ]
Note: This is slightly out-of-date (it was written for Eclipse v2.0), and the examples given are for our local setup, so you will have to modify the paths and CVS repository names accordingly.
The recommended platform for BNJ v2 development is Eclipse, a very full-featured open-source IDE. We have been using the latest version, which as of Fri 23 Apr 2004 is 3.0 M8. You can download Eclipse here.
- Beginner: for new BNJ users - coming soon
- Converter utility
- Creating and editing graphical models using the GUI editor
- Inference Wizard
- Learning Wizard
- Intermediate: for users in Artificial Intelligence and Machine Learning courses - coming soon
- Generating simulated data using a network (e.g., for structure learning)
- Comparisons among exact and approximate inference algorithms
- Plotting convergence time for approximations
- Deterministic vs. stochastic sampling-based approximation
- Structure learning
Read these if you want to build a new application that uses pre-implemented classes for representation of graphical models and inference and learning using them, or if you would like to: embed BNJ in your own Java-based application, modify or optimize an existing part of the BNJ core clases or other modules, or contribute a new module (class), package, or wizard.
BNJ development began in September, 1997 at the University of Illinois Department of Computer Science.
Development history of BNJ
BNJ version 2 has been in development since December, 2002. The final alpha release was v2.03a on 05 Nov 2003. v2 is now in feature-freeze. The first beta release, with a launcher executable for Windows and Linux, appeared on Sourceforge on Sun 16 May 2004. The final beta release (v2.2b) with minor optimizations is planned for Mon 31 May 2004, and an applications release with standalone, platform-specific executables (v2.3) is planned for Fri 11 Jun 2004.
The following new features are planned for BNJ v3 (4th quarter 2004):
- Refactored applications programmer interface (API)
- Animaton-based tutorials: junction tree, other inference and learning algorithms
- Support for pointwise product (maxprop) inference
- Inference algorithms for Bayesian networks other than clustering: bounded cutset conditioning, variable elimination - prototype completed as of v2.02 alpha (20 Aug 2003)
- Additional algorithms for structure learning [Jo98, Ne03]: Sparse Candidate, Markov chain Monte Carlo (perturbation-based)
- Evaluation modules: error graphic, bootstrap validation
- Continuous state
- Dynamic Bayes nets: n-slice temporal BN - in progress for v3 (alpha expected 30 Jun 2004, beta 30 August 2004, full release 30 Nov 2004)
- Influence diagrams (decision networks) - in progress for v3
- Probabilistic Relational Models (PRMs) - prototype representation, learning modules implemented as of v2.02a (20 Aug 2003)
- New development
- Converter Factory II: new graphical user interface (GUI) - standalone application completed as of v2.02a (20 Aug 2003)
- Graphical editors: for continuous, DBN, ID, PRM representations - in progress for v2.2b (31 May 2004); new GUI base completed as of v2.03a (05 Nov 2003)
- Gene expression modeling module: Interfaces to TIGR TM4 (especially Multi-Experiment Viewer), EisenLab Cluster/TreeView, Silicon Genetics GeneSpring
As of Fri 21 May 2004, the BNJ source and binaries have been downloaded over 4500 times and over 130 offsite users have registered it.
Descriptive statistics about BNJ versions and users
To receive updates on new releases and to submit requests for documentation and new features, click here to register as a BNJ user or developer using the online form!
Your name and e-mail address are requested for major BNJ software development and release announcements only, and shall be kept confidential among BNJ developers.
If you have any questions, comments, or requests, please subscribe to the Yahoo! Group bndev.
We invite contributions from the user community in the following areas:
BNJ has been and continues to be developed through support from the following sponsoring agencies:
- U.S. National Science Foundation (NSF)
- NSF-PGRP-0110154: Research Experience for Undergraduates (REU) supplement to: Inducible Ac elements for activation-tagging and PCR-based detection of deleted genes in rice (J. E. Leach and W. H. Hsu), 15 May 2003 - 31 Jul 2003, Plant Genome Research Program
- Cooperative agreement 9874732: Algorithms for Discovery of Bayesian Network Models of Gene Regulation in Saccharomyces cerevisiae from Microarray Data (W. H. Hsu), 10 Jun 2002 - 09 Aug 2003; First Award, NSF Experimental Program to Stimulate Competitive Research (EPSCoR), sponsored by NSF and Kansas Technology Enterprise Corporation (KTEC)
- U.S Office of Naval Research (ONR)
- N00014-01-1-0917: Real-Time Temporal Probabilistic Inference using Bayesian Networks: Decision Support in Manpower and Personnel Management (W. H. Hsu and S.-I Chang, principal investigators), 13 May 2001 – 30 Sep 2002; subcontract, University of Mississippi Personnel Research Consortium
- N00014-00-1-0769: Distributed Data Mining and Knowledge Discovery System for Navy Personnel Research (W. H. Hsu and S.-I Chang, principal investigators), 01 Jun 2000 – 30 Sep 2001; subcontract, University of Mississippi Personnel Research Consortium
- U.S Army Research Lab (ARL)
- ARL-PET-IMT-KSU-07: Synthesis, Reduction, and Integration of Test and Evaluation Data for Monitoring Applications (W. H. Hsu), 10 Aug 2000 – 09 Aug 2001; subcontract, Raytheon, Inc.
- ARL-PET-IMT-NCSA-01: Integration of Data Sources for Time Series Analysis (W. H. Hsu and K. M. Skreiner), 20 Aug 1999 – 09 Aug 2000; subcontract, National Center for Supercomputing Applications
- Kansas Department of Transportation (KSDOT)
- Production of Sub-Standard Stopping Sight Distance Data Set and Development of Highway Design Verification and Passing Sight Distance Analysis via GPS Spatial Models (D. Ben-Arieh, S.-I Chang, M. Rys, W. H. Hsu), 01 Jul 2002 - 30 Sep 2004
Corporate and Industrial Partners
The BNJ development team gratefully acknowledges the maintainers of the following sites for listing our package in their online directories or linking to this site:
- Java Math Tools, Mathtools.net
- Software Packages for Graphical Models / Bayesian Networks - Kevin Murphy, MIT AI Lab
- Neural Networks and Fuzzy Logic Packages - GameAI.com
- Software for Bayesian and Dependency Networks - KDNuggets.com
If you have linked to our site on your Bayes nets page and would like a reciprocal link, please contact us.
Web Site Design
- Dr. William H. Hsu (team leader) - KSU Department of Computing and Information Sciences
- Scott J. Harmon - KSU Department of Computing and Information Sciences
- Jeffrey M. Barber - KSU Department of Computing and Information Sciences
- Christopher H. Meyer - KSU Department of Computing and Information Sciences
- Silpan Patel - KSU Department of Electrical Engineering and Computer Engineering
- James W. Plummer - KSU Department of Electrical Engineering and Computer Engineering
- Andrew King - KSU Department of Computing and Information Sciences
Test Site Instructors
- Dr. Tom Dietterich - Oregon State University Department of Computer Science
- Dr. Vasant Honavar - Iowa State University Department of Computer Science
- Dr. Sanjoy Das - KSU Department of Electrical Engineering and Computer Engineering
- Dr. Lev Kapitanski - University of Miami Department of Mathematics
- Dr. Jan E. Leach - KSU Department of Plant Pathology
- Dr. Clare Nelson - KSU Department of Plant Pathology
- Bart Peinter - University of Michigan Department of Computer Science and Engineering
- Edwin Rodríguez - KSU Department of Computing and Information Sciences
- Dr. Judith L. Roe - KSU Division of Biology
- Christopher Zhong - KSU Department of Computing and Information Sciences
- Dr. Stephen M. Welch - KSU Department of Agronomy
- Julie A. Thornton - KSU Deparment of Computing and Information Sciences
- Nathan D. Gettings
B.S. Mathematics, University of Illinois, 1998
PayPal, Palo Alto, CA, USA
- Dr. Haipeng Guo
Ph.D. Computer Science, KSU, 2003
Hong Kong University of Science and Technology Department of Computer Science, Hong Kong
- Laura M. (Kruse) Haverkamp
B.S. Computer Science, KSU, 2000
Sprint, Kansas City, KS, USA
- Ben B. Perry
M.S. Computer Science, KSU, 2003
Quantum Leap Innovations, Newark, DE, USA
- Julie A. (Stilson) Thornton
B.S. Computer Science / Mathematics, KSU, 2003
KSU Department of Computing and Information Sciences, Manhattan, KS
- Roby Joehanes - KSU Department of Computing and Information Sciences
Page created: Thu 22 Aug 2002
Last updated: Wed 28 July 2004
William H. Hsu
BNJ Development Team