OpenSkyNet - Moving towards a comprehensive artificial intelligence solution for game developers under the LGPL. The goals are to implement action selection solvers, robust steering behaviors (including pathfinding algorithms), and machine learning.
A genetic algorithm (GA) is a form of guessing machine. As an A.I. tool it can be seen as a creative function because it fuses together possible solutions in the search for an answer and also depends on a high degree of randomness. The GeneticAlgorithm class is an abstract class that must be extended in order for the library to be used, this is because the "fitness" of its components, the Chromosomes, is different for every task the GeneticAlgorithm is applied to. That is why the user of the library must extend GeneticAlgorithm and override the scoreFitness(Chromosome o) method. The Chromosomes can be used also to experiment with breeding automata, but they require the GA to supply most of the constants used in its operations, so yet again the GA class must be extended. Use of this library also requires knowledge of how to use Java's Vector class, which is a dynamic array for storing objects.
The AStar algorithm finds the shortest route through a series of nodes. It does this by combining a calculation of the cost to reach the target and the distance to the target. By accident the author has incoporated the Best First Search (BFS) algorithm which is inaccurate but offers a massive speed increase over AStar. This is an optional extra.
Amygdala is open-source software for simulating spiking neural networks (SNNs). Spiking neural networks are a very specific sort of "artificial brain" which has shown particular promise in recent scientific research. SNNs have very useful applications in artificial intelligence (AI) and pattern recognition.
Bayesian logic (BLOG) Interface Engine is a first-order probabilistic modeling language under development at UC Berkeley. It is designed for making inferences about real-world objects that underlie some observed data: for instance, tracking multiple people in a video sequence, or identifying repeated mentions of people and organizations in a set of text documents. BLOG makes it (relatively) easy to represent uncertainty about the number of underlying objects and the mapping between objects and observations.
This toolbox implements a selection of statistical pattern recognition methods described in the monograph M.I. Schlesinger, V. Hlavac: Ten lectures on the statistical and structural pattern recognition, Kluwer Academic Publishers, 2002 , rather it implements the first part of the monograph which deals with feature based statistical pattern recognition methods. The toolbox is still being developed and new implemented methods (see implemeted methods) go beyond the contents of the monograph.
PyML is an interactive object oriented framework for machine learning in Python. PyML has been tested on Linux and Mac OS X. Some components are in C++ so it's not automatically portable.