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:
commit
695aa6dbc7
61
readme.md
61
readme.md
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
#### NB "dirigé" ne signifie pas "orienté": un graphe est orienté si l'un de ses nœuds est sa racine.
|
#### 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
|
1. Représenter l'espace
|
||||||
2. Un espace discret (non continu)
|
2. Un espace discret (non continu)
|
||||||
3. Un espace uniforme et cartésien
|
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.
|
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)
|
- 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.
|
|
||||||
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)
|
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:
|
6. Les réécritures sont locales, asynchrones et aléatoires:
|
||||||
- le calcul est effectué dans un espace local préalablement préempté.
|
- Le calcul est effectué par des threads opérant chacun indépendemment 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'é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 de chaque nouvel espace local est choisi au hasard dans l'espace global. (autre algorithme possible)
|
- 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 par tirage au sort (autre algorithme possible)
|
- 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 et la préemption est levée.
|
- 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 d'un espace réel.
|
7. Tous les états sont des états de l'espace, c'est à dire des représentations approximatives (ou 'dessins') 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.
|
- Tout ensemble de symboles qui peut être écrit dans l'espace en utilisant des flèches est également un état (un 'script').
|
||||||
- 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).
|
- Des scripts (ex: noms, balises, adresses) peuvent être associés aux dessins 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:
|
8. La topologie, la dimension, la magnitude et la granularité de l'espace ne sont pas prédéfinies.
|
||||||
- une seule condition (combien de flèches à cet endroit? à comparer à un nombre prédéfini))
|
- Ce sont des paramètres choisis par le concepteur du modèle.
|
||||||
- une seule affectation (assigner n flèches à cet endroit)
|
- Plusieurs granularités peuvent coexister localement dans un même espace global. Elles peuvent être définies par des représentations vectorielles.
|
||||||
9. Le codage des informations statiques (états) et des informations dynamiques (transitions) est distinct.
|
9. Les transitions sont toutes les combinaisons d'un seul type de transition élémentaire. Une transition élémentaire associe:
|
||||||
- Le but de cette restriction est de maintenir une stricte homogénéité des règles (cf. §8)
|
- Une seule condition (combien de flèches à cet endroit? à comparer à un nombre prédéfini)
|
||||||
- Cette homogénéité est la condition de leur gestion automatique.
|
- Une seule affectation (assigner un nombre 'n' de flèches à cet endroit)
|
||||||
Celle-ci permet leur évaluation (conformité, cohérence,...), comparaison, présentation, édition,
|
10. Les informations statiques (états) et les informations dynamiques (transitions) sont strictement séparées.
|
||||||
et la fabrication d'arbres permettant de les regrouper différemment selon la fonction attendue (exécution du calcul, classification par l'utilisateur,...).
|
- Cette séparation permet d'écrire les règles de transition exclusivement comme des associations de transitions élémentaires (cf. §9).
|
||||||
10. La topologie, la dimension, la magnitude et la granularité de l'espace ne sont pas pré-contraintes.
|
- Cette conformité d'écriture et l'uniformité des règles qui en résulte est la condition de leur traitement algorithmique.
|
||||||
Elles sont choisies par le concepteur du modèle.
|
- Les règles de transition peuvent ainsi être automatiquement évaluées, comparées, représentées, éditées.
|
||||||
Plusieurs granularités locales peuvent coexister et être associées à des représentations vectorielles.
|
11. Les règles de transition peuvent être regroupées en arbres.
|
||||||
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.
|
- La structure de ces arbres diffère selon leur fonction (exécution du calcul, classification par l'utilisateur,...).
|
||||||
Après superposition des temps et espaces des différents modèles, les variables locales intensives des autres modèles
|
- Ils peuvent être édités.
|
||||||
(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. 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.
|
||||||
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.
|
- Après superposition des temps et espaces de ces modèles à ceux du gem-graph,
|
||||||
13. Des représentations et optimisations des gem-graphs par équivalents non géométriques sont possibles (ex: pour évaluation / optimisation par IA)
|
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)
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
Loading…
Reference in New Issue