Démonstrations

Cette rubrique regroupe des démonstrations relatives à différentes applications et outils :

Abrose AMAS4BigData Ants
CoCell Drones Dynamo
Gama microMega Progressive party problem
Repliement de molécules Résolution d'équations Robots transporteurs
Staff   Synamec

Pour télécharger ces démonstrations, cliquez sur les images ou les liens vers des documents vidéo.

ABROSE

ABROSE est un prototype de courtage électronique développé dans le cadre d’un projet européen. Il propose des compositions automatiques de service et améliore au cours des échanges la connaissance des services offerts. Dans ce système, les profils des fournisseurs de service et des clients sont maintenus de manière dynamique à partir du contenu des interactions.

  • Démonstration 1 (avi, 980 Ko)

Abrose : démo 1

  • Démonstration 2 (avi, 1.1 Mo)

Abrose : démo 2

AMAS4BigData

Cette vidéo montre le résultat d'une nouvelle intelligence artificielle collective, nommée «DREAM (Dynamic Data Relation Extraction utilisant des systèmes multi-agents adaptatifs), appliquée sur plusieurs heures de données générées par l’ IoT neOCampus, le réseau de capteurs de l'Université Paul Sabatier - Toulouse 3.
L’I.A 'DREAM' trouve des relations entre données se basant sur une similarité de dynamique des données et une exploration coopérative, le tout avec une puissance de calcul limitée et aucune connaissance de la sémantique des données (sans comprendre la signification des données). Cette I.A étudie les données en temps réel provenant de plusieurs sources, comme des capteurs: Luminosité, température, C02, humidité, etc.
Le résultat est un graphe dynamique dans lequel un noeud représente une source de données (un capteur) et une arête (un lien) incarne une relation dynamique entre deux sources de données. L’I.A 'DREAM' crée une relation lorsque les dynamiques de deux sources sont corrélées (même décalées temporellement). Un code couleur (heat map) exprime la force des relations: allant graduellement du bleu (relation faible) au rouge (relation forte).
Dans la vidéo, l’I.A découvre initialement des relations parmi l'ensemble des capteurs; conséquence à son premier mécanisme, l '«exploration aléatoire». Ensuite, Elle commence à constituer efficacement des clusters (ensemble de capteurs qui sont liés les uns aux autres) grâce à son deuxième mécanisme, la «Transition». Enfin, des clusters de capteurs se rassemblent par effet du premier mécanisme et troisième mécanisme de ‘DREAM’, la «Relaxation», qui conduisent à un graphique de capteurs reliés.
De plus, les relations sont continuellement mises à jour. Par conséquent, la force des relations peut changer et les relations peuvent disparaître, si elles sont devenues trop faibles pour être maintenues, et de nouvelles peuvent apparaître à tout moment en fonction des trois mécanismes de l’I.A.
Voir aussi la thèse liée à cette démonstration.

 

ANTS

Ants est une évaluation comparative de modèles de cognition auto-organisée dans des systèmes naturels et artificiels.

Ants : démo

 

CoCell: Cell Communication

La plateforme CoCell est développée en C++ et utilise la bibliothèque Qt pour l'interface et OpenGL pour les graphiques. CoCell est compatible avec Windows et Linux. L'application tire avantage des processeurs multi-coeurs quand cela est possible. Pour plus de détails sur les fonctionnalités de la plateforme CoCell, voir la thèse liée à cet outil.

La première démonstration présente les différentes fenêtres et fonctionnalitées de la plateforme.

La seconde montre une diffusion active d'une ressource en fonction de signaux de requêtes, dans un espace 3D. La ressource est positionnée initialement au centre de l'espace. Les cellules se comportent de manière altruiste et n'hésitent pas à relâcher la ressource de leur propre stock pour aider les cellules voisines si elles reçoivent la demande appropriée. Durant la phase menant à l'équilibre dynamique, les cellules alternent entre demander la ressource et la relâcher pour aider les autres. A certains moments, toutes les cellules se synchronisent et prennent ou relâchent la ressource dans l'environnement de manière alternée, créant ainsi une pulsation.

 

Surveillance de territoire par essaim de drones

