REpochX is a command-line driven grammatical evolution application. It exposes the grammatical evolution (GE) functionality of EpochX to R through signals and slots invoked at times when needed. The grammar, evolution parameters, the R code to compute the fitness scores of candidate programs and slots to be invoked on signals emitted are all specified in a JSON-formatted configuration file.
Running the application is as simple as:
repochx config.json
While we were playing around with Genetic Programming (GP) to build our automated trading system, we realized the need for a convenient GE software which would enable us to run our agile research agenda. After some hacking around, we've concluded that we need mainly the ability of using R effectively (1) while computing the fitness scores of candidate programs, and (2) to emit some R-based functionality at particular times, like before (after) a generation or run or the entire evolution starts (ends).
REpochX is nothing more than this. It relies on GE and event adapter functionalities of EpochX and the ability of running R code which is provided in OR along with the configuration file.
Sorry, nowhere yet. For now, please:
cd examples
less config.json
repochx config.json
This is just classical dummy: an x**2 + 2*x + 1
estimator.
On Debian/Ubuntu (assuming that Java SDK is installed):
apt-get install ant
make dpkg
sudo apt-get install r-cran-rjava
sudo dpkg -i repochx_<VERSION>.deb
cd /usr/share/REpochX/example/
repochx config.json
or you can download the .deb package from the Downloads section.
On other distributions (assuming that Java SDK is installed):
make jar
cd example
R
> install.packages("rJava")
> q()
export R_HOME=/usr/lib/R ## Or wherever it is.
REPOCHX_RUNTIME_PARAMS="-Xmx512m -Djava.library.path=/usr/lib/R/site-library/rJava/jri" ## Or wherever it is
java $REPOCHX_RUNTIME_PARAMS -jar debian/repochx/usr/share/java/REpochX.jar config.json
On Windowz: Not tested. Will not be tested by us, most probably.
Firstly, we love it. But more is that it's free and open source software. Furthermore, we've been using, teaching and contributing to R for almost a decade.
Firstly, we love it. But more is that it's free and open source software and we liked the modern approach employed for the internal API design. Tom did quite a good job and we came to know that more is on the way.
Firstly, we hate Java. That's fair enough for this decision, but still, R is much more effective for statistical computing which we heavily depend on every minute.
It is GPL.
Not exactly. We wish that we could provide better documentation and a more error-proof application. Other than these, we've gained huge efficiency for our own research. Hope that it will entertain you.
Happy hacking...