# Sujet n° 7 : Exploration de graphes temporels

*Encadrants :* Stefan Balev, Eric Sanlaville

*Technologies :* Java, GraphStream

Les graphes temporels (ou dynamiques) sont une extension des graphes classiques qui, comme leur nom l'indique, évoluent dans le temps. Parmi les différentes définitions possibles, nous retenons la suivante : nous avons un ensemble fixe de sommets et du temps discret. À chaque pas de temps, une arrête peut être présente ou pas.

Il y a deux façons de représenter un graphe temporel : comme une séquence de graphes dont chaque élément correspond à un pas de temps ou bien comme un seul graphe dans lequel les arêtes sont étiquetées avec leurs pas de présence.

![graphe temporel](graphe-temp.png)

Au sein de l'équipe RI2C du LITIS, beaucoup de travaux de recherche portent sur les graphes temporels. Le but de ce projet est d'implanter et évaluer expérimentalement différents algorithmes d'exploration d'un graphe temporel.

De façon informelle, le problème d'exploration peut être formulé ainsi : un agent se trouve dans un sommet de départ donné. À chaque pas de temps il peut traverser une arête disponible ou rester atteindre sur son sommet. Le but est de visiter tous les sommets le plus rapidement possible.

Le problème d'exploration, en quelque sorte analogue temporel du fameux problème du voyageur de commerce classique, est très difficile à résoudre dans le cas général. Mais il y a des résultats pour des classes de graphes particulières. Par exemple, si le graphe est un cycle de $`n`$ sommets auquel il manque au plus une arête à chaque pas du temps, on peut toujours l'explorer en moins de $`2n - 2`$ pas de temps.

Dans un premier temps, le travail portera sur cette simple classe de graphes. Des algorithmes fournies par les encadrants seront implantés et comparés expérimentalement. En s’appuyant sur les résultats de cette première phase, d'autres classes de graphes temporels et d'autres stratégies d'exploration seront étudiées par la suite.
