Modify Bayesian Network tools in Java (BNJ) This is an ALTERNATIVE project to MP3. Assigned: Fri 23 Apr 2004Due: Fri 14 Mar 2004 Download BNJ v2 from:http://bndev.sourceforge.net or request read-only permission to the BNJ CVS repository fromadmin(AT)www.kddresearch.organd 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