70 lines
5.7 KiB
Markdown
70 lines
5.7 KiB
Markdown
# GE-ometric D-irected M-ulti-GRAPH (gem-graph)
|
|
|
|
### (1) Un graphe géométrique est un graphe dont les nœuds ont des coordonnées dans un espace
|
|
### (2) Il est dirigé si ses liens sont des flèches
|
|
### (3) C'est un multigraphe si plusieurs flèches peuvent être superposées d'un même nœud à un autre
|
|
|
|
#### NB "dirigé" ne signifie pas "orienté": un graphe est orienté si l'un de ses nœuds est sa racine.
|
|
|
|
### Les multigraphes géométriques dirigés ont des propriétés qui les rendent aptes à représenter des phénomènes complexes. 'gem-graph' est un logiciel qui permet de modéliser de tels phénomènes par réécritures successives de l'un de ces graphes.
|
|
|
|
---
|
|
|
|
Face à la difficulté de calculer l'évolution des systèmes complexes définis par
|
|
- une grande diversité d'objets et
|
|
- une grande diversité d'interactions,
|
|
|
|
L'emploi des gem-graph est guidé par les choix suivants:
|
|
|
|
* Représenter l'espace
|
|
* Un espace discret (non continu)
|
|
* Un espace uniforme et cartésien
|
|
* La topologie, la dimension, la magnitude et la granularité de l'espace ne sont pas prédéfinies. Ce sont des paramètres choisis par le concepteur du modèle.
|
|
- Plusieurs granularités peuvent coexister localement dans un même espace. Elles peuvent être définies par des représentations vectorielles.
|
|
* A cet espace est superposé un graphe géométrique qui permet d'éditer des liens entre des unités de l'espace. Ces liens permettent de dessiner
|
|
- des objets (parties connexes isolées du graphe),
|
|
- des situations (positions relatives des objets) et
|
|
- des ensembles de symboles, appelés 'scripts', qui sont écrits dans l'espace en utilisant des flèches.
|
|
- L'utilisation de flèches plutôt que des lignes et la possibilité d'en superposer un nombre quelconque aident à optimiser ce graphe.
|
|
* Un automate (un ensemble d'états et de transitions) peut réécrire ce graphe et en gérer les versions successives (c-à-d: l'histoire de la simulation)
|
|
* Tous les états sont des états de l'espace, c'est à dire des représentations approximatives (ou 'dessins') d'un espace réel.
|
|
- Des scripts (ex: noms, balises, adresses,...) peuvent être associés aux dessins pour faciliter l'identification des objets et des situations.
|
|
* Les réécritures sont locales, asynchrones et aléatoires:
|
|
- Le calcul est effectué par des threads opérant chacun indépendemment dans un espace local préalablement préempté.
|
|
- L'étendue de cet espace local dépend des règles de transition: aucune flèche définie par ces règles ne peut sortir de cet espace.
|
|
- L'emplacement et l'orientation de chaque nouvel espace local sont choisis (au hasard ou par un autre algorithme) dans l'espace global.
|
|
- Si l'ensemble des conditions de plusieurs règles est identique, l'une d'entre elles est choisie (au hasard ou par un autre algorithme).
|
|
- Une fois le calcul effectué, son résultat est validé puis intégré à l'état global puis la préemption est levée.
|
|
* Les transitions sont toutes les combinaisons d'un seul type de transition élémentaire. Une transition élémentaire associe:
|
|
- Une seule condition (combien de flèches y a-t-il à cet endroit? à comparer à un nombre prédéfini)
|
|
- Une seule assignation (écrire un nombre 'n' de flèches à cet endroit)
|
|
* Les informations statiques (états) et les informations dynamiques (transitions) sont strictement séparées.
|
|
- Cette séparation permet d'écrire les règles de transition exclusivement comme des associations de transitions élémentaires.
|
|
- Cette conformité d'écriture et l'uniformité des règles qui en résulte est la condition de leur traitement algorithmique.
|
|
- Les règles de transition peuvent ainsi être automatiquement évaluées, comparées, représentées, éditées.
|
|
* Les règles de transition peuvent être regroupées en arbres.
|
|
- La structure de ces arbres diffère selon leur fonction (exécution du calcul, classification par l'utilisateur,...).
|
|
- Ces arbres peuvent être édités.
|
|
* Un gem-graph peut être associé à d'autres modèles représentant des bosons et/ou de fermions dans un espace en fonction du temps.
|
|
- Après superposition des temps et espaces de ces modèles à ceux du gem-graph,
|
|
leurs variables locales intensives (températures, pressions, concentrations, débits, flux, section efficace, etc ...)
|
|
peuvent être lues et écrites par le gem-graph au moyen de conditions et d'actions spécifiques.
|
|
- Ces lectures / écritures permettent la cohérence de l'ensemble des modèles pendant la durée du calcul.
|
|
* Plusieurs modèles de gem-graph peuvent être additionnés (états et transitions) si leurs paramètres d'espace et de temps sont compatibles.
|
|
- L'addition de leurs états et celle de leurs règles sont des processus distincts qui peuvent être assistés par des algorithmes de merging spécifiques.
|
|
* Des graphes non géométriques peuvent être extraits d'un gem-graph afin de faciliter son évaluation et son optimisation (ex: pour applications de l'IA)
|
|
|
|
|
|
---
|
|
> Locos, formas modumque cohérentiae omium rerum status depingit. Nihil Aliud comprend.
|
|
> Eas res praecepta movet aut transformat. Nihil aliud facit. Quaedam transforme en sua potestate sunt.
|
|
> Aliae transforme alii succedere debent.
|
|
> Interpositus status inter illas et istas jacet.
|
|
> Ab antecedente statu primarum ad sequentem statum secundarum iter nullius est nisi per suorum interpositum statum.
|
|
---
|
|
|
|
opérations sur les gem-graph:
|
|
- addition - soustraction (les états et transitions changent; les propriétés qui définissent le graphe demeurent inchangées)
|
|
- expansion: par association / combinaison à d'autres modèles (la nature des états et des transitions change)
|
|
- réduction: par extraction d'un sous-ensemble de propriétés (ex: > graphes non géométriques)
|