I.1.Les modèles de représentation du temps

La représentation du temps est un des problèmes les plus cruciaux pour tout système informatique qui tend à décrire le monde. Les bases de données, les simulations, les systèmes experts, et les applications de l’Intelligence Artificielle en général peuvent se retrouver confronter à ce problème. Aussi, l’informatique a proposé de nombreuses solutions pour exprimer le temps dans ses programmes (Allen, 1991).

La représentation absolue du temps, sous forme d’horloge numérique est la forme la plus souple du point de vue de l’algorithmique traditionnelle. Ainsi les chiffres (1990 110 10 4 50) représentent le 110éme jour de l’année 1990, à 10 : 04et 50 secondes. Cependant, cette première représentation ne donne pas accès aux durées.

L’Intelligence Artificielle a alors employé des graphes dont les arcs indiquent les relations temporelles entre différents événements, les nœuds du graphe. Ces graphes peuvent représenter les durées, tout en maintenant un ordre partiel des événements. Chaque point du graphe dispose de deux coordonnées : le début et la fin d’un événement.

Jusqu’à présent le temps seul était pris en compte, mais il est important d’associer des objets et leur état (prédicat) à un instant possible. Vendler (1957) avait noté une distinction importante entre deux types de prédicats. Effectivement, il est possible que si un prédicat s’applique à un intervalle de temps donné, soit il s’applique à tous les temps compris dans cet intervalle (cas homogène), soit aucun des temps n’est caractérisé par le prédicat. Ainsi, si un objet est vert pendant une période, il sera vert pour chaque instant de cette période. En revanche, si le soleil se lève pendant un intervalle donné, il sera immobile à chaque instant.

La philosophie et la linguistique (par exemple, tense logic, Prior (1967)) appuyé par l’informatique théorique (logique dynamique, Pratt, 1978 ; Harel, 1979) ont proposé une nouvelle représentation du temps : des prédicats sont utilisés pour caractériser les relations temporelles entre les événements. Par exemple (passé(verte(grenouille))) signifie qu’il y a eu un temps où une grenouille a été verte. Cette représentation logique a été utile pour le langage, ou pour la sémantique formelle des programmes. Cependant elle ne permet pas non plus de capturer des situations complexes, telles que la persistance des événements.

En toute logique, si l’on a une connaissance sur un objet à un moment donné, il n’est pas possible d’en tirer des conclusions sur son état dans le futur. Cependant, la réalité est tout autre. Si l’on gare sa voiture à un moment donné, il est hors de question de vérifier à chaque instant la présence de celle-ci sur son lieu de garage. En outre, si la police appelle pour dire qu’elle a retrouvé cette voiture quelque part ailleurs, le prédicat doit pouvoir être modifié. Une technique tenant compte de telles assomptions doit être non-monotone (Dean et Kanazawa, 1988 ; Weber, 1989).

Tenir compte du temps dans un système de traitement de l’information pose deux grandes contraintes. Tout d’abord, ce système doit pouvoir gérer la succession des différents événements qui doivent être traités de manière séquentielle — il est alors question de traitement séquentiel. Ensuite, la prise en compte des durées par le système doit pouvoir se greffer sur ce traitement séquentiel. Ainsi, si la durée des événements est pertinente pour la tâche à executer, le système doit être en mesure de traiter la structure temporelle.

Quelles sont les solutions proposées par les réseaux de neurones pour traiter :

  1. Le caractère séquentiel de l’information ?
  2. Les durées des événements ?