From Syncleus Wiki

Revision as of 16:14, 5 April 2013 by Freemo (Talk | contribs)

dANN Information
Description An Artificial Intelligence Library written in Java.
Last Activity Today
License OSCL Type C
Homepage dANN
Distributions 2.1
Documentation Documentation Snapshot
JIRA Bug Tracking
Sonar Technical Debt
IRC Room #dANN on
Mailing Lists Directory of Mailing Lists

dANN is an Artificial Intelligence and Artificial Genetics library targeted at employing conventional techniques as well as acting as a platform for research & development of novel techniques. As new techniques are developed and proven to be effective they will be integrated into the core library. It is currently written in Java, C++, and C#. However only the java version is currently in active development. If you want to obtain a version other than the java version you will need to get it directly from GIT.

Our intentions are two fold. First, to provide a powerful interface for programs to include conventional artificial neural network technology into their code. Second, To act as a testing ground for research and development of new AI concepts. We provide new AI technology we have developed, and the latest algorithms already on the market. In the spirit of modular programming the library also provides access to the primitive components giving you greater control over implementing your own unique AI algorithms. You can either let our library do all the work, or you can override any step along the way.

dANN currently implements several conventional as well as new algorithms inspired by its biological counterparts. The following is an incomplete list of some of the libraries features:

  • Graph Theory
    • Search
      • Path Finding
        • A*
        • Dijkstra
        • Bellman-Ford
        • Johnson's
        • Floyd-Warshall
      • Optimization
        • Hill Climbing Local Search
    • Graph Drawing
    • Cycle Detection
      • Colored Depth-first Search
      • Exhaustive Depth First Search
    • Minimal Spanning Tree Detection (MST)
      • Kruskal
      • Prim
    • Topological Sort Algorithm
  • Evolutionary Algorithms
  • Naive Classifier
    • Naive Bayes Classifier
    • Naive Fisher Classifier
  • Data Processing
  • Graphical Models
    • Markov Random Fields
      • Dynamic Markov Random Field
    • Bayesian Networks
      • Dynamic Bayesian Networks
    • Dynamic Graphical Models
      • Hidden Markov Models
        • Baum–Welch Algorithm
        • Layered Hidden Markov Models
        • Hierarchical Hidden Markov Models
  • Artificial Neural Networks
    • Activation Function Collection
    • Backpropagation Networks
    • Self Organizing Maps
    • Realtime Neural Networks
      • Spiking Neural Networks
        • Izhikevich Algorithm
    • 3D Network Visualization
  • Mathematics
    • Statistics
      • Markov Chains
        • Markov Chain Monte Carlo (Parameter Estimation)
    • Counting
      • Combinations
      • Permutations
        • Lexicographic
        • Johnson-Trotter Algorithm
    • Complex Numbers
    • N-Dimensional Vectors
    • Greatest Common Denominator
      • Binary Algorithm
      • Euclidean Algorithm
      • Extended Euclidean Algorithm
    • Linear Algebra
      • Cholesky Decomposition
      • Hessenberg Decomposition
      • Eigenvalue Decomposition
      • LU Decomposition
      • QR Decomposition
      • Singular Value Decomposition

We've included a package of examples. Some examples included are:

  • 3-input XOR using Neural Network
  • 8 layer Hyperassociative Map
  • Neural Image Compression using Neural Network
  • 3D Color Maping to 2D/1D Space using Self Organized Map
  • Traveling Salesman Problem (TSP) using Genetic Algorithm
  • Wavelet Genetics
  • Microphone Spectrum Analyzer using FFT
  • Path Finding Editable Grid using A*

dANN is provided under the OSCL Type-C license.

Some documents you should take a look at if your new to dANN:
Using the Library
Using the Examples

The GIT is the best place for obtaining the latest source. However if you use the GIT for obtaining and using the source please consider providing feedback so we can take your suggestions into consideration.

If you need any help installing, compiling, or patching this software in any way at all please feel free to contact us. We cant promise support, but we do encourage you to try. We will do our best to offer our help.


Latest Distribution:
Zip Binary Release w/JavaDoc
Tarball Binary Release w/JavaDoc
Zip Source Release w/JavaDoc
Tarball Source Release w/JavaDoc

Collection of Screenshots
8 Layer Hyperassociative Map
Neural Image Compression

All Versions:
Release Repository

Public GIT:
For more information check out the Repository

Bug Reporting & Development Status:
TRAC reporting
Hudson Continuous Integration reporting

API Documentation:
Javadoc repository for all versions
Javadoc for current GIT trunk
Javadoc for current stable release

IRC Support:
Visit our IRC channel on freenode in the #dANN channel. For more information see: Syncleus:IRC
#dANN logs on freenode