<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>mloss.org RL Glue and Codecs</title><link>http://mloss.org</link><description>Updates and additions to RL Glue and Codecs</description><language>en</language><lastBuildDate>Mon, 12 Oct 2009 07:50:03 -0000</lastBuildDate><item><title>RL Glue and Codecs  -- Glue 3.x and Codecs</title><link>http://mloss.org/software/view/151/</link><description>&lt;html&gt;&lt;p&gt;Please go to http://glue.rl-community.org for information on how to cite RL-Glue if you are using in your own research and publications.
&lt;/p&gt;
&lt;p&gt;RL-Glue allows agents, environments, and experiments written in Java, C/C++, Matlab, Python, and Lisp to inter operate, accelerating research by promoting software re-use in the community.
&lt;/p&gt;
&lt;p&gt;Note:  This is a release candidate, not a final release.  We are actively soliciting feedback from the community about any problems with the software or documentation that can be improved before a final release in January 31 2009.
&lt;/p&gt;
&lt;p&gt;Update posted: Dec 10/2008. Some updates to the protocol, notably removing the seed/key methods.  This should be the last release candidate before the final release on January 31 2009.
&lt;/p&gt;
&lt;p&gt;Update posted: Oct 11/2008, Big change for main RL-Glue and C-Codec to use const-pointers instead of structs by value in parameters and return types. Breaks backward compatibility. See the tech manual in docs.
&lt;/p&gt;
&lt;p&gt;Update posted: Oct 8/2008, fixed memory leak in RL-Glue, fixed skeleton experiment build on Linux, updated some Cygwin compatibility stuff.
&lt;/p&gt;
&lt;p&gt;Overview
   &lt;hr /&gt;
        Inspired by related psychological theory, in computer science, reinforcement learning is a sub-area of machine learning concerned with how an agent ought to take actions in an environment so as to maximize some notion of long-term reward. Reinforcement learning algorithms attempt to find a policy that maps states of the world to the actions the agent ought to take in those states...
       -- Wikipedia Reinforcement Learning Article
&lt;/p&gt;
&lt;p&gt;RL-Glue is a set of common guidelines for the reinforcement learning community to follow to allow us to share and compare agents and environments with greater ease.  The software implementation of RL-Glue is the reusable glue interface to connect the basic parts of a learning experiment.
&lt;/p&gt;
&lt;p&gt;RL-Glue supports interaction between agents, environments, and experiment programs in two different modes.  In direct-compile mode, all three modules are written in C/C++ and compiled together into a single executable program.
&lt;/p&gt;
&lt;p&gt;In the more flexible socket mode: agents, environments, and experiments use inter-process communication through sockets, either locally on one computer or over the network or Internet.  In socket mode, agents, environments, and experiments written in a variety of languages can interact with each other transparently.  The language-specific software that allows creations from a particular language to connect to RL-Glue is called a codec.  We currently have codecs for:
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;
     C/C++
 &lt;/li&gt;

 &lt;li&gt;
     Java
 &lt;/li&gt;

 &lt;li&gt;
     Python
 &lt;/li&gt;

 &lt;li&gt;
     Matlab
 &lt;/li&gt;

 &lt;li&gt;
     Lisp
 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Members of the reinforcement learning community are welcome to write their own language-or-project specific codecs to use with RL-Glue.  The Lisp codec is an example of a user-contributed codec.  There are currently codecs in development to connect projects as diverse as: a real-time strategy game, an atari emulator, and a robot to RL-Glue.
&lt;/p&gt;
&lt;p&gt;The RL-Glue software project, combined with the RL-Glue codecs are a powerful tool that allows members of the reinforcement learning community to re-use each others agents, environments, and experiment programs to help quicken the pace of research. Before RL-Glue most researchers implemented their own experiment protocol, making collaboration difficult. 
&lt;/p&gt;
&lt;p&gt;RL-Glue has been the base for the last few reinforcement learning competitions, and that trend will continue with the 2009 Reinforcement Learning Competition.
&lt;/p&gt;
&lt;p&gt;What's new in RL-Glue 3.0
   &lt;hr /&gt;
   - A new homepage: http://glue.rl-community.org/
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;&lt;p&gt;Revamped build system (autotools) for maximum cross-platform install compatibility (Linux, Unix, MacOS, Cygwin)
   -Installing has never been simpler:
   &amp;gt;$ ./configure
   &amp;gt;$ make
   &amp;gt;$ sudo make install
&lt;/p&gt;

 &lt;/li&gt;

 &lt;li&gt;&lt;p&gt;RL-Glue now installs to /usr/local
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;
     Headers and libs in standard search paths&lt;ul&gt;
 &lt;li&gt;
     Compiling agents/environments/experiments has never been easier:
     &amp;gt;$ gcc MyAgent.c -lrlagent -o myAgent.exe
 &lt;/li&gt;
&lt;/ul&gt;

 &lt;/li&gt;
&lt;/ul&gt;

 &lt;/li&gt;

 &lt;li&gt;&lt;p&gt;Codecs for C/C++, Java, Python, MATLAB AND LISP  &amp;lt;--- MATLAB AND LISP!
&lt;/p&gt;

 &lt;/li&gt;

 &lt;li&gt;&lt;p&gt;charArray (String) observation and action types!
&lt;/p&gt;

 &lt;/li&gt;

 &lt;li&gt;&lt;p&gt;Documentation
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;
     General RL-Glue Overview
 &lt;/li&gt;

 &lt;li&gt;
     RL-Glue Technical Manual
 &lt;/li&gt;

 &lt;li&gt;
     A manual for each codec!
 &lt;/li&gt;
&lt;/ul&gt;

 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;History of RL-Glue
   &lt;hr /&gt;
   We can trace RL-Glue back as far as 1996 through a project by Rich Sutton and Juan Carlos Santamaria called RL-Interface.  Since then, the project has gone through several designs and languages.  Over time the objectives of the project became more ambitious - it grew from being a convenient calling convention within a single language to a complete protocol allowing all sorts of various languages to communicate with each other.
&lt;/p&gt;&lt;/html&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brian Tanner, Adam White, Richard S. Sutton</dc:creator><pubDate>Mon, 12 Oct 2009 07:50:03 -0000</pubDate><comments>http://mloss.org/software/rss/comments/151</comments><guid>http://mloss.org/software/view/151/</guid><category>control</category><category>reinforcement learning</category><category>nips2008</category></item></channel></rss>