Gem-graph/readme.md

65 lines
5.3 KiB
Markdown
Raw Normal View History

2021-04-02 16:44:15 +02:00
# GE-ometric D-irected M-ulti-GRAPH (gem-graph)
2021-03-28 16:23:21 +02:00
2021-04-02 16:44:15 +02:00
### (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
2021-03-28 16:23:21 +02:00
2021-04-02 16:44:15 +02:00
#### NB "dirigé" ne signifie pas "orienté": un graphe est orienté si l'un de ses nœuds est sa racine.
2021-03-28 16:23:21 +02:00
2021-04-05 11:48:29 +02:00
### Les multigraphes géométriques dirigés ont des propriétés qui les rendent aptes à représenter de 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.
2021-03-28 16:23:21 +02:00
2021-04-01 10:39:40 +02:00
---
2021-04-02 16:44:15 +02:00
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,
2021-04-02 16:44:15 +02:00
L'emploi des gem-graph est guidé par les choix suivants:
2021-04-02 16:44:15 +02:00
1. Représenter l'espace
2. Un espace discret (non continu)
3. Un espace uniforme et cartésien
2021-04-05 11:48:29 +02:00
4. 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) et des situations (positions relatives des objets).
2021-04-03 19:35:20 +02:00
5. Un automate (un ensemble d'états et de transitions) peut réécrire ce graphe et en gérer les versions successives (l'histoire de la simulation)
2021-04-05 11:48:29 +02:00
- L'utilisation de flèches plutôt que des lignes et la possibilité d'en superposer un nombre quelconque aident à optimiser cet automate.
6. Les réécritures sont locales, asynchrones et aléatoires:
2021-04-05 11:48:29 +02:00
- 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.
7. Tous les états sont des états de l'espace, c'est à dire des représentations approximatives (ou 'dessins') d'un espace réel.
- Tout ensemble de symboles qui peut être écrit dans l'espace en utilisant des flèches est également un état (un 'script').
- Des scripts (ex: noms, balises, adresses) peuvent être associés aux dessins pour faciliter l'identification des objets et des situations.
8. 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 global. Elles peuvent être définies par des représentations vectorielles.
9. 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 à cet endroit? à comparer à un nombre prédéfini)
- Une seule affectation (assigner un nombre 'n' de flèches à cet endroit)
10. 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 (cf. §9).
- 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.
11. 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,...).
- Ils peuvent être édités.
12. 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 échanges garantissent la cohérence de l'ensemble pendant la durée du calcul.
13. 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 des états et celle des règles sont deux processus distincts qui peuvent être assistés par des algorithmes spécifiques (merging).
14. Des graphes non géométriques peuvent être extraits d'un gem-graph pour faciliter son évaluation et son optimisation (ex: applications de l'IA)
2021-04-01 10:39:40 +02:00
---
2021-04-02 16:44:15 +02:00
> 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.
---