La video présentée est un exemple de l'application de la technologie des Amas au contrôle de drone.

Cela signifie que les drones sont totalement autonomes et ne communiquent pas entre eux mais se perçoivent à courte distance pour l'évitement.

La problématique est de surveiller une zone décomposée en 100x100 parcelles élémentaires. Chaque parcelle à un niveau de surveillance spécifique (de 1 à 5) signifiant que certaines doivent être observées beaucoup plus fréquemment (portes de bâtiment, entrées de zone, intrus...).

D'un point de vue visuel, le vert signifie que la surveillance de la parcelle est suffisante, le rouge vif qu'elle est insuffisamment observée.

Pour la démonstration :

L'activité de surveillance collective est totalement émergente et il n'y a aucun changement de stratégie durant la simulation, même avec les drones supprimés.

La procédure de décision locale pourrait être enrichie de manière incrémentale de considérations supplémentaires (recharge de batterie, communication interdrone...).

Surveillance de territoire par essaim de drones : démo

 

DYNAMO

Dynamo : démo 1

 

Dynamo : démo 2

GAMA

GAMA est un environnement de développement pour la modélisation et la conception de simulations basée sur des agents spatialement situées.

Il est issu d'une collaboration entre l'UMI 209 UMMICO (IRD/Université Paris Sorbonne), l'équipe de recherche MSI (Vietnam National University, Hanoi), l'UMR 6228 IDEE (CNRS/Université de Rouen), l'UMR 5505 IRIT (CNRS/Université de Toulouse 1), l'équipe de recherche DREAM (Université de Can Tho, Vietnam) et l'UMR 8623 LRI (CNRS/Université Paris-Sud).

Le site web officiel : http://gama-platform.org/

Des démonstrations sont disponibles sur YouTube :
https://www.youtube.com/watch?v=ycbeYxV2B7M
https://www.youtube.com/watch?v=hITBYKg6Efs

MICROMEGA

microMéga a pour objet de modéliser des dynamiques microbiennes par systèmes multi-agents adaptatifs en intégrant les données macroscopiques et moléculaires.

MicroMega : démo glycolyse

PPP

Le PPP ou "progressive party problem" est un problème d’optimisation basé sur l’organisation d’une soirée dans le contexte d’un rallye de yatchs. Dans la simulation présentée, plusieurs exemples avec des nombres différents de bateaux sont présentés mais le nombre de périodes est implicitement fixé à six dans le démonstrateur.

PPP : démo

 

Installation

L’exécutable Java disponible est contenu dans le fichier zip (2 Mo) fourni. Il faut donc installer au moins le JRE 1.5 afin de pouvoir en lancer l’exécution.

Décompresser le fichier zip fourni permet d’obtenir un fichier jar(SMAC_PPP.jar), un répertoire lib (contenant les bibliothèques non standard nécessaires notamment à la visualisation des résultats et statistiques), deux fichiers d’aide (about.txt et help.txt) et un fichier de description d’un problème (Smac_ppp.xls).

Exécuter ensuite le fichier jar en utilisant le JRE.

Aide

(Cette aide est aussi disponible via le menu de l’exécutable)

Description des menus

Menu Files

Menu Run

Ce menu devient actif lorsqu’un nouveau fichier est chargé.

Une simulation est constituée de plusieurs sessions. On doit trouver la session optimale permettant de placer le plus grand nombre d’invités, tout en minimisant le nombre de bateaux hôtes. Une session est constituée de six périodes, au cours desquelles les équipages se rencontrent.

Description des fenêtres

Fenêtre d’onglet Résultats

Elle contient le résultat de la simulation.

PPP : copie écran

Le premier graphique présente le taux d’occupation moyen des bateaux hôtes. Le deuxième graphique indique le taux de satisfaction des hôtes et des invités pour chaque session, en jaune : le pourcentage moyen de bateaux invités embarqués par les hôtes et en orange, le pourcentage moyen de bateaux rencontrés par les invités.

Fenêtre d’onglet Session

Elle présente dynamiquement le placement des bateaux au cours de la session numérotée. Un onglet vert indique que tous les bateaux ont pu se placer au cours des 6 périodes. Un onglet rouge indique qu’un bateau n’a pu se placer ou cours d’un période, la session n’a pu se terminer. Le tableau triangulaire montre les placements effectués :

