Modify Bayesian Network tools in Java (BNJ)
 
This is an ALTERNATIVE project to MP3.
 
Assigned: Fri 23 Apr 2004
Due: Fri 14 Mar 2004
 
Download BNJ v2 from:
http://bndev.sourceforge.net
 
or request read-only permission to the BNJ CVS repository from
admin(AT)www.kddresearch.org
and cc:
kdd-tools-L@www.kddresearch.org
 
(50 points) Modify BNJ to do ONE of the following:
 
1. Triangulate the graph in the junction tree (Lauritzen-
Spiegelhalter) algorithm using ANY currently unimplemented 
algorithm.  Currently implemented algorithms for ordering include 
Maximum Cardinality Search (MCS).  Consult Neapolitan (1990) for an 
explanation of the baseline triangulation algorithm.
 
2. Write a module to graph the following inferential loss functions 
OTHER than root-mean-squared error (RMSE):
- zero-one loss
- cross-entropy
 
3. Implement any multi-threading for parallelization of an 
importance sampling (AIS) routine.  Deploy your code on a KDD core 
system.
 
KDD systems include:
 
fingolfin.user.cis.ksu.edu (NetBSD, file/mail server, no JDK yet)
ringil.cis.ksu.edu (NetBSD, web/mail server, no JDK yet)
anaire.user.cis.ksu.edu (Fedora, IRC server, JDK 1.4.2_04)
finarfin.user.cis.ksu.edu (Slackware Linux, Wiki server, no JDK?)
 
durin,azaghal,telchar,narvi: Dwarf group (Red Hat Linux 9, 
applications workstations, JDK 1.3, soon to be 1.4 & 1.5)
 
 
EXTRA CREDIT (optional, 5 points each):
a) Make use of the Learning Wizard to recover the structure of any 
network other than ALARM.  You will need to use Importance Sampling 
to generate sample data.
 
b) Interface your option into the Inference Wizard.
 
CLASS PARTICIPATION (required): Post your discussion from Mon 26 Apr 
2004.
 
-William Hsu