September 17, 2012

Master’s thesis: Self-Adapting System

The FGA System (Fine-Grained Semi-Automated Runtime Adaptation) allows developers to modify UML diagrams of a running java application and automatically propagate these changes to the running instance.

It is based on @Java, ReverseR and JavAdaptor.

It helps closing the gap between models and code, so we can say it is a mechanism for co-evolution.

SelfAdapting-System (english)


August 20, 2012

Clever Pacman

Nicole Alicia Rossini, Christian Quadri, N. Alberto Borghese. “Clever Pac-man”.  Neural Nets WIRN11.  doi:10.3233/978-1-60750-972-1-11

In this paper we show how combining fuzzy sets and reinforcement learning a winning agent can be created for the popular Pac-man game. Key elements are the classification of the state into a few fuzzy classes that makes the problem manageable. Pac-man policy is defined in terms of fuzzy actions that are defuzzified to produce the actual Pac-man move. A few heuristics allow making the Pac-man strategy very similar to the Human one. Ghosts agents, on their side, are endowed also with fuzzy behavior inspired by original design strategy. Performance of this Pac-man is shown to be superior to those of other AI-based Pac-man described in the literature.

Developed in java for the Artificial Intelligence exam with Christian Quadri.

Full documentation CleverPacman (italian)

User Manual CleverPacman(italian)

Code can be downloaded here.



August 18, 2012

Bon Jovi Club Italia website

(2012) New website for Bon Jovi Club Italia: www.bonjoviclubitalia.com

Currently webmaster for this website, newser and forum admin.


August 17, 2012

New logo for Bon Jovi Club Italia

(2012) New logo for Bon Jovi Club Italia

New logo

Old logo


August 16, 2012

Damon Club website

(2011) New graphics for www.damonclub.it


Erboristeria Dr.ssa Mauri website

Website for Erboristeria Dr.ssa Mauri: www.erboristeriamauri.it

The work included to translate the hand-drawn logo in a vectorial form for new labels for personal products.

Current webmaster for this website.


August 15, 2012

Game Design: development of an MMO

Group project for the Online Game Design couse.

Development of an MMO game, from the idea to the realization.

Mousikè: Protect the harmony of two crossed realities.

The virtual world of Music has been living in peace for centuries, fed by human abilty to create melodies. But in the last century Man has strengthen the power of the Noise: technology, machines, cars… all this noise pollution fed the Noise and now he invaded the Music Kingdoms! He opened a portal with the noisy human world in every kingdom, from which he can spread his corruption and slowly conquer the Music World.

It’s up to you to restore the natural balance between Music and Noise!

Mousikè world is based on music theory, for example players are all singers and their classes are: basso, baritono, tenore, contralto, mezzo-soprano, soprano.

Mousikè is a cross-media game: it is played both on PC and on smartphone, but its innovative feature is that the two parts are complementary.

The PC part is a traditional MMORPG game, where the player is represented by its avatar, has a physical world to explore, objects to collect and major and minor quests. The major quest is to temporary close the portal with the real world in the virtual world, with the help of an agent (a smartphone player) on the other side.

The smartphone part is a game to be played in the streets of the cities. The main goal is to find the root of the portal and close it on this side of the world. This part is open to extensions, special events to be organized with musical events in cities (especially during the summer period).

A demo version was developed with the Unity3d Game Engine and Smart Fox Server.

Second placement at  Game Designers 2011 contest.


August 14, 2012

Bachelor’s thesis: Algorithms for 3D Bin Packing

Thesis in operational research with professor Marco Trubian.

Study and implementation in C of a recent heuristic algorithm solving the 3D bin packing problem.

The algorithm needs the lower bound of Boschetti. It starts from an initial solution built with a first-fit heuristic, depending on 6 different types of orderings.

The heuristic is made of two different procedures: the first one optimizing the disposition of objects inside a single bin, the second moving objects from different bins trying to reduce the number of bins used (2 layered approach). The search is a tabu-search algorithm.
The search space is reduced by using a graph representation of the object disposition.

The testing phase involved the comparison of the result of the 6 different ordering algorithms and the lower bound given by Boschetti.

Algoritmi per il bin packing 3D (italian)


August 13, 2012

Solution of the P-Centre problem

Project for Operational Research II course. The assigned  project  required a solution obtained through column generation.

The p-centre problem, or minimax location-allocation problem in location theory terminology, is the following: given n demand points on the plane and a weight associated with each demand point, find p new facilities on the plane that minimize the maximum weighted Euclidean distance between each demand point and its closest new facility.

The soultion developed was split in 2 parts:

  • a C++ program which implemented the Dijkstra algorithm and generated random graphs formatted for CPLEX
  • a IMB ILO CPLEX model
The final report about the P-Centre problem was changed into a report about the new IMB ILO object oriented sintax for future use as a documented example on professor’s demand.
Here’s the PCENTRI code and the final report Relazione OPL (italian).



August 12, 2012

Tiling with T-Tetromino

Project for the Graph theory course.

A T-Tetromino is the T shaped block, most known as a block in the tetris game. In literature is know that a surface must be multiple of 4 x 4 to be fully tiled with this block, but there is not a known formula to count all the possible different tilings.

I found a recursive formula by examining all the possible cases and associating them to a graph representation. We could not find a formal proof of correctness, but we can adfirm it is a good lower bound for the problem.

Tiling bidimensionale con T-Tetromini (Italian)


August 3, 2012

Multithread, Socket and RMI Java Programming

Project for Distributed Systems.

This is an example of a multithreaded java application, synchronizing with other equal peers via socket and with a server via RMI.

The project is a simulation of the musical balloons game: peers are N kids passing N-1 balloons in a circle while the music is playing; the  server registers players, decides when the music starts and stops and detects which is the loser kid; the loser kid leaves the circle, the networks needs to set up again and the game continues until there is a final winner.

The full text(italian) and java code can be found here: MusicalBalloons. The developed version includes the first 2 optional parts, even if not requested.


Short movie: Change

Group project for Multimedia Laboratory II.

Full development of a short movie: subject, script, storyboard, places research, music research, shooting, editing and light effects.

This is the script of  Change (italian).


2D images

Project for Multimedia Laboratory I.

Vectorial representation of a real object. No automatic tools allowed, totally hand drawn.

Tool used: Adobe Illustrator

Original image

wireframe view

vectorial result


2D Graphics

Project for Graphics Laboratory.

Shaders writing for 4 objects.

Shaders written in Pixar’s shader language RenderMan, image rendered with Pixie renderer.

Final render


August 2, 2012

Study for BJCI logo

These are some variations of the BJCI logo.

Wings inspired




Inspired to the “The Circle” album



Star variations