"Cega, a Ciência a inútil gleba lavra.
Louca, a Fé vive o sonho do seu culto.
Um novo deus é só uma palavra.
Não procures nem creias: tudo é oculto."
(Fernando Pessoa)
Alessandro Presta's Home Page
Welcome to my home page.
My name is Alessandro and I study Mathematics at the University of Pisa.
I was born in Genoa, Italy on November 3, 1987.
My e-mail is alessandro.presta@gmail.com.
***
Here you can view some of my current and past projects:
My
C++ implementation of genetic algorithms, featuring many different
operators and a parallel version of the algorithm. Very simple by
design.
Includes an example application to the travelling salesman problem (TSP).
A proof-of-concept implementation of some graph theory algorithms in a generalized manner: various kinds of visit and search algorithms are obtained by specifying different parameters (sort of “building blocks”) to the GenericVisit and GenericSearch functions, which can be thought as two “meta-algorithms”.
Double representation of graphs
An example of combined usage of adjacency matrix and adjacency lists for the representation of directed graphs. It isn't just a mere juxtaposition of the two approaches, since it allows dynamic modification of the graph without breaking consistency and still assuring optimal cost for all operations: connecting/disconnecting two nodes costs O(1), verifying if an edge between two nodes is present costs O(1) as well, while listing the adjacent nodes of a selected node takes O(k) (where k is the actual number of adjacent nodes). It can be trivially extended to undirected graphs.
The project for my “Algorithms and data structures” course consisted in an application of cluster analysis techniques to the problem of dividing a set of texts into subsets based on their topic. Key concepts are: vector space model, TF-IDF weight, cosine similarity, complete linkage clustering.
Data mining algorithms for MyBlogJournal.com
Design and development of algorithms such as automatic tagging, document similarity and information retrieval for the news aggregator MyBlogJournal.com.
Consulting on neural networks at Istituto San Raffaele
In 2008 I've done a consulting job at Department of Neuroscience, Istituto San Raffaele, which consisted in the application of neural networks as non-linear models for mental disorders.
***
In late 2008 I started to play guitar. I use a Danelectro Dano Pro, Roland Microcube amplifier and various software synthesizers, multitrack recorder and so on. Here are some my early recordings: myspace.com/alessandropresta
***
The following projects date back to my high-school years:
One of my early creations, NNF is a library to build and train feed-forward artificial neural networks.
For a newer, object-oriented rewriting look here: neural.zip
Very optimized implementation of the A* algorithm to find the shortest path between two points in a map with obstacles.
Italian Olympiad in Informatics
In 2006 I competed in the Italian Olympiad in Informatics achieving a gold medal. The finals took place in Milan on March 11, 2006.
High-school thesis on neural networks (in Italian)
Deals with basic mathematical and philosophical aspects of neural networks.
Includes two example applications: handwritten character recognizing and dynamic control of the game “pong”.
Artificial intelligence for the 4-in-a-row game
I was originally asked to develop this algorithm for a commercial game by a software house that later abandoned the project.
Based on game theory strategies, it is quite competitive in the popular “4-in-a-row” game.
The huge combinatorial explosion found in this game is exploited using alpha-beta pruning and an heuristic evaluation function that computes scores incrementally.