3292 lines
168 KiB
TeX
3292 lines
168 KiB
TeX
\chapter{Modèles et modélisation multi-niveau}\label{chap:partie-multi-modele}
|
||
\minitoc
|
||
|
||
\section{Introduction}
|
||
Dans ce chapitre, nous nous intéressons au développement d'un cadre formel pour
|
||
la spécification de \emph{modélisations multi-niveau}.
|
||
%%
|
||
Ce type de modélisation est souvent rencontrée dans les approches intégratives
|
||
des \emph{systèmes complexes}, dans de nombreuses disciplines:
|
||
%%
|
||
\begin{itemize}
|
||
|
||
\item pour le couplage de modèles pour la description d'une cellule entière
|
||
(en biologie) ou la description d'un système de villes (en géographie);
|
||
\item pour le raffinement de modèles par la transformation de modèles (en
|
||
ingénierie des modèles) ou le raffinement de données et de processus (en
|
||
biologie);
|
||
\item pour la complexification de modèles dans les Cellular Non-linear Networks
|
||
(\cnn, en électronique), ou dans les Memory Evolutive Neural Systems (\mens,
|
||
en mathématiques), ces deux exemples étant présentés dans la section suivante.
|
||
|
||
\end{itemize}
|
||
%%
|
||
Notre objectif n'est évidemment pas de répondre à ces questions mais d'apporter
|
||
un cadre de description commun, adapté et opérationnel (au sens où l'effectivité
|
||
d'un couplage pourrait être démontrée) pour les formaliser.
|
||
|
||
Ce chapitre est consacré au rapport entre modèles et modélisation multi-niveau.
|
||
Il nous paraît important d'aborder la question de la modélisation multi-niveau
|
||
d'abord dans sa généralité, plutôt que le cas particulier que constitue le champ
|
||
d'une discipline, tel que la biologie, la physique, l'écologie, ou un objet
|
||
d'étude comme la dynamique des populations, la cellule, les feux de forêts,
|
||
etc. Même si ces cas particuliers présentent un intérêt pratique et permettent
|
||
de valider une démarche ou répondre à une question immédiate, ils pourraient se
|
||
trouver limités par les habitudes et les usages liés à la discipline dont ils
|
||
sont issue.
|
||
|
||
%
|
||
L'objet de notre étude est donc de décrire l'étape franchie lors d'un changement
|
||
de niveau de description. Nous partirons donc d'une définition très générale des
|
||
modèles qui sera raffinée pour correspondre à des modèles existants et
|
||
mettre en lumière les différences et similarités entre ces formalismes.
|
||
%
|
||
Nous nous intéressons exclusivement aux modèles formels, c'est-à-dire des
|
||
modèles donnés sous la forme d'une définition utilisant le langage des
|
||
mathématiques et pouvant potentiellement être calculés par un programme
|
||
informatique. Dans la suite de ce document, sauf exception, nous emploierons le
|
||
terme «modèle» pour désigner un modèle formel.
|
||
|
||
Nous remarquons tout d'abord que déterminer des relations entre plusieurs
|
||
modèles est possible d'autant plus aisément que ces modèles évoluent dans la
|
||
même «classe», celle des modèles d'un même système, et qu'ils sont rédigés dans
|
||
un formalisme commun. Par exemple, nous avons agencé les différents modèles
|
||
de la dynamique temporelle du potentiel de la membrane neuronale en terme de
|
||
«finesse» de description dans la \textsc{Fig.}~\ref{fig:neuron-models-relation};
|
||
ces modèles sont tous décrits à l'aide d'équations différentielles ordinaires,
|
||
déterministes, et décrivent des dynamiques dans le domaine continu.
|
||
|
||
\begin{figure}[ht]
|
||
\centering
|
||
\begin{tikzpicture}[auto,%
|
||
arc/.style={-stealth, shorten >=2pt, semithick},
|
||
model/.style={draw, rounded corners=2pt}]
|
||
\node[model] (HH) at (0,0) {Hodgkin-Huxley};
|
||
\node[model] (IF) [above left=25pt and -20pt of HH] {Integrate-and-Fire};
|
||
\node[model] (H) [above=of IF] {Hopfield};
|
||
\node[model] (ML) [above right=28pt and -20pt of HH] {Morris-Lecar};
|
||
\node[model] (CWM) [below left=of HH] {CWM};
|
||
\node[model] (C85) [below=of HH] {Chay '85};
|
||
\node[model] (C90) [below right=of HH] {Chay '90};
|
||
|
||
\node[model] (FN) [right=of ML] {FitzHugh-Nagumo};
|
||
\node[model] (VDP) [above=of FN] {Van-Der-Pol};
|
||
\node[model] (RH) [below=of FN] {Hindmarsh-Rose};
|
||
|
||
\node[model] (G) [left=of IF] {Golovasch};
|
||
\node[model] (GGG) [above=of G] {GGG};
|
||
|
||
\node[model] (WC) [below=of G] {Wilson-Cowan};
|
||
\node[model] (SLOM) [below=of WC] {SLOM};
|
||
|
||
|
||
\draw[arc] (H) to node {\cite{abbott_model_1990}} (IF);
|
||
\draw[arc] (IF) to node[swap,pos=0.3] {\cite{abbott_model_1990,burkitt_review_2006}} (HH);
|
||
\draw[arc] (ML) to node[pos=0.3] {\cite{morris_voltage_1981}} (HH);
|
||
\draw[arc] (FN) to node {\cite{hindmarsh_model_1984}} (RH);
|
||
\draw[arc] (VDP) to node {\cite{fitzhugh_impulses_1961}} (FN);
|
||
\draw[arc] (WC) to node {\cite{stein_improved_1974}} (SLOM);
|
||
% Just looking at the equations and because in Stein
|
||
% they "follow Cowan's suggested formulation"
|
||
\draw[arc] (HH) to node[swap] {\cite{abarbanel_synchronisation_1996}} (CWM);
|
||
\draw[arc] (HH) to node {\cite{abarbanel_synchronisation_1996}} (C85);
|
||
\draw[arc] (HH) to node {\cite{abarbanel_synchronisation_1996}} (C90);
|
||
\draw[arc] (GGG) to node {\cite{golomb_reduction_1993}} (G);
|
||
|
||
\end{tikzpicture}
|
||
\caption{Revue de quelques modèles de neurones. Nous avons fait pointer
|
||
informellement les flèches vers les modèles ayant un «niveau de détail» plus
|
||
grand.}
|
||
\label{fig:neuron-models-relation}
|
||
\end{figure}
|
||
|
||
Plusieurs champs de recherche s'intéressent aux relations entre modèles, chacun
|
||
ayant sa portée et ses limites. Nous donnons, dans la section suivante, une
|
||
courte présentation de quelques uns de ces domaines, ainsi qu'un bref aperçu des
|
||
résultats qu'ils apportent.
|
||
|
||
\FloatBarrier
|
||
\section{Modélisation multi-niveau}\label{sec:multiniveau}
|
||
%%
|
||
La \emph{modélisation multi-niveau} est un terme que nous avons adopté pour
|
||
rendre compte des techniques de modélisation couplant plusieurs modèles pour
|
||
décrire un système. Dans ce contexte, un modèle propose d'observer le système
|
||
étudié à travers le prisme d'un point de vue particulier, appelé \emph{niveau de
|
||
description}. La notion de \emph{niveau} met ici l'accent sur le fait que chaque
|
||
modèle peut ne s'intéresser qu'à une sous-partie du système (peu importe ce que
|
||
l'on entend par sous-partie ici) et propose donc une description incomplète du
|
||
système. C'est par le couplage entre les modèles que ces \emph{descriptions}
|
||
complémentaires se complètent mutuellement, pour finalement obtenir une
|
||
description plus pertinente du système dans son ensemble.
|
||
%%
|
||
Ainsi, la modélisation multi-niveau met en avant une méthodologie générique
|
||
pour l'élaboration d'un modèle par composition (d'autres modèles). Dans
|
||
cette section, nous nous intéressons à différents exemples de composition de
|
||
modèles pour en analyser les difficultés. Nous en concluons que la notion
|
||
d'\emph{identité} est au cœur de la modélisation multi-niveau.
|
||
|
||
\subsection{Couplage de modèle}
|
||
%%
|
||
|
||
|
||
Dans cette section nous nous intéressons à deux exemples types de couplages de
|
||
modèles.
|
||
%%
|
||
Le premier exemple concerne la \emph{modélisation intégrative} du phénotype
|
||
d'une cellule biologique entière à partir des modélisations des différents
|
||
mécanismes moléculaires qui la composent.
|
||
%%
|
||
Le second exemple s'intéresse à la \emph{morphogénèse} d'une communauté de
|
||
villes à partir de modélisations orientées quartier.
|
||
%%
|
||
Dans ces deux exemples, des modèles élémentaires sont utilisés pour en conjuguer
|
||
les points de vue et obtenir une description plus complète du système. Dans les
|
||
deux cas également, un changement d'échelle s'opère, entre les considérations
|
||
micro(scopiques) des modèles élémentaires, et le niveau macro(scopique) du
|
||
système étudié.
|
||
|
||
\subsubsection{Modélisation intégrative d'une cellule entière}
|
||
%%
|
||
En modélisation, l'approche \emph{intégrative} consiste à construire des modèles
|
||
en cherchant à expliquer \emph{simultanément} plusieurs phénomènes, permettant
|
||
de révéler des dynamiques n'apparaissant pas dans des approches indépendantes.
|
||
%%
|
||
Ces modèles sont construits par l'accumulation de modèles préexistants jugés
|
||
valides et par l'établissement d'un réseau de communication entre ces modèles,
|
||
voire la conception d'adaptateurs permettant de «traduire» la sortie d'un modèle
|
||
en l'entrée d'un autre.
|
||
%%
|
||
Cette approche est particulièrement développée dans le monde de la recherche
|
||
sur le vivant~\cite{grace_integrative_2016}, et permet des échanges prolifiques
|
||
entre les nombreuses disciplines de la biologie (généticiens, physiologistes,
|
||
comportementalistes, paléontologistes, écologistes, etc.) et donc entre les
|
||
nombreuses perspectives d'un même système qu'il est possible de récolter.
|
||
|
||
De nombreux projets utilisent cette approche pour comprendre le fonctionnement
|
||
d'un organisme biologique complet, comme par exemple une cellule. À titre
|
||
d'exemple, un modèle computationel d'une cellule entière de \emph{Mycoplasma
|
||
genitalium} est proposé dans~\cite{karr_whole-cell_2012-1}. Ce modèle donne
|
||
l'expression complète du phénotype de la cellule à partir de son génome en
|
||
formulant des hypothèses sur de nouveaux mécanismes biologiques.
|
||
%%
|
||
L'approche de ce projet passe par le concept de \emph{modularité biologique} qui
|
||
permet de déterminer une liste d'observables du système dont les valeurs
|
||
correspondent à des états de la cellule. Plusieurs modèles permettent
|
||
d'expliquer séparément comment certaines observables sont liées entre elles. Une
|
||
fois ces modules établis, les modèles sont assemblés en suivant les relations
|
||
entre les observables, puis ajustés pour respecter les contraintes physiques et
|
||
biologiques du système dans son ensemble.
|
||
|
||
Les solutions élaborées durant ce type de projet sont pour le moment \emph{ad
|
||
hoc} et la recherche de méthodes génériques pour rendre cette approche
|
||
utilisable pour la description d'autres systèmes biologiques est en cours.
|
||
%%
|
||
Le projet précédent a par exemple mis en lumière, dans une seconde
|
||
publication~\cite{macklin_future_2014}, une liste de sept limites à dépasser
|
||
pour généraliser leur approche intégrative à d'autres organismes. Parmi ces
|
||
points, les suivants, attireront plus particulièrement notre attention car ils
|
||
évoquent les limites des outils pour la modélisation intégrative:%
|
||
|
||
\begin{description}
|
||
|
||
\item[Agrégation des données] L'acquisition des données disponibles
|
||
dans la littérature a été compliquée par l'absence d'une source \emph{unifiée}
|
||
permettant de compiler l'ensemble des connaissances sur un sujet en
|
||
particulier, dans ce cas sur l'organisme étudié. La modélisation d'une
|
||
cellule entière bénéficierait grandement d'outils permettant d'agréger et de
|
||
\emph{normaliser} toutes les données nécessaires à la calibration des modèles;
|
||
|
||
\item[Construction et intégration de modèles] Un facteur limitant a
|
||
été la disparité des types de modèles décrivant à différentes échelles
|
||
d'espace et de temps l'organisme. Unifier la modélisation intégrative
|
||
passerait donc par une \emph{généralisation} du concept de modèle à travers
|
||
un cadre mathématique commun à l'ensemble de la modélisation. Comprendre et
|
||
\emph{analyser} les relations entre modèles dépend de l'existence ce cadre
|
||
commun;
|
||
|
||
\item[Calcul accéléré] La simulation numérique est un outil clef de la
|
||
réussite de ce projet. Chaque simulation de \emph{Mycoplasma genitalium} a été
|
||
très consommatrice en temps de calcul, ce qui est un facteur limitant pour la
|
||
réussite des projets futurs. Élaborer des modèles d'organismes plus complexes
|
||
dépendra donc fortement de la capacité des simulateurs à explorer une large
|
||
portion de l'espace des paramètres dans un temps plus restreint. Le calcul
|
||
général sur carte graphique, via un framework tel que CUDA ou OpenCL, est une
|
||
piste à explorer pour améliorer l'efficacité des simulateurs;
|
||
|
||
\end{description}
|
||
|
||
\subsubsection{Modélisation multi-échelle de la croissance des villes}
|
||
|
||
Les modèles à base d'agents sont souvent utilisés en géographie pour rendre
|
||
compte des dynamiques observables sur une carte: le système est étudié
|
||
à travers des effets de masse observés dans les populations d'agents.
|
||
|
||
Le projet
|
||
SimPop~\cite{pumain_simpop:_1995}\footnote{\url{http://www.simpop.parisgeo.cnrs.
|
||
fr}}, illustre cette approche dès 1996 avec une collaboration entre géographes
|
||
et informaticiens aboutissant à Simpop1, le premier modèle géographique à base
|
||
d'agents s'intéressant à la construction de réseaux de villes et à la transition
|
||
urbaine.
|
||
%%
|
||
En 2006, l'évolution à la fois de la puissance de calcul des machines et de
|
||
l'expressivité des langages de programmation, permet le développement d'une
|
||
version améliorée, Simpop2~\cite{bretagnolle_theory_2006}. Ce nouveau simulateur
|
||
prend en compte de nombreuses \emph{fonctions urbaines} de différents types,
|
||
résidentielles, politiques, économiques, culturelles, liées au transport et
|
||
aux communications, sociales, etc. Le support de modélisation est un graphe
|
||
dynamique dont les nœuds sont les villes et dont l'évolution repose sur 4
|
||
grandes étapes, à savoir la constitution d'un réseau d'échanges, d'un marché
|
||
d'échanges, d'un équilibrage de ces échanges et l'évaluation des changements.
|
||
|
||
Le projet SimPop propose également d'autres modèles, tel que SimpopNano qui
|
||
prend le contre-pied des plateformes précédentes en se concentrant non seulement
|
||
sur les relations inter-urbaines mais intra-urbaines: les villes qui étaient
|
||
les agents deviennent les objets d'étude décrits comme des agrégations de
|
||
quartiers.
|
||
%%
|
||
SimpopNano s'intéresse en effet à l'évolution d'une ville, vue comme un graphe
|
||
statique dont les nœuds en sont les quartiers et où la dynamique est donnée à
|
||
travers neuf règles d'évolution locale, chacune correspondant à une fonction
|
||
urbaine.
|
||
|
||
Le couplage entre Simpop2 et SimpopNano est un des enjeux du projet SimPop.
|
||
Simpop3, proposé dans~\cite{louail_comparer_2010}, est un simulateur de la
|
||
dynamique des villes répondant à cette problématique.
|
||
%%
|
||
Le couplage entre ces deux modèles est \emph{vertical} : il assemble trois
|
||
échelons d'une échelle d'espace géographique, à savoir quartier, ville et
|
||
système de villes, et exprime l'interdépendance entre les deux modèles:%
|
||
\begin{itemize}
|
||
\item le système de villes contraint la dynamique au niveau ville du système ;
|
||
\item rétroactivement, l'activité intra-urbaine influence les entrées du modèle
|
||
inter-urbain.
|
||
\end{itemize}
|
||
%%
|
||
La ville est donc le point d'articulation entre les deux modèles et constitue un
|
||
niveau de représentation intermédiaire, \emph{mésoscopique}. Le point essentiel
|
||
consiste à \emph{identifier} les agrégats de quartiers de SimpopNano et les
|
||
agents-villes de Simpop2. Nous reviendrons en fin de section sur cette notion
|
||
d'identité.
|
||
|
||
En terme de dynamique, dans SimpopNano, les villes sont construites à partir
|
||
des quartiers et sont mises à jour à chaque pas de la simulation. Dans Simpop2,
|
||
les agents-villes sont à l'origine de la dynamique d'un système de villes. Le
|
||
couplage se fait simplement car la concurrence sur la ressource agent-ville
|
||
n'est pas prise en compte, ce qui autorise une indépendance entre les modèles.
|
||
Ainsi, au cours d'une simulation de Simpop3, les deux sous-modèles sont juste
|
||
appelés alternativement.
|
||
|
||
|
||
|
||
\subsection{Transformation de modèles}\label{sec:modeltrans}
|
||
|
||
Dans la section précédente, la modélisation multi-niveau était synonyme de
|
||
modélisation multi-échelle, avec un rapport entre un niveau macro et un niveau
|
||
micro.
|
||
%%
|
||
Dans cette section, les modèles entretiennent un rapport différent: les modèles
|
||
décrivent les mêmes objets, mais le niveau de granularité entre ces descriptions
|
||
varie.
|
||
%%
|
||
L'opération fondamentale de ces approches est le passage d'un niveau de
|
||
granularité à un autre niveau de granularité par une \emph{transformation de
|
||
modèles}. Les deux paragraphes suivants illustrent cette approche.
|
||
|
||
\subsubsection{Ingénierie des modèles}
|
||
|
||
Dans le domaine de l'informatique et de la conception logicielle,
|
||
l'\emph{ingénierie des modèles} (\emph{model-driven engineering}
|
||
en anglais) est une méthodologie de développement se concentrant sur la partie
|
||
métier du logiciel, c'est-à-dire ce qui dans un logiciel fait abstraction de
|
||
l'implémentation. L'objectif de cette discipline est l'automatisation de la
|
||
conception logicielle à partir d'une représentation abstraite pouvant ensuite
|
||
être \emph{transformée} en des représentations de plus en plus concrètes
|
||
jusqu'au logiciel final. L'ingénierie des modèles part du principe qu'un
|
||
domaine d'application est plus fortement dépendant d'une représentation
|
||
abstraite des connaissances et des activités liées à ce domaine, que des
|
||
concepts algorithmiques et des techniques nécessaires à la mise en œuvre d'une
|
||
implémentation. Par exemple, pour un problème donné, il existe plusieurs
|
||
logiciels répondant à ce problème, implémentés de façons différentes: il existe
|
||
bien \emph{quelque chose} d'unique et de plus abstrait qu'un logiciel qui est
|
||
propre à la fois au problème et à la solution.
|
||
|
||
Considérant les modèles comme des objets de première classe, l'ingénierie des
|
||
modèles cherche à développer, maintenir et faire évoluer un logiciel au moyen
|
||
de \emph{transformations} : des fonctions d'ordre supérieur prenant des modèles
|
||
en argument. Ces fonctions sont implémentables et exécutables afin que les
|
||
transformations de modèles soient des procédures automatiques.
|
||
%%
|
||
Ce type de procédure est fréquent en informatique. La compilation est un exemple
|
||
historique de transformation de modèles, où l'on entend ici les langages de
|
||
programmation comme des « modèles de code source »: compiler consiste à définir
|
||
des transformations de code source à code source. Le langage diagrammatique
|
||
d'\emph{Unified Modeling Language} (UML~\cite{UML}), qui permet d'exprimer
|
||
des modèles de conception, est un candidat classique à la transformation de
|
||
modèles. Dans ce contexte, les transformations se présentent comme des règles
|
||
de réécriture de graphe (voir~\cite{taentzer_model_2005} pour une étude sur les
|
||
transformations de graphes appliquées aux transformations de modèles).
|
||
|
||
Pour notre approche multi-niveau, l'ingénierie des modèles nous apporte deux
|
||
éléments importants.
|
||
%%
|
||
Le premier élément provient de la définition même de modèle, qui y est vu
|
||
comme la description d'un système spécifiée dans un \emph{langage bien
|
||
défini}~\cite{kleppe_mda_2003}. Le langage de description est si important
|
||
qu'il est souvent lui-même décrit comme un modèle; on parlera alors de
|
||
\emph{méta-modèle}. On rapprochera ce langage de description de la notion de
|
||
\emph{formalisme}.
|
||
%%
|
||
Le second élément provient des transformations de modèles dont une taxonomie est
|
||
donnée dans~\cite{mens_taxonomy_2006}.
|
||
On retiendra notamment les catégories suivantes:
|
||
%
|
||
\begin{description}
|
||
|
||
|
||
\item[Transformation endogène \emph{vs.} transformation exogène:] une
|
||
transformation est exogène lorsque le langage de description du modèle cible est
|
||
différent du modèle de description du langage source.
|
||
|
||
\item[Transformation horizontale \emph{vs.} transformation verticale:] nous
|
||
retrouvons ici la notion de granularité mentionnée plus haut; lors d'une
|
||
transformation verticale le niveau d'abstraction entre le modèle source et le
|
||
modèle cible est modifié. La notion d'abstraction jouera un rôle important dans
|
||
notre proposition.
|
||
|
||
\end{description}
|
||
%
|
||
|
||
|
||
\subsubsection{Raffinement de modèles}\label{sec:raffinement}
|
||
|
||
Bien que la description précédente de l'ingénierie des modèles soit orientée
|
||
informatique, les mêmes considérations se retrouvent dans d'autres disciplines.
|
||
%%
|
||
Par exemple, une méthodologie classique de la modélisation à base d'équations
|
||
différentielles de systèmes (bio)chimiques consiste à élaborer un modèle simple
|
||
à partir d'un ensemble initial d'espèces et de réactions, puis de l'enrichir
|
||
soit avec de nouvelles espèces (on parlera de \emph{raffinement des données}),
|
||
soit avec de nouvelles réactions (on parlera de \emph{raffinement des
|
||
processus}).
|
||
%%
|
||
À chaque itération, un nouveau modèle est établi puis ajusté pour prendre en
|
||
compte les observations du système.
|
||
%%
|
||
Le processus de raffinement à l'œuvre génère ainsi une suite de modèles ordonnés
|
||
du moins détaillé au plus détaillé.
|
||
%%
|
||
La preuve de raffinement entre deux modèles peut se faire de façon classique ou
|
||
bien via un outil spécialisé comme le langage Z~\cite{stepney_more_1998}.
|
||
|
||
Une des difficultés du raffinement de modèles se situe dans l'ajustement
|
||
des modèles construits. Une méthode systématique a été développée pour
|
||
dériver à partir d'un modèle établi et préalablement ajusté, un modèle
|
||
raffiné préservant l'ajustement. Cette méthode ne se limite pas aux
|
||
systèmes d'équations différentielles mais couvre également le champ des
|
||
réseaux de Petri, des systèmes réactifs et des langages à commandes
|
||
gardées~\cite{gratie_quantitative_2013}.
|
||
|
||
|
||
|
||
\subsection{Complexification}\label{sec:complexification}
|
||
|
||
La modélisation des systèmes complexes constitue l'un des enjeux
|
||
principaux de l'approche multi-niveau que nous souhaitons développer.
|
||
L'Institut des Systèmes Complexes (\ISC), une structure française
|
||
pluridisciplinaire de recherche spécialisée sur le sujet, en donne,
|
||
dans sa proposition de DIM «Approches interdisciplinaires des systèmes
|
||
complexes»\footnote{Document disponible en ligne à l'adresse \url{
|
||
https://iscpif.fr/wp-content/uploads/2016/09/PreProjetDim2017.pdf}}, la
|
||
définition suivante:
|
||
\begin{quote}
|
||
Les systèmes complexes sont des systèmes présentant un grand nombre d’entités
|
||
différenciées, dont la multitude des interactions locales conduisent à
|
||
l’émergence de propriétés globales difficilement prédictible par la seule
|
||
connaissance des propriétés de ces entités. Le niveau local fait ainsi émerger
|
||
des formes organisées au niveau global, lequel influence en retour le niveau
|
||
local (immergence). Interactions locales et structures globales peuvent ainsi
|
||
se conjuguer dans la description des dynamiques des systèmes complexes.
|
||
\end{quote}
|
||
%
|
||
Cette définition n'est pas sans rappeler les exemples de couplage de modèles que
|
||
nous avons vu plus haut, qui entrent en effet dans le cadre des systèmes
|
||
complexes.
|
||
|
||
Dans cette section, notre intérêt ne se portera pas sur la modélisation des
|
||
systèmes complexes dans toute sa généralité, mais plus particulièrement sur le
|
||
concept de \emph{complexification}, c'est-à-dire sur la façon de capturer dans
|
||
ces modèles les «phénomènes émergents» et sur comment les réifier au niveau
|
||
local afin qu'ils deviennent des acteurs de leur propre dynamique.
|
||
%%
|
||
Nous présentons pour cela la complexité à travers 3 points de vue théoriques.
|
||
%%
|
||
Le premier exemple montre la difficulté d'appréhender la complexité à cause d'un
|
||
manque de vocabulaire au niveau bas de description.
|
||
%%
|
||
Le deuxième exemple attribue la complexité à une cause énergétique par le
|
||
phénomène d'\emph{activité locale}.
|
||
%%
|
||
Finalement, dans un dernier exemple, le processus de complexification est
|
||
analysé d'un point de vue structurel par l'établissement d'un modèle formel
|
||
connexionniste.
|
||
|
||
|
||
|
||
|
||
|
||
\subsubsection{Raffinement et émergence}
|
||
En 2005, F. Polack et S. Stepney~\cite{polack_emergent_2005} présentent une
|
||
approche de la complexité en rapport avec le raffinement de modèles, que nous
|
||
avons présenté dans la section~\ref{sec:raffinement}. L'idée centrale de leur
|
||
approche est qu'une propriété d'un modèle est émergente s'il n'est pas possible
|
||
de l'obtenir par un raffinement naïf, c'est à dire par une unique relation de
|
||
raffinement. Dans cet article, les auteurs prennent pour exemple le raffinement
|
||
d'une propriété considéré comme émergente, volontairement simple et observable
|
||
dans le fonctionnement d'un automate cellulaire en deux dimensions, pour
|
||
mettre en évidence les difficultés que posent le raffinement d'un comportement
|
||
émergent.
|
||
%%
|
||
Nous présentons la démarche de raffinement simplifiée pour lier une propriété
|
||
donnée au composants bas niveau d'un système formel, dans notre cas ce système
|
||
est un automate cellulaire en deux dimensions muni des lois d'évolution du «jeu
|
||
de la vie». Elle repose habituellement sur les 3 étapes suivantes:
|
||
\begin{enumerate}
|
||
\item Exprimer la propriété dans un formalisme;
|
||
\item Exprimer l'automate cellulaire dans un formalisme (potentiellement
|
||
différent du précédent);
|
||
\item Exprimer la relation entre les deux formalismes, prouvant ainsi que la
|
||
propriété est exprimable dans le contexte des automates cellulaires.
|
||
\end{enumerate}
|
||
%%
|
||
Posséder un \emph{glider}~\cite{gardner_mathematical_1970} est une propriété
|
||
connue pour être émergente, aussi il serait intéressant de déterminer
|
||
comment la raffiner. Elle est initialement spécifiée informellement par:
|
||
\begin{quote}
|
||
Le système doit présenter une région, traversée par un motif répété, appelé
|
||
«glider». Lorsque deux gliders se rencontrent, il en résulte un unique glider
|
||
qui se déplace dans la direction d'un des deux gliders incidents.
|
||
\end{quote}
|
||
%%
|
||
Cette propriété est précise, cependant elle reste non déterministe. Tentons
|
||
de la raffiner: nous prendrons naturellement les automates cellulaires comme
|
||
support cible, car notre objectif est d'identifier les composants bas niveau
|
||
responsables de ce comportement.
|
||
%%
|
||
Un glider se définit par la fenêtre qu'il traverse et un vecteur de déplacement.
|
||
Il est aussi nécessaire de décrire la collision de deux gliders et le résultat
|
||
de cette collision. Pour spécifier un automate cellulaire, nous formalisons
|
||
d'abord sa cellule, son état, sa fonction de transition et son voisinage.
|
||
Ensuite, nous choisissons une représentation formelle d'une collection de
|
||
ses cellules et de l'application synchrone des fonctions de transitions,
|
||
habituellement appelées fonctions de transition locales (pour une définition
|
||
complète, voir page \pageref{def:ca}).
|
||
|
||
Pour poursuivre la procédure, une sous-division discrète de la fenêtre traversée
|
||
par le glider est introduite, par exemple sous la forme d'une grille $4 \times
|
||
4$. Le premier problème qui se pose est que le raffinement de la spécification
|
||
informelle est plus précise que la spécification originale, ce qui est voulu,
|
||
mais également plus précise que la représentation ciblée. Dans le cas d'un
|
||
raffinement classique, au contraire, le raffinement d'une propriété de haut
|
||
niveau amène à un niveau d'abstraction intermédiaire, c'est-à-dire entre la
|
||
spécification d'origine et la spécification cible.
|
||
%
|
||
\begin{figure}[t]
|
||
\centering
|
||
\includegraphics[page=1,height=2cm]{ca-glider}
|
||
\includegraphics[page=2,height=2cm]{ca-glider}
|
||
\includegraphics[page=3,height=2cm]{ca-glider}
|
||
\includegraphics[page=4,height=2cm]{ca-glider}
|
||
\includegraphics[page=5,height=2cm]{ca-glider}
|
||
\caption{Les cinq configurations possibles d'un glider contenues dans une
|
||
fenêtre de $4 \times 4$ cellules.}
|
||
\label{fig:ca-glider}
|
||
\end{figure}
|
||
%
|
||
Lors de la mise en œuvre du raffinement des \emph{données} de la spécification
|
||
d'un glider, à savoir «fenêtre» et «glider», il apparaît qu'il n'est pas
|
||
possible de décrire un glider par un unique état spatial: un glider est en
|
||
fait constitué d'une succession des cinq configurations présentées dans la
|
||
\textsc{Fig.}~\ref{fig:ca-glider}. De plus, la configuration initiale de
|
||
l'automate est importante: elle doit exactement correspondre à une de ces cinq
|
||
configurations possibles.
|
||
%%
|
||
Ensuite, lors de la spécification des \emph{opérations} du glider, à savoir
|
||
«déplacement», «collision» et «résolution», il est déjà difficile d'exprimer ces
|
||
opérations sur une grille. Pour le déplacement par exemple, la fenêtre pourrait
|
||
se déplacer sur une grille extérieure, dans une direction une fois tous les
|
||
quatre pas des états du glider \emph{dans la fenêtre}, ne pas bouger ou bien
|
||
faire un pas dans la direction orthogonale. Les opérations de collision et de
|
||
résolution sont tout aussi difficiles à décrire.
|
||
|
||
Nous constatons qu'il est difficile d'exprimer la relation de raffinement de la
|
||
propriété «posséder un glider» dans des termes propres aux automates cellulaires
|
||
en deux dimension en une étape. De plus, cette relation ne sera manifestement
|
||
pas unique.
|
||
%%
|
||
Les difficultés à rendre concrète une propriété témoigne de son caractère
|
||
émergent: elle est observable mais n'est pas concrètement implémentée dans le
|
||
système. L'idée centrale de~\cite{polack_emergent_2005} est la suivante: il
|
||
existe une incompatibilité entre les langages de description qui (1) rend la
|
||
spécification concrète des gliders difficiles et (2) empêche toute élaboration
|
||
directe d'une preuve de raffinement avec le vocabulaire des automates. Cette
|
||
caractéristique est propre aux systèmes possédant des propriétés émergentes.
|
||
|
||
|
||
\subsubsection{Complexification dans les \cnn}
|
||
L. Chua a introduit en 1998 le concept d'\emph{activité locale} (\emph{local
|
||
activity})~\cite{mainzer_local_2013}. Ce concept est décrit comme le maillon
|
||
manquant permettant d'expliquer l'apparition de motifs complexes dans un médium
|
||
homogène.
|
||
%%
|
||
L'activité locale, définie initialement dans le cadre des circuits
|
||
électroniques~\cite{chua_cnn:_1997}, caractérise la propriété
|
||
d'auto-organisation, c'est à dire la capacité d'un système à posséder une
|
||
dynamique qui lui est propre, à travers une construction mathématique explicite.
|
||
La définition a été par la suite généralisée à la classe plus larges des
|
||
systèmes de réaction-diffusion non linéaires utilisés en physique, en chimie, en
|
||
biologie et dans le cadre de la recherche sur le cerveau.
|
||
%%
|
||
L'activité locale permet d'expliquer la brisure de symétrie dans un médium
|
||
homogène. Dans les paragraphes suivants, nous présentons de manière succincte
|
||
quelques définitions proposées par les auteurs pour l'activité locale, la
|
||
complexité et le seuil du chaos (\emph{edge of chaos}).
|
||
|
||
\begin{figure}[ht]
|
||
\centering
|
||
\includegraphics[page=1,width=.48\textwidth]{cnn-synapses}\hfill
|
||
\includegraphics[page=2,width=.48\textwidth]{cnn-synapses}
|
||
\caption[Schéma des synapses des cellules d'un CNN]{Connexion des synapses
|
||
pour le signal de contrôle (à gauche) et pour le signal de rétroaction (à
|
||
droite) pour la cellule au centre, entourée de huit voisines (cette
|
||
illustration est inspirée de~\cite{chua_cnn:_1997})}
|
||
\label{fig:cnn-synapses}
|
||
\end{figure}
|
||
|
||
L'activité locale est à l'origine définie dans le cadre des réseaux non
|
||
linéaires de cellules (\cnn pour \emph{Cellular Non-linear Networks}).
|
||
Un \cnn est un modèle formel constitué d'une grille orthogonale en trois
|
||
dimensions sur les nœuds de laquelle est disposée une collection de systèmes
|
||
dynamiques continus et non linéaires. Chaque cellule isolée d'un \cnn est
|
||
décrite par quatre paramètres: son entrée, son état, son seuil et sa sortie.
|
||
Les cellules du \cnn sont alors couplées à leurs voisines inclues dans
|
||
une sphère d'influence prédéfinie avec un certain rayon. Pour une cellule
|
||
donnée, son entrée est la somme pondérée des sorties de ses voisines (signal
|
||
de rétroaction) \emph{et} la somme pondérée des entrées de ses voisines
|
||
(signal de contrôle). Une représentation graphique est donnée dans la
|
||
\textsc{Fig.}~\ref{fig:cnn-synapses}.
|
||
|
||
L'état d'une cellule est définie par un système d'équations de
|
||
réaction-diffusion. Il est notamment caractérisé par deux variables
|
||
vectorielles\footnote{Nous utilisons ici les notations
|
||
de~\cite{mainzer_local_2013}.}:
|
||
\begin{itemize}
|
||
|
||
\item $\mathbf{V}_a$, une fonction continue du temps, homogène à une tension et
|
||
représentant l'état interne de la cellule;
|
||
|
||
\item $\mathbf{I}_a$, une fonction continue du temps, homogène à une intensité
|
||
et représentant l'entrée de la cellule.
|
||
|
||
\end{itemize}
|
||
%%
|
||
L'activité locale s'intéresse aux fluctuations d'énergie induites par
|
||
des variations de l'entrée d'une cellule initialement placée en un point
|
||
d'équilibre.
|
||
En notant $\mathbf{v}_a$ et $\mathbf{i}_a$ les variations respectives de
|
||
$\mathbf{V}_a$ et $\mathbf{I}_a$, la fluctuation d'énergie entre l'instant
|
||
initial et un instant $T < \infty$, est donnée par:
|
||
\begin{equation}
|
||
w(T) = \int_0^T \mathbf{v}_a(t).\mathbf{i}_a(t).dt
|
||
\end{equation}
|
||
%%
|
||
On dira qu'une cellule est \emph{localement active} à l'instant $T$ si et
|
||
seulement si $w(T) < 0$. En effet, en supposant nulle l'énergie de la cellule à
|
||
$t=0$, une énergie stockée strictement négative à $t=T$ signifie que la cellule
|
||
a \emph{apporté} de l'énergie au système. Une cellule active agit comme une
|
||
source de puissance en amplifiant un signal faible.
|
||
%%
|
||
Par exemple, un transistor muni d'une batterie dans un circuit, ou bien un
|
||
neurone muni d'une réserve de glucose dans un réseau, sont des éléments actifs;
|
||
batterie et glucose jouent le rôle d'une réserve d'énergie disponible que la
|
||
cellule peut utiliser ou distribuer.
|
||
|
||
La complexité est finalement caractérisée comme la présence d'un motif (statique
|
||
et non homogène, ou spatio-temporel) dans un médium (discret ou continu)
|
||
constitué de cellules identiques interagissant avec leurs cellules voisines
|
||
(sphère d'influence), obéissant aux mêmes lois d'interaction, et avec des
|
||
conditions initiales et de bord homogènes. On peut alors montrer qu'un médium
|
||
de \emph{réaction-diffusion} présente de la complexité si, et seulement si, il
|
||
existe des cellules localement actives dans ce médium.
|
||
|
||
Bien qu'aucun vocabulaire ne soit disponible au niveau des cellules pour en
|
||
parler directement, ce travail montre comment des motifs peuvent être
|
||
représentés par l'ensemble des cellules localement actives. Il s'agit bien là
|
||
d'un exemple de complexification à rapprocher fortement des considérations
|
||
développées dans le chapitre~\ref{chap:partie-activite} sur l'identification des zones
|
||
actives dans les modélisations \mgs.
|
||
|
||
Une question reste néanmoins en suspens: lorsque les motifs ont des propriétés
|
||
spatio-temporelles, l'ensemble des cellules localement actives peut varier en
|
||
fonction du temps, amenant à la problématique du suivi des motifs malgré un
|
||
support fluctuant. Les travaux d'A. Ehresmann, que nous introduisons dans la
|
||
section suivante, proposent une réponse à cette question.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\subsubsection{Complexification structurelle}\label{sec:ehresmann}
|
||
|
||
Nous tâchons ici de présenter, sans entrer dans les détails, le \emph{processus
|
||
de complexification} introduit par A. Ehresmann et J.-P.
|
||
Vanbermeersch~\cite{ehresmann_mens:_2012}.
|
||
%%
|
||
Leurs travaux s'intéressent à l'utilisation des \emph{systèmes évolutifs à
|
||
mémoire} pour la modélisation du vivant, et plus particulièrement de la
|
||
complexité. L'approche cherche à être la plus générale possible et repose sur
|
||
une formalisation catégorique des systèmes dynamiques.
|
||
|
||
Pour plus de clarté, nous nous concentrons ici sur le concept de \emph{Memory
|
||
Evolutive Neural System} (\mens), une des applications de la méthodologie
|
||
proposée à la modélisation des interactions neuronales. L'objectif de cette
|
||
construction est de fournir des arguments en faveur de l'émergence des fonctions
|
||
cognitives depuis les interactions neuronales, allant jusqu'aux concepts de
|
||
conscience, de pensée et d'intention. Nous ne nous intéresserons ici qu'au
|
||
processus de complexification.
|
||
|
||
Un réseau de neurones est représenté par un graphe $\text{Neur}_t$ dont
|
||
les nœuds, notés $N(t)$, sont des neurones et dont les arcs (orientés),
|
||
notés $S(t)$, décrivent les liens entre les neurones. Chaque lien est
|
||
pondéré par un délai de propagation. Le graphe est nécessairement fermé
|
||
transitivement: étant donnés trois neurones $n_1,n_2,n_3 \in N(t)$, si
|
||
les arcs $(n_1,n_2)$ et $(n_2,n_3)$ existent, l'arc $(n_1,n_3)$ existent
|
||
également. Un réseau est un objet dynamique et s'inscrit donc dans le temps
|
||
(représenté par l'indice $t$). Au cours de son évolution, des nœuds peuvent
|
||
apparaître ou disparaître, entraînant l'apparition ou la disparition d'arcs.
|
||
L'ensemble des réseaux $\text{Neur}_t$ forme une collection $\text{Neur}$ (voir
|
||
\textsc{Fig.}~\ref{fig:ce-neur}) munie d'une fonction de \emph{transition} $k$
|
||
qui, pour chaque couple d'instants $t < t'$, relie les nœuds de $N(t)$ à ceux
|
||
de $N(t')$ et les arcs de $S(t)$ à ceux de $S(t')$ en préservant l'incidence,
|
||
propriété assurée par la fonctorialité de $k$ (la définition d'un foncteur est
|
||
donnée dans la définition~\ref{def:foncteur}), et en vérifiant la transitivité suivante
|
||
(présentée ici sur les nœuds uniquement): pour trois instants $t < t' < t''$ et
|
||
trois nœuds $(n_1,n_2,n_3)\in N(t) \times N(t') \times N(t'')$:
|
||
|
||
\begin{itemize}
|
||
\item si $n_2$ est l'image de $n_1$ par $k_{t \rightarrow t'}$ et $n_3$ est
|
||
l'image de $n_2$ par $k_{t' \rightarrow t''}$, alors $n_3$ est l'image de
|
||
$n_1$ par $k_{t \rightarrow t''}$; et
|
||
|
||
\item si $n_2$ est l'image de $n_1$ par $k_{t \rightarrow t'}$ et $n_3$ est
|
||
l'image de $n_1$ par $k_{t \rightarrow t''}$, alors $n_3$ est l'image de $n_2$
|
||
par $k_{t' \rightarrow t''}$.
|
||
\end{itemize}
|
||
|
||
%0. (v) Neur, le réseau des neurones
|
||
\begin{figure}[p]
|
||
\centering
|
||
\includegraphics[page=1,width=.75\textwidth]{complexification-ehresmann}
|
||
\caption{$\text{Neur}$ propose un point de vue dynamique sur un réseau
|
||
de neurones. À chaque instant $t$, l'état du réseau est vu comme un graphe
|
||
$\text{Neur}_t$.}
|
||
\label{fig:ce-neur}
|
||
\end{figure}
|
||
|
||
%1. (v) Neurone catégoriel ou Cat-neurone
|
||
\begin{figure}[p]
|
||
\centering
|
||
\includegraphics[page=2,width=.25\textwidth]{complexification-ehresmann}
|
||
\caption{Le cat-neurone $N$ est un neurone abstrait ayant le même
|
||
comportement fonctionnel que les neurones de la famille $P$.}
|
||
\label{fig:ce-catneur}
|
||
\end{figure}
|
||
|
||
%2. (v) Cat-neurones: Liens simples + Bascule complexe (complex switch)
|
||
\begin{figure}[p]
|
||
\centering
|
||
\qquad
|
||
\includegraphics[page=4,width=.5\textwidth]{complexification-ehresmann}
|
||
\hfill
|
||
\includegraphics[page=3,width=.35\textwidth]{complexification-ehresmann}
|
||
\qquad
|
||
\caption{
|
||
À gauche, un lien simple: si $P$ et $P'$ forment un cluster, symbolisé par
|
||
une bande grise, alors il existe un lien simple entre $N$, le binding de
|
||
$P$et $N'$ le binding de $P'$. %
|
||
À droite, une bascule complexe: un cat-neurone peut être fonctionnellement
|
||
équivalent à plusieurs familles de neurones.}
|
||
\label{fig:ce-simplelink-complexswitch}
|
||
\end{figure}
|
||
|
||
%3. (v) Cat-neurones: l'apparition de liens complexes
|
||
\begin{figure}[p]
|
||
\centering
|
||
\includegraphics[page=5,width=.75\textwidth]{complexification-ehresmann}
|
||
\caption{Un lien complexe est la composition de deux liens
|
||
simples à travers une bascule complexe.}
|
||
\label{fig:ce-complexlink}
|
||
\end{figure}
|
||
|
||
|
||
Le processus de complexification est compris dans ce contexte comme la
|
||
reconnaissance d'un comportement synchronisé, en prenant en compte les délais
|
||
de communication imposés par les arcs du réseau, d'un groupe de neurones
|
||
agissant collectivement sur d'autres neurones. Le point important de cette
|
||
complexification est que ce comportement collectif peut lui-même être représenté
|
||
par un neurone $n$.
|
||
%%
|
||
Ainsi, lorsqu'une famille $P$ de neurones agit collectivement avec un neurone
|
||
$n'$ du réseau, cette action peut être représentée par un lien unique $s$ entre
|
||
$n$ et $n'$. Le lien $s$ joue un rôle totalement équivalent à la somme des liens
|
||
des neurones de $P$ vers $n'$ (voir \textsc{Fig.}~\ref{fig:ce-catneur}).
|
||
%%
|
||
Formellement, $n$ correspond à une colimite du diagramme défini par $P$,
|
||
appelée \emph{binding} dans ce contexte. Le cas intéressant apparaît lorsque le
|
||
\emph{binding} n'existe pas, c'est-à-dire lorsqu'aucun neurone de $\text{Neur}$
|
||
ne représente de façon élémentaire le comportement collectif. On propose
|
||
alors d'enrichir le système initial $\text{Neur}$ avec ces nouveaux neurones
|
||
abstraits, appelés \emph{cat-neurones}, et correspondant aux \emph{bindings}
|
||
manquants.
|
||
%%
|
||
Une hiérarchie de complexification peut alors être mise en place: les neurones
|
||
de $\text{Neur}$ sont des \emph{cat-neurones} de niveau 0, alors que les
|
||
\emph{bindings} manquants sont des cat-neurones de niveau 1. Le processus peut
|
||
être itéré pour obtenir des cat-neurones de niveau $l$ à partir des cat-neurones
|
||
de niveau $l-1$.
|
||
|
||
En plus d'être capable de réifier les comportements «émergents» en tant
|
||
qu'objets de base, ici des neurones, le modèle permet également le suivi au
|
||
cours du temps de ces comportements.
|
||
%%
|
||
Ce suivi repose sur deux notions:
|
||
|
||
\begin{enumerate}
|
||
|
||
\item \emph{Lien simple}: un lien simple permet d'associer l'évolution d'un
|
||
cat-neurone à l'évolution de la famille qui l'engendre.
|
||
%
|
||
Soient $P$ et $P'$ deux familles de neurones. Un \emph{cluster} entre $P$ et
|
||
$P'$ est une famille maximale de liens entre les neurones de $P$ et ceux de
|
||
$P'$ représentant l'évolution des neurones de $P$ en neurones de $P'$ (nous ne
|
||
rentrerons pas plus dans les détails techniques). Si $P$ et $P'$ admettent $n$
|
||
et $n'$ comme \emph{bindings} respectifs, le \emph{cluster} admet également
|
||
une colimite sous la forme d'un lien entre $n$ et $n'$, appelé \emph{lien
|
||
simple}. Ce lien représente l'évolution de $n$ en $n'$ (voir
|
||
\textsc{Fig.}~\ref{fig:ce-simplelink-complexswitch} à gauche).
|
||
|
||
\item \emph{Bascule complexe}: un lien simple ne permet pas à lui seul le suivi
|
||
d'un cat-neurone car la famille $P$ peut disparaître au cours de son
|
||
évolution. Cependant, d'autres familles que $P$ peuvent engendrer le même
|
||
cat-neurone.
|
||
%%
|
||
On dira que deux familles de neurones $P$ et $P'$ forment une \emph{bascule
|
||
complexe} lorsque $P$ et $P'$ engendrent le même \emph{binding} (voir
|
||
\textsc{Fig.}~\ref{fig:ce-simplelink-complexswitch} à droite).
|
||
|
||
\end{enumerate}
|
||
%%
|
||
On trouvera \textsc{Fig.}~\ref{fig:ce-complexlink} une illustration de la notion
|
||
de \emph{lien complexe} montrant comment combiner \emph{lien simple} et
|
||
\emph{bascule complexe} pour déterminer l'évolution d'un cat-neurone malgré la
|
||
structure dynamique du réseau.
|
||
|
||
|
||
|
||
\subsection{Bilan}
|
||
|
||
L'ensemble des travaux présentés ci-dessus nous amènent à considérer qu'un outil
|
||
de modélisation devrait regrouper les propriétés suivantes:
|
||
%
|
||
\begin{description}
|
||
|
||
\item[Cadre unifié:] Les conclusions de~\cite{macklin_future_2014} sur leur
|
||
expérience de multi-modélisation d'une cellule entière de \emph{Mycoplasma
|
||
genitalium} montrent qu'une uniformisation des descriptions est nécessaire
|
||
pour produire un outil adapté à l'intégration de données provenant de sources
|
||
multiples.
|
||
%%
|
||
Les différents points de vue pris sur un même objet, voire la disparité des
|
||
systèmes étudiés, impliquent une indépendance de l'outil par rapport aux
|
||
modèles pour permettre l'\emph{identification} des concepts partagés. Un
|
||
cadre unifiant et générique doit donc être développé de façon agnostique
|
||
vis-à-vis des sujets d'étude.
|
||
|
||
\item[Cadre formel:] L'analyse d'un modèle, allant de la simple simulation à
|
||
des techniques mathématiquement plus complexes (\emph{model checking}, analyse
|
||
abstraite, etc.), repose sur une description précise des modèles. Pour cela,
|
||
les modèles sont souvent décrits dans un cadre mathématique spécifique, appelé
|
||
\emph{formalisme}, dont la frontière permet d'assurer l'applicabilité des
|
||
techniques d'analyse.
|
||
|
||
Au-delà des facilités mathématiques offertes par les formalismes, un grand
|
||
nombre d'approches utilisent de façon formelle les propriétés «syntaxiques»
|
||
des spécifications des modèles afin de les manipuler. Les transformations de
|
||
modèles illustrent parfaitement cette dépendance à la description des modèles.
|
||
Les preuves de raffinement imposent que le modèle transformé traduise
|
||
effectivement les éléments du modèle d'origine.
|
||
|
||
La prise en compte de plusieurs formalismes va néanmoins à l'encontre du
|
||
caractère unifiant que nous impose le point précédent. Trouver un
|
||
sur-formalisme unique à un ensemble de formalismes classiques amène
|
||
nécessairement à lever les frontières qui faisaient des approches classiques
|
||
leur intérêt: plus un formalisme est général, moins il pourra nous apprendre
|
||
sur les modèles étudiés. Il est donc primordial de trouver un point
|
||
d'équilibre entre ces deux premiers points.
|
||
|
||
\item[Sémantique:] Un modèle ne se résume pas à une spécification mathématique
|
||
décrite dans un formalisme donné. En effet, si tel était le cas, un modèle se
|
||
réduirait à un objet symbolique vide de relations au système qu'il décrit. Sa
|
||
relation avec l'objet d'étude passe par une sémantique, c'est-à-dire, par une
|
||
structure supplémentaire décrivant l'interprétation des symboles.
|
||
|
||
La sémantique joue un rôle déterminant dans la compréhension et la
|
||
manipulation des modèles. Par exemple, le couplage de modèles repose
|
||
essentiellement sur l'\emph{identification} de concepts communs traités
|
||
différemment par les modèles. Une telle sémantique agit comme un moteur du
|
||
couplage: elle permet d'\emph{identifier} au sein de leurs spécifications les
|
||
éléments en relation avec les mêmes concepts. Un projet tel que l'intégration
|
||
dans un seul modèle de résultats scientifiques indépendants profiterait d'une
|
||
description homogène faisant référence à une ontologie partagée, c'est-à-dire
|
||
une base de concepts communs.
|
||
% L'établissement d'une ontologie est une problématique en soi.
|
||
% En effet, une ontologie n'est pas une simple collection de concepts mais
|
||
% également des relations entre ces concepts.
|
||
% Il va sans dire que les modèles eux-mêmes peuvent être utilisés pour établir
|
||
% ces relations; l'ontologie devient alors le support de la modélisation
|
||
|
||
\item[Abstraction:] Comme le montrent les techniques de raffinement, il est
|
||
naturel d'élaborer un modèle à partir d'une spécification grossière qui sera
|
||
incrémentalement transformée vers une forme plus dense prenant en compte des
|
||
aspects de plus en plus précis du système étudié. Si un modèle est vu comme
|
||
une abstraction d'un système, ce type de construction consiste à passer
|
||
d'une description abstraite vers une autre plus concrète, en respectant
|
||
la sémantique, dont l'objectif est de s'approcher à la limite du système
|
||
lui-même.
|
||
|
||
Les travaux cités précédemment nous laissent penser que ce mécanisme est à la
|
||
base de toute modélisation. À titre d'exemple, le couplage de modèles peut
|
||
être vu comme une forme d'utilisation de l'abstraction: le modèle obtenu par
|
||
couplage peut être vu comme le raffinement le plus abstrait obtenu en
|
||
combinant les modèles initiaux. Ainsi, Simpop3 est à la fois un raffinement de
|
||
Simpop2 et un raffinement de SimpopNano.
|
||
|
||
\item[Multi-niveau:] La problématique de la complexification, notamment à
|
||
travers les travaux de S. Stepney, montre que l'abstraction n'est pas une
|
||
opération suffisante pour parler des propriétés émergentes. La difficulté
|
||
vient essentiellement du manque de vocabulaire disponible à certains
|
||
niveaux de description pour exprimer des concepts présents de façon
|
||
élémentaire à d'autres niveaux, bien qu'il soit possible de les caractériser
|
||
qualitativement. La modélisation multi-niveau a pour objectif de mettre en
|
||
avant cette possibilité d'\emph{identifier} les entités de base d'un niveau
|
||
comme étant des propriétés observées à un autre niveau. Les travaux de A.
|
||
Ehresmann et L. Chua proposent d'\emph{identifier} cette fois une propriété
|
||
émergente à travers le comportement corrélé d'entités, par l'activation
|
||
commune d'un même cat-neurone dans le premier cas ou par la mesure de
|
||
l'activité d'une cellule dans le second. Les entités du niveau inférieur
|
||
enrichissent le niveau supérieur, mais ne le définissent pas entièrement. Un
|
||
cat-neurone ou une cellule localement active a la capacité d'influer en retour
|
||
sur le niveau inférieur et c'est l'association de ces deux mécanismes qui
|
||
détermine les entités des niveaux supérieurs.
|
||
|
||
\end{description}
|
||
|
||
|
||
|
||
|
||
|
||
\paragraph{Le Bateau de Thésée.}%
|
||
|
||
Les propriétés précédentes reposent fondamentalement sur différentes formes
|
||
d'identification, que ce soit entre les symboles d'un modèle et les concepts
|
||
sémantiques associés, les relations entre un modèle abstrait et son raffinement,
|
||
ou encore durant un processus de complexification.
|
||
%%
|
||
Cependant, l'identité est une notion polysémique riche dont les différentes
|
||
compréhensions peuvent aider à préciser certaines problématiques rencontrées en
|
||
modélisation.
|
||
|
||
Pour mettre en avant la profondeur du concept d'identité, le paradoxe du bateau
|
||
de Thésée est souvent employé. Plutarque, dans l'ouvrage «La vie de Thésée»
|
||
(traduit par D. Ricard~\cite{ricard_vie_1858}), fait état de la conservation de
|
||
son bateau par les athéniens après la mort de Thésée:
|
||
\begin{quote}
|
||
Le vaisseau sur lequel Thésée s'était embarqué avec les autres jeunes gens, et
|
||
qu'il ramena heureusement à Athènes, était une galère à trente rames, que les
|
||
Athéniens conservèrent jusqu'au temps de Démétrios de Phalère. Ils en ôtaient
|
||
les vieilles pièces, à mesure qu'elles se gâtaient, et les remplaçaient par
|
||
des neuves qu'ils joignaient solidement aux anciennes. Aussi les philosophes,
|
||
en disputant sur ce genre de sophisme qu'ils appellent croissant, citent ce
|
||
vaisseau comme un exemple de doute, et soutiennent les uns que c'était
|
||
toujours le même, les autres que c'était un vaisseau différent.
|
||
\end{quote}
|
||
|
||
La question est donc de déterminer si le bateau de Thésée, malgré sa
|
||
conservation et son entretien par les athéniens, garde son identité une fois que
|
||
toutes ses parties ont été remplacées. De plus, si lors des réparations chaque
|
||
pièce remplacée était utilisée pour reconstruire un bateau complet, ce dernier
|
||
serait-il le bateau de Thésée ?
|
||
|
||
Ces questions autour de l'identité qui hantent les philosophes depuis
|
||
l'antiquité, ont abouti à en donner différentes interprétations.
|
||
Dans~\cite{ferret_bateau_1996}, S. Ferret fait un état des lieux de ces
|
||
interprétations dont voici une brève description:
|
||
\begin{description}
|
||
|
||
\item[Identité numérique:] Il s'agit de la relation qu'entretient un objet avec
|
||
lui-même au cours du temps. Dans l'exemple précédent, l'\emph{identité
|
||
numérique} du bateau de Thésée est conservée au cours du temps, même si le
|
||
bateau subit des modifications au fur et à mesure. C'est la seule identité qui
|
||
résiste au temps.
|
||
|
||
\item[Identité spécifique:] Il s'agit de l'appartenance à une catégorie
|
||
commune, indépendamment de l'objet concerné. Ainsi, les planches constituant
|
||
initialement le bateau de Thésée font partie de la même \emph{identité
|
||
spécifique} et s'opposent aux planches nouvellement installées. D'un point
|
||
de vue logique, une identité spécifique peut être associée à la propriété
|
||
séparant les objets qui lui appartiennent de ceux qui ne lui appartiennent
|
||
pas.
|
||
|
||
\item[Identité qualitative:] Aussi appelée indiscernabilité, il s'agit de
|
||
l'identification d'objets que l'expérience ne permet pas de distinguer. Pris
|
||
au sens le plus strict, deux objets ayant les mêmes propriétés (qualités),
|
||
c'est-à-dire répondant de la même façon à \emph{toutes} les questions qui
|
||
leurs seraient posées, sont identiques.
|
||
|
||
\end{description}
|
||
|
||
Il est intéressant de constater que ces points de vue se mêlent en modélisation.
|
||
Notamment, la complexification structurelle d'A. Ehresmann permet d'observer les
|
||
trois identités à l'œuvre au sein d'une même construction. La
|
||
\textsc{Fig.}~\ref{fig:id-complexlink} présente leurs interactions lors de la
|
||
construction d'un lien complexe: l'identité numérique des (cat-)neurones dont
|
||
on suit l'évolution au cours du temps, l'identité spécifique des cat-neurones
|
||
d'un même niveau tous descriptibles de la même façon, et l'identité qualitative
|
||
des familles de neurones avec \emph{binding} caractérisées par leur comportement
|
||
synchronisé. On remarquera notamment sur ce dernier point l'indiscernabilité à
|
||
l'œuvre lorsque des familles d'une bascule complexe -- se comportant en tout
|
||
point de la même façon avec les autres neurones -- sont représentées par le même
|
||
cat-neurone.
|
||
|
||
\begin{figure}[h!]
|
||
\centering
|
||
\includegraphics[page=6,width=.95\textwidth]{complexification-ehresmann}
|
||
\caption[Identités et lien complexe]{%
|
||
Identités et lien complexe: les identités qualitatives sont données en
|
||
magenta, en orange et en rouge, les identités numériques sont données en
|
||
violet, en bleu et en cyan.%
|
||
}
|
||
\label{fig:id-complexlink}
|
||
\end{figure}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\FloatBarrier
|
||
\section{Une notion générale de modèle}\label{sec:consmodel}
|
||
|
||
Comme nous venons de le voir, le concept de modèle est riche et sa compréhension
|
||
varie suivant le domaine ou la technique utilisée. Notre objectif étant de
|
||
s'écarter des cas particuliers pour proposer un outil générique pour comprendre
|
||
la modélisation multi-niveau, il nous est nécessaire de définir une notion de
|
||
modèle qui permettra de rendre compte du plus grand nombre de cas d'application.
|
||
Dans cette section, nous proposons une telle définition.
|
||
|
||
Nous commençons par fixer une partie du vocabulaire utilisé pour finalement
|
||
proposer la définition générale qui nous intéresse. Cette généralité étant
|
||
un frein à l'étude des modèles, nous en proposons ensuite différentes
|
||
instanciations permettant de retrouver quelques classes de modèles couramment
|
||
rencontrées. Nous terminons par la présentation de différents modèles d'un même
|
||
système, un système proie/prédateur.
|
||
|
||
|
||
\subsection{Vocabulaire}\label{sec:formalism-model-system}
|
||
|
||
\newcommand{\modele}{\emph{modèle}\xspace}
|
||
\newcommand{\systeme}{\emph{système}\xspace}
|
||
\newcommand{\formalisme}{\emph{formalisme}\xspace}
|
||
\newcommand{\modeles}{\emph{modèles}\xspace}
|
||
\newcommand{\systemes}{\emph{systèmes}\xspace}
|
||
\newcommand{\formalismes}{\emph{formalismes}\xspace}
|
||
|
||
\begin{figure}[t]
|
||
\centering
|
||
\includegraphics[page=1,width=.65\textwidth]{fms}
|
||
\caption{Schéma des relations entre de notions de \systeme, \modele et
|
||
\emph{formalisme}.}
|
||
\label{fig:fms}
|
||
\end{figure}
|
||
|
||
Les trois notions importantes qui nous intéressent dans ce chapitre sont
|
||
celles de \systeme, de \modele et de \formalisme. Bien que, d'un point de
|
||
vue général, elles sont acceptées de tous, l'usage de ces termes peut varier
|
||
suivant le domaine. Notre objectif est de lever toute ambigüité en proposant au
|
||
lecteur notre propre compréhension de ces notions. En outre, nous utiliserons
|
||
ces définitions comme fondement de notre proposition. Ainsi, la figure
|
||
\textsc{Fig.}~\ref{fig:fms}, résumant les relations que nous avons pu mettre
|
||
en avant section~\ref{sec:multiniveau}, constitue le canevas du développement
|
||
décrit section~\ref{sec:compmodel}.
|
||
|
||
|
||
|
||
\paragraph{Système.}
|
||
|
||
On trouve dans de nombreuses disciplines l'utilisation du mot \systeme. En voici
|
||
quelques exemples:
|
||
\begin{itemize}
|
||
|
||
\item En informatique, le \systeme d'exploitation est un \emph{assemblage} de
|
||
programmes et de processus chargés de la gestion des périphériques au sens
|
||
large: la mémoire, les communications via une carte réseau, les entrées
|
||
utilisateur, les ressources processeur, etc.;
|
||
|
||
\item En anatomie, le terme \systeme désigne un \emph{assemblage} d'organes
|
||
interagissant au sein d'un organisme dans la réalisation d'une fonction
|
||
biologique commune: le \systeme nerveux, le \systeme digestif, etc.;
|
||
|
||
\item En physique, un \systeme est un \emph{assemblage} de points, de solides,
|
||
constitutif d'un fluide, d'un gaz, … dont il faut décrire l'évolution au
|
||
cours du temps;
|
||
|
||
\item En logique, un \systeme formel est un \emph{assemblage} comprenant
|
||
un vocabulaire, un ensemble d'axiomes et des règles de déduction.
|
||
|
||
\end{itemize}
|
||
Tous les exemples supplémentaires que nous pourrions trouver reposeraient eux
|
||
aussi sur deux notions essentielles:
|
||
\begin{enumerate}
|
||
|
||
\item Le terme \systeme désigne un objet d'étude. Il s'oppose à
|
||
l'environnement, c'est-à-dire à ce que l'on ne souhaite pas étudier mais qui
|
||
est potentiellement en interaction avec l'objet d'étude. Suivant le degré
|
||
d'importance de ces interactions, les termes de \systeme ouvert, fermé ou
|
||
isolé seront plus particulièrement employé.
|
||
|
||
\item Dans son étude, le \systeme est décomposé en parties, et l'étude porte
|
||
sur la compréhension des relations entre ces parties. D'ailleurs, l'origine
|
||
étymologique du mot \systeme est σύστημα qui, en grec ancien, désigne un
|
||
tout composé de plusieurs parties ou membres. Cette décomposition a son
|
||
importance dans notre approche car elle offre le vocabulaire nécessaire pour
|
||
désigner le système et, nous le verrons par la suite, constitue une base
|
||
pour la définition d'une sémantique.
|
||
|
||
\end{enumerate}
|
||
|
||
|
||
\paragraph{Modèle.}
|
||
|
||
L'acceptation générale du terme \modele fait état d'un objet utilisé comme
|
||
représentation d'un autre\footnote{Il existe néanmoins une compréhension opposée
|
||
de la notion de modèle, que l'on trouve par exemple dans le monde artistique où
|
||
un \modele est utilisé pour ensuite être représenté dans une œuvre (peinture,
|
||
dessin, littérature, etc.). Dans ce sens, on parle d'une forme d'idéal qu'on
|
||
cherche à atteindre. La définition à laquelle nous nous réfèrerons est celle du
|
||
\modele scientifique.}. Suivant la définition que nous venons de donner, l'objet
|
||
représenté correspond à un \systeme, dont un \modele a la charge d'en donner
|
||
une représentation suffisamment fidèle pour procéder à l'étude attendue. Dans
|
||
certains cas, le \systeme est existant et le \modele servira de représentation
|
||
simplifiée en vue d'une analyse souvent explicative du \systeme; dans d'autres
|
||
cas, il correspondra à une construction que nous souhaitons réaliser, le \modele
|
||
permettra alors, dans une approche d'ingénierie, d'étudier la possibilité de
|
||
réaliser le système, voire d'en guider la construction.
|
||
|
||
L'aspect dégradé de la représentation offerte par le \modele en fait une
|
||
abstraction du \systeme. Elle place les deux concepts dans des mondes \emph{a
|
||
priori} différents, l'un abstrait et l'autre concret. Par exemple le premier
|
||
peut être mathématique lorsque la modélisation est formelle et le second réel
|
||
quand l'objet d'étude existe dans la nature. Cependant, c'est bien la relation
|
||
entre le \modele et le \systeme qui fait la modélisation et non le \modele
|
||
seul. En effet, les abstractions apportées par le \modele ne font sens que
|
||
lorsqu'elles se font \emph{par rapport} \systeme. Ainsi, la sémantique associant
|
||
les abstractions du \modele au vocabulaire amené par le \systeme complète la
|
||
relation \modele-\systeme. Nous développerons cette idée formellement dans la
|
||
section~\ref{sec:compmodel}.
|
||
|
||
|
||
|
||
\paragraph{Formalisme.}
|
||
|
||
Tout \modele nécessite un langage comme support d'expression. Ce langage peut
|
||
être compris au sens large et prend de nombreuses formes. Prenons par exemple
|
||
la réalisation d'une maquette d'un pont pour en étudier la réponse aux vents en
|
||
soufflerie. Le support de description dans ce cas n'est autre que le matériel
|
||
constituant la maquette.
|
||
|
||
Nous nous limiterons ici aux modélisations dont le langage de description repose
|
||
sur une construction mathématique. Ces constructions sont appelées \formalismes
|
||
et sont la donnée d'une théorie, au sens mathématique, c'est-à-dire un ensemble
|
||
d'affirmations et un mécanisme de déduction. Cette théorie est accompagnée d'une
|
||
syntaxe permettant d'en formuler les affirmations.
|
||
|
||
Comme évoqué plus haut, la difficulté des approches combinant plusieurs
|
||
\modeles d'un même \systeme vient de la diversité des \formalismes utilisés.
|
||
Il nous semble que la théorie des ensembles offre un cadre commun minimal
|
||
suffisant pour élaborer notre outil. En effet, la plupart des \formalismes
|
||
que nous avons rencontrés se fondent sur une représentation ensembliste.
|
||
C'est le cas par exemple des algèbres (au sens de l'algèbre universelle)
|
||
vues comme des ensembles munis de lois de composition internes. Nous verrons
|
||
section~\ref{sec:consmodel} comment l'enrichissement d'un ensemble par une
|
||
structure mathématique, c'est-à-dire en se plaçant dans un \formalisme
|
||
particulier, permet de retrouver certaines classes de \modeles. Nous verrons
|
||
également, section~\ref{sec:compmodel}, comment oublier ces structures permet
|
||
aux \modeles de collaborer.
|
||
|
||
|
||
|
||
|
||
\newcommand{\lsys}{L-system\xspace}
|
||
\newcommand{\lsyss}{L-systems\xspace}
|
||
|
||
\paragraph{Les systèmes de Lindenmayer.}
|
||
|
||
Dans ce paragraphe, nous souhaitons montrer que si, dans une situation
|
||
particulière, nous savons différencier \systeme, \modele et \formalisme, un même
|
||
objet peut servir suivant le contexte de \systeme, de \modele ou de \formalisme.
|
||
|
||
Les systèmes de Lindenmayer, ou \emph{\lsyss}, en sont un bon exemple.
|
||
Les \lsyss sont des grammaires formelles introduites par A.
|
||
Lindenmayer~\cite{de_koster_discrete_1987}. Formellement\footnote{Pour la
|
||
simplicité du propos, nous restreignons notre présentation au D0-\lsys,
|
||
c'est-à-dire aux \lsyss déterministes sans contexte.}, un \lsys est un triplet
|
||
$(\Sigma, w_0, P)$ où $\Sigma$ est un ensemble fini de symboles appelé
|
||
\emph{alphabet}, $w_0\in \Sigma^*$ est un mot fini initial appelé \emph{axiome},
|
||
et $P \subset \Sigma \rightarrow \Sigma^*$, appelé l'ensemble des règles, est
|
||
une fonction associant à chaque lettre de $\Sigma$ un mot. Un \lsys transforme
|
||
ainsi un mot $a_1 \dots a_n$ en $w_1 \dots w_n$ tel que pour tout $i$, $w_i =
|
||
P(a_i)$.
|
||
|
||
Les \lsyss peuvent être observés sous le prisme des trois concepts que nous
|
||
avons abordés:
|
||
\begin{enumerate}
|
||
|
||
\item \lsys comme \modele : Au même titre que le
|
||
$\lambda$-calcul~\cite{church_set_1932}, les machines de
|
||
Turing~\cite{turing_computable_1937} ou les grammaires de
|
||
Chomsky~\cite{chomsky_three_1956}, les \lsyss ont leur place dans l'étude
|
||
du calcul en tant que \modeles de calcul. Dans ce contexte, c'est-à-dire
|
||
celui de calculabilité, le \systeme désigne les fonctions calculables et les
|
||
modèles énumérés ci-dessus en proposent différents points de vue. En effet,
|
||
nous pouvons associer un langage à un \lsys à travers l'ensemble des mots
|
||
qu'il génère à partir de l'axiome. Durant les années 70, un important effort
|
||
de recherche a été entrepris pour comprendre la puissance de calcul proposé
|
||
par les \lsyss~\cite{rozenberg_mathematical_1980}.
|
||
|
||
\item \lsys comme \systeme : Afin de les élever comme modèles de calcul, les
|
||
\lsyss ont fait l'objet d'une étude formelle devenant alors un \systeme,
|
||
suivant le sens évoqué plus haut. Ainsi, nous trouvons également
|
||
dans~\cite{rozenberg_mathematical_1980} des abstractions qui ont permis
|
||
de mener à bien cette étude. Pour n'en donner qu'un exemple simple, les
|
||
\emph{fonctions de croissance} permettent à partir d'un \lsys d'obtenir la
|
||
longueur du mot obtenu après $n$ transformations issues de l'axiome initial.
|
||
Dans notre cas, décrire la fonction de croissance revient à poser un système
|
||
d'équations mutuellement récursives dénombrant le nombre d'occurrences de
|
||
chaque lettre à une génération donnée.
|
||
|
||
\item \lsys comme \formalisme : Il s'agit ici de l'utilisation initiale des
|
||
\lsyss proposée par A. Lindenmayer qui avait pour objectif de modéliser le
|
||
développement des plantes et des bactéries. Dans ce troisième contexte, les
|
||
\lsyss sont utilisés comme \formalisme pour décrire des modèles biologiques.
|
||
Par exemple, dans~\cite{prusinkiewicz_algorithmic_2012} se trouve, parmi de
|
||
nombreuses autres applications montrant la richesse de l'approche, le \lsys
|
||
$L_\mathrm{AC} = (\{r,R,l,L\}, R, P_\mathrm{AC})$ comme \modele symbolique
|
||
du comportement de croissance de l'algue \emph{Anabaena catenula}. Cette
|
||
algue se présente sous la forme d'un filament de cellules. Les cellules sont
|
||
polarisées (vers la gauche ou vers la droite) et le filament présente un
|
||
motif de polarisation spécifique. Les règles de $P_\mathrm{AC}$, données par
|
||
$$
|
||
\begin{array}{lll}
|
||
r & \Rightarrow & R \\
|
||
l & \Rightarrow & L \\
|
||
R & \Rightarrow & Lr \\
|
||
L & \Rightarrow & lR
|
||
\end{array}
|
||
$$
|
||
décrivent comment naît ce motif. Il repose sur une asymétrie de longueur
|
||
des cellules filles lors de la division cellulaire. Dans cet exemple,
|
||
$r$ est l'abstraction d'une cellule courte orientée vers la droite, $L$
|
||
d'une cellule longue orientée vers la gauche, etc. La règle $R \Rightarrow
|
||
Lr$ abstrait la division d'une cellule longue orientée à droite, en deux
|
||
cellules, respectivement longue et orientée à gauche, et courte et orientée
|
||
à droite.
|
||
|
||
\end{enumerate}
|
||
|
||
|
||
\let\formalisme\undefined
|
||
\let\systeme\undefined
|
||
\let\modele\undefined
|
||
\let\formalismes\undefined
|
||
\let\systemes\undefined
|
||
\let\modeles\undefined
|
||
\let\lsyss\undefined
|
||
\let\lsys\undefined
|
||
|
||
|
||
|
||
\FloatBarrier
|
||
\subsection{Constructions de modèles}
|
||
\label{sec:consmodel}
|
||
|
||
Comme nous l'avons présenté précédemment, nous souhaitons nous placer dans
|
||
le contexte de la théorie des ensembles, dénominateur commun de tous les
|
||
formalismes formalismes de modélisation introduits jusqu'à présent. Ainsi,
|
||
nous considérons qu'un modèle est un ensemble de «faits» à propos du système
|
||
concerné.
|
||
|
||
Cette simple définition confirme, d'une part, que sans sémantique, un modèle
|
||
ne nous apprend que peu d'informations sur le système qu'il décrit. Pire
|
||
encore, en supposant qu'une telle sémantique existe, que l'absence de structure
|
||
des ensembles ne nous permet pas de relier entre eux les faits que le modèle
|
||
contient.
|
||
%%
|
||
Le prix à payer pour unifier les formalismes semble trop élevé pour mener à bien
|
||
notre objectif.
|
||
|
||
Cependant, un modèle n'est pas n'importe quel ensemble, mais un ensemble issu
|
||
d'un formalisme bien particulier et qui présente donc les reliquats d'une
|
||
structure préexistante. Ainsi, tous les modèles correspondant à un formalisme
|
||
donné exhiberont une forme commune qui peut être utilisée pour classer les
|
||
modèles.
|
||
%%
|
||
Dans cette section, nous présentons à travers quelques exemples comment enrichir
|
||
cette vue ensembliste de la modélisation pour retrouver des classes de modèles
|
||
fréquemment rencontrées.
|
||
|
||
Dans la suite, nous utiliserons la notation $\modelM$ pour désigner un modèle.
|
||
Afin de distinguer la façon de construire l'ensemble des faits d'un modèle du
|
||
modèle lui-même, nous noterons $E_\modelM$ l'ensemble des faits de $\modelM$.
|
||
|
||
\subsubsection{Modèle à observables}
|
||
|
||
Dans ce premier exemple, nous considérons que les faits que contiennent les
|
||
modèles représentent les \emph{états} du système, c'est-à-dire une description
|
||
des différentes configurations que peut prendre le système. Chaque état
|
||
correspond à une observation du système et peut être décrit comme un tuple de
|
||
valeurs, appelées \emph{observables}. En d'autres termes, le modèle correspond à
|
||
un ensemble de mesures relevées sur le système étudié.
|
||
|
||
Chaque observable produit une mesure dans un ensemble de valeurs, appelé
|
||
le \emph{domaine} de l'observable. Un modèle définit donc une \emph{loi
|
||
d'exclusion} : il distingue parmi l'ensemble de toutes les mesures théoriques
|
||
possibles la classe des comportements propres au système et exclut
|
||
celles qui ne le sont pas. Cette approche a été développée par J.C.
|
||
Willems~\cite{willems_paradigms_1991}. L'ensemble des mesures possibles, donné
|
||
par le produit cartésien des domaines des observables est parfois appelé
|
||
\emph{universum} dont un modèle est le sous-ensemble. Cela nous amène à la
|
||
définition formelle suivante.
|
||
|
||
\begin{mpo-definition}[Modèle à observables]
|
||
Soit $\{ \dom_i \}_{i \in I}$, une famille d'ensembles.
|
||
Un \emph{modèle à observables} $\modelM$ est un modèle caractérisé par un
|
||
couple $\langle \sig_\modelM, \bhv_\modelM \rangle$ où
|
||
\begin{itemize}
|
||
|
||
\item $\sig_\modelM = \dom_1 \times \dom_2 \times \dom_3 \times \ldots$ est
|
||
la \emph{signature} (encore appelé \emph{universum}) du modèle \modelM;
|
||
|
||
\item $\bhv_\modelM \subseteq \sig_\modelM$ est le \emph{comportement} du
|
||
modèle \modelM.
|
||
|
||
\end{itemize}
|
||
Les projections $\pi_i : \sig_\modelM \rightarrow \dom_i$ sont appelées les
|
||
\emph{observables} du modèle et $\dom_i$ est le \emph{domaine} de l'observable
|
||
$\pi_i$.
|
||
Les éléments de $\bhv_\modelM$ sont appelés les \emph{états} du modèle.
|
||
|
||
\noindent
|
||
L'ensemble des faits est donné par $E_\modelM = \bhv_\modelM$.
|
||
\end{mpo-definition}
|
||
|
||
Un modèle à observables pourra être plus ou moins précis dans sa description du
|
||
système, en présentant plus ou moins d'observables, en reposant sur des domaines
|
||
plus ou moins fins, ou en dénombrant plus ou moins d'états. Cette précision sera
|
||
formalisée dans la section suivante par un mécanisme d'abstraction entre modèle.
|
||
|
||
\begin{mpo-exemple}
|
||
Nous reprenons ici la modélisation des états de l'eau
|
||
de~\cite{willems_paradigms_1991}. Suivant la température, l'eau existe dans
|
||
différents états solide, liquide ou gazeux. Le modèle $\model{M}{\it eau}$
|
||
suivant décrit les états que prend l'eau pour différentes températures,
|
||
données ici en degrés Celsius (\si{\celsius}), à une pression constante de
|
||
\SI{1013,25}{\hecto\pascal}:
|
||
\[
|
||
\begin{array}{rcl}
|
||
\dom_\obsn{Phase}
|
||
&=& \{\text{solide},\text{liquide},\text{gaz}\} \\
|
||
\dom_\obsn{Température}
|
||
&=& [-273,\infty[ \\
|
||
\sig_{\model{M}{\it eau}}
|
||
&=& \dom_\obsn{Phase} \times \dom_\obsn{Température} \\
|
||
\bhv_{\model{M}{\it eau}}
|
||
&=& \{\text{solide}\} \times [-273,0] \\
|
||
&\cup& \{\text{liquide}\} \times [0,100] \\
|
||
&\cup& \{\text{gaz}\} \times [100,\infty[
|
||
\end{array}
|
||
\]
|
||
Notons que d'après ce modèle, l'eau à une température de \SI{0}{\celsius} peut
|
||
présenter les deux phases, liquide et solide.
|
||
\label{ex:model-eau}
|
||
\end{mpo-exemple}
|
||
|
||
\subsubsection{Modèle expérimental}
|
||
|
||
Voir un modèle comme un ensemble ne dit rien sur la façon de construire ce
|
||
modèle. Une première manière de spécifier un ensemble est d'en donner une
|
||
définition par extension.
|
||
%%
|
||
On parlera de \emph{modèle expérimental} lorsque l'ensemble est défini par
|
||
extension à partir des résultats d'expériences.
|
||
|
||
\begin{figure}[t]
|
||
\centering
|
||
\includegraphics[width=\textwidth]{figures/log-steamer-bear}
|
||
\caption{Extrait d'une page du journal de bord du bateau à vapeur Bear de l'US Navy, le 22 juin 1884.}
|
||
\label{fig:steamer-bear}
|
||
\end{figure}
|
||
|
||
\begin{mpo-exemple} %[Modèle expérimental des états de l'eau]
|
||
Une méthode directe de construction d'un modèle à observables consiste à noter
|
||
les valeurs mesurées de chaque observable sur une feuille, comme dans le cas
|
||
d'un journal de bord «maritime», où les observations relevées se limitent à
|
||
celles qui sont estimées pertinentes pour la navigation (voir
|
||
\textsc{Fig.}~\ref{fig:steamer-bear}), et à effectuer autant de relevés que
|
||
possible.
|
||
%%
|
||
On peut considérer qu'à chaque ligne un \emph{état du système} est décrit et
|
||
que les valeurs relevées définissent une relation (au sens mathématique) entre
|
||
les observables. Les colonnes correspondent aux observables ($\pi_i$ dans la
|
||
définition ci-dessus) et toutes les valeurs qu'une observable peut prendre
|
||
forment son domaine ($\dom_i$ ci-dessus). Par exemple,
|
||
\[
|
||
\dom_\obsn{WINDS Direction} \in \{ \textit{N}, \textit{NE}, \textit{E},
|
||
\textit{SE}, \textit{S}, \textit{SW}, \textit{W}, \textit{NW} \}
|
||
\]
|
||
\end{mpo-exemple}
|
||
|
||
|
||
\subsubsection{Modèle équationnel}
|
||
|
||
Distinguer un ensemble dans un sur-ensemble de possibilités consiste à donner
|
||
un prédicat décidant de l'appartenance d'un élément à l'ensemble. Une façon de
|
||
spécifier un tel prédicat est décrit dans~\cite{willems_paradigms_1991} par la
|
||
donnée d'une équation mettant en relation deux quantités. Ce principe amène à la
|
||
notion suivante de modèle équationnel.
|
||
|
||
\begin{mpo-definition}[Modèle équationnel]\label{def:modelequa}
|
||
Un \emph{modèle équationnel} $\modelM$ est caractérisé par un couple de
|
||
fonctions $\langle f_\modelM, g_\modelM \rangle$ de même signature $X
|
||
\rightarrow Y$ pour deux ensembles $X$ et $Y$ donnés, tel que l'ensemble des
|
||
faits de $\modelM$ est donné par
|
||
\[
|
||
E_\modelM = \{ x \in X \mid f_\modelM(x)=g_\modelM(x) \}
|
||
\]
|
||
\end{mpo-definition}
|
||
|
||
|
||
\begin{mpo-exemple}\label{ex:gazparfait}
|
||
Associés à la notion de modèle à observables, les modèles équationnels sont
|
||
fréquents en physique. À ce titre, l'équation la plus couramment utilisée pour
|
||
caractériser les gaz parfaits illustre la définition~\ref{def:modelequa}.
|
||
|
||
D'un point de vue macroscopique, l'état de $n$ moles d'un gaz parfait
|
||
à l'équilibre thermodynamique est décrit par les trois observables
|
||
$\obsn{Volume}$, $\obsn{Pression}$ et $\obsn{Température}$. On peut construire
|
||
le modèle $\model{M}{\it gaz}$ des gaz parfaits dont l'ensemble des états est
|
||
donné par:
|
||
$$
|
||
E_{\model{M}{\it gaz}} = \{ (V,P,T) \in \dom_\obsn{Volume} \times \dom_\obsn{Pression} \times \dom_\obsn{Température} \mid PV=nRT \}
|
||
$$
|
||
où $R =$ \SI{8,3144621}{\joule\per\kelvin\per\mole} représente la constante
|
||
des gaz parfaits. Le modèle $\model{M}{\it gaz}$ est donc un modèle
|
||
équationnel caractérisé par le couple de fonctions
|
||
$$
|
||
\langle (V,P,T) \mapsto P V, (V,P,T) \mapsto n R T \rangle.
|
||
$$
|
||
\end{mpo-exemple}
|
||
|
||
|
||
\subsubsection{Modèle à observables privilégiées}
|
||
|
||
Les classes de modèles que nous avons données jusqu'ici correspondent à la
|
||
distinction d'un sous-ensemble admissible de faits à partir d'un univers
|
||
plus grand. Avec cette nouvelle classe, nous commençons à nous intéresser
|
||
aux modèles dont l'ensemble associé peut être enrichi d'une structure
|
||
mathématique particulière provenant d'une propriété qu'il exhibe. Dans ce
|
||
premier exemple, on s'intéresse aux modèles à observables dont le comportement
|
||
est entièrement déterminé par une partie de ses observables, que nous
|
||
appellerons \emph{observables privilégiées}.
|
||
|
||
\begin{mpo-definition}[Modèle à observables privilégiées]\label{def:modfct}
|
||
Soient $\modelM = \langle \sig_\modelM, \bhv_\modelM \rangle$ un modèle avec
|
||
observables $I$ (\ie $\sig_\modelM = \prod_{i\in I} \dom_i$) et $J \subset I$
|
||
un sous-ensemble d'observables. Le modèle $\modelM$ est \emph{à observables
|
||
privilégiées} $J$ si, et seulement si,
|
||
$$
|
||
\forall b_1,b_2 \in \bhv_\modelM\quad
|
||
\pi_J(b_1) = \pi_J(b_2) \Rightarrow b_1 = b_2
|
||
$$
|
||
\end{mpo-definition}
|
||
|
||
Cette définition n'est pas sans rappeler quelques concepts propres au
|
||
domaine des bases de données relationnelles, introduites par E. F. Codd
|
||
dans~\cite{codd_relational_1970}. Un modèle à observables $\modelM$ est très
|
||
proche d'une relation, au sens de l'algèbre relationnelle, avec sa signature
|
||
$\sig_\modelM$ pour \emph{schéma} et son comportement $\bhv_\modelM$ comme
|
||
\emph{extension}, l'ensemble des tuples de la relation. Les observables
|
||
privilégiées sont elles à rapprocher de la notion de \emph{clé primaire}
|
||
(ou plus précisément de \emph{super-clé}): dans un modèle à observables
|
||
privilégiées, chaque $p \in \prod_{j\in J} \dom_j$ identifie de manière unique
|
||
un tuple de $\bhv_\modelM$ s'il existe.
|
||
%%
|
||
Plus précisément, c'est à la notion de \emph{dépendance fonctionnelle} que
|
||
correspondent les observables privilégiées. En effet, l'équation de la
|
||
définition décrit l'existence d'une fonction codée au sein de $\bhv_\modelM$.
|
||
|
||
\begin{mpo-exemple}
|
||
En reprenant le modèle $\model{M}{\it gaz}$ de l'exemple~\ref{ex:gazparfait}, il
|
||
est possible de remarquer que l'équation des gaz parfaits permet de déterminer
|
||
sans ambiguïté n'importe laquelle de ces observables à partir des deux autres.
|
||
%%
|
||
Nous pouvons donc montrer qu'à partir de $\model{M}{\it gaz}$, trois modèles
|
||
à observables privilégiées reposant sur les trois dépendances fonctionnelles
|
||
peuvent êtres construits:
|
||
$(\obsn{Volume}, \obsn{Pression} \rightarrow \obsn{Température})$,
|
||
$(\obsn{Température}, \obsn{Pression} \rightarrow \obsn{Volume})$ et
|
||
$(\obsn{Température}, \obsn{Volume} \rightarrow \obsn{Pression})$.
|
||
\end{mpo-exemple}
|
||
|
||
|
||
\subsubsection{Modèle dynamique}
|
||
|
||
L'étude des \emph{systèmes dynamiques} porte sur l'évolution des états du
|
||
système au cours du temps. Usuellement, les aspects temporels sont modélisés par
|
||
l'action du temps sur l'état du système.
|
||
%%
|
||
Cette action repose sur la nature monoïdale~\cite{giunti_dynamical_2012} de
|
||
l'ensemble utilisé pour représenter le temps.
|
||
%%
|
||
Un \emph{monoïde} est un triplet $ \Time = \langle D_\Time, 0_\Time, +_\Time
|
||
\rangle$ (noté ici additivement) tel que $D_\Time$ est un ensemble arbitraire,
|
||
$+_\Time$ est une loi de composition interne binaire \emph{associative}
|
||
($\forall x,y,z \in D_\Time, x +_\Time (y +_\Time z) = (x +_\Time y) +_\Time z$)
|
||
et munie d'un élément \emph{neutre} $0_\Time$ ($\forall x \in D_\Time, 0_\Time
|
||
+_\Time x = x +_\Time 0_\Time = x$).
|
||
%%
|
||
Dans le cadre de la modélisation du temps, les éléments de $D_\Time$
|
||
correspondent à des \emph{durées} et la loi de composition fournit un moyen de
|
||
cumuler ces \emph{durées}.
|
||
%%
|
||
L'\emph{action} d'un monoïde sur un ensemble arbitraire $E$ est une
|
||
fonction $\Phi: E \times D_\Time \rightarrow E$ telle que $\forall x \in E, \forall \delta_1, \delta_2 \in
|
||
D_\Time$:
|
||
$$
|
||
\Phi(x, 0_\Time) = x \qquad \qquad \Phi(\Phi(x,\delta_1), \delta_2) = \Phi(x,\delta_1 +_\Time \delta_2)
|
||
$$
|
||
En interprétant les éléments de $E$ comme une modélisation des états d'un
|
||
système, l'action $\Phi$ spécifie une fonction de transition précisant comment,
|
||
après une durée $\delta\in D_\Time$, le système passe d'un état $x \in E$ à un
|
||
nouvel état $\Phi(x,\delta)$.
|
||
|
||
Cette définition très générale n'impose aucune propriété particulière sur le
|
||
monoïde utilisé pour modéliser le temps. On retrouve naturellement les modèles
|
||
de temps classiques, en prenant l'ensemble des réels pour modéliser un temps
|
||
continu ou l'ensemble des entiers pour modéliser un temps discret. Mais cette
|
||
définition s'applique également dans des cas moins courants. Par exemple,
|
||
considérons un automate à états finis, décrivant les transitions d'état en
|
||
état à la lecture d'un mot construit à partir d'un alphabet, disons $\Sigma
|
||
= \{a,b\}$. On peut interpréter $\Sigma^*$, le monoïde libre engendré par
|
||
les lettres de l'alphabet, comme une modélisation d'un temps dont les durées
|
||
sont des accumulations de $a$ et de $b$. On peut montrer facilement que la
|
||
fonction de transition de l'automate spécifie une action de monoïde. Ce qui
|
||
est intéressant dans cette description est que le temps n'est pas ici un temps
|
||
linéaire où les «instants» s’enchaînent d'une façon totalement ordonnée, mais un
|
||
temps arborescent dont les branches peuvent être interprétées comme différentes
|
||
possibilités d’exécutions. Cet exemple rend bien compte de la souplesse de cette
|
||
définition.
|
||
|
||
Nous proposons de caractériser les \emph{modèles dynamiques} en s'inspirant
|
||
de la définition des système dynamiques\footnote{On remarquera qu'ici le
|
||
terme \emph{système} ne correspond pas à la notion que nous avons définie
|
||
section~\ref{sec:formalism-model-system} mais est plus à rapprocher de celle
|
||
d'un \emph{formalisme} permettant la \emph{modélisation} de la dynamique d'un
|
||
\emph{système}.} donnée dans~\cite{giunti_dynamical_2012}.
|
||
%%
|
||
\begin{mpo-definition}[Modèle dynamique]\label{def:moddyna}
|
||
Un \emph{modèle dynamique} est un modèle $\modelM$ caractérisé par un triplet
|
||
$\langle \bhv_\modelM, \Time_\modelM, \Phi_\modelM \rangle$ tel que
|
||
%%
|
||
\begin{enumerate}
|
||
|
||
\item $\Time_\modelM$ est un monoïde appelé \emph{modèle du temps} et dont les
|
||
éléments $\delta \in D_\Time$ sont appelés \emph{durées},
|
||
|
||
\item $\bhv_\modelM$ est un ensemble non vide appelé l'\emph{espace des états}
|
||
et dont les éléments sont appelés \emph{états},
|
||
|
||
\item $\Phi_\modelM$ est une action de monoïde de $\Time_\modelM$ sur
|
||
$\bhv_\modelM$ appelée \emph{fonction de transition}.
|
||
|
||
\end{enumerate}
|
||
%%
|
||
L'ensemble des faits de $\modelM$ est donné par:
|
||
$$
|
||
E_\modelM = \{ (x,\delta,\Phi(x,\delta)) \mid x \in \bhv_\modelM, \delta \in \Time_\modelM \}
|
||
$$
|
||
\end{mpo-definition}
|
||
|
||
Dans cette définition, chaque triplet d'un modèle dynamique $(x,\delta,x')$
|
||
représente la transition du système de l'état $x$ vers l'état $x'$ après une
|
||
durée $\delta$. Nous remarquerons également que $E_\modelM$ spécifie exactement
|
||
la fonction $\Phi_\modelM$: un modèle dynamique est donc également un modèle
|
||
à observables privilégiées tel que décrit définition~\ref{def:modfct}, les
|
||
observables privilégiées étant ici le temps et les conditions initiales.
|
||
|
||
\begin{mpo-exemple}\label{ex:malthus}
|
||
Le modèle de croissance Malthusien décrit l'évolution de la taille d'une
|
||
population suivant un taux de natalité $r$ sans aucune autre restriction. Ce
|
||
type de système présente une croissance exponentielle répondant à l'équation:
|
||
$$
|
||
P(t) = P_0 e^{rt}
|
||
$$
|
||
où $t$ représente le temps, $P_0$, le nombre d'individus constituant
|
||
initialement la population, et $P(t)$, la taille de la population après une
|
||
période de $t$ unités de temps.
|
||
%%
|
||
Cette caractérisation décrit très clairement un système dynamique tel que nous
|
||
l'avons évoqué ci-dessus et peut être représentée par le modèle dynamique
|
||
$\model{M}{\it malthus}$ dont l'ensemble des faits est le suivant:
|
||
$$
|
||
E_{\model{M}{\it malthus}} = \{(P,t,P e^{rt})\mid P,t\in\mathbb{R}^+\}
|
||
$$
|
||
Le modèle du temps $\langle \mathbb{R}^+, 0, + \rangle$ correspond à la
|
||
modélisation continue classique utilisant les réels et l'addition standard.
|
||
L'état du système est également représenté par un élément de $\mathbb{R}^+$
|
||
correspondant, cette fois-ci, à un nombre d'individus.
|
||
\end{mpo-exemple}
|
||
|
||
|
||
\subsubsection{Modèle à base de champ}
|
||
|
||
La notion de champ est particulièrement répandue en modélisation. Un champ
|
||
associe une donnée à chaque point d'un espace. Lorsque nous parlons de champ, un
|
||
rapprochement apparaît avec les champs scalaires ou vectoriels de la physique
|
||
classique où les données représentent des quantités physiques, telles que
|
||
la température ou la vitesse de déplacement d'un fluide, cependant, suivant
|
||
les contextes, les champs prennent des formes différentes. D'un point de vue
|
||
général, on parle de champ lorsque l'on est en présence d'une population
|
||
d'objets de même nature, comme les cellules d'un automate cellulaire, les agents
|
||
d'un système multi-agent, les ou les places d'un réseau de Petri, que l'on
|
||
caractérise individuellement par un certain état, l'état d'une cellule, l'état
|
||
d'un agent, l'état d'une place, etc. Cette population décrit également une
|
||
organisation mettant en relation les objets les uns par rapport aux autres. On
|
||
parle alors d'un espace et des points de cette espace. Bien souvent, la valeur
|
||
associée en chaque point est également structurée et on demande au champ de
|
||
varier \emph{continûment} sur cet espace, c'est-à-dire sans présenter de rupture
|
||
par rapport à l'organisation des valeurs.
|
||
|
||
Mathématiquement, ces considérations sont affiliées aux notions d'espaces
|
||
topologiques et de fonctions continues.
|
||
%%
|
||
Un \emph{espace topologique} $\mathbb{S}$ est la donnée d'un ensemble de
|
||
\emph{points} $E_\mathbb{S}$, d'un ensemble d'\emph{ouverts} $\Omega_\mathbb{S}
|
||
\subset \mathbb{2}^{E_\mathbb{S}}$, contenant $E_\mathbb{S}$ et $\emptyset$, et
|
||
clos par union arbitraire et par intersection finie.
|
||
%%
|
||
Une \emph{fonction continue} d'un espace topologique vers un autre est une
|
||
fonction entre les points qui respectent ces structures: la préimage d'un ouvert
|
||
doit être un ouvert.
|
||
|
||
Ces définitions peuvent être interprétées en termes logiques. En tant que
|
||
sous-ensembles, les ouverts peuvent être compris comme des prédicats offrant un
|
||
vocabulaire pour classer les points les uns par rapport aux autres. L'union et
|
||
l'intersection correspondent respectivement aux opérations de disjonction et de
|
||
conjonction dans cette classification.
|
||
%%
|
||
La continuité impose que le vocabulaire de l'espace d'arrivée corresponde au
|
||
vocabulaire de l'espace de départ. Ainsi, en comprenant un ouvert comme une
|
||
variation autour d'un point suivant une certaine propriété, la préimage de
|
||
cette variation sera une variation autour des préimages du point considéré.
|
||
%%
|
||
L'exemple du champ de température illustre cette idée de variation:
|
||
considérons l'espace euclidien comme espace de départ et les réels comme
|
||
espace d'arrivée avec leurs topologies usuelles, c'est-à-dire où une variation
|
||
autour d'une valeur revient à prendre un intervalle ouvert autour de cette
|
||
valeur\footnote{Pour être exact, il s'agit ici d'une base de la topologie
|
||
usuelle.}. Ainsi, pour un champ de température donné, si l'on considère
|
||
l'ensemble $P$ de tous les points de température $20°C$, les points de
|
||
températures comprises entre $19°C$ et $21°C$ seront «autour» de ceux de $P$.
|
||
%%
|
||
Cette idée s'applique également pour un réseau d'interactions entre agents:
|
||
plus deux agents sont dans des états «proches», c'est-à-dire partageant de
|
||
plus en plus de propriétés, plus leurs environnements d'interactions seront
|
||
comparables.
|
||
|
||
Nous proposons de caractériser les \emph{modèles à base de champ} comme la
|
||
représentation d'une fonction continue.
|
||
%%
|
||
\begin{mpo-definition}[Modèle à base de champs]\label{def:modfield}
|
||
Un \emph{modèle à base de champ} est un modèle $\modelM$ caractérisé par un
|
||
triplet $\langle \Space_\modelM, \mathbb{V}_\modelM, f_\modelM \rangle$ tel que
|
||
\begin{enumerate}
|
||
|
||
\item $\Space_\modelM$ et $\mathbb{V}_\modelM$ sont des espaces topologiques,
|
||
et
|
||
|
||
\item $f_\modelM:\Space_\modelM \rightarrow \mathbb{V}_\modelM$ est une
|
||
fonction continue.
|
||
|
||
\end{enumerate}
|
||
%%
|
||
L'ensemble des faits de $\modelM$ est donné par:
|
||
$$
|
||
E_\modelM = \{ (x,f(x)) \mid x \in \Space_\modelM \}
|
||
$$
|
||
\end{mpo-definition}
|
||
%%
|
||
L'avantage du point de vue topologique est qu'il autorise tout type de champ.
|
||
En effet, n'importe quelle fonction entre deux ensembles pourra être rendue
|
||
continue en utilisant par exemple la topologie discrète\footnote{ La topologie
|
||
discrète est celle où tout sous-ensemble de points est un ouvert. Il ne faut
|
||
cependant pas la comprendre comme \textbf{la} topologie des modèles discrets.}
|
||
sur l'espace de départ. La qualité d'un modèle à base de champ viendra du choix
|
||
judicieux des topologies utilisées. Nous remarquerons enfin que la définition
|
||
fonctionnelle de $E_\modelM$ permet d'inclure les modèles à base de champs comme
|
||
car particulier de modèles à variables privilégiées.
|
||
|
||
|
||
\begin{mpo-exemple}
|
||
En théorie des réseaux sociaux, la séparation, c'est-à-dire la longueur de la
|
||
plus petite chaîne de connaissances sociales permettant de relier un individu
|
||
à un autre, est une mesure importante. Elle est par exemple à la base de
|
||
la théorie des \emph{six degrés de séparation}~\cite{travers_small_1967}
|
||
établissant que toute personne sur la planète est reliée socialement à n'importe
|
||
quelle autre par une chaîne de longueur au plus 6.
|
||
|
||
Il est possible de modéliser la séparation comme un champ de distance sur le
|
||
graphe des liens sociaux. Pour un graphe donné $G$, le champ de distance à un
|
||
sommet $v_0$ associe à chaque sommet $v$ de $G$ la longueur $d(v)$ du plus court
|
||
chemin entre $v_0$ et $v$. Le champ $d$ se présente donc comme une fonction des
|
||
sommets de $G$ dans $\mathbb{N}$.
|
||
|
||
Il est possible de considérer la continuité de $d$ en associant au graphe $G$
|
||
et à $\mathbb{N}$ leur \emph{topologie digitale}. Pour cette topologie, notée
|
||
$\Omega^{\rm dig.}_G$, un ouvert d'un graphe $G$ (vu comme un ensemble de
|
||
sommets et d'arcs) est défini comme une union d'ouverts de base:
|
||
\begin{itemize}
|
||
|
||
\item pour tout arc $e$, le singleton $\{e\}$ est un ouvert;
|
||
|
||
\item pour tout sommet $v$, l'ensemble $\{v\} \cup \{ e \in G \mid v \prec e
|
||
\}$, où $v \prec e$ signifie que $e$ est incident à $v$ dans $G$, est un ouvert.
|
||
|
||
\end{itemize}
|
||
Les entiers peuvent être munis de la même topologie en considérant $\mathbb{N}$
|
||
comme un graphe dont les sommets sont les entiers et où un arc $\{n,n+1\}$ relie
|
||
chaque entier $n$ à son successeur.
|
||
|
||
On peut remarquer que pour toute paire de sommets voisins $(v_1,v_2)$, le champ
|
||
de distance ne varie qu'au plus de 1:
|
||
$$
|
||
|d(v_1) - d(v_2)| \leq 1
|
||
$$
|
||
La fonction $d$ peut alors être étendue aux arcs de telle sorte que pour tout
|
||
arc $e$ entre $v_1$ et $v_2$,
|
||
$$
|
||
d(e) = \left\{
|
||
\begin{array}{ll}
|
||
d(v_1) & \textnormal{si } d(v_1) = d(v_2) \\
|
||
\{d(v_1),d(v_2)\} & \textnormal{sinon}
|
||
\end{array}
|
||
\right.
|
||
$$
|
||
Ainsi, la fonction $d$ est continue et peut être utilisée pour constituer un
|
||
modèle à base de champ $\model{M}{\it sép.}$ de la séparation d'un réseau par:
|
||
$$
|
||
\Space_{\model{M}{\it sép.}} = \langle G, \Omega^{\rm dig.}_G \rangle
|
||
\qquad
|
||
\mathbb{V}_{\model{M}{\it sép.}} = \langle \mathbb{N}, \Omega^{\rm dig.}_\mathbb{N} \rangle
|
||
\qquad
|
||
f_{\model{M}{\it sép.}} = d
|
||
$$
|
||
\end{mpo-exemple}
|
||
|
||
|
||
|
||
|
||
\subsubsection{Modèle à structure dynamique}
|
||
|
||
Les classes de modèles que nous avons proposées jusqu'ici ne sont pas
|
||
indépendantes les unes des autres. Comme nous l'avons déjà vu par exemple, les
|
||
modèles dynamiques et à base de champ sont des cas particuliers de modèles
|
||
à observables privilégiées. Ces deux classes s'intéressent en fait à deux
|
||
aspects qui reviennent fréquemment dans les modélisations, le \emph{temps} et
|
||
l'\emph{espace}, et il est classique de retrouver ces deux aspects en même temps
|
||
au sein du même modèle. L'intersection entre les modèles dynamiques et les
|
||
modèles à base de champ n'est pas vide, loin s'en faut.
|
||
|
||
Il est intéressant de noter que l'interdépendance entre temps et espace nous
|
||
amène en fait à considérer quatre types de modélisation à variables privilégiées
|
||
spatio-temporelles:
|
||
|
||
\begin{enumerate}
|
||
|
||
\item $\Space \times \Time \rightarrow \dots$\\
|
||
L'espace ne varie pas dans le temps et le temps est le même partout dans
|
||
l'espace. Ainsi, \emph{temps} et \emph{espace} sont indépendants.
|
||
%%
|
||
On retrouve par exemple ce type de modèles en physique classique ou avec les
|
||
automates cellulaires.
|
||
|
||
\item $\Space \rightarrow (\Time \rightarrow \dots)$
|
||
%\antoine{La bonne notation avec types dépendants $\prod_{p:\Space}
|
||
%\(\Time(p) rightarrow \dots)$}\\
|
||
Le temps varie d'un point de l'espace à un autre. Autrement dit, chaque point
|
||
à son horloge. Ce cas est représentable par un modèle à base de champs qui
|
||
associe à chaque point de l'espace un modèle dynamique.
|
||
%%
|
||
Par exemple, une étude de charge dans une grille de calcul amènera à ce type
|
||
de modélisation: les processeurs tournent chacun à leur propre vitesse alors
|
||
que la structure du réseau reste fixe.
|
||
|
||
\item $\Time \rightarrow (\Space \rightarrow \dots)$
|
||
%\antoine{La bonne notation avec types dépendants $\prod_{\delta:\Time}
|
||
%(\Space(\delta) \rightarrow \dots)$}\\
|
||
L'espace varie au cours du temps: à chaque instant, le domaine spatial est
|
||
différent. Une représentation reposant sur un modèle dynamique dont l'espace
|
||
des états sera constitué de modèles à base de champ, sera privilégiée.
|
||
%%
|
||
Nous appelons ces systèmes, des systèmes dynamiques à structure dynamique.
|
||
|
||
\item $\SpaceTime \rightarrow \dots$\\
|
||
L'espace et le temps forment ici un tout, $\SpaceTime$, qui ne peut être
|
||
dissocié. En physique, la relativité est une parfaite illustration de l'étude
|
||
de ce type de système. Bien qu'il soit possible de n'observer que l'action du
|
||
temps sur un point de l'espace en suivant les lignes d'univers, la description
|
||
qui en résulte n'est pas complète. En effet, un changement d'observation,
|
||
c'est-à-dire le passage d'une ligne d'univers à une autre, modifie la
|
||
perception du temps \emph{et} de l'espace sur les autres événements.
|
||
|
||
\end{enumerate}
|
||
|
||
|
||
|
||
\subsubsection{Modèle probabiliste}
|
||
|
||
Nous terminons la description de ces quelques classes de modèles en évoquant
|
||
les systèmes que nous souhaitons modéliser de façon probabiliste. Pour ces
|
||
modélisations, le formalisme repose essentiellement sur les notions d'espace
|
||
mesurable et de probabilité. Formellement, un espace mesurable $\mathbb{X}$ est
|
||
un ensemble $X_\mathbb{X}$ muni d'une \emph{tribu} $\mathcal{A_\mathbb{X}}$,
|
||
c'est-à-dire d'un ensemble de sous-ensembles de $X_\mathbb{X}$ contenant
|
||
$X_\mathbb{X}$, clos par complémentation et par union dénombrable. Dans le cadre
|
||
de la théorie de la probabilité, $X_\mathbb{X}$ est appelé un \emph{univers},
|
||
représentant l'ensemble de toutes les résultats d'une expérience donnée, et
|
||
$\mathcal{A}_\mathbb{X}$ l'ensemble des événements. Une mesure de probabilité
|
||
$\mathbb{P}$ associe à chaque événement sa probabilité, c'est-à-dire une
|
||
valeur de $[0,1]$ telle que $\mathbb{P}(X_\mathbb{X})=1$ et $\mathbb{P}(\cup_i
|
||
A_i)=\sum_i \mathbb{P}(A_i)$ pour toutes familles dénombrables d'événements
|
||
disjoints $\{A_i\}$.
|
||
|
||
Un modèle peut être la représentation d'une expérience probabiliste: nous
|
||
parlerons ici de \emph{modèle probabiliste}.
|
||
%%
|
||
\begin{mpo-definition}[Modèle probabiliste]\label{def:probmodel}
|
||
Un \emph{modèle probabiliste} est un modèle $\modelM$ caractérisé par un couple
|
||
$\langle \mathbb{X}_\modelM, \mathbb{P}_\modelM \rangle$ tel que
|
||
\begin{enumerate}
|
||
|
||
\item $\mathbb{X}_\modelM = \langle X_\modelM, \mathcal{A}_\modelM \rangle$ est
|
||
un espace mesurable, et
|
||
|
||
\item $\mathbb{P}_\modelM$ est une probabilité sur $\mathbb{X}_\modelM$.
|
||
|
||
\end{enumerate}
|
||
L'ensemble des faits de $\modelM$ est donné par:
|
||
$$
|
||
E_\modelM = \{ (A,\mathbb{P}_\modelM(A)) \mid A \in \mathcal{A}_\modelM \}
|
||
$$
|
||
\end{mpo-definition}
|
||
On remarquera que cette définition décrit les modèles probabilistes comme des
|
||
modèles à observables privilégiées particuliers.
|
||
|
||
|
||
|
||
\begin{mpo-exemple}\label{ex:malthus2}
|
||
La croissance de Malthus décrite exemple~\ref{ex:malthus} peut être modélisée
|
||
par un processus aléatoire reposant sur une simple règle de reproduction,
|
||
semblable à une division cellulaire:
|
||
\begin{equation}
|
||
X \stackrel{r}\longrightarrow 2 X\label{eq:divrule}
|
||
\end{equation}
|
||
où $X$ représente un individu et $r$ est le taux de division des individus.
|
||
Étant donnée une population composée de $N_0$ individus, nous cherchons à
|
||
décrire le temps d'attente avant la prochaine division.
|
||
|
||
On suppose pour cela que deux divisions ne peuvent être simultanées et que les
|
||
individus se divisent de façon indépendante.
|
||
À partir de la règle~(\ref{eq:divrule}), nous posons la probabilité
|
||
infinitésimale $r d\tau$ qu'un individu se divise à l'instant $\tau$,
|
||
c'est-à-dire durant l'intervalle de temps infinitésimal $[\tau,\tau + d\tau]$.
|
||
Ces observations nous permettent de déduire les probabilités suivantes:
|
||
\begin{itemize}
|
||
|
||
\item $r N d\tau$, la probabilité infinitésimale d'une division pour une
|
||
population de $N$ individus (indépendants par hypothèse) à l'instant $\tau$,
|
||
|
||
\item $e^{-r N_0 \tau}$, la probabilité qu'aucune division n'ait lieu durant
|
||
l'intervalle $[0,\tau]$, et
|
||
|
||
\item $N_0 r e^{-r N_0 \tau} d\tau$, la probabilité infinitésimale que la
|
||
prochaine division ait lieu à l'instant $\tau$.
|
||
|
||
\end{itemize}
|
||
Cette dernière expression nous amène à considérer la probabilité que la
|
||
prochaine division se produise durant un certain intervalle de temps, posant
|
||
ainsi les termes d'un modèle probabiliste $\model{M}{\it div.}$ de la
|
||
croissance Mathusienne.
|
||
Pour cela, considérons
|
||
%%
|
||
d'une part l'espace mesurable $\mathbb{X}_{\model{M}{\it div.}}$ comme étant
|
||
l'ensemble des réels positifs $\mathbb{R}^+$ muni de sa tribu Borélienne
|
||
classique, c'est-à-dire engendrée par les intervalles fermés $[t_1,t_2]$,
|
||
%%
|
||
et d'autre part la mesure de probabilité:
|
||
$$
|
||
\mathbb{P}_{\model{M}{\it div.}}([t_1,t_2]) =
|
||
\int_{t_1}^{t^2} r N_0 e^{-r N_0 \tau} d\tau =
|
||
[ -e^{-r N_0 \tau} ]_{t_1}^{t_2} =
|
||
e^{-r N_0 t_1} - e^{-r N_0 t_2}
|
||
$$
|
||
L'ensemble des faits de $\model{M}{\it div.}$ est alors donné par:
|
||
$$
|
||
E_{\model{M}{\it div.}} =
|
||
\{ ([t_1,t_2], \mathbb{P}_{\model{M}{\it div.}}([t_1,t_2]))
|
||
\mid t_1,t_2 \in \mathbb{R}^+\}
|
||
$$
|
||
\end{mpo-exemple}
|
||
|
||
|
||
|
||
\FloatBarrier
|
||
\subsection{Modélisations d'un système proie-prédateur}\label{sec:preypred}
|
||
|
||
Nous proposons dans cette dernière section d'illustrer comment les différentes
|
||
classes de modèles que nous venons d'énumérer permettent plusieurs
|
||
compréhensions d'un même système. Nous nous intéressons en particulier à la
|
||
modélisation des systèmes proie-prédateur.
|
||
|
||
Un système proie-prédateur est un système dans lequel deux populations, celles
|
||
des proies et celle des prédateurs, varient à cause de leurs interactions, dont
|
||
la principale est la prédation. Voici deux exemples de ces systèmes:
|
||
\begin{itemize}
|
||
|
||
\item La variation du nombre d'individus dans les populations de lynx et de
|
||
lièvres des neiges, dont un modèle expérimental a été constitué par la
|
||
Compagnie de la Baie d'Hudson~\cite{odum_fundamentals_1959}.
|
||
|
||
\item La variation du nombre d'individus dans les populations de loups et
|
||
d'élans, dont un modèle expérimental a été constitué par le parc national
|
||
d'Isle Royale~\cite{peterson_ecological_1997}.
|
||
|
||
\end{itemize}
|
||
En suivant au cours du temps les tailles des deux populations, il est possible
|
||
d'observer des oscillations couplées plus ou moins régulières. À certaines
|
||
périodes, un déficit en prédateurs permet aux proies de se développer, alors
|
||
qu'à d'autres périodes les prédateurs dominent et les proies se font rares.
|
||
|
||
Ces oscillations sont explicables en considérant le comportement des proies et
|
||
des prédateurs à partir des trois processus suivants:
|
||
\begin{description}
|
||
|
||
\item[Naissance:] Les proies se reproduisent en fonction des ressources
|
||
disponibles, des individus apparaissent avec un certain taux de natalité.
|
||
|
||
\item[Mort:] Les proies et les prédateurs n'étant pas éternels, les individus
|
||
disparaissent avec un certain taux de mortalité.
|
||
|
||
\item[Prédation:] Il s'agit de l'activité principale des prédateurs et la
|
||
seule interaction considérée entre les deux populations; elle est nécessaire
|
||
à la reproduction des prédateurs et induit un facteur de mortalité
|
||
supplémentaire pour les proies.
|
||
|
||
\end{description}
|
||
En 1920, A. J. Lotka propose dans~\cite{lotka_analytical_1920} une
|
||
description formelle d'un tel modèle à travers un système de réactions
|
||
autocatalytiques, à la façon d'un jeu de réaction chimique. L'étude de ce
|
||
type de systèmes l'amena quelques années plus tard à proposer une analyse
|
||
de la dynamique de ce système sous la forme d'un système d'équations
|
||
différentielles couplées~\cite{lotka_elements_1925}. Le même type d'équations
|
||
furent également proposées indépendamment par V. Volterra à la même
|
||
période~\cite{volterra_fluctuations_1926}. Depuis, plusieurs autres modèles
|
||
plus élaborés ont été proposés pour prendre en considération d'autres facteurs
|
||
environnementaux, ou encore l'incidence de l'organisation spatiale des
|
||
populations.
|
||
|
||
Les études des systèmes proies-prédateurs nous offrent ainsi un échantillon de
|
||
modèles nous permettant d'illustrer notre approche. Nous allons dans la suite de
|
||
cette section décrire quelques modèles de systèmes proie-prédateur repris des
|
||
travaux de A.J. McKane~\cite{mckane_predator-prey_2005,lugo_quasicycles_2008}.
|
||
|
||
\paragraph{Modèle \emph{à la} Volterra.}
|
||
%
|
||
Dans cette description, nous considérons que le système est décrit par
|
||
deux observables représentant les densités de population des proies et des
|
||
prédateurs. En notant, $U_V$ et $U_P$ respectivement ces densités, les
|
||
trajectoires du système au cours du temps sont décrites par le système
|
||
d'équations différentielles suivant:
|
||
\begin{equation}
|
||
\left\{
|
||
\begin{array}{rcl}
|
||
\displaystyle\frac{dU_V}{dt} &=& r U_V (1 - \displaystyle\frac{U_V}{K})
|
||
- g U_P U_V\\[1.5ex]
|
||
\displaystyle\frac{dU_P}{dt} &=& n U_V U_P - \mu U_P
|
||
\end{array}
|
||
\right.
|
||
\label{eq:volterra}
|
||
\end{equation}
|
||
Ce modèle dépend des paramètres $r$, $K$, $g$, $n$ et $\mu$. Comme précisé
|
||
dans~\cite{mckane_predator-prey_2005}, on rencontre souvent sous le nom de
|
||
modèle de Lotka-Volterra ce même système où le terme $U_V/K$ est absent. Le
|
||
coefficient $K$ quantifie la capacité limite de l'environnent à accueillir des
|
||
individus.
|
||
|
||
Cette formalisation permet de constituer un modèle $\model{M}{V}$
|
||
\emph{dynamique à observables}. On définit la signature du modèle par:
|
||
$$
|
||
\sig_{\model{M}{V}} = \dom_{\obsn{Initial}} \times \dom_{\obsn{Temps}} \times \dom_{\obsn{Etat}}
|
||
$$
|
||
où $\dom_{\obsn{Initial}} = \dom_{\obsn{Etat}} = \mathbb{R}^+ \times
|
||
\mathbb{R}^+$ correspondant à des couples \emph{(densité de proie, densité
|
||
de prédateur)} et $\dom_{\obsn{Temps}} = \mathbb{R}^+$ avec sa structure de
|
||
monoïde usuelle représentant des durées. L'ensemble des faits est donné comme un
|
||
sous-ensemble de $\sig_{\model{M}{V}}$ par:
|
||
$$
|
||
E_{\model{M}{V}} = \left\{ (U_V(0),U_P(0),t,U_V(t),U_P(t))
|
||
\mid U_V, U_P \textnormal{ sol. de (\ref{eq:volterra})} \right\}
|
||
\subset\sig_{\model{M}{V}}
|
||
$$
|
||
Une \emph{solution de (\ref{eq:volterra})} correspond à tout couple de fonctions
|
||
du temps vérifiant l'équation; toutes les conditions possibles sont prises en
|
||
compte. Nous remarquons de plus que la résolution de l'équation se fait une
|
||
fois les paramètres fixés. Ainsi, à chaque jeu de paramètres correspondra un
|
||
modèle.
|
||
|
||
En tant que modèle dynamique, on peut extraire de la définition de
|
||
$E_{\model{M}{V}}$ une action de monoïde donnée par:
|
||
$$
|
||
\Phi_{\model{M}{V}}( [U_V(0),U_P(0)], t ) = [ U_V(t),U_P(t) ]
|
||
$$
|
||
pour chaque élément de $E_{\model{M}{V}}$.
|
||
|
||
|
||
|
||
\paragraph{Modèle \emph{à la} Volterra spatialisé.}
|
||
%
|
||
Dans sa version spatialisée, les densités de population sont distribués sur un
|
||
espace particulier, disons l'espace euclidien de dimension 2 $\mathbb{E}^2$,
|
||
représentant la région dans laquelle les individus peuvent se déplacer.
|
||
En d'autres termes, les densités $U_V$ et $U_P$ deviennent des champs,
|
||
respectivement $u_V$ et $u_P$, définis sur $\mathbb{E}^2$. Les équations sont
|
||
modifiées en ajoutant un terme de diffusion modélisant ces déplacements:
|
||
\begin{equation}
|
||
\left\{
|
||
\begin{array}{rcl}
|
||
\displaystyle\frac{du_V}{dt} &=& r u_V (1 - \displaystyle\frac{u_V}{K})
|
||
- g u_P u_V + D_V (\nabla^2 u_V + u_V \nabla^2 u_P - u_P \nabla^2 u_V)
|
||
\\[1.5ex]
|
||
\displaystyle\frac{du_P}{dt} &=& n u_V u_P - \mu u_P +
|
||
D_P (\nabla^2 u_P + u_P \nabla^2 u_V - u_V \nabla^2 u_P)
|
||
\end{array}
|
||
\right.
|
||
\label{eq:spacevolterra}
|
||
\end{equation}
|
||
où $D_V$ et $D_P$ sont les coefficients de diffusion respectifs des populations
|
||
de proies et de prédateurs, et $\nabla^2$ dénote le Laplacien. Suivant les
|
||
remarques de~\cite{lugo_quasicycles_2008}, les termes exprimant une diffusion
|
||
croisée en $(u_V \nabla^2 u_P - u_P \nabla^2 u_V)$ entre les deux populations
|
||
sont peu conventionnels mais correspondent à la considération d'une limitation
|
||
de la capacité d'accueil de l'environnement. Ces termes disparaissent lorsque
|
||
cette limite est levée.
|
||
|
||
Il est possible d'associer à ce nouveau système d'équations une extension du
|
||
modèle non spatialisé $\model{M}{V}$, un modèle $\model{M}{SV}$ \emph{dynamique
|
||
à observables et à base champs}. L'ensemble des faits du modèle se construit de
|
||
la même façon que précédemment en prenant en compte l'espace.
|
||
$$
|
||
E_{\model{M}{SV}}= \{\; (t,x,y,u_V(0,x,y),u_P(0,x,y),u_V(t,x,y),u_P(t,x,y))
|
||
\mid u_V, u_P \textnormal{ sol. de (\ref{eq:spacevolterra})} \;\}
|
||
$$
|
||
En tant que modèle dynamique, on peut extraire de cette définition une action de
|
||
monoïde donnée par:
|
||
$$
|
||
\Phi_{\model{M}{SV}}( [(x,y) \mapsto u_V(0,x,y),(x,y) \mapsto u_P(0,x,y)], t)
|
||
= [(x,y) \mapsto u_V(t,x,y), (x,y) \mapsto u_P(t,x,y)]
|
||
$$
|
||
agissant sur l'ensemble des fonctions deux fois différentiables de
|
||
$\mathbb{E}^2$ dans $\mathbb{R}^+ \times \mathbb{R}^+$, pour chaque élément de
|
||
$E_{\model{M}{SV}}$.
|
||
|
||
En tant que modèle à base de champs, une fonction continue donnée par:
|
||
$$
|
||
f_{\model{M}{SV}}(t,x,y) = (u_V(0,x,y),u_P(0,x,y),u_V(t,x,y),u_P(t,x,y))
|
||
$$
|
||
peut être extraite de la définition de $E_{\model{M}{SV}}$ en munissant
|
||
l'espace de départ $\mathbb{E}^2 \times \mathbb{R}^+$ et l'espace d'arrivée
|
||
$\mathbb{R}^+ \times \mathbb{R}^+ \times \mathbb{R}^+ \times \mathbb{R}^+$, de
|
||
leurs topologies habituelles.
|
||
%%
|
||
Une autre approche mettant en avant l'indépendance temps/espace telle que nous
|
||
l'avons décrite plus haut, est donnée par la définition suivante:
|
||
$$
|
||
f_{\model{M}{SV}}(x,y) = ([u_V(0,x,y),u_P(0,x,y)],t) \mapsto [u_V(t,x,y),u_P(t,x,y)]
|
||
$$
|
||
allant de $\mathbb{E}^2$ muni de sa topologie classique vers un espace d'actions
|
||
de monoïde. La topologie de cet espace est héritée de celle sur $\mathbb{E}^2$.
|
||
|
||
\paragraph{Modèle \emph{à la} Lotka.}
|
||
%
|
||
Cette approche, radicalement différente des précédentes, est fondée sur les
|
||
premières descriptions de A. J. Lotka à base de réactions chimiques. On assimile
|
||
le système à une solution chimique de taille fixe composée de $N$ molécules
|
||
prises parmi trois types d'éléments différents: $V$ représentant une proie,
|
||
$P$ pour un prédateur, et $E$ une place vide. Les interactions entre les trois
|
||
espèces chimiques sont régies par les réactions suivantes:
|
||
\begin{equation}
|
||
\begin{array}{c}
|
||
V + E \overset{b}{\longrightarrow} 2\,V \\
|
||
P + V \overset{p_1}{\longrightarrow} 2\,P \qquad P +
|
||
V \overset{p_2}{\longrightarrow} P + E \\
|
||
V \overset{d_V}{\longrightarrow} E \qquad P \overset{d_P}{\longrightarrow} E
|
||
\end{array}
|
||
\end{equation}
|
||
On reconnaît facilement les trois processus décrits en début de section: la
|
||
naissance d'une proie représentée comme une division cellulaire consommant une
|
||
place vide, la prédation qui occasionne certaine fois la reproduction d'un
|
||
prédateur, et la mort des deux types d'individus donnant de nouvelles places
|
||
vides. Chaque réaction est paramétrée par une constante, appelée \emph{constante
|
||
stochastique\footnote{On reprend ici le vocabulaire de D.T. Gillespie qui
|
||
discute dans~\cite{gillespie_exact_1977} de la différence entre constante
|
||
stochastique et constante cinétique.}}. Cette constante représente le taux avec
|
||
lequel le processus correspondant a lieu. En terme de probabilité, $d_V d\tau$
|
||
est par exemple la probabilité infinitésimale qu'une proie meurt de sa belle
|
||
mort (c'est-à-dire sans avoir été chassée) pendant l'intervalle de temps
|
||
infinitésimal $d\tau$.
|
||
|
||
D. T. Gillespie a proposé dans~\cite{gillespie_exact_1977} une méthode de
|
||
simulation stochastique exacte de système de réactions chimiques sous hypothèse
|
||
d'homogénéité. Nous pouvons ainsi considérer un modèle \emph{dynamique
|
||
probabiliste} des systèmes proie-prédateur $\model{M}{L}$ à partir des
|
||
trajectoires simulées. De façon informelle, l'ensemble des faits correspond
|
||
à toutes ces trajectoires. Chacune de ces trajectoires peut être pondérée
|
||
par une probabilité d'occurrence au sein des trajectoires partageant les
|
||
mêmes conditions initiales. Ainsi, un sous modèle probabiliste au sens de la
|
||
définition~\ref{def:probmodel} peut être établi pour chaque population initiale.
|
||
|
||
Nous préférons ici mettre l'accent sur les aspects temporels du modèle.
|
||
Ainsi, nous établissons un ensemble de faits, équivalent à celui que nous
|
||
venons d'évoquer. Pour se faire, nous considérons d'une part la probabilité
|
||
$P(n_V,n_P,t|n_V^0,n_P^0)$ que \emph{le système soit composé de $n_V$ proies
|
||
et $n_P$ prédateurs au temps $t$ considérant une population initiale de
|
||
$n_V^0$ proies et $n_P^0$ prédateurs}, et d'autre part, le domaine \emph{fini}
|
||
$\dom_\obsn{Pop}$ des populations possibles:
|
||
$$
|
||
\dom_\obsn{Pop} = \{ (n_V,n_P)\in \mathbb{N}^2 \mid n_V + n_P \le N \}
|
||
$$
|
||
Considérant que les densités de probabilité sur $\dom_\obsn{Pop}$ sont des
|
||
fonctions $d:\dom_\obsn{Pop} \rightarrow [0,1]$ telles que
|
||
$$
|
||
\sum_{s\in\dom_\obsn{Pop}} d(s) = 1,
|
||
$$
|
||
l'action de monoïde\footnote{On montre facilement qu'il s'agit d'une action de
|
||
monoïde en remarquant que
|
||
$$
|
||
P(s',0|s) = \delta_s^{s'}
|
||
\qquad
|
||
P(s,t_1 + t_2|s'') = \sum_{s'\in\dom_\obsn{Pop}} P(s,t_2|s') P(s',t_1|s'')
|
||
$$} de $\mathbb{R}^+$ est défini sur les densités de probabilité par:
|
||
$$
|
||
\Phi_{\model{M}{L}}(d, t) = s \mapsto \sum_{s' \in \dom_\obsn{Pop}} d(s') P(s,t|s')
|
||
$$
|
||
pour finalement obtenir la description de $\model{M}{L}$ comme un modèle
|
||
dynamique.
|
||
|
||
\paragraph{Modèle \emph{à la} Lotka spatialisé.}
|
||
%
|
||
L'objet principal présenté dans~\cite{lugo_quasicycles_2008} est une version
|
||
spatialisée du modèle à base de réactions chimiques $\model{M}{L}$ que nous
|
||
venons de voir. L'extension consiste en deux points:
|
||
\begin{enumerate}
|
||
|
||
\item Le modèle $\model{M}{L}$ est copié sur chaque position d'une
|
||
organisation spatiale discrète $\Omega$. Afin de se rapprocher du modèle
|
||
$\model{M}{SV}$, on définit $\Omega$ comme un ensemble d'indices permettant
|
||
d'identifier les positions d'une grille carrée à 2 dimension. Chaque
|
||
molécule est alors positionnée: $V^i$, $P^i$ et $E^i$ correspondent
|
||
respectivement à une proie, un prédateur et une place libre en position $i
|
||
\in \Omega$.
|
||
|
||
\item Les réactions chimiques de $\model{M}{L}$ sont également positionnées
|
||
sur $\Omega$, et deux règles de déplacement sont ajoutées pour simuler le
|
||
mouvement des individus:
|
||
\begin{equation}
|
||
\begin{array}{c}
|
||
V^i + E^i \overset{b}{\longrightarrow} 2\,V^i \\
|
||
P^i + V^i \overset{p_1}{\longrightarrow} 2\,P^i \qquad
|
||
P^i + V^i \overset{p_2}{\longrightarrow} P^i + E^i\\
|
||
V^i \overset{d_V}{\longrightarrow} E^i \qquad
|
||
P^i \overset{d_P} {\longrightarrow} E^i\\
|
||
V^i + E^j \overset{m_V}{\longrightarrow} E^i + V^j \qquad
|
||
P^i + E^j \overset{m_P}{\longrightarrow} E^i + P^j
|
||
\end{array}
|
||
\end{equation}
|
||
pour toutes positions \emph{voisines} $i, j \in \Omega$.
|
||
|
||
\end{enumerate}
|
||
Cette extension formalise un nouveau modèle $\model{M}{SL}$ qui est à la fois
|
||
\emph{probabiliste, dynamique et à base de champ}.
|
||
|
||
Nous n'entrerons pas dans les détails de ces définitions qui restent
|
||
très proches des constructions que nous avons déjà vues. Cependant, nous
|
||
pouvons en conclure que les modèles $\model{M}{V}$, $\model{M}{SV}$,
|
||
$\model{M}{L}$ et $\model{M}{SL}$ sont proches les uns des autres.
|
||
Dans~\cite{mckane_predator-prey_2005, lugo_quasicycles_2008} se trouvent
|
||
d'ailleurs les clés de ces relations, expliquant comment établir des ponts
|
||
formels entre les modèles. Ainsi, on constatera que $\model{M}{V}$ décrit le
|
||
comportement moyen des trajectoires de $\model{M}{L}$, alors que $\model{M}{SV}$
|
||
coïncide avec $\model{M}{V}$ lorsque les densités de populations sont
|
||
spatialement homogènes.
|
||
|
||
Dans la suite, nous proposons un cadre formel pour décrire ces relations.
|
||
Notre construction se fonde sur la notion d'abstraction telle que celle que
|
||
nous avons de mentionné rapidement entre $\model{M}{V}$ et $\model{M}{L}$,
|
||
ou entre $\model{M}{V}$ et $\model{M}{SV}$. L'abstraction autorise également
|
||
la composition de modèles pour obtenir des descriptions plus précises
|
||
couplant des travaux initialement indépendants. Ainsi, on pourra poser la
|
||
question d'un modèle permettant de coupler à la fois $\model{M}{SV}$ et
|
||
$\model{M}{L}$, combinant d'un part une représentation stochastique des
|
||
interactions individuelles, et la dynamique de la répartition spatiale des
|
||
populations d'autre part. On pourra également s'intéresser aux relations
|
||
entre ce couplage et la description proposée par $\model{M}{SL}$. La
|
||
\textsc{Fig.}~\ref{fig:model-lv} synthétise cette situation.
|
||
|
||
\begin{figure}[ht]
|
||
\centering
|
||
\includegraphics[page=1,width=.60\textwidth]{schema-lv}
|
||
\caption{Comment définir le couplage des modèles $\model{M}{SV}$ et
|
||
$\model{M}{L}$ ? Quel rapport existe-t-il entre ce couplage et
|
||
$\model{M}{SL}$ ?}
|
||
\label{fig:model-lv}
|
||
\end{figure}
|
||
|
||
\section{Composition des modèles}\label{sec:compmodel}
|
||
|
||
Les sections~\ref{sec:multiniveau} et~\ref{sec:consmodel} nous ont amené à voir
|
||
un modèle comme un ensemble de faits. De ce point de vue, la comparaison entre
|
||
modèles est limitée à l'étude de leurs propriétés ensemblistes.
|
||
%%
|
||
Comme nous l'avons vu section~\ref{sec:multiniveau}, l'abstraction entre
|
||
modèles est un élément clé de la modélisation multi-niveau. Nous proposons
|
||
ici d'en faire une interprétation ensembliste permettant de raffiner et
|
||
coupler différents modèles d'un même système. Ainsi, le passage d'un
|
||
modèle $\model{M}{+}$ à un modèle $\model{M}{-}$ s'effectue à travers la
|
||
reconnaissance d'une \emph{flèche d'abstraction} entre ces modèles définie
|
||
de la façon suivante: \emph{si $\model{M}{+}$ est une abstraction de
|
||
$\model{M}{-}$, alors chaque fait de $\model{M}{-}$ peut être associé à un fait
|
||
de $\model{M}{+}$}. L'étude des relations entre les modèles proie/prédateur de
|
||
la section~\ref{sec:preypred} illustre ce type de construction; les trajectoires
|
||
stochastiques du modèle probabiliste sont associées aux trajectoires moyennes du
|
||
modèle déterministe.
|
||
|
||
Cette description nous amène à considérer l'ensemble des fonctions de
|
||
$\model{M}{-}$ vers $\model{M}{+}$, chacune comprise comme une relation
|
||
d'abstraction possible entre les deux modèles. Cependant, il est raisonnable
|
||
de se demander si toutes ces fonctions sont éligibles au titre d'abstraction.
|
||
Ce n'est définitivement pas le cas au regard de l'exemple des modèles de
|
||
proie/prédateur. La construction de la flèche d'abstraction repose sur des
|
||
techniques mathématiques précises qui assurent une cohérence entre les
|
||
trajectoires stochastiques et les trajectoires déterministes. Cette cohérence
|
||
vient du fait que les deux modèles développent deux compréhensions différentes
|
||
du \emph{même} système, et une fonction arbitrairement choisie entre les
|
||
ensembles de faits de $\model{M}{-}$ et de $\model{M}{+}$ a peu de chance de
|
||
respecter ce \emph{rapport au système}. Comparer deux modèles d'un système
|
||
proie-prédateur a du sens, justement car ce sont deux modèles du même système,
|
||
ils parlent de la même «chose»: les faits de $\model{M}{-}$ concernant les
|
||
proies sont envoyés vers des faits de $\model{M}{+}$ concernant les proies, les
|
||
prédateurs de $\model{M}{-}$ vers les prédateurs de $\model{M}{+}$, le temps de
|
||
$\model{M}{-}$ vers le temps de $\model{M}{+}$, l'espace de $\model{M}{-}$ vers
|
||
l'espace de $\model{M}{+}$, etc. Il est raisonnable donc d'attendre que les
|
||
flèches d'abstraction soient les fonctions de $\model{M}{-}$ vers $\model{M}{+}$
|
||
qui respectent la \emph{sémantique} imposée par le système.
|
||
|
||
En se référant aux notations précédentes, il est clair qu'un modèle $\modelM$
|
||
ne peut être restreint qu'à son seul ensemble de faits $E_\modelM$. Il est
|
||
nécessaire de lui associer également une sémantique $\sigma_\modelM$. La
|
||
question qui nous est alors posée est comment formaliser cette sémantique. Nous
|
||
développons ici une proposition fondée sur la définition usuelle des modèles vus
|
||
comme des \emph{abstractions} du système. La sémantique $\sigma_\modelM$ serait
|
||
alors vu comme une flèche d'abstraction au sens que nous venons d'évoquer.
|
||
L'idée générale consiste donc, pour un système $S$ donné, de considérer un
|
||
\emph{modèle de référence} $\model{M}{S}$ auquel tout autre modèle $\modelM$ de
|
||
$S$ se rapportera par une fonction $\sigma_\modelM$ allant de $E_{\model{M}{S}}$
|
||
vers $E_\modelM$.
|
||
|
||
Dans cette section, nous proposons d'utiliser la théorie des catégories pour
|
||
élaborer un cadre formel suffisant à la réalisation de cette proposition. Pour
|
||
plus de clarté, nous commençons par une instanciation informelle dans le cadre
|
||
des sciences expérimentales. Nous introduisons ensuite les éléments de la
|
||
théorie des catégories nécessaires à la compréhension de notre formalisation
|
||
avec laquelle nous clôturerons le chapitre.
|
||
|
||
\subsection{Application en sciences expérimentales}\label{sec:scexp}
|
||
|
||
La méthodologie que nous proposons est adaptée au cadre des sciences
|
||
expérimentales où le rapport entre un modèle et le système qu'il décrit est
|
||
donné par l'expérience. En effet, le contexte expérimental nous invite à
|
||
considérer comme modèle de référence d'un système $S$, l'ensemble de tous les
|
||
résultats d'expériences possibles sur $S$. Tout modèle sera alors \emph{validé}
|
||
s'il est en accord avec l’expérience, c'est-à-dire lorsque les faits
|
||
expérimentaux seront associés aux faits que le modèle décrit.
|
||
%%
|
||
La \textsc{Fig.}~\ref{fig:model-validation} illustre la situation: le modèle
|
||
$\modelM$ se rapporte au système $S$ \emph{via} le modèle expérimental
|
||
$\model{M}{S}$. Ce lien est noté ici par une flèche d'abstraction qui correspond
|
||
à la validation du modèle $\modelM$ faisant appel à une démarche expérimentale
|
||
usuelle:
|
||
\begin{enumerate}
|
||
|
||
\item Collecter des données par des mesures, des expériences: peupler
|
||
$\model{M}{S}$
|
||
|
||
\item Proposer un modèle permettant de rendre compte de ces mesures:
|
||
construire le modèle $\modelM$
|
||
|
||
\item \emph{Valider} les prédictions du modèles en les comparant aux mesures
|
||
directement prises du système étudié: établir la fonction
|
||
$\sigma_{\model{M}{S}}$ de $\model{M}{S}$ vers $\modelM$.
|
||
|
||
\end{enumerate}
|
||
Nous noterons en particulier dans cette figure la frontière claire, représentée
|
||
en pointillés, entre les modèles et le système: le système $S$ n'est pas un
|
||
modèle et les flèches d'abstraction et notamment les validations, ne relient
|
||
que des modèles. On montre ici que la modélisation dépend de la qualité des
|
||
expérimentations (par exemple de la précision des outils de mesure utilisés)
|
||
et peut être réévaluée (soit en rejetant un modèle, soit en l'approuvant plus
|
||
fortement encore) avec l'évolution des méthodes expérimentales, c'est-à-dire en
|
||
reconsidérant la définition de $\model{M}{S}$.
|
||
|
||
\begin{figure}[ht]
|
||
\centering
|
||
\includegraphics[page=1,width=.45\textwidth]{model-relations}
|
||
\caption{Représentation schématique de la relation entre un modèle $\modelM$
|
||
et un système $S$ où $\model{M}{S}$ est le modèle de référence.}
|
||
\label{fig:model-validation}
|
||
\end{figure}
|
||
|
||
Pour illustrer nos propos, considérons le système expérimental $S$ suivant:
|
||
un ballon de baudruche gonflé à l'azote est attaché au fond d'une cuve d'eau
|
||
maintenue à \SI{20}{\celsius}, entièrement immergé. On cherche à comprendre la
|
||
force de traction qu'exerce le ballon à son point de fixation.
|
||
|
||
On remarque après quelques tests que cette force dépend du volume $V_e$
|
||
qu'occupe le ballon, sachant que celui-ci éclatera au-delà d'un volume maximal
|
||
$V_\mathrm{max}$.
|
||
|
||
Deux modélisateurs s'attaquent au problème et cherchent à établir une loi
|
||
reliant force et volume. Après avoir longuement considéré les
|
||
données récoltées, ils proposent les modèles suivants:
|
||
\begin{description}
|
||
|
||
\item[Modèle $\model{M}{1}$:]
|
||
le premier modélisateur établit que \emph{la relation entre la force et le
|
||
volume repose sur un rapport de proportionnalité} en accord avec la poussée
|
||
d'Archimède et propose le modèle équationnel:
|
||
$$
|
||
E_{\model{M}{1}} = \{ (F,V) \in \dom_\obsn{Traction} \times \dom_\obsn{Volume}
|
||
\mid F= c_0 V \} \uplus \{ \bot, \mathit{éclaté} \}
|
||
$$
|
||
à deux observables $\obsn{Traction}$ (en Newton dans $\dom_\obsn{Traction} =
|
||
\mathbb{R}^+$) représentant la force de traction verticale et orientée vers
|
||
le haut au point de fixation $P$ du ballon, et $\obsn{Volume}$ (en mètre
|
||
cube dans $\dom_\obsn{Volume} = \mathbb{R}^+$), le volume de fluide déplacé.
|
||
Le coefficient de proportionnalité $c_0 = \rho_E g$ est donné par $\rho_E =
|
||
\SI{1.0}{\kilogram\per\metre\cubed}$, la masse volumique de l'eau, et $g =
|
||
\SI{9.81}{\newton\per\kilogram}$, l'accélération de la pesanteur terrestre.
|
||
|
||
La validation de ce modèle passe par une comparaison entre les mesures faites
|
||
expérimentalement et les résultats théoriques apportés par la loi proposée.
|
||
Il s'avère que dans une certaine marge, à savoir lorsque le volume $V$
|
||
déplacé est supérieure à un seuil $V_a$ (c'est-à-dire lorsque le ballon est
|
||
suffisamment gonflé mais qu'il n'a pas encore éclaté), les calculs produisent
|
||
des résultats très proches de l'observation, l'écart pouvant être attribué
|
||
à l'appareil de mesure\footnote{Plus précisément, la différence observée
|
||
peut être expliquée par la non prise en compte dans $\model{M}{1}$ du poids
|
||
du ballon et de l'azote qu'il contient. On peut en effet rajuster la force
|
||
s'exerçant au point de contact par l'équation $F = (c_0 - c_1) V - c_2$
|
||
où $c_1 = \rho_N g$ avec $\rho_N = \SI{1.25}{\gram\per\liter}$ à la masse
|
||
volumique de l'azote, et $c_2 = m_B g$ avec $m_B$ la masse du ballon (de
|
||
l'ordre d'une dizaine de grammes par exemple).}. En dehors de cette marge,
|
||
l'équation proposée est fausse, et l'on peut se reporter sur le symbole
|
||
$\mathit{éclaté}$ pour les volumes $V > V_\mathrm{max}$, ou sur le symbole
|
||
$\bot$ représentant l'absence d'explication par le modèle $\model{M}{1}$
|
||
lorsque $V < V_a$. Ainsi la sémantique de $\model{M}{1}$ revient à associer
|
||
à une mesure expérimentale $V_e$ du volume du ballon, le calcul théorique
|
||
lorsque l'on est dans l'intervalle d'acceptation $[V_a,V_\mathrm{max}]$ du
|
||
modèle:
|
||
$$
|
||
\sigma_{\model{M}{1}}(V_e) =
|
||
\left\{ \begin{array}{ll}
|
||
\bot & \textnormal{si } V_e < V_a\\
|
||
(c_0 V_e, V_e) & \textnormal{si } V_a \le V_e < V_\mathrm{max} \\
|
||
\mathit{éclaté} & \textnormal{si } V_e = \mathit{éclaté}
|
||
\end{array}\right.
|
||
$$
|
||
|
||
%% Deux particularités : on voit qu'un modèle peut proposer plus de faits que
|
||
%% nécessaires, mais ceux-ci ne sont pas adressé par la sémantique, et qu'un
|
||
%% modèle peut proposer un << absorbant >> comme $\bot$ pour les faits qu'il
|
||
%% n'est pas capable d'expliquer.
|
||
|
||
\item[Modèle $\model{M}{2}$:]
|
||
Dans ce second modèle décrivant le système de manière qualitative, les
|
||
observables sont données empiriquement par des valeurs discrètes symboliques:
|
||
$$
|
||
E_{\model{M}{2}} = \{ (\mathit{faible},\mathit{petit}),
|
||
(\mathit{faible},\mathit{moyen}),
|
||
(\mathit{forte},\mathit{moyen}),
|
||
(\mathit{forte},\mathit{gros}),
|
||
\mathit{éclaté} \}
|
||
$$
|
||
La sémantique de ce second modèle, moins précis, repose simplement sur une
|
||
observation visuelle du ballon.
|
||
%%
|
||
Pour ce qui est de la force exercée, lorsque le nœud du ballon \emph{semble}
|
||
tendu, la traction est considérée $\mathit{forte}$, sinon $\mathit{faible}$.
|
||
%%
|
||
La taille du ballon est appréciée sur une échelle à 3 niveaux
|
||
($\mathit{petit}$, $\mathit{moyen}$, $\mathit{gros}$), sans compté l'état
|
||
$\mathit{éclaté}$. En définitif, les mesures expérimentales du volume $V_e$
|
||
sont classées en quatre catégories définies par trois valeurs seuils $V_k$
|
||
($k\in\{1,2,3\}$) à travers la sémantique suivante:
|
||
$$
|
||
\sigma_{\model{M}{2}}(V_e) =
|
||
\left\{ \begin{array}{ll}
|
||
(\mathit{faible},\mathit{petit}) & \textnormal{si } V_e < V_1 \\
|
||
(\mathit{faible},\mathit{moyen}) & \textnormal{si } V_1 \le V_e < V_2\\
|
||
(\mathit{forte},\mathit{moyen}) & \textnormal{si } V_2 \le V_e < V_3 \\
|
||
(\mathit{forte},\mathit{gros}) & \textnormal{si } V_3 \le V_e < V_\mathrm{max}\\
|
||
\mathit{éclaté} & \textnormal{si } V_e = \mathit{éclaté}
|
||
\end{array}\right.
|
||
$$
|
||
\end{description}
|
||
|
||
Il est clair que le modèle $\model{M}{2}$ est plus abstrait que $\model{M}{1}$.
|
||
Formellement, on peut traduire cette abstraction en mettant en relation
|
||
les faits constituant les deux modèles à travers une fonction $a$ de
|
||
$E_{\model{M}{1}}$ vers $E_{\model{M}{2}}$. Pour les besoins de l'exemple, on
|
||
suppose que $V_a < V_1$. La flèche d'abstraction $a$ est définie par:
|
||
$$
|
||
a(s) =
|
||
\left\{\begin{array}{ll}
|
||
(\mathit{faible},\mathit{petit}) & \textnormal{si } s = \bot\\
|
||
(\mathit{faible},\mathit{petit}) & \textnormal{si } s = (F,V)
|
||
\textnormal{ et } V < V_1\\
|
||
(\mathit{faible},\mathit{moyen}) & \textnormal{si } s = (F,V)
|
||
\textnormal{ et } V_1 \le V < V_2\\
|
||
(\mathit{forte},\mathit{moyen}) & \textnormal{si } s = (F,V)
|
||
\textnormal{ et } V_2 \le V < V_3\\
|
||
(\mathit{forte},\mathit{gros}) & \textnormal{si } s = (F,V)
|
||
\textnormal{ et } V_3 \leq V < V_\mathrm{max}\\
|
||
\mathit{éclaté} & \textnormal{si } s = (F,V)
|
||
\textnormal{ et } V_\mathrm{max} \le V\\
|
||
\mathit{éclaté} & \textnormal{si } s = \mathit{éclaté}
|
||
\end{array}\right.
|
||
$$
|
||
Il est facilement de vérifier que la fonction d'abstraction $a$ respecte les
|
||
sémantiques proposées par :
|
||
$$
|
||
\sigma_{\model{M}{2}} = a \circ \sigma_{\model{M}{1}}
|
||
$$
|
||
Autrement dit, tout fait expérimental (représenté ci-dessus par une mesure
|
||
$V_e$) est envoyée vers le même fait de $\model{M}{2}$ en passant soit
|
||
directement par la sémantique de $\model{M}{2}$, soit indirectement en utilisant
|
||
la sémantique de $\model{M}{1}$ composée avec la fonction d'abstraction. Cette
|
||
situation est illustrée \textsc{Fig.}~\ref{fig:model-abstraction}.
|
||
|
||
\begin{figure}[ht]
|
||
\centering
|
||
\includegraphics[page=2,width=.45\textwidth]{model-relations}
|
||
\caption{Représentation schématique de la relation d'abstraction entre deux
|
||
modèles $\model{M}{1}$ et $\model{M}{2}$ assujettis à leur validation par
|
||
rapport au modèle de référence $\model{M}{S}$. Le modèle $\model{M}{2}$ est
|
||
une abstraction de $\model{M}{1}$.}
|
||
\label{fig:model-abstraction}
|
||
\end{figure}
|
||
|
||
|
||
\subsection{Introduction aux catégories}
|
||
|
||
Nous pensons que la théorie des catégories propose un cadre mathématique
|
||
adapté à la formalisation des notions que nous venons d'évoquer. En
|
||
particulier, les diagrammes donnés \textsc{Fig.}~\ref{fig:model-abstraction}
|
||
et \textsc{Fig.}~\ref{fig:model-lv} sont typiques de cette théorie. Dans cette
|
||
section, nous introduisons les éléments catégoriques nécessaires pour atteindre
|
||
notre objectif.
|
||
|
||
\subsubsection{Catégorie}
|
||
|
||
Une catégorie est constituée de deux types d'éléments appelés objets et
|
||
morphismes. Dans une représentation diagrammatique, les premiers sont en général
|
||
représentés par des sommets et les seconds par des flèches. Une catégorie
|
||
représente formellement comment les flèches peuvent se composer pour transiter
|
||
d'objet en objet.
|
||
|
||
\begin{mpo-definition}[Catégorie~\cite{adamek_abstract_2004}]
|
||
Une \emph{catégorie\footnote{localement petite}} est un quadruplet $\cat{K} =
|
||
(O_\cat{K},\khom_\cat{K},\kid_\cat{K},\circ_\cat{K})$ où
|
||
\begin{enumerate}
|
||
|
||
\item $O_\cat{K}$ est une classe\footnote{Dans la théorie des ensembles, les
|
||
\emph{classes} ont été introduites afin d'éviter les contradictions issues
|
||
d'énoncés tels que le paradoxe de Russell (\emph{Est-ce que l'ensemble des
|
||
ensembles n'appartenant pas à eux-même, $x \notin x$, appartient à lui-même
|
||
?}). Tout comme les ensembles, les classes sont des collections d'éléments
|
||
pouvant être caractérisées par un prédicat d'appartenance. La différence
|
||
entre ensembles et classes tient à la limitation imposée sur les prédicats
|
||
d'appartenance des ensembles par les axiomatisations utilisées (Z, ZF, ZFC,
|
||
etc.). Ainsi tout ensemble est une classe, mais certaines classes, dites
|
||
propres, ne sont pas des ensembles.},
|
||
dont les membres sont appelés des \emph{\objs{K}};
|
||
|
||
\item pour chaque paire d'objets $(A,B)$ de $\cat{K}$, $\khom_\cat{K}(A,B)$
|
||
est un ensemble dont les membres sont appelés des \mrphs{K} de $A$ vers $B$:
|
||
on appelle $A$, le domaine de $f$ (noté $\kdom(f)$) et $B$, le codomaine
|
||
de $f$ (noté $\kcod(f)$)\footnote{Pour assurer l'unicité du domaine et du
|
||
codomaine, les ensembles $\khom_\cat{K}(A,B)$ sont supposés deux à deux
|
||
disjoints.}; l'expression $f \in \khom_\cat{K}(A,B)$ est également notée
|
||
\morphism{f}{A}{B} ou encore $f : A \rightarrow B$;
|
||
|
||
\item pour chaque \obj{K} $A$, $\kid_\cat{K}(A)$ est un morphisme de $A$ vers
|
||
$A$ appelé la $\cat{K}$-identité sur $A$, également noté $\kid_A$;
|
||
|
||
\item $\circ_\cat{K}$ est une loi de composition associant à chaque paire de
|
||
\mrphs{K} $(f : A \rightarrow B, g : B \rightarrow C)$ un \mrph{K} $(g
|
||
\circ_\cat{K} f) : A \rightarrow C$, appelé la composition de $f$ et $g$,
|
||
assujettie aux conditions suivantes:
|
||
\begin{enumerate}
|
||
|
||
\item la composition est associative: tout triplet de \mrphs{K} $(f: A
|
||
\rightarrow B,g: B \rightarrow C,h: C \rightarrow D)$ vérifie l'équation
|
||
$h circ_\cat{K} (g \circ_\cat{K} f) = (h \circ_\cat{K} g) \circ_\cat{K}
|
||
f$;
|
||
|
||
\item les $\cat{K}$-identités sont neutres pour la composition: pour
|
||
tout \mrph{K} $f : A \rightarrow B$, on a $\kid_B \circ_\cat{K} f = f = f
|
||
\circ_\cat{K} \kid_A$.
|
||
|
||
\end{enumerate}
|
||
|
||
\end{enumerate}
|
||
\end{mpo-definition}
|
||
|
||
La difficulté de la présentation des catégories vient de son caractère
|
||
désincarné. Voici quelques exemples de catégories que nous avons déjà évoquées
|
||
et dont nous ferons usage dans la suite.
|
||
|
||
\begin{mpo-exemple}[Catégorie des ensembles]\label{def:cat}
|
||
On note $\cat{Set} =
|
||
(O_\cat{Set},\khom_\cat{Set},\kid_\cat{Set},\circ_\cat{Set})$ la catégorie des
|
||
ensembles où:
|
||
\begin{enumerate}
|
||
|
||
\item $O_\cat{Set}$ est la classe de tous les ensembles,
|
||
|
||
\item $\khom_\cat{Set}(A,B)$ pour deux ensembles $A$ et $B$ est l'ensemble des
|
||
fonctions de $A$ dans $B$,
|
||
|
||
\item $\kid_\cat{Set}(A)$ est la fonction identité pour chaque ensemble $A$,
|
||
et
|
||
|
||
\item $\circ_\cat{Set}$ est l'opérateur de composition de fonctions usuel en
|
||
théorie des ensembles.
|
||
|
||
\end{enumerate}
|
||
\end{mpo-exemple}
|
||
|
||
\begin{mpo-exemple}[Catégorie des espaces topologiques]
|
||
La catégorie des espaces topologiques $\cat{Top}$ a pour objets les espaces
|
||
topologiques et pour morphismes, les fonctions continues. Pour tout espace
|
||
$\Space$, $\kid_\Space$ est la fonction identité (toujours continue). La
|
||
composition est la composition de fonctions usuelle dont on peut montrer
|
||
qu'elle respecte la continuité: toute composition de fonctions continues est
|
||
continue.
|
||
\end{mpo-exemple}
|
||
|
||
\begin{mpo-exemple}[Catégorie des monoïdes]
|
||
La catégorie des monoïdes $\cat{Mon}$ a pour objets les monoïdes et pour
|
||
morphismes, les \emph{morphismes de monoïdes}, c'est-à-dire les fonctions $h :
|
||
\Time_1 \rightarrow \Time_2$ respectant les neutres et les lois de composition
|
||
internes:
|
||
$$
|
||
h(0_{\Time_1}) = 0_{\Time_2}
|
||
\qquad
|
||
h(x +_{\Time_1} y) = h(x) +_{\Time_2} h(y)
|
||
$$
|
||
Là encore, l'identité et la composition usuelles respectent la
|
||
définition~\ref{def:cat} et sont utilisées pour compléter la définition de
|
||
$\cat{Mon}$.
|
||
\end{mpo-exemple}
|
||
|
||
\begin{mpo-exemple}[Catégorie des actions de monoïdes]
|
||
On définit la catégorie $\cat{AMon}$ ayant pour objets les actions de monoïdes
|
||
définies précédemment. On définit un morphisme entre deux actions $\Phi: E
|
||
\times \Time \rightarrow E$ et $\Phi':E' \times \Time' \rightarrow E'$ comme
|
||
un couple $\langle h,f \rangle$ où $h$ est un morphisme de monoïde de $\Time$
|
||
dans $\Time'$, et $f$ est une fonction de $E$ dans $E'$ tels que pour tout
|
||
$t\in\Time, x\in E$:
|
||
$$
|
||
\Phi'(f(x), h(t)) = f(\Phi(x,t))
|
||
$$
|
||
Il est aisé de montrer que
|
||
$$
|
||
\kid_\cat{AMon}(\Phi) = \langle \kid_\cat{Mon}(\Time),\kid_\cat{Set}(E) \rangle
|
||
\qquad
|
||
\langle h,f \rangle \circ_\cat{AMon} \langle h',f' \rangle = \langle h \circ_\cat{Mon} h',f \circ_\cat{Set} f' \rangle
|
||
$$
|
||
\end{mpo-exemple}
|
||
|
||
La théorie des catégories s'attache à comprendre les objets à travers les
|
||
propriétés de transition qu'exposent les morphismes. La définition de
|
||
$\cat{Top}$ par exemple nous invite à comprendre les espaces topologiques à
|
||
travers les fonctions continues. Ce point de vue est illustré par la notion
|
||
d'\emph{isomorphisme}, qui s'intéresse à savoir si deux objets ont des rôles
|
||
interchangeables dans un catégorie. La définition qui suit repose uniquement sur
|
||
les flèches reliant les deux objets concernés.
|
||
%%
|
||
\begin{mpo-definition}[Objets isomorphes]\label{def:isomor}
|
||
Soit $\cat{K}$ une catégorie. Deux \objs{K} $A$ et $B$ sont dits
|
||
\emph{isomorphes} s'il existe une paire de \mrphs{K} $f:A \rightarrow B$ et $g:
|
||
B \rightarrow A$ tels que:
|
||
$$
|
||
\kid_A = g \circ_\cat{K} f
|
||
\qquad\textnormal{ et }\qquad
|
||
\kid_B = f \circ_\cat{K} g
|
||
$$
|
||
Les morphismes $f$ et $g$ sont qualifiés d'\emph{isomorphismes}.
|
||
\end{mpo-definition}
|
||
|
||
Les objets extrémaux sont un exemple de propriété, là encore décrits en terme de
|
||
flèches.
|
||
\begin{mpo-definition}[Objet initial, objet final]
|
||
Soit \cat{K} une catégorie.
|
||
%%
|
||
Un \obj{K} $I$ est appelé \emph{objet initial} si pour chaque \obj{K} $O$, il
|
||
existe un unique morphisme allant de $I$ vers $O$.
|
||
%%
|
||
De même, un \obj{K} $F$ est appelé un \emph{objet final} si pour chaque
|
||
\obj{K} $O$ il existe un unique morphisme allant de $O$ vers $F$.
|
||
\end{mpo-definition}
|
||
À titre d'exemple, $\cat{Set}$ possède un objet initial, l'ensemble vide
|
||
$\emptyset$, alors que tout singleton constitue un objet final. Nous
|
||
constaterons d'ailleurs que lorsqu'il existe plusieurs objets initiaux
|
||
(respectivement finaux), ceux-ci sont tous isomorphes.
|
||
|
||
\subsubsection{Quelques diagrammes classiques}
|
||
|
||
Nous remarquons que les propriétés intéressantes proviennent des multiples
|
||
façons d'atteindre un objet destination à partir d'un même objet source. C'est
|
||
par exemple ce qu'exprime la définition d'isomorphisme qui implique qu'il y a
|
||
un moyen de ne pas «bouger» dans $A$ tout en passant par $B$. La propriété pour
|
||
deux chemins d'être égaux après composition s'appellent la \emph{commutativité}.
|
||
Cette notion est au cœurs de nombreuses constructions catégoriques.
|
||
|
||
Nous nous intéressons ici en particulier aux notions de \emph{limite} et de
|
||
\emph{colimite}. De façon informelle, une (co)limite consiste à trouver un objet
|
||
qui résume au mieux le comportement d'un groupe d'objets et de morphismes.
|
||
Il s'agit d'une certaine façon de la possibilité de factoriser un grand
|
||
nombre de flèches en une seule. Nous avons déjà rencontré cette construction
|
||
section~\ref{sec:ehresmann}, dans la description des travaux d'A. Ehresmann sur
|
||
la complexification structurelle: un cat-neurone, défini dans ce formalisme
|
||
comme une colimite, représente à lui seul le comportement fonctionnel d'une
|
||
famille de neurones.
|
||
|
||
Plutôt que de présenter formellement les définitions générales de limite et
|
||
colimite, nous préférons nous concentrer sur 4 constructions particulières qui
|
||
nous seront utiles dans la suite.
|
||
|
||
\paragraph{Produit et coproduit.}
|
||
%%
|
||
Ce premier groupe de (co)limites cherche à définir un représentant $P$ résumant
|
||
le comportement de deux objets $X$ et $Y$ sur n'importe quel autre objet
|
||
$Q$. On entend ici par comportement deux flèches $f$ et $g$ provenant de (ou
|
||
tombant sur) $Q$ et tombant sur (ou provenant de) $X$ et $Y$. S'il existe un
|
||
représentant $P$ résumant $X$ et $Y$ alors tout couple de flèches $(f,g)$ doit
|
||
être résumable en une unique flèche entre $P$ et $Q$. Ces considérations amènent
|
||
aux définitions suivantes.
|
||
|
||
\begin{mpo-definition}[Produit]\label{def:prod}
|
||
Soient les deux objets $X, Y$. Le \emph{produit} de $X$ et $Y$, s'il existe,
|
||
consiste en un objet $P$ et deux morphismes $p_1 : P \rightarrow X$ et $p_2 :
|
||
P \rightarrow Y$ tels que pour tout autre objet $Q$ et morphismes $p'_1 : Q
|
||
\rightarrow X$ et $p'_2 : Q \rightarrow Y$, il existe un unique morphisme $u :
|
||
Q \rightarrow P$ tel que le diagramme suivant commute
|
||
\begin{center}
|
||
\includegraphics[page=4]{model-categories}
|
||
\end{center}
|
||
\end{mpo-definition}
|
||
%%
|
||
En renversant les flèches de cette définition, on obtient le \emph{coproduit},
|
||
la construction \emph{duale} du produit.
|
||
%%
|
||
\begin{mpo-definition}[Coproduit]\label{def:coprod}
|
||
Soient les deux objets $X, Y$. Le \emph{coproduit} de $X$ et $Y$, s'il existe,
|
||
consiste en un objet $P$ et deux morphismes $i_1 : X \rightarrow P$ et $i_2 :
|
||
Y \rightarrow P$ tels que pour tout autre objet $Q$ et morphismes $i'_1 : X
|
||
\rightarrow Q$ et $i'_2 : Y \rightarrow Q$, il existe un unique morphisme $u :
|
||
P \rightarrow Q$ tel que le diagramme suivant commute
|
||
\begin{center}
|
||
\includegraphics[page=5]{model-categories}
|
||
\end{center}
|
||
\end{mpo-definition}
|
||
|
||
Illustrons ces constructions dans le cas des ensembles en commençant par le
|
||
produit. En interprétant $X$ et $Y$ comme des ensembles, la construction cherche
|
||
à définir le meilleur ensemble possible nous permettant de factoriser en une
|
||
seule fonction $u$ n'importe quel couple de fonctions $f,g$ de même domaine
|
||
$Q$. Autrement dit, pour un même élément $q \in Q$, les fonctions produisent
|
||
deux valeurs $f(q)$ et $g(q)$ respectivement dans $X$ et $Y$, et l'on cherche à
|
||
représenter ces deux valeurs en une seule dans $P$ sans perte d'information. Le
|
||
meilleur ensemble $P$ permettant de satisfaire ces contraintes est le produit
|
||
cartésien $X \times Y$.
|
||
%%
|
||
Par un raisonnement similaire, on arrive à la conclusion que le coproduit dans
|
||
\cat{Set} correspond à l'union disjointe $X \uplus Y$.
|
||
|
||
\paragraph{Produit fibré et somme amalgamée.}
|
||
%%
|
||
Ces nouvelles constructions sont proches des précédences. Le produit fibré peut
|
||
être vu comme une construction comparable à un produit avec une contrainte
|
||
supplémentaire: deux morphismes vers un troisième objet $Z$ sont utilisés pour
|
||
représenter une forme de cohérence entre $X$ et $Y$.
|
||
|
||
\begin{mpo-definition}[Produit fibré]\label{def:pullback}
|
||
Soient trois objets $X, Y, Z$ et deux morphismes $f: X \rightarrow Z$ et $g:
|
||
Y \rightarrow Z$. Le \emph{produit fibré} des morphismes $f, g$, s'il existe,
|
||
consiste en un objet $P$ et deux morphismes $p_1 : P \rightarrow X$ et $p_2 :
|
||
P \rightarrow Y$ tel que le diagramme suivant commute
|
||
\begin{center}
|
||
\includegraphics[page=6]{model-categories}
|
||
\end{center}
|
||
et soit \emph{universel}, c'est-à-dire que pour tout autre objet $Q$ et
|
||
morphismes $p'_1 : Q \rightarrow X$ et $p'_2 : Q \rightarrow Y$ alors il
|
||
existe un unique morphisme $u : Q \rightarrow P$ tel que le diagramme suivant
|
||
commute
|
||
\begin{center}
|
||
\includegraphics[page=7]{model-categories}
|
||
\end{center}
|
||
\end{mpo-definition}
|
||
%%
|
||
En renversant les flèches de cette définition, on obtient la \emph{somme
|
||
amalgamée}, la construction \emph{duale} du produit fibré.
|
||
%%
|
||
\begin{mpo-definition}[Somme amalgamée]\label{def:pushout}
|
||
Soient trois objets $X, Y, Z$ et deux morphismes $f: Z \rightarrow X$ et $g: Z \rightarrow Y$.
|
||
La \emph{somme amalgamée} des morphismes $f, g$, si elle existe, consiste en
|
||
un objet $P$ et deux morphismes $i_1 : X \rightarrow P$ et $i_2 : Y \rightarrow
|
||
P$ tel que le diagramme suivant commute
|
||
\begin{center}
|
||
\includegraphics[page=8]{model-categories}
|
||
\end{center}
|
||
et soit \emph{universel}, c'est-à-dire que pour tout autre objet $Q$ et
|
||
morphismes $i'_1 : X \rightarrow Q$ et $i'_2 : Y \rightarrow Q$ alors il existe
|
||
un unique morphisme $u : P \rightarrow Q$ tel que le diagramme suivant commute
|
||
\begin{center}
|
||
\includegraphics[page=9]{model-categories}
|
||
\end{center}
|
||
\end{mpo-definition}
|
||
|
||
Dans \cat{Set}, ces constructions existent toujours. Le produit fibré correspond
|
||
à l'opération de $\theta$-jointure, c'est-à-dire à la construction du produit
|
||
cartésien de $X$ et de $Y$ dans lequel ne seront sélectionnés que les couples
|
||
$(x,y)$ vérifiant l'équation $f(x) = g(y)$. De la même façon, la somme amalgamée
|
||
peut être vue comme l'union disjointe de $X$ et $Y$ quotientée par la relation
|
||
$f(z) \equiv g(z)$ pour tout élément $z \in Z$.
|
||
|
||
\subsubsection{Foncteurs}
|
||
|
||
Il est naturel de munir une structure algébrique d'une notion de morphisme
|
||
permettant de passer d'une algèbre à une autre en préservant la structure. Les
|
||
catégories ne font pas exception, et l'on appelle \emph{foncteur} la notion de
|
||
morphisme de catégories.
|
||
|
||
\begin{mpo-definition}[Foncteur]\label{def:foncteur}
|
||
Soient \cat{C} et \cat{D} deux catégories. Un
|
||
\emph{foncteur\footnote{covariant}} de \cat{C} vers \cat{D} est un couple de
|
||
fonctions $\ftr{F} = \langle F_0, F_1 \rangle$ tel que
|
||
\begin{itemize}
|
||
\item $F_0$ associe à chaque \obj{C} $X$, un \obj{D} $F_0(X)$,
|
||
\item $F_1$ associe à chaque \mrph{C} $f : X \rightarrow Y$, un \mrph{D}
|
||
$F_1(f) : F_0(X) \rightarrow F_0(Y)$ de sorte que:
|
||
\begin{enumerate}
|
||
\item $F_1(\kid_\cat{C}(X)) = \kid_\cat{D}(F_0(X))$ pour tout \obj{C}
|
||
$X$, et
|
||
\item $F_1(g \circ_\cat{C} f) = F_1(g) \circ_\cat{D} F_1(f)$ pour tous
|
||
\mrphs{C} $f : X \rightarrow Y$ et $g : Y \rightarrow Z$.
|
||
\end{enumerate}
|
||
\end{itemize}
|
||
\end{mpo-definition}
|
||
Remarquons que les foncteurs peuvent être composés pour donner de nouveaux
|
||
foncteurs. Il est d'usage d'utiliser $\ftr{F}$ en lieu et place de $F_0$
|
||
et $F_1$ pour éviter les indices et alléger les notations. Nous présentons
|
||
ci-dessous quelques exemples de foncteurs.
|
||
|
||
\begin{mpo-exemple}[Foncteur identité]
|
||
Pour toute catégorie $\cat{C}$, on peut définir son \emph{foncteur
|
||
identité} qui envoie chaque \obj{C} sur lui-même et chaque \mrph{C} sur
|
||
lui-même. Avec ce foncteur, tous les ingrédients sont présents pour pouvoir
|
||
définir la catégorie \cat{Cat} des catégories. Il convient ainsi de noter
|
||
$\kid_\cat{Cat}(\cat{C})$ (ou encore $1_\cat{C}$) le foncteur identité d'une
|
||
catégorie $\cat{C}$.
|
||
\end{mpo-exemple}
|
||
|
||
\begin{mpo-exemple}[Foncteur d'oubli]
|
||
De façon informelle, les \emph{foncteurs d'oubli} permettent d'envoyer les
|
||
objets d'une catégorie vers ceux d'une autre catégorie possédant moins de
|
||
contraintes (justifiant le terme d'oubli).
|
||
%%
|
||
Nous intéresserons en particulier au foncteur d'oubli permettant de passer
|
||
d'une catégorie $\cat{C}$ vers la catégorie des ensembles. Par exemple, on
|
||
peut définir les foncteurs d'oubli suivants:
|
||
\begin{itemize}
|
||
|
||
\item $\ftr{U}_\cat{Top}: \cat{Top} \rightarrow \cat{Set}$ qui envoie tout
|
||
espace topologique $\Space = \langle E_\Space, \Omega_\Space \rangle$ vers
|
||
son ensemble support $E_\Space$ (en oubliant la structure décrite par les
|
||
ouverts de $\Omega_\Space$), et toute fonction continue vers elle-même;
|
||
|
||
\item $\ftr{U}_\cat{Mon}: \cat{Mon} \rightarrow \cat{Set}$ qui envoie tout
|
||
monoïde $\Time = \langle D_\Time, 0_\Time, +_\Time \rangle$ vers son
|
||
ensemble support $D_\Time$ (en oubliant l'opération de composition entre ses
|
||
éléments), et tout morphisme de monoïde vers lui-même, en tant que fonction
|
||
de l'espace support;
|
||
|
||
\item $\ftr{U}_\cat{AMon}: \cat{AMon} \rightarrow \cat{Set}$ qui envoie toute
|
||
action $\Phi: E \times \Time \rightarrow E$ vers son ensemble support défini
|
||
par:
|
||
$$
|
||
\ftr{U}_\cat{AMon}(\Phi) = \{\; (x,\delta,\Phi(x,\delta)) \mid x \in E, \delta \in \Time \;\}
|
||
$$
|
||
et tout morphisme d'action $\langle h, f \rangle: \Phi \rightarrow \Phi'$
|
||
vers la fonction:
|
||
$$
|
||
\begin{array}{llll}
|
||
\ftr{U}_\cat{AMon}(\langle h, f \rangle): &
|
||
\ftr{U}_\cat{AMon}(\Phi) & \rightarrow & \ftr{U}_\cat{AMon}(\Phi')\\
|
||
& (x,t,x') & \mapsto & (f(x), h(t), f(x'))
|
||
\end{array}
|
||
$$
|
||
|
||
\end{itemize}
|
||
\end{mpo-exemple}
|
||
|
||
|
||
|
||
\subsubsection{Constructions catégoriques}
|
||
|
||
Nous terminons cette introduction aux catégories avec deux constructions:
|
||
l'opposée d'une catégorie et la catégorie des flèches au-dessus (ou au-dessous)
|
||
d'un objet (ou \emph{slice} catégorie).
|
||
|
||
\begin{description}
|
||
|
||
\item[Catégorie opposée:]
|
||
%%
|
||
Étant donnée une catégorie $\cat{C}$, il est toujours possible de considérer
|
||
son \emph{opposée} $\catop{C}$ qui possède les mêmes objets que $\cat{C}$ mais
|
||
dont les morphismes sont les flèches de $\cat{C}$ inversées. En d'autres termes,
|
||
entre $\cat{C}$ et $\catop{C}$, domaines et codomaines échangent leurs rôles.
|
||
|
||
Cette construction est purement symbolique et n'apporte pas de propriétés
|
||
supplémentaires à $\catop{C}$ qui n'étaient pas déjà présente chez $\cat{C}$.
|
||
Cependant, travailler dans la catégorie opposée permet souvent de travailler
|
||
avec des flèches allant dans une direction plus naturelle pour la compréhension.
|
||
L'un des principaux avantages de cette construction est de mettre en avant la
|
||
dualité entre limites et colimites. En effet, comme nous l'avons indiqué en
|
||
exemple plus haut, produit et coproduit sont des notions duales: passer de l'une
|
||
à l'autre s'effectue en changeant le sens des flèches. Ainsi, un produit dans
|
||
$\cat{C}$ se présentera sous la forme d'un coproduit dans $\catop{C}$, et vice
|
||
versa. Il en est de même pour le produit fibré et la somme amalgamée.
|
||
|
||
\item[Flèches au-dessus d'un objet:]
|
||
%%
|
||
Les morphismes étant les éléments de première importance dans les catégories, de
|
||
nombreuses situations amènent à considérer comment les flèches sont relier les
|
||
unes aux autres. Il existe plusieurs moyens de formalisation les relations entre
|
||
flèches avec l'élaboration de $2$-catégories qui ajoute un niveau supplémentaire
|
||
d'éléments (des flèches entre flèches), les transformations naturelles, etc.
|
||
|
||
Nous nous intéressons, dans notre cas, à une construction spécifique où les
|
||
flèches qu'il nous intéresse d'étudier possèdent toutes le même domaine ou
|
||
le même codomaine. On parlera alors de catégories de flèches au-dessus ou
|
||
au-dessous d'un objet. Pour ces catégories, il est nécessaire de fournir une
|
||
notion de morphisme, ce que propose la définition suivante.
|
||
%%
|
||
\begin{mpo-definition}[Flèche au-dessus/au-dessous d'un objet]\label{def:slice}
|
||
Soit $\cat{C}$ une catégorie et $X$ un $\obj{C}$. La \emph{catégorie des
|
||
$\mrphs{C}$ au-dessus de $X$}, noté $\cat{C} \downarrow X$, est la catégorie
|
||
dont
|
||
\begin{itemize}
|
||
|
||
\item les objets sont les $\mrphs{C}$ de la forme $f:Y \rightarrow X$, et dont
|
||
|
||
\item les morphismes entre $f_1:Y_1 \rightarrow X$ et $f_2:Y_2 \rightarrow
|
||
X$ sont les $\mrphs{C}$ $g: Y_1 \rightarrow Y_2$ tels que $f_1 = f_2
|
||
\circ_\cat{C} g$, c'est-à-dire tels que le diagramme suivant commute:
|
||
\begin{center}
|
||
\includegraphics[page=10]{model-categories}
|
||
\end{center}
|
||
|
||
\end{itemize}
|
||
L'identité et la composition sont naturellement héritées de $\cat{C}$.
|
||
|
||
La construction duale est la \emph{catégorie des $\mrphs{C}$ au-dessous de
|
||
$X$}, notée $X \downarrow \cat{C}$.
|
||
\end{mpo-definition}
|
||
|
||
\end{description}
|
||
|
||
|
||
\FloatBarrier
|
||
\subsection{Catégorie des modèles}
|
||
|
||
Nous présentons maintenant les bases d'une construction catégorique pour
|
||
la modélisation multi-niveau. Nous commençons par définir la catégorie
|
||
$\cat{Abs}_S$ des modèles d'un système $S$. Nous proposons ensuite d'en analyser
|
||
certaines propriétés fortement liées aux techniques de modélisation que nous
|
||
avons présentées section~\ref{sec:multiniveau}.
|
||
|
||
\subsubsection{Définition de la catégorie des modèles}
|
||
|
||
Dans la suite, nous supposons l'existence d'un système $S$ que l'on cherche
|
||
à modéliser. Notre objectif est de définir une catégorie $\cat{Abs}_S$ dont
|
||
les objets sont les modèles de $S$ et les flèches représentent les liens
|
||
d'abstraction entre ces modèles. En suivant l'idée générale que nous avons
|
||
décrite dans l'introduction de cette section, nous supposons un ensemble
|
||
particulier noté $E_{\model{M}{S}}$ représentant les faits du système $S$
|
||
auxquels tout modèle de $S$ doit se référer. D'une certaine façon, l'ensemble
|
||
$E_{\model{M}{S}}$ représente le vocabulaire qu'on souhaite pouvoir utiliser
|
||
pour décrire $S$. Rappelons que le but d'un modèle de $S$ est d'expliquer le
|
||
système $S$ en faisant appel à ce vocabulaire. Dans le contexte des sciences
|
||
expérimentales présenté section~\ref{sec:scexp}, ce vocabulaire consistait en
|
||
toutes les expériences réalisées/réalisables sur le système étudié.
|
||
|
||
\begin{mpo-definition}[Catégorie des modèles]\label{def:abscat}
|
||
Soit $S$ un système représenté par un ensemble de faits de référence
|
||
$E_{\model{M}{S}}$. La catégorie $\cat{Abs}_S$ des modèles de $S$ est définie
|
||
par:
|
||
$$
|
||
\cat{Abs}_S := (E_{\model{M}{S}} \downarrow \cat{Set})^\mathbf{co}
|
||
$$
|
||
à savoir, l'\emph{opposée de la catégorie des flèches de $\cat{Set}$} au-dessous
|
||
de $E_{\model{M}{S}}$.
|
||
\end{mpo-definition}
|
||
%
|
||
Cette définition mérite quelques éléments de clarification.
|
||
|
||
\paragraph{Objets de $\cat{Abs}_S$.}
|
||
%%
|
||
Les objets de $\cat{Abs}_S$ représentent les modèles de $S$ en accord avec
|
||
les faits de référence de $E_{\model{M}{S}}$. Par définition, un modèle
|
||
$\modelM$ est construit à partir d'une flèche de $\cat{Set}$ de domaine
|
||
$E_{\model{M}{S}}$. En notant cette flèche $\sigma_\modelM: E_{\model{M}{S}}
|
||
\rightarrow E_\modelM$, on retrouve ici la définition informelle de la
|
||
sémantique des modèles que nous avons présentée: une fonction des faits de
|
||
référence vers les faits du modèle.
|
||
|
||
On peut remarquer qu'un même ensemble de faits peut être utilisé par deux
|
||
sémantiques différentes. De façon générale, tout ensemble $E$ de $\cat{Set}$
|
||
(hormis l'ensemble vide) peut être atteint à partir de $E_{\model{M}{S}}$. De
|
||
plus, il apparaîtra dans $\cat{Abs}_S$ autant de fois qu'il existe de fonctions
|
||
dans $\khom_\cat{Set}(E_{\model{M}{S}},E)$, donnant lieu à autant de modèles
|
||
différents de $S$ pour ce seul ensemble de faits. La catégorie $\cat{Abs}_S$ est
|
||
donc extrêmement riche en modèles.
|
||
|
||
\paragraph{Morphismes de $\cat{Abs}_S$.}
|
||
%%
|
||
Si l'on constate que les objets de $\cat{Abs}_S$ formalisent la notion de sémantique des modèles que nous cherchions à mettre en place, ses flèches permettent quant à elles de formaliser la notion d'abstraction.
|
||
En effet, la définition~\ref{def:abscat} amène à considérer une flèche $\absA:\model{M}{+} \rightarrow \model{M}{-}$, signifiant que le modèle $\model{M}{+}$ est une abstraction du modèle $\model{M}{-}$, pour chaque fonction $f_\absA$ de $E_{\model{M}{-}}$ dans $E_{\model{M}{+}}$ telle que le diagramme suivant commute:
|
||
\begin{center}
|
||
\includegraphics[page=13]{model-categories}
|
||
\end{center}
|
||
Nous retrouvons à nouveau la situation décrite informellement en début de
|
||
section. On remarquera en particulier la correspondance entre ce diagramme et
|
||
celui illustré \textsc{Fig.}~\ref{fig:model-abstraction}.
|
||
|
||
Nous finirons en rappelant que par construction la composition et l'identité
|
||
sont bien définies dans $\cat{Abs}_S$. La composition correspond à la
|
||
transitivité de l'abstraction qui revient à dire informellement que si
|
||
$\model{M}{1}$ est une abstraction de $\model{M}{2}$ et que $\model{M}{2}$ est
|
||
une abstraction de $\model{M}{3}$, alors $\model{M}{1}$ est une abstraction de
|
||
$\model{M}{3}$ par composition des deux fonctions d'abstraction. Pour ce qui est
|
||
de l'identité, elle signifie que tout modèle est une abstraction de lui-même.
|
||
Dans ce cas, la fonction d'abstraction correspond à la fonction identité de
|
||
l'ensemble des faits du modèle concerné.
|
||
|
||
\paragraph{Objets extrémaux de $\cat{Abs}_S$.}
|
||
%%
|
||
Toute catégorie de flèches d'une catégorie $\cat{C}$ arbitraire au-dessous d'un
|
||
$\obj{C}$ $X$ vérifie les deux propriétés suivantes:
|
||
\begin{enumerate}
|
||
|
||
\item $\kid_X$ (qui est bien un $\mrph{C}$ au-dessous de $X$) est un objet
|
||
initial de $X \downarrow \cat{C}$;
|
||
|
||
\item si $\cat{C}$ présente un objet terminal $F$, l'unique $\mrph{C}$ de $X$
|
||
vers $F$ est un objet terminal de $X \downarrow \cat{C}$.
|
||
|
||
\end{enumerate}
|
||
En considérant que la définition~\ref{def:abscat} considère l'opposée d'une
|
||
telle catégorie et que les notions d'objets initiaux et finaux sont duales, on
|
||
déduit aisément que la catégorie $\cat{Abs}_S$ possède des objets initiaux et
|
||
des objets finaux.
|
||
|
||
Les objet initiaux sont les fonctions constantes de $E_{\model{M}{S}}$ vers les
|
||
singletons, c'est-à-dire les objets terminaux de $\cat{Set}$. Par exemple, on
|
||
associe au singleton $\{\bot\}$, le modèle $\model{M}{\bot}$ correspondant au
|
||
modèle le plus abstrait possible, celui qui offre le moins d'explication de $S$
|
||
en identifiant tout les faits de $E_{\model{M}{S}}$ en un seul, $\bot$.
|
||
%%
|
||
En revanche, l'objet final, à savoir la fonction identité
|
||
$\kid_{E_{\model{M}{S}}}$, constitue le modèle $\model{M}{S}$ le plus concret
|
||
qu'il est possible de construire étant donné le vocabulaire proposé dans
|
||
$E_{\model{M}{S}}$.
|
||
%%
|
||
Ainsi, $\cat{Abs}_S$ se présente comme une \emph{hiérarchie d'abstraction}
|
||
entre les modèles de $S$ dont les objets initiaux et finaux forment les deux
|
||
extrémités. On remarquera que, dans le cas particulier où le vocabulaire
|
||
que l'on s'autorise pour parler de $S$ est vide (c'est-à-dire lorsque
|
||
$E_{\model{M}{S}} = \emptyset$), la hiérarchie «s'écrase» en un unique objet.
|
||
|
||
|
||
\subsubsection{Transformation de modèles}
|
||
|
||
L'opération essentielle que notre cadre formel met en avant est
|
||
l'abstraction entre modèles. Elle provient des concepts développés
|
||
dans le cadre des transformations de modèles que nous avons présentées
|
||
section~\ref{sec:modeltrans} au sein de laquelle référence était faite à deux
|
||
propriétés des transformations qu'il est bon de confronter à notre proposition.
|
||
|
||
|
||
\paragraph{Transformation endogène et foncteur d'oubli.}
|
||
%%
|
||
Se restreindre à la simple définition ensembliste de $\cat{Abs}_S$ n'apporte
|
||
aux modèles aucun pouvoir explicatif. Ce fut d'ailleurs l'objet de la
|
||
section~\ref{sec:consmodel} que de montrer qu'il est nécessaire de rajouter de
|
||
la structure sur les ensembles de faits pour en tirer plus d'informations.
|
||
%%
|
||
On peut d'ailleurs remarquer qu'en tant que objet terminal, les faits de
|
||
référence constituent certes le modèle le plus concret mais, privés de
|
||
structure, n'apportent aucune description supplémentaire du système.
|
||
|
||
Pour palier à cette absence de structure, notre proposition consiste
|
||
à considérer toute catégorie $\cat{C}$ munie d'un foncteur d'oubli
|
||
$\ftr{U}_\cat{C}$ vers $\cat{Set}$ comme la description d'un formalisme. Par
|
||
exemple, les modèles dont les ensembles de faits sont des images d'actions de
|
||
monoïde par le foncteur $\ftr{U}_\cat{AMon}$, correspondent à la classe des
|
||
modèles dynamiques explicitée définition~\ref{def:moddyna}.
|
||
|
||
Il est possible d'aller plus loin dans cette proposition. Nous pouvons
|
||
considérer les abstractions issues des images de morphismes par \emph{le même}
|
||
foncteur d'oubli $\ftr{U}_\cat{C}$: ces cas correspondent exactement aux
|
||
transformations de modèles endogènes au formalisme décrit par $\cat{C}$.
|
||
%%
|
||
Illustrons cela pour les modèles dynamiques. Considérons dans $\cat{AMon}$,
|
||
$\Phi_-$ et $\Phi_+$ deux actions de monoïde, et $h: \Phi_- \rightarrow
|
||
\Phi_+$ un morphisme entre elles. Le cas qui nous intéresse suppose que
|
||
$\ftr{U}_\cat{AMon}$ envoie $\Phi_-$ (respectivement $\Phi_+$) sur l'ensemble
|
||
des faits $E_{\model{M}{-}}$ (respectivement $E_{\model{M}{+}}$) d'un modèle
|
||
$\model{M}{-}$ (respectivement $\model{M}{+}$) de $\cat{Abs}_S$, de telle sorte
|
||
que l'image de $\ftr{U}_\cat{AMon}(h) = f_\absA$ pour une flèche d'abstraction
|
||
$\absA: \model{M}{+} \rightarrow \model{M}{-}$:
|
||
\begin{center}
|
||
\includegraphics[page=14]{model-categories}
|
||
\end{center}
|
||
Cette situation décrit bien une abstraction de modèles dynamiques: passer
|
||
du modèle $\model{M}{+}$ au modèle $\model{M}{-}$ par $\absA$ est une
|
||
transformation endogène de $\model{M}{+}$ en $\model{M}{-}$ respectant l'action
|
||
du temps.
|
||
|
||
Évidemment, les transformations exogènes sont également à l'honneur. Elles
|
||
correspondent aux abstractions $\absA: \model{M}{+} \rightarrow \model{M}{-}$
|
||
dont les domaines et codomaines sont dans l'image de foncteurs d'oubli
|
||
\emph{différents}.
|
||
|
||
|
||
\paragraph{Transformation horizontale et isomorphisme.}
|
||
%%
|
||
Considérons parmi les transformations de modèles, les transformations verticales
|
||
et les transformations horizontale. Les premières correspondent à une notion de
|
||
raffinement entre le modèle initial et le modèle transformé de telle sorte que
|
||
le premier soit en général plus abstrait que le second. La notion d'abstraction
|
||
que nous avons formalisée correspond à cette verticalité.
|
||
|
||
Les transformations horizontales correspondent à des équivalences entre des
|
||
modèles ayant au final le même pouvoir d'explication tout en étant décrits
|
||
de façons différentes, par exemple lorsqu'ils reposent sur des formalismes
|
||
différents (ce qui est représentable dans notre cadre par l'utilisation
|
||
de foncteurs d'oubli différents comme nous venons de le voir). Les deux
|
||
modèles sont donc interchangeables. Comme nous l'avons vu, cette propriété
|
||
se traduit en termes catégoriques par un isomorphisme entre objets. Soient
|
||
$\model{M}{1}$ et $\model{M}{2}$, deux modèles de $\cat{Abs}_S$. Par définition,
|
||
l'isomorphisme entre $\model{M}{1}$ et $\model{M}{2}$ se traduit par la
|
||
présence de deux abstractions $\absA_{12}: \model{M}{1}\rightarrow\model{M}{2}$
|
||
et $\absA_{21}: \model{M}{2}\rightarrow\model{M}{1}$ telles que $\absA_{12}
|
||
\circ \absA_{21}$ et $\absA_{21} \circ \absA_{12}$ donnent respectivement les
|
||
identités de $\model{M}{1}$ et de $\model{M}{2}$. En dépliant la définition de
|
||
$\cat{Abs}_S$, cela revient à dire que les ensembles de faits de $\model{M}{1}$
|
||
et de $\model{M}{2}$ sont isomorphes dans $\cat{Set}$. Attention, l'inverse est
|
||
faux: deux modèles dont les ensembles de faits sont en bijection ne sont pas
|
||
nécessairement isomorphes car il peut ne pas exister de bijection respectant les
|
||
sémantiques deux modèles simultanément.
|
||
|
||
|
||
\subsubsection{Couplage de modèles}
|
||
|
||
L'opération importante de la modélisation multi-modèle est le couplage de
|
||
modèles. Nous montrons dans cette dernière section comment les constructions de
|
||
(co)limites permettent ce couplage.
|
||
|
||
\paragraph{Le couplage simple.}
|
||
%
|
||
Le couplage de deux modèles peut être décrit en terme d'abstraction: le couplage
|
||
entre un modèle $\modelM_1$ et un modèle $\modelM_2$ revient à construire
|
||
le «meilleur» modèle $\modelM_{12}$ dont $\modelM_1$ et $\modelM_2$ sont
|
||
des abstractions. En effet, on cherche à retrouver dans $\modelM_{12}$ les
|
||
contributions de $\modelM_{1}$ et $\modelM_{2}$. En cela, $\modelM_{12}$ est
|
||
plus complet, et donc plus concret, que ses parents. De plus, on entend par
|
||
«meilleur» modèle, le fait que la définition de $\modelM_{12}$ se limite
|
||
uniquement aux contributions de $\modelM_1$ et $\modelM_2$. En d'autres termes,
|
||
tout autre modèle $\modelM'$ établissant un rapport entre $\modelM_1$ et
|
||
$\modelM_2$ serait une spécialisation de $\modelM_{12}$. Sous la forme d'un
|
||
diagramme, cette définition informelle se décrit de la façon suivante:
|
||
\begin{center}
|
||
\includegraphics[page=15]{model-categories}
|
||
\end{center}
|
||
On reconnaît ici le diagramme d'un coproduit qui invite à poser la définition
|
||
du couplage dans $\cat{Abs}_S$ à travers cette construction. Il faut cependant
|
||
s'assurer de son existence et, le cas échéant, de sa définition: quels ensemble
|
||
de faits et sémantique peut-on lui associer ? Pour ce faire, il suffit de
|
||
considérer l'équivalent du diagramme précédent dans $\cat{Set}$.
|
||
\begin{center}
|
||
\includegraphics[page=16]{model-categories}
|
||
\end{center}
|
||
Le coproduit de $\cat{Abs}_S$ dérive ici du produit de $\cat{Set}$ dont il
|
||
hérite les propriétés. Nous en déduisons qu'il est toujours possible de coupler
|
||
deux modèles; il suffit pour cela de faire le produit cartésien des ensembles de
|
||
faits des modèles à coupler. Les fonctions d'abstraction correspondent alors aux
|
||
fonctions de projection.
|
||
%%
|
||
Nous avons également fait figurer sur le diagramme l'ensemble des
|
||
faits de référence $E_{\model{M}{S}}$ et les sémantiques des modèles,
|
||
$\sigma_{\model{M}{1}}$ et $\sigma_{\model{M}{2}}$. L'universalité du coproduit
|
||
implique alors qu'il existe un unique morphisme de $E_{\model{M}{S}}$ vers
|
||
$E_{\model{M}{12}}$, que nous identifions aisément à la sémantique de
|
||
$\model{M}{12}$. Celle-ci consiste à retourner pour chaque fait de référence, le
|
||
n-uplet des faits associés par chaque modèle:
|
||
$$
|
||
\begin{array}{llcl}
|
||
\sigma_{\model{M}{12}}: &
|
||
E_{\model{M}{S}} & \longrightarrow & E_{\model{M}{12}} = E_{\model{M}{1}} \times E_{\model{M}{2}} \\
|
||
& r & \longmapsto & (\sigma_{\model{M}{1}}(r), \sigma_{\model{M}{2}}(r))
|
||
\end{array}
|
||
$$
|
||
|
||
\paragraph{Somme amalgamée de modèles.}
|
||
%
|
||
Remarquons qu'en considérant toutes les paires de faits possibles, le produit
|
||
cartésien construit beaucoup plus de couples que nécessaire. La sémantique joue
|
||
un rôle de filtre puisque seule l'image de $\sigma_{\model{M}{12}}$ n'est au
|
||
final prise en compte dans la définition des flèches de $\cat{Abs}_S$. Cela
|
||
fait jouer un rôle important aux faits de référence qu'il n'est pas toujours
|
||
possible de tenir. En effet, si l'on reprend le cas des sciences expérimentales
|
||
par exemple, la référence est donnée par l'expérience et la réalisation de
|
||
\emph{toutes} les expériences est en réalité impraticable. Le couplage simple
|
||
reste théorique lorsque le choix de l'ensemble $E_{\model{M}{S}}$ est une
|
||
hypothèse de travail.
|
||
|
||
Néanmoins, nous avons vu que le produit fibré correspondait pour les ensembles à
|
||
un produit cartésien suivi d'une sélection permettant de se ramener à l'ensemble
|
||
de couples qui nous intéresse. Tout comme le produit de $\cat{Set}$ donne
|
||
naissance à un coproduit dans $\cat{Abs}_S$, le produit fibré de $\cat{Set}$
|
||
devient une somme amalgamée dans $\cat{Abs}_S$:
|
||
\begin{center}
|
||
\includegraphics[page=17]{model-categories}
|
||
\end{center}
|
||
Pour cette construction, on suppose, en plus des deux modèles qui nous
|
||
intéressent, un troisième modèle $\modelM_0$ plus abstrait que $\modelM_1$
|
||
et $\modelM_2$ (par les abstractions $\absA^0_1$ et $\absA^0_2$). La somme
|
||
amalgamée de ce diagramme revient à calculer le produit fibré dans $\cat{Set}$.
|
||
Celui-ci correspond, comme attendu, à un produit cartésien entre les faits
|
||
de $\modelM_1$ et $\modelM_2$ restreint aux couples envoyés vers un fait
|
||
identique par $f_{\absA^0_1}$ et $f_{\absA^0_2}$. Les deux abstractions
|
||
$\absA_1$ et $\absA_2$ correspondent toujours aux projecteurs. La sémantique
|
||
$\sigma_{\model{M}{12}^0}$ est donnée, comme pour le couplage simple, par
|
||
universalité. Elle est donc unique et correspond à la restriction de la
|
||
sémantique $\sigma_{\model{M}{12}}$ du couplage simple au sous-ensemble du
|
||
produit cartésien imposé par $\modelM_0$.
|
||
%%
|
||
Plus $\modelM_0$ sera proche (en terme d'abstraction) de $\modelM_1$ et
|
||
$\modelM_2$, plus la restriction sera fine\footnote{La meilleure restriction
|
||
sera d'ailleurs obtenue lorsque $\modelM_0$ correspond au produit de $\modelM_2$
|
||
et de $\modelM_2$. Cependant, comme nous le verrons dans le paragraphe suivant
|
||
ce calcul dépend fortement d'une connaissance explicite de $E_{\model{M}{S}}$.}.
|
||
On remarquera d'ailleurs que lorsque le modèle $\modelM_0 = \modelM_\bot$, le
|
||
modèle initial (le plus abstrait), la construction se ramène au couplage simple.
|
||
|
||
Pour conclure, la somme amalgamée permet de coupler deux modèles en se
|
||
restreignant à une partie commune identifiée par un troisième modèle.
|
||
|
||
\paragraph{Construction duale.}
|
||
%
|
||
Si le coproduit permet de spécifier le couplage de modèles, il est naturel de
|
||
considérer la composition de modèles induite par le produit de $\cat{Abs}_S$.
|
||
Nous procédons comme pour le produit en analysant les diagrammes:
|
||
\begin{center}
|
||
\includegraphics[page=11]{model-categories}
|
||
\end{center}
|
||
Dans ce cas, et comme on pouvait l'attendre d'une construction duale, le
|
||
produit dans $\cat{Abs}_S$ construit le dénominateur commun aux deux modèles le
|
||
plus concret possible. Cependant, d'un point de vue catégorique, les calculs
|
||
sont différents. Le produit de $\cat{Abs}_S$ ne résulte pas du coproduit
|
||
de $\cat{Set}$ mais de la somme amalgamée, avec les faits de référence et
|
||
les sémantiques pour sommet du diagramme. Ainsi, le modèle $\model{M}{12}$
|
||
correspond à l'union disjointe des faits de $\model{M}{1}$ et de $\model{M}{2}$
|
||
quotientés par la relation d'équivalence regroupant au sein d'une même classe
|
||
les faits images d'un même fait de référence.
|
||
%%
|
||
D'un point de vue constructif moins intéressant que le coproduit, le produit
|
||
trouvera un intérêt dans un contexte d'analyse (de code par exemple) afin
|
||
d'extraire de deux modèles d'un même système la «meilleure» partie commune.
|
||
|
||
À nouveau, cette construction dépend d'une connaissance approfondie des faits de
|
||
référence et n'est donc pas applicable dans un certain nombre de cas. On peut
|
||
envisager de faire endosser ce rôle à un autre modèle à travers un produit fibré
|
||
dans $\cat{Abs}_S$, ce qui revient à considérer le diagramme suivant:
|
||
\begin{center}
|
||
\includegraphics[page=12]{model-categories}
|
||
\end{center}
|
||
Au final, on obtient un dénominateur commun $\model{M}{12}^0$ qui n'est pas
|
||
le plus concret possible en général, mais qui est le plus concret possible
|
||
vérifiant la composition induite par la construction de $\modelM_0$ à partir de
|
||
$\modelM_1$ et $\modelM_2$.
|
||
|
||
|
||
\FloatBarrier
|
||
\section{Conclusion et perspectives}
|
||
Cette courte section vise à rappeler les principaux résultats obtenus suite à
|
||
notre approche théorique du multi-niveau ainsi que nos futures pistes de travail
|
||
sur le sujet.
|
||
|
||
\subsection{Conclusion}
|
||
% Résumé des épisodes précédents
|
||
Dans ce chapitre nous avons posé les fondements d'une description
|
||
formelle et trans-formalisme pour la description et pour une meilleure
|
||
compréhension de la modélisation multi-niveau. Nous avons commencé dans la
|
||
section~\ref{sec:multiniveau} par la définition du terme multi-niveau en
|
||
présentant différent types de modélisation multi-niveau: couplage de modèle,
|
||
transformation de modèle et complexification. Nous avons déterminé que la
|
||
modélisation multi-niveau était un cas particulier du multi-modèle, pratique
|
||
dans laquelle plusieurs modèles sont assemblés afin de construire des modèles
|
||
plus conséquents. Dans la modélisation multi-niveau s'ajoute une contrainte sur
|
||
la représentation de cet assemblage, où les modèles sont rassemblés par niveaux
|
||
et où nous pouvons décrire via des méthodes génériques comment assembler ces
|
||
modèles selon leur niveau de représentation. Comme nous n'avons pas trouvé
|
||
de cadre général suffisamment expressif pour parler de ces assemblages,
|
||
nous avons décidé d'élaborer, section~\ref{sec:consmodel}, une définition
|
||
générale de modèle qui puisse englober tous ces cas d'usage. S'intéresser à
|
||
la notion de modèle nous a amené à différencier les termes de modèle, système
|
||
et formalisme. Un modèle est, au final, un ensemble de faits, ce que nous
|
||
décrivons ensuite formellement par un foncteur d'oubli. Le système n'est pas
|
||
accessible et constitue l'inspiration d'un modèle expérimental, décrit par
|
||
extension par le biais de mesures sur ce système. Le formalisme est quant à
|
||
lui le principe organisateur des faits du modèle. Nous avons ensuite défini
|
||
quelques types de modèles classiques (dynamiques, probabilistes, …). Enfin, dans
|
||
la section~\ref{sec:compmodel}, nous nous penchons sur la description de la
|
||
composition de plusieurs modèles, d'après les différentes méthodes d'assemblage
|
||
que nous avons présenté plus tôt. Cette présentation nous amène à introduire
|
||
quelques notions de théorie des catégorie, une théorie s'intéressant à la
|
||
composition d'éléments opaques appelés objets et morphismes, afin d'introduire
|
||
la catégorie des modèles. Dans ce cadre, nous avons pu exprimer clairement le
|
||
rôle du modèle de référence comme garant de la sémantique commune à plusieurs
|
||
modèles à assembler.
|
||
|
||
Ce chapitre représente une toute première étape de défrichage qui a permis de
|
||
mettre en lumière les résultats suivants:
|
||
\begin{itemize}
|
||
\item une définition de modèle, système et formalisme;
|
||
\item la mise en évidence d'un rapport de chaque modèle avec sa sémantique,
|
||
identifiée comme son lien avec un modèle de référence;
|
||
\item la clarification de la flèche d'abstraction comme un morphisme de
|
||
\cat{Abs};
|
||
\item l'éclaircissement des transformations de modèles à la lumière de
|
||
\cat{Abs}: transformation verticale (abstraction) et horizontale (changement
|
||
de point de vue);
|
||
\item la présentation des différentes manières de composer plusieurs modèles
|
||
au sein de \cat{Abs}: couplage simple, somme amalgamée de modèles
|
||
(correspondant à un produit cartésien des faits de chacun des modèles
|
||
restreint par la sémantique) et sa construction duale (correspondant au
|
||
«dénominateur commun» entre les deux modèles considérés).
|
||
\end{itemize}
|
||
|
||
\subsection{Perspectives}
|
||
|
||
Malgré la présentation de nombreux nouveaux concepts, il reste encore beaucoup
|
||
à accomplir pour parfaire un cadre théorique pour l'intégration des niveaux
|
||
d'organisation dans les modèles.
|
||
|
||
% Trop abstrait, plus d'exemples concrets différents
|
||
Le premier point est le manque d'applications pratiques décrites avec cet
|
||
outil. Nous comptons, à court terme, écrire une section sur l'application
|
||
à la modélisation proie/prédateur, système présenté en milieu de chapitre.
|
||
De manière générale, nous avons manqué d'exemples à la fois concrets et
|
||
suffisamment simples. Ainsi une perspective de travail à plus long terme
|
||
est la présentation, dans le cadre que nous avons introduit, de nombreux
|
||
autres exemples pouvant ainsi aider à affiner les constructions présentées
|
||
section~\ref{sec:compmodel}. Parmi ces exemples, la question de la modélisation
|
||
de l'activité du chapitre~\ref{chap:partie-activite} et la composition des trois
|
||
modèles support de \otb du chapitre~\ref{chap:partie-otb} ont tout à fait leur
|
||
place. À terme, nous comptons décrire au moins un cas d'application par type de
|
||
transformation/couplage:
|
||
\begin{itemize}
|
||
\item isomorphisme (transformation horizontale),
|
||
\item abstraction/raffinement (transformation verticale),
|
||
\item couplage simple,
|
||
\item somme de modèles,
|
||
\item produit de modèles,
|
||
\end{itemize}
|
||
tout en mettant en évidence la classe de modèle utilisée: modèles dynamiques,
|
||
modèles à champs, modèles probabilistes, etc.
|
||
|
||
Le second point que nous souhaitons explorer est bien plus prospectif. Une
|
||
fois quelques exemples traité dans notre formalisme, quels nouveaux outils
|
||
peut-on développer pour analyser et automatiser la construction de modèles
|
||
multi-niveau. Avec le recul, nous devrions être capable d'identifier des
|
||
structures récurrentes dans l'établissement des modèles, suivant les objets
|
||
d'études ou suivant les disciplines.
|
||
|
||
Finalement, nous pourrons aborder notre objectif de recherche à long terme:
|
||
notre outil est-il un cadre suffisant pour exprimer clairement le fonctionnement
|
||
des systèmes complexes par le biais de mécanismes de complexification. Nous
|
||
commencerons par décrire les exemples donnés section~\ref{sec:complexification}
|
||
avec nos propres outils: le raffinement d'un modèle complexe de F. Polack et S.
|
||
Stepney peut-il être décrit plus simplement dans notre cadre, peut-on pointer
|
||
spécifiquement ce qui diffère d'un raffinement classique? La complexification
|
||
dans les CNN et la complexification structurelle de A. Ehresmann et J.-P.
|
||
Vanbermeersch peuvent-ils simplement s'exprimer dans notre cadre?
|
||
% Autre définition pour la catégorie des modèles que \cat{Abs}?
|
||
|