Fix a number of things in the scientific project.
This commit is contained in:
parent
24e014c15a
commit
867dfe10b1
1 changed files with 65 additions and 61 deletions
126
recherche.tex
126
recherche.tex
|
@ -497,24 +497,24 @@ les systèmes d'insertion/effacement et les systèmes de réécriture de
|
|||
multiensembles.
|
||||
|
||||
\paragraph{Insertion/effacement}
|
||||
L'une des premières pistes que j'aborderai dans ce contexte sera la
|
||||
L'une des premières pistes que j'aborderais dans ce contexte sera la
|
||||
continuation de l'étude des systèmes d'insertion/effacement avec des
|
||||
contextes de petite taille, et particulièrement les systèmes dont
|
||||
toutes les règles ne possèdent que le contexte à gauche. La complétude
|
||||
(ou l'incomplétude) computationnelle de ces systèmes n'a toujours pas
|
||||
été démontrée. Au delà de la complétude computationnelle qui n'est
|
||||
qu'une caractérisation très approximative du comportement possible de
|
||||
ces systèmes, il serait très intéressant d'étudier la dynamique
|
||||
engendrée par les règles d'insertion et d'effacement de plus près. Je
|
||||
ces systèmes, il serait très intéressant d'étudier de plus près la dynamique
|
||||
engendrée par les règles d'insertion et d'effacement. Je
|
||||
voudrais notamment utiliser dans ce but les graphes de dérivation, qui
|
||||
définissent un protocole de représentation graphique des dérivations,
|
||||
qui code code chaque insertion par un trait, et chaque effacement par
|
||||
définissent un protocole de représentation graphique de dérivations,
|
||||
qui code chaque insertion par un trait, et chaque effacement par
|
||||
un trait pointillé.
|
||||
|
||||
La figure~\ref{fig:insdel:lft-2n} montre un exemple de comportement
|
||||
dynamique que peut avoir un système d'in\-ser\-tion/ef\-face\-ment
|
||||
avec des règles qui n'insèrent et n'effacent qu'un symbole à la fois
|
||||
et qui vérifient uniquement les contextes à gauche (un système de
|
||||
et qui vérifient uniquement les contextes à gauche (des règles de
|
||||
taille $(1,1,0; 1,1,0)$). Il s'agit du système décrit
|
||||
dans~\cite[Section~8]{JL2005} qui possède un taux de croissance
|
||||
exponentiel et qui engendre donc un langage non-algébrique. Dans la
|
||||
|
@ -523,10 +523,10 @@ terminaux ainsi que tous les symboles qui insèrent des symboles
|
|||
gras. Avec ce code couleur on voit immédiatement que le graphe
|
||||
correspondant à une dérivation de ce système consiste en des chemins
|
||||
gras qui interagissent par le biais de structures gris clair. En
|
||||
outre, on remarque la croissance exponentielle de chemins gras, de
|
||||
outre, on remarque la croissance exponentielle des chemins gras, de
|
||||
droite à gauche : effectivement, le chemin gras de droite contient un
|
||||
symbole $D$, celui d'avant en contient 2, le troisième chemin de
|
||||
droite contient 4 symboles $D$, alors que le chemin gras de tout à
|
||||
droite contient 4 symboles $D$, alors que le chemin gras tout à
|
||||
gauche contient déjà 8 symboles $F$.
|
||||
|
||||
\begin{figure}[h!]
|
||||
|
@ -667,14 +667,14 @@ gauche contient déjà 8 symboles $F$.
|
|||
Nous tirons deux conclusions de cette analyse superficielle de la
|
||||
figure~\ref{fig:insdel:lft-2n}. D'un côté, on observe que les règles
|
||||
d'insertion et d'effacement de petite taille peuvent avoir un
|
||||
comportement assez complexe, qui dépasse même la puissance de
|
||||
comportement assez complexe qui dépasse même la puissance de
|
||||
modélisation des automates à pile. D'un autre côté, on note
|
||||
l'efficacité visuelle des graphes de dérivation, qui offrent une vue
|
||||
d'ensemble sur une dérivation sans perdre des détailles dynamiques
|
||||
essentiels, c'est-à-dire les éléments de comportement qui on une
|
||||
l'efficacité visuelle des graphes de dérivation qui offrent une vue
|
||||
d'ensemble sur une dérivation sans perdre les détails dynamiques
|
||||
essentiels, c'est-à-dire les éléments de comportement qui ont une
|
||||
influence sur le langage engendré. Cette propriété des graphes de
|
||||
dérivation les rend très intéressant pour tout étude de la dynamique
|
||||
de systèmes d'insertion/effacement.
|
||||
dérivation les rend très intéressants pour toute étude de la dynamique
|
||||
des systèmes d'insertion/effacement.
|
||||
|
||||
\paragraph{Réécriture de multiensembles}
|
||||
La réécriture de multiensembles, et notamment les systèmes à
|
||||
|
@ -691,10 +691,10 @@ que nous avions introduits dans~\cite{AI2011} et dont une variante
|
|||
restreinte j'ai étudiée dans~\cite{DBLP:conf/membrane/Ivanov14}. Le
|
||||
comportement de ces systèmes ressemble au celui de cellules vivantes
|
||||
dans le fait que les règles qui dirigent l'évolution peuvent être
|
||||
modifiées, ce qui donne un dimension de dynamisme en plus. De plus, le
|
||||
modifiées, ce qui donne une dimension de dynamisme en plus. En outre, le
|
||||
polymorphisme complexifie le rapport entre les étapes consécutives
|
||||
d'évolution, car une configuration du système détermine non seulement
|
||||
la configuration suivante, mais aussi la forme de règles qui seront
|
||||
la configuration suivante, mais aussi la forme des règles qui seront
|
||||
utilisées plus tard dans l'évolution.
|
||||
|
||||
La figure~\ref{fig:superexponential-growth} montre un exemple d'un
|
||||
|
@ -726,17 +726,16 @@ copies de $a$.
|
|||
\end{figure}
|
||||
|
||||
On remarque deux pistes d'exploration possibles pour les systèmes à
|
||||
membranes polymorphe. La première reste dans le cadre de l'étude
|
||||
membranes polymorphes. La première reste dans le cadre de l'étude
|
||||
formelle et se focalise sur le rapport entre les restrictions que l'on
|
||||
peut imposer statiquement et le comportement dynamique des systèmes
|
||||
avec ces restrictions, particulièrement leur puissance de calcul. La
|
||||
deuxième piste mène vers une collaboration interdisciplinaire et
|
||||
consiste à trouver des parallèles entre la complexité induite par le
|
||||
polymorphisme et la complexité intrinsèque des systèmes complexes tels
|
||||
que l'on trouve en biologie, en physique, etc. Trouver de telles
|
||||
parallèles permettrait d'approfondir la compréhension de ce type de
|
||||
système et de les modifier de sorte qu'ils aient le comportement
|
||||
désiré.
|
||||
que l'on trouve en biologie, en physique, etc. De telles parallèles
|
||||
permettrait d'approfondir la compréhension de cette complexité et
|
||||
suggérerait des manières de la gérer.
|
||||
|
||||
Une autre direction majeure de recherche qui m'attire fortement est la
|
||||
conception de cadres généraux pour réunir plusieurs variantes de
|
||||
|
@ -750,16 +749,17 @@ possibles d'ingrédients qui n'ont pas encore été étudiées.
|
|||
\paragraph{Autres modèles de calcul} En plus des deux modèles de
|
||||
calculs déjà mentionnés dans cette sous-section, je voudrais en
|
||||
continuer l'exploration d'autres ayant des liens de parenté forts avec
|
||||
les systèmes d'insertion/effacement et de la réécriture de
|
||||
les systèmes d'insertion/effacement et avec la réécriture de
|
||||
multiensembles. Ainsi, je suis intéressé par les machines à registres
|
||||
universelles de petite taille et je voudrais réduire la taille des
|
||||
universelles de petite taille et je voudrais travailler sur la
|
||||
réduction de la taille des
|
||||
constructions existantes. Cela permettrait d'améliorer les systèmes à
|
||||
membranes universels en réduisant le nombre de règles, de symboles, ou
|
||||
d'autres ingrédients utilisés.
|
||||
|
||||
Je voudrais également continuer l'étude de réseaux de processeurs
|
||||
évolutionnaires, mais au lieu de me pencher sur la caractérisation de
|
||||
leur puissance d'expression je m'intéresse plutôt à la dimension
|
||||
leur puissance d'expression je m'intéresserais plutôt à la dimension
|
||||
parallèle inhérente à ce modèle de calcul. Je voudrais notamment
|
||||
explorer le lien entre les réseaux de processeurs évolutionnaires et
|
||||
les systèmes à membranes ; en effet, dans les cas des deux modèles on
|
||||
|
@ -773,7 +773,7 @@ paraît intéressant de concevoir un cadre général pour ces deux modèles
|
|||
afin d'explorer à un haut niveau d'abstraction les manières
|
||||
différentes dont le calcul parallèle pourrait être organisé. En plus,
|
||||
ce cadre généralisant pourrait indiquer d'autres membres de la famille
|
||||
des modèles de calcul dont les réseaux de processeurs évolutionnaires
|
||||
de modèles de calcul dont les réseaux de processeurs évolutionnaires
|
||||
et les systèmes à membranes font partie.
|
||||
|
||||
Encore un modèle de calcul intrinsèquement parallèle qui m'attire
|
||||
|
@ -823,11 +823,11 @@ globale du modèle corresponde à celui du système. Cette approche
|
|||
pourrait offrir une vue beaucoup plus détaillée sur les liens entre
|
||||
les causes et les effets dans le système, et donnerait dans l'idéal
|
||||
des façons de décomposer le modèle en sous-parties modulaires,
|
||||
c'est-à-dire des parties dont les homologues on espérerait trouver
|
||||
c'est-à-dire des parties dont on espérerait trouver les homologues
|
||||
dans les modèles des autres systèmes. Toutefois, il est clair que ce
|
||||
type d'analyse nécessite une compréhension plus profonde du système à
|
||||
modéliser mais aussi des techniques de modélisation. Je souhaiterais
|
||||
me concentrer sur ces techniques et travailler vers la formulation des
|
||||
me concentrer sur ces techniques et travailler vers la formulation de
|
||||
véritables algèbres de modèles, dans le cadre desquelles on pourrait
|
||||
construire des modèles plus complexes à partir des plus simples, mais
|
||||
aussi retrouver des blocs en lesquels un modèle existant peut être
|
||||
|
@ -842,42 +842,33 @@ d'événements de sortie, un ensemble de chaînes sur les deux alphabets
|
|||
qui décrit les suites d'interactions possibles entre l'automate et
|
||||
l'environnement, ainsi qu'un ensemble de chaînes qui mène l'automate
|
||||
vers un état d'erreur. Une relation de raffinement est définie pour
|
||||
les automates d'interface et ensuite des opération de compositions
|
||||
les automates d'interface et ensuite des opérations de composition
|
||||
sont introduites de sorte à être compatibles avec la relation de
|
||||
raffinement.
|
||||
|
||||
La définition d'automates d'interface étant très générale, les
|
||||
propriétés démontrées dans~\cite{Chilton2014146} sont applicables pour
|
||||
La définition d'un automate d'interface étant très générale, les
|
||||
propriétés démontrées dans~\cite{Chilton2014146} sont applicables à
|
||||
une classe très large de modèles. Malheureusement, cette généricité
|
||||
implique aussi que l'on ne peut déduire que des conclusions assez
|
||||
générales pour être applicables à toute situation. Ce problème est
|
||||
fort difficile à contourner, car il est inhérent à tout langage
|
||||
générique. Dans ma recherche je compte utiliser le langage de la
|
||||
théorie des catégories pour attaquer la modélisation modulaire.
|
||||
générique. Je suis néanmoins convaincu qu'un langage riche permettant
|
||||
non seulement d'exprimer des propriétés à un haut niveau
|
||||
d'abstraction, mais aussi de décrire des objets spécialisés, peut
|
||||
donner des indices sur la résolution du problème de généricité. Dans
|
||||
ma recherche je compte utiliser la théorie des catégories comme un tel
|
||||
langage.
|
||||
|
||||
Une catégorie est l'un des formalismes qui abstraient la notion de
|
||||
structure mathématique elle-même. Une catégorie est défini comme une
|
||||
collection d'« objets » et de « flèches » entre les objets, aucune
|
||||
restriction n'étant imposée sur ce qu'un « objet » peut être, alors
|
||||
que les flèches doivent respectée quelques propriétés de composition
|
||||
très simples. (Le manuscrit~\cite{Adamek04} peut servir de référence.)
|
||||
que les flèches doivent respecter quelques propriétés de composition
|
||||
basiques. (La monographie~\cite{Adamek04} peut servir de référence.)
|
||||
En plus d'être très générale, la terminologie de la théorie des
|
||||
catégories admet des intuitions graphiques naturelles.
|
||||
|
||||
Malgré sa généralité, le langage des catégories permet de construire
|
||||
certains objets non-triviaux. Par exemple, la figure~\ref{fig:prod}
|
||||
défini l'objet produit $X_1\times X_2$ pour des objets $X_1$ et $X_2$
|
||||
d'une catégorie quelconque. Dans la catégorie des ensembles, le
|
||||
produit correspond au produit cartésien, dans la catégorie des groupes
|
||||
le produit correspond au produit direct, etc. La figure~\ref{fig:prod}
|
||||
définit le produit $X_1\times X_2$ comme un objet avec deux flèches
|
||||
$\pi_1$ et $\pi_2$ qui vont vers $X_1$ et $X_2$ respectivement, tel
|
||||
que si on prend n'importe quel autre objet $Y$ avec deux flèches $f_1$
|
||||
et $f_2$ vers $X_1$ et $X_2$, il existe une seule flèche de $Y$ vers
|
||||
$X_1\times X_2$ telle que $\pi_1\circ f = f_1$ et $\pi_2 \circ f =
|
||||
f_2$ (le diagramme est dit commutatif dans ce cas).
|
||||
|
||||
\begin{figure}[h]
|
||||
\begin{figure}[b]
|
||||
\centering
|
||||
\begin{tikzpicture}[node distance=9mm]
|
||||
\node (y) {$Y$};
|
||||
|
@ -895,19 +886,32 @@ f_2$ (le diagramme est dit commutatif dans ce cas).
|
|||
\label{fig:prod}
|
||||
\end{figure}
|
||||
|
||||
Malgré sa généralité, le langage des catégories permet de construire
|
||||
certains objets non-triviaux. Par exemple, la figure~\ref{fig:prod}
|
||||
défini l'objet produit $X_1\times X_2$ pour des objets $X_1$ et $X_2$
|
||||
d'une catégorie quelconque. Dans la catégorie des ensembles, le
|
||||
produit correspond au produit cartésien, dans la catégorie des groupes
|
||||
le produit correspond au produit direct, etc. La figure~\ref{fig:prod}
|
||||
définit le produit $X_1\times X_2$ comme un objet avec deux flèches
|
||||
$\pi_1$ et $\pi_2$ qui vont vers $X_1$ et $X_2$ respectivement, tel
|
||||
que si l'on prend n'importe quel autre objet $Y$ avec deux flèches $f_1$
|
||||
et $f_2$ vers $X_1$ et $X_2$, il existe une seule flèche de $Y$ vers
|
||||
$X_1\times X_2$ telle que $\pi_1\circ f = f_1$ et $\pi_2 \circ f =
|
||||
f_2$ (le diagramme est dit commutatif dans ce cas).
|
||||
|
||||
Il existe d'autres façons de construire des objets composés qui, grâce
|
||||
à la généralité des catégories, pourraient être appliquées à des
|
||||
modèles très différents. L'avantage de l'approche catégorique par
|
||||
modèles très différents. L'avantage de l'approche catégorielle par
|
||||
rapport à celle proposée dans~\cite{Chilton2014146} seraient que, dans
|
||||
la théorie des catégories, il est aussi possible de préciser
|
||||
formellement quelles propriétés une catégories devrait avoir pour
|
||||
qu'une certaine manière de composer les objets soit
|
||||
faisable. Autrement dit, le langage des catégories est assez général
|
||||
pour pouvoir formuler des propriétés très générales concernant des
|
||||
faisable. Autrement dit, le langage des catégories est assez riche
|
||||
pour pouvoir formuler des propriétés concernant des
|
||||
classes vastes d'objets aussi bien que des propriétés bien concrètes,
|
||||
valables dans certains cas particuliers uniquement. Je souhaite donc
|
||||
m'investir dans l'exploration des possibilités d'appliquer l'approche
|
||||
catégorique à la composition de modèles afin de contribuer à l'étude
|
||||
catégorielle à la composition de modèles afin de contribuer à l'étude
|
||||
de systèmes complexes.
|
||||
|
||||
\subsubsection{Programmation algébrique}
|
||||
|
@ -922,9 +926,9 @@ facilement à une description sous la forme d'une spécification qui
|
|||
peut être utilisée ensuite pour de la validation automatique. Ainsi,
|
||||
la pratique d'incorporer certains aspect catégorielles dans le
|
||||
systèmes de typage se voit de plus en plus adoptée par les
|
||||
développeurs des langages de programmation.
|
||||
développeurs de langages de programmation.
|
||||
|
||||
Un exemple de langage qui a incorporé un nombre important de concept
|
||||
Un exemple de langage qui a incorporé un nombre important de concepts
|
||||
catégoriels est Haskell~\cite{haskellorg}. Ce langage permet de
|
||||
manipuler directement des structures telles que monoïdes, foncteurs,
|
||||
monades, etc. afin de pouvoir spécifier des propriétés assez fortes
|
||||
|
@ -932,13 +936,13 @@ sur les types, et notamment de factoriser les structures de données
|
|||
utilisées ainsi que le code source. Il s'agit donc d'un travail de
|
||||
découpage des structures de données et du code source en sous-parties,
|
||||
ce qui est un cas particulier du problème général de décomposition de
|
||||
modèles décrit dans la section précédente. Par conséquent je trouve
|
||||
très intéressant de représenter tout ébauche de théorie algébrique de
|
||||
modèles sur l'ordinateur dans un langage haut niveau, car d'une part
|
||||
cela permettra de vérifier la justesse des définitions et de les
|
||||
exécuter assez tôt, et d'autre part cette approche s'inspire
|
||||
directement de l'étude formelle derrière les langages haut niveau
|
||||
rapprochant ainsi les problèmes de modélisation de ce domaine.
|
||||
modèles décrit dans la section précédente. Par conséquent, je trouve
|
||||
très intéressant de représenter toute ébauche de théorie algébrique de
|
||||
modèles sur l'ordinateur dans un langage haut niveau, car cela
|
||||
permettra d'une part de vérifier la justesse des définitions et de les
|
||||
tester en exécution assez tôt, et d'autre part de s'inspirer de
|
||||
l'étude formelle derrière les langages haut niveau pour attaquer les
|
||||
problèmes de modélisation de systèmes complexes.
|
||||
|
||||
\printbibliography
|
||||
\end{refsection}
|
||||
|
|
Loading…
Reference in a new issue