Real-world Graphs represent real relationships among things, actually millions/billions of things. Designing efficient algorithms able to deal with this huge amount of data is a continuous challenge. I am particularly interested in algorithms able to enumerate all the solutions of a problem in these graphs.

Academic Web Page

Click here to see my academic web page. There you can find the courses I am teaching and more details about my teaching activity.

Personal Web Site

Click here to see my personal web site. There you can find more details about my CV, my publications, my readings, and so on. From time to time I use to post on this site news about my research or things that I see around.

In a society in which we are almost always “connected”, the capability of acquiring different information has become a source of huge amounts of data to be elaborated and analysed. Graphs are data structures that allow to model the relationships in these data, abstracting from specific and particular aspects and representing effectively millions or billions of connections: the complexity of the involved entities is enclosed in the vertices of the graphs and the complex mechanisms of interaction among them are described by an arc. For example, a social network can be seen as a graph whose nodes are the users and whose edges correspond to the friendships among them. Analogously, the economy of Bitcoin (or of any other economic system) corresponds to a graph whose nodes are the users and whose arcs correspond to payments among them. In such a context, discovering the most important or influent users, which ones will be their future friendships, which communities they belong to, and which is the structure of their society can be translated into problems on graphs. The research in this field focuses on developing models and algorithms to solve this kind of problems in efficient way on real-world graphs of large size. In particular, the research moves along two orthogonal axes: the former is devoted to the translation of a real-world problem in terms of a problem on graphs; the latter is aimed to develop efficient algorithms to solve the graph problem, possibly with (quasi-)linear time complexity. In this sense, theory and practice proceed together, as practical problems motivate contributions to theoretical computer science, which in turn allow efficient, useful, and practical solutions to the original problems.

About me

Click here to see my CV.

Born on June 1985. PhD in Computer Science at University of Florence, advised by Pierluigi Crescenzi.
I have been Assistant Professor at University of Pisa working with the group of Roberto Grossi.
I am now at University of Florence. Interested in Algorithms and Complexity, Complex Networks analysis, Bioinformatics, and Enumeration Algorithms.


mail: andrea dot marino at unifi dot it

Dipartimento di Statistica, Informatica, Applicazioni
Università degli Studi di Firenze
Viale Morgagni 65
50134 Firenze, Italy


These are my publications. Click here to see my profile on DBLP, or here to see it on Google Scholar.

Created by BootstrapOcean