All Projects → opencog → moses

opencog / moses

Licence: Unknown and 2 other licenses found Licenses found Unknown LICENSE AGPL-3.0 LICENSE.AGPL Apache-2.0 LICENSE.Apache
MOSES Machine Learning: Meta-Optimizing Semantic Evolutionary Search. See also AS-MOSES https://github.com/opencog/asmoses but kept to guaranty backward compatibility.

Programming Languages

C++
36643 projects - #6 most used programming language
Roff
2310 projects
CMake
9771 projects
python
139335 projects - #7 most used programming language
shell
77523 projects
cython
566 projects

Projects that are alternatives of or similar to moses

GeneticAlgorithmForFeatureSelection
Search the best feature subset for you classification mode
Stars: ✭ 82 (-35.43%)
Mutual labels:  genetic-algorithm, genetic-programming, genetic-optimization-algorithm
wargames
two soldiers shooting at each other, controlled by a neural network with a genetic algorithm.
Stars: ✭ 22 (-82.68%)
Mutual labels:  genetic-algorithm, genetic-programming
binlex
A Binary Genetic Traits Lexer Framework
Stars: ✭ 303 (+138.58%)
Mutual labels:  genetic-algorithm, genetic-programming
geneticalgorithm2
Supported highly optimized and flexible genetic algorithm package for python
Stars: ✭ 36 (-71.65%)
Mutual labels:  genetic-algorithm, genetic-optimization-algorithm
arja
Multi-Objective GP for Automated Repair of Java
Stars: ✭ 31 (-75.59%)
Mutual labels:  genetic-algorithm, genetic-programming
geneal
A genetic algorithm implementation in python
Stars: ✭ 47 (-62.99%)
Mutual labels:  genetic-algorithm, genetic-programming
tiny gp
Tiny Genetic Programming in Python
Stars: ✭ 58 (-54.33%)
Mutual labels:  genetic-algorithm, genetic-programming
Featureselectionga
Feature Selection using Genetic Algorithm (DEAP Framework)
Stars: ✭ 150 (+18.11%)
Mutual labels:  genetic-algorithm
Aimandshoot
A neuroevolution game experiment.
Stars: ✭ 201 (+58.27%)
Mutual labels:  genetic-algorithm
Bluepyopt
Blue Brain Python Optimisation Library
Stars: ✭ 143 (+12.6%)
Mutual labels:  genetic-algorithm
Evolutionsimulator
Evolution Simulator with Box2D
Stars: ✭ 143 (+12.6%)
Mutual labels:  genetic-algorithm
Eiten
Statistical and Algorithmic Investing Strategies for Everyone
Stars: ✭ 2,197 (+1629.92%)
Mutual labels:  genetic-algorithm
Pysr
Simple, fast, and parallelized symbolic regression in Python/Julia via regularized evolution and simulated annealing
Stars: ✭ 213 (+67.72%)
Mutual labels:  genetic-algorithm
Fantasy Basketball
Scraping statistics, predicting NBA player performance with neural networks and boosting algorithms, and optimising lineups for Draft Kings with genetic algorithm. Capstone Project for Machine Learning Engineer Nanodegree by Udacity.
Stars: ✭ 146 (+14.96%)
Mutual labels:  genetic-algorithm
Ml Games
Machine learning games. Use combination of genetic algorithms and neural networks to control the behaviour of in-game objects.
Stars: ✭ 247 (+94.49%)
Mutual labels:  genetic-algorithm
Mlkit
A simple machine learning framework written in Swift 🤖
Stars: ✭ 144 (+13.39%)
Mutual labels:  genetic-algorithm
datafsm
Machine Learning Finite State Machine Models from Data with Genetic Algorithms
Stars: ✭ 14 (-88.98%)
Mutual labels:  genetic-algorithm
Py Ga Vrptw
A Python Implementation of a Genetic Algorithm-based Solution to Vehicle Routing Problem with Time Windows
Stars: ✭ 246 (+93.7%)
Mutual labels:  genetic-algorithm
Genetic Cnn
CNN architecture exploration using Genetic Algorithm
Stars: ✭ 183 (+44.09%)
Mutual labels:  genetic-algorithm
Scikit Opt
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)
Stars: ✭ 2,791 (+2097.64%)
Mutual labels:  genetic-algorithm

