Gem-graph/theory.md

60 lines
11 KiB
Markdown
Raw Normal View History

2021-04-02 16:59:45 +02:00
# Propriétés réécrites des multigraphes dirigés géométriques. (déc 2017)
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.
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.
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.
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
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.
2021-06-08 13:20:36 +02:00
É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.
2021-04-02 16:59:45 +02:00
É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.
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.
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.
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.
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
- 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.
Cette propriété pourrait permettre d'intégrer des modèles conçus ou développés par différentes équipes travaillant en parallèle sur des mécanismes distincts impliquant les mêmes objets.
Les méta-règles pourraient aider à détecter les règles incomplètes ou incompatibles.
- La production aléatoire de règles peut avoir un intérêt pour l'apprentissage de modèles ou l'évolution. Les méta-règles peuvent être utilisées pour éliminer les règles mal construites avant leur exécution.
- Approximations des lois de conservation.