Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. Integer, floating point, and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS libraries. A delayed evaluation approach, based on template meta-programming, is used (during compile time) to combine several operations into one and reduce or eliminate the need for temporaries.
Thinknowlogy is grammar-based software, designed to utilize the Natural Laws of Intelligence in grammar, in order to create intelligence through natural language in software. This is demonstrated by programming in natural language, reasoning in natural language and drawing conclusions (more detailed than scientific solutions), making assumptions (with self-adjusting level of uncertainty), asking questions (about gaps in the knowledge), and detecting conflicts in the knowledge. It builds semantics autonomously (with no vocabularies or words lists), detecting some cases of semantic ambiguity. It is multi-grammar, proving that Natural Laws of Intelligence are universal.
Treba is a commandline tool for training, decoding, and calculating with weighted (probabilistic) finite state automata (WFSA/PFSA). Training algorithms include Baum-Welch (EM), Viterbi training, and Baum-Welch augmented with deterministic annealing. Treba is optimized for speed and numerical stability, and training algorithms can be run multi-threaded on hardware with multiple cores/CPUs. Forward, backward, and Viterbi decoding are supported. Automata for training/decoding are read from a text file, or can be generated randomly or with uniform transition probabilities with different topologies (ergodic or fully connected, Bakis or left-to-right, or deterministic). Observations used for training or decoding are read from text files compatible with AT&T finite state tools and OpenFST.
Fuzzy machine learning framework is a library and a GUI front-end for machine learning using intuitionistic fuzzy data. The approach is based on the intuitionistic fuzzy sets and the possibility theory. Further characteristics are fuzzy features and classes; numeric, enumeration features and features based on linguistic variables; user-defined features; derived and evaluated features; classifiers as features for building hierarchical systems; automatic refinement in case of dependent features; incremental learning; fuzzy control language support; object-oriented software design with extensible objects and automatic garbage collection; generic data base support through ODBC; text I/O and HTML output; an advanced graphical user interface based on GTK+; and examples of use.
Pinta is an extremely versatile, extensible, self-learning image classification program. It uses texture and color analysis and neural network techniques to automatically learn differences in images. It comes with a C API for easy integration into other software. It is built on top of the pattern recognition and image analysis platform Into.
MLPACK is a C++ machine learning library with an emphasis on scalability, speed, and ease-of-use. Its aim is to make machine learning possible for novice users by means of a simple, consistent API, while simultaneously exploiting C++ language features to provide maximum performance and maximum flexibility for expert users.