Software

University Resources

The Software Licensing department provides commercial software for the University community cheaply or for free.

ISP Resources

The Department of Computer Science and the ISP maintain /usr/local/contrib/bin that is intended for installing software that is shared among all students. Currently, the following packages are installed:

Field Package name Platform / Source code Directory
Support vector machines mySVM Windows / Linux /usr/local/contrib/bin/mySVM

Please start exploring packages by reading file Readme.txt in the root of the directory where the package is installed.

AI Software Packages and Toolboxes

There are a lot of AI packages and toolboxes that are available as freeware or open source. Some may only be used for research or non-commercial development. To recommend an addition to this list, please send an e-mail to the webmaster.

Field Package name Description Platform / Source code License
Expert systems CLIPS: A Tool for Building Expert Systems

CLIPS is a productive development and delivery expert system tool which provides a complete environment for the construction of rule and/or object based expert systems. Created in 1985, CLIPS is now widely used throughout the government, industry, and academia.

DOS / Windows / MAC Free
Finite-state machines AT&T FSM Library - General-Purpose Finite-State Machine Software Tools

The FSM library is a set of general-purpose software tools available for Unix, for building, combining, optimizing, and searching weighted finite-state acceptors and transducers. Finite-state transducers are automata for which each transition has an output label in addition to the more familiar input label. Weighted acceptors or transducers are acceptors or transducers in which each transition has a weight as well as the input or input and output labels.

Windows / UNIX / MAC Free
Finite-state machines Finite-state machine software, products, and projects
Graphical models IBAL

IBAL (pronounced "eyeball") is a general-purpose language for probabilistic modeling, parameter estimation and decision making. It generalizes Bayesian networks, hidden Markov models, stochastic context free grammars, Markov decision processes, and allows many new possibilities. It also provides a convenient programming-language framework with libraries, automatic type checking and so on.

Objective Caml Free
Graphical models Kevin Murphy's Bayes Net Toolbox

The package allows to create the following probabilistic models:

  • linear regression, logistic regression, hierarchical mixtures of experts

  • Naive Bayes classifiers, mixtures of Gaussians, sigmoid belief nets

  • factor analysis, probabilistic PCA, probabilistic ICA, mixtures of these models

  • HMMs, Factorial HMMs, coupled HMMs, input-output HMMs, DBNs

  • Kalman filters, ARMAX models, switching Kalman filters, tree-structured Kalman filters, multiscale AR models

MATLAB Free
Graphical models Other software packages for graphical models
Linear programming lp_solve

This non-commercial linear programming solver is able to solve problems as large as 30,000 variables and 50,000 constraints. Lp_solve can also handle (smaller) integer and mixed-integer problems.

ANSI C Free
Machine learning BAYDA 1.31 - Bayesian Predictive Discriminant Analysis

BAYDA software implements Bayesian predictive discriminant analysis, where the aim is to build a model for predicting the value of one discrete (class, group, category) variable using other variables. In the field of machine learning this discrimination task is known as "classification".

Java Free
Machine learning Orange

Orange is a component-based data mining software. It includes a range of preprocessing, modelling and data exploration techniques. It is based on C++ components, that are accessed either directly (not very common), through Python scripts (easier and better), or through GUI objects called Orange Widgets.

C++ / Python Free
Machine learning Weka 3: Machine Learning Software in Java

Weka is a collection of machine learning algorithms for solving real-world data mining problems. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes.

Java Free
Machine learning YALE: Yet Another Learning Environment

YALE is an environment for machine learning experiments. Experiments can be made up of a large number of arbitrarily nestable operators and their setup is described by XML files which can easily created with a graphical user interface. Applications of YALE cover both research and real-world learning tasks.

Java Free
Matrix algebra Matrix TCL Lite

Matrix TCL Lite is the free version of matrix template class library for performing matrix calculations with ease and efficiency in C++ programs. However, the lite version supports only basic matrix operations.

C++ Free
Neural networks SIMBRAIN

SIMBRAIN is a freeware tool for building, runnning, and analyzing neural-networks (computer simulations of brain circuitry). Simbrain aims to be as visual and easy-to-use as possible. Also unique are its integrated "world component" and its representation of the network's activation space.

Java Free
NLP Bow: A Toolkit for Statistical Language Modeling, Text Retrieval, Classification and Clustering

Bow (or libbow) is a library of C code useful for writing statistical text analysis, language modeling and information retrieval programs. The current distribution includes the library, as well as front-ends for document classification (rainbow), document retrieval (arrow) and document clustering (crossbow).

C Free
NLP GATE: General Architecture for Text Engineering

GATE is a tool for scientists performing experiments that involve processing human language. It comprises an architecture, framework (or SDK) and development environment, and has been in development since 1995 in the Sheffield NLP group. The system has been used for many language processing projects; in particular for Information Extraction in many languages.

Java Free
Representation systems WHIRL

WHIRL (Word-based Information Representation Language) is a representation system that combines some of the properties of relational databases, and some of the properties of statistical ranked-retrieval systems.

C++ Free
Rule learning systems SLIPPER

SLIPPER is a rule-learning system. Formally, it is based on confidence-rated boosting, a variant of AdaBoost developed by Rob Schapire and Yoram Singer in 1999. The code is based on William Cohen's widely-used RIPPER learning system.

C Free
Support vector machines SVMlight

SVMlight is an implementation of Vapnik's Support Vector Machine for the problem of pattern recognition, for the problem of regression, and for the problem of learning a ranking function. The algorithm has scalable memory requirements and can handle problems with many thousands of support vectors efficiently.

C Free
Technical computing MATLAB

MATLAB and companion toolboxes provide engineers, scientists, mathematicians, and educators with an environment for technical computing applications.

Java Free
Turing machines The Alan Turing Internet Scrapbook

Turing machines implemented in JavaScript.

JavaScript Free
Turing machines TM: The Turing Machine Interpreter

TM is a Turing Machine Interpreter written in C. With it you can create, alter and run turing machines.

C Free
Turing machines Visual Turing

Visual Turing is a graphical IDE that you may use to edit and play with Turing machines. It features an advanced graphical editor with cut, copy& paste, multiple undo. You may run the machines you have created or you may debug them using breakpoints, step by step execution and watch variables.

Windows Free
Visualization ROCOn

ROCOn (pronounced rok-on) is a tool for visualising ROC graphs.

Java Free