MOSES -- Meta-Optimizing Semantic Evolutionary Search

CircleCI

MOSES is a machine-learning tool; it is an "evolutionary program learner". It is capable of learning short programs that capture patterns in input datasets. These programs can be output in either the combo programming language, or in python. For a given data input, the programs will roughly recreate the dataset on which they were trained.

MOSES has been used in several commercial applications, including the analysis of medical patient and physician clinical data, and in several different financial systems. It is also used by OpenCog to learn automated behaviors, movements and actions in response to perceptual stimulus of artificial-life virtual agents (i.e. pet-dog game avatars). Future plans including using it to learn behavioral programs that control real-world robots, via the OpenPsi implementation of Psi-theory and ROS nodes running on the OpenCog AtomSpace.

The term "evolutionary" means that MOSES uses genetic programming techniques to "evolve" new programs. Each program can be thought of as a tree (similar to a "decision tree", but allowing intermediate nodes to be any programming-language construct). Evolution proceeds by selecting one exemplar tree from a collection of reasonably fit individuals, and then making random alterations to the program tree, in an attempt to find an even fitter (more accurate) program.

It is derived from the ideas forumlated in Moshe Looks' thesis, "Competent Program Evolution", 2006 (Washington University, Missouri) http://metacog.org/main.pdf. Moshe is also one of the primary authors of this code.

LICENSE

MOSES is under double license, Apache 2.0 and GNU AGPL 3.

DOCUMENTATION

Documentation can be found in the /docs directory, which includes a "QuickStart.pdf" that reviews the algorithms and data structures used within MOSES. A detailed man-page can be found in /moses/moses/man/moses.1. There is also a considerable amount of information in the OpenCog wiki: http://wiki.opencog.org/w/Meta-Optimizing_Semantic_Evolutionary_Search

Prerequisites

To build and run MOSES, the packages listed below are required. With a few exceptions, most Linux distributions will provide these packages.

boost

C++ utilities package http://www.boost.org/ | libboost-dev

cmake

Build management tool; v2.8 or higher recommended. http://www.cmake.org/ | cmake

cxxtest

Test framework http://cxxtest.sourceforge.net/ | https://launchpad.net/~opencog-dev/+archive/ppa | cxxtest

cogutil

Common OpenCog C++ utilities http://github.com/opencog/cogutil It uses exactly the same build procedure as this package. Be sure to sudo make install at the end.

Optional Prerequisites

The following packages are optional. If they are not installed, some optional parts of MOSES will not be built. The CMake command, during the build, will be more precise as to which parts will not be built.

MPI

Message Passing Interface Required for compute-cluster version of MOSES Use either MPICHV2 or OpenMPI | http://www.open-mpi.org/ | libopenmpi-dev

Building MOSES

Peform the following steps at the shell prompt:

    cd to project root dir
    mkdir build
    cd build
    cmake -DCMAKE_BUILD_TYPE=Release ..
    make

Libraries will be built into subdirectories within build, mirroring the structure of the source directory root. The flag -DCMAKE_BUILD_TYPE=Release results in binaries that are optimized for for performance; ommitting this flag will result in faster builds, but slower executables.

Unit tests

To build and run the unit tests, from the ./build directory enter (after building moses as above):

    make test

INSTALLATION

Just say sudo make install after finishing the build.

EXAMPLES DIRECTORY

MOSES can be used in one of two ways: either directly from the command line, or by embedding its low-level API into C++ programs. For almost all users, the command-line interface is strongly recommended.

For those who absolutely must used the low-level C++ programming API, there is the /examples directory. To build the examples, say:

    make examples
  • example-ant: Santa Fe Trail ant example
  • example-data: Simple data sets on which moses can be run.
  • example-progs: Other example programs.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].