SourceForge.net Logo

aimagik : Artificial Intelligence Library


    .
 

Quick Links
  Browse Project Files (CVS)
  View Examples
   Developer's Documentation (Neural Net Lib)
   Developer's Documentation (Classification lib)
   Download
   Contact

About aimagik

Author: Samit Ahlawat (samit_ahlawat@users.sourceforge.net)
Software released under GNU GPL (General Public License).
Development language: C++.

Aimagik is a reusable and modular artificial intelligence library providing implementation for feed forward neural networks, their training usin gradient descent approach, and reusable classifiers based on scalar vector machine (SVM), DNF (disjunctive normal form hypothesis), conjunctive normal hypothesis, bayesian hypothesis and a tree based classifier.

The neural network library provides support for a number of configurations. For instance, one could:

  1. define arbitrarily complex feed forward neural networks, (only limitation is they should be feed-forward, hence must not contain cycles)
  2. Provide different activation functions for different neurons in the network. In case all network neurons use the same activation function, use -DSAME_ACTIVATION compilation flag that provides for efficiency (only one function pointer is stored for all neurons).
  3. Training of neural network can be controlled by providing data, specifying learning parameter, or controlling residual or number of iterations.
  4. User defined activation functions can be provided

Input File Formats

Please see the developer's manual for more details on file formats.

Examples

To be added.

Enhancements in the Pipeline

Upcoming improvements have been enumerated below (not ordered by priority)

  1. Radial basis function based neural networks.
  2. Applications.

Getting Support, Bug-Filing

  • Please email samit_ahlawat@users.sourceforge.net for questions regarding usage.
  • Please submit bug reports here
  • Please submit support requests here
  • Please submit feature requests here
Installation Instructions

To build and install, there are two methods:
Basic method:

  1. Go to src directory, edit makefileCommon.sh file to make CC and CPP point to C and C++ compilers on your computer. Change boost dir to the directory containing boost header files. The library currently does not use boost (so this is not important now), but it may use in future.
  2. Type make in src directory. Neural network library is in neural dir, classification library in Classifier dir.
Advanced method:
  1. From top level directory, run aclocal
  2. Run automake
  3. Run autoconf
  4. Run ./configure , passing arguments as necessary. This creates Makefiles
  5. Type make (all from top level directory) NOTE: There is a default Makefile present in directories containing source code. Using autoconf/automake and configure will overwrite the default Makefile. The Makefile.backup contains the default Makefile copy. Config: In order to have neurons in a feed forward network have same activation function, SAME_ACTIVATION macro needs to be defined. If following basic method for installation, edit makefileCommon.sh (in src directory to have the DEFINES flag include -DSAME_ACTIVATION (this flag is present by default) For advanced method of compilation (via autotools), please define CPPFLAGS environment variable to be -DSAME_ACTIVATION (or append this to an existing CPPFLAGS) before running configure.

.