Repliement de molécules

Bio-S s'est intéressé, aux travers de stages de M2, au repliement de molécules. Les rôles structuraux et/ou fonctionnels des biomolécules, dans la nature, sont expliqués par leur conformation.

La complexité et la méconnaissance des influences inter-atomiques ne permettent pas de calculer ces conformations de manière efficace. Les approches basées sur des méthodes d’optimisation globale existantes (recuit simulé, algorithmes génétiques...) se trouvent limitées par leurs hypothèses sur l’évaluation de la fonction énergétique à minimiser. L’approche de l’équipe a pour objectif d’apprendre ces interactions atomiques puis de les composer, de manière simple, locale et efficace, en utilisant une technologie basée sur les systèmes multi-agents adaptatifs.

Dans un premier temps, l’objectif de ce travail a été de résoudre des problèmes de conformation de protéines par minimisation de l’énergie de Lennard-Jones induite des interactions de van der Waals.

Dans l’étape suivante, la capacité à minimiser l’énergie potentielle d’une molécule a été utilisée afin d’apprendre les fonctions régissant les interactions entre atomes.

Repliement de molécules : démo

Résolutions d'équations

Voir le problème dans cette page.

Résolution d'équations : démo 1

Résolution d'équations : démo 2

 

Robots transporteurs

Dans cette démonstration, des robots sont chargés de transporter des ressources (points oranges) d'une pièce à l'autre en empruntant deux couloirs trop étroits pour qu'ils puissent se croiser. Plus d'informations dans [Picard, 2005]. Un robot vert n'est pas chargé et devient jaune lorsqu'il l'est.

La première vidéo montre le déroulement de l'application vers son début. Les conflits entre robots (lorsqu'ils se rencontrent dans un couloir, par exemple) apparaissent en rouge.

Robots transporteurs : vers le début

Au fur et à mesure que se déroule l'application, un sens de circulation émerge des interactions entre les agents coopératifs modélisant les robots, sens qui n'était défini en aucune manière dans le code de l'application.

Robots transporteurs : émergence d'un sens

STAFF

L'objet du projet STAFF (Software Tool for Adaptative Flood Forecast) est de réaliser une prévision adaptative de crues. Plus généralement, il s'agit de fournir un outil de prévision auto-adaptatif dans tout environnement qui dispose de capteurs pour l'observation des phénomènes naturels.

Cette démonstration de Staff est un exemple de son intégration dans le produit Sophie qui est une plate-forme logicielle pour les prévisionnistes permettant la gestion et l'exploitation de multiples modèles pour toutes les stations d'un bassin.

La fenêtre visualisée est celle qui permet de créer un modèle multi-agent Staff. Elle contient notamment des informations sur le nom de la station où sera créé le modèle (ici Toulouse), sa date de création, le code du modèle (MASH, qui est la référence de Staff), puis le nom du nouveau modèle qui va être créé (ici Toulouse 6h, pour indiquer que c'est à la station de Toulouse pour une prévision avec 6 heures d'avance).

La partie « type de mesure » indique au logiciel que les données d'entrée seront des cotes (hauteurs d'eau dans les rivières) et des mesures pluviométriques. Le modèle fournira des résultats en hauteur d'eau et pas en débit comme indiqué dans le pavé correspondant ; tandis que le délai de prévision indiqué (360) est en minutes. Le créateur du modèle peut ensuite supprimer certaines données comme entrées du modèle, parmi l'ensemble des données de cotes et de pluie du bassin entier. Ici, l'utilisateur supprime les données pluies de Chaum et les cotes et pluies d'Arreau.

Le travail de création du modèle est maintenant terminé et l'on constate que le logiciel n'a effectivement besoin d'aucune information hydrologique usuelle (superficie des sous-bassins, déclivité des terrains, perméabilité des sols, temps de propagation entre les stations, ...). C'est pour cela que le même logiciel multi-agent adaptatif peut être employé pour faire des modèles dans toutes les stations. Par contre, le modèle que l'utilisateur vient de créer peut se "caler" automatiquement en lui présentant des historiques de crues. Cette option est possible en sélectionnant le bouton « apprentissage » qui va activer une nouvelle fenêtre présentant une liste de dates correspondant à des crues antérieures sur le bassin et dont les données sont archivées.

