Artificial Intelligence Toolkit
AIT is a C++ library intended to provide a concrete framework for artificial intelligence research projects. It's also intended to fill the gap between academia and industry in area of AI by providing production-quality implementation of generic AI concepts and techniques.
Compile
WARNING: There is no support for Microsoft Visual Studio compilers. Please use latest GNU GCC or Clang to compile this project. Earliest MSVC that's able to compile AIT, will be released in 2015. Current versions do not have capability to compile modern C++ code.
Dependencies
AIT is based on a modular architecture by design. Each module has it's own dependencies. Currently there is one module providing a framework to model constraint satisfaction problems and solvers.
CSP Library
CSP has a couple of dependencies. Dependency list depends on your needs. The minimal set of dependencies are:
- ZeroMQ - High-performance asynchronous messaging library (>=3.0.0)
- XSD C++ - XML Data Binding for C++
- Protocol Buffers library (>= 2.5.0, < 2.6)
- Boost logging library 2 (>= 1.53.0)
To install dependencies in Debian/Ubuntu type:
sudo apt-get install libprotobuf-dev libzmq3-dev xsdcxx libboost-log-dev
And in RedHat/Fedora:
sudo yum install protobuf-devel zeromq-devel xsd boost-log
Note: If you are using a higher version of protocol buffers on your system, you'll need to either downgrade it, download sources of an older version and compile it, or choose to re-generate protocol sources compatible with your current version of libprotobuf
.
Downgrading libprotobuf
is likely to break package management system or other programs linked to it. It's highly recommended to statically link against an older compile of the library. To do so, pass path of old protobuf to --with-protobuf-libdir
option at configure step. Make sure to pass --enable-precompiled-protocols
to configure script.
Another option is to re-generate protocol sources with your own version on protoc
(protocol buffers C++ compiler). Of course you're required to have protoc
installed on system. In Debian/Ubuntu type:
sudo apt-get install protobuf-compiler
And for RedHat/Fedora:
sudo yum install protobuf-compiler
Pass --enable-precompiled-protocols=no
to force use of newly generated sources.
After all dependencies satisfied, compile libAIT by typing:
./configure --prefix=/usr/local
make
sudo make install
Installation
You can either compile libAIT or download precompiled binaries. Currently a debian package repository is maintained in ~soroush/solap ppa. Also precompiled DLL's for Windows are available in sourceforge home page of the project.