atom
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. Atom features:
How is Atom Licensed? Under the "Attribution-NonCommercial-ShareAlike 3.0 Unported".
In short:
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". In windows: "Atom PR.exe" /N /v 0 /X nrsample
"ILP benchmarks\Individual\member" The result is printed to standard output (the console). Remarks:
By default, functional constraints are used. To turn them
on/off, use //functional 1 and //functional 0, respectively. Example: "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"). |