Below is an example C# program that does the same thing as the "Demo" program that ships with Netica C-API. There is a Visual Studio project for it, called "Netica Demo for C#" within the "Netica\Netica xxx\Programming Examples" folder of the Netica download package. (more info on programming Netica in C#)
using System;
using Netica;
namespace NeticaDemo
{
class Program |
{ |
static void Main(string[] args) |
{ |
Console.WriteLine("Welcome to Netica API for C# !"); |
Netica.ApplicationClass app = new Netica.ApplicationClass(); |
app.Visible = true; |
string net_file_name = AppDomain.CurrentDomain.BaseDirectory + "..\\..\\..\\ChestClinic.dne"; |
|
Streamer file = app.NewStream(net_file_name, null); |
BNet net = app.ReadBNet(file, ""); |
net.Compile(); |
BNode TB = net.Nodes.get_Item("Tuberculosis"); |
double bel = TB.GetBelief("present"); |
Console.WriteLine("The probability of tuberculosis is " + bel.ToString("G4")); |
|
BNode XRay = net.Nodes.get_Item("XRay"); |
XRay.EnterFinding("abnormal"); |
bel = TB.GetBelief("present"); |
Console.WriteLine("Given an abnormal X-Ray, the probability of tuberculosis is " + bel.ToString("G4")); |
|
net.Nodes.get_Item("VisitAsia").EnterFinding("visit"); |
bel = TB.GetBelief("present"); |
Console.WriteLine("Given abnormal X-Ray and visit to Asia, the probability of TB is " + bel.ToString("G4")); |
|
net.Nodes.get_Item("Cancer").EnterFinding("present"); |
bel = TB.GetBelief("present"); |
Console.WriteLine("Given abnormal X-Ray, Asia visit, and lung cancer, the probability of TB is " + bel.ToString("G4")); |
|
net.Delete(); |
if (!app.UserControl) app.Quit(); |
|
Console.WriteLine("Press <enter> to quit."); |
Console.ReadLine(); |
} |
} |
}