In Silico
par Florence Gouvrit

logiciel: Ing. Marco Antono Montes de Oca

 

In Silico est un environnement de simulation visuelle tridimensionnelle, où il existe une collection d' objets qui se développent d' après ses caractéristiques et ses interactions, puis du temps. Le patron de croissance de tous les objets est formé à travers des systèmes L.


Les Systèmes-L

Se sont une formalisation mathématique de la théorie axiomatique du développement biologique proposé par le biologiste Aristid Lindenmayer en 1968. Récemment les systèmes L ont trouvé beaucoup de d'applications dans le calcul graphique. L’ utilisation principale inclue la génération de fractales et les modèles réalistes de plantes.
Un idée centrale dans les systèmes L est la notion réecriture, comme cela arrive avec les grammaires régulières ou grammaires libres de contexte, où l'idée de base est de remplacer des symboles prédécesseurs par des groupes de symboles; Le système-L est basé sur la création d'objets complexes par remplacement de parties d'un objet initial en
utilisant un ensemble de règles de productions. Le processus de réecriture peut être une récursif.

Un Système-L est une grammaire formelle spécialisée. Les grammaires de Chomsky (1950) décrivent la syntaxe de langues naturelles. On s'intéresse pour des ensembles de chaînes de caractères (phrases, langages formels) et des méthodes pour les générer, reconnaître et transformer. Dans les L-systèmes l'application des règles de productions est parallèle et pas séquentielle comme dans les grammaires de Chomsky. L'interprétation sémantique de certains symboles d'une chaînes de caractères d'un L-système est basé sur la géométrie d'une "tortue 3D" de type LOGO.

Lindemayer a présenté un nouveau type de grammaire nommé plus tard système L. La différence essentielle avec la grammaire de Chomsky surgit dans la voie dont les productions sont appliquées. Dans le système de Chomsky, les productions sont appliquées séquentiellement, tandis que dans le système L ceux-ci sont appliqués dans parallèle, remplaçant simultanément tous les symboles d'un mot seul.
Les mots ou les expressions appartenant à la langue produite par un système L ont une interprétation géométrique dans l'espace, c'est, chaque expression tirée d'un système L correspond avec un objet qui peut être placé dans l'espace.
Le type de système L utilisé dans In Silico est un système L parametrique-stocastique. Les symboles parametrique sont les symboles d'un alphabet associé aux nombres réels.

En plus des expressions paramétricas qui aboutissent a des structures variables dans l'espace, d’après le système parametrique, ces systèmes L assignent une probabilité de substitution à chaque production, faisant le langage produit "instable".
L'alphabet est formé par symboles de deux catégories : symboles terminaux et non-terminaux, c’est-à-dire des symboles remplaçables et des symboles pas remplaçables. Généralement, les symboles terminaux ont une interprétation géométrique, tandis que les non-terminaux servent seulement a définir un patron de développement à travers un remplacement.
Prenons un exemple présent dans « La Beauté Algorithmique des Plantes »

Soit :
Axiome = X
Production 1= X -> A[+X][X][-X]
Production 2= A -> FF

Dans ce cas “X” a été remplacé par une formule qui signifie que la branche se divise en 3 branches.


• « F» se traduit en dessinant dans l’espace une ligne, et « FF » dessine une deuxième ligne à la suite de la première
• « [ ] » veulent dire : faire l'action et retour au le point d'origine
Les "Bracketed L-systems" permettent de créer des structures arborescentes
• «+» et «-» designent une rotation de la ligne par rapport à l'origine
• Chaque production est un « mot »

C'est-à-dire : l'axiome est le module de base, chaque fois qu’il va être reproduit, il cherche si un des éléments dans l'expression doit être remplacé. Alors il retrouve la Production 1 et remplace le X par la mot qui lui correspond, puis il exécute l'instruction de croissance. La lecture de la phrase continue, et les lettres sont remplacées ou produites jusqu'à la fin du mot.

La différence entre la grammaire de Chomsky et celle de Lindemayer reflète la motivation biologique des systèmes L. Les productions essayent de capturer la division cellulaire dans les organismes multicellulaires où les divisions apparaissent de façon simultanée. Le système L permet non seulement la description et la reconstruction de structures bidimensionnelles symétriques, mais aussi aux formes sphériques tridimensionnelles, cellulaires, de croissances chaotiques interrompues ou sous l'influence des forces physiques, permettant de comprendre comment travaille la croissance.



Les modèles d'Intelligence artificielle (IA) distribuée (systèmes multiagents)

Les systèmes de IA utilisent des connaissances de bon sens ou spécialisés et les exploitent dans les mécanismes de raison, c'est-à-dire dans des systèmes basés sur la connaissance. La base de cettte IA represente la connaissance dans les différents types de logique. Par exemple, les systèmes experts de production.

Un autre aspect de l'intelligence basée sur la connaissances est celui de l'intelligence collective, qui consiste en provoquer un comportement intelligent a travers la coopération d'entités (agents) autonomes et avec un travail particulier. On peut fournir ces agents une capacité cognitive, de connaissances, de « raison », c’est un " systèmes multiagents ".
Dans les systèmes multiagents, chaque agent a un comportement purement réactif et quoiqu'il est exempt d'intelligence, cela apparaît comme un comportement intelligent qui s'ensuit de la pertinence des échanges parmi des agents.

Ces systèmes permettent par exemple, realiser un model pour la construction d'un nid de thermite ou des comportements distribués d’insectes pour réaliser un but de manière collectif.
Les agents sont autonomes, capables d’agir de manière «independante » et exhibant un contrôle sur leurs états internes. L’agent est donc un logiciel capable d’agir de manière autonome dans un certain environnement.



Le système multiagents dans In Silico

L'interaction parmi des objets et la base temporelle utilisée pour permettre le développement des objets, est contrôlé par une collection d’agents. Les agents utilisés sont de type réactif, donc le comportement total du système est le résultat de la communication entre ceux-ci.

Il existe 5 types d'agents définis d’après leurs fonctions: un agent de contrôle du display; un agent principal qui détermine le nombre et le type d'objets dans la simulation, aussi bien que le moment dans lequel ils se développent; un agent qui synchronise l'audio avec le display; un agent qui contrôle le temps; un agent qui produit les expressions parametriques d'un système L et un agent qui les interprète et les transforme en géométrie.
Au début de la simulation se créent un contrôleur de display; un sincronizeur d’audio et un agent principal qui crée à son tour un certain nombre d’agents producteurs, interprètes et de temps, dans la même proportion, cela font possible que chaque objet se développe indépendamment des autres.

Le développement d'un objet passe par quatre phases: croissance, reproduction, vieillissement et mort. Les événements de croissance, vieillissement et mort, dépendent quoique non exclusivement, du temps, tandis que l'événement de reproduction dépend de l'interaction avec d'autres objets dans l'environnement. L'âge d'un objet peut être réduit par le nombre d’interaction qui lui arrivent.
Il y a une interaction lorsqu’ un objet envahit l'espace vital d'un autre objet, défini par un volume invisible de l'objet en question.
C’est à travers la communication inter-agents que les objets peuvent réagir, celle-ci se derroule a travers l’echange de messages asynchrones, c'est-à-dire, qu’il ne demande pas un confirmation, ce qui fait possible une interaction beaucoup plus agile.