Table of Contents
Activité et topologie
Sujet de thèse
- un sujet de thèse (donné au moment de la soumission du projet ANR).
Biblio
- Refounding of Activity Concept? Towards a Federative Paradigm for Modeling and Simulation de Lisandru et al. en 2012.
Motivations
Dans ce travail, nous nous intéressons à la détection de zone d'activité dans les simulations MGS. L'implantation actuelle des transformations ne distinguent pas les parties de la collection où les règles sont susceptibles de s'appliquer : le filtrage s'effectue sur la collection entière. Une perte importante de performances poussent à s'interroger sur les moyens qui permettraient de détecter où une règle va s'appliquer ou ne pas s'appliquer.
Une autre façon plus profonde de justifier ces travaux repose sur une façon naturelle (bien que d'ordre 0) de considérer une propriété globale sur un système : elle peut être identifiée comme la frontière entre un type de collection particulier (i.e., où seul un sous-ensemble spécifique de règles est utilisé) et un autre.
La spécification des règles est malheureusement trop arbitraire pour pouvoir en tirer une information pertinente. Plusieurs options sont possibles :
- restreindre l'ensemble des règles (en considérant un sous-ensemble de la syntaxe des motifs par exemple)
- typer les règles afin de déterminer ce qu'on enlève et ce qu'on rajoute
Quelques exemples
Les trois exemples suivant cherchent à montrer la diversité des règles que l'on souhaite considérer pour détecter des zones d'activités. La complexité des exemples est croissante :
- le feu de forêt : deux règles avec motif de taille 1 et un neighborfold
- la propagation d'une onde : comme le feu de forêt mais avec plus de règles et des symétries
- le regroupement d'amibe : fusion de 2 automates (déplacement des agents + réaction/diffusion) avec des motifs d'arité 2
Tous les exemples sont considérés sur la topologie suivante :
gbf NEWS = < sw, se, east, south ; se = south + east, sw = south - east > ;; moore := |sw>, |se>, |east>, |south>, <sw|, <se|, <east|, <south| ;;
En fait, la topologie choisie importe peu ; cependant, le choix de la grille carré 2D statique facilite la présentation des mouvements de données et des opérateurs différentiels.
Feu de forêt
Transformation
trans forest = { `Forest as x / member(`Fire,neighbors(x)) => `Fire; `Fire => `Ashes; } ;;
Et la vidéo.
Onde
Transformation
trans wave = { `Fe as x / member(`We,neighbors(x)) => `Fi; `Fi as x / member(`Wi,neighbors(x)) => `Fe; `Wh as x / member(`Fe,neighbors(x)) => `Fe; `Fe => `Bl; `Bl as x / member(`Fi,neighbors(x)) => `Fi; `Fi => `Wh; } ;;
Et la vidéo.
Regroupement
Transformation
trans gathering = { x:neutral:notEmpty, y:excited:free => { env = 3, pop = x.pop-1 }, { env = y.env-1, pop = y.pop+1 }; x:neutral / exists(excited,neighbors(x)) => x + { env = 3 }; x:neutral:notEmpty / not(exists(excited,neighbors(x))) => if (rng_uniform()<0.5) then x + { env = 3 } else x fi; x:neutral:empty / not(exists(excited,neighbors(x))) => x; x:refractory => x + { env = x.env - 1 }; } ;;
Et la vidéo.
Définition
Dans cette section, on retrouve les définitions des différentes notions sur lesquelles reprochent l'approche.
Zone d'activité
De façon générale, une zone d'activité est une partie d'un système fonctionnant sur un sous-ensemble de règle bien déterminées.