From Syncleus Wiki

(Redirected from DANN)

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 algorithms as well as acting as a platform for research & development of novel algorithms. As new algorithms are developed and proven to be effective they will be integrated into the core library. It is currently written in Java and is being actively developed by a small team.

Our intentions are two fold. First, to provide a powerful interface for programs to include conventional machine learning 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 algorithms. You can either let our library do all the work, or you can override any step along the way.

dANN currently implements a large collection of various algorithms. The following is a partial list:

  • 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.

Maven Usage



Public GIT:
To clone do: git clone --recursive
For more information check out the Repository

Bug Reporting & Development Status:
Bug reporting
Sonar Technical Debt Report

Nightly Javadocs & Maven Site:
Nightly Maven Site

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

Mailing List Support:
Mailing Lists

Collection of Screenshots
8 Layer Hyperassociative Map
Neural Image Compression