Merge branch 'Jean-master-patch-99298' into 'master'

gem-graph rationale

See merge request gem-graph-team/gem-graph!6
This commit is contained in:
Jean Sirmai 2021-04-05 09:49:50 +00:00
commit 695aa6dbc7
1 changed files with 33 additions and 28 deletions

View File

@ -6,7 +6,7 @@
#### 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 de phénomènes complexes. 'gem-graph' est un logiciel qui permet de modéliser de tels phénomènes par réécritures successives d'un multigraphe géométrique dirigé.
### 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.
---
@ -19,35 +19,40 @@ L'emploi des gem-graph est guidé par les choix suivants:
1. Représenter l'espace
2. Un espace discret (non continu)
3. Un espace uniforme et cartésien
4. A cet espace est superposé un graphe géométrique, qui permet d'éditer des liens entre certaines 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)
- L'utilisation de flèches plutôt que des lignes et la possibilité d'en mettre un nombre quelconque allant d'un même nœud à un autre sont des optimisations.
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).
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)
- 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:
- le calcul est effectué dans un espace local préalablement préempté.
- la portée des flèches est majorée par l'étendue de cet espace local.
- l'emplacement de chaque nouvel espace local est choisi au hasard dans l'espace global. (autre algorithme possible)
- si l'ensemble des conditions de plusieurs règles est identique, l'une d'entre elles est choisie par tirage au sort (autre algorithme possible)
- une fois le calcul effectué, son résultat est validé puis intégré à l'état global et la préemption est levée.
7. Tous les états sont des états de l'espace, c'est à dire des représentations approximatives d'un espace réel.
- Mais tout ensemble de symboles qui peut être dessiné en utilisant des flèches (ex: noms, balises, adresses) est également un état.
- de tels états peuvent être associés à un état de l'espace à des fins d'optimisation (ex: pour faciliter l'identification des objets et des situations).
8. 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 n flèches à cet endroit)
9. Le codage des informations statiques (états) et des informations dynamiques (transitions) est distinct.
- Le but de cette restriction est de maintenir une stricte homogénéité des règles (cf. §8)
- Cette homogénéité est la condition de leur gestion automatique.
Celle-ci permet leur évaluation (conformité, cohérence,...), comparaison, présentation, édition,
et la fabrication d'arbres permettant de les regrouper différemment selon la fonction attendue (exécution du calcul, classification par l'utilisateur,...).
10. La topologie, la dimension, la magnitude et la granularité de l'espace ne sont pas pré-contraintes.
Elles sont choisies par le concepteur du modèle.
Plusieurs granularités locales peuvent coexister et être associées à des représentations vectorielles.
11. Des interfaces sont possibles avec 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 des différents modèles, les variables locales intensives des autres modèles
(concentrations, températures, 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.
12. Plusieurs modèles de gem-graph peuvent être additionnés (états et transitions) si leurs paramètres sont compatibles. Ces processus peuvent être assistés.
13. Des représentations et optimisations des gem-graphs par équivalents non géométriques sont possibles (ex: pour évaluation / optimisation par IA)
- 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)
---