What is Atom?
Atom is an Inductive Logic Programming (ILP) system written by me (John Ahlgren) to explore various ILP algorithms.
NrSample is an ILP algorithm described in a paper titled "Efficient Program Synthesis using Constraint Satisfaction in Inductive Logic Programming" by me and Professor Shiu Yin Yuen, and is implemented in Atom.
How is Atom Licensed?
Under the "Attribution-NonCommercial-ShareAlike 3.0 Unported".
For NrSample, download Atom 3.9 here.
How do I compile Atom?
Easy way, using Microsoft Visual Studio 2012:
More generally way, you'll need:
If you're compiling with Visual C++ without using the solution file above, you'll need to turn off "security checks" as the compiler won't be standards compliant otherwise. Also turn on optimization for fast code.
What is NrSample?
NrSample is an ILP algorithm described in J. Ahlgren and S.Y. Yuen, “Efficient program synthesis using constraint satisfaction in inductive logic programming,” Journal of Machine Learning Research, vol. 14, pp. 3649-3681, 2013.
Where do I find the benchmarks used for NrSample?
They are included in the source code distribution of Atom 3.9.
How do I run the NrSample benchmarks?
Using a console ("command line"). In Windows, that's "cmd.exe".
First, check that you have the right version: "Atom PR.exe" /V
For NrSample, we used version 3.9: "Atom 3.9".
"Atom PR.exe" /N /v 0 /X nrsample "ILP benchmarks\Individual\member"
The result is printed to standard output (the console).
By default, functional constraints are used. To turn them on/off, use //functional 1 and //functional 0, respectively.
"Atom PR.exe" /N /v 0 //functional 0 /X nrsample "ILP benchmarks\Primitive\member"
"Atom PR.exe" /N /v 0 //functional 1 /X nrsample "ILP benchmarks\Primitive\member"
The first line turns off functional constraints ("NrS"), and the second uses them ("NrSFun").