

       Netica API Programmer's Library, version 1.06,

       Windows static library for Microsoft Visual C++ 4.xx or later



LICENSE AGREEMENT
-----------------

Before using Netica, make sure you accept the license agreement,
which is included with this package.  If not, return Netica unused 
for a refund.


INSTALLATION
------------

Follow these steps:

  1. Get the zip file NeticaAPI_Win_MS.zip (or .exe) from the floppy
     disk mailed to you or the Norsys web site:  www.norsys.com
     or the Norsys ftp site:  ftp.norsys.com/pub/norsys

  2. Expand the zip file (usually by double clicking it) and put the
     resulting files in the hard drive directory of your choice 
     (C:\Netica\API\ is a possibility).

  3. Get the example "Demo" project working as described below.

It is usually best to first get the example project working.
Start Visual C++ 4.xx or later, and choose Open Workspace from the File 
menu.  Open "Demo.mdp" (located on the directory where you installed it).

If you have trouble building Demo.exe in the next step, it may be
because Visual C++ is looking for the source files in the wrong directory.
Simply remove the 3 files from the project (by selecting them when the
FileView tab is active, and pressing Del), and re-add them by using
"Files Into Project..." from the Insert menu.  The 3 files are:
Demo.c, NeticaEx.c, Netica.lib.

Choose "Build Demo.exe" from the Build menu, and check that everything
compiles and links without errors, as it constructs your executable
Demo.exe.  Then try running it by choosing Go from the Build->Debug Menu.
If it displays the welcome message, and does some simple probabilistic
inference without any errors, then your installation was probably succesful.

Once you have the example program running, you can duplicate the "Demo"
project, replace Demo.c with your own source files, and you are ready to 
build your own application.

Alternately, you can simply include Netica.lib in an existing project.
If you suspect that any of your project's compiler or linker options are
incompatible with Netica.lib, you can check to see if they are different
from the options in the Demo project.  Demo is a console application,
but of course Netica.lib will work in regular Windows applications as well.


MANUAL
------

To use the Netica API, you will need the reference manual.  If the floppy
disks were shipped to you, then the manual will be included with them.
Otherwise, download the appropriate file from the Norsys web site
www.norsys.com (e.g. postscript file NeticaAPIMan.ps or rich text format
file NeticaAPIMan.rtf).  It is okay if the manual has an earlier version 
number.


LICENSE PASSWORD
----------------

In your own software, you should use the license password provided to you
by email, or on your invoice.  If you just use NULL, as in the "Demo"
project, Netica will not be able to solve large problems.


OTHER VERSIONS
--------------

This version of Netica API is a static linked library.  Often a dynamic
linked library (DLL) is more useful.  The Netica API DLL can be downloaded 
as file  NeticaAPI_Win_DLL.zip  from ftp://ftp.norsys.com/pub/norsys

This version of Netica API is for 32 bit development on Windows 95 or
Windows NT.  For 16 bit development using MS Visual C++ 1.5x, obtain
version 1.01 of Netica API from the Norsys ftp site (from the "old_versions"
subdirectory).  There are also versions for the Borland compiler, and
and for DOS, Macintosh, Sun, SGI, etc., available from the Norsys web site.

Versions of the Netica library built with different options (e.g. optimized
for a different processor) may be purchased from Norsys.  Contact Norsys 
with your request.


FUTURE VERSIONS
---------------

Your purchase price includes all version 1.xx releases of Netica (for your
chosen operating system), so your license password will work on all of them.  
If you are downloading Netica, then you can simply download the new versions
as they appear.

If Netica was mailed to you, then you will also receive the final 1.xx version
when it is released.  Additional mailings can be purchased from Norsys.


PROBLEMS
--------

If you have problems, contact Norsys at:    info_norsys@norsys.com


CHANGES SINCE VERSION 1.03
--------------------------

Added GetJointProb_bn function to find joint probabilities quickly, and added
FormCliqueWith function to NeticaEx.c to support it.

AbsorbNodes_bn is now much more efficient in the case where there are nodes 
with positive findings that have few parents.

When absorbing a node with likelihood or negative findings, it now takes that 
finding into account (previously it only took positive findings into account).

Some small memory leaks removed.  Memory checking utilities now show no memory
leaks for normal usage.

CompileNet_bn now produces much more efficient compiled networks and better 
elimination orders.  Old elimination orders in stored files will be ignored
('elimorder' field) and new ones found ('ElimOrder' field), and the new orders
are stored in reverse order of the old ones (the new way is more standard).

Can now read belief/decision network files from Mac and Unix systems even if
they were transferred to Windows without correcting line ends.

Argument checking (see ArgumentChecking_ns) on the highest level has been
improved.

NewNode_bn will now generate a unique name if passed NULL for 'name'.

GetNodeKind_bn can now return DISCONNECT_NODE to indicate that the parents 
of a node are actually disconnected links.

state_bn is an 'int' now instead of 'long', since supported systems
all have 32 bit ints now, and some systems use 64 bits for a long.

Likelihood findings now get saved and restored in network files.

Fixed bug:  DuplicateNodes_bn (GetNetNodes_bn (net), net);  crashed (because
node list passed was modified by DuplicateNodes_bn).

SetNodeProbs_bn (and Experience and FuncValue) take wildcards for parent 
states.

Recovers better from reading belief/decision files that have unknown fields
in them.

Fixed bug:  Generation of #2240 errors when absorbing the parent of a utility 
node.

Fixed bug:  When removing findings (ie, value) from a discretized continuous 
node, and the only findings are likelihood findings, it didn't remove the 
likelihood finding.

Fixed bug:  When duplicating a node with a disconnected link into network 
which has a node of the same name as the link name of the node being 
duplicated, ambiguity could result.

Fixed bug:  Under certain circumstances, using CaseRevisesProbs_bn left the
case still entered (as it should) but subsequent inference results didn't 
reflect that.

===============================================================================