Staff : démo

 

SYNAMEC

L'objectif du projet SYNAMEC est de concevoir un outil supportant une nouvelle méthodologie et un nouveau logiciel pour la conception de mécanismes aéronautique.

Cet outil doit supporter les phases de synthèse, d'analyse et d'optimisation des mécanismes aéronautiques depuis les étapes préliminaires jusqu'aux étapes plus détaillées de conception des procédés.

Synamec : démo 1

Synamex : démo 2

 

  • Démonstration (mp4, 8 Mo)
    • Démonstration (avi, 140 Ko)
    • Démonstration n° 1 (mp4, 36 Mo)

      CoCell : démo 1

    • Démonstration n° 2 (mp4, 8.7 Mo)

      CoCell : démo 2

    • Un drone perçoit une surface de 5x5 parcelles en dessous de lui où il connaît la criticité de chacune d'elles ainsi que d'autres drones qui pourraient s'y trouver.
    • La démo commence avec 20 drones et l'on voit que la surveillance est correcte.
    • Puis vers le milieu survient deux zones arbitraires colorées en rouge par l'opérateur signifiant qu'elles doivent être très rapidement surveillées.
    • En fin, il ne reste que 12 drones (simulant les 8 autres en panne) et l'on observe une augmentation graduelle de la difficulté à surveiller.
    • Démonstration (mp4, 11 Mo)
    • Démonstration n° 1 (avi, 2.1 Mo)
    • Démonstration n° 2 (avi, 1.8 Mo)
    • Exemple de la glycolyse (avi, 29 Mo)
    • Démonstrateur (zip, 2Mo)
    • Item Initialiser : Initialiser une nouvelle simulation à partir d’un fichier de données. Ces données sont stockées dans un fichier "Excel" d’extension ".xls" (Le problème originel est stocké dans le fichier "Smac_ppp.xls".) :
      • La première colonne du fichier indique la capacité d’accueil du bateau (équipage du bateau + équipages embarqués)
      • La deuxième colonne indique la taille de l’équipage,
      • La troisième colonne définit le rôle initial du bateau ("H" pour un bateau hôte, "G" pour un bateau invité).
    • Item Quitter : Arrêter l’exécution.
    • Item Run : Lancer une nouvelle simulation. Cet item prend une nouvelle étiquette Pause.
    • Item Pause : Suspendre la simulation, la simulation est interrompue apres la période courante. Cet item prend pour étiquette Continue.
    • Item Continue : Continuer la simulation. Cet item prend pour étiquette Pause.
    • Item StartSession : Exécuter la simulation en pas à pas, en s’arrêtant après chaque session. Cet item prend pour étiquette StepSession.
    • Item StepSession : Exécuter la session suivante.
    • Item StartPeriod : Exécuter la simulation en pas à pas, en s’arrêtant après chaque période. Cet item prend pour étiquette StepPeriod.
    • Item StepPeriod : Exécuter la période suivante.
    • Item Stop : Arrêter la simulation.
    • Abcisse : numéro de la session.
    • Ordonnée : l’histogramme indique pour chaque session, le nombre de bateaux hôtes en rouge, et le nombre de périodes en bleu.
    • en abcisse et en ordonnée, on trouve le numéro de bateau,
    • la couleur jaune indique un bateau hôte,
    • le numéro de la période où a eu lieu la rencontre se trouve à l’intersection d’une ligne et d’une colonne.
    • Démonstration (avi, 7 Mo)
    • Démonstration n° 1 (avi compressé, 28 Mo)
    • Démonstration n° 2 (avi compressé, 27 Mo)
    • Vers le début du déroulement de l'application (avi, 9 Mo)
    • Emergence d'un sens de circulation (avi, 6 Mo)
    • Démonstration (avi compressé, 89 Ko)
    • Démonstration n° 1 (avi, 3 Mo)
    • Démonstration n° 2 (avi, 13 Mo)