nouveau readme: il manque la fin du texte

This commit is contained in:
Jean Sirmai 2021-08-02 20:46:58 +02:00
parent 8fdde1f35c
commit c493d5956d
Signed by untrusted user who does not match committer: jean
GPG Key ID: FB3115C340E057E3
1 changed files with 53 additions and 47 deletions

View File

@ -4,75 +4,81 @@
### (2) Il est dirigé si ses liens sont des flèches ### (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 ### (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. ##### 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 peuvent être utilisés pour représenter une grande variété d'états complexes. Ces états peuvent être dessinés dans l'espace au moyen de combinaisons (juxtapositions et superpositions) de flèches allant d'une région de l'espace à une autre. Les réécritures successives de ces états par un automate permettent de modéliser des phénomènes complexes. 'gem-graph' est un logiciel qui permet d'éditer ces états et ces réécritures (ou transitions) et d'exécuter l'automate ainsi créé pour l'observer. #### Les multigraphes géométriques dirigés peuvent être utilisés pour représenter une grande variété d'états. Ces états peuvent être dessinés dans l'espace au moyen de combinaisons de flèches allant d'un point de l'espace à un autre.
#### Les réécritures successives de ces états par un automate permettent de modéliser des phénomènes complexes. 'gem-graph' est un logiciel qui permet d'éditer ces états et ces réécritures (ou transitions) et d'exécuter l'automate ainsi créé pour l'observer.
--- ---
Les phénomènes complexes peuvent être définis comme ceux où une grand nombre d'objets de formes et de propriétés très diverses interagissent d'un grand nombre de façons différentes. ##### Les phénomènes complexes peuvent être définis comme ceux où une grand nombre d'objets de formes et de propriétés très diverses interagissent d'un grand nombre de façons différentes. Même si les interactions particulières entre certains de ces objets ont pu être isolées, étudiées expérimentalement et décrites au moyen d'un modèle simple, le fonctionnement de l'ensemble est difficile à modéliser pour au moins deux raisons:
Les interactions particulières entre certains de ces objets peuvent être isolées expérimentalement et décrites avec une approximation suffisante
mais il est difficile de calculer l'évolution de l'ensemble d'un système complexe pour au moins deux raisons:
- Il s'y produit simultanément des phénomènes rapides et d'autres lents ainsi que des phénomènes localisés alors que d'autres sont plus globaux. > - Il s'y produit simultanément des phénomènes rapides et d'autres lents et certains phénomènes sont localisés alors que d'autres sont globaux.
S'il faut décrire tous les objets et tous les phénomènes avec la même précision, on est donc limité S'il faut décrire tous les objets et tous les phénomènes avec la même précision, on est donc limité
* soit par la puissance de calcul s'il faut tout décrire en détail, * soit par la puissance de calcul s'il faut tout décrire en détail,
* soit par des approximations qui ne permettent plus de décrire avec une précision suffisante certains phénomènes rapides ou locaux. * soit par des approximations qui ne permettent plus de décrire avec une précision suffisante certains phénomènes trop rapides ou survenant dans un espace trop petit.
Or, certains de ces phénomènes (rapides, locaux) ont des conséquences majeures sur l'évolution de l'ensemble et ne doivent donc pas être négligés. Or, certains de ces phénomènes (rapides, locaux) peuvent avoir des conséquences majeures sur l'évolution de l'ensemble et ne doivent donc pas être négligés.
Ce problème est celui de la 'granularité' (temporelle et spatiale). Ce problème est celui de la 'granularité' (temporelle et spatiale).
- Un second problème vient de ce que la plupart des descriptions doivent nommer les entités sur lesquelles elles opèrent. > - Un second problème vient de ce que la plupart des descriptions doivent nommer les entités sur lesquelles elles opèrent pour pouvoir établir une relation entre elles.
Or, lorsque le nombre de ces entités augmente, le nombre de leurs interactions augmente plus rapidement encore: on parle d'explosion combinatoire. Or, lorsque le nombre de ces entités augmente, le nombre de leurs relations ou interactions augmente plus rapidement encore: ce problème est celui de l'explosion combinatoire.
Si l'on utilise, par exemple, une équation pour représenter une relation entre un petit nombre d'objets, * Il peut suffire, par exemple, d'une équation pour représenter une relation entre un petit nombre d'objets, mais le nombre d'équations nécessaires pour décrire toutes les relations en jeu dans l'ensemble du système est tel qu'il n'est plus possible de les résoudre simultanément.
le nombre d'équations nécessaires pour décrire tous les phénomènes en jeu dans l'ensemble du système est tel qu'il n'est plus possible de les résoudre toutes simultanément. * Si l'on utilise un modèle numérique, le nombre de règles et leur hétérogéneité rend leur application de plus en plus difficile: certaines règles peuvent être en contradiction avec d'autres ou s'appliquer à des situations ou des objets pour lesquels elles n'avaient pas été conçues.
Si l'on utilise un modèle numérique, le nombre de règles et leur hétérogéneité rend leur application de plus en plus difficile:
certaines règles peuvent être en contradiction avec d'autres ou s'appliquer à des situations ou des objets pour lesquels elles n'avaient pas été conçues.
Dans tous les cas, si deux calculs successifs partant du même état donnent des résultats différents, le modèle devient inexploitable.
Les multigraphes géométriques dirigés permettent d'aborder ces deux difficultés d'une manière nouvelle. > - Dans tous les cas, si deux calculs successifs partant du même état donnent des résultats différents, le modèle devient inexploitable.
Ils se fondent sur les choix suivants: ##### gem-graph permet d'aborder ces deux difficultés en dessinant les objets au lieu de les nommer:
* Représenter l'espace
* Un espace discret (non continu) * L'espace et le temps sont représentés
* Un espace uniforme et cartésien * Ils sont discrets, uniformes et cartésiens.
* 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. * La topologie, la dimension, la magnitude 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.
* Dans cet espace est inscrit un graphe géométrique fait de liens (des flèches) entre des unités de l'espace. * Dans cet espace est inscrit un graphe géométrique fait de liens (des flèches) entre des unités de l'espace.
Les multiples combinaisons possibles de ce seul symbole (la flèche) permettent de dessiner: De multiples combinaisons (juxtapositions, superpositions) de ce seul symbole (la flèche) permettent de dessiner:
- des objets (parties connexes isolées du graphe), - des objets (parties connexes isolées du graphe),
- des situations (positions relatives des objets) et - des situations (positions relatives des objets) et
- des annotations (syn: 'tags' ou balises) qui seront décrites plus loin. - des annotations (syn: 'tags' ou balises) qui seront décrites plus loin.
Tous ces dessins ou graphes sont des états de l'espace. Ce sont des représentations approximatives et simplifiées du système à modéliser. Tous ces dessins ou graphes sont des états de l'espace.
* Un ensemble de transitions permet de réécrire chacun de ces états. * Un ensemble de transitions permet de réécrire chacun de ces états.
Ces réécritures ou versions successives constituent l'histoire de la simulation. Ces réécritures sont locales, asynchrones et aléatoires.
* Des annotations peuvent être associés aux dessins des objets ou des situations. La succession de ces réécritures (ou versions successives) constitue l'histoire de la simulation.
Elles sont écrites dans l'espace au moyen des mêmes symboles que les dessins qu'elles commentent ou précisent.
Leur forme, leur étendue, le nombre de flèches superposées utilisées pour les dessiner sont des paramètres choisis par le concepteur du modèle.
Ces paramètres sont indépendants et peuvent être combinés de diverses manières. Ceci augmente le nombre d'annotations possibles qui n'est théoriquement pas limité.
Ces annotations peuvent donner accès à des informations difficiles à encoder par la simple description des formes:
identités, noms, adresses, pointeurs, liens, quantités, poids ou valeurs diverses concernant des propriétés d'intérêt.
Le point important, ici, est que ces annotations sont écrites dans les états mêmes et au moyen des mêmes symboles que les dessins. * Les informations statiques (états) et les informations dynamiques (transitions) sont toujours strictement séparées.
Leur lecture et leur réécriture ne modifient donc pas l'homogénéité des règles.
* Les informations statiques (états) et les informations dynamiques (transitions) restent donc strictement séparées.
Cette séparation permet d'écrire les règles de transition exclusivement comme des associations de transitions élémentaires. Cette séparation permet d'écrire les règles de transition exclusivement comme des associations de transitions élémentaires.
* Une transition élémentaire associe: * 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 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) - une seule assignation (écrire un nombre 'n' de flèches à cet endroit)
La conformité d'écriture des règles et l'uniformité qui en résulte est la condition de leur traitement algorithmique. La conformité d'écriture des règles et l'uniformité 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 ainsi être automatiquement évaluées, comparées, représentées, éditées.
* L'homogéneité de l'écriture des règles du gem-graph n'exclut pas l'utilisation de deux autres types de conditions qui leurs permettent d'être associés à d'autres modèles (voir plus loin). * Cette homogéneité d'écriture n'exclut pas l'utilisation d'autres types de conditions et d'assignations élémentaires
Quatre autres types d'assignations peuvent aussi être utilisées pour écrire dans d'autres moèles ou envoyer des résultats de mesures (voir plus loin). utilisées en cas d'association à d'autres modèles ou pour l'envoi de résultats de mesure (voir plus loin).
* 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é. * Les dessins peuvent représenter, de façon approximative, des états d'un système à modéliser.
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. Les objets sont alors tous dessinés à la même échelle mais avec un niveau de détail variable.
L'emplacement et l'orientation de chaque nouvel espace local sont choisis (au hasard ou par un autre algorithme) dans l'espace global. Du fait de l'introduction de directions privilégiées, les symétries par rotation (l'isotropie) sont perdues.
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). - Pour compenser cet inconvénient, il est nécessaire d'associer à chaque objet un ensemble de dessins 'ad hoc' différemment orientées.
Si un ensemble de conditions est satisfait (règle courte) mais que d'autres conditions peuvent encore être évaluées (règle longue), la préférence est donnée à la règle la plus longue. Des parties de ces dessins peuvent éventuellement être produites à partir de représentations vectorielles.
Une fois le calcul effectué, son résultat est validé puis intégré à l'état global puis la préemption est levée. * Des annotations peuvent être associés aux dessins des objets ou des situations.
* Les règles de transition peuvent être regroupées en arbres. Elles sont écrites dans l'espace au moyen des mêmes symboles que les dessins qu'elles commentent ou précisent.
La structure de ces arbres diffère selon leur fonction (exécution du calcul, classification par l'utilisateur,...). Leur forme, leur étendue, le nombre de flèches superposées utilisées pour les dessiner sont des paramètres choisis par le concepteur du modèle.
Ces arbres peuvent être édités. Ces paramètres sont indépendants et peuvent donc être combinés de diverses manières. Le nombre d'annotations possibles est ainsi théoriquement illimité.
Ces annotations peuvent donner accès à des informations difficiles à encoder par la simple description des formes:
identités, noms, adresses, pointeurs, liens, quantités, poids ou valeurs diverses concernant des propriétés d'intérêt.
Le point important, ici, est que ces annotations sont écrites dans les états au moyen des mêmes symboles que les dessins.
Leur lecture et leur réécriture ne modifient donc pas l'homogénéité des règles.
* Chaque réécriture est un cycle de calcul élémentaire effectué par un thread opérant indépendemment des autres dans un espace local préalablement préempté.
Tous les espaces locaux ont la même étendue, définie par les règles de transition et telle qu'aucune flèche ne sorte de cet espace.
L'emplacement et l'orientation de chaque nouvel espace local sont choisis par le scheduler (au hasard ou par un autre algorithme) dans l'espace global.
Puis le scheduler crée le thread qui va effectuer le calcul.
Chaque thread compare alors l'état de l'espace local où il opère aux conditions énoncées par les diverses règles de transition.
Si toutes les conditions d'une règle sont satisfaites, elle s'applique.
Si plusieurs règles partagent le même ensemble de conditions, l'une d'entre elles est choisie (au hasard ou par un autre algorithme).
Si les conditions d'une règle sont satisfaites mais que les conditions d'une autre règle, qui en comporte davantage, sont également satisfaites, la règle la plus complète s'applique.
Une fois le calcul effectué, son résultat est validé puis intégré à l'état global.
Le thread qui a achevé ce calcul est alors détruit et la préemption sur cet espace local est levée.
* Les règles de transition peuvent être regroupées en arbres qui peuvent être édités.
La structure de ces arbres diffère selon leur fonction (exécution du calcul, classification par l'utilisateur,...)
* 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. * 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. 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. * Plusieurs modèles de gem-graph peuvent être additionnés (états et transitions) si leurs paramètres d'espace et de temps sont compatibles.