Jean-Noël Rivasseau

CEO and Lead Developer at Kameleoon. Expert Java / UNIX / Open-Source software engineer.

My old or outdated projects

Here you can find my older (mainly Computer Science related) projects, if that is of any interest to you! I mainly keep this as an archive, but you can still e-mail me about those and I'll try to answer your queries (if I still remember how this all worked...).


Bayesian Reinforcement Learning with a Multiple Number of Mentors

This is the report for the course project in Artificial Intelligence II: Reasoning and Acting under Uncertainty with David Poole. It involved an agent trying to find its way out in an unknown mazes with obstacles; in addition, the agent doesn't know the results of its own actions (it means that when he thinks he moved West, he may have moved East in fact).

Within a reinforcement learning framework, I conducted several experiments involving the agent and one or several mentors, who already have full knowledge of their actions results and a fixed optimal policy for their respective goals. The observation of other agents allows the new agent to improve its own Bayesian exploration technique.
(01/05/2004)
Optimal bidding strategies for an entry deterrence model of online auctions

This is the report for the course project in Multiagent Systems with Kevin Leyton-Brown. I explored sequential auctions with potential entry in later rounds. By considering a simple model, it can be shown that the main particularity of the equilibria taking place is that the first bidders try to conceal precious information to the new entrant.

This project's main result consists in the proof of a somewhat stronger impossibility result for the equilibria of the considered model. A review of the various strategies available to bidders, depending on the assumptions made, is then provided.
(01/05/2004)
Learning harmonic changes for musical style modeling

In this project for Computational Linguistics with Giuseppe Carenini, I created a system capable of performing statistical learning of the harmonic changes present in musical pieces. For that, musical pieces must be pre-processed and normalized, so that the obtained harmonies are key-independent. Once learning has been done, new harmonic sequences can be generated and analyzed, to better understand what exactly the system learns (and how).

The results of several experiments show that the system is able to correctly normalize harmonies and produce realistic new sequences, but I believe additional work would really help in improving its correctness and capabilities. Nevertheless, our current system has achieved its goals of converting "raw music scores" onto harmonic sequences, and capturing some of the structure of these sequences. It could be used as a solid basis for any future work dealing with NLP techniques applied to musical composition.
(01/05/2004)
Interpolation de formes 3D

This was a graphic project I did for a Fall 2002 course. It involved implementing an algorithm to merge two 3D models into one: thus creating a morphing. The 3D models, however, had several restrictions on them. I enjoyed coding this project (in C) a lot. You can download the latest source code tarball I made (it uses a program called Geomview), or go to the project report page with some nice pictures (Warning: it is in French).

Download the source code (version 0.9.1) [C code, in a standard GNU environment. Geomview needed]

Go to the project report page [in French]

Useful Links:

(20/12/2002)
An HTTP 1.1 Proxy in Objective Caml

I did this course project for a Spring 2003 OS course. It is an implementation (working, but somehow limited in features) of an HTTP 1.1 compliant proxy. It is written in Objective Caml, and uses standard UNIX system calls. One of the features of this proxy is that it actually included a cache system. You can download its source code, but there is no project report.

Download the source code (version 0.4.1) [OCaml code, in a standard GNU environment]

Useful Links: