{"id":19484959,"url":"https://github.com/opencog/moses","last_synced_at":"2025-05-07T20:34:58.736Z","repository":{"id":31068135,"uuid":"34627021","full_name":"opencog/moses","owner":"opencog","description":"MOSES Machine Learning: Meta-Optimizing Semantic Evolutionary Search. See also AS-MOSES https://github.com/opencog/asmoses but kept to guaranty backward compatibility.","archived":false,"fork":false,"pushed_at":"2023-09-20T02:58:03.000Z","size":139482,"stargazers_count":131,"open_issues_count":13,"forks_count":86,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-05-07T20:32:25.546Z","etag":null,"topics":["genetic-algorithm","genetic-optimization-algorithm","genetic-programming","machine-learning"],"latest_commit_sha":null,"homepage":"https://wiki.opencog.org/w/Meta-Optimizing_Semantic_Evolutionary_Search","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opencog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-04-26T19:15:06.000Z","updated_at":"2025-04-17T01:57:40.000Z","dependencies_parsed_at":"2024-11-10T20:37:06.726Z","dependency_job_id":null,"html_url":"https://github.com/opencog/moses","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencog%2Fmoses","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencog%2Fmoses/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencog%2Fmoses/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencog%2Fmoses/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opencog","download_url":"https://codeload.github.com/opencog/moses/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252953718,"owners_count":21830891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["genetic-algorithm","genetic-optimization-algorithm","genetic-programming","machine-learning"],"created_at":"2024-11-10T20:24:53.331Z","updated_at":"2025-05-07T20:34:58.673Z","avatar_url":"https://github.com/opencog.png","language":"C++","readme":"\nMOSES -- Meta-Optimizing Semantic Evolutionary Search\n=====================================================\n\n[![CircleCI](https://img.shields.io/circleci/project/github/singnet/moses/master.svg)](https://circleci.com/gh/singnet/moses/tree/master)\n\nMOSES is a machine-learning tool; it is an \"evolutionary program\nlearner\". It is capable of learning short programs that capture\npatterns in input datasets.  These programs can be output in either\nthe `combo` programming language, or in python.  For a given data\ninput, the programs will roughly recreate the dataset on which they\nwere trained.\n\nMOSES has been used in several commercial applications, including\nthe analysis of medical patient and physician clinical data, and\nin several different financial systems.  It is also used by OpenCog\nto learn automated behaviors, movements and actions in response to\nperceptual stimulus of artificial-life virtual agents (i.e. pet-dog\ngame avatars). Future plans including using it to learn behavioral\nprograms that control real-world robots, via the OpenPsi implementation\nof Psi-theory and ROS nodes running on the OpenCog AtomSpace.\n\nThe term \"evolutionary\" means that MOSES uses genetic programming\ntechniques to \"evolve\" new programs. Each program can be thought\nof as a tree (similar to a \"decision tree\", but allowing intermediate\nnodes to be any programming-language construct).  Evolution proceeds\nby selecting one exemplar tree from a collection of reasonably fit\nindividuals, and then making random alterations to the program tree,\nin an attempt to find an even fitter (more accurate) program.\n\nIt is derived from the ideas forumlated in Moshe Looks' thesis,\n\"Competent Program Evolution\", 2006 (Washington University, Missouri)\nhttp://metacog.org/main.pdf.  Moshe is also one of the primary authors\nof this code.\n\n\nLICENSE\n-------\nMOSES is under double license, Apache 2.0 and GNU AGPL 3.\n\n\nDOCUMENTATION\n-------------\nDocumentation can be found in the `/docs` directory, which includes a\n\"QuickStart.pdf\" that reviews the algorithms and data structures\nused within MOSES.  A detailed man-page can be found in\n`/moses/moses/man/moses.1`.  There is also a considerable amount of\ninformation in the OpenCog wiki:\nhttp://wiki.opencog.org/w/Meta-Optimizing_Semantic_Evolutionary_Search\n\nPrerequisites\n-------------\nTo build and run MOSES, the packages listed below are required. With a\nfew exceptions, most Linux distributions will provide these packages.\n\n###### boost\n\u003e C++ utilities package\n\u003e http://www.boost.org/ | libboost-dev\n\n###### cmake\n\u003e Build management tool; v2.8 or higher recommended.\n\u003e http://www.cmake.org/ | cmake\n\n###### cxxtest\n\u003e Test framework\n\u003e http://cxxtest.sourceforge.net/ |\n\u003e https://launchpad.net/~opencog-dev/+archive/ppa | cxxtest\n\n###### cogutil\n\u003e Common OpenCog C++ utilities\n\u003e http://github.com/opencog/cogutil\n\u003e It uses exactly the same build procedure as this package. Be sure\n  to `sudo make install` at the end.\n\nOptional Prerequisites\n----------------------\nThe following packages are optional. If they are not installed, some\noptional parts of MOSES will not be built.  The CMake command, during\nthe build, will be more precise as to which parts will not be built.\n\n###### MPI\n\u003e Message Passing Interface\n\u003e Required for compute-cluster version of MOSES\n\u003e Use either MPICHV2 or OpenMPI |\n\u003e http://www.open-mpi.org/ | libopenmpi-dev\n\nBuilding MOSES\n--------------\nPeform the following steps at the shell prompt:\n```\n    cd to project root dir\n    mkdir build\n    cd build\n    cmake -DCMAKE_BUILD_TYPE=Release ..\n    make\n```\nLibraries will be built into subdirectories within build, mirroring the\nstructure of the source directory root. The flag\n`-DCMAKE_BUILD_TYPE=Release`\nresults in binaries that are optimized for for performance; ommitting\nthis flag will result in faster builds, but slower executables.\n\nUnit tests\n----------\nTo build and run the unit tests, from the ./build directory enter (after\nbuilding moses as above):\n```\n    make test\n```\n\nINSTALLATION\n------------\nJust say `sudo make install`  after finishing the build.\n\n\nEXAMPLES DIRECTORY\n------------------\nMOSES can be used in one of two ways: either directly from the command\nline, or by embedding its low-level API into C++ programs. For almost\nall users, the command-line interface is strongly recommended.\n\nFor those who absolutely must used the low-level C++ programming API,\nthere is the `/examples` directory.  To build the examples, say:\n```\n    make examples\n```\n* example-ant: Santa Fe Trail ant example\n* example-data: Simple data sets on which moses can be run.\n* example-progs: Other example programs.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencog%2Fmoses","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopencog%2Fmoses","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencog%2Fmoses/lists"}