Logging Experiences

Selected Works

YAXLib: Yet Another XML Serialization Library for the .NET Framework

An XML serialization library which lets developers design the XML file structure, and select the exception handling policy. This library also supports serializing most of the collection classes such as the Dictionary generic class.

For more details please see this CodeProject article:

YAXLib is hosted on GitHub and CodePlex, and released under the MIT License. Here are the addresses to the project’s pages:

You can download the most recent version of the library from here, or use the Nuget package manager to add it to your projects.

Grid-Soccer Simulator

Grid-Soccer Simulator is a multi-agent soccer simulator in a grid-world environment. The environment provides a test-bed for machine-learning, and control algorithms, especially multi-agent reinforcement learning.

Grid-Soccer Simulator is open-source software, hosted on CodePlex, and released under the MIT License. Here’s the address to the project’s home-page:

The project is developed in C#, so you will need Mono (available for all platforms) or .NET Framework (available for Microsoft Windows only) to run the simulator and the sample clients. The communication between players and the simulator is performed using a human-readable, plain text, network protocol; hence one can create a player in virtually any programming language that supports networking.

It is more recommended that you directly download the latest source codes from the source codes page. However there’s also other releases available at the downloads page.


RCSSCoachable stands for RoboCup Soccer Simulation Coachable Players. Coachable players are special types of 2D players that can be given advice from an agent called the coach. Coach uses the coach language (CLang for short) to communicate with the players. Coachable players receive the coach’s advice and behave accordingly.

RCSSCoachable agents were the standard coachable players for the RoboCup coach competitions. Coach competition is not held any more in RoboCup, but one might find these agents useful for their research.

RCSSCoachable is hosted in Sourceforge. Here’s the home page, and here you will find the project summary page.

Coach Assistant

Coach Assistant is a GUI tool that helps creating strategies for the coachable players.
You can download the package including source and binary here (.tar.gz 137K). Note that you need Java 1.5 or higher to make and run the application.
The source code is released under GNU GPL.

Also, here you will find a short tutorial on Coach Assistant.

Temporal Difference Methods: Article, Slides, and Demo Application

If one had to identify one idea as central and novel to reinforcement learning, it would undoubtedly be temporal-difference (TD) learning.

Introduction to Reinforcement Learning – R. S. Sutton, and A. G. Barto [+]

Due to my interest in Reinforcement Learning, I chose temporal difference learning methods as my research topic for one of my courses (advanced mathematical softwares).

Here you can download the report in Persian. (.pdf 455K)
Here you can download the presentation slides in Persian (.pdf 411K)
The Matlab source files for the demo application is hosted on Github.
Here are some screenshots of the demo application: [+] [+] [+] [+]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: