Update readme.md

This commit is contained in:
Jean Sirmai 2021-04-05 09:48:29 +00:00
parent 678e0502af
commit c58d56e91f
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. #### 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)
--- ---