Compare commits
19 Commits
jean-maste
...
master
Author | SHA1 | Date |
---|---|---|
Jean Sirmai | c0136911f7 | |
Jean Sirmai | e134830ae7 | |
Jean Sirmai | 73f366fee5 | |
Jean Sirmai | f83c3d1ac9 | |
Jean Sirmai | 9556bfcfc3 | |
Jean Sirmai | 8a431e41ea | |
Jean Sirmai | e1c7de08d6 | |
Jean Sirmai | eda93f24e3 | |
Jean Sirmai | de9c06fdd0 | |
Jean Sirmai | ea518bc794 | |
Jean Sirmai | 0e6c25c5ac | |
Jean Sirmai | 1b2cb1af50 | |
Jean Sirmai | 1f71a18eef | |
Jean Sirmai | 5c80911460 | |
Jean Sirmai | 3a29f8186d | |
Jean Sirmai | f3a8c2b785 | |
Jean Sirmai | 2ffe8b7211 | |
Jean Sirmai | 42520df0c4 | |
Jean Sirmai | 453390a6ad |
156
readme.md
156
readme.md
|
@ -41,13 +41,21 @@ Même si les interactions particulières entre certains de ces objets ont pu êt
|
|||
- des situations (positions relatives des objets) ou
|
||||
- des annotations (décrites plus loin) qui écrivent, dans l'espace même,
|
||||
des informations relatives aux objets ou aux situations auxquels elles sont connectées.
|
||||
* Un ensemble de transitions permet de réécrire chacun de ces états.
|
||||
- Ces réécritures (ou transitions) peuvent être locales, asynchrones et aléatoires.
|
||||
- Toutes les règles de réécriture, parcequ'elles n'opèrent que sur un seul symbole, ont le même format.
|
||||
- L'ensemble des réécritures (ou versions) successives constitue l'histoire de la simulation.
|
||||
|
||||
---
|
||||
* Les informations statiques (états) et les informations dynamiques (transitions) sont toujours strictement séparées.
|
||||
|
||||
##### Un ensemble de transitions permet de réécrire chacun de ces états:
|
||||
|
||||
* Les objets et les situations dessinés sont réécrits sans qu'il soit nécessaire de les nommer.
|
||||
* Ces réécritures (ou transitions) peuvent être locales, asynchrones et aléatoires.
|
||||
* Le passage obligatoire par un état intermédiaire peut permettre de représenter une cause et un effet.
|
||||
* Toutes les règles de réécriture, parcequ'elles n'opèrent que sur un seul symbole, ont le même format.
|
||||
* L'ensemble des réécritures (ou versions) successives constitue l'histoire de la simulation.
|
||||
|
||||
---
|
||||
|
||||
##### Les informations statiques (états) et les informations dynamiques (transitions) sont toujours strictement séparées:
|
||||
|
||||
* 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 seule condition (combien de liens y a-t-il à cet endroit? à comparer à un nombre prédéfini)
|
||||
|
@ -56,69 +64,125 @@ Même si les interactions particulières entre certains de ces objets ont pu êt
|
|||
* Cette homogéneité d'écriture n'exclut cependant pas l'utilisation d'autres types de conditions et d'assignations élémentaires en cas d'association à d'autres modèles ou pour l'envoi de résultats de mesure (voir plus loin).
|
||||
|
||||
---
|
||||
* Si les dessins représentent, de façon approximative, des états d'un système à modéliser.
|
||||
Les objets sont alors tous dessinés à la même échelle mais avec un niveau de détail variable.
|
||||
* L'utilisation d'un référentiel introduit nécéssairement des directions privilégiées qui brisent la symétrie de rotation. Le dessin d'un objet n'est alors conservé que lorsqu'il est tourné d'un angle égal à celui qui sépare ces directions. Une approximation est donc nécessaire pour restaurer l'isotropie.
|
||||
* Elle peut être réalisée en associant à chaque objet un ensemble de dessins 'ad hoc' différemment orientés et/ou en produisant ces dessins à partir de représentations vectorielles.
|
||||
|
||||
##### Les objets sont tous dessinés à la même échelle mais avec un niveau de détail variable:
|
||||
|
||||
* La réécriture de graphes géométriques permet donc d'associer dans un même espace des descriptions de granularité différente:
|
||||
* Ces descriptions peuvent éventuellement être approchées par des représentations vectorielles. Des annotations sont possibles et facilitées.
|
||||
* Les propriétés d'intérêt peuvent être détaillées sans qu'il soit nécessaire pour cela de détailler la totalité du reste.
|
||||
* Il est donc possible de décrire simultanément des états et des phénomènes de complexité différente.
|
||||
De nouvelles propriétés d'intérêt peuvent être ajoutées ou retranchées du modèle à tout moment.
|
||||
* Les bords des objets peuvent être représentés (dessinés) par leur probabilité de présence.
|
||||
|
||||
---
|
||||
* Des annotations peuvent être associés aux dessins des objets ou des situations.
|
||||
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 liens 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 donc être combinés de diverses manières. Le nombre d'annotations possibles est ainsi théoriquement illimité.
|
||||
|
||||
##### Parceque le référentiel privilégie certaines directions, la symétrie de rotation est perdue:
|
||||
|
||||
* L'utilisation d'un référentiel introduit nécéssairement des directions privilégiées qui brisent la symétrie de rotation. Le dessin d'un objet n'est alors conservé que lorsqu'il est tourné d'un angle égal à celui qui sépare ces directions. Des approximations sont donc nécessaires pour restaurer l'isotropie.
|
||||
* Elle peuvent être réalisées en associant à chaque objet un ensemble de dessins 'ad hoc' différemment orientés et/ou en produisant ces dessins à partir de représentations vectorielles.
|
||||
* Elles nécéssitent qu'il y ait autant de règles de transition qu'il y a de dessins d'un même objet.
|
||||
|
||||
---
|
||||
|
||||
##### Des annotations peuvent être associés aux dessins des objets ou des situations:
|
||||
|
||||
* 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 liens 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 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 portent donc pas atteinte à 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 telle que toutes les règles de transition puissent y être exécutées.
|
||||
|
||||
##### 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 telle que toutes les règles de transition puissent y être exécutées.
|
||||
* 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.
|
||||
- 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 la règle choisie, ses prescriptions s'appliquent à l'état global.
|
||||
- Le thread qui a achevé l'ensemble de 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 choisie 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.
|
||||
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.
|
||||
L'addition de leurs états et celle de leurs règles sont des processus distincts qui peuvent être assistés par des algorithmes de merging spécifiques.
|
||||
* Des graphes non géométriques peuvent être extraits d'un gem-graph afin de faciliter son évaluation et son optimisation (ex: pour applications de l'IA)
|
||||
|
||||
##### 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 choisie par l'utilisateur,...).
|
||||
* Ils peuvent être édités.
|
||||
* Ils peuvent servir à activer / désactiver des règles ou groupes de règles lors de la recherche d'erreurs durant la fabrication d'un modèle.
|
||||
* Ils servent à représenter l'ensemble des conditions des règles dans le fichier XML où est enregistré un modèle.
|
||||
* Ils permettent de transmettre au serveur un ordre de parcours optimisé des sites de l'espace local (ou espace des conditions).
|
||||
|
||||
---
|
||||
* La réécriture de graphes géométriques permet donc d'associer dans un même espace des descriptions de granularité différente.
|
||||
* Ces descriptions peuvent éventuellement être approchées par des représentations vectorielles. Des annotations sont possibles et facilitées.
|
||||
* Les réécritures de ces descriptions sont possibles sans qu'il soit nécessaire de nommer les objets ni les situations dessinés.
|
||||
* Les propriétés d'intérêt peuvent être détaillées sans qu'il soit nécessaire pour cela de détailler la totalité du reste.
|
||||
* Il est donc possible de décrire simultanément des états et des phénomènes de complexité différente.
|
||||
De nouvelles propriétés d'intérêt peuvent être ajoutées ou retranchées du modèle à tout moment.
|
||||
|
||||
##### Un gem-graph peut être associé à des modèles utilisant des représentations continues ou probabilistes:
|
||||
|
||||
* 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.
|
||||
|
||||
---
|
||||
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.
|
||||
|
||||
##### 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 de leurs états et celle de leurs règles sont des processus distincts qui peuvent être assistés par des algorithmes de merging spécifiques.
|
||||
|
||||
---
|
||||
Opérations sur les gem-graph:
|
||||
|
||||
###### Des graphes non géométriques peuvent être extraits des gem-graph afin de faciliter leurs comparaisons et optimisations.
|
||||
|
||||
* Possible application de l'IA.
|
||||
|
||||
---
|
||||
|
||||
##### Opérations sur les gem-graph:
|
||||
|
||||
> addition - soustraction (les états et transitions changent; les propriétés qui définissent le graphe demeurent inchangées)
|
||||
> expansion: par association / combinaison à d'autres modèles (la nature des états et des transitions change)
|
||||
> réduction: par extraction d'un sous-ensemble de propriétés (ex: > graphes non géométriques)
|
||||
> Y a-t-il seulement deux extractions possibles (vers l'espace ou vers le graphe) ?
|
||||
> Les graphes extraits seront-ils seulement des outils d'optimisation
|
||||
> ou nous guideront-ils vers une classification ou des liens vers d'autres objets mathématiques ?
|
||||
> Quelles seront leurs propriétés ? Que nous apprendront-t-ils sur les modèles ?
|
||||
|
||||
> Comment s'assurer qu'on a bien listé, énuméré toutes les opérations possibles ?
|
||||
> Addition et soustraction peuvent être effectuées sur une partie seulement des états ou des règles ex: si on cherche à maintenir une propriété biologique (qui n'apparait que sur l'ensemble du modèle) il faut opérer sur cet ensemble. Sinon, pour la biochimie, des opérations sur un espace réduit seront sûrement utiles.
|
||||
> En cas d'opération de réduction du gem-graph vers l'espace (sans graphe associé), les annotations, qui ne représentent pas les objets eux-mêmes ni les situations, sont supprimées ou converties.
|
||||
---
|
||||
|
||||
"""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."""
|
||||
|
||||
---
|
||||
|
||||
|
||||
##### Les automates spatiaux sont les automates dont les états sont des états d'un espace.
|
||||
|
||||
Leurs règles de transition transforment donc un état d'un espace en un autre état d'un espace.
|
||||
|
||||
Plusieurs types de restrictions permettent de différencier et de classer les automates spatiaux.
|
||||
- L'espace de départ et celui d'arrivée peuvent être semblables (avoir des propriétés identiques) ou non.
|
||||
- Les espaces peuvent être discrets ou non, finis ou non.
|
||||
- Dans le cas des espaces discrets et finis, chaque transition peut concerner une ou plusieurs unités de l'espace.
|
||||
- Les unités de l'espace peuvent 'contenir' un booléen, un entier ou une approximation d'un nombre réel.
|
||||
NB Si elle ne contiennent rien, seule la forme de l'espace peut être modifiée.
|
||||
- ... (liste non limitative)
|
||||
|
||||
##### Equivalence des automates cellulaires et des gem-graph.
|
||||
|
||||
Les règles des automates cellulaires (CA) ne modifient qu'une case à la fois et ces cases contiennent des booléens.
|
||||
Les règles des gem-graph (GG) modifient l'état de plusieurs cases à la fois et ces cases contiennent des entiers.
|
||||
|
||||
Comme il est possible de coder n'importe quel entier par des booléens, tout GG peut être simulé par un CA.
|
||||
Comme il est possible de coder n'importe quel booléen par un entier, tout CA peut être simulé par un GG.
|
||||
Il est plus facile de simuler un CA par un GG que l'inverse.
|
||||
|
||||
---
|
||||
|
||||
A chaque espace peut être associé un nombre entier unique. Cet entier contient toute l'information nécéssaire et suffisante pour reconstituer cet espace.
|
||||
Toutes les règles de transition d'un état d'un espace à un autre état consistent donc en l'association de deux nombres entiers codant l'un pour l'état de l'espace de départ et l'autre pour celui de l'arrivée. A chaque règle de transition peut donc être associée un entier unique codant pour cette association.
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
19
theory.en.md
19
theory.en.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
Space, objects.
|
||||
Is a discrete space, whose cells have sites (syn: vessels, quivers, slots, locations, space holders) directed towards the neighboring cells. These sites may contain zero, one or several arrows that can be stacked and directed towards the same neighboring cell. Any distribution of arrows in the sites is a directed multigraph. It defines a state of the space.
|
||||
The cell is the smallest unit of space. All cells are similar. All have the same number of sites. Each cell can have at most as many sites as there are other cells in space. The cells have no site directed towards themselves.
|
||||
The cell is the smallest unit of space. All cells are similar. All have the same number of sites. Each cell can have at most as many sites as there are other cells in space. The site zero is directed toward the cell itself.
|
||||
Each cell designated by an arrow can itself contain zero, one or several arrows.
|
||||
|
||||
An object is an isolated connex part of this graph. Each state space, unless the space is empty or saturated, describes at least one object. According to the number of dimensions of the space, objects of any shape can be drawn: monomers, polymers, strings, knots, surfaces, volumes, cavities, fluids, basic machines, etc ... They can be combined in the same space to describe situations.
|
||||
|
@ -30,14 +30,23 @@ Automaton
|
|||
A spatial automaton is a set of transition rules associated with an initial state of space.
|
||||
All the static information is in the space. All the dynamic information is in the rules. The automaton uses no other information. It must contain at least one transition rule and should not associate two identical ones.
|
||||
The transitions are local and asynchronous. They may be performed in parallel if their areas do not overlap. They are Markov processes.
|
||||
During a transition, all the transition rules are evaluated. If several can apply, one of them is selected at random or according any other algorithm.
|
||||
During a transition, all the transition rules are evaluated. If several, with the same set of conditions, can apply, one of them is selected at random or according any other algorithm. If several, with different sets of conditions, can apply, the one with the greatest number of conditions apply.
|
||||
|
||||
Transitions tree
|
||||
All transition rules of the same automaton can be grouped into a single tree: the transitions tree. This tree can be created automatically from a list of the rules. Each rule is written in the tree as a path from the root to a leaf. This path lists all the conditions that must be met for this transition rule to be applied. In each path, the conditions order is the same. It refers to an order previously defined on the set of all the sites of all the cells where an elementary rule can apply. This order is the same for all rules.
|
||||
At each node, each transition rule follows the branch whose number equals the number of arrows that met its condition for that site. Two rules follow the same path starting from the root as long as they share the same conditions. When they differ on one condition, they then follow two different branches. To each site on which a rule has a condition corresponds at least one node. Each node may have as many branches as there may be arrows in a site (including zero) plus one. This branch, known as neutral, is followed by the rules that have no conditions on this site but still have some conditions further.
|
||||
All transition rules of the same automaton can be grouped into a single tree: the conditions tree. This tree can be created automatically from any list of rules. Each rule is written in the tree as a path from the root to a leaf. This path lists all the conditions that must be met for this transition rule to be applied. It can also lists nodes that contain no condition for this rule but some conditions for other rules. Why is this ?
|
||||
The set of conditions of all the rules define a space which is named the local space. To recognize if a rule can apply, all the conditions of this rule must be checked. But when this research is done simultaneously for all the rules through the condition's tree, a sequence search has to be defined on the set of all the sites of all the cells of the local space in order to avoid checking several times the same site. This sequence search order is arbitrary and several orders can (and should) be compared.
|
||||
Whatever the search algorithm used, it has to establish a path that enumerate all the sites of all the cells of the local space at least once and once only. Using this enumeration or path, the search of a convenient rule through the conditions'tree proceeds as follows:
|
||||
At each step of the path is a site of a cell of the local space. At each step of this path is also a depth level of the conditions'tree. The number of arrows contained in the site is compared to the conditions of the various rules at this depth level.
|
||||
If no rules has a condition on the number of arrows contained in this site, the site is skipped and the search goes on to the next site and to the next depth level. The branch that links a node whith no conditions to the following node (or level) is called a neutral branch.
|
||||
Plus il y a de règles (moins il y a d’incertitude face à une situation), meilleure est la performance.
|
||||
If a rule contains a condition on the site, then the search follows a branch whose number equals the number of arrows that met its condition for that site.
|
||||
To summarize, two rules follow the same path starting from the root as long as they share the same conditions. When they differ on one condition, they then follow two different branches. To each site on which a rule has a condition corresponds at least one node.
|
||||
Each node may have as many branches as there may be arrows in a site (including zero) plus one. This branch, known as neutral, is followed by the rules that have no conditions on this site but still have some conditions further.
|
||||
|
||||
Performances
|
||||
Speed depend on the average depth of the transitions tree and on number of neutral branches. If all the possible situations are each described by a rule, there are no neutral branches and the performance is proportional to the average depth of the transitions tree. The maximal depth of the tree cannot exceed the number of sites the the local space contains.
|
||||
Speed depend on the average depth of the transitions tree and on number of neutral branches. If all the possible situations are each described by a rule, there are no neutral branches and the performance is proportional to the average depth of the transitions tree.
|
||||
The more rules (the less uncertainty about a situation), the better the performance.
|
||||
The maximal depth of the tree cannot exceed the number of sites the the local space contains.
|
||||
If some possible situations are not described by a rule, there are neutral branches. Then, exploring the local space may not lead to any change. The more neutral branches, the longer the exploration of the tree. This is because the nodes that have a neutral branch may need to be explored several times, if the exploration of their non-neutral branches fails.
|
||||
Speed depends lesser on the size of the area covered by the set of transition rules. This size mainy limits the number of possible parallel processes in the space.
|
||||
|
||||
|
|
56
theory.md
56
theory.md
|
@ -1,55 +1,67 @@
|
|||
# Propriétés réécrites des multigraphes dirigés géométriques. (déc 2017)
|
||||
# Réécriture des multigraphes dirigés géométriques. Propriétés, applications.
|
||||
(déc 2017, mars 2024)
|
||||
|
||||
Espace, objets.
|
||||
Est un espace discret, newtonien et euclidien, en représentation cartésienne, dont les cellules possèdent des sites (syn : vaisseaux, carquois, fentes, emplacements, supports d'espace) dirigés vers les cellules voisines. Ces sites peuvent contenir zéro, une ou plusieurs flèches qui peuvent être empilées et dirigées vers la même cellule voisine. Toute distribution de flèches dans les sites est un multigraphe dirigé. Elle définit un état de l'espace.
|
||||
La cellule est la plus petite unité de l'espace. Toutes les cellules sont semblables. Elles ont toutes le même nombre de sites. Chaque cellule peut avoir au plus autant de sites qu'il y a d'autres cellules dans l'espace. Les cellules n'ont aucun site dirigé vers elles-mêmes.
|
||||
Chaque cellule désignée par une flèche peut elle-même contenir zéro, une ou plusieurs flèches.
|
||||
|
||||
Un objet est une partie connexe isolée de ce graphe. Chaque espace d'état, sauf si cet espace est vide ou saturé, décrit au moins un objet. Selon le nombre de dimensions de l'espace, on peut dessiner des objets de forme quelconque : monomères, polymères, cordes, nœuds, surfaces, volumes, cavités, fluides, machines élémentaires, etc... Ils peuvent être combinés dans un même espace pour décrire des situations.
|
||||
L'espace est discret, newtonien et euclidien. Sa représentation est cartésienne. Ses cellules possèdent des sites dirigés vers les cellules voisines et peuvent avoir un site dirigé vers elles-mêmes. Le nombre et l'attribution de ces sites définit le voisinage : à chaque cellule voisine (pas nécessairement adjacente) est associé un site et un seul. Ces sites peuvent contenir zéro, une ou plusieurs flèches. Toute distribution de flèches dans les sites est un multigraphe dirigé. Elle définit un état de l'espace.
|
||||
La cellule est la plus petite unité de l'espace. Toutes les cellules sont semblables. Elles ont toutes le même nombre de sites. Chaque cellule peut avoir au plus autant de sites qu'il y a d'autres cellules dans l'espace.
|
||||
Une cellule désignée par une flèche provenant d'une cellule voisine peut elle-même contenir zéro, une ou plusieurs flèches réparties dans ses propres sites.
|
||||
|
||||
Règles de transition
|
||||
Une règle de transition associe plusieurs règles élémentaires dans un ordre quelconque. Chaque règle élémentaire associe une condition et une affectation. Les deux concernent un même site dans une même cellule.
|
||||
Un objet est une partie connexe isolée de ce graphe. Chaque espace d'état, sauf si cet espace est vide ou saturé, décrit au moins un objet. Selon le nombre de dimensions de l'espace, on peut dessiner des objets de forme quelconque : monomères, polymères, cordes, nœuds, surfaces, volumes, cavités, etc.
|
||||
Les objets peuvent être combinés dans un même espace pour décrire des situations : fluides, solides, machines élémentaires, etc.
|
||||
|
||||
Règles de transition.
|
||||
|
||||
Une règle de transition associe plusieurs règles élémentaires dans un ordre quelconque. Chaque règle élémentaire associe une condition et une assignation. Les deux concernent le même site dans la même cellule.
|
||||
Une condition associe les coordonnées d'un site dans une cellule à un nombre (c). Si le nombre de flèches de ce site est égal à (c), alors la condition est satisfaite. Sinon, elle ne l'est pas.
|
||||
Une affectation associe les coordonnées d'un site dans une cellule à un nombre (a). Si l'affectation est réalisée, alors le nombre de flèches qui contient ce site devient égal à (a).
|
||||
Une règle élémentaire peut modifier ou non l'état de l'espace. Une règle de transition doit comporter au moins une règle élémentaire et ne doit pas en faire intervenir plus d'une sur un même site.
|
||||
Une assignation associe les coordonnées d'un site dans une cellule à un nombre (a). Si l'assignation est réalisée, alors le nombre de flèches qui contient ce site devient égal à (a).
|
||||
Une règle élémentaire peut modifier ou non l'état de l'espace. Une règle de transition doit comporter au moins une règle élémentaire et ne doit pas en comporter plus d'une concernant un même site.
|
||||
|
||||
Chaque règle de transition définit deux états de l'espace : un initial et un final. Elle les définit complètement si elle combine autant de règles élémentaires qu'il y a de sites dans l'espace. Sinon, elle les définit partiellement ou localement.
|
||||
Inversement, pour toute paire formée de deux états quelconques de l'espace, il existe toujours une règle et une seule qui décrit la transition du premier à l'autre.
|
||||
|
||||
La réécriture du graphe permet d'associer à chaque objet ou groupe d'objets un mouvement, une déformation, un transport ou une transformation qui lui confère des propriétés variées : force, flexibilité, élasticité, perméabilité, fluidité, viscosité, etc... Des flèches dirigées vers des cellules vides peuvent être utilisées pour générer des connexions aléatoires qui peuvent mimer des défauts structurels ou des mutations. Toutes les interactions entre objets peuvent être décrites.
|
||||
|
||||
Propriétés des règles de transition
|
||||
Propriétés des règles de transition.
|
||||
|
||||
Pour tout état, il existe une seule règle de transition neutre qui ne modifie pas cet état.
|
||||
Toute règle de transition a une seule règle inverse qui produit son état initial à partir de son état final.
|
||||
Étant donné deux états (1) et (2) il existe toujours au moins une règle de transition produisant l'état (2) à partir de l'état (1) L'une de ces règles est la plus simple possible.
|
||||
Étant donné deux règles (a) et (b) dont l'état final de (a) est égal à l'état initial de (b), il existe une seule règle (c) (dite "composée") qui va de l'état initial de (a) à l'état final de (b). Si cette règle (c) fait partie de l'automate, le passage par l'état entre (a) et (b) est facultatif. Sinon, il est nécessaire. Dans ce cas, la règle (a) sera toujours exécutée avant la règle (b). Par conséquent, la propriété modélisée par la règle (a) peut être interprétée comme une cause de la propriété modélisée par la règle (b).
|
||||
Étant donné trois règles (a), (b) et (c) avec l'état final de (a) égal à l'état initial de (b) et l'état final de (b) égal à l'état initial de (c), il existe une seule règle de transition de l'état initial de (a) à l'état final (c). Cette règle peut être produite par les compositions successives de (a * b) * c ainsi que de a * (b * c). (associativité)
|
||||
L'aire d'une règle est constituée par l'ensemble des cellules contenant un site sur lequel il existe une condition à condition qu'aucune cellule ne soit modifiée par une affectation sans avoir été préalablement testée par au moins une condition.
|
||||
L'aire d'une règle est constituée par l'ensemble des cellules contenant un site sur lequel il existe une condition à condition qu'aucune cellule ne soit modifiée par une assignation sans avoir été préalablement testée par au moins une condition.
|
||||
|
||||
Automate.
|
||||
|
||||
Automate
|
||||
Un automate spatial est un ensemble de règles de transition associées à un état initial de l'espace.
|
||||
Toute l'information statique est dans l'espace. Toute l'information dynamique se trouve dans les règles. L'automate n'utilise aucune autre information. Il doit contenir au moins une règle de transition et ne doit pas en associer deux identiques.
|
||||
Les transitions sont locales et asynchrones. Elles peuvent être réalisées en parallèle si leurs zones ne se chevauchent pas. Elles sont des processus de Markov.
|
||||
Lors d'une transition, toutes les règles de transition sont évaluées. Si plusieurs peuvent s'appliquer, l'une d'entre elles est choisie au hasard ou selon tout autre algorithme.
|
||||
|
||||
|
||||
Arbre des transitions
|
||||
Toutes les règles de transition d'un même automate peuvent être regroupées en un seul arbre : l'arbre des transitions. Cet arbre peut être créé automatiquement à partir d'une liste de règles. Chaque règle est inscrite dans l'arbre sous la forme d'un chemin allant de la racine à une feuille. Ce chemin liste toutes les conditions qui doivent être remplies pour que cette règle de transition soit appliquée. Dans chaque chemin, l'ordre des conditions est le même. Il fait référence à un ordre défini précédemment sur l'ensemble des sites de toutes les cellules où une règle élémentaire peut s'appliquer. Cet ordre est le même pour toutes les règles.
|
||||
A chaque noeud, chaque règle de transition suit la branche dont le numéro est égal au nombre de flèches qui ont satisfait à sa condition pour ce site. Deux règles suivent le même chemin à partir de la racine tant qu'elles partagent les mêmes conditions. Lorsqu'elles diffèrent sur une condition, elles suivent alors deux branches différentes. A chaque site sur lequel une règle a une condition correspond au moins un noeud. Chaque nœud peut avoir autant de branches qu'il peut y avoir de flèches dans un site (y compris zéro) plus une. Cette branche, dite neutre, est suivie par les règles qui n'ont pas de condition sur ce site mais qui ont tout de même des conditions plus loin.
|
||||
Arbre des conditions.
|
||||
|
||||
Performances
|
||||
La vitesse dépend de la profondeur moyenne de l'arbre des transitions et du nombre de branches neutres. Si toutes les situations possibles sont chacune décrites par une règle, il n'y a pas de branches neutres et la performance est proportionnelle à la profondeur moyenne de l'arbre des transitions. La profondeur maximale de l'arbre ne peut pas dépasser le nombre de sites que contient l'espace local.
|
||||
Si certaines situations possibles ne sont pas décrites par une règle, il y a des branches neutres. Dans ce cas, l'exploration de l'espace local peut ne conduire à aucun changement. Plus il y a de branches neutres, plus l'exploration de l'arbre est longue. En effet, les nœuds qui ont une branche neutre peuvent devoir être explorés plusieurs fois, si l'exploration de leurs branches non neutres échoue.
|
||||
La vitesse dépend moins de la taille de la zone couverte par l'ensemble des règles de transition. Cette taille limite principalement le nombre de processus parallèles possibles dans l'espace.
|
||||
Toutes les règles de transition d'un même automate peuvent être regroupées en un seul arbre : l'arbre des conditions. Cet arbre peut être créé automatiquement à partir d'une liste de règles. Chaque règle est inscrite dans l'arbre sous la forme d'un chemin allant de la racine à une feuille. Ce chemin liste toutes les conditions qui doivent être remplies pour que cette règle de transition soit appliquée. Dans chaque chemin, l'ordre des conditions est le même. Il fait référence à un ordre défini précédemment sur l'ensemble des sites de toutes les cellules où une règle élémentaire peut s'appliquer. Cet ordre est le même pour toutes les règles.
|
||||
A chaque noeud, chaque règle de transition suit la branche dont le numéro est égal au nombre de flèches qui ont satisfait à sa condition pour ce site. Deux règles suivent le même chemin à partir de la racine tant qu'elles partagent les mêmes conditions. Lorsqu'elles diffèrent sur une condition, elles suivent alors deux branches différentes. A chaque site sur lequel une règle a une condition correspond au moins un noeud. Chaque nœud peut avoir autant de branches qu'il peut y avoir de flèches dans un site (y compris zéro) plus une. Cette branche, dite neutre, est suivie par les règles qui n'ont pas de condition sur ce site mais qui ont tout de même des conditions qui n'ont pas été évaluées jusqu'ici lors du parcours de l'arbre.
|
||||
|
||||
Performances.
|
||||
|
||||
La vitesse dépend de la profondeur moyenne de l'arbre des transitions et du nombre de branches neutres. Si toutes les situations possibles sont chacune décrites par une règle, il n'y a pas de branches neutres et la performance est proportionnelle à la profondeur moyenne de l'arbre des transitions. La profondeur maximale de l'arbre ne peut pas dépasser le nombre de sites que contient l'espace de travail.
|
||||
Si certaines situations possibles ne sont pas décrites par une règle, il y a des branches neutres. Dans ce cas, l'exploration de l'espace de travail peut ne conduire à aucun changement. Plus il y a de branches neutres, plus l'exploration de l'arbre est longue. En effet, les nœuds qui ont une branche neutre doivent éventuellement être explorés plusieurs fois. Cela se produit si l'exploration de leurs branches non neutres échoue ou si plusieurs transitions sont possibles à partir de ce nœud avec chacune une probabilité inférieure à 1 (leur somme étant égale à 1).
|
||||
La vitesse dépend aussi de la taille de la zone couverte par l'ensemble des règles de transition (l'espace de travail). Cette taille limite principalement le nombre de processus parallèles possibles dans l'espace.
|
||||
|
||||
La granularité n'est pas fixée une fois pour toutes. Il est possible de gérer simultanément des objets ou parties d'objets proches et lointains en combinant des flèches de courte et longue portée. Celles-ci permettent de détailler des zones d'intérêt locales au sein d'une situation décrite de manière globale et d'associer différents niveaux de granularité jusqu'à une approximation d'un espace continu.
|
||||
En utilisant les flèches, il est également possible d'inscrire dans l'espace des étiquettes spécifiques qui peuvent être associées à n'importe quel objet ou situation. Cette technique permet de maintenir une séparation claire entre les informations statiques et dynamiques. Cette séparation est la condition d'une conception unique des règles qui permet, à son tour, leur réécriture automatique.
|
||||
En utilisant les flèches, il est également possible d'inscrire dans l'espace des étiquettes spécifiques qui peuvent être associées à n'importe quel objet ou situation. Cette technique permet de maintenir une séparation claire entre les informations statiques et dynamiques eu utilisant le "pattern recogniion". Cette séparation est la condition d'une conception unique des règles qui permet, à son tour, leur réécriture automatique.
|
||||
|
||||
Ajout d'automates.
|
||||
|
||||
Ajout d'automates
|
||||
Plusieurs automates peuvent être ajoutés à condition que leurs espaces partagent la même dimension et le même pavage. Des objets provenant de modèles différents peuvent alors être dessinés dans le même espace pour construire un nouvel état initial. Toutes les règles, puisqu'elles utilisent le même formalisme, peuvent être regroupées dans un même arbre.
|
||||
Au cours du processus d'addition, des redondances ou des conflits peuvent apparaître. Les redondances se produisent lorsque deux règles provenant de modèles différents effectuent des opérations identiques sur des situations identiques, une seule instance de ces règles doit être conservée. Les conflits apparaissent lorsqu'une règle d'un modèle effectue une opération non désirée sur certains objets ou situations d'un autre modèle. Cela peut être dû à une description inadéquate par les règles. Deux types de solutions sont alors possibles et non exclusives : modifier les formes des objets et/ou ajouter de nouvelles conditions à certaines règles afin de restreindre leur domaine d'application. Si les représentations des modèles sont correctes, alors les conflits révèlent une contradiction entre les modèles eux-mêmes : une opération effectuée par un modèle n'est pas souhaitée par l'autre. Des conflits peuvent également apparaître lorsqu'un objet unique est associé à plusieurs tags différents (les tags peuvent être utilisés comme des clés).
|
||||
|
||||
Perspectives
|
||||
Un modèle gem-graph peut être associé à une description continue (par équations différentielles) d'une répartiotion de fermions et à des phénomènes décrits par des bosons. Dans ces deux cas, une condition et une action spécifique sont nécéssaires.
|
||||
|
||||
Perspectives.
|
||||
|
||||
- Production automatique (par IA) d'ensembles de règles de transition à partir de la définition graphique des états initiaux et finaux.
|
||||
- Aide graphique pour l'édition de règles individuelles à partir de dessins schématiques de situations.
|
||||
- Ajout d'objets et de règles à partir de plusieurs modèles indépendants.
|
||||
|
|
Loading…
Reference in New Issue