]> AND Private Git Repository - hdrcouchot.git/blob - intro.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
après correction sylvaine
[hdrcouchot.git] / intro.tex
1
2 \section*{Motivations}
3
4 Les informations traitées par un ordinateur ne sont, \textit{in fine},
5 que discrètes: les flottants (sur un nombre fini de bits) sont une
6 interprétation des réels, les \textit{longs} une interprétation finie
7 des entiers\ldots.
8 Les phénomènes physiques ou naturels peuvent aussi être modélisés par des
9 approches discrètes:
10 il n'est parfois pas nécessaire de suivre exactement tous les états par
11 lesquels peut passer l'élément d'étude. Pour peu que l'on sache 
12 identifier les seuils de son domaine (c'est-à-dire les valeurs
13 critiques permettant au système global de changer),
14 il est parfois suffisant de réduire le domaine de l'état de l'élément
15 à un ensemble fini d'intervalles définis par ces seuils.
16 Un élément passe d'un état $i$ à un état $j$ si dans la version continue il
17 passe d'un état de l'intervalle numéro $i$ à un état de l'intervalle numéro $j$.
18 En abstrayant à l'extrême,
19 on peut considérer pour chaque élément  seulement deux états:
20 1 pour le fait d'être présent et 0 pour le fait d'être absent, ou bien
21 1 pour le fait d'avoir une valeur supérieure à un seuil et 0 pour le fait qu'elle y soit inférieure.
22 Ces réseaux particuliers sont qualifiés de \emph{réseaux booléens}.
23
24
25 Soit ${\mathsf{N}}$ un entier naturel représentant le nombre 
26 d'éléments étudiés (le nombre de bits qu'un générateur veut engendrer,
27 le nombre de pixels que l'on veut modifier\ldots) un réseau booléen  est 
28 défini à partir d'une fonction booléenne $f:\Bool^{\mathsf{N}}\to\Bool^{\mathsf{N}}$
29 et un mode de  mise à jour.
30 A chaque étape, on peut intuitivement ne modifier qu'une partie des
31 $\mathsf{N}$ éléments.
32 En fonction des éléments qui sont susceptibles d'être modifiés à chaque étape,
33 on peut se poser les questions de savoir si le réseau atteint un point fixe (et qu'il peut donc converger) ou 
34 s'il possède des attracteurs cycliques (et qu'il diverge donc).
35
36 Détecter la convergence ou son contraire  peut se faire \textit{a priori} dans
37 certains cas. En effet, de nombreux travaux ont énoncé des conditions 
38 suffisantes sur les réseaux booléens garantissant leur convergence
39 ou leur divergence. Lorsqu'aucune d'entre elles ne s'applique, on peut penser
40 à étendre ces résultats théoriques et compléter ceci par des simulations.
41 Lorsque la convergence est pratiquement observée, il reste à vérifier que
42 celle-ci est indépendante  du choix des parties à modifier, par exemple.
43 Une vérification \textit{a posteriori} s'impose, sauf si la méthode de
44 simulation a été prouvée comme exhaustive.
45
46 Une fonction qui admet un attracteur cyclique égal à l'ensemble
47 des sommets diverge. Admet-il cependant un comportement chaotique?
48 Les théories mathématiques du chaos ont énoncé des critères permettant
49 de décider si une fonction est chaotique ou non, et plus récemment
50 si certains réseaux booléens l'étaient. Se pose légitimement
51 la question de savoir si cette caractérisation s'étend quelques soient
52 les parties modifiées à chaque étape. Naturellement, ceci n'a un sens
53 pratique que si le nombre de réseaux booléens qui possèdent cette
54 caractéristique est suffisamment grand et que l'on sait engendrer
55 algorithmiquement de tels réseaux.
56
57 Les liens entre chaos et aléas sont certes intuitifs, mais sont-ils suffisants
58 pour espérer construire un générateur de nombres pseudo-aléatoires (PRNG)
59 à partir de fonctions au comportement chaotique? La réponse est certes
60 positive, mais pas triviale. Il est nécessaire de définir les propriétés 
61 attendues de la sortie d'un PRNG et
62 l'uniformité de sa distribution est sans doute la première
63 des propriétés à assurer.  
64 Comment alors générer des fonctions chaotiques dont les itérations 
65 peuvent converger vers une distribution uniforme?
66 Combien d'itérations suffit-il alors
67 d'effectuer pour s'approcher suffisamment de celle-ci?
68
69 Les liens entre chaos et marquage d'information sont aussi faciles à établir:
70 de tout média marqué même attaqué, la marque doit pouvoir être extraite.
71 Cette propriété du marquage est proche en effet de celle de régularité 
72 des opérateurs chaotiques. Il est alors naturel d'envisager exploiter les
73 fonctions chaotiques extraites dans ce contexte et donc de modifier
74 certains bits d'un média pour y insérer de l'information: la marque.
75
76
77 Les compétences acquises dans l'étude des algorithmes d'insertion d'une marque
78 dans une image nous permettent aussi d'adresser le problème d'insérer un message dans une image. Cependant, il s'agit de privilégier
79 cette fois l'imperceptibilité et non plus la robustesse. Ainsi, tandis que
80 l'idée principale était d'étaler le message sur un ensemble conséquent
81 de pixels pour garantir la robustesse, il s'agit ici de sélectionner finement
82 ceux dont les modifications seraient le moins perceptibles possible.
83 On pense immédiatement à insérer ces messages dans les pixels
84 contenant les zones les plus perturbées.
85 Les outils mathématiques d'analyse permettant d'identifier les lignes de niveaux
86 pour ensuite voir lesquelles sont les moins régulières (les plus perturbées)
87 sont le gradient et la matrice Hessienne.
88 Cependant, ces modèles d'analyse  ne sont définis que pour des fonctions de $\R^n$ dans $\R$.
89 Se pose alors la question sur la possibilité de les adapter au cadre discret 
90 puisque les images à traiter sont construites à partir de pixels dont les
91 valeurs sont discrètes.
92
93
94 \section*{Organisation de ce mémoire}
95 Ce mémoire est organisé en quatre parties.
96
97 La première partie sur les réseaux discrets.
98 Dans celle-ci, le chapitre~\ref{chap:sdd} formalise la notion de réseaux booléens
99 et leurs modes opératoires. On y définit notamment un nouveau mode opératoire
100 assurant la convergence et ce en un temps réduit. Les résultats de convergence suffisants à la compréhension de ce mémoire y sont rappelés et ceux relatifs à ce nouveau mode y sont prouvés.
101
102 Le chapitre~\ref{chap:promela} montre comment nous avons développé une démarche
103 de preuve automatique de convergence de réseaux discrets. La démarche  est
104 prouvée correcte et complète: le verdict donné par l'outil est celui qui serait
105 donné par une preuve mathématique.
106
107 La seconde partie établit globalement le lien entre les réseaux discrets et
108 le chaos. Le chapitre~\ref{chap:carachaos} rappelle tout d'abord les notions
109 suffisantes concernant la théorie du chaos. Une caractérisation des fonctions engendrant des itérations
110 chaotiques y est donnée, selon le mode unaire et le mode généralisé,
111 les deux modes au c{\oe}ur de ce mémoire. Un théorème,
112 démontré, propose un algorithme permettant de générer des fonctions possédant
113 cette caractéristique.
114
115 Les itérations unaires de telles fonctions étant chaotiques, nous avons étudié
116 au chapitre~\ref{chp:ANN} la possibilité de les faire apprendre par un réseau de neurones, plus précisement par un perceptron multi-couches.
117
118 Le titre de la troisième partie donne une idée de la conclusion de
119 cette étude puisqu'on y étudie une famille PRNG construite à partir de fonctions 
120 dont les itérations sont chaotiques.
121 Plus précisément, le chapitre~\ref{chap:PRNG:chao} caractérise les PRNG
122 construits à partir de réseaux booléens qui sont chaotiques en donnant
123 des conditions suffisantes sur la fonction à itérer.
124 Le chapitre~\ref{chap:PRNG:gray} s'intéresse donc à générer
125 ce type de fonction de manière autrement plus efficace qu'à partir de
126 la méthode décrite au chapitre~\ref{chap:carachaos}. On y présente aussi un
127 majorant du nombre d'itérations à effectuer pour obtenir une distribution
128 uniforme.
129
130 Comme annoncé dans les motivations à ce travail, les itérations chaotiques
131 peuvent s'appliquer auz marquage de média et plus généralement
132 au masquage d'information. C'est l'objectif de la quatrième partie.
133
134 Dans le premier chapitre de celle-ci (chapitre~\ref{chap:watermarking}), nous
135 formalisons le processus de marquage d'information. Grâce à cette formalisation,
136 nous pouvons étudier des propriétés de stégo-securité et chaos-sécurité.
137
138 Les deux chapitres suivants (chapitre~\ref{chap:watermarking:pdf} et
139 chapitre~\ref{chap:stabylo}) sont une parenthèse
140 au domaine discret puisqu'on s'intéresse au marquage de document PDF par une
141 méthode classique et au masquage d'information par une technique de détection
142 de bords.
143
144 Le dernier chapitre  des contributions (chapitre~\ref{chap:th:yousra})
145 retourne dans le monde discret. Il montre qu'on peut approximer efficacement
146 à l'aide de matrices discrètes des calculs de gradients pour, \textit{in fine},
147 construire des lignes de niveau et embarquer de l'information dans les lignes
148 de niveau les moins régulières.
149
150 Une conclusion et des perspectives sont données en dernière partie.
151
152 \section*{Publications en tant qu'enseignant-chercheur}
153 Le tableau de la figure~\ref{fig:bilan} donné 
154 ci dessous synthétise les références auxquelles j'ai participé 
155 depuis  mon intégration en tant qu'enseignant chercheur.
156
157 \begin{figure}[h]
158 \begin{center}
159 \begin{tabular}{|c|c|}
160 \hline
161 %& \multicolumn{2}{|c|}{Internationaux} &  {Nationaux} &  \\
162 %\hline
163  Journaux & Conférences  \\
164  internationaux & internationales  
165 \\ \hline  
166 %journaux
167 \cite{bcg12:ij,bcg11:ij,bcgs12:ij}
168 &
169 % conf inter
170 \cite{aagc+15:ip,bcfg12a:ip,bcfg12b:ip,bcfg+13:ip,bcg11:ip}
171
172
173
174 \\ 
175 %journaux
176 \cite{cds13:ij,ccg15:ij,BDCC16}
177 &
178 % conf inter
179
180
181 \cite{bcg11b:ip,acgs13:onp,BCVC10:ir,chgw+14:onp,Cou10:ir}
182
183
184 \\ %\hline  
185
186 %journaux
187
188 &
189 % conf inter
190 \cite{bcgr11:ip,bcgw11:ip,cds12:ip,chgw+14:oip,fccg15:ip}
191
192
193 \\ %\hline  
194
195 %journaux
196
197 &
198 % conf inter
199 \cite{accfg15:ip,ccfg16:ip,kcm16:ip}
200
201
202
203 %%%%%%%%%%%%%
204
205
206 \\ \hline  
207 \end{tabular}
208 \end{center}
209 \caption{Bilan synthétique des publications}\label{fig:bilan}
210 \end{figure}
211