Une approche d’alignement `a la probl´ematique de la
d´etection des activit´es habituelles
Rick Moritz
To cite this version:
Rick Moritz. Une approche d’alignement `a la probl´ematique de la d´etection des activit´es
habituelles. Computers and Society. INSA de Rouen, 2014. French. .
HAL Id: tel-00944105
https://tel.archives-ouvertes.fr/tel-00944105
Submitted on 10 Feb 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.THESE
Pr´esent´ee `a :
L’Institut National des Sciences Appliqu´ees de Rouen
En vue de l’obtention du grade de :
Docteur en Informatique
Par
Rick P. C. MORITZ
Routine Activity Extraction from Local Alignments
in Mobile Phone Context Data
Soutenance le 05/02/2014
Devant le jury compos´e de :
Pr´esident Christophe Garcia Professeur des Universit´es LIRIS, INSA Lyon
Rapporteurs Bruno Cr´emilleux Professeur des Universit´es GREYC, Universit´e de Caen
Philippe Leray Professeur des Universit´es LINA, Universit´e de Nantes
Directeur de Th`ese Michel Mainguenaud Professeur des Universit´es LITIS, INSA de Rouen
Co-Encadrants Alexandre Pauchet Maˆıtre de Conf´erences LITIS, INSA de Rouen
Gr´egoire Lefebvre Ing´enieur R&D, Docteur Orange Labs MeylanAbstract
Humans are creatures of habit, often developing a routine for their day-to-day life.
We propose a way to identify routine as regularities extracted from the context data
of mobile phones. Mobile phones have become the de facto wearable sensor device,
used and carried on person over most of the day. We study existing approaches to
this problem, and deem past results not satisfactory, with regard to the ever richer
context data available, that is not being exploited. Subsequently, we choose Lecroq
et al.’s existing state of the art algorithm as basis for a set of modifications that render
it suitable for the task, foremostly addressing performance issues. This algorithm is
itself an evolution of a dynamic programming based local alignment algorithm, which
is frequently used in biological sequence analysis. Our approach searches alignments in
sequences of n-tuples of context data, which correspond to the user traces of routine
activity. Our key enhancements to this algorithm are exploiting the sequential nature of
the data to reduce algorithmic complexity by a factor equal to the number of data sources
available, and using an early maximisation approach to reject non-optimal alignments
in favour of optimal alignments.
We develop a generator of context-like data to allow us to evaluate our approach
automatically, without relying on manual annotation of ground truth. Additionally, we
collect and manually annotate a mobile phone context dataset to facilitate the evaluation
of our algorithm. The results are promising, allowing us to prove the concept of our
approach, while also outlining the limitations. Our contribution can be used as a filter
for a domain expert (e.g. the user of the mobile phone himself) to determine whether
a certain interval of data corresponds to an actual activity based habit, reducing the
workload compared to a pure manual approach. The configurability of the algorithm
allows the expert to have control over which patterns are filtered or retained.Contents
Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 State of the Art . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Context Datasets . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Reality Mining Dataset . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Lausanne Data Collection Campaign . . . . . . . . . . . . . . . . . 7
2.1.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Machine Learning and Statistical Analysis . . . . . . . . . . . . . . 9
2.2.1 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3 Probabilistic State Machines . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Sequence Mining . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1 Itemset Mining and Sequential Pattern Mining . . . . . . . . . . . 14
2.3.2 String Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.3 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.4 Conclusion and Direction . . . . . . . . . . . . . . . . . . . . . 46
3 Alignment of Sequences of n-Tuples . . . . . . . . . . . . . . . . . . . 47
3.1 Context Model . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1.1 Sequence of n-tuples . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1.2 Blocking and Sampling . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.3 Meta-data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2 Alignment Algorithm. . . . . . . . . . . . . . . . . . . . . . . 55
iv3.2.1 Contribution I: Reduction to n-tuple Problem . . . . . . . . . . . . 57
3.2.2 Contribution II: Locally Optimal Alignments . . . . . . . . . . . . 63
3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4 Experimental Validation and Results . . . . . . . . . . . . . . . . . . 69
4.1 Synthetic Data Evaluation. . . . . . . . . . . . . . . . . . . . . 69
4.1.1 Synthetic Data Generator and Dataset . . . . . . . . . . . . . . . . 69
4.1.2 Synthetic Data Pattern Extraction Evaluation . . . . . . . . . . . 89
4.1.3 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.2 Real World Data Evaluation . . . . . . . . . . . . . . . . . . . . 96
4.2.1 Data Collection Campaign . . . . . . . . . . . . . . . . . . . . . . . 96
4.2.2 Evaluation of Alignment Approach on Real Data . . . . . . . . . . 102
4.2.3 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5 Conclusions and Future Work . . . . . . . . . . . . . . . . . . . . . 109
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
A Benchmarks of Supervised Classification Algorithms for Next Place Prediction . . 130
A.1 The Next Place Prediction Problem . . . . . . . . . . . . . . . . . 130
A.2 Dataset Analysis . . . . . . . . . . . . . . . . . . . . . . . . 130
A.3 Next Visit Prediction. . . . . . . . . . . . . . . . . . . . . . . 132
A.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
B Details on the evaluation processes . . . . . . . . . . . . . . . . . . . 138
B.1 Real world data . . . . . . . . . . . . . . . . . . . . . . . . . 138
B.1.1 Similarity score tables . . . . . . . . . . . . . . . . . . . . . . . . . 138
B.1.2 Detailed results of the alignment algorithm evaluation on synthetic
data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
B.1.3 Expert annotated patterns . . . . . . . . . . . . . . . . . . . . . . 145
vList of Figures
2.3.1 A WAP-tree and conditional WAP-trees for two subsequences c and ac
(Source: Pei et al. [2000]) . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.2 Examples of different types of repeat-related features in a string. . . . . . 26
2.3.3 Construction of a suffix tree from abcbcabc%. The numbers indicate both
the order and the index of the current suffix being added. New leaves and
nodes at each step are shaded. . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.4 Identification of longest repeats using Baker’s algorithm in the complete
suffix tree from Fig. 2.3.3. Steps 7, 8 and 9 of the tree construction are
performed, adding the three shaded leaves. The order in which the leaves
are added is given by the nodes and indicated by the superscripts of the
vertex labels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.5 Original Needleman-Wunsch algorithm, as introduced by Needleman and
Wunsch [1970]. The left table is filled with incrementation markers (“1”)
at each location where a pair of values match. In the right table, the values
for all the cells have been determined, and the alignment highlighted by
arrows and bold values. The alignment (arrows) starts at the maximum
value and then follows the maximum values, upwards and to the left in
the table. The “skips” between values 5 and 4, and 3 and 2 are indicative
of deletions in the row-string. . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.6 Calculation of the local similarity using the dynamic programming approach.
The preceding values in the table are either incremented by the
substitution score, in the case of the diagonal predecessor, or decremented
by the indel penalty. The maximum value is carried over for all successive
operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
vi2.3.7 Dynamic programming version of the Needleman-Wunsch algorithm. Nonmatching
substitutions have no penalty, matching substitutions score a
value of 1 and insertions and deletions are penalised with a value of -
1. The left table shows how a particular cell value is calculated from
three predecessor values, the right table shows the complete table and
highlights the series of maximal values which indicate the alignment operations.
Note that the traceback follows substitutions over indels in cases
of ambiguity (e.g. the 4→3 transition marked in the right table), as the
value that was used to calculate the current value defines the path for the
traceback, and not necessarily the maximum value. . . . . . . . . . . . . . 36
2.3.8 Two accumulated similarity tables obtained using the Smith-Waterman
algorithm. The left has been calculated using a similarity score of 1 for
matches, and dissimilarity penalties of -2 for non-matching substitutions
and indels. The right table has this penalty reduced to -1. In each case,
the alignments with a similarity score of at least 3 have been highlighted.
Note how the higher penalty leads to smaller, more local alignments. . . . 38
2.3.9 Row and column prefixes, and accompanying notation. . . . . . . . . . . 40
2.3.10Three different ways of modelling context for different sequence mining
approaches. “Data synchronisation” refers to the need to have a full set
of sensor readings available at every time step, irrespective of different
sampling frequencies of the actual sensors. . . . . . . . . . . . . . . . . . . 42
3.1.1 The transformation of continuous context C(t) into context data in a
sequential model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1.2 Linking w- and z-axes into a single dimension, due to translational symmetry
(i.e.: every set of discrete steps taken along the z-axis is replicated
identically in the w-axis). . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.3 Splitting a long sequence of context data into blocks of roughly equal (but
not necessarily equal) lengths. . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.4 The reduction of the size of individual accumulated similarity score tables
which can be obtained by blocking. a and b are two sequences, with the
local similarity scores contained in the volume spanned between them. . . 51
3.1.5 A sample substitution similarity score table from the set of n tables. . . . 52
3.1.6 Two intervals of identical values but different lengths can be aligned by
assigning positive similarity score to insertions and deletions of identical
values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
vii3.2.1 Two example context sequences, the resulting context data sequences and
an alignment (cells underlaid in grey) that corresponds to two similar
subsequences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.2 Alignment of two context sequences a and b from a corpus. . . . . . . . . 56
3.2.3 Selection of tuple elements in a sequence using reverse addressing. The
origin of the coordinate system used here is in the lower right end of the
sequence. From there the first coordinate is incremented when moving
one element to left, and the second when moving one element upwards. . 58
3.2.4 Example of the •i,,j operator. If the operator is used on the same sequence
of n-tuples, with one pair of indices being higher than the other, the
smaller result is a subset of the larger one. In this case the result underlaid
in black is a subset of the result underlaid in grey. . . . . . . . . . . . . . 59
3.2.5 Selection of a column and row using the ↑ and ← operators. . . . . . . . . 60
3.2.6 Calculation of a column similarity score. Two columns are extracted from
two sequences, then aligned in inverse order, up to the point where the
similarity score reaches zero. The maximum similarity from this interval
is the similarity value we assign these two columns. . . . . . . . . . . . . . 61
3.2.7 The local dependencies of the calculation of a local similarity value. To
the left in the three-dimensional table of accumulated similarity scores T
and to the right the equivalent representation in the domain of the two
sequences a and b. Operations V and VI – insertion and deletion – are
one-dimensional operations and therefore appear only either in a or on b. 63
3.2.8 The rightmost (n-th) z-slice of a table T. The axes of the plane correspond
to the temporal axes of the sequences. The height and colour are
representations of the accumulated similarity value in the cell in T. The
white profile line denotes the plane of an arbitrarily chosen MASS. The
highest value is denoted by an X. . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.9 The local neighbourhood of a node (in the centre of the shown cube) in
the accumulated score table T. The shown cube consists of 27 sub cubes,
the one at the centre being the “home node”. The other 26 surrounding
it, are the direct neighbours. A partial spatial subdivision is shown in the
lower left corner to illustrate the notion of “radius”. . . . . . . . . . . . . 66
viii3.2.10Accumulated similarity score table for the alignment operations of the
context data corresponding to two consecutive days. Each graph represents
one of the five slices (n = 5) of the z-axis, starting at one at the top,
incrementing to five at the bottom right. Height and colour correspond to
local similarity values. The x - y plane is spanned by the temporal axes
of the sequences. Note multiple peaks at different heights. . . . . . . . . . 67
4.1.1 Stream, pattern and cell for a simulated 4-tuple dataset. The stream
consists of patterns (coloured) and random data (light grey). Each pattern
consists of defined values (blue) and undefined values (white). . . . . . . . 71
4.1.2 Four alphabets A1, A2, A3, A4 with respective spectra 5, 6, 4 and 2. N.B.:
Different symbols across different sensors (e.g. “A”, “1”, “a”, “0”) are
used here for illustration purposes only, symbols are actually represented
by their indices (i.e. as in A2). . . . . . . . . . . . . . . . . . . . . . . . . 72
4.1.3 A set of patterns, P = {X1, . . . , Xm}, with n data sources and lengths
l1, . . . , lm, and a pattern element x = Xm,n,1 ∈ An. . . . . . . . . . . . . . 74
4.1.4 Illustration of dependence coefficient determination during creation of
similar patterns. The right vectors are created from the values of the
left vectors, through linear interpolation and scaling. . . . . . . . . . . . . 79
4.1.5 Noise is applied to symbol x from alphabet A1 using transition cost matrix
T1 and transition cost vectors ~b1,
~d1, ~e1. The resulting value is y = 4.
This example uses integer values for easier reading and comprehension, in
general the random values are real values. The process starts with value
x2,1,1 = 2 from pattern X2, extracts the corresponding row from T1 and
selects the smallest absolute value in the sum of the extracted row and a
random vector, to determine the index of the element to replace x. . . . . 84
4.1.6 Extract of a possible resulting stream with n = 4 and m = 3 different
patterns (blue, yellow and green) and noise (red). I and D indicate cells
in which insertions or deletions have happened. y is the symbol that has
been generated in Fig. 4.1.5. . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.1.7 Evaluation scoring example. . . . . . . . . . . . . . . . . . . . . . . . . . . 90
ix4.1.8 The ratios of the number of alignments to the combinatorially expected
number of identical pairs of patterns in two different files, for all five
datasets and all 27 experiments. As the number of patterns rises, the
expected number of pairs gets lower, and the rate of alignments gets
closer to the number of pairs.
*Note: The values for dataset 3 are on another scale than the others. . . . 93
4.2.1 Clustering of locations into places of the data gathered by one subject
over a one week timespan. Artificial jitter has been introduced to the
data, to better visualise data density. Note how nine incidences in the
top left are clustered together with the other points towards the top left.
The low number of incidences renders this error negligible. . . . . . . . . . 100
4.2.2 Visualisation of an extract of the captured data, with similar intervals
marked. This extract covers the morning period of two consecutive days.
The y-axis represents the different discretised context values. The values
shown in this extract are light intensity on a logarithmic scale (loglux),
the state of the proximity sensor (prox), the location cluster id (place),
the battery level (batt) and the orientation of the phone (ori). . . . . . . . 101
4.2.3 Alignment of three pre-selected patterns with campaign data in 58 slices
corresponding to 24-hour periods of 5-tuples. . . . . . . . . . . . . . . . . 103
4.2.4 Mean precision and recall for the instances in the corpus (“B” - part
of the alignment) for the 24 test configurations. From left to right are
the different values of MASS used. With rising MASS, both precision and
recall increase. The rightmost bars are fewer, as no alignments were made
with MASS values 1,700 and above for pattern 3, and no alignments were
made with MASS values 3,000 for pattern 1. Due to the smaller number
of elements contained in pattern 3, it has higher values than patterns 1
and 2 for the same MASS. . . . . . . . . . . . . . . . . . . . . . . . . . . 107
A.3.1Results for the Naive Bayes Classification Algorithm . . . . . . . . . . . . 134
A.3.2Results for the LogitBoost Adaptive Decision Tree Classification Algorithm135
A.3.3Results for the SMO Classification Algorithm without Feature Selection
Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
A.3.4Results for the SMO Classification Algorithm with Feature Selection Filters136
B.1.1Reference pattern 1 - evening and night at the week-end home. . . . . . . 146
B.1.2Reference pattern 2 - morning and transit to work on a week-day. . . . . . 147
B.1.3Reference pattern 3 - at work, telephone stored or turned over. . . . . . . 148
xList of Tables
2.1 Comparison of SPM and string mining . . . . . . . . . . . . . . . . . . . . 45
4.1 Configuration of the five datasets. . . . . . . . . . . . . . . . . . . . . . . 87
4.2 Configuration values for the 27 experiments making up a dataset. . . . . . 88
4.3 Transition matrix T used for the generation of the test datasets. . . . . . 88
4.4 Key results: averages and standard deviations across all configurations. . 91
4.5 Average Pattern Size for Dataset One . . . . . . . . . . . . . . . . . . . . 92
4.6 Key results: averages and standard deviations across all configurations
for the state of the art algorithm . . . . . . . . . . . . . . . . . . . . . . . 95
4.7 Evaluation results. A is the search pattern, B is the instance in the corpus.105
A.1 Classifier and Filter Configurations Tested . . . . . . . . . . . . . . . . . . . . 133
B.1 Similarity score table for luminance . . . . . . . . . . . . . . . . . . . . . . 139
B.2 Similarity score table for proximity . . . . . . . . . . . . . . . . . . . . . . 139
B.3 Similarity score table for places . . . . . . . . . . . . . . . . . . . . . . . . 139
B.4 Similarity score table for battery levels . . . . . . . . . . . . . . . . . . . . 140
B.5 Similarity score table for orientation values . . . . . . . . . . . . . . . . . 140
xiNomenclature
API Application Programming Interface. A set of exposed functions available to
programmers to make use of an established software platform.
BIDE BI-Directional Extension based frequent closed sequence mining. A closed
sequential pattern mining algorithm by Wang and Han (2004)
BLAST Basic Local Alignment Search Tool. An approximative but fast local alignment
algorithm by Altschul et al. (1990).
BLOSUM BLOcks SUbstitution Matrix - A substitution scoring matrix for the alignment
of proteins. The matrix entries are determined by statistical analysis
of a database of evolutionary observations.
BT Backtrack - Second step of a dynamic programming algorithm; in our case
a trace along elements in a score table, marking the operations required to
convert one sequence into another.
DNA Desoxyribonucleic acid. A molecule that encodes genetic information in a
sequence.
FASTA fast - All. A sequence mining software suite developed by Lipman and Pearson
(1985).
FP-growth Frequent Pattern; Introduced with the FP-growth algorithm by Han et al.
(2000).
GPS Global Positioning System – Satellite based time-of-flight positioning system
xiiGSM Global System for Mobile communication – European standard for second
generation digital cellular networks for mobile phones.
GSP Generalized Sequential Patterns. An Apriori-type sequential pattern mining
algorithm developed by Agrawal and Srikant (1996)
indel Insertions and deletions in sequences. A single term is sufficient to describe
both these inverse operations, due to the symmetry of the alignment operation
with respect to the order of the input sequences.
LAN Local Area Network - a computer network with scope limited to a small
geographic entity and using local addressing.
LZ A set of compression algorithms proposed by Ziv and Lempel in 1977 and
1978.
MASS Minimum Accumulated Similarity Score. This value is the criterium whether
two sequences are to be considered similar or not.
MDC Nokia Mobile Data Challenge. A data mining and visualisation competition
held over the first half of 2012, on a mobile phone dataset gathered by Nokia.
The dataset is explained in Subsection 2.1.2, and one of the competition tasks
is presented in Annex A.
RMD Reality Mining Dataset. See subsection 2.1.1.
RNA Ribonucleic acid. A functional molecule that encodes genetic information in
a sequence.
sensor In this work: a source of discrete context data. This can be anything from
a Boolean indicator to a fusion of multiple semantically linked context data
readings, such as orientation, linking the data of an accelerometer and magnetometer.
SPADE Sequential PAttern Discovery using Equivalence classes. A sequential pattern
mining algorithm proposed by Zaki (1998)
SPAM Sequential PAttern Mining. An algorithm proposed by Ayres et al. (2002)
for finding all frequent sequences within a transactional database.
SPM Sequential Pattern Mining
xiiiWAP Web Access Pattern. A user’s trace when navigating across websites.
WLAN Wireless Local Area Network. A term encompassing networking as defined
in IEEE standards group 802.11.
xivIntroduction
Multiple studies have shown that humans are creatures of habit – from Heidegger’s
musings in “Sein und Zeit” to the more concrete works of Gonzalez et al. [2008] and
Eagle and Pentland [2009]. Although routine is not universal, for those that adhere to
it, it provides a stable framework of activities. If a computer system can be made to be
aware of this routine, then it can be proactive and anticipatory in nature, preparing for
commonly encountered situations, or even alerting the user when routine is unexpectedly
broken at some point. Routine can also be used to enhance a computing system which
adapts itself to current events. When historical data can be linked to the present state,
activities and contexts can be recognised with increased certainty. All this is beneficial,
when developing ubiquitous computing systems – specifically with regard to ambient,
passive interfaces.
We assume that habits (i.e. activity patterns indicating routine) can be derived from
user context data. “Context” classically refers to the entirety of the environment of
a human-computer interaction – slightly varying definitions have been proposed by
Schmidt et al. [1999], Chalmers [2004] and Dourish [2004]. Examples of context data
are factors such as physical environment (e.g. place, light, noise), social environment,
system status and simultaneous tasks. For the purpose of determining routine, we are
primarily interested in specific aspects of context, that are characteristic to an activity.
This does not necessarily imply that the context data allows one to infer the actual
activity, but it is sufficient to identify recurrences. One theme of this thesis is in fact
that of the title of Schmidt et al. [1999] “There is more to context than location”: there
exists a large body of work on spatio-temporal routine detection, but our aim is to go
further, and include other context data to obtain a model of routine that is richer in
information and higher in resolution.
1Currently, the most widespread device in use with the capability to observe a reasonable
amount of context, is the mobile phone. These phones are equipped with a number
of sensors and an almost constant network connectivity which allows queries to nearby
fixed sensors. For many people, their mobile phone is a constant companion allowing the
capture of context data for a large number of activities. Furthermore, as multi-purpose
mobile computing terminals, these same phones also form the interface to the computing
system that benefits the most from having access to routine information. With regard
to the definitions of context previously given, there is one further remark to make: context
is defined as being linked to an interaction. At first glance, capturing data over
the course of a day, to observe routine, is a passive process and does not fall under the
traditional view of an interaction. But – within the concept of ambient interfaces – even
just carrying a mobile phone (or in fact, even not carrying it) becomes an interaction,
because we instrument the phone. Therefore, this implicit interaction happens within a
context, which is duly recorded.
Routine conveys important information all by itself, but can also be used to enhance
current context information. A key use of context data is directly on mobile devices,
which are situated within a certain context, used within a certain context and thus
ideally exploit this data to better fulfil their purpose, as well as adapt and respond
to changes in context. One pertinent example for such a mobile application that uses
routine and current context data, is the Magitti leisure guide [Bellotti et al., 2008].
Similar applications in the domain of prediction and recommendation are presented by
Anand and Mobasher [2007]. Wesson et al. [2010] discuss the benefits of adapting the
mobile user interface of a computing system to the current context. Baldauf et al. [2007]’s
survey of context aware systems essentially covers many more examples, where having
additional context information based on a routine model can improve the user experience.
The spectrum of approaches covers safety, security, entertainment and education. Mobile
guidance and navigation systems can also be made to be context sensitive and routine
dependent [Brush et al., 2010, Li and Willis, 2006].
Our technical goal is to detect patterns in the context data of a mobile phone user, with
the expectation that patterns in the data correspond to routine activities. Raw context
data can be understood to be a number of time series of physical values. Based on
this representation, there exist multiple ways to analyse the data: Statistical approaches
based on state transition probabilities (e.g. Ashbrook and Starner [2002]), database
oriented approaches based on sequential apparition frequency (e.g. Giannotti et al.
[2007]) and sequence based approaches based on edit distances and similarity measures
(e.g. Sigg et al. [2010]). As the title of the work suggests, we ultimately pursue an
2approach that performs approximate string matching by aligning pairs of sequences.
This algorithm determines local similarity scores for sequences of context data – we
suppose that highly similar sequences of context data correspond to similar contexts
and thus to actions of the same type. But we must also consider potential shortcomings
of the data on which we base our study: sensor noise may render an activity difficult
to recognise, and an activity is not repeated identically every time, leading to potential
variations in duration and values in the corresponding context data, which must also be
accounted for.
Our alignment algorithm – an adapted version of the algorithm introduced by Lecroq
et al. [2012] – is based on a representation of context data as a sequence of n-tuples. In
this structure we calculate local alignments. To determine if these alignments correspond
to context patterns, we devise an evaluation procedure. This procedure is in one case
applied to synthetic data, generated according to predefined parameters, and in another
to real world data which we gathered during a data collection campaign. The results
from a large spectrum of test conditions allows us to characterise the suitability of our
algorithm for the routine activity detection problem. The final results indicate that the
algorithm reliably performs as a filter for context data, to limit the function of a domain
expert to approving or rejecting the extracted data as being correspondent to a routine
activity. Conversely, there are limitations to using it as a general, fully automated
routine extraction approach.
This work is structured as follows:
❼ In the second chapter, we examine the state of the art for both available context
datasets and pattern detection approaches. We study the datasets for their suitability
for routine context extraction and their data collection methods. The pattern
detection approaches are divided into statistical and sequence mining approaches.
We briefly discuss statistical approaches, and explore the various sequence mining
approaches in more detail. We split the latter field into sequential pattern mining
approaches, which take a database oriented view on sequences, and on string
mining, which is focused on comparing long, individual sequences. We conclude
this chapter with a direct comparison of the most promising approaches and an
argumentation for our choice of approach, as well as identifying the limitations
upon which our solution has to improve.
❼ The third chapter introduces our context model and algorithmic contributions.
The context model defines a similarity measure for a pair of context sequences,
which the alignment algorithm then uses to find maximally similar subsequences
3from a pair of sequences. Our algorithmic contribution is divided into two parts.
The first part reduces algorithmic complexity by simplifying the state of the art approach,
the second part details our local maximisation approach to further increase
performance.
❼ The fourth chapter is dedicated to the experimental evaluation of our approach, on
synthetic and real world data. It describes a data generator we developed with the
goal of creating well-understood data with context-data-like characteristics and a
high degree of configurability to allow the reproduction of a variety of scenarios.
We also document our results obtained on five different such scenarios. A set
of variable parameters for each scenario allows us to gain a further insight on the
theoretical performance of our algorithm and its behaviour under varied conditions.
We also present our data collection campaign in some detail. We used part of that
data for a second evaluation, which is also described in this chapter.
❼ The final section gives a summary of our contributions and results, presents our
conclusions and discusses limitations to our approach as well as potential future
work to address these limitations and propose extensions.
4State of the Art
As we laid out in the introduction, our approach to identifying routine activities is to
find patterns in time series of context data. In this section we present and discuss
different possible approaches, which should theoretically reveal such temporal patterns.
We briefly revisit the notion of “context” and examine how context data is represented
in actual context datasets. By class of approach, we present existing routine activity
detection solutions.
We examine the varying approaches for a number of criteria, relevant to our task.
These criteria are:
1. The ability to process data that has the volumetric characteristics of context data,
regarding both algorithmic complexity and real world constraints;
2. The degree of pre-treatment of context data required;
3. The flexibility of the underlying model, to accept situation-specific tuning;
4. The resilience of the approach against the inherent noise and unreliability in sensors
and slight variations in how activities are repeated;
5. The impact of temporal effects, such as desynchronisation of data and dilation or
contraction of the time-scale of an activity;
6. The effort required to parametrize the underlying model and
7. The suitability to a (partial) deployment on mobile platforms.
We will refer to these criteria by their number in the following sections, whenever a
relevant bit of information is touched upon.
5Our examination of the state of the art is split into three sections. First, we take a
look at existing context datasets, to situate our goal with regard to available data. Then,
we survey the state of the art for relevant methods that allow us to match, compare or
extract patterns in time series data, by studying two fields of specific interest: Statistical
approaches to pattern mining and sequence mining based approaches. Finally, we crosscompare
the most suitable approaches and datasets, to determine the course for this
work.
2.1 Context Datasets
When examining user behaviour over the long term, a large dataset of context data is
crucial to verify our hypothesis. In this section, we look at a number of different context
datasets to learn more about available context data, and the utility of this data for our
task.
A small dataset, that can be understood to be a pioneering precursor, is that of Raento
[2004]. Another early dataset by M¨antyj¨arvi et al. [2004] was limited to a strict set of
scenarios, and did not actually consist of a recording of real world data. Kotz and Essien
[2005] present a simple location-focused dataset, obtained by studying the movement of
wireless network users of Dartmouth college.
Two specific context data sets have caught our attention, the reality mining dataset
(RMD [Eagle and Pentland, 2005]), and the Nokia mobile data challenge (MDC [Kiukkonen
et al., 2010]) dataset. They represent, respectively, the first large scale mobile
phone dataset ever published as well as the largest and most complete dataset currently
available.
2.1.1 Reality Mining Dataset
The RMD is the first large scale mobile phone context data set that has been collected.
Due to its public availability, it stands as a reference dataset when it comes to the
detection of routine user behaviour. It was designed with this goal in mind and used in
the work of Eagle and Pentland [2009] to determine behavioural routines.
The dataset is the result of a broad (100 participants) mobile phone data acquisition
campaign the data from which was made available to the scientific community. The
RMD was established using the Context Phone application developed by Raento et al.
[2005]. It contains primarily finely grained location information, but also application
and communication use logs and relative proximity indicators among study subjects.
6The specific protocol was established as follows: One hundred MIT students and
members of faculty staff were given Nokia smart phones, pre-installed with several applications
that track context. This context data comprises call meta data, the set of
Bluetooth devices in range, the ID of the connected cellular radio tower, application
usage and some phone status variables, such as whether the phone is idling or charging.
This data was collected over an academic year, aggregating 450,000 hours of data,
with Bluetooth data being logged in five minute intervals. The researchers report some
data loss (around 15%) due to some subjects deactivating their phones during the night,
and also due to some data corruption events. Finally, there are incidents of forgotten
phones, where the phone records data, which has no association with the actual activities
of the test subject.
In addition to the context data, there is data from surveys of subsets of the test
group to establish some meta-data (relationships between study participants and social
activities) to the main data gathered by the phones. Some subjects also kept more
detailed activity diaries over part of the data gathering period.
2.1.2 Lausanne Data Collection Campaign
This dataset [Kiukkonen et al., 2010] includes data from 200 users from the Lake Geneva
region in Switzerland and consists of the data from around 80 different smart phone
context data sources, recorded over a period of over one year. This data was made
available to researchers within the framework of the Mobile Data Challenge [Laurila
et al., 2012], but is not readily available to the public.
The gathered data can be divided into four groups: Location data, media-related
data, social interaction data and behavioural data. The central physical data present in
the set are 3D accelerometer readings, location and sound measurements. Additionally
logs of applications, communications and the operating system are kept, alongside the
agenda and contact list.
A key distinction of this dataset is the heterogeneous study group. Where the RMD
only studied students and faculty staff members from the Media Lab, as well as students
of one other lab, this campaign stretches much wider. By consequence, the social graph
among the participants is much less dense.
Another difference lies in the precision of the location data. Cell tower data is notoriously
imprecise, discriminating at around the city block level, whereas more powerful
modern phones are equipped with GPS which can reduce this to roughly the street address
level, even without further augmentation with wireless networks. Using WLAN
access points – as done for this study – increases this precision further, especially in
7urban zones. In comparison, the Bluetooth augmentation chosen for the RMD only
works in select installations outfitted with a beacon.
This much higher fidelity of the data leads to a much larger challenge, when distributing
this data, as pure anonymisation no longer suffices to protect the identity of the
subjects.
Furthermore, the higher potential fidelity also implies a potential higher use of the
battery. Non-intrusiveness in the routine usage of the phone is a key requirement, as
otherwise the impact of adapting to the measuring device would create behaviours and
data not corresponding to the reality of the test subject’s day to day life. In an attempt
to mitigate these effects, each data source has its own update frequency, in an adaptive
event-based system. This allows the sampling to run throughout the day.
To minimise data losses, collected data is transmitted to a database server via wireless
networks twice a day.
With regard to ground truth, an initial questionnaire establishes some demographic
and social information, but no further information is acquired.
2.1.3 Discussion
A key limitation to the present datasets, is that none of the bases contains any ground
truth regarding context routine. Most do not include any manual annotation with semantic
data at all. In fact, the large scale nature is somewhat at odds with such demands,
as the effort to manually annotate a large dataset by someone other than the subject
is immense. Conversely, asking a subject to annotate his or her own data introduces a
higher level of effort required to take part in such a campaign and decreases the number
of participants.
Another problem is that most datasets are limited to location data, and lack many of
the physical sensors present in more modern phones, that we presume to capture physical
context more accurately. Although the Nokia MDC-dataset does provide accelerometric
data and some sound samples, modern smart phones are also equipped with gyroscopes,
compasses, light meters and proximity sensors. Conversely, the approach taken by Nokia
for the Lausanne data collection campaign includes a vast number of sensors, some of
which are not necessarily of interest for the routine activity detection task, increasing
the complexity of the required pre-treatment (2). The asynchronous nature of data
collection preserves relative temporal structures in high detail (5).
Finally, the acquisition platforms used for these two previous datasets have been obsoleted
by the development of the mobile phone market. Therefore, if a new dataset would
be a requirement, this would entail a new development of the data collection software
8suite.
The creation of a new mobile context dataset that contains at least sufficient physical
sensor values therefore appears possible and necessary. Many of the paradigms put
forward for the different collection campaigns remain valid, such as the principle of nonintrusiveness
and the need to assure data integrity. Alternatively, it is common to use
synthetic data to verify the behaviour of an algorithm. For this type of data, ground
truth of the generation step can be used to address the lack of ground truth in real
context datasets.
Once a solution to gather the required physical context data is achieved, the next
challenge is to find routine data within it.
2.2 Machine Learning and Statistical Analysis
Classic statistical machine learning approaches are a mainstay of much of the work of
context data analysis. We focus on three key categories: classification as a means of
context and activity recognition and prediction, clustering to determine similarities in
data and probabilistic state machines – specifically (hidden) Markov models – as a means
of modelling routine.
2.2.1 Classification
Classification algorithms are a class of algorithms that use a set of examples to learn rules
that are then applied to determine which label is to be associated to a measurement.
Typically, this is represented by the determination of a characteristic vector over the
feature space of the observed events.
We discuss two different usages of these types of algorithm, within the scope of the
routine activity detection problem: in activity recognition, a current set of measurements
of context data are used to determine the current activity; in activity or place prediction,
the current state of system is used as a characteristic vector for predicting a future state.
2.2.1.1 Activity Recognition
Supervised classification is the principal component in most activity recognition systems.
They function by assigning a characteristic vector to each element of a set of activities,
and then estimating from actual measurements the current activity.
In the field of mobile device based activity recognition, supervised classification has
been used (for example) in the works of Choudhury et al. [2008], Lester et al. [2006],
9Berchtold et al. [2010] and Sigg et al. [2010]. Activity recognition by itself does not
solve the routine activity detection problem, but a well functioning activity detector can
reduce the complexity of the problem by orders of magnitude by transforming it from a
multi-dimensional problem into a uni-dimensional one (1,2). We can nonetheless state a
limitation to this approach, in that a supervised activity detection requires knowledge of
each of the activities that are to be discerned (6). This renders this approach of limited
use, when trying to solve a general version of the routine activity detection problem.
Furthermore, feature vectors are understood as a unit, therefore algorithms based on
them cannot work around desynchronized data (4,5).
2.2.1.2 Activity and Place Prediction
Another potential application of supervised classification is in the field of predicting future
activities. The approach is similar to activity detection, with the difference that
characteristic vectors are assigned to subsequent activities or places. This type of approach
was frequently chosen by entries for the MDC “next location prediction” task
[Etter et al., 2012, Wang and Prabhala, 2012, Gao et al., 2012], as for that task the
known data was restricted to the context data obtained during the “visit” to the directly
preceding place. The most successful approaches relies on heuristics which reject
certain subsets of the data by declaring it out-of-date information with regard to the
prediction task. The benchmarks of three state of the art algorithms – naive Bayes
[John and Langley, 1995], alternating decision trees [Holmes et al., 2002] and a sequential
minimal optimization based approach [Platt, 1999] – on the MDC prediction task
are available in Annex A.
The Magitti [Bellotti et al., 2008] recommendation system predicts next activities using
a supervised classification approach [Partridge and Price, 2009]. The system is based on
the assignment of a leisure activity (e.g. “eat” or “watch”) to corresponding locations in
town instead of having a location specific activity model. This meta-activity approach
avoids the problem of being limited to recognising specific activities, but consequently
the result is too general for many applications outside the activity adviser use case they
target (3).
2.2.2 Clustering
Where classification assigns one of a pre-defined set of labels to a sample of data, clustering
attempts to group a set of data points via a pre-defined distance metric. There are
three aspects to clustering that are of relevance to the routine activity detection prob-
10lem: Using clustering to segment sensor data, using clustering to segment sequences and
clustering entire sequences. The first is an important step towards obtaining a discrete
context model, the second helps identifying atomic activities, and the third is a routine
activity extraction approach.
2.2.2.1 Context Data Clustering
Context data clustering is a useful first pre-treatment step to reduce the complexity
of the routine activity detection problem (1), by transforming the problem from one
on continuous data (and essentially a signal processing problem) into a problem over
discrete data (2,4). This has been used by Ashbrook and Starner [2002] to derive semantically
relevant places from a user’s spatio-temporal positioning data, which then
allows the construction of a state-based predictor on the transformed data. Their choice
of clustering algorithm was the k-means clustering algorithm. In their article they also
meet one of the limitations inherent to clustering algorithms: the results often have to
be manually verified, or selected from a number of different configurations (3,6).
2.2.2.2 Sequence Segmentation
Sequence clustering can be performed to segment long sequences of context data into
locally self-similar subsequences [Clarkson and Pentland, 1999, Himberg et al., 2001].
This can be used as a semi-automatic pre-treatment step to address (1,2,6,7) in routine
activity detection approaches, at some potential disadvantage to (4,5). In general, sequence
clustering with a simple Euclidean distance does not produce meaningful results
[Keogh et al., 2003], requiring the choice of a meaningful metric, before implementation.
2.2.2.3 Sequence Clustering
Clustering can also be used to group subsequences by inter-similarity and thus identify
patterns. This has been shown by Laasonen [2005] to be a potential avenue of establishing
a routine based user model and subsequently recognising and predicting a mobile user’s
routes. This works by classifying some of the locations visited by a user as bases, which
are locations where a user rests, and others as transient points. In this case, a place
corresponds to the currently connected network cell. An edit distance and item similarity
measure serves as basis for the clustering model. Katsaros et al. [2003] have shown a
similar sequence clustering solution to predict locations, but without the distinction of
location classes. The distance measure for the hierarchical clustering which they employ,
is a weighted edit distance. This can have good performance with regard to (4,5) at some
11cost to (6). As a statistical approach, there is also a limitation with regard to (1), in
that a certain minimal amount of data is required to obtain clusters with acceptable
confidence values.
2.2.3 Probabilistic State Machines
In the third type of approach, we look at different kinds of probabilistic state machines,
which are relevant for user activity recognition and prediction.
A relevant example of using hidden Markov models [Baum et al., 1970] to find routine
in context is the work of Clarkson [2003], who studied video streams taken from two
worn cameras, with the goal of identifying context recurrences. They use an alignment
based approach, similar to dynamic time warping [Myers and Rabiner, 1981]. Ashbrook
and Starner [2002] use second order Markov models to predict next locations. This
required clustering of geolocation data into discrete locations, which where then studied
for transition probabilities.
In the work of Song et al. [2004], multiple predictors based on probabilistic state
machines (Markov models and LZ compression [Ziv and Lempel, 1978]) are evaluated
on a common dataset from the Dartmouth campus wireless network [Kotz and Essien,
2005]. A state machine approach requires a sequence segmentation to be viable (6).
This means that activities are identified either based on supervised activity recognition
or based on sequence segmentation. A common drawback to all approaches outlined in
this subsection, is that they are not truly suited to treating multiple data sources in
parallel (1,5).
2.2.4 Discussion
Within the frame of the routine activity detection problem, statistical approaches can be
divided into two categories of application: on the one hand there are data pre-treatment
approaches, that reduce the complexity of the actual routine extraction process, and on
the other hand there are statistical models that encode routine activity.
The former can be used at different levels of granularity, and comprise classification,
clustering and segmentation. A high abstraction approach – as often chosen in the
literature we presented – can simplify the routine activity detection problem to the
point where it is merely the extraction of frequent state transitions. While in theory
this is advantageous with regard to (1), (6) and (7), it invariably has drawbacks, when
applying criteria (2), (3) and (5). A low abstraction level has the inverse consequences.
Therefore, the choice of abstraction level has to be carefully weighed, when developing
12a discrete model.
The routine activity detection approaches – using sequence clustering or probabilistic
state machines – are relatively simple propositions (1) which depend heavily on accurate
preprocessing (2). The central weakness of these approaches – when used on rich
context data – is that they use a simple model derived from data that has been heavily
preprocessed and abstracted, which results in abstract routine models. These are easy
to interpret but hard to validate against the actual data.
Furthermore, there is a whole host of limitations to automatic context data abstraction
that essentially make this class of approaches not suitable for context data that has
multiple independent data sources. When working at a finely grained level, with less
abstraction, the models become harder to interpret, and lose their appealing simplicity.
This downside leads us to examine approaches that are more suited to this kind of data
representation: sequence mining algorithms.
2.3 Sequence Mining
Context data is inherently of sequential nature: for each aspect of context, one state
follows another and each activity is followed by another. Sequence mining is a subset of
data mining, which consists of approaches specifically targeted at sequential data.
The field of sequence mining offers a variety of algorithms designed to discover all
kinds of features in sequences of discrete elements. As laid out in the introduction, our
primary interest is pattern detection. There are two schools of thought, with regard to
this problem:
1. Sequential pattern mining (SPM) takes an itemset mining and association rule
learning approach to finding such patterns, by looking at the frequency of occurrence
of subsequences in a corpus.
2. String mining is an approach that has its roots in bioinformatics, and can be seen
as a generalisation of Hamming and Levenshtein distances. We are particularly
interested in alignment problems, where the goal is the identification of similar
sequences.
In the following two sections, we will present different approaches and applications of
sequential pattern mining and string mining. In the third subsection we will compare
the particular advantages and challenges of each class of approach, and evaluate them
against our set of criteria.
132.3.1 Itemset Mining and Sequential Pattern Mining
The aim of sequential pattern mining (SPM) is to find within a database of sequences
of itemsets (i.e. sets of discrete elements) a subset of interesting sequences. Within
the context of the routine activity detection problem, this criterion of interest is that
the sequences appear frequently. Sequences in this case are not limited to consecutive
elements, but are based on the notion “event Y occurs after event X, within an interval
window δ”. There are several ways to formulate the routine activity detection problem
in terms of an SPM problem, each suited to a specific group of algorithms from the field.
First, context could be abstracted to fit the “sequence of itemsets” paradigm. There
is a wealth of classic approaches that find potentially non-consecutive exact sequential
patterns. A first challenge in adapting the problem to this formulation lies in finding
a useful time-discretisation and temporal splitting interval. The former is achieved by
having each sensor value discretised into an item, and by grouping measurements during
a predefined time interval into itemsets. The latter requires study of how gravely nonconsecutive
patterns impact the results. By shortening the sequences, such patterns
become less of an issue, but other, larger patterns may disappear. Additionally, there is
the question of which level of support is desired as basis for the result.
An early review of examination of patterns in sequential data was performed by Laird
[1993]. At this stage, the focus of research was mainly on prediction, extrapolation and
modelling of time series.
In the same year, itemset mining was introduced by Agrawal et al. [1993]. This forms
the basis for all of the following SPM approaches, which is why we take a closer look at
the key approaches of the field. The following classification of the approaches is based
on the taxonomies proposed by Mabroukeh and Ezeife [2010] and Mooney and Roddick
[2013]. We assign the following classes to differentiate between approaches:
❼ Apriori-based (including variants for closed patterns or hierarchical data),
❼ Pattern-growth (including variants for closed patterns),
❼ Vertical data structures,
❼ Early-Pruning and
❼ Hybrid;
and then we also discuss variations of these which take into account hierarchical metadata,
specifically and exclusively mine closed or maximal frequent patterns, or mine multidi-
14mensional or approximate patterns. All algorithms and challenges identified in the field
of itemset mining can be transferred almost exactly to sequential pattern mining.
2.3.1.1 Itemset Mining
Itemset mining has as prerequisite the presence of a database which is partitioned according
to a primary criterion (e.g. a user ID or a calendar day). The goal is to find
subsets of data that occur multiple times among the sets of data points connected to
each instance of the criterion. An example relevant to the field of mobile and context
sensitive computing is a database consisting of entries that have been generated by
logging discretised context data of a user over time. Splitting the database to obtain
individual data per hour, and then searching for co-occurrences of certain context values
in these sets across different hours, shall determine which context states are frequently
encountered together in temporal proximity.
Once the frequency of appearance of such an item combination is above a certain
threshold, the set is considered to be significant. Furthermore, there is an interest in
maximising these sets: a single element that appears across multiple sets is of little
interest, whereas large sets carry more information. Once these sets are identified,
association rules can be created among them.
Association rules can be understood as a way to encode the conditional probability of
the presence of an element in an itemset, given a set of elements already present in that
set. For example, let there be three context states a, b and c(e.g. loud noise, bright light
and medium movement speed) that were recorded during one hour. Furthermore, let
the set (a, b, c) appear frequently (and maximally) in a database. Then, it is possible to
predict that if a and c are present in one set, that b might also be present in this set (e.g.
because all three are present when the user rides his motorcycle on a sunny day) based
on the support of the set (a, b, c) (i.e. how often the elements appear together, relative
to the overall number of sets created by splitting the database along the key criterion).
In terms of context prediction, this means that it is possible to predict context event b
as a function of the presence of context events a and c. Clearly, this is limited in scope
with regard to the routine activity detection problem, but the close link to sequential
pattern mining makes it deserving of a study, to introduce the concepts used further on.
Apriori-Based Algorithms The itemset mining problem has first been approached
by means of the Apriori-class of algorithms [Agrawal and Srikant, 1994, Mannila et al.,
1994]. The key property on which the Apriori-class algorithms are built is the downward
closure: the fact that each frequent itemset consists of sub-itemsets that are all frequent,
15and inversely, extending a non-frequent itemset by any item results in another infrequent
itemset. This can be exploited to first find frequent elements, and then iteratively extend
these candidates to sets, element by element, until the support frequency-threshold is
no longer attained. Han et al. [2007] offer an extensive list of further improvements to
this approach, with regard to distributed and parallel approaches, as well as general
efficiency improvements. The key limitation to this approach lies in the high number of
database scans – one for each growth operation – that are necessary to determine the
support value for each of the valid candidates that have been generated. Compared to
the naive approach, the Apriori property enables the rejection of all subsets which are an
extension of subsets that by themselves do not have sufficient support in the database.
Pattern-Growth Algorithms Another class of approaches avoids the expensive candidate
generation aspect of the Aprior-type algorithms. FP-growth is one such algorithm,
introduced by Han et al. [2000b]. This approach uses a divide-and-conquer technique.
First, the database is transformed into a list of frequent ordered according to of descending
support, and by key-criterion. From this list, a tree is constructed: a node is created
for each frequent element, and they are arranged in the tree by their direct prefix item.
If an element with an existing identical prefix is found, it is merged into the existing
node and the frequency counter of that node is incremented.
From every node in this tree, it is then possible to identify frequent itemsets, by
following a path of nodes toward the root, from each leaf corresponding to an item. Each
such leaf defines a specific sub-itemset. The support of the itemsets are represented by
the support of each leaf. A similar tree-based algorithm has been presented by Agarwal
et al. [2001].
Vertical Data Structure Algorithms A third way to approach the problem of
frequent itemset mining, is to take an orthogonal view at the database [Zaki, 2000]:
Instead of assigning to each key criterion a set of items, assign to each item a set of
elements from the key criterion. In an example, this would mean that instead of having
a set of activities (items) assigned to each day (criterion), to instead assign to each
activity the list of days where they occurred. Using this representation, the Apriori
property can still be used to generate set extension candidates. Support for a candidate
is determined by intersecting the sets that are created by the inversion of the database
table. A key advantage is that determining support is as easy as counting the number
of elements that are assigned to an item.
What is notable about this approach, is that the corresponding sequential pattern
16mining algorithm SPADE [Zaki, 1998] was developed before this idea was ported to
itemset mining.
Concept Hierarchy-Aware Algorithms An important extension to itemset mining
is the acknowledgement that items may be related, and that at times it is useful to mine
sets not only of items, but of classes of items. By using concept hierarchies, these
classes can be established and (hierarchically) interrelated. One approach to mining
such itemsets is a top-down specialisation approach, where first top-level general sets
are mined, and then their specialisations are examined for sufficient frequency/support.
This is possible if the minimal support threshold is constant across all abstraction levels
of the concept hierarchy [Han and Fu, 1995, Srikant and Agrawal, 1995]. Han et al.
[2006] present a variation of this approach to problems where minimal support varies by
level.
Closed and Maximal Frequent Patterns Two further important concepts that
restrict the scope of the problem to obtain more expressive results are the concepts of
closed frequent patterns and maximal frequent patterns.
The former are patterns for which no pattern exists that encompasses it, where both
have the same support. This eliminates from the results the most trivial subsets of
frequent patterns, without reducing the overall information contained in the results
compared to mining all frequent patterns. Any two patterns with different support
remain separate.
Maximal frequent patterns on the other hand restrict this even further: all frequent
itemsets that are subsets of another pattern that is frequent, are discarded. This means
that the frequency information for these sub-patterns is lost. There exist Apriori-type
algorithms optimised for closed itemsets (e.g. A-Close by Pasquier et al. [1999]) as well
as FP-based algorithms (e.g. FPClose by Grahne and Zhu [2003]). Yang [2004] showed
that enumerating maximal patterns is an NP-hard problem.
2.3.1.2 Sequential Pattern Mining
Sequential pattern mining, when compared to itemset mining, adds the additional dimension
of (temporal) order to the problem. Itemset mining examines merely the co-presence
of items with respect to the key criterion, whereas sequential pattern mining respects
the order of appearance of the itemsets in the data.
A naive approach to pattern mining is to count the number of instances of every
imaginable subsequence of a database (database being used synonymous with databank,
17i.e. restricted to the physical storage of data). A subsequence in the context of sequence
mining consists of itemsets, therefore the presence of multiple items in such an itemset
produces ever more possible subsequences to test against the database. Therefore, much
as for itemset mining, the goal remains to reduce the number of subsequences to test
and the complexity of counting support.
Sequential pattern mining has relatively frequently been the subject of extensive surveys.
Zhao and Bhowmick [2003] present some of the earlier developments in the field,
Mabroukeh and Ezeife [2010] have established a taxonomy and cross-comparison of the
key approaches to sequential pattern mining and more recently Mooney and Roddick
[2013] have proposed a slightly differing classification and comparison on the same subject.
Han et al. [2007] present a survey of approaches to the more general frequent pattern
mining problem. All four surveys discuss in more detail what has been introduced here.
The following are the main approaches to sequential pattern mining, for the most part
mirroring the concepts used in itemset mining:
Apriori-Based Algorithms On the base of the Apriori property, Agrawal and Srikant
[1995] developed an Apriori-type SPM-algorithm, which has then been extended into the
“Generalized Sequential Patterns” (GSP) algorithm in Srikant and Agrawal [1996]. This
approach uses a similar minimal starting point, and then iterative growth of candidates,
but with a fixed and predefined order for the sequential aspect.
An approach that integrates ideas from other algorithms is SPAM by Ayres et al.
[2002]. SPAM generates a lexicographic tree and descends along the nodes in depth-first
order. The Apriori property determines that any children of a node that does not have
minimum support can be discarded from the search. Support is determined by counting
incidences in a vertical data structure, which consists of a binary bit map of the sequence,
upon which a binary and operation is executed.
Pattern-Growth Algorithms The divide and conquer approach has also been applied
to sequence mining in the PrefixSpan algorithm [Pei et al., 2001, 2004]. PrefixSpan
first determines the set of frequent patterns of length one, and then extends the patterns
by determining possible prefixes from within this set, in a similar approach to FP-growth.
To do this efficiently, the database is transformed into a more suitable representation.
In the case of PrefixSpan, this is a projected database, as introduced in FreeSpan [Han
et al., 2000a]. The projection mechanism for sequences and subsequences functions as
follows: A sequence S
0
is a projection of its supersequence S with respect to a prefix P
if there exists no other supersequence of S
0
that is also a subsequence of S which shares
18the prefix P. This means that the extension of S
0
to S is done purely by extending the
prefix P.
The database is rearranged according to the prefixes (which are the frequent items in
the first step), where each prefix is assigned all occurrences of its postfixes by projection.
By matching all postfixes with possible extensions of the prefix – to find frequent patterns
– it is possible to determine a new set of prefixes upon which to project the database.
A new scan if the database is not necessary, as the relevant sequences to project are
already assigned to the prefix used in the previous step. This makes PrefixSpan fast,
but the construction of the projected database becomes a major influence on the overall
complexity of the algorithm.
Another Pattern-Growth approach uses tree projection instead of database projection.
One representative from this group is WAP-mine Pei et al. [2000]. Similarly to the
database projection approach, there are very few scans of the database - in this case
two. The first determines the frequent items, the second builds the tree of frequent
subsequences related to these items. The initial tree consists of an empty root, to which
the frequent elements are added as nodes. The first element to be added is the first
frequent item of the first sequence in the database. The second frequent item is added
as a child. This is followed through for all frequent elements in their order of appearance
in the first sequence. The same is done for the other sequences, but whenever an element
is already present in the correct order in the tree, the existing element is used instead.
In parallel, a header link table is established. It links each occurrence of an itemset to
the next occurrences of the same itemset within the tree, beginning with the first.
To mine this tree, the least frequent item in the tree is chosen, and set as a conditional
suffix. Based on this suffix, an intermediate tree is constructed, which consists of those
branches that end (whether on a leaf or a node) on this suffix. These are identified by
following the header links previously established. The new conditional tree therefore
consists of the old tree, minus all the nodes header-linked to the corresponding suffix,
and minus the branches that do not contain the suffix at all. For the next step, the
suffix is grown by the least frequent item of the new tree, and the process repeated,
until only a suffix and the root node are left. Each suffix generated this way is a frequent
sequential pattern. This process is demonstrated in Fig. 2.3.1, with the sequences
abdac, eaebcac, babf aec and af bacfc, using the example from Pei et al. [2000].
Hybrid Algorithms SPADE [Zaki, 2001] can be considered as a hybrid approach,
combining Apriori-based and Pattern-Growth characteristics. It uses an orthogonal view
approach to itemset mining for sequential pattern mining. Similarly to Apriori-based
19Figure 2.3.1.: A WAP-tree and conditional WAP-trees for two subsequences c and ac
(Source: Pei et al. [2000])
approaches, this approach generates a large amount of candidate sequences that are
then reduced by growing the length of the sequences progressively. SPADE transforms
a database into a set of key-value pairs, where a list of pairs of sequences (in which it
appears) and partition IDs of the key distinction criterion (e.g. a day) is assigned to
each itemset (element of a sequence). The algorithm consists of three steps: first, the
frequent sequences of length one are identified, then these sequences are extended to
frequent sequences of length two. These are arranged in a lattice1
structure, which is
traversed in the third step, to count support and enumerate frequent sequences. This
lattice structure can grow very large, as it defines an order across all frequent patterns.
The authors propose to partition the lattice into smaller subsets, that are sufficiently self
contained to be given the term equivalence classes. The strength of SPADE is mining
maximal sequences, as when mining all frequent sequential patterns the performance is
no better than GSP [Mabroukeh and Ezeife, 2010].
Early-Pruning Techniques This class of approaches exploits the sequential nature
of the data, by tracking the positions of items that appear in the sequence. Specifically, if
the (absolute) last position of an item is smaller than the position of the current sequence
under consideration, then that item cannot occur behind this current sequence [Yang
and Kitsuregawa, 2005]. LAPIN [Yang et al., 2007] maintains both a list of the last
positions of frequent items, as well as a set of prefix border positions for each frequent
item to achieve this. The former is a straight forward table, assigning each sequence a
1A lattice is a specific way to represent a (partially) ordered set, with operations defined to determine
infima and suprema for pairs of set elements. See Davey and Priestley [2002] for a complete
introduction.
20list of indices corresponding to items that are frequent over all the database; the latter is
generated from this list, and consists of all occurrences that have last appearances after
the first instance of the item they are related to. By counting the elements in the second
set – and determining whether they have sufficient support – it is possible to find the
frequent patterns without searching the database.
Notable about this approach is that the data structure used is relatively static and
has to be regenerated whenever new entries are added to the database. This makes
determining the update frequency an engineering challenge when used in conjunction
with high frequency data sources.
Closed Sequential Pattern Mining These basic approaches return all frequent patterns,
particularly including all single elements that are frequent. In most applications
this is undesirable, hence closed sequential pattern mining algorithms such as CloSpan
[Yan et al., 2003] and BIDE [Wang and Han, 2004] have been developed. CloSpan exploits
the property that when projecting a database of sequences with respect to two
sequence prefixes, where one prefix is a subsequence of the other, the resulting two projected
databases are equivalent if and only if the number of items of each of the projected
databases is equal. This allows CloSpan to determine whether extending a sequence by
an additional item creates an equivalent sequence or a sequence with different support.
This permits the algorithm to distinguish between redundant candidate sequences and
those that form a separate result. BIDE is an extension to this approach, that uses
projections in two directions to remove non-closed frequent patterns.
This covers the most basic approaches to sequential pattern mining. With regard to
the routine activity mining problem, there are two further characteristics of interest:
multi-dimensional approaches and approximate approaches.
Multi-dimensional Sequential Pattern Mining The previously presented notion
of “sequence” covers sequences of itemsets, which could comprise the information from
multiple context data streams in parallel. Adding a clear notion of orthogonality between
the different types of data allows for a more discerning treatment. By assigning each
context data source its own dimension, there is no interaction between different states
of different sensors.
The first “multi-dimensional” sequential pattern mining approach by Pinto et al. [2001]
was so only with regard to allowing multiple key criteria according to which support is
calculated. This allowed a multi-dimensional notion of support, but the actual itemsets
where still restrained to consist of elements of a single dimension. This work has
21been extended with an optimisation for closed multidimensional patterns in the work of
Songram et al. [2006] and Boonjing and Songram [2007].
Plantevit et al. [2010] undertook the next logical effort, to treat sequences of multidimensional,
multi-level data. They develop the bottom-up approach described by Beyer
and Ramakrishnan [1999] to mine maximally atomic frequent sequences, which are sequences
consisting of a single (hence atomic) multi-dimensional item. This item must
be the most specific – with regard to the concept hierarchy model – item that is still
frequent in the database. From this point, the sequences of length one are built up to
longer sequences using the SPADE algorithm [Zaki, 2001].
Approximate Sequential Pattern Mining The realisation that exact pattern mining
is too restrictive for real world problems has been reached by Wang et al. [2000]. The
first approach to mining long sequential patterns from noisy data by Yang et al. [2002]
uses a probabilistic model to account for the noise: a compatibility matrix consisting of
the conditional probabilities, that x is the real value, given that y has been observed,
gives a notion of relative proximity of values, with regard to the measurement (or data
generation) process. The notion of support is adapted to become noise-tolerant. The
actual significance criterion under noisy influences on the data is termed match, and is
defined as the maximum conditional probability of an occurrence of a pattern, given
any one subsequence of a sequence, averaged across the database. A slightly modified
Apriori-property holds for the match measure as it does for support, if subpatterns are
defined as a pattern that lacks some symbols present in the respective superpattern.
Although theoretically it is possible to use classical algorithm with this model, the
large number of candidates and database scans generated using Apriori-/support-based
approaches makes them impractical. Instead, the authors propose a statistical filtering
approach to reduce the number of passes, which is based on two criteria: First the additive
Chernoff bound [Hoeffding, 1963, Domingos and Hulten, 2000] is used to estimate
the size of a pattern (i.e. the points beyond which extending a subsequence reduces its
match below the relevance threshold) based on the results of random sampling. This
divides the set of candidates into three (probable) classes: frequent, infrequent and ambiguous
patterns. The second optimisation deals with the ambiguous patterns – which
require further attention – to determine the frequent and infrequent patterns contained
within. The specific approach refines the borders (left and right limits of the end of the
ambiguously frequent subsequence) obtained during the random sampling approach by
collapsing them down to the actual borders. This is done using a hierarchical division
of the two estimated borders, which takes at worst O(log(n)) steps to find the correct
22border, where a classic linear algorithm would take n steps. Overall performance of the
approach depends very much on the data and the number of ambiguous patterns that
cannot be identified during the first probabilistic step.
ApproxMAP [Kum et al., 2003] – another approximate method – borrows some notions
from string mining. This algorithm mines consensus patterns (i.e. short patterns that
appear in similar fashion across many of the examined sequences) through multiple
pattern alignment. It uses a hierarchical edit distance as a similarity measure for pairs
of sequences, and thus determines clusters of similar sequences. In a second step, a
representative for each cluster is selected. A consensus pattern is determined to be
present whenever a sufficient number of sequences in the cluster share this representative
to achieve a strength threshold – a notion similar to “minimum support”.
Applications in Context Pattern Mining The main application to context data
mining is the field of trajectory mining and more generally spatio-temporal data mining.
Due to the limited scope of this problem, compared to the routine activity detection
problem, we only briefly introduce a few key approaches.
Rashad et al. [2007b] developed a multi-dimensional PrefixSpan [Pei et al., 2001]
specialisation called MobilePrefixSpan (based on the work of Pinto et al. [2001]), to
mine movement patterns of mobile users. Their database consists of entries, describing
which user was present in which mobile phone network cell, at which time. Using the
generated movement profiles, they try to predict future positions of users, with the goal
of providing better resource management in the wireless network itself. Compared to
the original PrefixSpan, they restrict sequences to consecutive sequences, as they argue
that the exact order in which cells are visited is more important than the more global
trends that traditional sequence mining detects.
Giannotti et al. [2007] also perform pattern mining on GSM or GPS location data.
They extend the basic SPM model with annotations indicating the typical transition
times between elements (see also the previous work of Yoshida et al. [2000]) and replace
itemsets by spatial points. The calculation of support is not done by exact matching, but
instead by an error tolerant neighbourhood function. One of the key problems of this
approach, is that of determining Regions-of-Interest – i.e. semantically similar regions,
to determine the neighbourhood function – for which they provide a seed-and-growth
approach, using popular spatial points as starting points. The actual mining algorithm
is introduced in Giannotti et al. [2006] and uses prefix projection (like PrefixSpan [Pei
et al., 2001]), but modified to accept time-stamped sequences.
Further work in this field can be found in the works of Kang and Yong [2010], Lei and
23Wong [2009], Nanni et al. [2010], Zhao et al. [2013], Zheng et al. [2011].
2.3.1.3 Discussion
SPM, at first glance, presents a suitable approach to the routine activity detection problem.
The blocking metaphor (selecting sequences from a database by a key criterion)
works well with the notion of days and weeks structuring human activity. The performance
is compatible with the volumetry of context data (1). Although actual algorithmic
complexity largely depends on the data, the sample data presented usually scales up to
hundreds of thousands of itemsets in the sequences. The notion of closed patterns and
maximal patterns allow refining the result to those patterns that should be the most
interesting.
The traditional SPM is limited, in that it can only identify exact patterns. Semantic
hierarchical models can help with this (3,6). In this case, similar sensor values are
grouped under a more general label, to allow for more general patterns to be mined.
Additionally, approximative approaches exist, that are able to find patters in noisy
data, or use string mining approaches to identify similar sequences, thus addressing
criterion (4).
Although these hierarchical approaches are more realistically employed to solve the
routine activity detection problem, there still persists one problem. Treating each sensor
merely as one source of items that are all fundamentally equivalent, in that in theory
each item can be replaced by any other, leads to a large number of comparisons that
can be prevented, if from the start the data is considered multidimensional. Plantevit
et al. [2010]’s multilevel and multi-dimensional approach is capable of eliminating these
ambiguities, which should in theory allow an optimized treatment of such truly parallel
data. On the other hand, this approach is limited to exact matches, which puts higher
demands on the preprocessing of the context data. As with the other approaches, the
non-consecutive sequences that do not make sense need to be removed from the results.
Lastly, tuples (i.e. multi-dimensional datasets) are treated as a unit, so desynchronised
context data would prove problematic (5).
A notable drawback then, across almost all SPM algorithms – when dealing with
context data – is that in the classical retail shopping scenario, items are numerous and
sequences are short, but for the context scenario, sequences are long, and “items” are
relatively few. This is the foremost limitation, as non-consecutive patterns can appear by
coincidence much more easily in these conditions, without actually indicating a recurring
activity. The consecutive approach by Rashad et al. [2007b] provides a solution to this,
but inversely the increased requirement for exactness (as now erroneous values are not
24skipped) requires more intense preprocessing, which renders an adoption problematic.
The time-interval supporting approaches by Yoshida et al. [2000] and Giannotti et al.
[2006] allow to quantify these intervals between items and use them to determine patterns
that take these intervals into account.
Compared to SPM, string mining addresses approximate approaches much more comprehensively,
and with less inherent complexity.
2.3.2 String Mining
Strings are finite length character sequences. By assigning to each state of a context or
sensor a specific character, it is possible to represent context data sequences with strings.
String mining, as a discipline, is closely linked to bioinformatics and computational
biology. With the discovery of the structure of DNA, RNA and protein structure, and
the ability to obtain base pair sequences and amino acid sequences from cells, the search
for meaning in these sequences became a major research topic. This so-called “biological
revolution” has motivated a large parallel effort in the development of effective and
efficient sequence analysis (i.e. string mining) algorithms.
In their survey of string mining in bioinformatics, Abouelhoda and Ghanem [2010]
provide a taxonomy of the field, discerning principally between repeat-related problems
and string comparison problems.
Repeat-related problems try to find repeated or otherwise interesting subsequences
within larger sequences, whereas string comparison problems are based on comparisons
between two separate strings, and often inspired by a need to determine a similarity
metric. Each of these two categories is explored in the following, with a closer look at
approaches that are of relevance to our routine activity detection problem.
2.3.2.1 Repeat-Related Problem
Repeat-related problems can be divided into the following subclasses (c.f. Fig. 2.3.2):
Dispersed Repeats i.e. finding repeats through a sequence. These repeats can be either
approximate or exact, with fixed or variable length.
Tandem Repeats i.e. repeats that occur in an adjacent manner. These repeats can also
be either exact or approximate in nature.
Unique Subsequences i.e subsequences that do not have repeats and appear only once
in a sequence.
25Absent Words i.e. subsequences that do not exist at all in the original sequence. Only
the shortest absent words are of interest, as generally there is an infinite number
of subsequences not contained within a sequence.
With regard to the class of repeat-related problems, our task falls within the scope
of a dispersed longest repeat problem: Find a pair of sub-strings that match, where
neither the pairs of preceding elements nor the pairs of succeeding elements match.
Alternatively, if a sufficiently powerful classifier were to exist, which could consistently
assign a correct activity label to a set of sensor readings, the routine activity detection
task could be expressed as an exact repeat problem; otherwise it would be a more
general approximate repeat problem. The approximate repeat problem is solved by
a local alignment algorithm in O(n
2
) [Smith and Waterman, 1981], which technically
belongs to the class of comparison problems, and is described in the corresponding –
next – subsection.
A naive, brute-force approach to finding (longest) pairs of exact repeats would be to
create a scatter plot, and scan along its diagonals for series of matches. Given n lines of
input, this type of approach would use O(n
2
) time and O(n) space.
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
{aaa,aab,aad,aba,abb,acb,acc,adb,add,baa,bab,bba,bbd,bca,bcb,bcd,
bda,bdc,bdd,caa,cbc,cbd,cdc,dab,dad,dba, dbd,dca,dcc}
dispersed exact repeats of size 3
tandem exact repeats of size 2
unique subsequences of size 2
absent words of size 3:
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
dispersed approximate repeats of size ~5
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
tandem approximate repeats of size ~3
Figure 2.3.2.: Examples of different types of repeat-related features in a string.
26Suffix Tree Approach A suffix tree [McCreight, 1976] based approach appears more
suited for large volumes of data. Baker [1992] proposes an exact matching algorithm
using the suffix tree structure, that finds pairs of maximal repeats in a sequence of length
n and m repeats in O(n + m) time. It follows a description of this approach and an
illustration on the example input string abcbcabc% (% is the string termination symbol).
The algorithm consists of four steps:
1. A suffix tree is generated, as follows:
a) An empty tree is generated (as in Fig. 2.3.3-0);
b) A leaf containing the entire string (appended with a termination symbol “%”)
is created (as in Fig. 2.3.3-1);
c) A new leaf containing the first suffix (comprising all but the first element) is
created (as in Fig. 2.3.3-2 to -6, and Fig. 2.3.4 for the final three leaves);
d) If the head (i.e. the first elements of this suffix) is present in an existing leaf,
a new node representing this head is created, and two leaves representing each
of the possible suffixes to this head are added to it (e.g. in Fig. 2.3.3-4 for
bc, when the suffix bcabc% is added to the tree which already contains a leaf
bcbcabc%);
e) Repeat (c) and (d) with the first suffix of the remaining string (as in Fig. 2.3.3-
3 to -6 and Fig. 2.3.4 for the final three leaves, 7, 8 and 9). Each newly added
leaf representing a new suffix is assigned the index of its first element in the
original string.
2. In the suffix tree, identify head nodes (circular nodes in Fig. 2.3.4) which satisfy a
minimum length condition (≥ 2 for this example). They correspond to repeating
sub-strings, with differing right elements (as otherwise the head node would already
comprise this right element). The left element may still be identical. In the example
these are the nodes bc and abc.
3. Build a list of suffixes, grouped by left elements: For each possible element to
the left of the node “head” element, a list is created. Each leaf is added to the
corresponding list. In the example, this is shown for node bc in Fig. 2.3.4, with
the left elements a (in the case ∗abc∗, leaves 2 and 7) and c (in the case ∗cbc∗, leaf
4). The leaves are emphasised by being enclosed within the dashed ellipses, and
labelled with the prefixes.
27root
0
root
abcbcabc%
1
root
abcbcabc%
2
bcbcabc%
root
abcbcabc%
bcbcabc%
cbcabc%
3
root
cbcabc%
4
root
5
abcbcabc%
c bc bc
root
6
c
bc
% abc
Figure 2.3.3.: Construction of a suffix tree from abcbcabc%. The numbers indicate both
the order and the index of the current suffix being added. New leaves and
nodes at each step are shaded.
4. Form the cross-product of each distinct pair of lists for all nodes. In the example
this is the cross-product of the lists (2, 7) × (4) = (2, 4),(7, 4) for the node bc,
meaning that bc is the longest repeat for the instances of bc in the fourth position
in the string, with the instances in the second and seventh position.
The pair of leaves 2 and 7 of the node bc in the example are not longest matches, as the
preceding character is an a each time. Therefore the actual longest match is to be found
elsewhere: in the node abc and the pair of leaves 1 and 6.
Applications to User Modelling Within the context of routine activity detection,
this approach has been used by Pitkow and Pirolli [1999] to mine users’ web access logs,
with the goal of predicting websites that a user will visit in the near future. After extraction
of the longest matching subsequences, these subsequences are split, and Markov
models (of different orders) are used to obtain transition probabilities. The key use of
the longest repeat problem in this case was to optimize performance over a previous
approach, by limiting the generation of Markov models to the data contained within
longest matching subsequences, while maintaining similar prediction performance.
Similarly, Pauchet et al. [2009] use suffix-tree based repeat-mining to identify recurring
28root
7 + 8 + 9
%
c
bc
%(7)
%(8)
abc
%(9)
1 6
2
4
7
8 5
9
3
example for node bc:
2
7
x 4
bc in position 4 has
longest match with bc
in positions 2 and 7
left prefix leaves
a 2,7
c 4
prefix a
prefix c
Figure 2.3.4.: Identification of longest repeats using Baker’s algorithm in the complete
suffix tree from Fig. 2.3.3. Steps 7, 8 and 9 of the tree construction are
performed, adding the three shaded leaves. The order in which the leaves
are added is given by the nodes and indicated by the superscripts of the
vertex labels.
behaviour of users of medical catalogues. This information is then used to present
a subset of works from the catalogue to the user, which contains elements which are
expected to be part of the desired search result.
In the field of pervasive and mobile computing, Katsaros and Manolopoulos [2005]
propose an approach to – for example – track the location of a client in a wireless
cellular network. They describe a prediction task, and also use a suffix tree to find
longest exact matches, from which they construct a probabilistic model of transitions.
Sigg et al. [2010] use exact (or approximate) repeat search as the first stage of their
context prediction algorithm. This stage is used to determine “typical” contexts. Suffixes
of the observed context are then aligned with these typical contexts, to find the best
match. They then predict the next context to be the continuation of the identified
typical context.
2.3.2.2 String Comparison Problem
String comparison problems can be categorized as follows:
global i.e. compare entire strings;
29semi-global i.e. search problems – finding short strings within a larger one;
local i.e. problems on sets of sub-strings. Local problems can further be subdivided
into problems with variable length and fixed length of these sub-strings.
Furthermore, each of these problems has exact and approximate variations.
When approaching the task of identifying routine activities from context data as a comparison
problem, then this problem should be interpreted as local comparison problem,
either of exact or approximate nature, and of variable length. Additionally, a dispersed
approximate repeat problem can be reformulated in terms of an equivalent comparison
problem: comparing pairs of subsequences of the sequence in which approximate repeats
are sought.
Exact Matching Local exact matches (i.e. identical sub-strings within two larger
strings) can be found in a brute force way: Pair all sub-strings of one string of length
n and the other, and check for identity. Due to the identical length requirement, this
implies O(n
3
) string comparisons. Search space reduction to strings of length l further
reduces this to O(n
2
l).
To render the problem more tractable, it is possible to limit the search to maximal
exact matches. In this case, Baker’s suffix tree algorithm for finding maximal repeats
(see subsubsection 2.3.2.1) can be modified to find maximal exact matches instead.
The modifications are the following: The lists of positions (shown in the right part of
Fig. 2.3.4) are split into two subsets, one containing those suffixes belonging to the first
of the input strings, the other containing those that belong to the second input string.
The result is then obtained by forming the Cartesian product of each pair of lists, where
both the input string and the left element are distinct. This minimal modification has
no effect on algorithmic time and space complexity.
A complete survey of a large number of both recent and early approaches to exact
on-line string matching (i.e. finding a known pattern in a string) can be found in a
review of the field by Faro and Lecroq [2013]. Each of the algorithms in the survey
has been tested against a battery of synthetic and real world data, and characterised
in how well it suits two problem characteristics, pattern size and alphabet size. We
voluntarily omit detailed study of these approaches, as expressing the routine activity
detection problem as a search problem is highly inefficient, due to the combinatorial
scale of the possible, unknown, patterns. The identification problem (“Is the current
context a known context?”), which these algorithms address, is much less complex than
the routine mining problem, and even a worst case O(n) algorithm [Knuth et al., 1977]
30has little impact on the overall performance.
Applications to User Modelling One application of this algorithm in the field of
context data, is the SHIP algorithm by Cook et al. [2003], which uses exact matching to
determine frequencies of following activities, with the goal of predicting future context
from recognising frequent sequences. This approach can also be classified as a sequential
pattern mining approach, given the fact that the exact matching is used to extract a
frequency measure for a part of a sequence. The approach requires permanent access to
a history of past activities, in order to perform a matching of the current subsequence
with historic data. SHIP is one of multiple algorithms of the MavHome smart home
architecture. This is an agent-based multilayer architecture, which uses a predefined
set of concepts to transform physical sensor data (“lowest” layer) into abstract, discrete
context data, before it is treated by the learning and decision-making modules (“highest”
layer).
String matching algorithms have also been adapted to two- or multidimensional data.
This is possible through an extension of the string-matching paradigm to “wider” data
structures (i.e. where each string element itself is a string of length greater than one)
which has been proposed by Baker [1978]. The problem is reduced back to a string
matching problem, which allows the use of efficient, well known algorithms. First rows
from the search pattern are matched with rows from the subject array, then a table of
matches annotated with a row ID is created. In this table, the row IDs are matched
with the order of row IDs in the pattern array, column-wise. Therefore, the algorithm
effectively represents the problem as the concatenation of two string matching problems.
A similar approach is taken by Zhu and Takaoka [1989]. They use the hashing pattern
matching approach of Karp and Rabin [1987] on the columns of the input data to first
reduce the array problem to a string problem, and then use the algorithm of Knuth et al.
[1977] row by row to find the array patterns.
To the best of our knowledge, these approaches have not been used within the field of
context data mining or applied to related fields, but could be considered as candidates,
given a suitable framework.
The k-Error Problem The k-error problem (explored in depth in the work of Navarro
[2001]) is a quite specific approximate string comparison problem, where the goal is to
match a pattern to a string, without incurring more than a fixed number of modifications,
and the more general alignment problem, in either global or local flavour. A global
alignment of two strings is the ideal ordered set of operations to transform one string to
31another, whereas local alignments are based on the same principle, but look instead to
find maximally similar sub-strings within the pair of input strings.
The k-error problem is too limited in scope, to be of use in the simple string case, as it
is restricted to a search functionality, and the constraints of the fixed number of changes
make no sense when dealing with context data. Nonetheless, further on we cover some
variants of this approach, that generalize it to two dimensions, where the reasonable
complexity of the solutions has some more interest. The class of alignment problems on
the other hand is more flexible, and thus more interesting of analysis, and can also be
used to solve the k-error problem.
Global Alignment The first foray into the field was led by two biologists, Needleman
and Wunsch [1970]. They propose a method to find the largest similar subsequence
of a pair of amino acid sequences. More specifically, their algorithm finds similar subsequences
of maximum length. Their original algorithm – which has largely been surpassed
by a dynamic programming version – is illustrated for an example in Fig. 2.3.5.
Two input strings are orthogonally arranged, so that a table can be spanned between
them. In this version, every match of two symbols is given a score (1) in a table – as
shown in the left table in Fig. 2.3.5. This value is added to the largest value in the
top left sub-table – the empty table is assumed to contain the score 0 – this process
is detailed in the right table of Fig. 2.3.5 . Following the increases in score across the
table, gives the operations required to perform an alignment (denoted by arrows in the
example).
Non-deterministic configurations can be encountered, for example when one string
contains a sub-string in inverse order as the other string (e.g. abcd and acbd). In that
case, the following value can be based on either of the two previous rows of the table.
This is because the incremented value for the b-b-match is not in the sub-table from
which the maximum is chosen when examining the c-c-match. This leads to two equal
values, one in each row of the table, and a common value in the following table. Because
the top-most of the equal values is to the right of the lower-most, it is not possible to
traverse both values, leading to the non-deterministic situation, where one of the two
equally valid paths (deletion of b or deletion of c) has to be chosen.
Dynamic Programming Algorithm The formalisation of the dynamic programming
algorithm for global sequence alignment [Sankoff, 1972], requires the definition
of a few terms. Let Σ be an alphabet of characters and let Σ∗ be the set of all possible
combinations of characters into sequences. Let ε be the empty word. Let a ∈ Σ
32A
C
G
T
C
G
A
C
G
A
1
0
0
0
0
0
1
0
0
C
0
2
1
1
2
1
1
2
1
T
0
1
2
3
2
2
2
2
2
C
0
2
2
2
4
3
3
4
3
A
1
1
2
2
3
4
5
4
4
C
0
2
2
2
4
4
4
6
5
G
0
1
3
2
3
5
4
5
7
A
C
G
T
C
G
A
C
G
A
1
1
C
1
1
1
T
1
C
1
1
1
A
1
1
C
1
1
1
G
1
1
1
Figure 2.3.5.: Original Needleman-Wunsch algorithm, as introduced by Needleman and Wunsch [1970]. The left table is filled
with incrementation markers (“1”) at each location where a pair of values match. In the right table, the values
for all the cells have been determined, and the alignment highlighted by arrows and bold values. The alignment
(arrows) starts at the maximum value and then follows the maximum values, upwards and to the left in the
table. The “skips” between values 5 and 4, and 3 and 2 are indicative of deletions in the row-string.
333 3
2
3 2
1
insertion
-1
-1 ±0
deletion
Figure 2.3.6.: Calculation of the local similarity using the dynamic programming approach.
The preceding values in the table are either incremented by the
substitution score, in the case of the diagonal predecessor, or decremented
by the indel penalty. The maximum value is carried over for all successive
operations.
and b ∈ Σ (a 6= b) be two such characters. For each pair of (a, b), define an elementwise
replacement edit distance or substitution distance sub(a, b) ∈ R where it holds
sub(a, a) 6= sub(a, b). In the original paper, the proposed values were 1 for a match and
0 for a mismatch. An alignment can comprise insertions and deletions (indels). These
operations are assigned a penalty value indel ∈ R (= −1 in the original paper).
The next step is the accumulation of these values in an array (“accumulated similarity
score table”) spanned by the two input sequences. Row by row, the array is filled. Each
cell in the array is calculated as the maximum of the sum of values in the directly adjacent
cells with already determined values and the indel penalty, and the sum of the value in the
diagonally adjacent cell with already determined value and the appropriate substitution
score for the position of the cell (cf. Fig. 2.3.6 ). Formally: For two sequences S1 and
S2 with last elements a and b respectively, the similarity score sim(S1, S2) is recursively
defined as:
sim(S1, S2) := max
sim(S
−1
1
, S−1
2
) + sub(a, b)
sim(S
−1
1
, S2) + indel
sim(S1, S−1
2
) + indel
(2.3.1)
34where S
−1
is the prefix of length |S| − 1 of a sequence S. The initial condition is
sim(S, ε) = sim(ε, S) = 0. Once the array has been completely populated, the maximum
value in the last row or column is selected as origin. From this point, a trace
of maximum values in the array is followed in the opposite direction of its generation.
The direction taken at each step corresponds to an alignment operation. A diagonal
movement corresponds to a substitution, whereas a movement into a directly adjacent
cell corresponds to an indel. The sequence of operations that is returned this way is the
sequence of operations required to align one of the input strings with the other.
Using a dynamic programming approach, the algorithm can be implemented within
the constraints of O(n
2
) time and space. When comparing k sequences (of average length
n), the complexity is of the order of O(n
k
).
Optimal Global Alignment Hirschberg [1975] proposes a linear space algorithm,
which computes only the optimal score, and returns only the optimal sequence of alignment
operations. This is achieved through a divide and conquer approach. Let S
i be
the suffix consisting of the last i elements of a sequence S and S
−i be the corresponding
prefix.
Given sequences S1, S2 ∈ Σ
∗
, with |S1| = n and |S2| = m, it holds:
∀0≤i≤n : M(i) := max
0≤j≤m
{sim(S
−i
1
, S−j)
2
) + sim(S
i
1
, Sj
2
)} → M(i) = sim(S1, S2)
This means that, for each position i in S1, there exists a position j in S2 such that the sum
of similarity values of the pair of prefixes and the pair for suffixes from these positions is
equal to the similarity value of the pair of sequences. Splitting S1 approximately in half
(at index i) therefore implies an optimal split of S2 at the j where the minimum M(i) is
calculated. Repeat this process on the pairs of first and second subsequences generated
by the split until only a trivial problem (such as S2 being empty, or S1 containing only
a single symbol and S2 being not empty) remains.
The dynamic programming approach is illustrated – for the same pair of strings as
in the previous example – in Fig. 2.3.7. Note how the value in each cell depends only
on the three neighbouring values (as indicated in equation 2.3.1), which is crucial to
Hirschberg’s approach.
Local Alignment Global alignments are of interest, when a corpus of known interesting
subsequences exists. As referenced above, Sigg et al. [2010] use global alignment
35A
C
G
T
C
G
A
C
G
A
1
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
C
0
2
1
0
-
1
-
2
-
3
-
4
-
5
T
-
1
1
2
2
1
0
-
1
-
2
-
3
C
-
2
0
1
2
3
2
1
0
-
1
A
-
3
-
1
0
1
2
3
3
2
1
C
-
4
-
2
-
1
0
2
2
3
4
3
G
-
5
-
3
-
1
-
1
1
3
2
3
5
A
C
G
T
C
G
A
C
G
A
1
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
C
0
2
1
0
-
1
-
2
-
3
-
4
-
5
T
-
1
1
2
2
1
0
-
1
-
2
-
3
C
-
2
0
1
2
3
2
1
0
-
1
A
-
3
-
1
0
1
2
GC
-
1
-
1
±
0
Figure 2.3.7.:
Note that the traceback follows substitutions over indels in cases of ambiguity (e.g. the 4
shows the complete table and highlights the series of maximal values which indicate the alignment operations.
-1. The left table shows how a particular cell value is calculated from three predecessor values, the right table
penalty, matching substitutions score a value of 1 and insertions and deletions are penalised with a value of
Dynamic programming version of the Needleman-Wunsch algorithm. Non-matching substitutions have no
→3 transition marked
and not necessarily the maximum value.
in the right table), as the value that was used to calculate the current value defines the path for the traceback,
36to identify known context sequences in a stream of real-time context data. In order to
actually identify such repeating patterns in sequences, local alignments need to be found.
The reference local alignment algorithm is Smith and Waterman’s algorithm [Smith
and Waterman, 1981], a variation on the dynamic programming Needleman-Wunsch
optimal matching algorithm described earlier. The key differences are that negative
values are used to represent the similarity of different values, and that in the accumulated
similarity score table all negative values are truncated to zero. The similarity function
above is modified to:
sim(S1, S2) := max
0
sim(S
−1
1
, S−1
2
) + sub(a, b)
sim(S
−1
1
, S2) + indel
sim(S1, S−1
2
) + indel
(2.3.2)
and furthermore, a backtrack halts when a zero value is encountered. The result is
that – in the accumulated similarity score table – the score rises along pairs of local
subsequences that are similar, then drops as they become dissimilar further on, and
finally reaches zero. This zero value then serves as a delimiter: any similarity elsewhere
is not impacted by the previous values, and thus locality is introduced. The degree of
locality is directly dependent on how quickly similarity scores are accumulated to reach
zero, from the point that the two subsequences diverge. This means: the dissimilarity
of a pair of intervals between two pairs of similar intervals determines whether the two
intervals are treated as a single pair of similar sub-strings containing the dissimilar substrings,
or as two separate pairs.
An example of this is given in Fig. 2.3.8, with two different penalties (-2 and -1 for
left and right tables respectively) used to calculate the two tables. The result is that the
smaller alignments are each time reset (to a zero score) in the left table, before they can
form a larger alignment.
Although Myers and Miller [1988] showed that it is possible to apply Hirschberg’s
approach to local alignments, this is not always desirable, as reducing the result to the
optimal alignment, discards all other local alignments present in the data.
Fast Search Algorithms In bioinformatics, one of the key challenges is to check
for the presence of medium length sequences within a genome. This is best achieved
by algorithms that are optimized for search, such as FASTA by Lipman and Pearson
[1985] and BLAST by Altschul et al. [1990]. These algorithms use heuristics to achieve
37A C G T C G A C G
A 1 0 0 0 0 0 1 0 0
C 0 2 1 0 1 0 0 2 1
T 0 1 2 2 1 1 0 1 2
C 0 1 1 2 3 2 1 1 1
A 1 0 1 1 2 3 3 2 1
C 0 2 1 1 2 2 3 4 3
G 0 1 3 2 1 3 2 3 5
A C G T C G A C G
A 1 0 0 0 0 0 1 0 0
C 0 2 0 0 1 0 0 2 0
T 0 0 0 1 0 0 0 0 0
C 0 1 0 0 2 0 0 1 0
A 1 0 0 0 0 0 1 0 0
C 0 2 0 0 1 0 0 2 0
G 0 0 3 1 0 2 0 0 3
Figure 2.3.8.: Two accumulated similarity tables obtained using the Smith-Waterman
algorithm. The left has been calculated using a similarity score of 1 for
matches, and dissimilarity penalties of -2 for non-matching substitutions
and indels. The right table has this penalty reduced to -1. In each case,
the alignments with a similarity score of at least 3 have been highlighted.
Note how the higher penalty leads to smaller, more local alignments.
much better search performance than exact methods, at the cost of a guarantee that the
obtained results are correct. By being limited to search, these approaches do not offer
themselves to the more exploratory nature of the routine activity detection problem pursued
in this work. A further number of approximate on-line string matching algorithms
is exposed in a survey by Navarro [2001], which introduces algorithms that are also
based on statistical approaches, automata based approaches, filtering approaches and
bit-parallelism based approaches.
Two-Dimensional Pattern Matching Approximate pattern matching approaches
for multiple dimensions can be divided into two classes: error-tolerance-based approaches
and alignment-based approaches.
The former use a simple model, that merely counts the number of modifications required
to transform one structure into the pattern that is being sought. If the number of
operations required exceeds a limit, a mismatch between data and pattern is assumed,
similar to the k-mismatch approach for strings. Krithivasan and Sitalakshmi [1987]
present a row-based approach to this problem, and a simple generalisation of the dynamic
programming algorithm. Their model of a pattern is rectangular. The algorithm
consists of two steps: first patterns are represented in an optimized fashion, by reducing
rows that are identical or similar to a differential representation. Then, the data
is searched for occurrences of the first row of the pattern, and for each occurrence it is
38verified whether the second row of the pattern follows. The number of required modi-
fications is tracked for the set of occurrences, and whenever the error-limit is exceeded,
the occurrence is discarded.
Amir and Farach [1991] present an early algorithm that takes into account general
structures, as opposed to merely rectangular ones. To achieve reasonable run time,
they use numerical convolutions to perform the approximate matching. Baeza-Yates
and Navarro [1998] present an approach of identical optimal complexity, that consists of
a filtering step, discarding all rows in the text that cannot possibly contain a pattern,
before using a standard dynamic programming algorithm for the final matching.
Two-Dimensional Motif Extraction The previously introduced two-dimensional
matching approaches do not allow the extraction of patterns from data, but instead
solve the problem of finding a known pattern within data. As in the one-dimensional
case, matching alone is not the key issue of the routine activity detection problem.
Instead, the identification of common patterns in input data, is the key problem of the
routine activity detection problem. Such extraction algorithms have first been proposed
by Apostolico et al. [2008]. The notion of a pattern in their work is still essentially
rectangular, but through the use of “don’t care”-symbols (symbols in patterns that match
any symbol in the input data) the actual informational content of a pattern can take
arbitrary shapes. Their approach primarily searches for autocorrelations of a single input
array. An autocorrelation in their nomenclature is a similarity between the array and
its transposed array. They propose an incremental combinatoric approach to detecting
a base of patterns. A base is a set of maximally sized and maximally dense patterns,
which comprises all patterns of an autocorrelation. Within the framework of the routine
activity detection problem, such a base would correspond to a set of recurring contexts
of maximal length and specificity, that describes all recurring contexts in a specified time
frame.
The incremental algorithm functions as follows: iterating over the cells of the array,
in a row-major order, from the lower right corner to the upper right, a base is found for
each sub-set of elements contained up to the current position. During the iteration step,
new base element patterns are generated, through inclusion of the new symbol. Some
of these patterns are novel – i.e. have not been generated previously – and render some
old patterns obsolete, either by rendering them more specific, or by extending them in
size. New patterns can be not novel, for example when a novel pattern removes an old
pattern through extension from the base, but a previously removed pattern does then
again become a valid base element, through this removal. Iterating this process across
39data of size N = m × n requires O(N3
) time. By reducing the alphabet to a binary
alphabet, complexity can be reduced to O(N2
) [Rombo, 2009].
Two-Dimensional Local Alignment A generalizations of the local alignment by
dynamic programming paradigm to two dimensions is presented in Lecroq et al. [2012].
This approach can be seen as an extension of the Smith-Waterman algorithm. It computes
similarity scores for each pair of “prefixes” (in the two-dimensional case, this is
the array to the top and left of the chosen position) in a table, that has now gained
four dimensions. Two of these dimensions correspond to the widths and the other two
dimensions correspond to the lengths of the two arrays being locally aligned.
S 1 2 .. i .. n-1 n
1 C1 A2 Ai Bn-1 An
2 C1 A2 Bi Cn-1 An
3 A1 B2 Ci Bn-1 Cn
4 A1 A2 Ai Bn-1 Cn
…
…
…
…
…
…
…
j A1 A2
…
Ci
…
Bn-1 Cn …
…
…
…
…
…
…
l-4 C1 C2 Ai An-1 Bn
l-3 B1 B2 Ci An-1 Cn
l-2 C1 B2 Ai An-1 An
l-1 C1 B2 Ci An-1 Bn
l C1 A2 Ai An-1 Cn
S
S
Figure 2.3.9.: Row and column prefixes, and
accompanying notation.
The similarity value in the table entry
is computed as a function of the preceding
values, much as in the Smith-Waterman
dynamic programming algorithm. The
difference in the two-dimensional case is
that the preceding values now number
eight instead of three. First of all, the
number of possible deletion and insertion
operations has doubled (lines V to VIII in
equation 2.3.3), as they can be either in
vertical (VII, VIII) or horizontal (V,VI)
direction, and furthermore substitutions
can be accompanied by different movements
in the top-left direction. These
directions are either top (IV), left (III)
or top-left (in both arrays simultaneously
- I and II). Finally, in the case of the
top-left movement, the order of the submovements
(top-left (II) or left-top (I))
influences the score. This is the case, because
row prefix and column prefix similarities play a role in the calculation of the
substitution scores, taking the place of the per-element substitution scores used in the
one-dimensional case. In the following, let S ← and S ↑ denote the row prefix and
column prefix of the bottom-right element of a sequence S (cf. Fig. 2.3.9)
Column-prefix similarities are added to the similarity score, when doing an in-row
substitution movement, and row prefix similarities are added, when doing an in-column
40substitution movement. In the case of the combined diagonal movement, the order then
impacts which row prefix and which column prefix is considered.
Let the upper index in S
−i,−j denote which array prefix is used: S
−1,0
is S without
the last row, S
0,−1
is S without the last (rightmost) column, and S
−1,−1
is S without
both last row and column. indel(S) is the indel score of the bottom right element of S.
To formalize (compare with equation 2.3.2), the similarity of two arrays S1 and S2 is
defined as:
sim(S1, S2) :=
max
0
sim(S
−1,−1
1
, S−1,−1
2
) + sim(S1 ↑, S2 ↑) + sim(S
0,−1
1 ←, S0,−1
2 ←) (I)
sim(S
−1,−1
1
, S−1,−1
2
) + sim(S
−1,0
1
↑, S−1,0
2
↑) + sim(S1 ←, S2 ←) (II)
sim(S
0,−1
1
, S0,−1
2
) + sim(S1 ↑, S2 ↑) (III)
sim(S
−1,0
1
, S−1,0
2
) + sim(S1 ←, S2 ←) (IV)
sim(S1, S−1,0
2
) + indel(S2) (V)
sim(S1, S0,−1
2
) + indel(S2) (VI)
sim(S
−1,0
1
, S2) + indel(S1) (VII)
sim(S
0,−1
1
, S2) + indel(S1) (VIII)
(2.3.3)
This similarity is then implemented in the same way as the standard Smith-Waterman
approach, with time complexity in O(N × M), where N is the number of elements in S1
and M is the number of elements in S2. Although this algorithm is generally designed
to detect patterns in arrays, the actual use in Lecroq et al. [2012] is to identify similar
passages of annotated conversations. This kind of data is notably sequential only in the
time dimension, whereas the annotation dimension is fixed, and each column has its own
alphabet. Therefore, the application is to a problem of finding similar subsequences in
sequences of tuples.
With these different approaches having been exposed, we can now compare their
suitability for the routine activity detection problem.
2.3.2.3 Discussion
Our look at string mining is focused on alignment techniques, as this class of approaches
returns pairs of similar subsequences from two input sequences of symbols and thus
allows us to extract information from the data. There are three identifiable ways how to
apply this to our routine activity detection problem:
41❼ reduce the sensor data to discrete context states, and obtain a single sequence
of such states – each similar pair of subsequences should correspond to a routine
activity;
❼ formulate the task as a multi-sequence task (to remain coherent with multiple
sources of context data) and seek alignments on each sequence – merged similar
subsequences should correspond to routine activities;
or
❼ consider context to be a sequence of n-tuples, with each tuple corresponding to
a context state, consisting of multiple discrete context factors – pairwise locally
similar subsets should correspond to routine activities.
These three different conceptual approaches are illustrated in Fig. 2.3.10.
In each case, it is required that the context is represented in a discrete format. The
difference between the first and following two approaches lies in the alphabet size and
tolerance to desynchronisation. A single value that encodes multiple values cannot encode
certain intricacies in context data, such as one sensor reading leading or lagging
the same sensor reading in another instance (5), with regard to the other sensor data.
This restricts the appeal of the single string approach.
t
sensor data
context state abstraction
sensor state abstraction
sensor state abstraction
data synchronisation
Pattern-mining a
single sequence
Pattern-mining multiple
sequences and merging
Pattern-mining an
n-dimensional sequence
Figure 2.3.10.: Three different ways of modelling context for different sequence mining
approaches. “Data synchronisation” refers to the need to have a full set
of sensor readings available at every time step, irrespective of different
sampling frequencies of the actual sensors.
42The multi-sequence approach is excellent with regard to desynchronisations, as each
sensor is studied at an independent temporal time scale from the others, to find patterns.
On the other hand, this complete uncoupling means that coupling effects only get
introduced after the first pattern mining pass, introducing additional model parameters
(6) to characterise the merge operations.
The multi-dimensional approach is limited, in that there are no efficient ways of mining
such patterns. On the other hand – as the illustration makes readily apparent – it is
possible to project the data into the plane, which induces “neighbourhood artefacts”
where the link between neighbouring sensors is stronger than between those that are
projected into areas that are further apart. The Smith-Waterman based two-dimensional
local alignment algorithm can find patterns in this data, but at the cost of relatively
high complexity (1).
The exact motif-extraction approach of Apostolico et al. [2008] is also capable of
extracting information from such projected context data, but the time complexity of
its combinatorial approach is even higher (1). Additionally, it will only extract exact
patterns, having only the freedom of the don’t care symbol, but not permitting structural
variation between pattern instances (5). Although the exact approach means that
initial parametrisation is not required, by consequence it is not possible to obtain an
intrinsic distance between two patterns, or to allow for substituted elements outside of
replacements with the don’t care symbol, which removes all information of the subset of
symbols that can appear in those positions. With sufficient pre-treatment of the context
data, in theory it could be possible to reliably extract patterns, of flexible shapes. In
comparison to the alignment approach the complexity is too limiting, and the amount
of pre-treatment too vast, for this approach to be considered suitable for the routine
activity detection problem.
Similarly, although the suffix-tree solution to the dispersed repeat problem has efficient
solutions (1,7), the fact that it merely covers exact repeats, means that the pre-treatment
has to deliver a sequence of activities as input (2,3). Otherwise the variations which one
can expect in context data, render the approach unsuitable (4,5). Such a pre-treatment
is difficult to obtain in a sufficiently general manner, which renders exact repeat solutions
more difficult to apply to the routine activity detection problem than alignment solutions.
2.3.3 Comparison
For each of the two approaches, we have presented similar classes of approaches. Looking
back at the list of seven criteria we initially defined, we can rank features of classes of
approaches for each one:
43Complexity (1) The first criterion favours approaches which have low algorithmic
complexity and also an inherent capacity to deal with multidimensional data. Whereas
the former is an obvious implication, the latter judgement is based on the fact that
any other approach would either require a merging post-processing step or projecting
pre-processing, both of which may have unexpected implications on complexity.
Preprocessing (2) The second criterion similarly favours multi-dimensional approaches,
as pre-treatment can be reduced to the per-element level and possibly a simple synchronisation.
Adaptability (3) The third criterion is somewhat in opposition with criteria (2) and
(6). Complex models are able to closer match the actual data, and give a richer representation.
Approaches using multi-level hierarchical or substitution score based models
have advantages under this criterion.
Noise (4) Extraction from noisy data is best performed by approximate approaches.
Exact approaches require additional pre-treatment to fulfil this criterion.
Time Effects (5) This criterion also favours approximate approaches, specifically
those that allow skipping or ignoring individual entries when mining for patterns, as
well as treating each sensor with a certain amount of individuality.
Parametrisation Effort (6) The parametrisation effort is lower for substitution
based models compared to hierarchical models, as there is no need to define cross-sensor
relations.
Partial Mobile Deployment (7) This final criterion mostly an engineering challenge,
as all sequence mining based approaches require a large off-line component, that
does not need to be based on the mobile device. On the other hand, a recognition or
prediction algorithm based on an established model can be deployed on a mobile device
with little worry about platform constraints.
For both string mining and SPM, we can at this stage discard the exact one-dimensional
approaches – exact repeat mining and the standard sequential pattern mining algorithms
– as the demands this would put on the pre-treatment of the data cannot reasonably
expected to be met.
44Table 2.1.: Comparison of SPM and string mining
sequential pattern mining string mining
approximative Y N Y N
multi-dimensional Y N Y N Y2 N Y N
(1) complexity
X
high med. low high med. high low
(2) preprocessing high med. high low high med. high
(3) adaptability med. med. low high med. low low
(4) noise tolerance high med. low high med. med. low
(5) time effects tolerance low med. low high low low low
(6) parametrisation effort med. high low high med. low low
(7) mobile deployment no no yes no yes no yes
The approximate methods of string mining have a larger maturity compared to the
approximate approaches of sequential pattern mining, or in the case of the approach by
Kum et al. [2003] is even based on a string mining paradigm. Additionally, there remains
a drawback of sequential pattern mining, in that there is no consecutivity criterion
present in most algorithms.
Plantevit et al. [2010]’s multi-dimensional approach based on the M3SP algorithm
is the only true multi-dimensional algorithm in both fields. To some degree, it shares
the drawbacks of the exact sequential pattern mining approaches, but due to the multidimensionality,
the pre-treatment of the data becomes much less of an issue, and the
underlying hierarchical model can be used to give a semblance of an approximate approach.
A way to render it more suitable to the routine activity detection, would be
to add a consecutivity criterion, as has been done with the algorithm of Pinto et al.
[2001] by Rashad et al. [2007a] or take into account temporal data [Giannotti et al.,
2006, Yoshida et al., 2000]. The two-dimensional approach by Lecroq et al. [2012] appears
to be similarly suitable. The key drawback lies in the required projection of the
multi-dimensional context data into the plane in which the algorithm operates, but it
takes into account desynchronisations across different sensors, and could be reduced to a
lower complexity by taking into account the projection, and thus the incompatibility of
data that is adjacent in the sensor-dimension. A side-by-side comparison of the general
approaches with regard to the seven criteria is presented in Table 2.1.
2This is an estimate based on a naive extension of the approach of [Lecroq et al., 2012] to multiple
dimensions.
452.4 Conclusion and Direction
Our survey of available context datasets has shown that none of them is truly suitable
to quantifiably verify that detected patterns correspond to routine activity. The lack of
ground truth is the prime limitation, but there is also only a small subset of physical
context data present in the existing datasets. This leads us to pursue two strategies to
address – separately – each of the shortcomings: A generation algorithm can give us
true ground truth knowledge, whereas our own data collection campaign would provide
us with as much physical information as required. We also need to annotate some of the
real world data with routine activities, to quantitatively verify our claims.
With regard to the algorithms and approaches we studied, none matches our task
directly. All require either modification or extensive adaptation to a specific dataset.
A common drawback is the substantial effort required to prepare context data for the
data model used in conjunction with the algorithms; alignment based approaches minimise
this aspect, by only requiring tables of similarity scores, which can be determined
using statistical analysis. Alignment approaches are also uniquely tolerant to desynchronisations
between sensor streams. In the above comparison to SPM, the alignment
approaches win out, barely. Compared to a clustering or a probabilistic state machine
approach, the simpler pre-processing of the alignment approach is the deciding factor in
its favour.
This leads us to pursue an approach based on n-tuple sequence alignment.
46Alignment of Sequences of n-Tuples
Overview
This chapter presents our algorithmic contributions towards an answer to the routine
activity detection problem. First we introduce a model that presents context in a way
that an alignment algorithm can use. Next we cover our algorithmic contributions to
the alignment algorithms of the state of the art, and finally we discuss the implications
of our approach.
3.1 Context Model
Fundamentally, context data is the set of values of a number of context factors, at a
specific moment in time. Assuming there are n context factors, this is most accurately
reflected as a vector-valued function over time, of the type C(t) = (c1(t), c2(t), . . . , cn(t)).
Of course, a digital computer can impossibly treat continuous data of any kind, and a
digital sensor can never capture data in a continuous manner. Any context data therefore
is a discrete valued time series, unless different context factors are sampled at different
rates, in which case the data is in the form of multiple time series. We adhere closely to
this natural representation in the following.
3.1.1 Sequence of n-tuples
We postulated in the introduction that routine activities correspond to recurrent motives
in context data. The state of the art approaches to finding such motives favour the use of
a sequence based approach. Consequently, we adopt a model that represents context as
a sequence of context states. In specific, we structure context as a sequence of n-tuples.
471.1 0.3 0.2 0.8
0.7 0.2
0.4 0.5 0.3
0.4 0.6 0.4
0.6 0.5 0.5
0.8 0.3 0.2
0.5 0.6 0.2
C = C(t)
ℝ ℝn
t
discretisation
t
synchronisation
and classification
t
A1 A2
A3 A4
B1
A2
A3 A4
C1
B2
A3 A4
C1
B2
B3 A4
B1
B2 B3 B4
B1
A2 A3 B4
C1
B2
A3 B4
C = (c1
(t1
), c2
(t2
),…, cn
(tn
))
ℕn ℕ n
C = (c1
, c2
,…, cn)(t)
ℕ ℕ n
Figure 3.1.1.: The transformation of continuous context C(t) into context data in a sequential
model.
With regard to the natural time series representation, this requires that our context data
sources are synchronized and sampled at constant and equal intervals. Each position in a
tuple contains a (coarsely – e.g. at a semantically relevant level) discretised or classified
reading from one of n context data sources. These context data sources each measure
one context factor and are referred to as sensors in the following. Each tuple represents
context at a moment in time, which we assume to be valid over the constant interval of
time, until the next set of values becomes available.
In Fig. 3.1.1 the process of transformation from physical context into context data
and finally into a synchronized and coarsely discretised n-tuple representation is illustrated.
Discretisation (at the physical digital sensor level) transforms context from the
continuous function over time into a number of time series. This is then synchronised
into a single time series, and the values are replaced with abstract representative class
IDs, column by column. In the example, we excluded possible expansions or contractions
in the “width”, due to a single sensor measuring multiple physical properties, or data
from multiple sensor being used to determine a class based on multidimensional data.
This is merely to aid comprehension — in reality these characteristics may appear in
the process chain.
By choosing an n-tuple approach to alignment, over a 2D-approach, we can eliminate
a degree of freedom from the latter. The fact that each sensor has its own, separate set
of values, allows us to fuse the two in-tuple dimensions into a single one, by requiring
that any operation performed along one axis has to be equally performed along the
other. This enforced translational (across sequences) symmetry not only prevents us
from having to define similarity values for nonsensical configurations (e.g.: How similar
48x y
z w
z
C C
determine
local
similarities
fuse
dimensions
T∈ℕ4
3
Figure 3.1.2.: Linking w- and z-axes into a single dimension, due to translational symmetry
(i.e.: every set of discrete steps taken along the z-axis is replicated
identically in the w-axis).
is a bright light to an upside down mobile device?) but also reduces complexity of
the alignment algorithm. The specific consequences are discussed in subsection 3.2.1.
Fig. 3.1.2 shows how the four-dimensional alignment problem has been reduced to a
three-dimensional one, by linking the in-tuple dimensions.
3.1.2 Blocking and Sampling
Although it is generally possible to find pairs of similar subsequences by searching for
local alignments of a sequence with itself, the time and memory required to do so grow
by the square of the length of the sequence (cf. paragraph Local Alignment on page 35).
There exists a limit from which on it is no longer possible to calculate local alignments,
because no computer system has sufficient memory available to perform the computation.
We have identified two means of managing the issues that arise from an increased
volume of data:
❼ A first variable that we can control a priori is the sampling frequency of context
data. Depending on the granularity of context patterns we wish to identify, we
can reduce or increase the sampling frequency. This also reduces or increases the
sequence length, for a given time interval of context data.
49…
…
l
i
l
i+1
≠
corpus context C
Figure 3.1.3.: Splitting a long sequence of context data into blocks of roughly equal (but
not necessarily equal) lengths.
❼ Another way to address this problem is by splitting the sequence along regular
(time-)intervals into subsequences of n-tuples. It is often sensible to do this along
semantically relevant lines, for example by choosing 24 hour intervals or seven
day intervals. This is illustrated in Fig. 3.1.3 where a long sequence of context
data is divided into a set of subsequences with potentially different lengths. The
different lengths are artefacts of the data collection, and do not affect the alignment
calculation.
Memory constrained situations are defused by using this approach, as the accumulated
score tables for each pair of subsequences are much smaller. Fig. 3.1.4 shows how the
large table spanned between two long sequences a and b is reduced to many smaller tables,
when the long sequences are divided into blocks. The impact on total computation time
is negligible, due to high number of alignment operations that result, which also scales
to the square of the number of segments. On the other hand, it is trivial to parallelise
across pairs of blocks, which reduces the real duration (i.e. wall time) of performing an
alignment when more than one processor is available.
50Blocking into
N Blocks
Volume = N2 small volumes
a
b
Figure 3.1.4.: The reduction of the size of individual accumulated similarity score tables
which can be obtained by blocking. a and b are two sequences, with the
local similarity scores contained in the volume spanned between them.
Another advantage to blocking, lies in that fact that blocks are crucial for a sequence
mining approach. Conversely, a downside is that there is an accuracy penalty, even when
choosing “convenient” intervals (i.e. such that periods of interest are well away from the
beginning or end of a block). Notably, patterns that fall across these boundaries could
be represented as two separate alignments, or not at all, because each half might be
too short to meet an imposed similarity criterion. One possible means of addressing this
shortcoming, is to allow overlaps between adjacent blocks. This practice introduces some
overhead, when alignments that can be found in the overlap are “stitched together”.
3.1.3 Meta-data
As we pursue a local alignment-based approach, we need to be able to determine local
similarities of subsequences. A key requirement is that we define the relation between
each pair of discrete states of each sensor by means of a set of similarity scores. These
similarity scores are by nature positive, when describing the similarity of identical values,
and negative when describing the similarity of non-identical values. We chose to represent
these values in the form of n (one for each element of an n-tuple) symmetrical tables,
containing positive values in the main diagonal, and negative values elsewhere. A small
example is given in Fig. 3.1.5.
513 -1 -1 -2 -2
-1 3 -1 -2 -2
-1 -1 3 -2 -2
-2 -2 -2 5 1
-2 -2 -2 1 5
n
A B C D E
A
B
C
D
E
S
Figure 3.1.5.: A sample substitution similarity score table from the set of n tables.
We can imagine four ways, how such a set of meta-data can be obtained. The first two
are based on statistical analysis of an existing dataset: transition frequencies between
sensor states are a possible indicator to an underlying system, but the same can be
claimed of substitution probabilities between sensor states for hand-selected patterns. A
third approach is to base the values on the physical distances of the underlying classes.
In the case of two places, the distance of the shortest route between the two, or the time
required to cover that distance, could be such physical pointers. Finally, in absence of
such data, a simple model that does not assign different scores at all, except one positive
and one negative score to differentiate between same and different values can be used.
Each approach requires expert supervision, and of course it is also possible for an expert
to project his own view of the problem onto a manually crafted set of meta data that
does not directly reference any of the above approaches, or mixes them.
Besides these substitution scores, an alignment-oriented model also requires insertion
and deletion scores. Contrary to the affine (for length) and constant (for deleted/inserted
value) approach chosen in bioinformatics (cf. BLOSUM-type block transition score tables
by Henikoff and Henikoff [1992] and the work of Altschul and Erickson [1986]), we decide
to use scores which are a fixed offset of the substitution similarity score.
Our reasoning behind this choice is as follows: in context data it is common for context
sources to return a constant value, for a different length of time. Particularly, periods
of inactivity (with regard to the mobile device) show this characteristic. An example:
52constant
value
constant
value
locally
optimal
alignment
with negative
deletion score
desired
locally
optimal
alignment
aligns if insertion/deletion
of constant values has
positive similarity
Figure 3.1.6.: Two intervals of identical values but different lengths can be aligned by
assigning positive similarity score to insertions and deletions of identical
values.
a user sleeps for different lengths of time during two different nights in a week. Our
goal in this case is to align the entirety of both instances of “user sleeps”, instead of
just the closest matching sub-sequence of the longer interval. The score offset gives a
high similarity score for alignments of a subsequence of constant values with another
subsequence of identical values but different length, while also penalising non-identical
deletions and insertions over substitutions.
This concept is illustrated in Fig. 3.1.6, where two intervals of constant values but
different lengths are shown side by side, with two possible ways of defining similarity
being shown: To the right, the state-of-the-art approach of assigning negative scores to
all deletions and insertions, and to the left an example where the sum of deletion score
and substitution score of the two constant values is positive. This allows the inclusion
of the entire interval. In practice, a positive score would usually be undesirable, as
problems of scale might arise. Often it is sufficient to allow a similarity score to bridge
across such intervals without penalizing the accumulated score too much, as activities
following longer series of constant values are usually also similar, if the constant values
are part of the trace of a significant routine activity. In this case a lightly negative
score-sum is preferred.
533.1.4 Discussion
This model – and particularly the definition of a similarity measure – is specific to
alignment approaches. Data that is presented according to this model can be transformed
to conform to another model, as long as the granularity of the discretisation is not too
coarse, and the classification key which is used to map raw values to abstract context
values is available. Of specific interest to us, is the transformation to a model that is
compatible to a sequential pattern mining approach, because it would enable a direct
comparison. Such a conversion would require that the similarity tables are transformed
into a similarity hierarchy.
We consider the absence of semantic and physical information in data that conforms
to this model to be an advantage: it protects the privacy of the user whose data is
being treated. Despite it being possible to infer some semantic information (e.g. which
location IDs correspond to home and work) from a stream of data formatted according
to this model, there is very little risk of physical information (i.e. where the previously
mentioned places are located) to become compromised. This makes our model suitable
for data storage and processing on distributed systems, that are not necessarily under
direct control of the user, with little risk of a breach of privacy. This hypothesis is
reinforced by the evaluation of Voigtmann et al. [2012] of different context analysis
approaches and models.
The adaptation of raw data to our model requires some amount of intervention by
an expert, but automation is possible to a degree. The influence of this expert in the
creation of the model is pivotal. Assuming that an expert has derived a perfect context
model, we cannot guarantee that he can transform this model with perfect accuracy into
a set of meta-data. This limitation is due to the fact that similarity values are limited
in precision and difficult to scale across multiple sensors.
Anecdotally, in the field of biological sequence alignment, research showed that incorrectly
obtained substitution score tables (Styczynski et al. [2008]) can in fact increase
the accuracy of the used alignment algorithm. In this case an error in the statistical
determination of similarity values from a reference dataset was present. We therefore
theorise that our similar model would display similar resilience to slight inaccuracies
in the similarity value tables. We also have to emphasise that the parametrisation of
a model that performs exactly as expected is far from a well understood or intuitive
practice.
With this model in place, we examine in more detail our approach to process this data
for routine context.
541 2 .. n-1 n
A1 B2 An-1 Bn
B1 C2 An-1 Cn
C1 C2 Cn-1 An
A1 A2 Bn-1 An
A1 A2
…
Bn-1 Cn
C1 C2 Bn-1 Bn
C1 B2 Cn-1 Cn
B1 B2 An-1 Cn
B1 A2 Cn-1 Bn
A1 C2 Bn-1 An
1 2 .. n-1 n
C1 A2 Bn-1 An
C1 A2 Cn-1 An
A1 B2 Bn-1 Cn
A1 A2 Bn-1 Cn
A1 A2
…
Bn-1 Cn
C1 C2 An-1 Bn
B1 B2 An-1 Cn
C1 B2 An-1 An
C1 B2 An-1 Bn
C1 A2 An-1 Cn
alignment
Figure 3.2.1.: Two example context sequences, the resulting context data sequences and
an alignment (cells underlaid in grey) that corresponds to two similar
subsequences.
3.2 Alignment Algorithm
It is our declared goal to find patterns in context data. As we have laid out in our
survey of the state of the art (cf. section 2.4 on page 46), the search for local alignments
appears to be the most suitable approach to this task. Any such alignment (i.e. a pair
of similar subsequences of two sequences from a corpus of context data) corresponds to
two instances of similar activities or contexts. Fig. 3.2.1 reprises how context sequences
correspond to alignments. Two similar sequences of activities (being at home, working
at the hospital in the morning and the laboratory in the afternoon, before playing hockey
on one hand and the same activities in a different order on the other) result in two similar
sets of context data. A subset of this data attains a locally optimal similarity score and
is therefore considered to be in alignment. This alignment then serves as pointer for the
original similarity in the activities.
Fig. 3.2.2 illustrates how pairs of context sequences from a corpus (i.e. an established
set of subsequences of context data - cf. subsection 3.1.2 on page 49) are generally
aligned. This is the key operation to find frequently appearing similar subsequences in
55x y
z w
z
a b
determine local
similarities
Figure 3.2.2.: Alignment of two context sequences a and b from a corpus.
this corpus, which we then understand to be representatives of routine activities.
Before we continue, we briefly discuss the two key terms that we use so frequently in
this work: alignment and similarity. An alignment is defined as a result of an alignment
algorithm with a specific configuration. More generally, it is a subsequence and the associated
operations to transform it into another similar subsequence (cf. subsection 2.3.2
on page 25).
On the other hand, the – rather abstract – notion of similarity is less obvious. With
regard to sequences, we can define four key criteria of similarity: Substitution similarity
at the elemental level is the most atomic criterion. It stems from the pair-wise similarity
values defined beforehand (cf. subsection 3.1.3 on page 51). Another similarity criterion
is the density of positive substitution similarities. A high density means a high similarity
of a set of values. A third similarity criterion is size: at the same density, a larger
set of values can be considered to be more similar, than a smaller one. Finally, we
impose a synchronicity criterion. The less gaps need to be opened or filled in a pair of
subsequences, given the same size and density, the higher the similarity score for the
overall sequence.
In the following, we implement this notion of similarity with a recursively accumulated
similarity measure. Basically, we call a sequence “similar” to another, if the last row
and column of both sequences are similar, and the remaining sequence is also similar
56(cf. subsection 2.3.2 on page 25 and the next subsection for formal descriptions), while
using a standard one-dimensional similarity measure for rows and columns. This measure
allows us to describe a very precise notion of what similarity is. By parametrising
the context model appropriately, we can craft a measure that corresponds to specific
expectations. An expert – who defines a set of rules that effectively links certain kinds
of patterns in the data to routine activities – can therefore tune the parameters on a
case-by-case basis.
A similarity measure based on this concept lies at the heart of the work of Lecroq
et al. [2012] on aligning annotated dialogues to find similar structures. We extend and
adapt this approach for use on context data and our context model. Our modifications to
their algorithm, which primarily address significant performance issues that arise when
attempting to use their approach on long sequences of context data, are detailed in the
following.
3.2.1 Contribution I: Reduction to n-tuple Problem
Our first angle of approach lies in the elimination of unnecessary size of the table of
accumulated scores. In the original approach, this table spans four dimensions, to take
into account insertions and deletions in horizontal and vertical directions in the plane.
As our context model does not allow for any interaction between different elements of the
same tuple, we restrict permitted operations from the 2D approach (cf. subsection 3.1.1
on page 47 and Fig. 3.2.2 on the preceding page).
When determining the similarity of a pair of tuples we now only allow substitutions
between elements with identical indices. This brings our approach closer to a true ntuple
approach. As a consequence, insertion and deletion operations are restricted to the
sequence dimension, but are not limited to entire n-tuples at a time. This optimisation
reduces the local similarity score table T to three dimensions, and thereby each cell only
depends upon five “predecessor cells”. Each of these cells corresponds to a vertex in the
cube marked T in Fig. 3.2.7.
This step also simplifies and thereby optimises some ancillary calculations. It is often
required to calculate row and column similarity scores locally; for the row case, only
substitutions are of interest. The local column alignments also mean that the algorithm
retains full flexibility when working with data that has a tendency to de-synchronise, by
being able to “break up” tuples to form alignments.
As the calculation of the score table is naturally defined in a recursive manner, we
will first define ways of selecting individual tuple elements in a sequence with a reference
point in the bottom right. For the following, let s be a sequence of n-tuples of length l.
57Definition 1. s [i, j] , i < l ∈ N, j < n ∈ N is the element in the j-th position from the
end of the n-tuple in the i-th position from the rear (l-th row) of the sequence s.
In Fig. 3.2.3, we present three examples (one general, and two similar to the common
usage in the following) of how this inverted addressing of elements of a sequence works.
s 1 2 .. i .. n-1 n
1 C1 A2 Ai Bn-1 An
2 C1 A2 Bi Cn-1 An
3 A1 B2 Ci Bn-1 Cn
4 A1 A2 Ai Bn-1 Cn
…
…
…
…
…
…
…
j A1 A2
…
Ci
…
Bn-1 Cn …
…
…
…
…
…
…
l-4 C1 C2 Ai An-1 Bn
l-3 B1 B2 Ci An-1 Cn
l-2 C1 B2 Ai An-1 An
l-1 C1 B2 Ci An-1 Bn
l C1 A2 Ai An-1 Cn
s[n-i,l-j]
s[1,1]
s[0,1]
Figure 3.2.3.: Selection of tuple elements in a sequence using reverse addressing. The
origin of the coordinate system used here is in the lower right end of the
sequence. From there the first coordinate is incremented when moving one
element to left, and the second when moving one element upwards.
Next, we define a way to express the recursive reduction of the sequence:
Definition 2. The •i,,j operator represents the sub-sequence consisting of the original
sequence, minus the last i tuples and the last j tuple elements. If we understand s to be
an ordered set of coordinate-value pairs, this can be expressed as si,,j := s \ s [x, y] ∀x <
i ∨ y < j.
This operator is illustrated in Fig. 3.2.4, where both a general case is shown, and the
58usage that is most common in the following, with indices in the [0,1] range.
s 1 2 .. i .. n-1 n
1 C1 A2 Ai Bn-1 An
2 C1 A2 Bi Cn-1 An
3 A1 B2 Ci Bn-1 Cn
4 A1 A2 Ai Bn-1 Cn
…
…
…
…
…
…
…
j A1 A2
…
Ci
…
Bn-1 Cn …
…
…
…
…
…
…
l-4 C1 C2 Ai An-1 Bn
l-3 B1 B2 Ci An-1 Cn
l-2 C1 B2 Ai An-1 An
l-1 C1 B2 Ci An-1 Bn
l C1 A2 Ai An-1 Cn
sn-i,l-j
s1,1
Figure 3.2.4.: Example of the •i,,j operator. If the operator is used on the same sequence
of n-tuples, with one pair of indices being higher than the other, the smaller
result is a subset of the larger one. In this case the result underlaid in black
is a subset of the result underlaid in grey.
To calculate in-tuple and in-column similarity values, we define two operators:
Definition 3.
s [i, j]← := {s [i, j + 1] , s [i, j + 2] , . . . , s [i, n]}
is the right-to-left sequence of elements to the left of a position in a tuple, and
s [i, j]↑ := {s [i + 1, j] , s [i + 2, j] , . . . , s [l, j]}
is the bottom-to-top sequence of all prior elements in a column (i.e. all elements with
the same tuple index).
One example of each of these operations is illustrated in Fig. 3.2.5.
59s 1 2 .. i .. n-1 n
1 C1 A2 Ai Bn-1 An
2 C1 A2 Bi Cn-1 An
3 A1 B2 Ci Bn-1 Cn
4 A1 A2 Ai Bn-1 Cn
…
…
…
…
…
…
…
j A1 A2
…
Ci
…
Bn-1 Cn …
…
…
…
…
…
…
l-4 C1 C2 Ai An-1 Bn
l-3 B1 B2 Ci An-1 Cn
l-2 C1 B2 Ai An-1 An
l-1 C1 B2 Ci An-1 Bn
l C1 A2 Ai An-1 Cn
s[2,1]
s[1,0]
Figure 3.2.5.: Selection of a column and row using the ↑ and ← operators.
Lastly, we require a uni-dimensional similarity measure, to determine what used to be
row and column scores:
Definition 4. For two sequences x, y of single elements, sim(x, y) is the
❼ locally (i.e. before the similarity reaches a zero value) maximum similarity score
of the Smith-Waterman algorithm on the reversed column sequences, if x and y
are both sequences generated with the ↑ operator.
❼ maximum accumulated value of substitution similarity scores, if x and y are sequences
generated by the ← operator.
Fig. 3.2.6 shows an example to illustrate this, based on 4 steps: First a pair of columns is
extracted from a sequence of n-tuples, then reversely aligned, one with the other. Once
the similarity score reaches zero, the alignment is aborted, and the local maximum in
the aligned interval is the score returned by the sim operator.
60s 1 2 .. i .. n-1 n
1 C1 A2 Ai Bn-1 An
2 C1 A2 Bi Cn-1 An
3 A1 B2 Ci Bn-1 Cn
4 A1 A2 Ai Bn-1 Cn …
…
…
…
…
…
…
j A1 A2
…
Ci
…
Bn-1 Cn …
…
…
…
…
…
…
l-4 C1 C2 Ai An-1 Bn
l-3 B1 B2 Ci An-1 Cn
l-2 C1 B2 Ai An-1 An
l-1 C1 B2 Ci An-1 Bn
l C1 A2 Ai An-1 Cn
Bn-1
Cn-1
Bn-1
Bn-1
…
Bn-1 …
An-1
An-1
An-1
An-1
An-1
Cn-1
Bn-1
…
Bn-1
…
Bn-1
Cn-1
An-1
2 - align
3 - accumulated
similarity
reaches 0
1- extract
4 – sim is the maximum accumulated
similarity score in this interval
Figure 3.2.6.: Calculation of a column similarity score. Two columns are extracted from
two sequences, then aligned in inverse order, up to the point where the
similarity score reaches zero. The maximum similarity from this interval
is the similarity value we assign these two columns.
With these prerequisites in place, we can express the accumulated similarity score for
two subsequences a and b recursively as follows:
Definition 5. For two sequences of n-tuples a, b and the accumulated similarity score
is:
sim(a, b) =
max
0
sim(a1,1, b1,1) + sim(a [0, 0] ↑, b [0, 0] ↑) + sim(a [0, 1] ←, b [0, 1] ←) (I)
sim(a1,1, b1,1) + sim(a [1, 0] ↑, b [1, 0] ↑) + sim(a [0, 0] ←, b [0, 0] ←) (II)
sim(a0,1, b0,1) + sim(a [0, 0] ↑, b [0, 0] ↑) (III)
sim(a1,0, b1,0) + sim(a [0, 0] ←, b [0, 0] ←) (IV)
sim(a0,0, b1,0) + indel(b[0, 0]) + sim(a[0, 0] ←, b[1, 0] ←) (V)
sim(a1,0, b0,0) + indel(b[0, 0]) + sim(a[1, 0] ←, b[0, 0] ←) (VI)
(3.2.1)
The similarity score sim(a, b) is 0, if a = ∅ ∨ b = ∅.
61In the domain of the accumulated local similarity score table T, each cell contains
the similarity values of the subsequences (of sub-tuples) defined by the coordinates (cf.
subsection 2.3.2). The iterative algorithm of determining each value in T is started by
initialising the first plane in each dimension of the table with zeroes, to satisfy the end
condition of the recursive definition of the similarity scoring function. The other cells
are calculated as illustrated in Fig. 3.2.7: Each arrow (labelled I-VI) corresponds to an
operation in equation 3.2.1, excluding the column and row similarities. These are the
operations that are performed in each case, before choosing the maximum value amongst
them:
(I) Substitution and movement to the left (column-row-order): The space diagonal
predecessor value is added to the column similarity of the predecessor and the row
similarity of the current rows.
(II) Substitution and movement to the left (row-column-order): The space diagonal
predecessor value is added to the column similarity of the current columns and the
row similarity of the predecessor.
(III) Movement to the left: The z-axis predecessor value is added to the column similarity
of the current columns.
(IV) Substitution: The x-y-diagonal predecessor value is added to the row similarity of
the current rows.
(V) Insertion: The y-axis predecessor value is added to the row similarity of the current
row and preceding row.
(VI) Deletion: The x-axis predecessor value is added to the row similarity of the preceding
row and current row.
The dynamic programming paradigm of the approach is therefore maintained, despite
our recursive definition of local similarity.
62a b
z z
z
x y
x
y
i-1 plane
j-1 plane
k-1 plane
i,j,k
i,k j,k
I,II
III
IV
V
VI
i lies on the x-axis
j lies on the y-axis
k lies on the z-axis
T
Figure 3.2.7.: The local dependencies of the calculation of a local similarity value. To
the left in the three-dimensional table of accumulated similarity scores T
and to the right the equivalent representation in the domain of the two
sequences a and b. Operations V and VI – insertion and deletion – are
one-dimensional operations and therefore appear only either in a or on b.
3.2.2 Contribution II: Locally Optimal Alignments
The state-of-the-art approach selects every position in the accumulated score table where
the score is above a minimum similarity threshold as a candidate for a backtrack (BT)
– and by extension as an alignment. This leads to a large number of alignments being
calculated, especially if high-scoring alignments (i.e. large alignments with a high
similarity density) are present in the data.
In such a high-scoring alignment, the minimal score is reached long before the end of
the alignment. Each cell with a similarity score above this minimum generates a new BT
and eventually the corresponding alignment, none of which are in any way meaningful.
Alignments can branch in three (four, in the original algorithm) dimensions, which results
in a very large number of BTs, as large volumes of cells containing high similarity values
exist in the 3D scoring table. Whereas an individual BT operation is not extremely costly
from a computational point of view, this high number of BTs effectively – and severely –
limits either the usable problem size or the usable minimal accumulated similarity score
(MASS).
63Figure 3.2.8.: The rightmost (n-th) z-slice of a table T. The axes of the plane correspond to the temporal axes of the sequences.
line denotes the plane of an arbitrarily chosen MASS. The highest value is denoted by an X.
The height and colour are representations of the accumulated similarity value in the cell in T. The white profile
64In Fig. 3.2.8, we look at an extract of the n-th slice of the table T, where typically
accumulated scores are highest compared to other z-slices. Any point above the reference
plane at MASS-level is a potential candidate for a BT. This volume is visibly of
considerable size.
To alleviate this problem, we retain only the most meaningful alignments. The inspiration
for this choice can be found in bioinformatics, where the algorithm of Smith
and Waterman [1981] is often used to identify only the optimum local alignment (Myers
and Miller [1988]). This goes so far, that many evolutionary optimisations have focused
exclusively on this problem. In fact, in Lecroq et al. [2012], reference is also made to a
maximal element for the BT, but also in a global sense. Although this approach is too
radical for our problem, we still perform a similar optimisation, but on a local scale.
We calculate BTs exclusively from the locally highest accumulated scores– as opposed
to from every score higher than the MASS. This corresponds to the peak in Fig. 3.2.8.
A simple check whether any one of the 26 adjacent values is higher than the value in
the current position determines if the current position in the accumulated score table is
retained as a candidate for a BT. The number 26 stems from the fact that each cell has
six directly neighbouring cells (one per surface of a cube), as well as three times four
in-plane diagonal neighbours (one per vertex) and eight “node diagonal” neighbours (one
per node), in the 3D table.
Although this introduces a large number of branches into the execution, it reduces the
number of candidates (and therefore of expensive BTs) drastically. All of the removed
backtracks are in essence redundant: The higher scoring alignment includes all elements
a smaller alignment would include, and a larger alignment with a lower score would have
an overall lower similarity, and therefore the added elements are not similar. We restrict
ourselves to a maximum search radius of 1 (√
2 for in-plane diagonals and √
3 for space
diagonals). Fig. 3.2.9 visualises how we obtain the number of 26 neighbours, and what
these distances mean in the 3D geometry of the accumulated score table.
Though there is a benefit to extending the search radius, in that “double peaks”
would no longer lead to twin alignments of largely similar nature, the added cost of
extending the search radius would quadratically (surface of a sphere) increase the number
of branches, and the additional reduction in candidates would be comparatively small.
On the other hand, the number 26 is also the minimal number of checks required for
this approach to be functional, as otherwise for large accumulated similarity values there
would always be greater-than-MASS values in one of the adjacent positions.
For an illustration of the scale of this issue, Fig. 3.2.10 shows an example similarity
score table. It shows that selecting a small MASS is necessary to detect smaller similar
653
3=27 cubes
26 neighbours to
central cube
l = 1 l
2 = 2
l
2 = 3
Figure 3.2.9.: The local neighbourhood of a node (in the centre of the shown cube) in
the accumulated score table T. The shown cube consists of 27 sub cubes,
the one at the centre being the “home node”. The other 26 surrounding
it, are the direct neighbours. A partial spatial subdivision is shown in the
lower left corner to illustrate the notion of “radius”.
structures (values above 1500 in this case are of significant interest), but large similar
structures generate huge amounts of potential candidates at this smaller value. We
reduce the volume of BTs from the volume around each of the peaks to just the number
of peaks themselves. The side-by-side representation of the third dimension obscures
somewhat that the 5 surfaces in the figure actually form a volume, but each point in a
surface is neighbouring to the point in the same coordinates in a neighbouring surface,
and they are all considered for the selection of final candidates for a BT.
3.3 Discussion
Reducing the degrees of freedom from the two-dimensional approach leads to a lowered
complexity. Where originally the accumulated score table required O(lmn2
) (where l
and m are the sequence lengths, n the number of elements in a tuple) space (and time
to calculate), this has now been reduced to O(lmn), without any reduction in relevant
capability. This means that we can now work with sequences that are n-times longer
than previously, within the same system constraints.
The two-dimensional basis for the algorithm means that the order of columns still has
66Figure 3.2.10.: Accumulated similarity score table for the alignment operations of the
context data corresponding to two consecutive days. Each graph represents
one of the five slices (n = 5) of the z-axis, starting at one at the top,
incrementing to five at the bottom right. Height and colour correspond
to local similarity values. The x - y plane is spanned by the temporal
axes of the sequences. Note multiple peaks at different heights.
67an impact on the accumulated similarity scores. A notion of single-step cursor movement
is still present in our approach (cf. equation 3.2.1), and thus accumulated scores depend
only and directly on the scores of the left tuple neighbour and the accumulated similarity
score of the sequences to the left of the elements under consideration.
Reducing the number of BT candidates by local optimization can drastically increase
performance, especially when the MASS is a small fraction of maximum accumulated
similarity scores. If the neighbourhood of every peak consists of 5 cells in each direction
of each of the three dimensions where the score is above MASS, this reduces the number
of BTs by a factor of around 1000.
The average worst case (i.e. in an infinitely large table where cells with values higher
than MASS are surrounded by exactly one layer of cells with value 0) improvement is
by a factor of 7. This optimisation does remove some granularity, as possibly semantically
atomic routine elements can be included within larger scale alignments, and thus
disappear from view. On the other hand, they would be lost in the noise of meaningless
alignments, if the classic approach were to be retained. A way to recover such smaller
scale patterns, could be by iteratively locally aligning intervals of interest, with ever
decreasing MASS.
Beyond this theoretical evaluation, we also performed an experimental validation.
There we address whether the alignment approach is valid for context data, as opposed
to just general sequential data.
68Experimental Validation and Results
Overview
This part is dedicated to the evaluation of the alignment-based approach on both automatically
annotated synthetic data and manually annotated real-world data. Before
getting to the actual evaluation, we first examine the provenance of our test data. Consequently,
we detail the synthetic data generation procedure. Additionally, we present
the real world data collection campaign and the pre-treatment process required by our
context data model. The evaluation of the algorithm on synthetic data is detailed in the
following section, and the evaluation on real world data in the subsequent one.
4.1 Synthetic Data Evaluation
Testing on “real” data is crucial to being able to judge the “in the wild”-performance
of an algorithm, but there are several limitations when solely relying on it. The manual
annotation of ground truth is often labour intensive and error-prone. This limits the
scope of possible evaluation. Conversely, an evaluation on synthetic data allows us to
complement the results we can obtain from real world data, particularly by giving better
control over the results and a wider variety of testing conditions.
4.1.1 Synthetic Data Generator and Dataset
In the following, we introduce a model and an algorithm that simulates parallel data
from multiple sources containing cross-source repetitive patterns. Due to the many
parameters that can be set, and the multiple random influences, the overall model for
the generator is complex. For this reason, the description is split in five sub-sections,
69of which the first lays out the requirements and design choices, the second some key
definitions and terms used in the context of the description of the generation model
and algorithm; the third and fourth sub-section detail each of the major sub-routines of
generating data. An illustratory example is used throughout this subsection.
4.1.1.1 Data Generation Context Model
It is our goal to give the experimenter the greatest possible freedom with regard to
the characteristics of the generated data. Some general expectations of what makes up
context data guide us in the design of our generator. The basic structure of context is
a sequence of n-tuples, when n context data sources are present. Within this sequence,
we encounter two different states of context. Either the current context is part of a set
of routine contexts, or it is not. A routine context influences a specific subset of context
measurements, reproducibly each time it is present in the data. Per sensor, different
amounts of data may be relevant to a pattern.
How much influence a routine context has on the context data is determined by how
much variation there is between different instances of the context. This variation can be
expressed as a random process. This random process modifies values between different
instances of routine context, or leads to desynchronisation effects when elements are
skipped or extended. It is inherent to each routine context. Furthermore, non-routine
contexts may also lead to desynchronisation of following routine contexts, due to the
global continuity of context. A separate random process determines these effects, and
the amount of value modifications in the non-routine data, if a baseline has been defined.
A model of probabilistic distances determines how likely it is for a certain value to be
modified to another one, or to be extended or skipped.
The order of appearance of the routine contexts is usually regular as well, but can also
vary under random influences. A real world example could be a person oversleeping,
and skipping an entire morning activity, on their way to work. These varying orders can
also be modelled by a random process.
Finally, different context sources may have interactions. As an example, location
and radio signal strength are often correlated. Such correlations need to be taken into
account when evaluating the random process which determines the ultimate values of a
context. and may also be interesting when defining a set of routine contexts.
70data 1
pattern
time
pattern
cell
data 2
data 3
data 4
stream
Figure 4.1.1.: Stream, pattern and cell for a simulated 4-tuple dataset. The stream
consists of patterns (coloured) and random data (light grey). Each pattern
consists of defined values (blue) and undefined values (white).
4.1.1.2 Definitions
The model used during the generation process consists of two key structures: the stream
is a concept which represents data from multiple independent sensors evolving over
time. In terms of the context model, it represents the sequence of n-tuples of sensordata.
Patterns are two-dimensional arrangements of data symbols in a rectangular grid
(cf. the example in Fig. 4.1.1). The stream is created by alternating intervals of n-tuples
of random data and randomly modified instances of these patterns. The output of the
data is a direct representation of the stream.
The atomic unit of data – the individual grid element – is called a cell. Each cell is
specific to a moment in time (horizontal) and a data source (vertical). Data sources in
this context are discrete random variables, with a limited set of states (“alphabet”), each
element of which is a symbol. The number of different attainable symbols - the cardinality
of the alphabet - is called the spectrum of a data source (cf. Fig. 4.1.2). The real-world
counter part to these data sources are filtered sensors producing discrete measurement
values. Each cell of a pattern contains either a symbol from the corresponding alphabet
or is a place holder asterisk “*” value indicating an entry that is not defined by the
pattern.
71Figure 4.1.2.: Four alphabets A1, A2, A3, A4 with respective spectra 5, 6, 4 and 2. N.B.:
Different symbols across different sensors (e.g. “A”, “1”, “a”, “0”) are
used here for illustration purposes only, symbols are actually represented
by their indices (i.e. as in A2).
Random effects – termed noise in the following – are a key factor in the generation of
patterns and the stream. This noise is based on random variables, which are sampled,
and the resulting values then transformed into length variations or symbol substitutions.
All random variables that are used to generate noise are considered to be normally distributed
(except in the limit-case of infinite variance, which is transformed into uniform
distribution over an interval).
The effect of noise is derived from user defined transition cost matrices (one for each
alphabet) with the number of rows and columns equal to the size of the alphabet, and
correlation matrices (one for each pattern, and one for non-pattern intervals).
The transition cost matrices contain the cost of substitution between symbols. The
costs of transitions for the following special symbols
* place holder for empty cells in patterns;
del delete a cell from the stream;
ins add an additional value to the stream.
make up a further four vectors:
1. A vector containing the cost of conversion of any symbol to the * value;
2. A vector containing the cost of conversion from * to an alphabet value;
723. A vector associated to ins, which contains the cost of converting any alphabet
value or * to an insertion;
4. A vector associated to del, which contains the cost of converting any alphabet
value or * to a deletion.
These symbols form a global (i.e. across all data sources) alphabet of control-characters
Ag = {*, del, ins}. Of these, * can appear in patterns (hence there being both a “to”
and “from” vector of transition costs), but none of these symbols appears in the stream.
The operations linked to these symbols represent two different kind of noise effects:
Temporal noise (del and ins) causes relative shifts in the time domain of data sources
by inserting or deleting values, as well as local extension or compression of periods of
data. Data noise (values replacing *) introduces random values in predefined areas,
which corresponds to variable parts of otherwise fixed patterns and permits us to use
rectangular patterns with little loss of generality.
The correlation matrices are lower triangular matrices with one line and column for
each data source. Each line corresponds to the relative weights given to the calculation of
a value by other values in the previous rows. A positive correlation value means that the
influence of the random values used to determine the content of the respective cell have a
quasi-linear effect on the determination of the current value. A negative correlation value
conversely has an inverse quasi-linear effects. Zero values mark independent data sources.
In this context “quasi-linearity” is an artificial effect to transform multi-dimensional
random values from one space to another. This may not hold up to a comparison to
real world data, but provides a reasonably simple model which avoids having to define
correlations per pattern and per symbol individually.
The following naming conventions are used henceforth: Z>0 = {1, 2, 3, . . .} the natural
numbers excluding zero and R≥0 =
S
x∈R,x≥0
{x} all non-negative real values. The
notation xi,h,k represents the element in the h-th line of the k-th column of a matrix (or
table) Xi
.
Let n ∈ Z>0 be the number of data sources, m ∈ Z>0 be the number of patterns,
Ai = {x ∈ Z>0|x ≤ si},(1 ≤ i ≤ n) be the (abstracted) alphabet of the i-th data source
and lj ∈ Z>0 be the length of the j-th pattern Xj ∈ P ⊂
Sm
j=1×
n
i=1(Ai ∪ {∗})
lj of the
indexed set of patterns (cf. Fig 4.1.3 for a complete set of patterns, with empty cells,
a sample elements and corresponding dimensions.). Let ~s ∈ N
n
>0 with components si
be the spectra-vector where ∀1≤i≤n : si = |Ai
|, with | · | being the cardinality and let
lstream ∈ Z>0 be the number of total grid columns of the stream.
In the following, x, y ∈ Ai ∪ Ag,(1 ≤ i ≤ n) stand for symbols.
73X1
X2
X3
Xm -1
Xm
n
lm
l1
lm-1
empty cell
cell
element
x
Figure 4.1.3.: A set of patterns, P = {X1, . . . , Xm}, with n data sources and lengths
l1, . . . , lm, and a pattern element x = Xm,n,1 ∈ An.
N (ση), η ∈ {o, p, q, r, u} are Gaussian distributions with variance σ
2
η
serving as sources
of random values for
o value variety of noise intervals between two instances of patterns in the stream,
random variable o;
p noise applied to pattern-defined values during the instantiation of patterns in
the stream, random variable p;
q variations in length – unless lengths are predefined for each pattern – and
values between two different patterns, random variable q;
r variations of the interval length between two instances of the same pattern in
the stream, random variable r;
u variations of the length of noise intervals in the stream, random variable u.
The transition cost matrices are Ti = [ti,h,k],(1 ≤ i ≤ n) ∈ R
si×si
≥0
and form the set
T := Sn
i=1,
{Ti}. The entries ti,h,k are the positive real-valued costs of transforming the
74h-th symbol of Ai
into the k-th symbol. The costs of transition relative to the elements
of Ag are the pattern insertion and deletion cost vectors ~bi
, ~ci ∈ R
si
for the transitions
from and to *, and the stream insertion and deletion cost vectors ~di
, ~ei ∈ R
(si+1) for
transitions to del and ins.
Transition cost tables are related to the substitution score tables of the algorithms used
to align pattern instances. In the alignment algorithm, they indicate similarity based on
the way the model is configured. In this generator, they define the probability of random
transformations of symbols. An important feature of transition cost tables is that they
do not necessarily need to be symmetric, even though a naive approach considering the
value spaces as Euclidean spaces with distances would indicate this. Yet, when using
probabilities of transition in example data as basis for the cost of state-transitions, the
assumption of symmetry is rendered invalid, as the resulting graph of transitions is not
necessarily symmetric. For the values in the table to have the expected effect, they need
to be scaled in consideration of the variances of p and q.
A gappiness vector ~g ∈ R
n
≥0
, with ∀
n
i=1~gi ≤ 1 contains the ratio of pattern entries to
empty cells for each data source, and simulates effects of limited data source availability
and information significance and density.
Let lower triangular matrices ξi ∈ R
n×n
, i = {1, .., m} be the correlation matrices
for patterns Xi and let ξ0 be the correlation matrix for non-patterned values. These
matrices are lower triangular, as each new value can only ever be correlated to values
that have already been generated. The entries are normalized so that each row-sum is
equal to one.
Let ~w ∈ Z
m
>0 be a representation of the frequency of pattern apparition in the stream.
Each value corresponds roughly to the relative period of apparition of a pattern in the
stream. Finally, let lnoise ∈ R be the average length and let ¯lnoise ∈ Z>0 be the maximum
length of a non-pattern-interval in the stream.
For our running example, let n = 4, m = 3, ~s> = (5, 6, 4, 2) and ~l
> = (10, 6, 7). Let
the corresponding gappiness vector be ~g = (0.1, 0.1, 0.3, 0.3), and let the first of four
transition tables be
T1 =
0 7 5 4 8
7 0 2 5 3
5 2 0 1 2
4 5 1 0 3
8 3 2 3 0
∈ T .
75Furthermore, let
~b1 =
3
9
5
9
2
, ~c1 =
4
8
3
4
9
,
~d1 =
5
2
3
9
7
4
, ~e1 =
5
2
4
7
6
6
and the correlation matrices
ξ0 = ξ1 =
1 0 0 0
0 1 0 0
1 0 0 0
0.5 0 0 0.5
.
Finally, let ~w
> = (45,30, 50), lnoise = 4.8 and ¯lnoise = 15.
We use these values to demonstrate how to generate pattern values and pattern instances
in the stream.
4.1.1.3 Pattern Generation
The first step R1 of the algorithm is to generate m different patterns according to the
parameters given:
X1 = R1(n, l1, ~s, T , ξ1, ~g)
Xj = R1(n, lj , ~s, X1, σq, T , ξj ), j = 2, . . . , m
A reference pattern X1 is generated first, consisting of randomly selected entries based
on vectors ~γl ∈ ×i 1 are then modified to reflect the
correlations dictated by ξ1:
ψ
0
i,l := X
i
k=1
ξ1,i,k
si + 1
sk + 1
d
l(sk+1)
si+1
X
e
j=b
(l−1)(sk+1)
si+1 c+1
ψ~
k,jωi,j,k (4.1.1)
where
ωi,j,k :=
j −
(l−1)(sk+1)
si+1 if j < (l−1)(sk+1)
si+1 + 1 ∧ sk > si
l(sk+1)
si+1 − j + 1 if j > l(sk+1)
si+1 ∧ sk > si
1 if (l−1)(sk+1)
si+1 + 1 ≤ j ≤
l(sk+1)
si+1
l(sk+1)
si+1 − j + 1 if j > (l−1)(sk+1)
si+1 + 1 ∧ sk < si
j −
(l−1)(sk+1)
si+1 if j < l(sk+1)
si+1 ∧ sk < si
sk+1
si+1 if l(sk+1)
si+1 ≤ j ≤
(l−1)(sk+1)
si+1 + 1
which corresponds to a constant resampling, linearising across vector dimensions by
treating them as intervals. An example is given in Fig. 4.1.4. The values on each arrow
correspond to the scaled value that is used to determine the value at the end of the
arrow. In the left case, the values in the left vector are scaled up (by 5/3) and in the
right case, the values are scaled down (by 3/5). Then, these scaled values are spread
according to the coverage they have on the corresponding parts of the vector. In the
case of the middle value (2 - marked with red dashed line) in the left example, this is
1/5 for the second value of the right vector, 1 for the third value, and 1/5 for the fourth
value. Scaling is applied accordingly, hence (2 · 5/3 · 1/5) = 2/3 is the influence on the
top value of the three values that are marked in the right vector.
Let x = x1,i,l be the value of the i-th row and l-th column of X1 and the k-th element
of Ai
. Let vx ∈ R
si+1 be a vector whose components are the l-th of Ti and the l-th
element of ~c:
vx :=
ti,1,k
ti,2,k
.
.
.
ti,si,k
ci,k
78s+1=3 s+1=5 s+1=5 s+1=3
1
2
3
1
4/3
2
8/3
3
1
2
3
4
5
1.4
3
4.6
0.6
0.8
0.4
1.8
0.8
1.6
3.0
1
2/3
2/3
2
2/3
2
3
Figure 4.1.4.: Illustration of dependence coefficient determination during creation of similar
patterns. The right vectors are created from the values of the left
vectors, through linear interpolation and scaling.
or, in the case of x = *:
v* :=
b1
b2
.
.
.
bk
0
The index y of the minimal component of |vx − ψ~0
i
|,
y = min
]
|vx − ψ~0
i
|
(here | · | is the component-wise absolute value) is the value that takes the place of x in
Xj , unless y = si+1 in which case * is inserted into the pattern at this position. This is
repeated for all n × lj entries of the pattern.
Furthermore, the length lj of the j-th pattern – if not specifically set to a certain value
beforehand – is calculated by obtaining a random real value ∆lj from N (σq), adding it
to l1 and rounding to the closest integer:
79lj :=
b∆lj + l1 + 0.5c ∆lj + l1 > 0
0 ∆lj + l1 = 0
d∆lj + l1 − 0.5e ∆lj + l1 < 0
Addition or removal of elements is done column-wise: for every column, a random check
is performed against |∆lj |
max(lj ,l1)
(until the lj -th column is reached) to determine whether
the current column of X1 is skipped or a column of equally distributed randomly selected
symbols inserted.
To compute x2,1,1 of the pattern X2 ∈ Z
4×6
>0
of our running example, given σ
2
q = 2 as
the variance of the distribution of q, we first determine whether the first line is skipped
to make up for the difference in length to X1. This is done by obtaining a random
value from the interval [0, 1] and testing whether it is smaller than 10−7
max(10,7) = 0.3.
We assume – for the sake of this example – that this is not the case, and instead
x2,1,1 is derived from x1,1,1. We obtain a vector ψ~
1 ∈ R
6 by repeatedly sampling q:
ψ
>
1 = (0.1, 0.5, −1.6, 1.1, −0.8, 0.3). Then
x2,1,1 = min
]
|vx1,1,1 − ψ~0
1
| = min
]
|v2 − ψ~
1|
= min
]
t1,1,2
t1,2,2
t1,3,2
t1,4,2
t1,5,2
c1,2
− ψ~
1
= min
]
7 − 0.1
0 − 0.5
2 + 1.6
5 − 1.6
3 + 0.8
8 − 0.3
= 2
The values x2,k,l,(k > 1), are calculated by taking into account the correlation matrix.
Let ψ~>
4 = (−1.5, 0.8, −0.3). We determine ψ~0
4 using equation 4.1.1, and the resampling
of ψ~
1 shown in Figure 4.1.4:
ψ~0
4 = 0.5
0.3
−0.25
−0.5
+ . . . + 0.5
−1.5
0.8
−0.3
=
−0.6
0.275
−0.4
This allows us to calculate
x2,4,1 = | min
]
ψ~0
4 − vx1,4,1
|
as above.
80These steps are repeated until m patterns have been created. These patterns are then
integrated into the stream.
4.1.1.4 Stream Generation
Streams are generated by interposing modified instances of patterns with blocks of random
values. The generation of streams can be considered as a relation
R2(n, T , P, σp, σo, σr, σu, ~w, lnoise,
¯lnoise, ξ0) :
Z>0 × R
n×si×si ×
[m
j=1
n
×
i=1
(A
lj
i ∪ {∗}) × R
n
≥0 × R
n
≥0 × R≥0 × R≥0 × Z
m
>0 × R × Z>0
→
n
×
i=1
(Zsi+1 \ {0})
lstream
This is a projection of the configuration space (dimensions, transition model, patterns,
randomness, correlations) into a stream. There are three main tasks to consider:
Scheduling Each pattern has a predefined frequency of instantiation, which can be understood
as an m-vector ~w ∈ R
m. σp determines how much the appearance intervals
vary.
Noise Noise duration and variety are defined by lnoise,
¯lnoise, σu and σo.
Modifications The variance between instances of the same pattern is defined by σr ∈ R
n
.
Scheduling is managed in the following way:
1. During the first run, ~w
0 = ~w is created in order to track changes to ~w without
losing the original information.
2. The pattern Xmin]( ~w0)
is selected and inserted into the stream, where min]( ~w
0
) is
the index of the minimal component of ~w
0
:
min
]
( ~w
0
) = i|∀| ~w0
|
j=1 : w
0
i ≤ w
0
j
.
If multiple components share the same smallest value, the value of min]
is picked
at random from the corresponding indices.
3. The vector ~w
0
is updated by adding ~wmin]( ~w0) + r to the component pertaining to
Xmin]( ~w0)
: w
0
min]( ~w0) = w
0
min]( ~w0) + wmin]( ~w0) + r
81Algorithm 4.1 Scheduling pattern instances
input : The scheduling vector ~w ∈ R
m
output: A scheduled stream
~w
0 ← ~w;
l ← 0;
while l < lstream do
jins ← min]( ~w
0
) = i|∀| ~w0
|
j=1 : w
0
i ≤ w
0
j
;
append pattern Xjins to stream;
increment l by the length of Xjins ;
w
0
jins ← w
0
jins
+ wjins + r; // update minimal value in ~w
0
for j ← 1 to m do // update other values in ~w
0
if j 6= jins then
w
0
j ← w
0
j −
wjins
m−1
end
end
append noise interval of length min((lnoise + u),
¯lnoise) to stream;
l ← l + min((lnoise + u),
¯lnoise)
end
4. ∀j=1,...,m,j6=min]( ~w0)
: w
0
j = w
0
j −
wmin]
( ~w0)
m−1
, which avoids under- and overflows due to
incrementation and decrementation, as the decrement of each step is equal to its
increment, and E(r) = 0.
5. A noise interval of the length of min((lnoise + u),
¯lnoise) is injected into the stream,
containing random values that adhere to the dependencies defined by ξ0.
This is also formulated in pseudocode in algorithm 4.1.
Within the frame of our example, this has the following effects: First, an interval of
noise of length 5 is appended to the stream based on the assumption that the average
value of 4.8 is not significantly impacted by the random effects of u. Then, pattern X2
is appended to the stream, as the smallest value in ~w
> (30), is in the second position.
~w
0
is then updated as follows:
~w
0 =
w
0
1 −
w2
2
w
0
2 + w2 + r
w
0
3 −
w2
3
=
45 − 15
30 + 30 + r
50 − 15
=
30
60 + r
35
The contents of a noise interval cell are generated by determining the index of the
smallest component of the distance ∆o,i = |φi − vˆ0|, where φi ∈ R
si+2 is a set of vectors
of subsequent results of the event at the base of o, modified according to the method
82proposed in equation 4.1.1 (replacing ξ1 with ξ0 and adjusting sizes) and ˆv0 ∈ R
si+2 is
~b appended by the last entries of ~d and ~e respectively:
vˆ0 =
b1
b2
.
.
.
bsi
dsi+1
esi+1
Thus, the symbol added to the stream is:
y = min]
|φ − vˆ0|
In the case of y = si + 2, the control value ins is generated: a new φ is randomly
obtained, ∆o,i re-evaluated, and a new value is inserted after the current position using
this very same algorithm. If the minimum index obtained is si + 1, a del control value
is generated and no value is written into the i-th row of the stream during this iteration.
For all other indices, the resulting index corresponds directly to the symbol of the
corresponding alphabet to be written into the stream. Once this is done, the algorithm
continues, by performing the same actions on the symbol in the cell to the right, for all
columns that are to be generated.
The modifications applied to instances of patterns in the stream are calculated in
the same way for non-defined cells. For cells of patterns containing symbols, the above
algorithm is adapted by calculating min] ∆p,i = min]
|ρ − vˆx|, with ρ ∈ R
si+2 a vector
of random values obtained by sampling p (si + 2)-times, and x being the value in the
pattern cell and hence ˆvx being the x-th column of Ti appended by the x-th elements of
~d and ~e:
vˆx :=
ti,1,x
ti,2,x
.
.
.
ti,si,x
dx
ex
In Figure 4.1.5, we show how the element x2,1,1 = 2 is instantiated into the stream,
modified by noise to become the sensor value 4.
83pattern element x = 2 є A1 1 2 3 4
5 ins del
*
3
9
5
9
2
5
5
1
0
7
5
4
8
2
2
2
7
0
2
5
3
3
4
3
5
2
0
1
2
9
7
4
4
5
1
0
3
7
6
5
8
3
2
3
0
4
6
4335207
1-204-423
35316-24
output symbol y = 4
T1
0
zero mean
noise
Gaussian
d
e
b
Figure 4.1.5.: Noise is applied to symbol x from alphabet A1 using transition cost matrix T1 and transition cost vectors
b
~
1, d
~
1, ~e1. The resulting value is y = 4. This example uses integer values for easier reading and comprehension,
in general the random values are real values. The process starts with value x2,1,1 = 2 from pattern X2, extracts
the corresponding row from T1 and selects the smallest absolute value in the sum of the extracted row and a
random vector, to determine the index of the element to replace x.
84I D
D I
I
I
I I D I
time
Figure 4.1.6.: Extract of a possible resulting stream with n = 4 and m = 3 different
patterns (blue, yellow and green) and noise (red). I and D indicate cells
in which insertions or deletions have happened. y is the symbol that has
been generated in Fig. 4.1.5.
This process (schedule - noise - pattern) is repeated until the sum over all noiseinterval-lengths
and pattern-instance-lengths is equal or larger than lstream. A schematic
example of a resulting stream is given in Fig. 4.1.6.
With regard to our initially targeted model, this allows us to control most variables
precisely. We can generate data that locally or progressively desynchronises, data that
has controlled amounts of noisy variation and in any size or shape desirable. To help
this latter fact, we also permit the handcrafting and loading of pre-defined patterns.
We currently identify the following weaknesses to our approach: we limit ourselves to
normally distributed noise for all random aspects of the generation process. We consider
this as a safe default choice, especially to model sensor measurement noise, but it may
not be an accurate model for variations caused by human actions. In the absence of a
better model for this kind of variation, we restricted ourself to Gaussian distributions.
Our correlation algorithm between two data sources with different numbers of symbols
is not correct, in the sense that we linearise across dimensions which have no actual linear
relationship. On the other hand, we see this as the only way to implement correlation.
Due to the difficult nature of this feature, we do not use it for the generation of our
data, based on the assumption that strongly correlated data is unified to a single sensor
reading in real world context data.
85A final problematic issue is that of our multidimensional noise issue, which makes the
link between a chosen variance value and the actual effect on value transitions rather
unintuitive. Although a probability interval based approach may have had more predictable
results, it would be more complex to integrate with the notion of data source
correlation, and would require a rather complex calculation of interval limits for each of
the possible transitions.
Taking into account these limitations, we feel nonetheless confident that it allows us
to generate a number of well understood datasets. The ability to retain the information
of which pattern is instantiated in which cells of the output stream allows us to evaluate
our alignment algorithm against this ground truth.
4.1.1.5 Dataset Generation
For the evaluation procedure, we generate 135 datasets, which can be characterised
by five different scenarios, each of which has 27 different variations by adjusting three
variables. Each scenario serves to link a configuration of the data generator, to a specific
type of behaviour of a simulated human exhibiting a certain way of life. These five
scenarios are:
1. A scenario without random influences, outside the order of pattern instantiation.
This corresponds to a human who reproduces the exact same set of context data
every time a certain activity is performed, and always performs activities that are
repeated eventually.
2. A scenario with an interval (of length 10) of random data between each two pattern
instances. This could represent a person that performs some activities exactly the
same way, between which there are intervals of irregular activity.
3. A scenario where each pattern instance is heavily treated with noise. This correspond
to a person that acts with regularity, but is insufficiently instrumented to
give trustworthy data, or does the same activity in a different way.
4. A scenario where each pattern is instantiated in varying intervals. A user profile
exhibiting this behaviour would be a from a person performing activities identically
each time, but not in the same order or at the same frequency.
5. A scenario where 75% of the cells of each pattern are undefined. These sparse patterns
represent a faulty sensor suite or someone who only has a few key detectable
regularities in their daily activities.
86These configurations are summarised in Table 4.1.
A number of other configurations parameters are equal across all configurations and
scenarios:
❼ All patterns have length 10;
❼ Each simulated sensor has an alphabet size of 10 – a realistic compromise between
separation and resolution;
❼ Transition costs are equal for all configurations;
❼ The inter-pattern variance is infinite across all configurations – each pattern is
generated independently from the others.
Furthermore, we vary three properties in three ways each:
❼ Number of patterns: 2, 5 or 10;
❼ Number of rows: 2, 5 or 10;
❼ Number of columns: 100, 200 or 500 (cf. Table 4.2).
In Table 4.2, advancing a column increments from the base index given in the first
column. For example, the 15th configuration can be found in the column denoted +5 in
the row denoted 10.
These latter give us the 27 variations of each of the five principal scenarios and thus
we obtain the number of 135 configurations. For each scenario, a set of ten patterns is
defined, of which suitable subsets are used for each of the configurations.
We define the transition costs for the generator such that the identity transition is
assigned a zero cost, whereas a substitution with any other symbol is assigned a cost of
one. Substituting a symbol with an insertion or a deletion is given a cost of two (using
the classic model of fixed indel scores), and substituting a don’t care symbol with any
alphabet symbol is given a cost of one as well. Table 4.3 contains the entire transition
cost matrix.
Table 4.1.: Configuration of the five datasets.
Dataset 1 2 3 4 5
noise interval length (count) 0 10 0 0 0
pattern noise distribution (σ
2
) 0 0 9 0 0
pattern repetition distribution (σ
2
) 0 0 0 9 0
gappiness (ratio) 0 0 0 0 0.75
87Table 4.2.: Configuration values for the 27 experiments making up a dataset.
index +0 +1 +2 +3 +4 +5 +6 +7 +8
2 5 10 2 5 10 2 5 10 num. of patterns (m)
1 2 2 2 5 5 5 10 10 10 num. of rows (n)
100 100 100 100 100 100 100 100 100 num. of columns (l)
2 5 10 2 5 10 2 5 10 num. of patterns (m)
10 2 2 2 5 5 5 10 10 10 num. of rows (n)
200 200 200 200 200 200 200 200 200 num. of columns (l)
2 5 10 2 5 10 2 5 10 num. of patterns (m)
19 2 2 2 5 5 5 10 10 10 num. of rows (n)
500 500 500 500 500 500 500 500 500 num. of columns (l)
Table 4.3.: Transition matrix T used for the generation of the test datasets.
ins del 0 1 2 3 4 5 6 7 8 9 *
* 2 2 1 1 1 1 1 1 1 1 1 1 0
0 2 2 0 1 1 1 1 1 1 1 1 1 1
1 2 2 1 0 1 1 1 1 1 1 1 1 1
2 2 2 1 1 0 1 1 1 1 1 1 1 1
3 2 2 1 1 1 0 1 1 1 1 1 1 1
4 2 2 1 1 1 1 0 1 1 1 1 1 1
5 2 2 1 1 1 1 1 0 1 1 1 1 1
6 2 2 1 1 1 1 1 1 0 1 1 1 1
7 2 2 1 1 1 1 1 1 1 0 1 1 1
8 2 2 1 1 1 1 1 1 1 1 0 1 1
9 2 2 1 1 1 1 1 1 1 1 1 0 1
The similarity score table for the local alignment algorithm is derived from these
values. The identity score is set to 10. The substitution of one symbol with a different
one is assigned a penalty of -15. This value is chosen as an optimisation for scenario 2,
based on the following consideration:
The chance of a random match is 1/10 for each cell. In the two row case, completely
bridging the noise interval between two patterns requires an alignment of the 20 cells
between two patterns. The expected value of random matches in this interval is two. To
improve pattern separation, the penalty value is chosen to prevent over-alignment even
for four instances of matches in the interval of noise. This covers 95% of all cases in the
two-row configuration.
The insertion and deletion penalty are chosen twice as high (-30) as the substitution
penalty, mirroring the generation configuration.
88For each one of the 135 configurations, a dataset consisting of ten sequences is generated.
Next, we evaluate our alignment approach on this generated data.
4.1.2 Synthetic Data Pattern Extraction Evaluation
This subsection presents the results obtained from using our local alignment algorithm
(as introduced in Chapter 3) on synthetic data generated according to a number of
different scenarios. We have generated a total of 135 different datasets, and use the
alignment approach to extract patterns, which are then compared to the actual patterns
– as generated – in the test data. We decided to limit ourselves to 135 datasets, as we
assume this to be a good compromise between covering some of the breadth of possible
configurations, and also allowing us to present all the results.
4.1.2.1 Evaluation Criteria
We evaluate the alignments on four criteria.
Number How many alignments are made, with regard to the expected number of possible
pairings of patterns between the two sequences?
Precision How much of an alignment actually covers a pattern?
Recall What part of a pattern is covered by an alignment?
Alignment size How big are the alignments that are found, compared to the size of the
patterns present?
We average precision and recall across all alignments for a configuration. If an alignment
covers multiple patterns, we only consider the best-covered pattern. In Fig. 4.1.7, the
precision and recall measures are presented on an example.
4.1.2.2 Hypotheses
With regard to the five scenarios characterising each dataset laid out in the previous
section, we can expect the following results:
1. The first dataset, especially in conjunction with low numbers of patterns, should
develop “macro-pattern” artefacts (i.e. series of patterns with the same order of
individual patterns) and few, but overly large alignments can be expected.
89Aligned cells outside pattern
Unaligned pattern cells
Total pattern cells: 24
Total aligned cells: 20
Aligned pattern cells = 16
Precision = 16/20 = 4/5
Recall = 16/24 = 2/3
Size ratio = 20/24 = 5/6
Unaligned non-pattern cells
Aligned pattern cells
Figure 4.1.7.: Evaluation scoring example.
2. The second dataset should have a low incidence rate for complete over-alignments.
These occur when two patterns appear in the same order in two input matrices
and the random values between patterns are sufficiently similar. Patterns should
otherwise be well discerned. Single-row over-alignments can be expected to be more
common (over one third for configurations with only two patterns), especially for
larger row numbers.
3. Dataset three can be expected to be a case where the algorithm would not be able
to identify most of the patterns. The selected configuration means that almost 80%
of all values are changed during instantiation. This makes alignable patterns rare.
Despite a minimal admissible score of only 60% compared to datasets one, three
and four, complete and correct alignments of patterns are unlikely to be made.
The contiguous characteristics of the alignments mean that some changed cells of
patterns can be included in the alignments.
4. Results on dataset four should also be similar to those on dataset one, but with –
on average – shorter alignments, as macro-patterns should be less likely to emerge,
when the order of pattern instantiation is less regular. The impact of this is expected
to be more noticeable with configurations with a higher number of patterns.
Alignments are more likely to match well with patterns.
905. In the fifth dataset finally, the scoring system in place and the extreme gappiness
should have a large percentage of false positives among very few, partial alignments
of actual patterns. It can be seen to serve as a negative control experiment. In
contrast to set three, the alignments should be more likely to span non-pattern
cells.
4.1.2.3 Results
The average evaluation results for each scenario are contained within Table 4.4. This
table contains the ratio of detected alignments to expected number of pairs of patterns
in the data, the average precision and recall values across all 27 configurations (which are
themselves the averages across all alignments for each configuration) and the size ratio.
The values for Dataset 3 and Dataset 5 are not directly comparable to the others, as we
used a different MASS base score, to account for the noise in Dataset 3 and the missing
data in the case of Dataset 5. MASS in these cases have been reduced to 0.6 (a value we
consider to be similar to what may pass as a real world noise tolerance value) and 0.25
(three-quarters of the cells of a pattern are undefined) respectively of the corresponding
MASS in the other configurations. For these, MASS is equal to the size of the pattern,
as we assign a similarity score of one per identical cell.
Table 4.4.: Key results: averages and standard deviations across all configurations.
Measure Dataset 1 Dataset 2 Dataset 31 Dataset 4 Dataset 52
#alignments
#pairs of pat. 0.31 ± 0.26 0.69 ± 0.29 0.041 ± 0.054 0.31 ± 0.26 0.22 ± 0.32
precision 0.54 ± 0.22 0.77 ± 0.20 0.13 ± 0.06 0.52 ± 0.24 0.54 ± 0.18
recall 1.00 ± 0.00 1.00 ± 0.00 0.56 ± 0.19 1.00 ± 0.01 0.20 ± 0.06
alignment size
pattern size 5.66 ± 4.48 2.45 ± 2.51 6.72 ± 3.96 6.65 ± 6.08 1.60 ± 0.24
The runtime for the complete set of alignments is around 4 minutes of real time on
a pair of Intel➤ Xeon➤ E5-2560. Across all 135 configurations, we obtained 214,963
alignments.
In Fig. 4.1.8, we present the ratios of alignments to expected pairs of patterns per
configuration. The most striking trend is that datasets 1 and 4, and to a lesser extent
dataset 2, show a series of this measure rising in patterns of three. This can
be directly attributed to the macro-patterns that are created, which are obviously
more numerous when the number of patterns in the data is low, and simultaneously
1The results for Sets 3 have been obtained with a MASS of 60% of those of Sets 1,2 and 4.
2The results for Sets 5 have been obtained with a MASS of 25% of those of Sets 1,2 and 4.
91the lack of noise does not allow segmentation of the patterns into their components.
Table 4.5.: Average Pattern Size
for Dataset One
config. mean error
0 4.13 ±2.73
1 1.32 ±0.93
2 1.82 ±1.99
3 1.29 ±0.81
4 5.86 ±5.50
5 5.25 ±5.31
6 2.81 ±3.25
7 8.92 ±5.61
8 8.99 ±5.64
9 4.69 ±5.07
10 1.53 ±1.27
11 1.23 ±0.73
12 3.70 ±2.86
13 3.09 ±2.53
14 1.89 ±1.60
15 4.35 ±2.68
16 3.72 ±2.75
17 2.98 ±2.22
18 8.68 ±10.54
19 2.22 ±3.11
20 11.26 ±12.35
21 8.45 ±11.74
22 4.50 ±8.19
23 17.55 ±14.69
24 17.89 ±14.89
25 8.88 ±12.30
26 5.83 ±4.86
A more subtle trend lies in the reduced number
of alignments made, when there are more sensors
in the data. This can possibly be ascribed to the
higher MASS in use for those scenarios.
For dataset one, almost all patterns are covered
by alignments and average alignment size is 5.66
times the pattern size (validating our macropattern
hypothesis), two outlier configurations (16
and 17) reach an average pattern size over 17 times
larger than patterns, with very large deviations in
the samples (cf. detailed results in Annex B.1.2
and an extract in Table 4.5). Mean precision across
all configurations is 0.55 (standard deviation across
means of each configuration: 0.22).
Dataset two benefits from the fact that it is the
reference for the score matrix. This means good
separation of patterns due to the noise between
them (alignment size on average 2.45 times the pattern
size). The average number of alignments is
0.69 times the number of pairs of patterns. Precision
is relatively high, and almost all patterns
are completely covered by at least one alignment.
Problems with over-alignment arise when a low
number of patterns is combined with a high number
of sensors. Here the score obtained by aligning
a pattern with another is high, and the chance
that the following patterns match is also high;
this means that an alignment stretches over multiple
patterns when the score penalty incurred by
the noise interval is not sufficient to prevent overalignment.
Dataset three highlights the detrimental effects
of noise on alignment quality and quantity. Especially
with the equidistant layout of the value
space, there are very few alignments made with the provided score matrix. The preci-
920
0,2
0,4
0,6
0,8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Dataset 1
0
0,2
0,4
0,6
0,8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Dataset 2
0
0,05
0,1
0,15
0,2
0,25
0,3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Dataset 3*
0
0,2
0,4
0,6
0,8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Dataset4
0
0,2
0,4
0,6
0,8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Dataset 5
Figure 4.1.8.: The ratios of the number of alignments to the combinatorially expected
number of identical pairs of patterns in two different files, for all five
datasets and all 27 experiments. As the number of patterns rises, the
expected number of pairs gets lower, and the rate of alignments gets closer
to the number of pairs.
*Note: The values for dataset 3 are on another scale than the others.
93sion score is very low, alignment size varies wildly, but is on average very large, despite
a 40% reduction in minimal admissible scores, which should favour smaller alignments.
The pattern coverage metric is no longer accurate for this case, as its implementation
depends on the simultaneous start of a pattern which is no longer guaranteed once insertions
and deletions appear. Notably, some patterns were found in all configurations.
The results from dataset four are in most aspects very similar to those from dataset
one. In comparison, the average size of patterns is higher; recall and precision are lower,
and show a slight increase in variability.
Dataset five – serving as negative control – has the minimal admissible score of the
alignments reduced to one quarter of those of dataset one, to offset the three-quarter
loss of information induced by the gappiness value. This visibly does not even out the
loss of information due to gappy patterns. The score matrix punishes inequality too
heavily for but a few chance alignments to arise, if any at all. Precision is no lower
than for datasets one and four, as the low scores of the alignments do not allow the
inclusion of a large number of non-matching values in alignments. The average recall for
patterns covered by alignments is very low. Alignment sizes reflect the reduced scores and
are similar across all configurations (0.05 standard deviation, excluding configurations
without alignments).
4.1.2.4 Performance Comparison
Our key contributions having as goal performance improvements of an existing algorithm,
we compare these results with those obtained with the original algorithm. Where the
previous results – with the new algorithm – were obtained in just over 4 minutes, the
original algorithm (as described by Lecroq et al., 2012) gave most results after around
10 hours, but eight configurations with large alignments (particularly configurations of
datasets 1 and 3 with long sequence lengths and few different patterns) took over a week
to give results, under the same testing configuration.
To verify that this drastic increase in performance did not negatively influence our
performance metrics, they are presented in Table 4.6. Even if initially the values appear
better (especially precision for datasets one and four) than what we obtained from the
faster algorithm, we argue that this is possibly due to an undesired effect. The key
difference in results, is that a total of 291,858 alignments are made using the slower
approach. Since these alignments can be assumed to be smaller than the ones we obtain
using the fast variant (due to the score maximisation effort), they reduce the impact of
macro-patterns on the evaluation scores. On the other hand, they are also likely to be
redundant, as they should be covered by or similar to another alignment of the same pair
94Table 4.6.: Key results: averages and standard deviations across all configurations for
the state of the art algorithm
Measure Dataset 1 Dataset 2 Dataset 33 Dataset 4 Dataset 54
#alignments
#pairs of pat. 0.57 ± 0.27 0.867 ± 0.15 0.022 ± 0.024 0.55 ± 0.27 0.15 ± 0.23
precision 0.70 ± 0.24 0.93 ± 0.06 0.22 ± 0.10 0.69 ± 0.26 0.64 ± 0.21
recall 0.98 ± 0.03 1.00 ± 0.00 0.72 ± 0.32 0.95 ± 0.14 0.20 ± 0.05
alignment size
pattern size 2.82 ± 2.20 1.12 ± 0.11 6.48 ± 4.21 3.19 ± 3.37 1.40 ± 0.16
of input sequences. The improved average recall values of our new algorithm compared
to the older one also are indicative of this. Additionally, our results for the more difficult
datasets (three and five) actually show an improvement with regard to the number of
alignments found using our new approach over the state of the art algorithm.
We therefore claim that the reduction in results and much decreased time required for
the calculation make the resulting reduction in average precision an acceptable trade off,
especially because there is evidence that the decrease is due to additional, non-maximal
patterns in the data, which are of less interest.
4.1.3 Analysis
Overall, this evaluation shows that the algorithm works largely as expected, and allows
us to judge system constraints. Our optimisations on the state of the art algorithm have
reduced run time massively. This renders it capable of realistically dealing with data
that has a much larger scale than previously possible. On the dataset for which the
algorithm was tuned, the results are acceptable, especially when the presence of many
patterns inhibits the formation of macro patterns. Recall values in particular indicate
that most of the time an alignment corresponds to a pattern.
The results also show the limits of our approach. Although in the ideal case we
observe many perfect fits of alignments to patterns, we also observe the tendency of
the current configuration to extend alignments beyond pattern boundaries, if identical
pattern sequences are present. In sparse data or in noisy data, the simple model we use
here prevents reliable extraction of patterns, because all substitutions are equiprobable.
This is especially characterised by the low recall values, indicating that most alignments
are made from data that is randomly similar to other data.
One of the key observations on these results is that the length of the sequence has
a detrimental effect on almost all performance measures. This is due to combinatorial
3The results for Sets 3 have been obtained with a MASS of 60% of those of Sets 1,2 and 4.
4The results for Sets 5 have been obtained with a MASS of 25% of those of Sets 1,2 and 4.
95effects which create macro-patterns in a higher number in these long sequences. Minimising
length – so that only a few patterns are included in a sequence – allows for
better precision. Especially in real world data, when examining data from people with a
routine-heavy lifestyle, one would expect to find larger patterns if the search window is
sufficiently large. This is reinforced by the number of different patterns countering this
combinatorial effect.
Another observation is that the wider the dataset, the worse the impact of macropatterns.
This is due to the higher accumulated similarity score after each block of
identical data, and therefore increased tendency to bridge the gaps between identical
blocks. Although this is a problem with ideally replicated pattern instances, in noisy data
this increased resiliency might be beneficial. The effect can be controlled by adjusting
the similarity scores for the various edit operations.
On the other hand, the actual behaviour on context data can only be determined by
testing the approach on real world data. This is explored in the next section.
4.2 Real World Data Evaluation
The previous synthetic data based evaluation of our algorithm allowed us to determine
the runtime of our algorithm under specific, controlled conditions, as well as gain some
initial insights on how it performs with regard to our accuracy measures. To truly
validate our approach, further evaluation on real data is required. In the following we
describe how we obtained the real data we use, present our results and then analyse
them for potential conclusions.
4.2.1 Data Collection Campaign
The validation of our approach on real world data is a key part of this work. After an
examination of available context datasets (cf. section 2.4 on page 46), we come to the
conclusion that none of these is suitable for the specific aims of this work. Hence, we
designed a specific data collection protocol and launched a data collection campaign in
late 2011. This section documents the process of this campaign from conception to an
annotated dataset that is in a suitable format for the alignment approach introduced in
the previous chapters.
964.2.1.1 Motivation
The key limitations we identified in existing datasets, were the absence of ground truth
data and the limited scope of the available context data. Our key goal therefore was to
address these shortcomings, by including more physical context data and simultaneously
maintaining a reasonable volume of data – so that manual annotation with ground truth
data would be possible.
The key design imperative is a small footprint, in the sense of the context data capture
mechanism not impeding the daily routine of the test subjects. Additionally, it is
important for the data collection mechanism to maximize the amount of data available,
both by implementing safeguards to prevent the loss of already recorded data, and by
allowing the subjects to selectively disable individual sensors. The latter follows our
reasoning that users would be more open to gathering data if they could selectively
disable sensors. It is better to lose some data for an interval, than to lose all of it, in
case a user wants to disable tracking. This approach – coupled with visible feedback of
the current sensor values – aligns our data capture philosophy with the one proposed by
K¨arkk¨ainen et al. [2010].
4.2.1.2 Data Collection Campaign
We decided to use an Android application as mobile segment of our data collection
software. This application regularly records sensor data and transmits this data in
aggregated batches to a storage database server. The following values are being recorded
every ten seconds:
❼ Local time and date,
❼ Geolocation (via the Android Location API: Based on GPS and radio network
fingerprints),
❼ Linear acceleration forces (3D Accelerometer),
❼ Angular velocity (3-axis gyroscope),
❼ Magnetic field (3-axis magnetometer),
❼ Luminance,
❼ State of the handset proximity sensor,
❼ Type of data network currently available,
97❼ Signal strength of cellular network and
❼ Remaining battery charge.
These values are first written to a local database on each of the phones, and then automatically
sent to a central database server every 24 hours, if a wireless LAN connection
is available. Otherwise a retransmission is attempted every six hours. A participant
in the data collection campaign can also manually trigger a transmission of the locally
stored data.
Our campaign was centred around Rouen (a major regional town in northern France)
and Grenoble (a university town in south-eastern France). We recruited a total of 20
test subjects, from 5 of which we obtained useful amounts of data. The other test
subjects did not participate over the entire term of the campaign, possibly due to lack of
incentive or usability issues caused by the increased battery drain of their phones. The
campaign ran for a duration of two months, from November 2011 until January 2012.
The total amount of data we accumulated was around 430 MB, most of which was from
3 of these 5 users, with the remaining users contributing much less data. Most of this
variation is either due to early termination of participation in our campaign, or because
many sensors were either disabled by the participant or not available on the participant’s
hardware.
Besides the obvious privacy concerns of such a campaign, one other issue that presented
itself to participants was the high battery usage, particularly of the GPS and microelectromechanical
sensors (e.g. accelerometer, gyroscope, magnetometer). This reduced
the battery run time of most of the handsets used in the campaign to significantly less
than 24 hours, meaning that recharging the device every night was recommended and
necessary.
With regard to the design goals, this was the principal concession we had to make. Using
the smart phone as capture platform for the context data, allowed for less disruption
in the daily lives than a separate device would have generated. Our other criterion, of
capturing a wide variety of physical context data, has been mostly met. Unfortunately
many phones lacked gyroscopes and some device specific issues when using the microphone
prevented us from reliably capturing environmental noise levels, which ultimately
prevented us from including this in our data. Meteorological information also appeared
as a promising aspect of context data to us, but at the time of development, thermometers,
barometers and hygrometers were not available on phone platforms, and using real
time data from a nearby weather station is both unreliable and difficult to implement.
Getting this data after the end of the campaign was also an option, but historical data is
98only available at low temporal resolutions and from services implementing strict quotas
on queries.
4.2.1.3 Data Preparation
The data we collected requires some amount of pre-treatment to fit to the model we
have laid out earlier. Although the ten-second acquisition interval gave us a regular
time-discrete source of data, most values were still quasi-continuous.
Due to the amount of manual intervention required at this stage, we reduce our test
dataset to the data of the test subject which contributed the largest amount of data.
Examination of this data reveals that this participant’s device lacked a gyroscope, so
no angular velocity data is available. Other sensors contain obviously “troublesome”
(false readings, singleton outliers) values, which we eliminate. We also discard network
type and signal strength data, as they are highly correlated with geolocation. To further
reduce the amount of data present – to facilitate manual annotation of patterns – we
fuse magnetic and accelerometric orientation data into one single 6-axis sensor. This
leaves us with five context data sources:
1. light intensity on a logarithmic scale
2. state of the proximity sensor
3. location
4. battery charge level
5. orientation with regard to the magnetic North Pole and the gravitational centre of
the earth.
The next step is the actual discretisation, which is performed manually. Clustering
algorithms (such as k-means and X-means [Pelleg and Moore, 2000]) serve as an aid to
assign 14 place-IDs to all pairs of longitude and latitude values (see Fig. 4.2.1 for an
example), 8 orientation IDs to all 6-tuples of accelerometer and magnetometer readings
and 8 discrete battery charge levels. The luxmeter only gives 10 different levels of
luminance, which are used directly and the proximity sensor returns a binary reading.
We then reduce the sampling frequency to one measurement every one hundred seconds,
and cut the data into 24-hour segments, from 4 a.m. to 4 a.m. the following day. These
segments are around 850 5-tuples long, which renders them tractable both for the alignment
algorithm (cf. the runtime of our initial experiments in subsection 4.1.2.4) and –
to a much larger degree – manual annotation. The latter is a necessary step to allow
99Figure 4.2.1.: Clustering of locations into places of the data gathered by one subject over
a one week timespan. Artificial jitter has been introduced to the data, to
better visualise data density. Note how nine incidences in the top left are
clustered together with the other points towards the top left. The low
number of incidences renders this error negligible.
proper evaluation of discovered alignments: Three key patterns (cf. Annex B.1.3) have
been selected by visual analysis of graphs of the sensor data (cf. Fig. 4.2.2), and then
each occurrence has been labelled by hand, by annotating the raw data with a pattern
ID for the sensors and intervals that visually resembled one another.
Although this is an inaccurate practice, it does allow us to roughly label some of the
features we expect the algorithm to correctly identify and inter-align. As the choice
of “ground truth” is somewhat arbitrary, especially with regard to the vast amount of
data present even after the sweeping reductions in data volume, it cannot be understood
to be a truly ideal measure. Nonetheless, it is the best measure available under the
circumstances, especially considering that the envisioned application is as a decision aid.
Being able to detect these key features is a good benchmark of whether this capability
of the algorithm also persists for similar data.
4.2.1.4 Post Processing
Once the discretised data is available, the next step is to determine the additional information
required to obtain the metadata information (substitution score tables and
indel penalties). We assign each pair of states for each sensor a similarity value, using
10086420
12
10
5:38 5:47 5:57 6:06 6:17 6:28 6:37 6:48 7:01 7:10 7:20 7:31 7:42 9:42 9:53 10:04 10:13
86420
12
10
6:33 6:44 6:55 7:03 7:14 7:23 7:36 7:45 7:56 8:07 8:15 8:26 8:37 8:46 8:57 9:06 9:17
loglux
prox
place
batt
ori
time
Figure 4.2.2.: Visualisation of an extract of the captured data, with similar intervals marked. This extract covers the morning
period of two consecutive days. The y-axis represents the different discretised context values. The values shown
in this extract are light intensity on a logarithmic scale (loglux), the state of the proximity sensor (prox), the
location cluster id (place), the battery level (batt) and the orientation of the phone (ori).
101the approach laid out in the following.
For this evaluation, we create a set of similarity scores derived from both external
knowledge of the data sources and transition probabilities between each of the different
values. Specifically: In the case of the battery level, we used a linear distance function
between the discrete levels, and for everything else we based the similarity measure
on the transition probability, and then symmetrised these values. The negative values
in the latter case correspond to a projection of the transition probabilities onto a
quasi-logarithmic scale, with a score of -10 penalizing less than one transition in 10,000
observations, and a score of -4 corresponding to one transition in five observations. The
positive values are around 5 times the transition probability. The special case of the missing
reading is dealt with, by assigning a weak malus to any substitution of this value
with another and a weak bonus when matched, as we do not consider sensor malfunction
and deactivation to be a reliable context information, despite the potential significance.
For this data, we expect many temporal extensions and compressions of patterns, and
therefore wish to align constant similar sections of different length. Due to the combined
insertion/deletion+substitution approach, we set a relatively low negative supplement
score for insertion and deletion of -2, compared to the maximum negative score of -10
for transition probabilities smaller than 10−5
. The full substitution score tables can be
found in Appendix B.1.1.
One key relationship in these tables is that of positive scores to negative scores, as it
defines the tolerance of alignments to differences in data. Due to the weakly positive to
weakly negative effect of “constant” insertions and deletions, as well as the width of the
data we are using and the long periods of constant values in the data, it is preferable to
penalize non-identical substitutions heavily. This also shapes more compact alignments,
preventing “over-alignment”.
With the dataset now laid out, we can use it for the evaluation process.
4.2.2 Evaluation of Alignment Approach on Real Data
This section quantifies how well the alignment approach works to match the manually
selected patterns to the instances of these patterns in the dataset. The key parameters
are the substitution score tables, as well as the insertion and deletion scores, and finally
the minimal accumulated similarity score (MASS, cf. section 3.2). The generation of
the tables is described in the previous section, and the choice of MASS is discussed in
the following section. Thereupon follow the results we have obtained.
1021 2 3
campaign data
patterns
find local alignments
for each pairing with
different MASS
#58
Figure 4.2.3.: Alignment of three pre-selected patterns with campaign data in 58 slices
corresponding to 24-hour periods of 5-tuples.
4.2.2.1 Experimental Setup
Besides the model parametrisation, the other parameter that we can control is the minimal
accumulated similarity score. This has a key impact in this context, as it affects the
minimum size of alignments and the tolerance to differences between two aligned pieces
of data. To show the effect of different MASS values, in the following we perform an
alignment of the three identified patterns (cf. Annex B.1.3) with all 58 days worth of data
from the campaign participant we isolated in the previous subsection, with eight different
values for MASS. This process is illustrated in Fig. 4.2.3. The number of manually
annotated instances per pattern is as follows:
❼ Pattern 1: 13 instances,
❼ Pattern 2: 18 instances,
❼ Pattern 3: 27 instances.
As a starting point, we examine the three patterns, and expected accumulated similarity
scores. The first pattern is 190 5-tuples in size. By analysing the representing
sample that is used for searching instances in the remaining data, we can obtain the
103score of a perfect match with itself, which gives an upper bound. This score is 2,962 for
the first pattern, 3,271 for the second (199 5-tuples) and 1,441 for the third (197 2-tuples
– this pattern only covers proximity and location data).
Our choice of a useful lower bound is based on the assumption that an hour of similar
values is the minimum scale of interest. As one hour corresponds to 36 5-tuples, and
assuming that we require perfect matches during this hour to meet our minimal criterion
of similarity, then the target value is around 500, which corresponds to an average
similarity row score of ∼ 2.78; the average score per row – assuming uniform distribution
of all symbols – is ∼ 2.65.
Using these two extrema as starting points, we select the following values as our
reference points: 500 as lower bound, 700, 850, 1000, as a range that should give expected
results for the smaller pattern, and 1,300, 1,700 and 2,200 as a spread more useful for
the larger patterns; finally, we choose 3,000 as the upper boundary, which can only be
expected to give a single alignment – namely the alignment of the extracted pattern 2
with itself in the corpus.
4.2.2.2 Results
We use precision and recall (i.e. the ratio of cells correctly aligned in an alignment and
ratio of cells of an annotated pattern covered by an alignment) for each of the pair of
5-tuple sequences to be aligned, similarly to the evaluation of the synthetic data results.
Additionally we determine the number of alignments made, and for each pattern the
number of instances we have manually annotated. For the four values of precision and
recall, we calculate mean and standard deviation across all alignments for each MASSconfiguration.
These values can be found in table 4.7.
An alignment consists of two elements: one in the predefined pattern, and one in one
of the 58 day-slices of the campaign data. In this table, “A” identifies the part of the
alignment in the search sequence, and “B” represents the corresponding aligned part in
a sequence from the corpus. Fig. 4.2.4 visualises these results, by plotting recall and
precision across each MASS-value and the B-parts of each pattern. When looking at
“B” recall values, it is important to note, that alignments of non-annotated data result
in a zero value, which then impacts the mean recall and precision for a result. This is
reflected in the high standard error for these values.
104Table 4.7.: Evaluation results. A is the search pattern, B is the instance in the corpus.
Dataset Pattern 1
Measure prec. A. rec. A. prec. B. rec. B num.
MASS = 500 1 0.277±0.158 0.024±0.114 0.013±0.083 5011
MASS = 700 1 0.397±0.158 0.072±0.208 0.050±0.171 1049
MASS = 850 1 0.440±0.163 0.100±0.242 0.071±0.200 734
MASS = 1000 1 0.514±0.151 0.138±0.290 0.107±0.245 462
MASS = 1300 1 0.585±0.128 0.201±0.332 0.158±0.285 306
MASS = 1700 1 0.657±0.104 0.329±0.379 0.267±0.336 171
MASS = 2200 1 0.802±0.071 0.712±0.247 0.633±0.288 38
MASS = 3000 X X X X 0
5
Dataset Pattern 2
Measure prec. A. rec. A. prec. B. rec. B num.
MASS = 500 1 0.358±0.157 0.045±0.184 0.031±0.129 5201
MASS = 700 1 0.432±0.149 0.070±0.227 0.048±0.160 3206
MASS = 850 1 0.486±0.131 0.078±0.245 0.057±0.176 2240
MASS = 1000 1 0.524±0.125 0.085±0.268 0.064±0.195 1516
MASS = 1300 1 0.566±0.138 0.190±0.385 0.137±0.281 563
MASS = 1700 1 0.605±0.138 0.277±0.442 0.193±0.321 286
MASS = 2200 1 1 1 1 1
MASS = 3000 1 1 1 1 1
Dataset Pattern 3
Measure prec. A. rec. A. prec. B. rec. B num.
MASS = 500 0.965±0.059 0.574±0.189 0.596±0.387 0.380±0.324 387
MASS = 700 0.955±0.067 0.680±0.146 0.602±0.376 0.357±0.253 248
MASS = 850 0.966±0.054 0.750±0.060 0.744±0.283 0.433±0.209 185
MASS = 1000 0.992±0.014 0.774±0.046 0.820±0.239 0.505±0.216 46
MASS = 1300 1 1 1 1 1
MASS = 1700 X X X X 0
5
MASS = 2200 X X X X 0
5
MASS = 3000 X X X X 0
5
Across all 7,771 alignments made in search for pattern 1 in the corpus, 6,891 alignments
are false positives (i.e. with not even partial coverage of the instances). For pattern 2 this
is 11,504 out of 13,014 total, and for the third pattern 186 out of 867 alignments do not
even partially cover an annotated instance. This allows us to determine an upper bound
for the number of partial false positives (880, 1510, 681) – alignments that intersect with
annotated pattern instances, consist of subsequences of such instances or are partially
5X denotes the absence of data
105covered by other alignments. These numbers also include the alignments that best cover
a pattern, which can not exceed eight times the number of instances per pattern (104,
144, 216) due to the accumulation of the values across all repetitions of the experiment,
and the perfectly matching alignments, which number 20 in total (7, 8, 5).
Even when the MASS is set to 1,700, we still find 205 alignments of pattern 2 within the
corpus, that in fact do not correspond to an annotated instance. Some of the excess can
be explained by multiple locally optimal alignments, that partially cover a ground-truth
annotated interval, other is in sequences that are simply sufficiently similar according to
our measure, but in non-annotated parts of the corpus.
The “A” part of the results is less interesting, as the precision values for the first two
patterns are necessarily equal to one, due to every element in the search sequence being
part of the pattern. In the third pattern, this value indicates how much of the alignment
covers the undetermined part of the pattern. Recall values for the first two patterns are
directly the ratio of alignment size to pattern size. For the third pattern, this does not
hold true, as the alignment can cover non-determined cells.
An additional factor to consider is that some of the alignments might qualify as patterns
to an expert, when they are discovered by alignment, despite not having been
selected in the non-aided, manual annotation process, due to the fuzzy nature of the
latter.
4.2.3 Analysis
The initial observation on these results is that finding pre-identified patterns by means of
aligning n-tuples requires extensive pre-analysis by the expert user to formulate a reasonable
expectation of MASS and number of pattern instances in the corpus, based on the
scoring tables, size of the pattern and variability between pattern instances. Nonetheless,
given the reasonable time of execution for our example (6 minutes for the sequential
execution of the 24 samples of this experiment, on an Intel➤ Xeon➤ E5-2650), it is
possible to quickly perform a number of alignment processes with different MASS, and
discard those that appear to be too inclusive or too restrictive. If the parameters are
chosen fortuitously, then the alignments closely match the expert’s expectation of what
constitutes a pattern instance, or at the very least point to areas of interest.
We also note that although pattern one and pattern two share almost the same amount
of alignments made at the base score of 500, the elimination of false positives with
increasing MASS differs greatly between them. The number of alignments for pattern
one drops drastically at the step from 500 to 700 and then is reduced more gradually,
whereas for pattern two the number of alignments drops more evenly at the lower MASS
1060
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,11
500 700 850 1000 1300 1700 2200 3000
prec 1
rec 1
prec 2
rec 2
prec 3
rec 3
MASS
score
Figure 4.2.4.: Mean precision and recall for the instances in the corpus (“B” - part of the alignment) for the 24 test configurations.
From left to right are the different values of MASS used. With rising MASS, both precision and recall
increase. The rightmost bars are fewer, as no alignments were made with MASS values 1,700 and above for
pattern 3, and no alignments were made with MASS values 3,000 for pattern 1. Due to the smaller number of
elements contained in pattern 3, it has higher values than patterns 1 and 2 for the same MASS.
107samples, but then very abruptly at a higher score level. And even though the maximum
score is higher for pattern two, at MASS 1,700 there are fewer alignments made than
for pattern one. This observation suggests that the larger instances of pattern two are
also more varied. The consequence is, that as similarity values are accumulated by the
alignment algorithm, they stay lower due to constant penalties. Conversely, instances
of pattern one have higher local similarity, leading to a better separation of patterns
from lower scoring false positives, as penalty scores are fewer and further between. The
similarity based approach can therefore also be used to make qualitative observations
on sensor data, especially when using a denser sampling of MASS values, for added
precision.
Although this evaluation does not cover the alignment of entire day sequences with one
another, together with the synthetic evaluation it gives a clear notion of the characteristics
of our proposed alignment algorithm, when it is applied on context data. The main
challenge to evaluating the algorithm on real data is that this evaluation cannot be done
with objective measures, as the notion of what constitutes a “pattern” in context data is
not universal, and determining whether an actual routine activity is taking place requires
activity diary data in parallel to the data collection campaign, which is unrealistic at
relevant scales. Therefore we limit our experimentation to these two aspects.
108Conclusions and Future Work
The aim of this work is to determine whether it is possible to detect routine in the dayto-day
lives of mobile phone users. We come to the conclusion, that indeed it is possible
– if such routine elements are present. We consider this result an extension, refinement
and affirmation of existing approaches that detect routine in context data, such as the
works of Clarkson [2003] and Eagle and Pentland [2009]. Our results align themselves
particularly well with Clarkson’s work, in that our approach uses high resolution data,
but is only validated against a single person’s real world data. What we present is to be
seen as a proof of concept, as it lacks additional evaluation against a broader dataset.
Before we continue to discuss the advantages and limitations to our approach, we
briefly resume our contribution and results.
We presented in this work an alignment algorithm for sequences of context data, that
has been derived from an existing two-dimensional alignment approach, but optimised
to take advantage of the characteristics of the data and the desired results, to decrease
total calculation time by several orders of magnitude in some cases. To achieve this
increased performance, we took into account the structure of context data as a sequence
of n-tuples, which allowed us to decrease the original alignment problem complexity by
one dimension, and gave a theoretical speed-up of n. Additionally, we used an early
discard approach to finding locally optimal alignments in the data, greatly increasing
real-wold performance by reducing the amount of backtracking operations required for
the dynamic programming algorithm.
This algorithm is then evaluated against two types of datasets, one generated by a
specially developed simulator, the other an annotated subset of data recorded during a
collection campaign. The results on the former show that our approach works largely as
expected, with a weakness when attempting to segment patterns that appear in the same
109sequential order in two different input files. On the real world dataset, we used a different
evaluation approach to account for the difficulty of obtaining a ground truth reference.
The algorithm was used to align known routines with sequences that contained the data
of one day each. This result showed that the quality of the results depends directly
on the choice of the minimal admissible similarity score, which needs to be optimised
to within a small fraction of the ideal value, to obtain results that closely match one’s
expectations.
One of the main advantages of our approach, is that it can point out from a dataset
some candidate intervals that should correspond to pairs of routine elements in context.
Our evaluation on synthetic data shows that – if naively configured – the algorithm
has a strong tendency to cover multiple patterns, if they appear in the same sequence.
It is disputable whether this is always desirable – as it reduces the segmentation of the
results – but it follows from our choice to search optimal alignments to reduce the overall
number of patterns extracted. An example of where this could be problematic, is when a
person frequently does two activities in sequence, but occasionally only one individually.
Then – numerically – one routine activity happens more often than the other, but this is
not reflected in the result: when aligning two samples that contain the sequence of pairs,
the result is a single alignment, with no direct relation to other alignments comprising
only one activity.
Our real data evaluation was limited in that we only checked for a set of pre-determined
patterns – primarily due to the challenge of manually determining a desirable evaluation
target, without a specific target application. Nonetheless, we were able to display how
the minimal accumulated similarity score is related to the results. Good accuracy can
be expected, if one is capable of expressing one’s expectation of what constitutes an
alignment in the terms of individual per-element similarity scores and lower accumulated
similarity score limits.
In the introduction, we listed a wide variety of applications. When comparing the
breadth of requirements different applications may have with regards to models of activity
routine with our algorithmic results, we realise that our approach is not an all-in
one solution to providing a better understanding of context. This is mostly due to the
genericness of our approach, linked with the lack of a common, inherent understanding
of what truly makes up a routine activity. What we provide then, is primarily an exploratory
tool, enabling domain experts – for example application developers – to gauge
across large datasets where there is detectable routine in sensor logs and what the general
characteristics of the present routine activities are. They can then iteratively adapt
110and parametrise our approach, until they can accurately express their notion of what
makes up a routine activity within the design space the alignment paradigm provides.
Other potential interest groups include the people generating the data themselves (as a
means of introspection and reflection) and researchers in social sciences. Usage in the
advertisement industry or intelligence field could also be imagined.
Although such a usage entails some preparation of the context data, the process is relatively
straightforward: the first step is synchronisation of the different context streams.
Next, the data is discretised, which often requires some manual intervention, to estimate
a good number of clusters in the data, or determine a set of criteria to evaluate a
clustering result. Based on this step, the meta-data (in the form of substitution score
tables) is generated. A statistical approach to this can be mostly automated, a semantic
approach requires direct intervention, and may provide better results. In each case, subsequent
refinements may be necessary, depending on the first alignment results which
reveal some consistency characteristics of the data. This iterative approach can provide
a flexible – but complex – tool to extract specifically the patterns a user is interested
in. False positives are a frequent occurrence which may have to be rejected by hand.
Considering the scale of the raw data, this reduction of the problem of finding routine
is a significant step forward, even despite the setup complexity.
We already touched upon three limitations: the iterative, supervised approach is not
completely automatable; there may be unexpected alignments among the results, which
are classified as false positives; alignments are always maximised and may not extract
discrete smaller patterns. Additionally, there are some limitations on the algorithmic
level. Currently, our algorithm produces results which are dependent on the order in
which the sensor data is arranged; an artefact carried over from the algorithm upon
which we developed our adapted approach. We are also faced with a similar “multilevel”-problematic
as Clarkson encountered, in that a single accumulated similarity value
may be insufficient to characterise all kinds of patterns as alignments. The value may for
example be equal for a large alignment with some errors and a small perfect alignment
– no qualitative information, besides the number of aligned symbols and maximum
similarity score, is retained.
The future work we suggest is threefold. Firstly, there are some ways of modifying the
algorithm to improve results and enhance performance. Secondly, there are some means
of evaluation that can still be explored to gain an even better understanding of how our
approach interacts with context data. Finally, we point to some pre- and post-treatment
methods that could render this approach more powerful and simpler to use.
111Although we did improve and adapt the algorithm to our use case from a time and
space performance standpoint, a weakness still persists: the in-tuple order of elements
remains a factor in the alignments found. Correcting this by calculating and memorising
the order in which each tuple element is accessed would result in order-independent
alignments, at the cost of increased time and space requirements.
A possible solution to the issue of large patterns obscuring smaller ones, can be approached
by performing a further pattern extraction step on the results of the first extraction,
using a lower MASS. This should reveal whether smaller patterns are present
within the larger ones.
The algorithm can be parallelised in its implementation in many ways, which can
provide great speed-ups. The one-dimensional string alignment approaches exist in versions
optimised for stream processing, porting the ideas of these implementations to
our methods could increase performance on specialised hardware, such as graphics processors
and processors with streaming extensions. Ultimately, the memory limitation
will persist.
We currently lack evaluation of actual pattern extraction on real world data, due the
reasons we stated earlier in this chapter. A possible way to evaluate our approach, as a
decision aid, would be to undertake user studies, to see how potential users – interested
in finding patterns in context data – would be able to parametrise a model that enables
them to do just that.
Furthermore, a comparative evaluation against the approach of Plantevit et al. [2010]
would be of interest, to see how the ultimate parametrisation efforts compare, as well as
to be able to judge the results against a similar approach.
Lastly, evaluating the extraction performance against a dataset supported with diary
entries would be able to provide further insights – but ultimately be limited by the flexible
notion of what makes up a routine activity. Each test subject providing a diary may have
a different notion of routine from the other test subjects, or the experimenter ultimately
constructing a model, which can lead to data that is nearly impossible to correctly
interpret. As a result, either a naive model would be used, with results probably similar
to those we obtained on synthetic data, or a properly developed, supervised model, which
would again only demonstrate how well the model can be parametrised to correspond
to a consistent but arbitrary notion of routine.
We have already proposed some pre-treatment methods, to obtain a model that is
partly automatically generated from a corpus of known data. Using advanced clustering
algorithms, and defining a set of heuristics for the permissible error rates for specific
sensors, as well as filtering rules, would further simplify the pre-treatment. From a post-
112treatment perspective, it is interesting to reduce the vast amount of pairs of results into
representatives of actual routine activities. This has been done in the work of Pauchet
et al. [2013], using a clustering approach. This approach can be extended, by using
a variation of Hirschberg’s algorithm [Hirschberg, 1975] to obtain a local cumulative
edit distance function across the different aligned elements. This would allow us to
cluster multiple inter-similar context episodes to clusters of routine contexts, while also
finding similar subsegments. Alternatively, a global alignment can be used, if the further
segmentation has already been performed separately.
113Bibliography
Mohamed Abouelhoda and Moustafa Ghanem. String Mining in Bioinformatics. In
Mohamed Medhat Gaber, editor, Scientific Data Mining and Knowledge Discovery:
Principles and Foundations, pages 207–247. Springer Berlin Heidelberg, Berlin,
Heidelberg, 2010. ISBN 978-3-642-02787-1. doi: 10.1007/978-3-642-02788-8. URL
http://www.springerlink.com/index/10.1007/978-3-642-02788-8.
Ramesh C. Agarwal, Charu C. Aggarwal, and V. V. V. Prasad. A Tree Projection
Algorithm for Generation of Frequent Item Sets. Journal of Parallel
and Distributed Computing, 61(3):350–371, March 2001. ISSN 0743-7315. doi:
10.1006/jpdc.2000.1693. URL http://www.sciencedirect.com/science/article/
pii/S0743731500916939.
Rakesh Agrawal and Ramakrishnan Srikant. Fast Algorithms for Mining Association
Rules. In Jorge B. Bocca, Matthias Jarke, and Carlo Zaniolo, editors, Int’l Conf. Very
Large Databases (VLDB ’94), pages 487–499, Santiago de Chile, Chile, 1994. Morgan
Kaufmann Publishers Inc. San Francisco, CA, USA.
Rakesh Agrawal and Ramakrishnan Srikant. Mining sequential patterns. In Proceedings
of the Eleventh International Conference on Data Engineering, pages 3–14. IEEE
Comput. Soc. Press, 1995. ISBN 0-8186-6910-1. doi: 10.1109/ICDE.1995.380415.
Rakesh Agrawal, Tomasz Imielinski, and Arun Swami. Mining association rules between
sets of items in large databases. In Proceedings of the 1993 ACM SIGMOD international
conference on Management of data, pages 207–216, Washington, D.C., 1993.
ACM New York, NY, USA.
Stephen F. Altschul and Bruce W Erickson. Optimal sequence alignment using af-
114fine gap costs. Bulletin of Mathematical Biology, 48(5-6):603–616, 1986. ISSN 0092-
8240. doi: 10.1016/S0092-8240(86)90010-8. URL http://www.sciencedirect.com/
science/article/pii/S0092824086900108.
Stephen F. Altschul, Warren Gish, Webb Miller, Eugene W. Myers, and David J. Lipman.
Basic local alignment search tool. Journal of Molecular Biology, 215:403–410,
1990. URL http://www.cmu.edu/bio/education/courses/03510/LectureNotes/
Altschul1990.pdf.
Amihood Amir and Martin Farach. Efficient 2-dimensional approximate matching of
non-rectangular figures. In SODA ’91 Proceedings of the second annual ACM-SIAM
symposium on Discrete algorithms, number 908, pages 212–223. Society for Industrial
and Applied Mathematics Philadelphia, PA, USA, 1991. URL http://dl.acm.org/
citation.cfm?id=127829.
Sarabjot Singh Anand and Bamshad Mobasher. Contextual Recommendation. In Bettina
Berendt, Andreas Hotho, Dunja Mladenic, and Giovanni Semeraro, editors, From
Web to Social Web Discovering and Deploying User and Content Profiles, volume
4737 of Lecture Notes in Computer Science, chapter 8, pages 142–160. Springer Berlin
Heidelberg, 2007. ISBN 9783540749509. doi: 10.1007/978-3-540-74951-6 8. URL
http://www.springerlink.com/content/r28874294253q051.
Alberto Apostolico, Laxmi Parida, and Simona E. Rombo. Motif patterns in 2D.
Theoretical Computer Science, 390(1):40–55, January 2008. ISSN 0304-3975. URL
http://www.sciencedirect.com/science/article/pii/S0304397507007645.
Daniel Ashbrook and Thad Starner. Learning significant locations and predicting
user movement with GPS. In Proceedings of the 6th IEEE International Symposium
on Wearable Computers, pages 101–108, Seattle, WA, USA, 2002. IEEE Computer
Society, Washington, DC, USA. ISBN 0-7695-1816-8. doi: 10.1109/ISWC.
2002.1167224. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?
arnumber=1167224.
Jay Ayres, Jason Flannick, Johannes Gehrke, and Tomi Yiu. Sequential Pattern mining
using a bitmap representation. In Proceedings of the eighth ACM SIGKDD international
conference on Knowledge discovery and data mining - KDD ’02, page 429, New
York, New York, USA, 2002. ACM Press. ISBN 158113567X. doi: 10.1145/775107.
775109. URL http://portal.acm.org/citation.cfm?doid=775047.775109.
115Ricardo A. Baeza-Yates and Gonzalo Navarro. Fast two-dimensional approximate pattern
matching. In Claudio L. Lucchsei and Arnaldo V. Moura, editors, LATIN’98
Proceedings of the Third Latin American Symposium on Theoretical Informatics,
pages 341–351, Campinas, Brazil, 1998. Springer-Verlag London, UK. URL http:
//link.springer.com/chapter/10.1007/BFb0054334.
Brenda S. Baker. A program for identifying duplicated code. In Computing Science and
Statistics, pages 24:49–57, College Station, TX, USA, 1992.
Theodore P. Baker. A Technique for Extending Rapid Exact-Match String Matching
to Arrays of More than One Dimension. SIAM Journal on Computing, 7(4):533–541,
November 1978. ISSN 0097-5397. doi: 10.1137/0207043. URL http://dx.doi.org/
10.1137/0207043.
Matthias Baldauf, Schahram Dustdar, and Florian Rosenberg. A survey on contextaware
systems. International Journal of Ad Hoc and Ubiquitous Computing, 2(4):
263–277, 2007.
Leonard E. Baum, Ted Petrie, George Soules, and Norman Weiss. A maximization
technique occurring in the statistical analysis of probabilistic functions of Markov
chains. The annals of mathematical statistics, 41(1):164–171, 1970.
Victoria Bellotti, Bo Begole, Ed H. Chi, Nicolas Ducheneaut, Ji Fang, Ellen Isaacs,
Tracy King, Mark W. Newman, Kurt Partridge, Bob Price, Paul Rasmussen, Michael
Roberts, Diane J. Schiano, and Alan Walendowski. Activity-based serendipitous
recommendations with the Magitti mobile leisure guide. In Proceeding of the
twenty-sixth annual SIGCHI conference on Human factors in computing systems,
pages 1157–1166, New York, NY, USA, 2008. ACM. ISBN 9781605580111. doi:
10.1145/1357054.1357237.
Martin Berchtold, Matthias Budde, Hedda R. Schmidtke, and Michael Beigl. An extensible
modular recognition concept that makes activity recognition practical. In R¨udiger
Dillmann, J¨urgen Beyerer, Uwe Hanebeck, and Tanja Schultz, editors, Proceedings of
the 33rd annual German conference on Advances in artificial intelligence, pages 400–
409. Springer-Verlag Berlin, Heidelberg, 2010. ISBN 3-642-16110-3 978-3-642-16110-0.
doi: 10.1007/978-3-642-16111-7 46.
Kevin Beyer and Raghu Ramakrishnan. Bottom-up computation of sparse and Iceberg
CUBEs. In SIGMOD ’99 Proceedings of the 1999 ACM SIGMOD international con-
116ference on Management of data, pages 359–370, Philadelphia, PA, 1999. ACM New
York, NY, USA.
V Boonjing and P Songram. Efficient Algorithms for Mining Closed Multidimensional
Sequential Patterns, 2007.
A. J. Bernheim Brush, Amy K. Karlson, James Scott, Raman Sarin, Andy Jacobs, Barry
Bond, Oscar Murillo, Galen Hunt, Mike Sinclair, Kerry Hammil, and Steven Levi. User
experiences with activity-based navigation on mobile devices. In Proceedings of the
12th international conference on Human computer interaction with mobile devices and
services, pages 73–82, 2010. doi: 10.1145/1851600.1851616. URL http://portal.
acm.org/citation.cfm?id=1851616.
Matthew Chalmers. A Historical View of Context. Computer Supported Cooperative
Work (CSCW), 13(3-4):223–247, August 2004. ISSN 0925-9724. doi:
10.1007/s10606-004-2802-8. URL http://www.springerlink.com/index/10.1007/
s10606-004-2802-8.
Tanzeem Choudhury, Gaetano Borriello, Sunny Consolvo, Dirk Haehnel, Beverly Harrison,
Bruce Hemingway, Jeffrey Hightower, Predrag ”Pedja” Klasnja, Karl Koscher,
Anthony Lamarca, James A. Landay, Louis LeGrand, Jonathan Lester, Ali Rahimi,
Adam Rea, and Denny Wyatt. The mobile sensing platform: An embedded activity
recognition system. Pervasive Computing, 7(2):32–41, 2008.
Brian Clarkson and Alex (Sandy) Pentland. Unsupervised clustering of ambulatory audio
and video. In Proceedings of the 1999 International Conference on Acoustics,
Speech, and Signal Processing, pages 3037–3040 vol. 6, Phoenix, Arizona, United
States, 1999. IEEE. doi: 10.1109/ICASSP.1999.757481. URL http://ieeexplore.
ieee.org/xpls/abs_all.jsp?arnumber=757481.
Brian Patrick Clarkson. Life Patterns : structure from wearable sensors. PhD thesis,
MIT, 2003.
Diane J. Cook, Michael Youngblood, Edwin O. Heierman, Karthik Gopalratnam, Sira
Rao, Andrey Litvin, and Farhan Khawaja. MavHome : An Agent-Based Smart Home.
In Proceedings of the First IEEE International Conference on Pervasive Computing
and Communications (PerCom 2003), pages 521–5244, Fort Worth, TX, 2003. IEEE.
ISBN 0769518931.
Brian A. Davey and Hilary A. Priestley. Introduction to Lattices and Order (2. ed.).
Cambridge University Press, 2002. ISBN 978-0-521-78451-1.
117Pedro Domingos and Geoff Hulten. Mining high-speed data streams. In Proceedings of
the sixth ACM SIGKDD international conference on Knowledge discovery and data
mining, KDD ’00, pages 71–80, New York, NY, USA, 2000. ACM. ISBN 1-58113-233-6.
doi: 10.1145/347090.347107. URL http://doi.acm.org/10.1145/347090.347107.
Paul Dourish. What we talk about when we talk about context. Personal
and Ubiquitous Computing, 8(1):19–30, February 2004. ISSN 1617-4909. doi:
10.1007/s00779-003-0253-8. URL http://www.springerlink.com/openurl.asp?
genre=article&id=doi:10.1007/s00779-003-0253-8.
Nathan Eagle and Alex (Sandy) Pentland. Reality mining: sensing complex social systems.
Personal and Ubiquitous Computing, 10(4):255–268, November 2005. ISSN
1617-4909. doi: 10.1007/s00779-005-0046-3. URL http://link.springer.com/10.
1007/s00779-005-0046-3.
Nathan Eagle and Alex (Sandy) Pentland. Eigenbehaviors: identifying structure in
routine. Behavioral Ecology and Sociobiology, 63(7):1057–1066, April 2009. ISSN
0340-5443. doi: 10.1007/s00265-009-0739-0. URL http://www.springerlink.com/
index/10.1007/s00265-009-0739-0.
Vincent Etter, Mohamed Kafsi, and Ehzan Kazemi. Been There, Done That : What
Your Mobility Traces Reveal about Your Behavior. In Nokia Mobile Data Challenge
- Next Place Prediction, 2012.
Simone Faro and Thierry Lecroq. The Exact Online String Matching Problem : a Review
of the Most Recent Results. ACM Computing Surveys (CSUR), 45(2):Article No. 13,
2013. doi: 10.1145/0000000.0000000.
Huiji Gao, Jiliang Tang, and Huan Liu. Mobile Location Prediction in Spatio-Temporal
Context. In Nokia Mobile Data Challenge - Next Place Prediction, number 2, 2012.
Fosca Giannotti, Mirco Nanni, and Dino Pedreschi. Efficient mining of temporally annotated
sequences. In In Proc. SDM’06, pages 348–359, 2006.
Fosca Giannotti, Mirco Nanni, Dino Pedreschi, and Fabio Pinelli. Trajectory pattern
mining. In Proceedings of the International Conference on Knowledge Discovery and
Data Mining (KDD), pages 330–339, San Jose, CA, 2007. ISBN 9781595936097.
Marta C. Gonzalez, Cesar A. Hidalgo, and Albert-Laszlo Barabasi. Understanding individual
human mobility patterns. Nature, 453(7196):779–782, June 2008. ISSN 0028-
0836.
118G¨osta Grahne and Jianfei Zhu. Efficiently Using Prefix-trees in Mining Frequent
Itemsets. In Proceedings of the ICDM’03 international workshop on requent itemset
mining implementations (FIMI ’03), volume 15, pages 123–132, Melbourne,
FL, 2003. URL http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/
Vol-90/grahne.pdf.
M A Hall. Correlation-based feature selection for machine learning. PhD thesis, The
University of Waikato, 1999.
Mark Hall, Eibe Frank, Geoffrey Hilmes, Bernhard Pfahringer, Peter Reutemann, and
Ian H Witten. The WEKA Data Mining Software: An Update. SIGKDD Explorations,
11(1), 2009.
Jiawei Han and Yongjian Fu. Discovery of multiple-level association rules from large
databases. In Proceeding of the 21st international conference on very large data bases
(VLDB’95), pages 420–431, Zurich, Switzerland, 1995.
Jiawei Han, Jian Pei, Behzad Mortazavi-Asl, Qiming Chen, Umeshwar Dayal, and MeiChun
Hsu. FreeSpan: frequent pattern-projected sequential pattern mining. In KDD
’00 Proceedings of the sixth ACM SIGKDD international conference on Knowledge
discovery and data mining, pages 355–259. ACM New York, NY, USA, 2000a.
Jiawei Han, Jian Pei, and Yiwen Yin. Mining frequent patterns without candidate
generation. In SIGMOD ’00 Proceedings of the 2000 ACM SIGMOD international
conference on Management of data, pages 1–12, Dallas, TX, 2000b. ISBN 1581132182.
doi: 10.1145/335191.335372.
Jiawei Han, Micheline Kamber, and Jian Pei. Data mining: concepts and techniques.
Morgan kaufmann, 2006. ISBN 0080475582.
Jiawei Han, Hong Cheng, Dong Xin, and Xifeng Yan. Frequent pattern mining: current
status and future directions. Data Mining and Knowledge Discovery, 15(1):55–86,
January 2007. ISSN 1384-5810. doi: 10.1007/s10618-006-0059-1. URL http://link.
springer.com/10.1007/s10618-006-0059-1.
Martin Heidegger. Sein und Zeit. Max Niemayer Verlag, T¨ubingen, 10 (1963) edition,
1927.
Steven Henikoff and Jorja G. Henikoff. Amino acid substitution matrices from protein
blocks. Proceedings of the National Academy of Sciences of the United States of
America, 89(22):10915–10919, November 1992. ISSN 0027-8424.
119Johan Himberg, Kalle Korpiaho, Heikki Mannila, Johanna Tikanm¨aki, and Hannu T. T.
Toivonen. Time series segmentation for context recognition in mobile devices. In
Proceedings 2001 IEEE International Conference on Data Mining, volume c, pages
203–210. IEEE Comput. Soc, 2001. ISBN 0-7695-1119-8. doi: 10.1109/ICDM.
2001.989520. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?
arnumber=989520.
Daniel S. Hirschberg. A Linear Space Algorithm for Computing Maximal Common
Subsequences. Communications of the ACM, 18(6):341–343, 1975.
Wassily Hoeffding. Probability Inequalities for Sums of Bounded Random Variables.
Journal of the American Statistical Association, 58(301):13–30, March 1963.
ISSN 0162-1459. doi: 10.1080/01621459.1963.10500830. URL http://amstat.
tandfonline.com/doi/abs/10.1080/01621459.1963.10500830.
Geoffrey Holmes, Bernhard Pfahringer, Richard Kirkby, Eibe Frank, and Mark Hall.
Multiclass alternating decision trees. In ECML, pages 161–172. Springer, 2001.
Geoffrey Holmes, Bernhard Pfahringer, Richard Kirkby, Eibe Frank, and Mark Hall.
Multiclass Alternating Decision Trees. In Proceedings of the 13th European Conference
on Machine Learning, ECML ’02, pages 161–172, London, UK, UK, 2002. SpringerVerlag.
ISBN 3-540-44036-4. URL http://dl.acm.org/citation.cfm?id=645329.
650070.
George H. John and Pat Langley. Estimating Continuous Distributions in Bayesian
Classifiers. In Eleventh Conference on Uncertainty in Artificial Intelligence, pages
338–345, San Mateo, 1995. Morgan Kaufmann.
Juyoung Kang and Hwan-Seung Yong. Mining spatio-temporal patterns in trajectory
data. Journal of Information Processing Systems, 6(4):521–536, 2010.
Tuula K¨arkk¨ainen, Tuomas Vaittinen, and Kaisa V¨a¨an¨anen-Vainio-Mattila. I Don’t
Mind Being Logged, but Want to Remain in Control: A Field Study of Mobile Activity
and Context Logging. In Proceedings of the 28th international conference on Human
factors in computing systems - CHI ’10, pages 163–172, Atlanta, GA, USA, 2010.
ACM New York, NY, USA. ISBN 9781605589299.
Richard M Karp and M O Rabin. Efficient randomized pattern-matching algorithms,
1987.
120Dimitrios Katsaros and Yannis Manolopoulos. A Suffix Tree Based Prediction Scheme
for Pervasive Computing Environments. In Panayiotis Bozanis and Elias N. Houstis,
editors, 10th Panhellenic Conference on Informatics, PCI 2005, pages 267–277, Volos,
Greece, 2005.
Dimitrios Katsaros, Alexandros Nanopoulos, Murat Karakaya, Gokhan Yavas, Ozg ur
Ulusoy, and Yannis Manolopoulos. Clustering mobile trajectories for resource allocation
in mobile environments. In Proceedings of the 5th International Symposium on
Intelligent Data Analysis, IDA 2003, number 102, pages 319–329, Berlin, Germany,
2003. Springer Berlin Heidelberg.
Eamonn Keogh, Jessica Lin, and Wagner Truppel. Clustering of time-series subsequences
is meaningless: implications for previous and future research. In Proceedings of the
Third IEEE International Conference on Data Mining (ICDM’03), pages 115–122,
2003. ISBN 0769519784.
Niko Kiukkonen, Jan Blom, Olivier Dousse, Daniel Gatica-Perez, and Juha K. Laurila.
Towards rich mobile phone datasets: Lausanne data collection campaign. In Proceedings
of ACM international conference on pervasive services (ICPS), Berlin, 2010.
Donald E. Knuth, James H. Morris, Jr, and Vaughan R. Pratt. Fast pattern matching in
strings. SIAM journal on computing, 6(2):323–350, 1977. URL http://epubs.siam.
org/doi/abs/10.1137/0206024.
David Kotz and Kobby Essien. Analysis of a campus-wide wireless network. Wireless
Networks, 11(1-2):115–133, 2005. ISSN 1022-0038.
Kamala Krithivasan and R Sitalakshmi. Efficient two-dimensional pattern matching in
the presence of errors. Information Sciences, 43(3):169–184, December 1987. ISSN
0020-0255. doi: 10.1016/0020-0255(87)90037-5. URL http://www.sciencedirect.
com/science/article/pii/0020025587900375.
Hye-Chun Kum, Jian Pei, Wei Wang, and Dean Duncan. ApproxMAP: Approximate
mining of consensus sequential patterns. In Third SIAM International Conference on
Data Mining (SIAM-DM), pages 311–315, San Francisco, CA, 2003.
Kari Laasonen. Clustering and prediction of mobile user routes from cellular data. In
Knowledge Discovery in Databases: PKDD 2005, pages 569–576, Porto, Portugal,
2005.
121Philip Laird. Identifying and using patterns in sequential data. In KlausP. Jantke,
Shigenobu Kobayashi, Etsuji Tomita, and Takashi Yokomori, editors, Algorithmic
Learning Theory SE - 1, volume 744 of Lecture Notes in Computer Science, pages
1–18. Springer Berlin Heidelberg, 1993. ISBN 978-3-540-57370-8. doi: 10.1007/
3-540-57370-4 33.
Juha K. Laurila, Daniel Gatica-Perez, Imad Aad, Jan Blom, Olivier Bornet, TrinhMinh-Tri
Do, Olivier Dousse, Julien Eberle, and Markus Miettinen. The mobile data
challenge: Big data for mobile computing research. In Mobile Data Challenge by Nokia
Workshop in Conjunction with Int. Conf. on Pervasive Computing, Newcastle, UK,
2012.
Thierry Lecroq, Alexandre Pauchet, Emilie Chanoni, and Gerardo Solano Ayala. Pattern ´
discovery in annotated dialogues using dynamic programming. International Journal
of Intelligent Information and Database Systems, 6(6):603–618, 2012.
Philip I. S. Lei and Angus K. Y. Wong. The Multiple-Touch User Interface Revolution.
IT Professional, 11(February):42–49, 2009.
Jonathan Lester, Tanzeem Choudhury, and Gaetano Borriello. A practical approach to
recognizing physical activities. Pervasive Computing, pages 1–16, 2006. doi: 10.1.1.
138.6972.
Chao Li and Katharine Willis. Modeling context aware interaction for wayfinding using
mobile devices. In Proceedings of the 8th conference on Human-computer interaction
with mobile devices and services - MobileHCI ’06, page 97, New York, New York,
USA, 2006. ACM. ISBN 1595933905. doi: 10.1145/1152215.1152235. URL http:
//portal.acm.org/citation.cfm?doid=1152215.1152235.
David J. Lipman and William R. Pearson. Rapid and sensitive protein similarity
searches. Science, 227(4693):1435–1441, March 1985. doi: 10.1126/science.2983426.
URL http://www.sciencemag.org/content/227/4693/1435.abstract.
H Liu and R Setiono. A probabilistic approach to feature selection - A filter solution.
In 13th International Conference on Machine Learning, pages 319–327, 1996.
Nizar R. Mabroukeh and C. I. Ezeife. A taxonomy of sequential pattern mining algorithms.
ACM Computing Surveys, 43(1):3:1–3:41, November 2010. ISSN 03600300.
doi: 10.1145/1824795.1824798. URL http://portal.acm.org/citation.cfm?doid=
1824795.1824798.
122Heikki Mannila, Hannu Toivonen, and A. Inkeri Verkamo. Efficient Algorithms for Discovering
Association Rules. In AAAI Workshop on Knowledge Discovery in Databases
(KDD-94), number July, pages 181–192. AAAI Press, 1994.
Jani M¨antyj¨arvi, Johan Himberg, Petri Kangas, Urpo Tuomela, and Pertti Huuskonen.
Sensor Signal Data Set for Exploring Context Recognition of Mobile Devices. In
Workshop ”Benchmarks and a database for context recognition” in conjuction with the
2nd Int. Conf. on Pervasive Computing (PERVASIVE 2004), Linz/Vienna, Austria,
2004.
Edward M. McCreight. A space-economical suffix tree construction algorithm. Journal of
the ACM (JACM), 23(2):262–272, 1976. URL http://dl.acm.org/citation.cfm?
id=321946.
Carl H. Mooney and John F. Roddick. Sequential Pattern Mining - Approaches and
Algorithms. ACM Computing Surveys (CSUR), 45(2):19:1–19:39, 2013. doi: 10.1145/
2431211.2431218.
Cory S. Myers and Lawrence R. Rabiner. A Comparative Study of Several Dynamic
Time-Warping Algorithms for Connected-Word. Bell System Technical Journal, 60
(7):1389–1409, 1981.
Eugene W. Myers and Webb Miller. Optimal alignments in linear space. Computer
applications in the biosciences : CABIOS, 4(1):11–17, March 1988. doi: 10.
1093/bioinformatics/4.1.11. URL http://bioinformatics.oxfordjournals.org/
content/4/1/11.abstract.
Mirco Nanni, Roberto Trasarti, Chiara Renso, Fosca Giannotti, and Dino Pedreschi.
Advanced Knowledge Discovery on Movement Data with the GeoPKDD system. In
Proceedings of the 13th International Conference on Extending Database Technology
EDBT ’10, pages 693–696. ACM New York, NY, USA, 2010. ISBN 9781605589459.
Gonzalo Navarro. A guided tour to approximate string matching. ACM Computing
Surveys, 33(1):31–88, March 2001. ISSN 03600300. doi: 10.1145/375360.375365. URL
http://portal.acm.org/citation.cfm?doid=375360.375365.
Saul B. Needleman and Christian D. Wunsch. A general method applicable to the search
for similarities in the amino acid sequence of two proteins. Journal of molecular biology,
48(3):443–453, 1970.
123Kurt Partridge and Bob Price. Enhancing Mobile Recommender Systems with Activity
Inference. User Modeling, Adaptation, and Personalization, pages 307–318, 2009.
Nicolas Pasquier, Yves Bastide, Rafik Taouil, and Lotfi Lakhal. Discovering Frequent
Closed Itemsets for Association Rules. In Catriel Beeri and Peter Buneman, editors,
Database Theory – ICDT ’99 SE - 25, volume 1540 of Lecture Notes in Computer Science,
pages 398–416. Springer Berlin Heidelberg, 1999. ISBN 978-3-540-65452-0. doi:
10.1007/3-540-49257-7\ 25. URL http://dx.doi.org/10.1007/3-540-49257-7_25.
Alexandre Pauchet, Abed Mohamad El, Tayeb Merabti, Elise Prieur, Thierry Lecroq, ´
and St´efan Darmoni. Identification de r´ep´etitions dans les navigations au sein d’un
catalogue de sant´e. Revue d Intelligence Artificielle, 23(1):113–132, 2009. URL http:
//hal.archives-ouvertes.fr/hal-00450114.
Alexandre Pauchet, Fran¸cois Rioult, Emilie Chanoni, Zacharie Ales, and Ovidiou Serban. ´
Advances on Dialogue Modelling Interactive Narration Requires Prominent Interaction
and Emotion. In International Conference on Agents and Artificial Intelligence, pages
527–530, Barcelona, Spain, 2013.
Jian Pei, Jiawei Han, Behzad Mortazavi-asl, and Hua Zhu. Mining Access Patterns Ef-
ficiently from Web Logs. In Proceedings of the 4th Pacific-Asia Conference on Knowledge
Discovery and Data Mining, PAKDD 2000, volume 0, pages 396–407, Kyoto,
Japan, 2000. Springer Berlin Heidelberg.
Jian Pei, Jiawei Han, Behzad Mortazavi-Asl, Helen Pinto, Qiming Chen, Umeshwar
Dayal, and Mei-Chun Hsu. Prefixspan: Mining sequential patterns efficiently by prefixprojected
pattern growth. In Proceeding of the 2001 international conference on data
engineering (ICDE’01), pages 215–224, Heidelberg, Germany, 2001.
Jian Pei, Jiawei Han, Behzad Mortazavi-Asl, Jianyong Wang, Helen Pinto, Qiming Chen,
Umeshwar Dayal, and Mei-Chun Hsu. Mining Sequential Patterns by Pattern-Growth
: The PrefixSpan Approach. IEEE Transactions on Knowledge and Data Engineering,
16(10):1424–1440, 2004.
Dan Pelleg and Andrew Moore. X-means: Extending k-means with efficient estimation
of the number of clusters. In Proceedings of the Seventeenth International Conference
on Machine Learning, pages 727–734, 2000.
Helen Pinto, Jiawei Han, Jian Pei, Ke Wang, Qiming Chen, and Umeshwar Dayal.
Multi-dimensional sequential pattern mining. In Proceedings of the tenth international
124conference on Information and knowledge management - CIKM’01, pages 81–88, New
York, New York, USA, 2001. ACM. ISBN 1581134363. doi: 10.1145/502598.502600.
James Pitkow and Peter Pirolli. Mining longest repeating subsequences to predict world
wide web surfing. In Proceedings of USITS ’99: The 2nd USENIX Symposium on
Internet Technologies & Systems, pages 139–150, 1999.
Marc Plantevit, Anne Laurent, Dominique Laurent, Maguelonne Teisseire, and Yeow Wei
Choong. Mining multidimensional and multilevel sequential patterns. ACM Transactions
on Knowledge Discovery from Data, 4:4:0–4:37, 2010. doi: 10.1145/1644873.
1644877. URL http://dl.acm.org/citation.cfm?id=1644877.
John C. Platt. Advances in kernel methods. chapter Fast train, pages 185–208. MIT
Press, Cambridge, MA, USA, 1999. ISBN 0-262-19416-3. URL http://dl.acm.org/
citation.cfm?id=299094.299105.
Mika Raento. Mobile communication and context dataset. In Proceedings of the Workshop
towards Benchmarks and a Database for Context Recognition, International Conference
on Pervasive Computing, Vienna, Austria, 2004.
Mika Raento, Antti Oulasvirta, Renaud Petit, and Hannu Toivonen. ContextPhone:
A Prototyping Platform for Context-Aware Mobile Applications. IEEE Pervasive
Computing, 4(2):51–59, 2005. ISSN 1536-1268. doi: 10.1109/MPRV.2005.29.
Sherif Rashad, Mehmed Kantardzic, and Anup Kumar. PAC-WHN: Predictive Admission
Control for Wireless Heterogeneous Networks. In 2007 IEEE Symposium
on Computers and Communications, pages 139–144. Ieee, July 2007a. ISBN 978-1-
4244-1520-5. doi: 10.1109/ISCC.2007.4381633. URL http://ieeexplore.ieee.org/
lpdocs/epic03/wrapper.htm?arnumber=4381633.
Sherif Rashad, Mehmed Kantardzic, and Anup Kumar. MSP-CACRR: Multidimensional
Sequential Patterns Based Call Admission Control and Resource Reservation
for Next-Generation Wireless Cellular Networks. 2007 IEEE Symposium on Computational
Intelligence and Data Mining, (Cidm):552–559, 2007b. doi: 10.1109/
CIDM.2007.368924. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.
htm?arnumber=4221348.
Simona E. Rombo. Optimal extraction of motif patterns in 2D. Information Processing
Letters, 109(17):1015–1020, August 2009. ISSN 0020-0190. URL http:
//www.sciencedirect.com/science/article/pii/S0020019009001926.
125D Sankoff. Matching sequences under deletion-insertion constraints. Proceedings of the
National Academy of Sciences of the United States of America, 69(1):4–6, January
1972. ISSN 0027-8424. URL http://www.pubmedcentral.nih.gov/articlerender.
fcgi?artid=427531&tool=pmcentrez&rendertype=abstract.
Albrecht Schmidt, Michael Beigl, and Hans-W. Gellersen. There is more to context
than location. Computers & Graphics, 23(6):893–901, December 1999. doi: 10.1016/
S0097-8493(99)00120-X.
Stephan Sigg, Sandra Haseloff, and Klaus David. An Alignment Approach for Context
Prediction Tasks in UbiComp Environments. IEEE Pervasive Computing, 9(4):90–
97, 2010. ISSN 1536-1268. doi: 10.1109/MPRV.2010.23. URL http://ieeexplore.
ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5406495.
Temple F. Smith and Michael S. Waterman. Identification of common molecular subsequences.
Journal of Molecular Biology, 147(1):195–197, 1981. ISSN 0022-2836.
Libo Song, David Kotz, Ravi Jain, and Xiaoning He. Evaluating location predictors
with extensive Wi-Fi mobility data. In INFOCOM 2004. Twenty-third AnnualJoint
Conference of the IEEE Computer and Communications Societies, volume 00, pages
1414–1424 vol. 2, Hong Kong, China, 2004. ISBN 0780383567.
P. Songram, V. Boonjing, and S. Intakosum. Closed Multidimensional Sequential Pattern
Mining. In Third International Conference on Information Technology: New Generations
(ITNG’06), pages 512–517, Las Vegas, NV, USA, 2006. Ieee. ISBN 0-7695-
2497-4. doi: 10.1109/ITNG.2006.41. URL http://ieeexplore.ieee.org/lpdocs/
epic03/wrapper.htm?arnumber=1611644.
Ramakrishnan Srikant and Rakesh Agrawal. Mining generalized association rules. In
Proceeding of the 21st international conference on very large data bases (VLDB’95),
pages 407–419, Zurich, Switzerland, 1995.
Ramakrishnan Srikant and Rakesh Agrawal. Mining sequential patterns: Generalizations
and performance improvements. In EDBT’96 Proceeding of the 5th international conference
on extending database technology: Advances in Database Technology, pages
3–17, Avignon, France, 1996. Springer-Verlag London, UK.
Mark P. Styczynski, Kyle L. Jensen, Isidore Rigoutsos, and Gregory Stephanopoulos.
BLOSUM62 miscalculations improve search performance. Nat Biotech, 26(3):274–275,
March 2008. ISSN 1087-0156. doi: 10.1038/nbt0308-274.
126Christian Voigtmann, Klaus David, Hendrik Skistims, and Alexander Roßnagel.
Legal assessment of context prediction techniques. 2012 IEEE Vehicular Technology
Conference (VTC Fall), pages 1–5, September 2012. doi: 10.1109/VTCFall.
2012.6399381. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?
arnumber=6399381.
Jianyong Wang and Jiawei Han. BIDE: efficient mining of frequent closed sequences. In
Proceedings of the 20th International Conference on Data Engineering, 2004., pages
79–90, 2004. ISBN 1063-6382 VO -. doi: 10.1109/ICDE.2004.1319986.
Jingjing Wang and Bhaskar Prabhala. Periodicity Based Next Place Prediction. In
Nokia Mobile Data Challenge - Next Place Prediction, 2012.
Wei Wang, Jiong Yang, and Philip S. Yu. Mining patterns in long sequential data with
noise. ACM SIGKDD Explorations Newsletter, 2(2):28–33, December 2000. ISSN
19310145. doi: 10.1145/380995.381008. URL http://portal.acm.org/citation.
cfm?doid=380995.381008.
Janet L. Wesson, Akash Singh, and Bradley van Tonder. Can Adaptive Interfaces Improve
the Usability of Mobile Applications? Human-Computer Interaction, pages
187–198, 2010.
Xifeng Yan, Jiawei Han, and Ramin Afshar. CloSpan: Mining closed sequential patterns
in large datasets. In Proc. 2003 SIAM Int’l Conf. Data Mining (SDM’03), pages
166–177, 2003.
Guizhen Yang. The complexity of mining maximal frequent itemsets and maximal
frequent patterns. In Proceedings of the tenth ACM SIGKDD international conference
on Knowledge discovery and data mining, KDD ’04, pages 344–353, New York,
NY, USA, 2004. ACM. ISBN 1-58113-888-1. doi: 10.1145/1014052.1014091. URL
http://doi.acm.org/10.1145/1014052.1014091.
Jiong Yang, Wei Wang, Philip S. Yu, and Jiawei Han. Mining long sequential patterns in
a noisy environment. Proceedings of the 2002 ACM SIGMOD international conference
on Management of data - SIGMOD ’02, 4(d):406, 2002. doi: 10.1145/564736.564738.
URL http://portal.acm.org/citation.cfm?doid=564691.564738.
Zhenglu Yang and Masaru Kitsuregawa. LAPIN-SPAM: An Improved Algorithm for
Mining Sequential Pattern. In 21st International Conference on Data Engineering
Workshops (ICDEW’05), pages 1222–1222. Ieee, 2005. ISBN 0-7695-2657-8.
127doi: 10.1109/ICDE.2005.235. URL http://ieeexplore.ieee.org/lpdocs/epic03/
wrapper.htm?arnumber=1647839.
Zhenglu Yang, Yitong Wang, and M Kitsuregawa. LAPIN: effective sequential pattern
mining algorithms by last position induction for dense databases. In R. Kotagirim,
P. R. Krishna, M. Mohania, and E. Nantajeewarawat, editors, 12th International
Conference on Database Systems for Advanced Applications, DASFAA 2007, volume 1,
pages 1020–1023, Bangkok, Thailand, 2007. Springer Berlin Heidelberg. URL http:
//link.springer.com/chapter/10.1007/978-3-540-71703-4_95.
Mariko Yoshida, Tetsuya Iizuka, Hisako Shiohara, and Masanori Ishiguro. Mining sequential
patterns including time intervals. volume 4057, pages 213–220, 2000. URL
http://dx.doi.org/10.1117/12.381735.
Mohammed J. Zaki. Efficient enumeration of frequent sequences. In Proceedings of the
seventh international conference on Information and knowledge management, pages
68–75. ACM, 1998. URL http://dl.acm.org/citation.cfm?id=288643.
Mohammed J. Zaki. Scalable algorithms for association mining. IEEE Transactions on
Knowledge and Data Engineering, 12(3):372–390, 2000. URL http://ieeexplore.
ieee.org/xpls/abs_all.jsp?arnumber=846291.
Mohammed J. Zaki. SPADE: An Efficient Algorithm for Mining Frequent Sequences. Machine
Learning, 42(1-2):31–60, 2001. ISSN 0885-6125. doi: 10.1023/A:1007652502315.
URL http://dx.doi.org/10.1023/A:1007652502315.
Qiankun Zhao and Sourav S. Bhowmick. Sequential pattern mining: A survey. Technical
Report 2003118, CAIS Nayang Technological University Singapore, 2003. URL http:
//www.textedu.ru/tw_files2/urls_6/147/d-146938/7z-docs/5.pdf.
Zhou Zhao, Da Yan, and Wilfred Ng. Mining Probabilistically Frequent Sequential
Patterns in Large Uncertain Databases. IEEE Transactions on Knowledge and Data
Engineering, 99(PrePrints):1, July 2013. ISSN 1041-4347. doi: 10.1109/TKDE.2013.
124. URL http://doi.ieeecomputersociety.org/10.1109/TKDE.2013.124.
Yu Zheng, Lizhu Zhang, Zhengxin Ma, Xing Xie, and Wei-Ying Ma. Recommending
friends and locations based on individual location history. ACM Transactions on the
Web, 5(1):1–44, February 2011. ISSN 15591131. doi: 10.1145/1921591.1921596. URL
http://portal.acm.org/citation.cfm?doid=1921591.1921596.
128Rui Feng Zhu and Tadao Takaoka. A technique for two-dimensional pattern matching.
Communications of the ACM, 32(9):1110–1120, 1989. URL http://dl.acm.org/
citation.cfm?id=66459.
Jacob Ziv and Abraham Lempel. Compression of individual sequences via variablerate
coding. Information Theory, IEEE Transactions on, 24(5):530–536, 1978. ISSN
0018-9448.
129Benchmarks of Supervised Classification
Algorithms for Next Place Prediction
A.1 The Next Place Prediction Problem
This annex illustrates our efforts undertaken in the context of the Nokia Mobile Data
Challenge (MDC, Laurila et al. [2012]) task 2 “Next Place Prediction”. Our aim is to
assess the performance of some well explored statistical algorithms chosen according to
our expectations of their suitability, as well as classic “benchmark” approaches. This
allows the selection of the most accurate algorithm for the prediction task, and a general
judgement on the suitability of the approaches for this task.
A step of pre-treatment of the MDC dataset is required to generate a subset of data
that is suitable for training a statistical model using the algorithms explored. This
treatment consists of a combination of two global – being applied equally to all users
– filters, the first of which is an a priori “2D” feature selection, and the second a
projection of these values into a 1D feature vector. Subsequently two statistical methods
of feature selection are evaluated on this vector on per user basis. This pre-processing
step is documented in the second section. The third section contains a brief presentation
of the algorithms examined and their respective evaluation results. The final section
summarizes the results and contains our conclusions.
A.2 Dataset Analysis
The MDC dataset [Laurila et al., 2012] is highly heterogeneous in nature. This stems
both from the peculiarities of the group providing the data, and from the challenges of
leading a large scale acquisition campaign. The most obvious heterogeneity lies in the
130difference of sizes of the per-user data sets: around 620 MB±320 MB in human readable,
tabulator separated value format. Additionally, different users have made different use
of the phone capabilities, leading to different distributions of useful data, e.g. some
users not using the calendar functionality of their phone, and others using it extensively.
The size of the dataset is also an important quantity: the “width” – i.e. the number of
different data sources – is large (around 75 features), but the actual number of training
cases (per individual) for the next place prediction task is fairly small (between 100 and
1500). This means that statistical analysis is more likely to be influenced by outliers,
potentially leading to inadvertent overfitting of models and in general a higher error for
the smaller sub-datasets. The data itself can also be unreliable: there are intervals of
missing data and occasionally the data does not pass basic sanity tests, e.g. a time zone
changing by many hours, during a single visit. The hardware homogenity at least allows
for some transversal coherency of the gathered data, but this is of little consequence for
the next place prediction.
We propose a three-step approach for the preparation of this data, that consists of
two a priori selection, and a final statistic filtering, using either the consistency criterion
proposed by Liu and Setiono [1996] or a correlation-based feature selector (Cfs, [Hall,
1999]). In the first step we select twelve features, that should influence or indicate the
decision which location is going to be visited next, according to our global conceptual
model. From the 75 features available, this is the subset used as base of the model:
❼ hour of the day and day of the week – based on the assumption that certain visits
will have a regularity in time, which is the case in non-shift workers and students;
❼ place id – based on the assumption, that some places are visited exclusively after
a visit of another place;
❼ bluetooth devices – can link to sub-locations of a visit, transportation choice or
the social environment;
❼ applications used – a mapping application may strongly correlate with first-time
visits, the messaging application may provide information on a social link;
❼ call / message type – an outgoing or incoming phone call or message influence the
choice of next location;
❼ call duration – the length of a phone call is expected to be an indicator of the
social link between call participants;
❼ call / message contact – the contact can be an indicator of the next destination;
131❼ movement of the phone – is an indicator of physical activity, which could indicate
a destination;
❼ charging state – if the phone is charged at a place, it can be expected that the next
place is less likely to have charging facilities available, or that a long transition will
follow;
❼ battery level – if the battery level at departure is low, the next location is likely
to be a place with charging facilities, and close by;
❼ calendar event titles – both the knowledge that a calendar event is linked to the
current place and visit, as well as the next known calendar event are clearly hints
at the following destination.
As most of these values are time dependant during a visit, the next step is to project the
key information of these twelve features into a single characteristic vector. Here again
the choices were made based on expected utility and with the goal of minimizing the
features to limit noise and computational effort required.
Per visit, the hour of day and day of week values were retained for both the beginning
and end of the visit. The two most frequently encountered bluetooth addresses were
recorded, as well as the two most frequently used phone applications. The details of the
last communication (incoming/outgoing, message/call and contact ID), the sum of all
acceleration values with a log weighting favouring the end of the visit, the portion of
the visit that the phone was connected to the charger, the mean battery level as well as
the battery level at the end of the visit and any calendar event during the following 24
hours and the first calendar event planned for the current visit.
On average 59.6% (±14.3) of recorded visits were to the two most visited locations.
More than one third of visits, 37.2% (±11.2), were to the most visited location. This
value represents a lower boundary for prediction precision, when using the training set
for evaluation. Around one sixth of the visits were to places that had an incidence rate
below one percent. These were grouped as a single location, which, when predicted, are
considered to be a new location.
A.3 Next Visit Prediction
It is currently beyond the scale of physical and logical modelling to emulate the decisionmaking
process of a person, even if their complete context and history are known. In
addition our knowledge of users and their context are imperfect. Even logical links
132Table A.1.: Classifier and Filter Configurations Tested
Classifier Classifier Explicit Multiclass
Settings Schemes
NaiveBayes [John and Langley, 1995] Kernel estimator none
(“NB”) 1-1 (“M3”)
1-all (“M0”)
LADTree [Holmes et al., 2001] 10 or 20 Boosts none
(“LAD”) 1-1 (“M3”)
1-all (“M0”)
SMO [Platt, 1999] Complexity parameter none
C = 0.5 or 10 1-1 (“M3”)
Polynomial Kernel 1-all (“M0”)
with exponent
E = 1.0 or 2.0
between a decision and known context cannot be certainly established; at best different
correlation measures could be calculated. As a result, there is no clear a priori indication
which statistical classification model is best applicable to this process. Hence an
empirical, iterative approach is the way we choose to obtain a predictor with optimal
accuracy. A common evaluation scenario similar to the test scenario was chosen, dividing
the training set along a 90%/10% split. The first 90% were used as training set, which
was then evaluated on the other 10%. The evaluation metric is the ratio and number of
correct predictions.
Our interpretation of the problem as a multi-class classification problem, with asymmetrically
sized classes and a mixed characteristic vector, containing both numerical and
nominal values, permitted us to evaluate the naive Bayesian approach [John and Langley,
1995], the LogitBoost alternating decision (LAD, [Holmes et al., 2001]) tree classifier and
a support vector machine based classifier, the sequential minimal optimization (SMO,
[Platt, 1999]) algorithm. These methods represent three different approaches to statistical
modelling and are all flexible enough to accept our dataset without modification.
The specific configurations are referenced in Table 1. Additionally we tested four
configurations of the feature vector, a basic vector using just the time and location
information of the previous visit (time of day and day of week of both beginning and
end of the visit and location), the extended vector (labeled “full” in the graphs) including
the context data mentioned above, and two reduced vectors, using the features selected
by either the correlation based feature selection filter (labelled “Cfs”) or consistency
based feature selection [Liu and Setiono, 1996] filter (labelled “Consist”). For each filter
13330
35
40
45
50
55
Mean
Number of
Correct
Predictions
Relative
Accuracy
(%)
Figure A.3.1.: Results for the Naive Bayes Classification Algorithm
we were able to use an exhaustive search algorithm, due to our limited feature set size.
These four variants allow us to show the impact of the availability of additional context
information as well as what can be achieved by filtering on a per user level.
To cater to the multi-class nature of the task, we used each algorithm’s natural multiclass
approach, and also put in place two variants that forced the classifiers to function
in 1-against-all (labelled M0 in the graphs) and 1-against-1 (labelled M3) mode. For our
experiments, we used the Weka statistics suite [Hall et al., 2009].
In the following we present the results of our evaluation of a total of 84 different con-
figurations. We constrain ourself to two evaluation scores: mean absolute accuracy, i.e.
the average number of correct predictions, and mean relative accuracy, i.e. the average
percentage of correct predictions. The former is a closer indicator of the algorithm’s
performance for the challenge, the latter is a better measure of overall user experience.
Significantly larger numbers of boost iterations for the LADtree could not be used, as
the data set for some users is too small. The partial results we did obtain were not
indicative of precision enhancements. Similarly, our attempts to run exhaustive error
correction multiclass classifiers were foiled by the large size of other user’s data sets,
which required more than 4GB of memory.
Looking at the results of the naive Bayes classifier (see Fig. A.3.1), it becomes obvious,
that it is negatively impacted (losing around 5 percent points of average accuracy) by the
additional context information, unless it is filtered. Otherwise, results vary very little:
mean accuracy is between 49% and 52%, the average number of correct predictions
varies between 30 and 31 for the full feature vector and between 32.5 and 35 in the other
configurations. Specifically, the minimalist dataset has the same average accuracy as the
feature selection filtered variants of the full dataset.
134Figure A.3.2.: Results for the LogitBoost Adaptive Decision Tree Classification Algorithm
Figure A.3.3.: Results for the SMO Classification Algorithm without Feature Selection
Filters
The LADtree (see Fig. A.3.2) model is the most stable of all tested algorithms, and
appears to perform almost independently of the additional data. Mean accuracy is consistently
between 49 and 52 percent and there are between 33 and 35 (one outlier at
31.4) average correct predictions. Two configurations (10x Boosting on the full dataset
and 10x Boosting on the minimal dataset in a 1 - 1 multiclass classifier) exceed a
mean correct prediction count of 35, equivalent to over 2800 correct predictions on our
test dataset. Overall, LADtree performs the most consistent manner and is the most
accurate, but only barely exceeds the results from the Naive Bayesian approach.
Most of the results of our evaluations of the SMO algorithm (see Figs. A.3.3 and A.3.4)
are disappointing, especially when using any of the two tested feature selection filters.
Also, using a 1 - all multi-class approach decreased accuracy noticeably, leading to some
135Figure A.3.4.: Results for the SMO Classification Algorithm with Feature Selection Filters
of the weakest results of our evaluation. Nonetheless, without feature selection filters,
on the reduced dataset, and either forced 1 - 1 multi-class classification or the native 1 -
1 multi-class approach of SMO, results exceeding 50% mean accuracy could be achieved.
Any additional data in the training set decreased accuracy.
A.4 Conclusion
The approaches we examined here only show marginal differences in performance, when
only the most accurate configurations are taken into account. Nonetheless, the overall
best algorithm in our testing set of three is the LADtree classifier. Regarding the feature
selection, correlation based feature selection appears to perform consistently better than
consistency based filtering. Also, a LogitBoost decision tree model performs slightly
better with 10 boosting iterations, than with 20 iterations - in the majority of cases.
The around 50% accuracy of the predictions observed during our evaluations, lead us
to believe that a dedicated hybrid modelling approach, optimised just to predict the
two most frequently visited locations, may achieve higher accuracies than we obtained
during our series of evaluations. Given the constrained time resources given by the
challenge, and the complexity and heterogeneity of the dataset, we decided to first
examine the necessity of following a dedicated modelling approach. One example of a
possible adaptation, would be the development of dedicated estimators for each feature,
when using a naive Bayes classifier. For example the cyclic nature of the temporal
136features are currently not being correctly taken into account.
Another important observation is the fact that adding what appeared to be – from
an a priori stand point – a useful set of features extracted from the context to the
classification process has little to no value in all three prediction models we examined.
The relatively low number of training instances makes observation of strong correlations
unlikely, which in turn reduces the predictive capability of any model based on this
data. While our examination was by no means exhaustive, we see no basis to expect
major gains using a similar approach, with more extensive, iterative tuning. It therefore
appears that the extended conceptual model we based our feature extraction process on,
was not matched by any of the statistical models we evaluated during this work.
137Details on the evaluation processes
B.1 Real world data
B.1.1 Similarity score tables
These are the similarity scores used for the alignment of our real world dataset. The
value 0 in each table represents the place holder value, if a sensor had no (valid) reading
at this point in time.
138Table B.1.: Similarity score table for luminance
0 1 2 3 4 5 6 7 8 9 10
0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 4 -9 -8 -9 -9 -10 -9 -10 -10 -10
2 -1 -9 3 -7 -8 -9 -9 -9 -9 -9 -9
3 -1 -8 -7 3 -8 -9 -10 -9 -9 -9 -10
4 -1 -9 -8 -8 3 -9 -10 -9 -9 -10 -10
5 -1 -9 -9 -9 -9 3 -9 -9 -9 -9 -8
6 -1 -10 -9 -10 -10 -9 1 -10 -7 -10 -7
7 -1 -9 -9 -9 -9 -9 -10 1 -7 -10 -8
8 -1 -10 -9 -9 -9 -9 -7 -7 3 -10 -10
9 -1 -10 -9 -9 -10 -9 -10 -10 -10 2 -7
10 -1 -10 -9 -10 -10 -8 -7 -8 -10 -7 2
Table B.2.: Similarity score table for proximity
0 1 2
0 1 -1 -1
1 -1 2 -5
2 -1 -5 2
Table B.3.: Similarity score table for places
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 6 -9 -10 -9 -9 -10 -10 -9 -10 -10 -10 -9 -9 -10
2 -1 -9 3 -9 -8 -9 -10 -9 -9 -10 -9 -10 -8 -9 -10
3 -1 -10 -9 2 -10 -9 -10 -9 -7 -10 -10 -10 -8 -9 -10
4 -1 -9 -8 -10 3 -8 -9 -9 -8 -10 -10 -10 -8 -9 -10
5 -1 -9 -9 -9 -8 5 -9 -8 -10 -10 -9 -10 -9 -8 -10
6 -1 -10 -10 -10 -9 -9 5 -8 -9 -10 -9 -10 -9 -9 -10
7 -1 -10 -9 -9 -9 -8 -8 5 -9 -10 -10 -10 -10 -9 -10
8 -1 -9 -9 -7 -8 -10 -9 -9 6 -9 -9 -10 -9 -9 -9
9 -1 -10 -10 -10 -10 -10 -10 -10 -9 5 -8 -10 -10 -8 -10
10 -1 -10 -9 -10 -10 -9 -9 -10 -9 -8 6 -10 -10 -8 -10
11 -1 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 7 -10 -9 -10
12 -1 -9 -9 -8 -8 -9 -9 -10 -9 -10 -10 -10 2 -8 -10
13 -1 -9 -9 -9 -9 -8 -9 -9 -9 -8 -8 -9 -8 5 -9
14 -1 -10 -10 -10 -10 -10 -10 -10 -9 -10 -10 -10 -10 -9 7
139Table B.4.: Similarity score table for battery levels
0 1 2 3 4 5 6 7 8
0 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 -4 -3 -5 -1 -6 -2
2 -1 -1 1 -5 -4 -6 -2 -7 -3
3 -1 -4 -5 1 -1 -1 -3 -2 -2
4 -1 -3 -4 -1 1 -3 -2 -4 -1
5 -1 -5 -6 -1 -3 1 -4 -1 -2
6 -1 -1 -2 -3 -2 -4 1 -5 -1
7 -1 -6 -7 -2 -4 -1 -5 1 -3
8 -1 -2 -3 -2 -1 -2 -1 -3 1
Table B.5.: Similarity score table for orientation values
0 1 2 3 4 5 6 7 8
0 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 2 -8 -7 -8 -4 -7 -7 -9
2 -1 -8 4 -7 -9 -7 -9 -8 -9
3 -1 -7 -7 2 -8 -4 -7 -7 -9
4 -1 -8 -9 -8 4 -8 -9 -9 -8
5 -1 -4 -7 -4 -8 4 -9 -8 -9
6 -1 -7 -9 -7 -9 -9 3 -5 -9
7 -1 -7 -8 -7 -9 -8 -5 4 -9
8 -1 -9 -9 -9 -8 -9 -9 -9 4
140B.1.2 Detailed results of the alignment algorithm evaluation on synthetic
data
These are the detailed result for the 5 datasets and 27 configurations used for the synthetic
evaluation, for the three metrics which have thus far only been presented in
aggregated form.
141d-set 1 d-set 2
precision size ratio recall precision size ratio recall
index mean err mean err mean err mean err mean err mean err
0 0.42 0.32 4.13 2.73 1.00 0.00 0.91 0.20 1.23 0.65 1.00 0.00
1 0.89 0.21 1.32 0.93 1.00 0.00 0.96 0.10 1.06 0.25 1.00 0.00
2 0.82 0.30 1.82 1.99 1.00 0.00 0.95 0.13 1.09 0.34 1.00 0.00
3 0.89 0.21 1.29 0.81 1.00 0.00 0.97 0.09 1.06 0.24 1.00 0.00
4 0.45 0.39 5.86 5.50 1.00 0.00 0.55 0.33 3.03 2.61 1.00 0.00
5 0.50 0.39 5.25 5.31 1.00 0.04 0.88 0.23 1.38 1.02 1.00 0.00
6 0.68 0.36 2.81 3.25 1.00 0.00 0.92 0.18 1.18 0.55 1.00 0.00
7 0.23 0.26 8.92 5.61 1.00 0.00 0.42 0.33 4.43 3.24 0.98 0.07
8 0.23 0.26 8.99 5.64 1.00 0.00 0.63 0.37 2.97 2.75 0.99 0.06
9 0.54 0.39 4.69 5.07 0.99 0.07 0.79 0.30 1.74 1.46 1.00 0.02
10 0.85 0.27 1.53 1.27 1.00 0.04 0.94 0.15 1.13 0.42 1.00 0.00
11 0.91 0.19 1.23 0.73 1.00 0.00 0.95 0.12 1.08 0.29 1.00 0.00
12 0.51 0.36 3.70 2.86 1.00 0.00 0.70 0.32 1.95 1.24 1.00 0.00
13 0.58 0.37 3.09 2.53 1.00 0.06 0.90 0.20 1.24 0.64 1.00 0.00
14 0.77 0.32 1.89 1.60 1.00 0.00 0.93 0.16 1.16 0.47 1.00 0.00
15 0.39 0.31 4.35 2.68 1.00 0.00 0.58 0.34 2.50 1.51 0.99 0.04
16 0.49 0.36 3.72 2.75 1.00 0.07 0.71 0.32 1.92 1.22 1.00 0.00
17 0.57 0.36 2.98 2.22 1.00 0.02 0.85 0.25 1.41 0.78 1.00 0.01
18 0.39 0.37 8.68 10.54 1.00 0.00 0.89 0.22 1.30 0.77 1.00 0.00
19 0.79 0.32 2.22 3.11 1.00 0.01 0.94 0.14 1.12 0.40 1.00 0.00
20 0.36 0.39 11.26 12.35 1.00 0.00 0.49 0.35 5.38 6.90 1.00 0.00
21 0.48 0.40 8.45 11.74 1.00 0.00 0.86 0.25 1.43 1.14 1.00 0.00
22 0.70 0.38 4.50 8.19 1.00 0.00 0.93 0.17 1.16 0.52 1.00 0.00
23 0.26 0.34 17.55 14.69 1.00 0.00 0.29 0.34 10.44 8.49 0.98 0.08
24 0.26 0.34 17.89 14.89 1.00 0.00 0.30 0.34 10.29 8.45 0.98 0.07
25 0.47 0.40 8.88 12.30 0.99 0.08 0.76 0.32 2.17 2.84 1.00 0.02
26 0.37 0.33 5.83 4.86 1.00 0.00 0.91 0.20 1.24 0.67 1.00 0.00
d-set 3 d-set 4
0 0.17 0.10 6.96 2.66 0.96 0.13 0.45 0.32 3.66 2.56 1.00 0.00
1 0.04 0.06 6.13 7.33 0.21 0.26 0.90 0.22 1.33 1.02 1.00 0.00
2 0.15 0.16 6.52 5.70 0.63 0.37 0.77 0.32 2.11 2.39 1.00 0.02
3 0.08 0.11 5.28 4.58 0.34 0.35 0.91 0.21 1.27 0.81 1.00 0.00
4 0.11 0.10 6.93 4.86 0.68 0.42 0.30 0.33 8.03 5.72 1.00 0.00
5 0.16 0.20 4.17 4.20 0.48 0.44 0.49 0.38 5.33 5.42 0.99 0.10
6 0.13 0.15 4.40 3.29 0.52 0.44 0.70 0.36 2.77 3.16 1.00 0.02
7 0.10 0.05 10.07 6.50 0.78 0.31 0.30 0.31 7.36 5.34 1.00 0.00
8 0.10 0.06 10.34 6.51 0.81 0.28 0.31 0.32 7.34 5.37 1.00 0.009 0.20 0.31 2.80 1.56 0.41 0.47 0.50 0.38 4.97 5.14 0.99 0.09
10 0.09 0.09 4.22 2.58 0.42 0.42 0.82 0.28 1.58 1.22 1.00 0.00
11 0.06 0.12 3.59 2.24 0.25 0.39 0.91 0.21 1.24 0.69 1.00 0.00
12 0.15 0.10 4.33 2.22 0.71 0.43 0.43 0.32 3.98 2.72 1.00 0.00
13 0.23 0.18 3.41 2.15 0.69 0.40 0.60 0.37 2.93 2.35 0.99 0.12
14 0.16 0.20 3.27 2.01 0.46 0.45 0.75 0.32 1.92 1.59 1.00 0.00
15 0.13 0.06 5.94 2.48 0.78 0.33 0.49 0.34 3.60 2.60 1.00 0.00
16 0.23 0.18 2.95 1.49 0.63 0.40 0.50 0.36 3.71 2.75 0.98 0.13
17 0.26 0.28 2.97 1.71 0.60 0.42 0.62 0.37 2.87 2.39 1.00 0.00
18 0.05 0.05 12.08 7.45 0.51 0.18 0.16 0.20 17.17 14.66 1.00 0.00
19 0.06 0.08 7.89 8.96 0.27 0.26 0.73 0.35 2.92 4.75 1.00 0.03
20 0.09 0.09 11.88 11.49 0.64 0.39 0.20 0.29 18.45 14.15 1.00 0.00
21 0.12 0.15 5.31 5.28 0.44 0.41 0.44 0.40 9.92 12.32 1.00 0.04
22 0.10 0.13 5.72 5.24 0.41 0.41 0.67 0.39 5.05 8.81 1.00 0.04
23 0.10 0.09 17.29 16.14 0.83 0.23 0.15 0.24 21.38 14.20 1.00 0.00
24 0.14 0.18 16.43 16.20 0.80 0.26 0.15 0.24 21.37 14.21 1.00 0.00
25 0.17 0.24 3.09 1.96 0.44 0.44 0.44 0.39 9.77 12.88 0.99 0.08
26 0.08 0.07 7.55 3.85 0.56 0.25 0.27 0.28 7.52 5.27 1.00 0.00
d-set 5
0 0.82 0.24 0.33 0.14 0.25 0.06
1 0.48 0.11 0.39 0.12 0.18 0.04
2 0.67 0.34 0.36 0.13 0.24 0.13
3 0.42 0.12 0.41 0.13 0.16 0.04
4 0.46 0.11 0.41 0.14 0.18 0.04
5 0.52 0.10 0.39 0.11 0.19 0.04
6 0.37 0.10 0.48 0.09 0.17 0.03
7
8
9 0.29 0.03 0.49 0.09 0.14 0.02
10 0.77 0.26 0.38 0.16 0.28 0.10
11 0.65 0.36 0.36 0.12 0.24 0.14
12 0.44 0.10 0.38 0.12 0.16 0.04
13 0.46 0.13 0.46 0.15 0.20 0.04
14 0.44 0.10 0.34 0.10 0.15 0.04
15 0.42 0.14 0.48 0.14 0.18 0.01
16 0.81 0.24 0.34 0.17 0.25 0.06
17 0.75 0.26 0.40 0.18 0.28 0.10
18 0.66 0.35 0.36 0.14 0.24 0.13
19 0.43 0.11 0.40 0.13 0.16 0.04
20 0.51 0.11 0.35 0.10 0.17 0.0321 0.33 0.09 0.49 0.13 0.16 0.03
22 0.31 0.11 0.55 0.18 0.15 0.03
23 0.39 0.04 0.36 0.05 0.14 0.03
24 0.82 0.24 0.34 0.16 0.25 0.06
25 0.75 0.27 0.39 0.17 0.28 0.10
26B.1.3 Expert annotated patterns
These are the reference patterns identified through visual examination of the dataset of
one participant of our data collection campaign. They were selected through side by
side comparison of data for all days, and identifying similar visual structures in the bar
diagrammes. Pattern 1 (Fig. B.1.1) corresponds to the campaign participant spending
a weekend evening and night at the out-of-town second home. Pattern 2 (Fig. B.1.2) is
one of the instances of the campaign participant getting up in the morning and going
to work. Pattern 3 (Fig. B.1.3) is slightly more tenuous: it covers only the proximity
sensor and location, and corresponds to the campaign participant being at work and
busy, hence the phone is stored away, with the screen covered.
14502468
10
12
14
23:02
23:08
23:15
23:21
23:28
23:35
23:41
23:48
23:54
0:01
0:09
0:16
0:23
0:29
0:36
0:42
0:49
0:55
1:02
1:11
1:15
1:22
1:28
1:35
1:41
1:50
1:57
2:03
2:10
2:16
2:23
2:29
2:36
2:42
2:49
2:56
3:02
3:09
3:15
3:22
3:28
3:37
3:41
3:50
3:57
Ori
Batt
Geo
prox
loglux
date
Figure B.1.1.: Reference pattern 1 - evening and night at the week-end home.
14686420
12
10
8:10
8:15
8:21
8:26
8:30
8:37
8:41
8:45
8:50
8:56
9:01
9:05
9:12
9:16
9:20
9:27
9:31
9:38
9:42
9:47
9:51
9:58
10:02
10:06
10:13
10:17
10:22
10:26
10:30
10:37
10:41
10:46
10:52
10:56
11:01
11:07
11:12
11:18
11:23
11:27
11:34
11:38
11:42
11:49
11:53
12:00
12:06
12:11
12:15
12:20
12:26
12:30
12:35
12:41
loglux
prox
Geo
Batt
Ori
date
Figure B.1.2.: Reference pattern 2 - morning and transit to work on a week-day.
14702468
10
12
8:10
8:17
8:24
8:30
8:37
8:43
8:50
8:56
9:03
9:12
9:18
9:25
9:31
9:38
9:44
9:51
9:58
10:04
10:13
10:19
10:24
10:30
10:39
10:46
10:52
10:59
11:05
11:12
11:18
11:25
11:34
11:40
11:47
11:53
12:02
12:09
12:15
12:22
12:28
12:35
12:41
12:50
12:54
13:01
13:10
16:13
16:22
16:29
16:35
16:42
16:48
Geo
prox
date
Figure B.1.3.: Reference pattern 3 - at work, telephone stored or turned over.
148
Complétion combinatoire pour la reconstruction de
r´eseaux m´etaboliques, et application au mod`ele des
algues brunes Ectocarpus siliculosus
Sylvain Prigent
To cite this version:
Sylvain Prigent. Compl´etion combinatoire pour la reconstruction de r´eseaux m´etaboliques, et
application au mod`ele des algues brunes Ectocarpus siliculosus. Bioinformatics. Universit´e de
Rennes 1, 2014. French.
HAL Id: tel-01093287
https://hal.inria.fr/tel-01093287
Submitted on 10 Dec 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.ANNÉE 2014
THÈSE / UNIVERSITÉ DE RENNES 1
sous le sceau de l’Université Européenne de Bretagne
pour le grade de
DOCTEUR DE L’UNIVERSITÉ DE RENNES 1
Mention : Informatique
École doctorale Matisse
présentée par
Sylvain PRIGENT
préparée à l’unité de recherche IRISA – UMR6074
Institut de Recherche en Informatique et Système Aléatoires
ISTIC
Complétion combinatoire
pour la
reconstruction de
réseaux métaboliques,
et application
au modèle des
algues brunes Ectocarpus
siliculosus.
Thèse soutenue à Rennes
le 14 novembre 2014
devant le jury composé de :
Alexander BOCKMAYR
Professeur, Freie Universität, Berlin / Président
Marie BEURTON-AIMAR
Maître de conférences, Bordeaux 2 / Rapporteure
Hubert CHARLES
Professeur, INSA, Lyon / Rapporteur
Claudine MÉDIGUE
Directrice de recherche CNRS, CEA-Genoscope /
Rapporteure
Arnaud MARTIN
Professeur, Université de Rennes 1 / Examinateur
Anne SIEGEL
Directrice de recherche CNRS / Directrice de thèse
Thierry TONON
Maître de conférences UMPC / Co-directeur de thèseI thought there couldn’t be anything as complicated as the universe, until I started
reading about the cell.
par Eric de SilvaRemerciements
Je tiens tout d’abord à remercier mes deux directeurs de thèse, Anne Siegel et Thierry
Tonon. Merci de m’avoir permis de réaliser ce doctorat avec vous et d’avoir été là pendant
ces trois ans. Un grand merci pour votre soutien, qu’il fut professionnel, scientifique ou personnel.
Travailler avec vous, en plus d’être très agréable, fut très enrichissant. Pour tout cela
je vous remercie.
Merci également à Marie Beurton-Aimar, Claudine Médigue et Hubert Charles d’avoir
bien voulu accepter la charge de rapporteur. Je remercie également Alexander Bockmayr et
Arnaud Martin pour avoir accepté de juger ce travail.
J’adresse également mes remerciements à tout le "groupe Symbiose", composé des é-
quipes Dyliss, GenScale et de la plate-forme GenOuest. Merci à tous pour cette ambiance
exceptionnelle qui règne dans nos couloirs, merci pour l’ensemble des discussions (enrichissantes
ou pas, d’ailleurs), pour toutes les activités du midi telles que l’escalade ou la
batucada, et pour tout le reste. Espérons que cela reste comme ça encore longtemps, même
après ce déménagement imposé. Je remercie également aux Nantais, Damien, Jérémie et
Halim, pour les nombreuses discussions tellement intéressantes que nous avons eu, notamment
du point de vue de la fonctionnalité des réseaux. Un merci tout particulier à Nicolas
et Guillaume qui m’ont accompagné dans le bureau pendant tant de temps. Les deux ans
passés avec vous furent tout simplement géniaux, les "pense vite", les courses au retour de
la cafet et tout le reste m’ont beaucoup manqué après votre départ. Merci aussi à Malo qui a
su les remplacer à merveille durant ces derniers mois. Merci également à Coraline, Nathalie,
Valentin et Paulin pour l’ensemble des "cc" qui permettaient à la fois de se distraire, de se
réveiller et d’avancer durant les moments de blocage. Au sein de Symbiose, un merci particulier
à Gaëlle, Mathilde et Vincent pour l’ensemble du temps passé ensemble depuis ce
stage de M2 génial.
Mes remerciement vont également à tout ceux qui m’ont permis de se changer les idées
en dehors des heures de travail, qu’il s’agisse d’Adrien, Olivier et Stéphane, de tous les gens
du Flood, et de l’ensemble des amis de Rennes et d’ailleurs. Tous les citer serait trop long
mais je pense particulièrement à Cécile, Ismahane, Charles, Ludo, Chunky, et tous les autres.
Un grand merci à tout ceux qui m’ont fait découvrir et adorer la vulgarisation scientifique,
qu’il s’agisse de l’association Nicomaque avec le festival Sciences en Cour[t]s ou
toutes les personnes qui participent à l’aventure bioinfo-fr, par le blog ou le chan IRC si
enrichissant.
Un énorme merci à Fréné qui a toujours été là au cours de cette thèse même si ça n’a pas
dû être simple tous les jours.
Je ne peux pas terminer ces remerciements sans penser à l’ensemble de ma famille,
merci à vous tous pour le soutien sans faille pendant ces trois années.
Et enfin merci à toutes les personnes auxquelles je ne pense pas en ce moment mais qui
ont également participé à faire de ces trois années de thèse une expérience inoubliable et
s’étant passée dans les meilleures conditions possibles.Table des matières
Table des matières 1
Introduction 5
1 État de l’art 7
1.1 Biologie des systèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Réseaux métaboliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 Fonctionnalité d’un réseau métabolique : Analyse en Balance de Flux
(ou FBA : Flux Balance Analysis) . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.3 Optimisation d’une fonction objectif . . . . . . . . . . . . . . . . . . . . . 13
1.2.4 Impact de la structure du réseau . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.5 Vérification de la fonctionnalité d’un réseau : Flux Variability Analysis . 15
1.3 Pipeline de reconstruction d’un réseau métabolique . . . . . . . . . . . . . . . . 15
1.3.1 Construction d’une ébauche métabolique . . . . . . . . . . . . . . . . . . 18
1.3.2 Raffinement de l’ébauche métabolique . . . . . . . . . . . . . . . . . . . . 22
1.3.3 Évaluation du réseau final . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.4 Pipelines existants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4 Complétion de réseaux : problèmes d’optimisation induits . . . . . . . . . . . . 24
1.4.1 Panorama général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.2 Optstrain, SMILEY - top-down & MILP . . . . . . . . . . . . . . . . . . . . 26
1.4.3 GapFind, GapFill - bottom-up & MILP . . . . . . . . . . . . . . . . . . . . 27
1.4.4 Christian et al - top-down & stochastique . . . . . . . . . . . . . . . . . . . 29
1.4.5 Network-expansion - bottom-up & optimisation combinatoire . . . . . . 30
1.4.6 Comparaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.5 Reconstruction de réseaux métaboliques pour les algues . . . . . . . . . . . . . . 34
1.5.1 Les réseaux métaboliques chez les plantes . . . . . . . . . . . . . . . . . . 34
1.5.2 Les réseaux métaboliques chez les algues . . . . . . . . . . . . . . . . . . . 34
1.5.3 Pipelines de reconstructions utilisés . . . . . . . . . . . . . . . . . . . . . . 35
1.5.4 Ectocarpus siliculosus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.6 Principaux apports/résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2 Complétion combinatoire de réseau métabolique 41
2.1 Problème d’optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.1.1 Espace de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.1.2 Atteignabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
12 Table des matières
2.1.3 Problème de complétion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.2 Jeux de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.2.1 Impact de la taille des bases de complétion : Ectocarpus siliculosus &
MetaCyc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.2.2 Effet de la taille de la base de données sur la productibilité des cibles . . 45
2.2.3 Fonctionnalité : E. Coli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.1 Heuristiques de résolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.2 Nouvelle méthode d’optimisation dans Network-expansion . . . . . . . . 49
2.3.3 Recherche d’optimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3.4 Impact de la taille de la base . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.4 Impact de la réversibilité sur les performances de Network-expansion . . . . . . 54
2.4.1 Réversibilité dans Network-expansion . . . . . . . . . . . . . . . . . . . . . 54
2.4.2 Nouvelle modélisation ASP de la réversibilité . . . . . . . . . . . . . . . . 55
2.4.3 Impact sur les performances . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.4.4 De Network-expansion à Meneco . . . . . . . . . . . . . . . . . . . . . . . . 57
2.5 Sémantique de productibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.5.1 Impact des cycles sur les différents concepts d’accessibilité . . . . . . . . 57
2.5.2 Comparaison des différentes sémantiques . . . . . . . . . . . . . . . . . . 59
2.5.3 Comparaison des sémantiques qualitatives sur la complétion . . . . . . 61
2.5.4 Fonctionnalité des complétions qualitatives . . . . . . . . . . . . . . . . . 64
2.6 conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3 Pipeline de reconstruction de réseaux à partir de données hétérogènes 69
3.1 Modèle d’application : Ectocarpus siliculosus . . . . . . . . . . . . . . . . . . . . 69
3.2 Construction d’une ébauche du réseau : gestion des données hétérogènes . . . 71
3.2.1 Reconstruction à partir des annotations . . . . . . . . . . . . . . . . . . . 71
3.2.2 Reconstruction à partir d’un réseau métabolique de réference . . . . . . 72
3.2.3 Complémentarité des deux réseaux : outils pour leur fusion . . . . . . . . 72
3.2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.3 Complétion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.3.1 Identification de réactions à ajouter . . . . . . . . . . . . . . . . . . . . . . 73
3.3.2 Filtrage par analyse sémantique . . . . . . . . . . . . . . . . . . . . . . . . 74
3.3.3 Compartimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.4 Curation manuelle du réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.4.1 Score pour chaque réaction . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.4.2 Identification de faux positifs . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.4.3 Ajout de réactions spécifiques . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.5 Validation fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.5.1 Réseau final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.5.2 Analyse par balance de flux . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.6 Le workflow de reconstruction du réseau . . . . . . . . . . . . . . . . . . . . . . . 80
3.6.1 Description du pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.6.2 Outils intégrés dans le pipeline . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Table des matières 3
4 Contribution à l’amélioration des connaissances sur la physiologie des
algues brunes 85
4.1 Ectocarpus siliculosus : ses spécificités . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2 Analyse de la reconstruction automatique du réseau métabolique . . . . . . . . 86
4.2.1 La synthèse des alginates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.2.2 Le cycle du mannitol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.3 Étude de voies métaboliques chez Ectocarpus siliculosus à l’aide du réseau
métabolique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.3.1 Synthèse des acides aminés aromatiques . . . . . . . . . . . . . . . . . . . 88
4.3.2 Synthèse du molybdenum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.4 Réannotation des gènes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Conclusion et perspectives 99
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Bibliographie 118
Table des figures 119
Annexes 122
A Liste des molécules utilisées lors de l’étude de l’efficacité de Meneco 125
B Code ASP original de Network-Expansion 127
B.1 ASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
B.2 Network-Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
B.3 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
C Réannotation de gènes 1334 Table des matièresIntroduction
Cette thèse a porté sur le développement de méthodes génériques de reconstruction
de réseaux métaboliques à l’échelle génomique, c’est-à-dire des cartes complètes de réactions
biochimiques qui transforment des molécules en d’autres molécules, pour des organismes
eucaryotes. Cette méthode a été appliquée à la reconstruction du premier réseau
métabolique du modèle des algues brunes, Ectocarpus siliculosus, et a permis de mieux
comprendre la biologie et l’histoire évolutive des algues. Ce travail est ainsi naturellement
interdisplinaire : pour réaliser la chaine complète d’analyse et d’interprétation, il a été né-
cessaire de proposer des contributions en informatique, bioinformatique, et biologie.
Classiquement, la reconstruction d’un réseau métabolique s’articule en trois points : la
création d’une ébauche métabolique à partir des différentes informations comprises dans le
génome, la complétion de cette ébauche métabolique pour être en accord avec les connaissances
biologiques et enfin la vérification du résultat obtenu. Ces travaux ont mis en évidence
que les différentes approches de reconstruction existantes ne pouvaient pas s’appliquer
aux espèces eucaryotes non classiques à cause de deux écueils majeurs.
Tout d’abord les connaissances sur les espèces non classiques sont trop éparses pour reconstruire
une ébauche métabolique correcte permettant une complétion manuelle. Pour
palier à cette difficulté, nous nous proposons d’étudier un problème d’optimisation combinatoire
qui permet de formaliser la question de la complétion automatique d’un réseau.
Pour résoudre ce problème combinatoire, l’objectif de ce document sera de tirer profil d’un
paradigme de programmation par contraintes relativement récent, la Programmation par
Ensemble Réponse (ou Answer Set Programming, ASP). Une modification d’un modèle existant
en ASP sera proposée pour améliorer la pertinence biologique de la modélisation et
rendre la résolution efficace et applicable à l’échelle des applications visées. Plus généralement,
la question de la pertinence biologique du modèle sous-jacent au problème tel que
formalisé sous sa forme combinatoire fait l’objet d’une attention toute particulière.
D’autre part, ce travail de thèse s’est heurté à la nécessité de travailler avec des sources
de données très différentes pour permettre la reconstruction d’un réseau. L’utilisation de ces
sources multiples et hétérogènes nécessite de travailler sur leur unification avant et pendant
leur intégration dans le réseau. Il s’avère également nécessaire de traiter a posteriori les ré-
sultats des méthodes automatiques de reconstruction pour leur donner une signification
biologique. Pour donner globalement du sens fonctionnel aux résultats des analyses automatiques,
on s’appuiera à la fois sur des approches liées à la représentation des connaissances
et aux études de séquences biologiques.
Comme nous le verrons, ces apports méthodologiques ont permis de développer un pipeline
de reconstruction de réseaux métaboliques s’appuyant sur un ensemble de données
biologiques telles que des données génomiques, transcriptomiques ou de profilage méta-
56 Introduction
bolique. Ce pipeline a permis de reconstruire le premier réseau métabolique du modèle des
algues brunes, Ectocarpus siliculosus. Cependant, sa valeur ajoutée réside aussi dans son
exploitation dans le monde de la biologie. Ainsi, nous détaillerons comment l’étude du ré-
seau a permis, en collaboration avec la station biologique de Roscoff, de mieux comprendre
la biologie de cette algue, notamment sur deux aspects : une annotation de nouveaux gènes
ou une réannotation de gènes, et une meilleur compréhension de l’histoire évolutive et du
métabolisme de cette algue.
Une fois cette preuve de concept réalisée pendant la thèse sur cette algue brune, la
méthode proposée est actuellement en cours d’application et d’amélioration en utilisant
d’autres organismes, ce qui ouvre la voie à différentes perspectives de nature inforamtique,
bio-informatique et biologiques.Chapitre 1
État de l’art. Reconstruction de
réseaux métaboliques et applications
à des modèles d’algues
Dans ce chapitre de bibliographie, nous allons présenter une introduction aux diffé-
rentes problématiques informatique et bioinformatique liées à la reconstruction de réseaux
métaboliques. Nous nous concentrerons en particulier sur les questions d’optimisation,
qu’elle soit combinatoire ou linéaire, et sur les questions liées à la représentation des connaissances
sous-jacentes dans cette problématique. En particulier, ces questions seront abordées
en ayant à l’esprit des applications sur des organismes eucaryotes non classiques, tels
que les algues brunes qui seront notre modèle d’application.
Dans ce chapitre, nous commencerons par une étude globale de la biologie des systèmes
dans la partie 1.1 avant de se concentrer sur les réseaux métaboliques et les études possibles
à partir de ceux-ci (partie 1.2). Nous présenterons ensuite les différentes méthodes existantes
de reconstructions de réseaux métaboliques dans la partie 1.3. Nous nous concentrerons
alors sur une étape cruciale de reconstruction de réseaux métaboliques, qui sera
particulièrement étudiée dans cette thèse : la complétion des réseaux métaboliques (partie
1.4). Cette thèse s’attachant plus particulièrement au développement du réseau métabolique
d’une algue brune, Ectocarpus siliculosus, nous verrons enfin les différentes reconstructions
de réseaux métaboliques ayant eu lieu jusqu’à présent chez des algues dans la
partie 1.5.
1.1 Biologie des systèmes
Depuis les années 1990, les données de biologie moléculaire s’accumulent avec le développement
des techniques dites "omiques" [Pal02]. La granularité et la quantité de données
produites permet aujourd’hui d’étudier les systèmes biologiques à un niveau beaucoup plus
fin qu’au 20ème siècle, au moment où Jacob et Monod décrivaient le fonctionnement de
l’opéron lactose et les mécanismes de régulation géniques[JM61].
Pour les espèces les plus étudiées (commeEscherichia coli, la drosophile, la souris, l’humain
ou encore Arabidopsis thaliana) et de plus en plus pour les espèces non classiques,
nous possédons actuellement l’ensemble du génome, du transcriptome, du protéome et du
78 État de l’art
métabolome, un des séquençages de génome le plus connu étant bien évidemment celui
du génome humain [LLB+01]. Le domaine de la biologie des systèmes s’est naturellement
développé pour permettre d’intégrer l’ensemble de ces connaissances par des approches
informatiques et mathématiques. L’objectif est de modéliser in silico la réponse des diffé-
rentes espèces à différentes perturbations génétiques ou environnementales en ne limitant
plus les études à l’effet d’un seul gène ou d’une protéine, mais à l’étude du comportement
d’une cellule dans son ensemble, voire à moyen terme d’un organe ou d’un organisme entier.
[Kit01] défini quatre points essentiels à l’étude de systèmes biologiques par la biologie
des systèmes : la conception du système étudié, sa structure, sa dynamique et enfin le
contrôle de ce système. Si l’étude fine de la dynamique et le contrôle d’un modèle semblent
a priori les plus intéressants pour analyser la réponse globale d’un système à des modifi-
cations internes et/ou externes, les deux premiers points sont tout aussi intéressants à étudier.
Ils sont non seulement indispensables dans le processus d’analyse mais intéressants en
eux-mêmes. En effet, la reconstruction et l’étude "structurelle" du système étudié sont indispensables
à des études plus fines. Mais au delà de ça, la reconstruction même du système
à étudier apporte des connaissances sur l’organisme ou les organismes étudiés via l’étape
compliquée de représentation des connaissances nécessaire. De même l’étude de la structure
du système (la plupart du temps sous forme de réseau) peut apporter de nombreuses
nouvelles connaissances.
Désormais les différents composés d’un système biologique (ADN, ARN, protéines, ...)
ne seront plus étudiés un à un mais tous ensemble. L’interaction entre ces différentes entités
sera la pierre angulaire de la biologie des systèmes. Nous pouvons décomposer ces interactions
en trois types de réseaux, comme illustré dans la Figure 1.1 [MCR+11] :
– Les réseaux de signalisation [JLI00] vont permettre de décrire l’ensemble des mécanismes
qui permettent à une cellule de répondre rapidement aux modifications de
son environnement en transmettant rapidement de l’information au sein de la cellule.
Cela se fera notamment par l’activation de différents récepteurs membranaires
qui pourront conduire à l’activation ou l’inhibition de gènes.
– Les réseaux de régulation génique [DL05] vont regrouper l’ensemble des interactions
relatives à la régulation de l’expression des gènes d’une espèce. Cette régulation pourra
avoir en particulier lieu via des facteurs de transcription. La transcription de ces facteurs
de transcription sera elle-même régulée par d’autres protéines.
– Les réseaux métaboliques vont regrouper l’ensemble des réactions métaboliques pré-
sentes au sein d’un système, c’est-à-dire des transformations chimiques de molécules
au sein de l’organisme. Ces réactions sont catalysées par des enzymes qui sont des
protéines codées par des gènes.
Dans son article de référence, Kitano [Kit01] introduit quatre points essentiels à l’étude
de systèmes biologiques : étudier la structure du système, puis sa dynamique, le contrôler,
et enfin concevoir des systèmes minimaux vérifiant des propriétés fixées.
Pour mieux comprendre ces aspects, nous pouvons nous référer à une analogie entre un
réseau biologique et un réseau routier.
Ainsi nous pouvons analyser la structure d’un graphe découlant de l’analyse de données
biologiques de la même manière que nous pouvons analyser une carte routière. Il est
par exemple possible de chercher le chemin le plus court entre deux endroits (molécule ou
ville), de regarder les nœuds du réseau qui sont les plus connectés au reste du réseau (qui
pourraient correspondre à une molécule ou une ville plus importante que les autres), etc.Biologie des systèmes 9
FIGURE 1.1: Représentation des principaux processus se produisant dans une cellule. La
cellule reçoit des signaux extérieurs qui engendrent des cascades de signalisation à l’inté-
rieur de la cellule. Ces signaux et les cascades induites sont étudiées dans les réseaux de signalisation.
Ce signal arrive jusqu’au noyau et engendre une régulation de l’expression des
gènes. Cette régulation sera étudiée par les réseaux de régulation géniques. Les gènes sont
ensuite transcrits en ARN messagers qui pourront être traduits en protéines. Certaines de
ces protéines (appelées enzymes) pourront catalyser des réactions métaboliques qui transformeront
les molécules présentes à l’intérieur de la cellule ou importées de l’extérieur. Ces
réactions sont étudiées dans les réseaux métaboliques.10 État de l’art
Les différents types de réseaux mentionnés ci-dessus ont fait l’objet d’analyses statiques
variées, mettant en évidence des structures différentes en fonction de la nature des ré-
seaux, ainsi que des motifs caractéristiques. Nous pouvons par exemple citer les travaux de
[JTA+00] qui ont montré que les réseaux métaboliques semblent suivre une structure sans
échelle, faisant de ces réseaux des réseaux petit monde. Si une structure globale semble exister
dans les réseaux biologiques, il en va de même à un niveau plus précis. Ainsi [Alo07] a
distingué et classé de nombreux motifs revenant souvent dans les réseaux biologiques.
Nous pouvons aussi étudier un réseau routier de manière dynamique en ne regardant
plus seulement la structure de la carte routière mais les différentes entités qui utilisent ce ré-
seau et les flux qui y circulent. Certaines sont relativement grosses et lentes, et se déplacent
habituellement entre des endroits précis prévus à l’avance. D’autres seront plus petites et
imprévisibles. L’étude des interactions au cours du temps entre ces différents acteurs permettra
de mieux comprendre la réalité d’un réseau routier, comparé à la seule étude de la
structure des routes. On pourra d’abord prédire l’importance des flux qui passent sur le ré-
seau routier, identifier les dépendances entre ces flux, y compris éloignés, et l’impact de
modifications locales sur l’état global du trafic. On pourra ensuite identifier les points de
contrôle de ce trafic pour mieux le réguler ou optimiser son comportement. Des méthodes
très variées ont été développées pour étudier la dynamique des réseaux biologiques, mé-
thodes qui peuvent être numériques, qualitatives, ou stochastiques en fonction des informations
disponibles sur la réponse du système et de la nature des interactions en jeu. Nous
pouvons par exemple citer les travaux de Cornish-Bowden sur les cinétiques enzymatiques
[CB79] permettant aux modélisations continues du métabolisme de se développer.
Cette thèse va se concentrer sur la toute première étape de ce processus, la reconstruction
de cartes métaboliques, en particulier chez des espèces non classiques pour lesquelles
la quantité d’information en notre possession est limitée.
1.2 Réseaux métaboliques
1.2.1 Définition
Un réseau métabolique est défini comme un graphe dirigé biparti :
– un des ensembles de nœuds est constitué par des métabolites au sein de la cellule,
– l’autre ensemble nœuds correspond à des réactions métaboliques, qui tranforment
un certain nombre de métabolites en d’autres métabolites, souvent sous l’action d’un
catalyseur appelé enzyme. La réaction peut-être unidirectionnelle (irréversible) ou bidirectionnelle
(réversible), en fonction des conditions intra-cellulaires.
La figure 1.2 montre une représentation graphique de deux réactions, la première (R1)
transforme une molécule A en une molécule B et est irréversible. La seconde (R2) réalise
une transformation conjointe des molécules B etC pour produire D. Cette seconde réaction
est réversible.
Ces réactions sont habituellement associées à des gènes via une GPR (Gene Protein Relation).
Ainsi, chaque réaction est associée à une ou plusieurs enzymes qui vont catalyser
les réactions présentes dans le réseau. Ces enzymes sont elles-mêmes obtenues via la transcription,
la traduction, et éventuellement la modification post-transcriptionnelle de un ou
plusieurs gènes. De manière générale les enzymes ne sont pas représentées dans les réseaux
métaboliques. Le lien est directement fait entre une réaction et un ou plusieurs gènes. LesRéseaux métaboliques 11
A R1 B
R2 D
C
FIGURE 1.2: Représentation graphique d’un réseau métabolique composé de deux réactions.
La première réaction (R1) est irréversible et produit B à partir de A. La seconde (R2)
transforme B + C en D de manière réversible.
éventuelles modifications post-traductionnelles influençant l’activité des enzymes ne sont
pas prises en compte à ce niveau mais pourront être ajoutées directement dans la structure
du réseau ou en tant que surcouches de celui-ci.
Durant les cinquante dernières années, les réseaux métaboliques ont été exploités dans
de nombreux domaines de la biologie. Nous pouvons en citer deux particulièrement notables.
En biologie évolutive, l’étude de réseaux métaboliques, souvent sous la forme de
structure de graphe, a permis une meilleure compréhension de la biologie et de l’histoire
évolutive des organismes étudiés. Dans ces approches, des alignements de séquences permettent
de suggérer une fonction de nature enzymatique pour un ensemble de gènes donnés.
La comparaison des voies métaboliques entre différentes espèces et l’identification
d’enzymes spécifiques aux espèces étudiées permet de comprendre globalement l’histoire
des espèces ciblées d’un point de vue fonctionnel [FMP03].
Inspiré par les biotechnologies, l’étude des réseaux métaboliques a fait l’objet d’études
extrêmement nombreuses durant les 20 dernières années, en particulier des dépendances
induites par les conservations de masse et les stœchiométries des réactions. Un exemple
phare est l’étude de la régulation du métabolisme des globules rouges humains réalisé par
[PRP+03], de même que tous les travaux sur le fonctionnement optimal du métabolisme
d’Escherichia Coli. Ces approches s’appuient sur la décomposition en modes élémentaires
de voies métaboliques et des techniques d’optimisation linéaire [SDF99, PVPF04]. On se
dirige maintenant vers la biologie synthétique et la production contrôlée de métabolites
d’intérêt, par exemple pour l’agroalimentaire ou l’industrie pétrolière [BS05, PW09]. Dans
cette direction, de nouvelles questions d’optimisation apparaissent actuellement, telles que
le calcul de "capacitance" permettant d’identifier les réactions chimiques à ajouter dans un
réseau métabolique pour maximiser la production d’un métabolite donné [LBG+12].
Durant cette thèse, nous nous concentrerons essentiellement sur le premier de ces deux
points, en étudiant les points informatiques bloquants pour la reconstruction automatique
de réseaux métaboliques pour des organismes non-classiques, et ce qu’on peut en déduire
en terme de nouvelles connaissances biologiques sur l’espèce considérée. Les méthodes
d’optimisation linéaire utilisées dans les approches de nature biotechnologiques seront plutôt
utilisées comme validation des résultats. L’exploitation et le raffinement des réseaux
d’espèces non-classiques pour permettre leur étude et leur contrôle sont pour l’instant envi-12 État de l’art
sagé dans le cadre de perspectives. Les questions que nous allons développer vont porter sur
les questions d’optimisation combinatoire et les questions de représentation des connaissances
qui permettent de reconstruire un réseau métabolique.
1.2.2 Fonctionnalité d’un réseau métabolique : Analyse en Balance de Flux (ou
FBA : Flux Balance Analysis)
Pour tester et valider les méthodes qui vont être discutées dans cette thèse, nous utiliserons
principalement un critère de fonctionnalité quantitative. Dans ce but, nous introduisons
ici les différents éléments permettant de modéliser cette fonctionnalité.
La FBA est une technique d’analyse quantitative de la fonctionnalité de réseaux, et en
particulier de réseaux métaboliques. Elle va permettre de simuler le métabolisme d’une cellule
et de connaître la distribution des flux de matière passant à travers les réactions lorsqu’un
modèle est à l’état stable. Le calcul est très rapide même pour de très grands réseaux.
Cette technique permet de faire de l’ingénierie, de simuler la réponse des cellules à diffé-
rentes conditions, des délétions de gènes, etc. La FBA se différencie des méthodes classiques
d’étude de réseaux utilisant des systèmes d’équations différentielles par la rapidité de calcul
et le peu d’informations nécessaire aux simulations. Ainsi il n’y a pas besoin de connaître les
constantes cinétiques des enzymes ou encore la concentration des métabolites internes au
système pour pouvoir effectuer des simulations.
Cette approche est basée sur l’hypothèse que le système métabolique est à un état stationnaire,
qui implique que des cellules en culture dans des conditions données utilisent
l’ensemble des nutriments à leur disposition pour créer de la biomasse. Étant donné qu’il
n’y a ni création, ni de perte de matière, les entrées dans le modèle (les nutriments) correspondront
parfaitement à la production de biomasse qui est représentée par les métabolites
de l’organisme. D’un point de vue mathématique, le réseau sera représenté par une matrice
stœchiométrique S formée de n lignes et m colonnes. Chaque ligne représentera un
métabolite et chaque colonne une réaction. Les chiffres présents dans cette matrice correspondront
aux coefficients stœchiométriques des réactions. Par exemple les réactions :
R1 : 2A +3B → 2C +D
R2 : 3C +2A → 4E
correspondent à la matrice stœchiométrique représentée en table 1.1.
TABLE 1.1: Exemple de matrice stœchiométrique
R1 R2
A -2 -2
B -3 0
C 2 -3
D 1 0
E 0 4
Les réseaux métaboliques mettent en jeu un grand nombre de réactions (de l’ordre du
millier), et chaque réaction implique en général moins d’une dizaine de métabolites diffé-
rents. De plus, dans un réseau métabolique, le nombre de métabolites correspond environRéseaux métaboliques 13
à l’ordre de grandeur de la taille du réseau (de l’ordre du millier de métabolites). À partir de
là, il ressort immédiatement que la matrice stœchiométrique est une matrice creuse, contenant
moins d’une dizaine de valeurs non nulles par colonne.
Une des hypothèses fondamentale de la FBA consiste à considérer que lors de l’étude
du système, celui-ci se situe à "un état stationnaire". D’un point de vue mathématique, cela
se représente par une contrainte simple :
S.v = 0,
avec S la matrice stœchiométrique, v un vecteur de flux dont la taille fait le nombre de réactions
dans le modèle, et vi
le flux passant dans une réaction i. Ce flux correspond à la quantité
de matière qui passe à travers chaque réaction pour que le système soit à l’état stable. Il
est bien évidemment possible d’avoir plusieurs vecteurs v qui satisfont cette contrainte.
Une fois cette contrainte émise, on va pouvoir travailler sur le reste du système. Pour
cela, on aura un autre type de contrainte : les bornes de flux pour chaque réaction. En effet,
chaque réaction ne pourra avoir qu’une quantité de flux comprise entre une borne infé-
rieure et une borne supérieure qui passera à travers elle. Typiquement, une réaction irré-
versible aura par exemple toujours une borne inférieure qui sera positive ou nulle et une
bonne supérieure positive. D’autre part, une réaction réversible aura forcément une borne
inférieure négative et une borne supérieure positive.
1.2.3 Optimisation d’une fonction objectif
Une fois ces deux contraintes posées (état stable et bornes sur les flux des réactions),
reste à savoir ce que l’on souhaite modéliser. Habituellement, le choix se porte sur une maximisation
de la biomasse. Le concept de "biomasse" représente le poids sec d’une cellule,
c’est à dire la somme des quantités de chacun de ses composants les plus importants. Elle
se calcule sous la forme d’une combinaison linéaire Z = c
T
v dépendant des flux traversant
le réseau. Le vecteur Z peut être estimé par des techniques de biologie permettant de mesurer
la concentration des composés au sein d’une cellule, ou il peut être estimé en se basant
sur des biomasses précédemment définies chez des espèces proches physiologiquement.
Lors de l’étude, cette fonction de biomasse sera maximisée. Au final le problème peut être
représenté de la manière suivante (pour une matrice S de taille N xM) :
Maximiser Z = c
T
v
Avec : X
M
j=1
Si j v j = 0,∀i ∈ 1..N
v
min
j ≤ v j ≤ v
max
j
,∀j ∈ 1..N
Un vecteur de flux v qui permettra d’obtenir l’ensemble des métabolites de la fonction
objectif dans les proportions voulues sera produit par les algorithmes de résolution de ce
problème. Le vecteur c est alors un vecteur de poids qui représente la proportion dans laquelle
chaque réaction de v participe à l’objectif. Étant donné qu’habituellement une seule
réaction (la réaction de biomasse) est comprise dans l’objectif, le vecteur c est entièrement14 État de l’art
constitué de 0 et de un seul 1 à la position d’intérêt. Il est cependant possible d’optimiser
une combinaison de plusieurs réactions
Différents outils existent pour réaliser des études de FBA sur des réseaux métaboliques.
Le plus connu et le plus utilisé est la Cobra Toolbox [BFM+07] pour Matlab. Si l’outil est disponible
librement, il est à noté qu’il tourne sur une plateforme (Matlab) qui n’est ni libre ni
gratuite, bien que présente dans la plupart des laboratoires d’informatique et de bioinformatique.
En revanche, la plupart des laboratoires de biologie ne sont pas équipés de cette
plateforme, ce qui limite son utilisation dans ces laboratoires. On peut en revanche signaler
qu’une implémentation en Python de la Cobra Toolbox existe, appelée CobraPy [ELPH13],
elle aussi totalement libre et gratuite et ne nécessitant pas l’installation préalable de Matlab
ou de solveur payants.
Les résultats prédits par les analyses basées sur ces concepts sont nombreux et variés.
Nous pouvons par exemple citer la prédiction du comportement d’un système à l’inactivation
d’un gène [EP00, BES+01], la prédiction de croissance cellulaire [EIP01, IEP02], la
modification de la performance d’un réseau métabolique suite à une déletion ou une addition
de gènes [BVM01] ou encore la suggestion d’inactivation de gènes afin d’augmenter la
production de métabolites [BPM03, PBM04].
En ce qui concerne le sujet de cette thèse (reconstruction des réseaux métaboliques), ces
méthodes sont utilisées principalement pour vérifier la fonctionnalité des réseaux reconstruits,
via la définition d’une fonction de biomasse ou de cibles métaboliques prédéfinies.
1.2.4 Impact de la structure du réseau
L’analyse de réseaux par balance des flux se heurte aujourd’hui à un problème : l’utilisation
de la stœchiométrie des réactions. En effet, si celle-ci est déterminante dans l’analyse,
elle n’est pas toujours connue précisément et peut même, parfois, ne pas être déterminable.
Nous pouvons par exemple citer les réactions de production de certaines molé-
cules telles que les acides gras qui, en s’allongeant, produisent toujours la même molécule
(f at t y aci d + molecule → same f at t y aci d). Ce genre de réactions seront souvent retirées
du système et pas prise en compte. De plus une des hypothèses de base de la FBA
consiste à avoir un système à l’état stable. Or on ne peut considérer qu’un système biologique
est à l’état stable uniquement quand celui-ci n’est pas perturbé. Ainsi l’utilisation de
la FBA pour étudier des modifications de l’environnement, de conditions de stress ou de
systèmes de régulation peut se trouver limitée [RC09].
Dans le même esprit, on note une certaine instabilité des tests de fonctionnalité. Les
implémentations et les vérifications inclues dans les suites logicielles liées aux réseaux mé-
taboliques ne sont pas toujours explicites et peuvent procéder à des transformations cachées
qui peuvent avoir un impact important sur la fonctionnalité des réseaux. Ainsi, le ré-
seau EcoCyc [KCVGC+05] présent dans la banque MetaCyc est présenté comme fonctionnel
par le logiciel Pathway Tools, qui inclut sa propre vérification de production de biomasse
par FBA [LKTK12]. Or, si nous récupérons le réseau directement depuis Pathway Tools pour
tenter d’appliquer des techniques de FBA sur ce modèle, en utilisant la même fonction de
biomasse, le réseau devient étrangement non fonctionnel. Il semblerait que Pathway Tools
procède à des opérations de dégénéricisation de réactions qui transforment complètement
le résultat des analyses.Pipeline de reconstruction d’un réseau métabolique 15
De nombreuses méthodes ont été dérivées du cadre du FBA pour étudier les réseaux
métaboliques. On se référera par exemple à la figure 1.3 tirée de [PRP04] pour un panorama
de ces méthodes.
Parmi ces méthodes, nous voudrions insister sur une approche particulièrement utile
pour vérifier la fonctionnalité des réseaux et le rôle de certaines réactions en leur sein, l’analyse
de variabilité de flux (figure 1.3, 11).
1.2.5 Vérification de la fonctionnalité d’un réseau : Flux Variability Analysis
Lors de l’utilisation de techniques de FBA, nous obtenons habituellement une solution
qui optimise une fonction objective, comme par exemple une fonction de biomasse. Cependant,
il peut exister des optimaux alternatifs à cette solution. L’analyse de variabilité de flux
(ou Flux Variability Analysis, FVA) [GT10] va permettre d’étudier ces optimaux alternatifs.
Nous pourrons ainsi obtenir les flux minimaux et maximaux possibles pour chaque réaction
tout en maintenant la fonctionnalité du réseau. Cette fonctionnalité globale pourra être soit
complète (on garde le même optimum), soit suboptimale si on ne garde qu’une partie de
l’optimum.
L’étude d’un réseau par FBA (décrite précisément au-dessus) nous permet d’obtenir la
valeur de l’optimum souhaité. Une fois cet optimum fixé, la FVA nous permettra de connaitre
les plages de flux pour chaque réaction qui permettent d’obtenir cet optimum. On pourra
ainsi définir différents types de réactions :
– Les réactions obligatoires : la plage de flux passant à travers elles sera toujours positive
– Les réactions bloquées : les flux seront nuls dans tous les scénarios possibles
– Les réactions "accessoires" : les flux pourront être nuls ou non
Les études de FVA peuvent se faire soit en conservant l’optimum inchangé, soit en prenant
des sous-optimums. D’un point de vue mathématique, on aura donc pour les plages
de flux correspondant parfaitement à l’objectif Z :
Maximiser ou minimiser v j
Avec : Sv = 0
v
min ≤ v ≤ v
max
Z
t
v = Zob j
Pour obtenir les plages de flux correspondant à des solutions sous-optimales, il suffit de
remplacer Z
t
v = Zob j par Z
t
v ≥ Zob j .γ avec γ ∈ [0;1] (plus gamma est proche de 1, plus on
est proche de l’optimum).
Différentes implémentations de la FVA existent, en utilisant des plateformes telles que
Matlab ou fonctionnant par elles-mêmes. Nous pouvons notamment citer fastFVA [GT10]
compilé en tant que programme Matlab et qui peut utiliser les solveurs GLPK ou CPLEX.
1.3 Pipeline de reconstruction d’un réseau métabolique
Le développement des techniques de séquençage haut débit et leur coût de plus en plus
faible, couplé au développement des autres méthodes "omiques" permettant d’obtenir de16 État de l’art
Application of
constraints
Energy and
biomass constituents
Network
reconstruction
Allowable
solution space
Genomics, physiology
and biochemistry
v3
v2
v1
15 Sampling
v1 min v1 max
v2 max
v2 min
11 Flux variability
vnet = 0
9 Energy balance
analysis
Line of
optimality
6 Phenotypic phase
plane analysis
Cj
Ci
16 Bi-linear
concentration cone
1 Identifying optimal
solutions An optimal
solution
2 Robustness
Flux through vi Maximal biomass yield
Time (hours)
Biomass (g L–1)
3 Dynamic simulations
Model predictions
Experimental data
4 Convex basis vectors
7 Alternate optima
Equivalent
optimal solutions
8 Regulatory
constraints
EP1 EP2 EP3 EP4
α-weightings
12α-spectrum
13 OptKnock
Biomass production
Metabolite production
Knockout
Wild type
5 Gene deletions
10 Finding objective
functions
14 Flux coupling
Uncoupled
Fully coupled
Partially coupled
Directionally
coupled
vi
/vj
a
c
b
FIGURE 1.3: Les méthodes classiques à base de contraintes pour l’analyse de réseaux mé-
taboliques [PRP04]. La construction de l’espace des solutions est représentée au centre, les
méthodes d’analyse de cet espace des solutions sont représentées autour.Pipeline de reconstruction d’un réseau métabolique 17
grandes quantités de données, nous permet aujourd’hui d’avoir de grandes quantités d’informations.
Ces informations, combinées entre elles, sont aujourd’hui suffisantes pour reconstruire
des réseaux métaboliques. Ces réseaux peuvent être de taille et de qualité très
variables.
Dans un récent article [MNP14] les réseaux métaboliques existant en février 2013 ont
été étudiés, notamment du point de vue de la couverture phylogénétique des espèces modélisées.
La figure 1.4 présente un arbre de l’ensemble de ces reconstructions. Il en ressort
qu’un très grande majorité des réseaux métaboliques à l’échelle génomique appartiennent
au règne bactérien, et notamment aux protéo-bactéries. À l’inverse les eucaryotes et les
archaea-bactéries sont sous représentées, avec de nombreux phylum totalement non représentés.
Deinococcus-Thermus
Nitrospirae
Caldiserica
Armatimonadetes
Dictyoglomi
Elusimicrobia
Gemmatimonadetes
Aquif cae
Deferribacteres
Chrysiogenetes
Thermodesulfobacteria
Planctomycetes
Spirochete
Aminanaerobia
Xenarchaea
Nanoarchaeota
Ignavibacteria Aigarchaeota
Chlorobi
Tardigrada
Onychophora
Echinoderms
Xenoturbellida
Hemichordata
Chaetognatha Basidomycota
Chromerida
Firmicutes (8)
Actinobacteria (6)
Proteobacteria (32)
Cyanobacteria (3)
Tenericutes (2)
Thermotogae (1)
Chlorof exi (1)
Bacteroidetes (1)
Crenarchaeota (1)
Euryarchaeota (4)
Arthropoda (2)
Streptophyta (2)
Chlorophyta (2)
Apicomplexa (2)
Euglenozoa (1)
Ascomycota (8)
Chordata (2)
Bacteria
Archaea
Eukaryota
{
Unrepresented phyla:
No metabolic
reconstruction
exists
Blue: Reconstructed phylum
(count of metabolic reconstructions)
Red: Unrepresented phylum
(no metabolic reconstructions exist)
P. aeruginosa
P. putida
B. aphidicola
Y. pestis
S. typhimurium
E. coli
K. pneumoniae
S. glossinidius
A
A. sp ADP1
. baumannii AYE
H. inf uenza
V. vulnif cus
C. salexigens
S. oneidensis
F. tularensis
R. etli
S. meliloti
M. extorquens
K. vulgarum
Z. mobilis
G.
sulfurreducens
P. propionicus
C. jejuin
H. pylori
B. cenocepacia
C. necator
N. meningitdis i
L. lact si
L. plantarum
S. aureus
B. subtilis
C. beijerinickii
C. acetobutylicum
R. erythropolis
C. glutamicum
M. tuberculosis
S. erythraea
A. balhimycina
S. coelicolor
A. platensis
P. gingivalis
T. maritima
S. pombe
A. nidulans
A. oryzae
A. niger
S. stipitis
Y. lipolytica
S. cerevisiae
K. pastoris
H. sapiens
D. melanogaster
C. hominis
P. falciparum
A. thaliana
Z. mays
C. reinhardtii
L. major
N. pharaonis
H. salinarum
M. acetivorans
M. barkeri
S. solfataricus
M. succiniciprod.
C. thermocellum
S. thermophilus
R. sphaeroides
G. metallireducens
R. ferrireducens
Cyan. AT
Syn. PCC 6803
CC 51142
M. genitalium
M. pneumoniae
D. ethenogenes
M.
musculus
P. carbonicus
FIGURE 1.4: Couverture phylogénétique des reconstructions de réseaux métaboliques en
février 2013[MNP14].
Pour tenter d’ homogénéiser les reconstructions, Thiele et Palsson [TP10] ont décrit une
méthodologie globale de reconstruction de réseaux métaboliques. La figure 1.5 tirée de cet
article résume l’ensemble de ce processus, qui sera décrit plus précisément par la suite. Une
analyse proposée par [HR14] reprend cette méthodologie en étudiant des outils de reconstruction
de réseaux métaboliques bactériens existants et réalisant plus ou moins automati-18 État de l’art
quement certaines des étapes de reconstruction.
1. Draft reconstruction
1| Obtain genome annotation.
2| Identify candidate metabolic functions.
3| Obtain candidate metabolic reactions.
4| Assemble draft reconstruction.
5| Collect experimental data.
2. Refinement of reconstruction
6| Determine and verify substrate and cofactor usage.
7| Obtain neutral formula for each metabolite.
8| Determine the charged formula.
9| Calculate reaction stoichiometry.
10| Determine reaction directionality.
11| Add information for gene and reaction localization.
12| Add subsystems information.
13| Verify gene−protein-reaction association.
14| Add metabolite identifier.
15| Determine and add confidence score.
16| Add references and notes.
17| Flag information from other organisms.
18| Repeat Steps 6 to 17 for all genes.
19| Add spontaneous reactions to the reconstruction.
20| Add extracellular and periplasmic transport reactions.
21| Add exchange reactions.
22| Add intracellular transport reactions.
23| Draw metabolic map (optional).
24−32| Determine biomass composition.
33| Add biomass reaction.
34| Add ATP-maintenance reaction (ATPM).
35| Add demand reactions.
36| Add sink reactions.
37| Determine growth medium requirements.
3. Conversion of reconstruction
into computable format
38| Initialize the COBRA toolbox.
39| Load reconstruction into Matlab.
40| Verify S matrix.
41| Set objective function.
42| Set simulation constraints.
4. Network evaluation
43−44| Test if network is mass-and charge balanced.
45| Identify metabolic dead-ends.
46−48| Perform gap analysis.
49| Add missing exchange reactions to model.
50| Set exchange constraints for a simulation condition.
51−58| Test for stoichiometrically balanced cycles.
59| Re-compute gap list.
60−65| Test if biomass precursors can be produced in standard medium.
66| Test if biomass precursors can be produced in other growth media.
67−75| Test if the model can produce known secretion products.
76−78| Check for blocked reactions.
79−80| Compute single gene deletion phenotypes.
81−82| Test for known incapabilites of the organism.
83| Compare predicted physiological properties with known properties.
84−87| Test if the model can grow fast enough.
88−94| Test if the model grows too fast.
Data assembly and dissemination
95| Print Matlab model content.
96| Add gap information to the reconstruction output.
FIGURE 1.5: Vue d’ensemble de la procédure de reconstruction de réseaux métaboliques
[TP10]. Les étapes 2 à 4 seront itérées jusqu’à ce que les prédictions réalisées par le réseaux
métaboliques soient en accord avec les observations biologiques.
L’analyse de cette référence permet de dégager quatre étapes majeures pour ce type de
reconstruction :
1. La construction d’une ébauche métabolique
2. Une amélioration de cette ébauche
3. La conversion du réseau en un format analysable par des méthodes automatiques
4. L’évaluation de la qualité du réseau final
Ces quatre étapes, si elles ont été bien exécutées et ont conduit à un réseau de bonne qualité,
peuvent être suivies de simulations et de prédictions. Nous allons maintenant décrire plus
en détail chacune de ces étapes.
1.3.1 Construction d’une ébauche métabolique
La première étape de la reconstruction d’un réseau métabolique consiste en la construction
d’une ébauche ou esquisse (en anglais, draft) de réseau métabolique. Cette ébauche correspond
à un réseau de réactions métaboliques brut, qui est le plus souvent obtenu automatiquement
par extraction d’informations dans les annotations d’un génome ou par l’étude
de réseaux métaboliques d’espèces cousines. En particulier, certaines réactions que l’on sait
être présentes, i.e. fonctionnelles, chez l’espèce étudiée pourront être absentes ou "erronées"
dans cette ébauche du fait d’annotations manquantes (ou de mauvaises annotations)
des gènes.Pipeline de reconstruction d’un réseau métabolique 19
La réalisation de cette étape s’appuie principalement sur une annotation fonctionnelle
précise du génome étudié, ou encore du transcriptome ou du protéome. Cette étape vise à
proposer une fonction potentielle à chaque gène d’intérêt présent dans le génome.
Cela se fait généralement en utilisant différentes informations comme :
– Le numéro E.C.
– Les termes GO
– Des mots clefs
– Des noms génériques de réactions
Une fois que le génome est suffisamment annoté, il est, en théorie, possible de connaître
précisément les réactions métaboliques associées à chaque annotation et donc à chaque
gène connu. Les bases de données de réactions métaboliques telles que KEGG [KGS+14]
ou MetaCyc [CAB+14] contiennent des informations détaillées sur ces réactions. Ces bases
de données ont, en outre, le gros intérêt de posséder des identifiants internes cohérents à
travers les différentes réactions. Ainsi, une molécule donnée (comme le β-D-glucose par
exemple) possédera toujours le même identifiant ("GLC" pour MetaCyc, "C00221" pour
KEGG) dans toutes les réactions produisant ou consommant cette molécule. Cette cohé-
rence des identifiants permettra de construire des réseaux métaboliques où les différentes
réactions seront interconnectées entre elles grâce à ces métabolites.
La qualité d’une ébauche métabolique, en particulier pour les espèces non modèles,
va ainsi dépendre directement de l’annotation du génome. La qualité d’une annotation va,
elle, dépendre de la façon dont elle a été réalisée. En effet, il est possible de distinguer deux
classes d’annotations fonctionnelles : celles réalisées manuellement (ou validées manuellement)
et celles ne reposant que sur une découverte automatique de la fonction des gènes.
Les annotations manuelles, bien que moins nombreuses et plus longues à réaliser que les
annotations automatiques, sont normalement de bien meilleure qualité. Ainsi plus un gé-
nome sera annoté manuellement, meilleure devrait être l’ébauche métabolique.
Différentes méthodes se basent en parallèle sur les connaissances sur le métabolisme
d’espèces cousines déjà connues. Dans ces cas là, on construit des modèles de références en
extrayant de l’information sur le métabolisme d’une sélection d’espèces. Différents scores
d’alignement permettent, soit à priori, soit à posteriori, de vérifier si les différentes réactions
sélectionnées doivent être intégrées au réseau de l’espèce ciblée. Cela a par exemple été utilisé
lors de la reconstruction d’un réseau compartimenté et tenant compte de la spécificité
des tissus chez Arabidopsis thaliana [MOMM+12].
Cependant, comme noté par Monk, Nogales et Palsson dans [MNP14], l’utilisation de
réseaux métaboliques et d’annotations pour des espèces voisines perd de son efficacité au
fur et à mesure que s’accroît la distance phylogénétique entre l’espèce cible et les espèces
sur lesquelles les réseaux métaboliques dont on dispose sont de bonne qualité. Ce problème
est d’autant plus important chez certains eucaryotes pour lesquels la couverture phylogéné-
tique est faible, rendant la reconstruction de réseaux métaboliques chez ces phylum d’autant
plus important (figure 1.6).
Lors de la reconstruction de réseaux métaboliques, nous sommes confrontés à des problèmes
importants concernant l’hétérogénéité des données. Un gros travail d’intégration de
ces données précède obligatoirement la reconstruction de réseaux.
Une fois la liste des réactions métaboliques à inclure dans un réseau établie, il convient
de transformer cette liste en un fichier analysable par la plupart des méthodes informatiques.
Le format préconisé pour les réseaux métaboliques est le format SBML (Systems20 État de l’art
FIGURE 1.6: Limitations actuelles au développement rapide de la reconstruction de ré-
seaux métaboliques. Les éventuels points à améliorer sont indiqués en gris, les méthodes à
base de contraintes étant au centre des améliorations [MNP14].Pipeline de reconstruction d’un réseau métabolique 21
Biology Markup Language). Cette norme SBML n’est malheureusement pas suivie à la lettre
par grand nombre d’outils ce qui rend l’étude des réseaux métaboliques compliquée d’un
point de vue "formatage des données". De plus de nombreuses versions de la norme SBML
existent et ne sont pas forcément compatibles entre elles, rendant d’autant plus difficile
l’utilisation d’outils plus ou moins récents. Dans le cas des espèces non-classiques, nous
avons été particulièrement confronté à la modélisation des réactions réversibles dans différentes
études de cette thèse. Les discussions sur cette question seront détaillées dans la
section 2.2.3.
Par ailleurs, si les ébauches métaboliques sont créées par orthologie directe entre des
enzymes connues chez des espèces modèles et un nouveau génome, il faut être capable de
faire le lien entre une réaction associée à l’enzyme connue (pouvant provenir de KEGG, The
SEED, ou les réseaux utilisés dans CobraToolBox) et une réaction dans les formats ciblés
(MetaCyc par exemple). Ces liens entre bases de données de réactions sont extrêmement
problématiques et sources d’imprécisions. Il existe cependant des méthodes pour établir
du lien entre elles. Par exemple la base de données MetaCyc donne parfois des liens vers
les réactions KEGG correspondantes. De plus, les numéros E.C. (lorsqu’ils sont précis) permettent
de relier entre elles les différentes réactions, un numéro E.C. précis ne pouvant en
théorie correspondre qu’à une seule réaction. Dans cette direction, différentes approches
proposent de réconcilier les réactions métaboliques en fonction de différents critères et annotations,
mais aucune n’est exhaustive. Différents outils existent déjà pour réaliser de telles
réconciliations entre les différentes bases de données. Nous pouvons par exemple citer BridgeDb
[vIPK+10], MetaMerge [CSH+12] ou encore MNXref [BBM+14]. L’outil MetaMerge, par
exemple, devrait permettre de fusionner des réseaux métaboliques créés pour une même
espèce à partir de différentes méthodes et bases de données. D’autre part MNXref est un
outil permettant de faire le lien entre les différentes bases de données de réactions métaboliques
telles que MetaCyc, KEGG et beaucoup d’autres. Tout ces outils se basent sur diffé-
rentes informations pour réaliser l’homogénéisation entre les différentes bases de données
telles que la nomenclature chimique des réactifs des réactions, des références croisées entre
différentes bases de données, des noms ou synonymes, etc.
Outre la nature des données rencontrées, leur qualité peut également être très hété-
rogène. Les annotations, par exemple, sont à considérer avec précaution, notamment car
certaines d’entre elles ne sont pas complètes (ex. : absence du numéro E.C.) ou parce que
certains gènes ne sont pas annotés du tout. Ces situations représentent une source importante
de faux négatifs et de faux positifs lors de la création de l’ébauche métabolique. Inversement,
un gène entièrement annoté manuellement et possédant l’ensemble des élé-
ments nécessaires pour une recherche automatique de la réaction associée sera extrêmement
fiable.
Il faut également faire attention au taux élevé de faux positifs générés par les recherches
d’homologues à partir de profils HMMs (Hidden Markov Models, ou modèles de Markov cachés).
Certains des profils sont en effet très génériques du fait de l’existence de certaines
enzymes chez des organismes présents à travers l’ensemble de l’arbre du vivant, ce qui
engendre parfois des signatures floues et donc des faux positifs lors de la recherche d’homologues.
L’absence de cohérence entre les différents outils d’alignements [RSS01, LSR03]
peut-être source d’erreur et nécessite de définir des scores de réconciliations tels que dé-
crits, par exemple, dans [LDNS12].22 État de l’art
1.3.2 Raffinement de l’ébauche métabolique
Le résultat de l’étape précédente est un ensemble de réactions qui sont reliées entre
elles par les métabolites qu’elles partagent. Ces réactions ne correspondent pas forcément
à l’ensemble de celles ayant lieu dans l’espèce étudiée du fait des erreurs et des manques
dans l’annotation. Il faut donc une seconde étape pour améliorer la qualité du réseau, qui
consiste à rajouter les réactions que l’on aurait pu manquer lors de la création de l’ébauche
métabolique ainsi que les gènes qui pourraient y être associés.
Pour réaliser cette étape, des connaissances biologiques qui ne seraient pas expliquées
par le réseau actuel sont nécessaires. Pour cela, il est possible d’utiliser l’ensemble des mé-
tabolites dont la présence dans l’organisme d’intérêt a été prouvé expérimentalement, notamment
par du profilage métabolique. En effet, il apparaît évident que le réseau métabolique
correspondant à cet organisme doit contenir les voies complètes nécessaire à la production
de ces molécules. Nous nous concentrerons cependant ici sur l’exploitation de pro-
fils métaboliques, puisqu’il s’agit de la base de la plupart des méthodes de reconstruction
de réseaux métaboliques.
Pour étudier leur productibilité, il faut connaître le milieu de croissance dans lequel l’organisme
d’intérêt est cultivé. En effet, les cellules d’un organisme vont récupérer, dans ce
milieu, tous les nutriments nécessaires à la croissance, et donc à la production de biomasse.
Bien évidemment, plus l’information sur ce milieu de culture est grande, meilleure sera la
reconstruction. Le cas parfait correspond à un organisme pouvant croître à différentes vitesses
dans différentes conditions, et pour lequel la vitesse de consommation des différentes
molécules du milieu de culture est connue. Si l’organisme n’est pas cultivable en laboratoire,
il faudra estimer les conditions nécessaires à la croissance à partir de la bibliographie ou de
toute autre source d’informations.
Une fois le milieu de culture parfaitement décrit, nous allons pouvoir étudier par diffé-
rentes méthodes si ce milieu de culture, associé à l’ébauche métabolique, permet de prédire
la production des molécules identifiées expérimentalement. Cette prédiction peut se faire
par différents types de simulations, que l’on peut classer globalement en deux groupes :
les simulations topologiques et les simulations numériques. Les simulations topologiques
consistent en une recherche de chemins dans le graphe métabolique partant d’un set de
nœuds "molécules" correspondant au milieu de croissance de l’organisme et allant jusqu’à
l’ensemble des nœuds correspondant aux métabolites identifiés comme productibles par
l’espèce étudiée [RK01]. Les simulations numériques consistent le plus souvent en une analyse
d’un système de contraintes linéaires dictées par la structure et la stœchiométrie du ré-
seau métabolique, comme c’est le cas avec la FBA [FS86]. Elles nécessitent plus de connaissances
biologiques qu’une recherche topologique, notamment sur la quantité de molécules
présentes dans la biomasse et la stœchiométrie précise des réactions, afin de permettre une
optimisation des flux de molécules passant à travers les réactions pour que le résultat théorique
corresponde aux connaissances biologiques. Un des apports de cette thèse consistera
précisément à étudier l’impact de ces différentes modélisation du concept de productibilité
sur la qualité de la reconstruction (chapitre 2).
Si toutes les molécules sont productibles à partir de l’ébauche métabolique et de la composition
du milieu de culture, c’est un signe que la reconstruction initiale à partir des annotations
a été particulièrement efficace. Étant donné les erreurs d’annotations, de séquen-
çage et les spécificités de chaque espèce, ce cas est extrêmement rare. Pour produire les mé-Pipeline de reconstruction d’un réseau métabolique 23
tabolites identifiés expérimentalement, il a toujours été nécessaire de rajouter des réactions
au réseau. Cette addition peut être manuelle [FMR+12] quand des experts de l’organisme
connaissent parfaitement le métabolisme de celui-ci. Une complétion manuelle peut cependant
être extrêmement longue et risque de n’apporter au réseau que des informations
déjà connues par les biologistes.
La recherche des réactions à ajouter dans le réseau peut également être réalisée automatiquement.
De très nombreuses méthodes existent pour effectuer cette étape mais reposent
presque toutes sur le même principe de parcimonie, c’est-à-dire d’inclure le minimum possible
de réactions dans le réseau. Pour choisir ces réactions, la plupart des méthodes ne
donnent pas une solution unique mais un ensemble de solutions possibles. Ces solutions
sont ensuite classifiées selon des scores généralement basés sur des données d’orthologie
ou de phylogénie. Les approches de complétion se ramènent à des questions d’optimisation
que nous détaillerons dans le chapitre 2.
1.3.3 Évaluation du réseau final
Après cette étape, le réseau métabolique obtenu doit être de qualité suffisante pour pouvoir
réaliser différentes prédictions.
La complétion du réseau métabolique va produire une liste de réactions susceptibles
d’être ajoutées au réseau. Ces réactions étant en très grande majorité catalysées par des
enzymes, il convient de rechercher si les enzymes en question sont présentes chez l’espèce
étudiée. Pour cela, il faut rechercher d’éventuels gènes qui pourraient coder pour ces
enzymes dans le génome. Cette recherche peut se faire en utilisant différentes techniques
telles que la recherche d’orthologues [LSR03], la recherche de signatures de familles de protéines
[FBC+14], etc.
L’évaluation du réseau final se fait habituellement au niveau fonctionnel en utilisant des
méthodes de Flux Balance Analysis (FBA). Si des données précises de quantification de certaines
molécules sont disponibles, il est assez aisé de créer une fonction objectif et de tester
la croissance virtuelle de l’organisme en utilisant des algorithmes d’optimisation linéaire.
Si ces données ne sont pas disponibles, il est toujours possible de reconstruire une fonction
objective "virtuelle" en se basant sur celles existantes chez d’autres espèces, si possible
proches au niveau phylogénétique et/ou au niveau physiologique.
Si différentes données de croissance obtenues au cours de plusieurs conditions de culture
sont disponibles, la FBA pourra être appliquée pour chaque condition et les résultats
pourront être comparés avec la croissance mesurée expérimentalement. Si les résultats sont
corrélés entre les analyses de simulation et les observations biologiques, cela suffit habituellement
à valider la qualité globale d’un réseau métabolique.
1.3.4 Pipelines existants
Plusieurs logiciels ou groupes de logiciels permettent de réaliser une ou plusieurs des
étapes de reconstruction citées précédemment. Comme indiqué par Hamilton et Reed en
2014 [HR14], la reconstruction automatique d’une ébauche est maintenant proposée de
manière automatique par la plupart des plate-formes logicielles. La plupart de ces méthodes
nécessitent tout de même une part de curation manuelle, souvent guidée par différentes approches.
En revanche, l’ensemble des analyses relatives à la fonctionnalité du système sont24 État de l’art
généralement laissées à la charge de l’utilisateur, avec un accompagnement limité, et peu
d’automatisation. Il faut cependant noter que les principaux pipelines ici mentionnés sont
plutôt des canevas sur lesquels se positionnent différents outils qui permettent d’améliorer
l’efficacité et/ou l’automatisation des méthodes dans des contextes applicatifs particulier.
Dans leur article, Hamilton et Reed [HR14] étudient quatre outils de reconstruction globale
de réseaux métaboliques microbiens : Subliminal [SSM+11b], Model SEED [HDB+10],
Raven [ALS+13] et Pathway Tools [KPK+10]. La figure 1.7 résume les points positifs et né-
gatifs de ces outils. Il est également possible d’étendre cette étude aux organismes non
microbiens en citant MetaNetter [JBBG08] qui permet d’inférer des réseaux métaboliques
à partir de données de métabolomique, en se basant sur la différence de masse entre les
différents métabolites pour inférer des réactions (comme la disparition d’une molécule de
CO2 par exemple). Cet outil et ceux associés mettent particulièrement en avant la visualisation
des réseaux métaboliques après reconstruction. Une autre plateforme de reconstruction
automatique de réseaux métaboliques microbien existe, MicroScope [VBC+13]. Cette
plateforme permet de reconstruire et d’étudier un réseau métabolique bactérien à partir
d’un génome brut, en utilisant notamment la structure particulière de ces génomes et en
accompagnant l’utilisateur tout le long du processus.
L’analyse de l’ensemble de ces plate-formes fait ressortir un manque dans la reconstruction
automatique ou semi-automatique de réseaux métaboliques eucaryotes à partir
de données génétiques.
1.4 Complétion de réseaux : problèmes d’optimisation induits
Les différentes problématiques informatiques relatives à la reconstruction d’un réseau
métabolique à partir de données brutes, relèvent finalement de trois domaines différents :
il y a d’abord différentes questions autour de la représentation des connaissances pour homogénéiser
et réconcilier les données provenant de différentes sources, il y a ensuite des
questions complexes en optimisation entière, relative à la fonctionnalité des réseaux ou des
réactions. Enfin, la question de la complétion des réseaux métaboliques a été abordée avec
différentes méthodes et algorithmes. Dans cette partie, nous allons détailler les principales
approches existantes concernant ce troisième point et discuter leurs limites.
1.4.1 Panorama général
La principale difficulté dans cette étude bibliographique réside dans le fait que les diffé-
rentes approches ne résolvent pas toujours le même problème. Dans tous les cas, il s’agit de
construire un réseau métabolique consistant, supporté par des observations biologiques en
partant d’un réseau brut incomplet et de connaissances additionnelles. Souvent, la consistance
avec les observations biologiques réside dans le fait que, lorsque l’on connaît la composition
du milieu de culture d’un organisme et que l’on a des données de métabolomique,
le réseau doit être en mesure de trouver un moyen de produire les métabolites identifiés
à partir des nutriments du milieu de culture. Cependant, la notion de productibilité peut
varier en fonction des approches (quantitative, qualitative, globale ou probabiliste...). La
consistance peut aussi être mesurée à l’aide de données d’expression, de protéomique, ou
à l’aide de critères topologiques tel que réalisé lors de la création d’un réseau métabolqie
compartimentalisé d’Arabidopsis thaliana [MOMM+12].Complétion de réseaux : problèmes d’optimisation induits 25
FIGURE 1.7: Support apporté par les différents outils de reconstruction de réseaux métaboliques,
de la création de l’ébauche jusqu’à l’évaluation de la qualité du réseau [HR14].
Les quatre étapes principales et certains des 96 points relevés par [TP10] sont étudiés.26 État de l’art
Si on prend du recul, les méthodes de complétion de réseaux métaboliques se basent
habituellement sur deux stratégies différentes :
– une approche descendante (dite top-down), qui consistera à ajouter toutes les informations
disponibles à un instant donné, qu’elles soient intéressantes ou non, avant
de supprimer petit à petit les données les moins relevantes. On citera ici la méthode
OptStrain [PBM04] et sa dérivation SMILEY [RPC+06] qui, à l’aide de programmation
MILP, a été utilisée pour reconstruire par exemple un réseau métabolique d’une
souche d’Escherichia coli [HJFP06] et une approche stochastique [CMK+09] utilisée
pour reconstruire un réseau métabolique de Chlamydomonas reinhardtii [MWK+08]
par exemple ,
– une approche ascendante (dite bottom-up), qui partira uniquement de l’ébauche mé-
tabolique avant de rajouter progressivement des informations (et donc des réactions)
afin d’obtenir au final un réseau de bonne qualité. C’est en particulier l’approche
choisie dans la méthode GapFind [SKDM07] et la méthode combinatoire Networkexpansion
[ST09].
Les algorithmes sous-jacents aux différents méthodes ne sont pas toujours explicités, et
leur complexité peu étudiée. Cependant, Nikolski et ses collaborateurs ont montré dans un
cadre assez générique que l’extraction d’un sous-réseau satisfaisant un score minimal dans
un réseau métabolique est NP-difficile, en se ramenant à un problème de Weighted Tree
Packing [NGMS08]. On peut aussi noter l’ensemble des travaux de Acuna et Sagot autour de
la complexité de différents problèmes relatifs à l’identification de sources dans un réseau
métabolique [CMA+08].
1.4.2 Optstrain, SMILEY - top-down & MILP
OptStrain [PBM04] est une méthode impliquant quatre étapes afin de rajouter des réactions
provenant d’une base de données de réactions métaboliques à l’intérieur d’un réseau
pré-existant.
– La première étape consiste à télécharger et nettoyer la base de données de réactions
métaboliques. Les erreurs de stœchiométrie relativement importantes pouvant impacter
grandement les résultats de l’approche, toutes les réactions mal équilibrées ou
impliquant au moins un élément donc la composition n’est pas précise sont supprimées
de la base de données,
– La seconde étape consiste à ajouter l’ensemble de la base de données au réseau pré-
existant. Cela permet d’obtenir un "méta-réseau" grâce auquel il est possible d’étudier,
à partir d’un ensemble de substrats, le rendement maximum possible pour la
production d’une cible donnée. Cette étape ne prend pas du tout en compte l’origine
des réactions (base de données ou organisme étudié) utilisées pour maximiser la production
de la cible. Cette maximisation correspond à un problème de programmation
linéaire,
– Une fois le rendement maximal identifié, la troisième étape cherche à minimiser le
nombre de réactions provenant de l’extérieur en maintenant ce rendement. Ce problème
est modélisé et résolu par programmation linéaire mixte en nombres entiers
(MILP),
– Enfin la dernière étape va consister à faire en sorte de ne garder dans le réseau que
les réactions nécessaires pour maximiser le rendement de production de la cible étu-Complétion de réseaux : problèmes d’optimisation induits 27
diée. L’ajout des réactions n’est pas automatique pour autant mais utilise l’algorithme
OptKnock [BPM03, PBM03] pour éviter de découpler la production de biomasse et
celle du métabolite d’intérêt qui risquerait de conduire à une mort de l’organisme
d’intérêt.
Aucune étude particulière ne semble avoir été effectuée pour tester la rapidité ou la qualité
de cette méthode. Il est uniquement indiqué que les optimisations prennent quelques
heures et que certaines prédictions réalisées sur une espèce bactérienne donnée semblent
cohérentes avec des résultats biologiques. Cette méthode a été très utilisée par la communauté.
Nous pouvons notamment citer son utilisation pour étudier la production de succinate
par Mannheimia succiniciproducens [LLK05] ou encore la production de lactate par
Escherichia coli [HJFP06].
Une extension de cette approche est la méthode SMILEY [RPC+06], qui donne la possibilité
d’inclure des réactions de transport permettant d’excréter n’importe quel produit.
Cette approche a en particulier été utilisée pour la reconstruction de réseaux métaboliques
de Ostreoccocus [KYW+12].
1.4.3 GapFind, GapFill - bottom-up & MILP
En 2007, Kumar et ses collaborateurs [SKDM07] ont développé une procédure d’optimisation
linéaire pour identifier des trous dans les réseaux métaboliques, et proposer des
solutions afin de combler ces trous. Pour cela, ils commencent par identifier les métabolites
ne pouvant pas être produits dans un réseau métabolique avant de restaurer la connectivité
du réseau en modifiant celui-ci ou en rajoutant des réactions à l’intérieur du modèle.
GapFind va ainsi permettre d’identifier des trous dans les réseaux métaboliques. Ceux-ci
se manifestent par le fait qu’il existe des métabolites qui ne sont pas produits ou consommés
par le réseau. À l’état stable, aucun flux ne pourra alors passer à travers ces métabolites ce
qui indique une erreur dans le réseau. De plus, si un ou plusieurs métabolites sont bloqués,
cela entraînera très souvent une cascade de réactions bloquées. Par exemple, un métabolite
non consommé bloquera les flux dans toutes les réactions en amont de celui-ci à l’état
stable.
Les métabolites non produits peuvent être identifiés en scannant la matrice stœchiométrique
du réseau. En effet, il suffit de chercher toutes les colonnes contenant des valeurs
non positives (pour les réactions irréversibles) ou non nulles (pour les réactions réversibles).
Pour les métabolites non consommés, on applique la même méthode que pour les réactions
réversibles et on cherche des valeurs non négatives pour les réactions irréversibles. Cela permet
d’identifier les "racines" des voies métaboliques bloquées par un métabolite non produit
ou non consommé. Pour trouver les métabolites bloqués respectivement en amont et
en aval de ceux-ci, une simple inspection de la matrice stœchiométrique ne suffit pas. Les
auteurs ont alors mis en place un ensemble de contraintes permettant, pour chaque mé-
tabolite, de connaître si celui-ci est bien produit et consommé. Les contraintes sont telles
que :
– Pour chaque réaction irréversible produisant un métabolite i, la réaction produit une
quantité ǫ de i supérieure à zéro,
– Pour chaque réaction réversible qui inclut un métabolite i, le métabolite est considéré
comme produit uniquement si la réaction produit une quantité ǫ de i supérieure à
zéro,28 État de l’art
– Un métabolite i doit posséder au moins une voie de production pour être considéré
comme productible, c’est-à-dire qu’il doit être le produit d’au moins une réaction active,
– Les flux passant dans chaque réaction doivent être compris entre des bornes supé-
rieures et inférieures imposées par le modèle,
– Étant à l’état stable, les cellules continuent toujours à se diviser, il faut donc produire
un minimum de métabolites. Ils fixent dont P
j∈M Si j v j ≥ 0 ∀i = 1...N,
– Enfin, la fonction objective va maximiser le nombre de métabolites productibles.
L’ensemble de ces contraintes fait en sorte de maximiser le nombre de métabolites considérés
comme productibles. S’il reste des métabolites non productibles, c’est la preuve d’un
manque dans le réseau métabolique.
Une fois les trous identifiés, il convient de les combler. Pour cela les auteurs ont dé-
veloppé GapFill afin de rechercher si inverser le sens des réactions, rajouter des réactions
provenant de bases de données, ou rajouter des réactions de transport permettent de combler
les trous du réseau et rendre l’ensemble des métabolites productibles et consommés.
Il s’agit là encore d’un problème d’optimisation linéaire en nombres entiers ayant comme
objectif de minimiser le nombre de réactions provenant de bases de données ajoutées dans
le réseau initial. Les différentes contraintes à respecter sont :
– Pour chaque réaction réversible qui inclut un métabolite i, le métabolite est considéré
comme produit uniquement si la réaction produit une quantité ǫ de i supérieure à
zéro,
– Les additions de réactions doivent conduire à une production minimale des métabolites
jusqu’à présent non productibles,
– Les flux passant dans chaque réaction doivent être compris entre des bornes supé-
rieures et inférieures imposées par le modèle,
– Les réactions ajoutées au réseau métaboliques doivent toutes avoir des flux non nuls
passant à travers elles.
L’ensemble du processus est réalisé pour trouver le minimum de réactions à ajouter pour
pouvoir produire et/ou consommer chaque métabolite cible du réseau.
L’ensemble des contraintes définissant GapFind et GapFill est extrêmement intéressant
et produit des résultats biologiquement valides. Ainsi, GapFind/GapFill ont été utilisés intensivement
par l’équipe ayant créé la méthode. En dehors de cette équipe, nous pouvons
citer son utilisation pour la reconstruction du réseau métabolique de Gordonia alkanivorans
[AKRI13], du pathogène Salmonella Typhimurium LT2 [THS+11] et d’une souche de
Clostridium beijerinckii produisant du butanol [MER+11].
On peut cependant apporter quelques critiques à cette méthode. La première est que,
si l’encodage des contraintes est disponible librement, celui-ci s’applique uniquement au
solveur GAMS qui, lui, est payant et relativement cher. Cela empêche toute comparaison
neutre entre cet outil et les outils existants. De plus, à ma connaissance, aucun test n’a été
effectué pour connaître le comportement de la méthode face à un accroissement de la taille
des jeux de données. Il est donc difficile de savoir si ce logiciel fonctionne dans un contexte
où la taille des bases de données et la complexité des réseaux augmentent sans cesse.
Il est également possible de se poser la question de la conséquence que pourrait avoir
l’introduction d’un faux positif au niveau des réactions lors de la première reconstruction
du réseau. Une seule réaction consommant deux molécules et en produisant deux autres, siComplétion de réseaux : problèmes d’optimisation induits 29
celle-ci est ajoutée "loin" de toutes les voies métaboliques existantes, amènerait la reconstruction
d’une longue voie métabolique pour raccorder l’ensemble des quatre métabolites à
l’ensemble du réseau. De même, si la technique initiale semble limitée à la recherche d’une
solution unique, des techniques d’optimisation linéaire pourraient être appliquées pour obtenir
l’ensemble des solutions existantes, mais là encore nous pouvons nous interroger sur
l’utilisabilité en pratique de ces méthodes.
Enfin on peut s’interroger sur la contrainte P
j∈M Si j v j ≥ 0 ∀i = 1...N à l’état stable. Cette
contrainte indique que le réseau (étant à l’état stable) peut produire une quantité illimitée
de tous les métabolites, ce qui relâche énormément les contraintes de modélisation classiques
où, habituellement, nous avons P
j∈M Si j v j = 0 qui force le système à ne pas créer de
matière.
1.4.4 Christian et al - top-down & stochastique
Nils Christian et ses collaborateurs proposent une méthode stochastique de complétion
de réseaux métaboliques[CMK+09]. Cette méthode est basée sur une approche "top-down",
commençant par une complétion très large qui sera ensuite précisée au fur et à mesure des
différentes itérations.
Le cœur de la méthode consiste à identifier des groupes minimaux de réactions (appelées
"extensions") permettant de compléter le réseau métabolique pour produire des métabolites
sélectionnés à partir des nutriments du milieu de culture.
– L’algorithme consiste, dans un premier temps, à ajouter l’ensemble des réactions contenues
dans une base de données de réactions métaboliques au réseau incomplet,
– Une fois cette addition réalisée, il convient de regarder l’ensemble des métabolites
d’intérêt productibles à partir du réseau incomplet auquel on a ajouté la base de données.
Ces métabolites d’intérêt formeront alors la base de travail autour de laquelle la
méthode fonctionnera,
– Lors d’un processus itératif, à chaque pas de temps, une réaction (provenant de la
base de données) tirée aléatoirement sera enlevée du réseau. Si le réseau garde sa
fonctionnalité (c’est à dire si les métabolites d’intérêts sont toujours productibles à
partir des nutriments), cette réaction est définitivement retirée de l’extension. Si le
fait de retirer cette réaction supprime la fonctionnalité du réseau, celle-ci semble être
indispensable à cette fonctionnalité et sera donc remise dans l’extension et ne sera
plus testée avant la fin du déroulement de la méthode. La fonctionnalité utilisée par
les auteurs est topologique mais, hormis les temps de calcul, rien ne semble s’opposer
à une étude quantitative de la fonctionnalité,
– Puisque les extensions obtenues vont dépendre énormément de l’ordre dans lequel
les réactions sont tirées, les auteurs recommandent de réaliser un grand nombre de
tirages aléatoires de l’ordre de test des réactions,
– Le résultat de cette méthode correspondra à un ensemble d’extensions possibles. Les
réactions présentes dans les extensions vont être analysées d’un point de vue statistique
pour classer les réactions par ordre d’importance afin de pouvoir les étudier
manuellement par la suite.
Finalement, cette approche consiste donc à explorer l’espace de toutes les complétions
fonctionnelles qui sont minimales au sens ensembliste du terme (si on enlève une réaction,
la fonctionnalité globale du système n’est plus vérifiée). On peut cependant regretter qu’au-30 État de l’art
cune estimation de la taille de cette espace ne soit proposée, ce qui ne permet pas de décider
si le nombre d’itérations est suffisant pour l’explorer de manière fiable.
De plus cette méthode ne propose pas une "bonne" solution. En effet, rien n’assure
qu’ajouter l’ensemble des réactions revenant souvent dans les simulations suffit au final à
compléter le réseau pour le rendre fonctionnel. Imaginons par exemple un cas où dix réactions
différentes permettraient de compléter le même "trou" dans un réseau. D’après l’aléa
créé par la méthode, chaque réaction reviendrait dans 1/10ème des simulations, ces réactions
prises une par une auraient alors un score final faible et ne seraient probablement pas
inclues automatiquement dans le réseau final. Celui-ci perdrait ainsi sa fonctionnalité, ce
qui est pourtant la raison initiale du développement de cette méthode.
Pour essayer de limiter ce biais, les auteurs associent un "score biologique" aux réactions
et biaisent plus ou moins fortement le tirage aléatoire de l’ordre dans lequel les réactions
sont étudiées. Plus le score sera fort, moins une réaction aura de chance d’être tirée
"tôt". Ce score peut se baser sur différentes informations telles que des scores de similarité
de séquence entre des enzymes connues pour catalyser les réactions présentes dans les
bases de données et les protéines produites par le génome de l’espèce d’intérêt. Puisque
plus une réaction est testée tôt, plus elle a de chances de ne pas être présente dans l’extension
au final, ces classifications des listes de réactions permet d’améliorer grandement les
capacités de prédiction de la méthode.
Cette approche a notamment été utilisée pour améliorer les réseaux métaboliques des
algues vertes Chlamydomonas reinhardtii [MWK+08] et Ostreococcus [KYW+11]. Il est également
possible de citer son utilisation pour étudier les relations métaboliques existantes
entre des plantes et des phytopathogènes [DCS+13]. On peut regretter que les implémentations
des algorithmes ne soient pas mises à disposition. Une ré-implémentation de l’algorithme
au laboratoire (durant un stage) a cependant suggéré qu’il ne passait pas à l’échelle
quand la taille de la base de données de référence augmente.
1.4.5 Network-expansion - bottom-up & optimisation combinatoire
En 2009, Torsten Schaub et Sven Thiele proposent une méthode [ST09] permettant de
compléter des réseaux métaboliques d’un point de vue qualitatif en s’affranchissant de la
nécessité d’obtention de données cinétiques. Par rapport aux approches précédentes, l’idée
est de vérifier la fonctionnalité du réseau d’un point de vue qualitatif (accessibilité des mé-
tabolites) sans prendre en compte les contraintes induites par la stoechiométrie du système
qui pourront être vérifiées dans un second temps. En reformulant ce problème de manière
combinatoire, Schaub et Thiele proposent d’utiliser des méthodes d’optimisation récentes
pour énumérer intégralement l’espace des solutions du problème.
Comme pour les précédentes approches, les auteurs sont partis du constat que la grande
majorité des réseaux métaboliques reconstruits automatiquement sont incomplets. De plus,
les bases de données de réactions métaboliques sont de plus en plus exhaustives et leur utilisation
n’en devient que plus pertinente. Enfin, il y a à disposition des données biologiques
pour la plupart des organismes biologiques pour lesquels un réseau métabolique est reconstruit
ou en cours de reconstruction, et qui sont utilisables pour l’étape de complétion.
L’idée générale des auteurs est qu’une réaction ne peut avoir lieu uniquement que si
les réactants de celle-ci sont présents, soit dans un milieu de culture donné, soit comme
produit d’une autre réaction. Ainsi, en partant des métabolites présents dans un milieu deComplétion de réseaux : problèmes d’optimisation induits 31
culture (les métabolites graines) il devient possible de déterminer le "scope" des graines,
c’est à dire l’ensemble des métabolites productibles à partir des graines et des réactions
présentes dans un modèle.
L’approche s’appuie ainsi sur des données expérimentales comme la présence de certains
métabolites dans une cellule (métabolites cibles). La méthode regarde si ces cibles
font partie du scope des graines. Si c’est le cas, le réseau métabolique peut être considéré
comme suffisamment complet pour expliquer l’existence de ces cibles. Si ce n’est pas le cas,
il conviendra d’ajouter des réactions dans le réseau pour permettre aux cibles de faire partie
du scope des graines. Ajouter l’ensemble des réactions provenant d’une base de données de
réactions comme MetaCyc permet (généralement) de produire l’ensemble des cibles. Cependant,
toute capacité d’étude biologique ultérieure du réseau sera perdue du fait de la
trop grande quantité de faux-positifs. Les auteurs proposent donc d’utiliser un principe de
parcimonie pour minimiser le nombre total de réactions à ajouter au réseau, et ainsi minimiser
les modifications faites à un réseau que l’on considère initialement de bonne qualité.
Ce problème est par nature extrêmement combinatoire et donne de très nombreuses solutions.
Contrairement aux approches précédentes, cette modélisation n’a pas fait l’objet d’une
résolution algorithmique ou en programmation entière, mais d’une résolution déclarative.
En effet, les auteurs ont modélisé les concepts de scope et d’accessibilité dans un langage
déclaratif puis utilisé des techniques d’optimisation combinatoire particulièrement effi-
caces pour résoudre ce problème. Plus précisément, la modélisation et la résolution du
problème sont basées sur des technologies apparues relativement récemment, dite de programmation
par ensemble réponse (ou Answer Set Programming, ASP) [Bar03, GKKS12],
qui sont connues pour être particulièrement efficaces pour résoudre des problèmes NPdur.
La programmation par ensembles réponses propose un cadre déclaratif pour modéliser
des problèmes combinatoires. Le caractère déclaratif et la haute performance des solveurs
ASP actuels permettent de se concentrer sur les problèmes de modélisation plutôt que de
rechercher des façons intelligentes de traiter ces problèmes. L’idée de base d’ASP est d’exprimer
un problème sous forme logique de manière à ce que les modèles sortant de cette
représentation donnent les solutions au problème initial. Les problèmes sont exprimés en
tant que programmes logiques et les modèles résultants sont appelés "ensembles réponses"
(ou Answer Sets). Ces ensembles-réponses sont identifiées à l’aide de technologies inspirées
par les approches SAT et les bases de données. Il est bien évidemment possible de déterminer,
à l’aide d’ASP, si un programme possède un ensemble réponse, mais d’autres modes de
raisonnement sont nécessaires pour couvrir l’ensemble des problèmes que l’on peut rencontrer
en pratique. Ainsi il sera possible d’identifier aisément l’intersection ou l’union de
l’ensemble des ensembles réponses. De la même manière, lister l’intégralité des ensembles
réponses pourra être possible.
Dans leur article, Schaub et Thiele proposent une implémentation de cette approche
en ASP, en utilisant la suite Potassco [GKK+11]. L’implémentation est détaillée en annexe B.
Ils ont ainsi montré sur différents exemples tirés de dégradations d’un réseau métabolique
d’Escherichia coli que leur implémentation en ASP permet de compléter un réseau en un
temps raisonnable tant que les dégradations de réseaux et la taille de la base de données
utilisée pour compléter n’est pas trop grande. En revanche dès que la taille de la base de
données de référence devient trop grande l’outil n’arrive plus à calculer de complétions,
laissant de la place à de grandes améliorations de la méthode.32 État de l’art
TABLE 1.2: Description générale d’outils de complétion de réseaux métaboliques.
Nom Approche Méthode Disponibilité principe
OptStrain
[PBM04]
top-down MILP Non disponible Nombre minimal de réactions à
ajouter pour maintenir le rendement
optimal du réseau initial
associé à une banque de ré-
action.
SMILEY
[RPC+06]
top-down MILP Code Matlab Comme OptStrain avec prise en
compte de réactions de transport
GapFill
[SKDM07]
bottom-up MILP Code GAMS Nombre minimal de réactions à
ajouter pour produire des mé-
tabolites internes (préalablement
identifiés) empêchant la
formation de biomasse.
Christian
[CMK+09]
top-down stochastique Non disponible Exploration non exhaustive de
l’ensemble des sous-ensembles
de réactions minimaux au sens
ensembliste qui restaurent la
fonctionnalité globale du système.
Network
Expansion
[ST09]
bottom-up recherche
combinatoire
ASP Exploration exhaustive de
l’ensemble des plus petits sousensembles
qui restaurent la
fonctionnalité du système au
sens topologique.
L’intérêt principal de cette approche réside dans le fait que les auteurs effectuent une
énumération exhaustive de l’ensemble des solutions qui permettent la production de l’ensemble
des métabolites cibles plutôt que ces cibles une à une. Cependant, le prix à payer
pour cela est de relaxer la contrainte de fonctionnalité puisqu’ils ne font plus qu’une véri-
fication topologique de la productibilité des cibles sans prendre en compte les contraintes
induites par la stœchiométrie et les équilibres internes du système.
1.4.6 Comparaisons
Finalement, les différentes propriétés des méthodes étudiées ci-dessus sont être synthétisées
dans la table 1.2. On notera en particulier des difficultés liées à l’accessibilité des
méthodes, leur utilisation générique, et leur comparaison.
En détaillant plus précisément les différentes approches, on constate finalement qu’elles
ne résolvent pas toutes le même problème d’optimisation. Pour résumer, nous pouvons dire
que OptStrain et SMILEY vont chercher à obtenir une fonctionnalité maximale des réseaux
pendant que GapFill cherchera à produire chaque métabolite cible individuellement plutôtComplétion de réseaux : problèmes d’optimisation induits 33
TABLE 1.3: Description fonctionnelle d’outils de complétion de réseaux métaboliques.
Nom Production Fonctionnalité Espace de solution Minimalité
OptStrain et
SMILEY
biomasse quantitative une seule solution Taille des solutions
GapFill cibles intermédiaires
quantitative une seule solution Taille des solutions
Christian ensemble de
cibles
topologique échantillonnage Ensembliste
Networkexpansion
ensemble de
cibles
topologique énumération
globale et union
Taille des solutions
que d’essayer d’optimiser la biomasse dans son ensemble. Dans les deux cas il est possible
de trouver une solution unique en suivant la méthode présentée même s’il semble possible
d’obtenir l’ensemble des solutions en utilisant des techniques propres aux MILP tel
que l’"integer cut", mais aucune donnée sur le fait que cette technique serait utilisable en
pratique d’un point de vue du temps de calcul n’est disponible à notre connaissance. La mé-
thode développée par Nils Christian permet, elle, une exploration plus complète de l’espace
des solutions via un échantillonnage de solutions minimales d’un point de vue ensembliste.
Enfin Network-expansion va arriver à être exhaustif dans l’énumération des solutions tout
en cherchant à produire l’ensemble des molécules présents dans la biomasse. Ces deux dernières
méthodes relâchent quelque peu la contrainte de fonctionnalité étant donné que la
fonctionnalité ne sera plus étudiée que d’un point de vue topologique.
D’un point de vue biologique, le fait de choisir une méthode de complétion globale, qui
prend en compte l’ensemble des métabolites que l’on sait présents chez une espèce, sans
pour autant avoir besoin de connaître la concentration précise de ceux-ci, permet d’avoir
une complétion beaucoup plus large du réseau avec des informations incomplètes. Ceci est
également un gros apport comparé aux méthodes de complétions manuelles qui n’utilisent
que les connaissances pré-existantes chez une espèce pour créer le réseau, au risque de
n’apporter aucune nouvelle connaissance au modèle ainsi créé.
Le fait d’avoir une énumération exhaustive des solutions (dont on peut faire l’union
ou l’intersection) permet d’éviter de faire un choix entre les différents modèles proposés,
ce choix se faisant habituellement par la création de scores impliquant la similarité de sé-
quence et/ou des informations provenant de la phylogénie. Chez des espèces trop lointaines
des espèces modèles, ces deux informations risquent de biaiser une éventuelle reconstruction
du fait d’une trop grande divergence des séquences avec les séquences connues. D’éventuels
transferts horizontaux de gènes risquent également de poser problèmes, les gènes impliqués
pouvant être très éloignés phylogénétiquement entre deux espèces étudiées.
Cependant, il faut bien noter que l’approche de Network-expansion, qui a les deux caractéristiques
précédentes, nécessite de relaxer le critère de fonctionnalité du système puisque
les équilibres stœchiométriques internes ne sont plus pris en compte. Un des objectifs
de cette thèse fut d’utiliser et d’améliorer les méthodes combinatoires de Network-expansion
pour permettre à cette approche de passer à l’échelle sur des réseaux eucaryotes pour des34 État de l’art
espèces non-classiques. Nous en avons profité pour tester l’impact de la modélisation combinatoire
de la productibilité au lieu de la fonctionnalité issue de la stœchiométrie. Ces
questions seront abordées au chapitre 2.
1.5 Reconstruction de réseaux métaboliques pour les algues
L’objectif de la thèse est de développer des méthodes informatiques pour permettre la
reconstruction de réseaux métaboliques pour des espèces non classiques telles que celles
étudiées dans le projet Investissement d’avenir Idealg (macro-algues). Dans cette section,
nous proposons une revue bibliographique des enjeux spécifiques à la reconstruction de
réseaux pour les algues.
1.5.1 Les réseaux métaboliques chez les plantes
De par son statut d’organisme modèle en génétique, Arabidopsis thaliana a profité très
rapidement des développements de la reconstruction de réseaux métaboliques. D’autres
plantes telles que le maïs ont également reçu l’attention de la communauté scientifique de
par leur intérêt dans l’agroalimentaire. Les plantes étant souvent des organismes possédant
plusieurs tissus et organites, leur modélisation s’en retrouve d’autant plus compliquée et
leur analyse d’autant plus intéressantes. Des revues complètes et récentes de ces reconstructions
[SHH12] et des perspectives [dODN13] existent, nous allons ici discuter des spé-
cificités de la reconstruction de réseaux chez ces organismes photosynthétiques plutôt que
de rentrer en détail dans leur processus de reconstruction.
En effet, les plantes sont des organismes complexes possédant un génome souvent très
grand caractérisé par de nombreux gènes enzymatiques ou de transports non annotés. La
chronologie de création des réseaux métaboliques des plantes est un bon exemple de la
difficulté de reconstruction de tels réseaux. Ainsi en 2009, Poolman et ses collaborateurs
[PMSF09] publiaient un modèle de cellules en suspension d’Arabidopsis thaliana comprenant
1.336 réactions, suivi de près par la création d’AraCyc [dQP+10a] (1.567 réactions) qui
se concentrait sur le métabolisme primaire de cette plante au niveau des feuilles, avant de
passer à l’ensemble des tissus d’une plante (le maïs) avec [SSM11a] (1.588 réactions). Aujourd’hui,
un réseau compartimenté et multi-tissus d’A. thaliana existe permettant des
analyses fines de son métabolisme [MOMM+12]. Celui-ci est formé de différents sous-réseaux
selon l’organe étudié, le réseau du fruit, par exemple, est formé de 1.143 réactions.
Les reconstructions de ces réseaux ont été grandement facilitées par le fait qu’Arabidopsis
thaliana est une espèce modèle en génétique depuis de nombreuses années [Fin98]. Ainsi
de très nombreuses données "omiques" existent sur cette plante et de nombreuses techniques
telles que l’inactivation ciblées de gène sont possibles. Tout cela permet également
de valider fonctionnellement les réseaux reconstruits.
1.5.2 Les réseaux métaboliques chez les algues
Les algues sont actuellement des organismes étudiés par les biologistes du fait de leur
grande diversité, leur métabolisme chimérique et leur caractère évolutif très particulier.
L’étude des algues est également en plein essor au niveau applicatif en biotechnologie avec
l’arrivée de plus en plus de données omiques.Reconstruction de réseaux métaboliques pour les algues 35
TABLE 1.4: Comparaison des différentes méthodes de reconstruction de réseaux métaboliques
chez des algues. Plus de détails sont donnés en 1.5
Espèce Nom du réseau Source de
données
Reconstruction
initiale
Complétion FBA
Chlamydomonas
reinhardtii
AlgaGem KEGG mapping sur
KEGG
manuel, composé
par composé
Oui
Chlamydomonas
reinhardtii
iRC1080 réseau
pré-
existant
& bibliographie
Manuel Effectué mais pas
d’informations
Oui
Ostreococcus KEGG mapping sur
KEGG
Top-down et
Bottom-up,
pas de solution
unique
Oui
Phaeodactylum tricornutum
DiatomCyc KEGG et
Metacyc
Pathway tools Manuel pour les
voies métaboliques
connues
Non
Cependant, les connaissances globales sur le métabolisme des algues est finalement assez
limité. Nous pouvons étudier quatre réseaux métaboliques ayant été reconstruits chez
des algues, pour trois espèces différentes (chronologiquement) :
– Chlamydomonas reinhardtii (AlgaGem et iRC1080)
– Ostreococcus (pas de nom)
– Phaelodactylum tricornutum (DiatomCyc)
Pour ce faire, les étapes classiques de reconstruction de réseaux métaboliques décrites en
1.3 ont été suivies, cependant chaque étape a été réalisée avec des outils et des méthodes
différentes. On notera en particulier qu’aucun de ces réseaux n’a fait l’objet d’une étude
fonctionnelle équivalente à celle opérée sur les plantes plus classiques citées plus haut.
Le tableau 1.4 résume l’ensemble de ces informations de manière synthétique. Le tableau
1.5 donne des informations sur les réseaux obtenus.
1.5.3 Pipelines de reconstructions utilisés
Nous allons décrire plus précisément chaque étape et les méthodes utilisées pour chaque
réseau en insistant sur les spécificités de chacune.
Pour la reconstruction des ébauches métaboliques, concernant Chlamydomonas reinhardtii,
le réseau AlgaGEM [GdODQPN11] a été reconstruit d’après le génome de C. reinhardtii,
ainsi que l’ensemble des réactions disponibles dans KEGG. L’ébauche du second
réseau de cette espèce (iRC1080) [CGM+11] a été reconstruite en se basant sur un précé-
dent réseau reconstruit manuellement en 2009 (iAM303) [MGH+09] et contenant 259 réactions
impliquées dans des voies métaboliques d’intérêt pour cette microalgue. Le réseau de
2011 reprend le premier en rajoutant des réactions provenant de plus de 250 publications
différentes.36 État de l’art
TABLE 1.5: Description des réseaux obtenus
Espèce Nom du réseau Nombre de
gènes
Nombre de
réactions
Nombre de
métabolites
Nombre de
métabolites
dans la
fonction de
biomasse
Chlamydomonas
reinhardtii
AlgaGem 2 249 1 725 1 862 39
Chlamydomonas
reinhardtii
iRC1080 1 080 2 190 1 068 172
Ostreococcus
tauri
871 1 014 48
Ostreococcus lucimarinus
964 1 100 48
Phaeodactylum
tricornutum
DiatomCyc 1 069 1 719 1 073 -
Pour la reconstruction de l’ébauche du réseau métabolique des pico-algues vertes Ostreococcus
[KYW+12], des annotations de gènes provenant de KEGG ont été récupérées et
traitées par Matlab avant que la relation gène-réaction soit créée grâce aux données d’orthologie
contenues dans KEGG Orthology (KO).
Enfin, la création de l’ébauche métabolique de DiatomCyc (pour Phaelodactylum tricornutum)
a été faite en utilisant la suite logicielle Pathway Tools à partir d’annotations
provenant de KEGG et de MetaCyc.
Tous les réseaux mentionnés ont fait l’objet d’une complétion des informations manquantes
lors de la première reconstruction suite à des erreurs d’annotations, des données
manquantes ou hétérogènes, etc.
Lors de la reconstruction d’AlgaGem, la complétion a été réalisée en reconstruisant manuellement
les voies métaboliques intéressantes qui mènent aux métabolites intégrés dans
la fonction de biomasse. Pour chaque métabolite présent dans cette biomasse, Dal’Molin et
al. ont regardé si ce métabolite était productible d’un point de vue "fonctionnel" en utilisant
de la FBA. Si ce n’était pas le cas ils ont regardé manuellement quelles réactions sont à
ajouter afin de rendre ce métabolite productible.
Une complétion du réseau iRC1080 a été réalisée, mais aucune information autre que
"Network gap-filling was performed to make pathways functionnal and account for deadend
metabolites" n’est disponible dans l’article.
La complétion du réseau Ostreococcus a été réalisé automatiquement, de deux manières
différentes, en utilisant comme base de données le réseau meta-plant correspondant
à l’union des 17 réseaux métaboliques de plantes contenus dans KEGG en 2012. La première
complétion a été réalisée en utilisant l’approche "bottom-up" SMILEY [RPC+06] (voir section
1.4.2) et l’approche top-down de Christian et al [CMK+09] (voir section 1.4.4). Ces deux
approches ne possédant pas de solution unique, un score prenant en compte la distance
phylogénétique des espèces dont proviennent les réactions ajoutées et la similarité de sé-
quence entre les enzymes connues et celles du génome d’intérêt a été utilisé. Si l’approcheReconstruction de réseaux métaboliques pour les algues 37
"bottom-up" donne un nombre plus faible de réactions ajoutées, l’approche "top-down"
donne de meilleurs scores globaux.
L’étape de complétion du réseau DiatomCyc a été réalisée entièrement à la main et en
se concentrant uniquement sur les voies métaboliques connues et considérées comme intéressantes
pour cette espèce, comme la biosynthèse des acides gras, des sucres ou encore
des isoprénoïdes. Le réseau final représente le métabolisme central de P. tricornutum.
La validation des réseaux considérés a également été plus ou moins soignée. De la FBA
a été réalisée sur le réseau AlgaGem. Le critère ayant servi de base à la complétion manuelle
étant la production de biomasse par le réseau via les techniques de FBA, il est normal qu’à
la fin de la reconstruction la FBA fonctionne toujours. Pour le réseau iRC1080 une fonction
objectif a également été créée et testée dans différentes conditions. Une attention toute particulière
a été portée sur la validation des voies métaboliques impliquées dans la photosynthèse.
Concernant Ostreococcus, là encore une fonction de biomasse a été créée en se basant
sur la littérature. Très peu d’informations sont disponibles sur les expérimentations réalisées
dans le cadre de l’étude du réseau par FBA.
Enfin le réseau de Phaelodactylum tricornutum n’a reçu aucune validation fonctionnelle.
Seules certaines voies métaboliques ont été étudiées manuellement d’un point de
vue topologique. Une étude des données transcriptomiques disponibles pour cette espèce
a toutefois permis de valider la prédiction de certaines de ces voies métaboliques.
1.5.4 Ectocarpus siliculosus
Le modèle d’application de cette thèse est Ectocarpus siliculosus (représentée en figure
1.8), un eucaryote appartenant au groupe des algues brunes. Les algues brunes sont des
organismes photosynthétiques multicellulaires et vivant principalement dans l’eau de mer
qui appartiennent au groupe des straménopiles (aussi appelés hétérocontes). Les stramé-
nopiles sont distants phylogénétiquement des plantes vertes et des opisthocontes (animaux
et champignons) [CPC11], comme le montre la figure 1.9. L’ancêtre commun à ces trois lignées
date de la radiation initiale des eucaryotes il y a plus d’un milliard d’années [YHC+04].
Depuis cette divergence, les algues brunes ont développé des caractéristiques spécifiques,
qui leur ont notamment permis de s’adapter aux environnements extrêmes de la zone de
balancement des marées (ou zone intertidale) et aux stress abiotiques induits. Ces organismes
ont acquis leurs plastides lors d’une endosymbiose secondaire [Kee04] impliquant
une capture d’une algue rouge, impactant grandement la structure interne de leurs cellules
et sur la composition de leur génome du fait de transferts de gènes depuis l’endosymbiote.
Les algues brunes sont des piliers des écosystèmes marins et costaux [GKD+07]. Elles sont
également très importantes pour l’industrie de l’aquaculture en pleine expansion, et repré-
sentent une ressource durable de composants importants pour des applications biotechnologiques
[WLW+12, ENFB+14, WQJ13].
Parmi les algues brunes, Ectocarpus siliculosus a été choisie comme modèle génomique
[CSR+10, BNLC13] et génétique [HCP+10], entraînant l’arrivée d’une nouvelle vague
d’études sur cet organisme. Si les recherches sur Ectocarpus siliculosus se concentrent
classiquement sur la biologie du développement [CGA+11, LBBLP+11], les plus récentes
couvrent aujourd’hui des champs beaucoup plus larges tels que son évolution [PVC+10,
DPR+11], son métabolisme [MTS+10b, MTS+10a, GDR+10, MCDL+13] ou son adaptation et38 État de l’art
FIGURE 1.8: Photo de sporophyte d’Ectocarpus siliculosus en culture.
FIGURE 1.9: Représentation simplifiée de l’arbre phylogénétique des eucaryotes [CPC11].
Les cinq groupes majeures ayant développé une multicellularité complexe sont repré-
senté en couleur. La longueur des barres de couleur indique le temps relatif approché de
développement de la multicellularité dans chaque lignée.Reconstruction de réseaux métaboliques pour les algues 39
acclimatation aux changements environnementaux [DSP+09, DGR+11, DGG+12, RUR+10].
Toutes ces études suggèrent que les algues brunes possèdent un métabolisme chimérique
façonné par des endosymbioses et des transferts latéraux de gènes. Ces études suggèrent
également une importance du mannitol dans le stockage de l’énergie et la défense face au
stress. Nous reviendrons sur cette molécule plus particulièrement dans le chapitre 4.
Malgré la disponibilité de jeux de données transcriptomiques, protéomiques et de pro-
filages métaboliques [TEP+11], aucun réseau métabolique à l’échelle génomique n’avait été
proposé avant cette thèse. Un tel réseau métabolique visait à servir de modèle pour le mé-
tabolisme de l’ensemble des algues brunes.
Cependant, l’application des méthodes utilisées pour les réseaux métaboliques d’algues
s’avère délicate sur différents points.
D’abord, la reconstruction de la plupart des ébauches métaboliques mentionnées cidessus
a été réalisée en utilisant des informations pré-existantes dans KEGG. Cette base de
données de référence ne contenant aucune information sur le génome ou les réactions pré-
sentes chez Ectocarpus siliculosus, il est nécessaire d’utiliser uniquement les annotations
(manuelles ou automatiques) existant chez cette espèce et disponibles via un portail web
(http://bioinformatics.psb.ugent.be/orcae/overview/Ectsi). KEGG ayant changé
de statut en juillet 2011 et l’accès étant maintenant payant, il fut nécessaire d’utiliser l’autre
référence parmi les bases de données de réactions métaboliques, MetaCyc et le logiciel qui
lui est associé, Pathway Tools.
De plus, l’analyse bibliographique a mis en évidence le besoin de creuser les approches
de complétions qui devraient être utilisées. En effet, la plupart des réseaux algues ont été
complétés manuellement en utilisant les connaissances bibliographiques pré-existantes.
Or l’utilisation de complétion manuelle est particulièrement compliquée lorsqu’on travaille
sur des réseaux métaboliques chez des espèces non classiques. En effet, ceux-ci évoluent en
permanence et réaliser une étude bibliographique à chaque modification minime du réseau
devient vite irréalisable.
À l’inverse, utiliser une méthode automatique non biaisée permet d’obtenir de nouvelles
connaissances. Cependant, la reconstruction des réseaux d’Ostreococcus met en jeux
deux techniques différentes de complétion : SMILEY [RPC+06] et une approche stochastique
[CMK+09]. La première approche, décrite plus précisément en 1.4.2, nécessite d’avoir
un grand nombre d’expérimentation sur l’espèce étudiée. En effet, cette méthode utilise les
différences de croissance sur différents substrats pour que les réactions présentes dans le
modèle amènent à des simulations en adéquation avec les observations numériquement
parlant. On peut également utiliser des données de flux connues à travers certaines réactions.
Dans le cas d’Ectocarpus siliculosus nous ne possédons pas de telles données mais
uniquement des données de croissance en milieu eau de mer. L’application de la méthode
stochastique ([CMK+09]) (là encore décrite plus précisément en 1.4.4) aurait été possible
en théorie. Cependant en pratique, nous nous sommes rendu compte que cette méthode
était non seulement très longue mais surtout donnait un grand élevé de solutions diffé-
rentes. Celles-ci n’étant pas toutes équivalentes, pour les discriminer il faut introduire des
scores pour chaque réaction. Ces scores sont habituellement définis en fonction de données
d’orthologie et de données phylogénétiques. En présence d’une espèce éloignée phylogé-
nétiquement des espèces classiquement étudiées, ces scores peuvent rapidement perdre de
leur pertinence. De plus, dans le cas d’Ectocarpus siliculosus, cette espèce résulte de deux40 État de l’art
endosymbioses, et les transferts horizontaux de gènes, non négligeables, risquent de ne pas
être pris en compte par les données phylogénétiques.
Cette analyse a mis en évidence que la reconstruction du réseau métabolique pour Ectocarpus
siliculosus ne pourrait pas être réalisée en utilisant les pipelines utilisés pour les
autres réseaux algues existant, en particulier à cause de l’hétérogénéité des sources de données
permettant de reconstruire l’ébauche et de la nature des données fonctionnelles (pro-
fils métaboliques) connues sur Ectocarpus siliculosus pour le compléter.
1.6 Principaux apports/résumé
Durant cette thèse, nous nous sommes appliqués à proposer un processus de reconstruction
de réseaux métaboliques appliqués aux espèces non classiques. Nous avons appliqué
l’ensemble de ce processus à Ectocarpus siliculosus en vue d’obtenir un réseau mé-
tabolique modèle pour les algues brunes. Ce processus global s’articule autour d’un point
particulier, l’amélioration d’une technique existante de complétion de réseaux métabolique
résolvant un problème combinatoire difficile. Cette amélioration sera présentée dans le
chapitre 2. Nous sommes ainsi passés d’une méthode expérimentale fonctionnant sur de
petits jeux de données à une méthode rapide, précise et permettant d’obtenir l’ensemble
des complétions minimales possibles pour un réseau métabolique donné.
Une fois ce problème combinatoire résolu, nous nous sommes appliqués à intégrer cet
outil dans un processus global de reconstruction de réseaux métaboliques que nous avons
appliqué à Ectocarpus siliculosus . Ce pipeline décrit dans le chapitre 3 utilise des données
génomiques (annotations et séquences) pour reconstruire une ébauche métabolique. Cette
ébauche sera ensuite améliorée par l’utilisation de données de profilage métabolique permettant
de faire des hypothèses sur les réactions manquantes dans le réseau. Enfin nous
proposons des gènes pouvant coder pour les enzymes pour lesquelles nous émettons l’hypothèse
qu’elles sont présentes chez l’organisme malgré l’absence d’annotation équivalentes
au niveau du génome.
La reconstruction du réseau métabolique d’Ectocarpus siliculosus et sa curation manuelle
ont permis d’obtenir de nouvelles indications sur le métabolisme de cette algue. Ces
hypothèses, qui concernent par exemple la synthèse des acides aminés aromatiques ou encore
du molybdenum seront présentées dans le chapitre 4.Chapitre 2
Complétion combinatoire de réseau
métabolique
Durant ce chapitre nous allons étudier plus précisément le problème de complétion
d’ébauches de réseaux métaboliques tel que défini par Schaub and Thiele [ST09]. Après
avoir décrit le problème d’optimisation auquel nous faisons face dans la partie 2.1, nous
étudierons différentes extensions de ce problème pour en améliorer les performances : nouvelle
modélisation de la réversibilité (partie 2.4), impact des heuristiques de résolution (partie
2.3), impact de la sémantique de productibilité (partie 2.5). Dans une dernière section
(partie 2.5.4), nous étudierons l’efficacité de l’approche de complétion combinatoire revisitée
en terme de fonctionnalité quantitative.
Une partie des résultats de ce chapitre a été présentée lors de la conférence LPNMR 2013
et avant d’être publiée dans les actes de cette même conférence [CEG+13].
2.1 Problème d’optimisation
2.1.1 Espace de recherche
Un réseau métabolique est représenté par un graphe dirigé bipartite G = (R ∪M,E) où R
et M sont des nœuds représentant respectivement les réactions et les métabolites.
Les réactants d’une réaction correspondent à l’ensemble des nœuds reliés par des arêtes
entrant dans un nœud R, soit r eac(r ) = {m ∈ M|(m, r ) ∈ E}.
Les produits correspondent aux arêtes sortantes : pr od(r ) = {m ∈ M|(r,m) ∈ E}.
Les entrées du problème d’optimisation consistent en l’introduction d’un ensemble de
métabolites M et deux ensembles de réactions reliant des métabolites de l’ensemble M :
– Une ébauche de réseau métabolique formée du groupe de réactions : Rd r a f t ,
– Une base de données de réactions métaboliques formée de réactions : Rdb.
Parmi les métabolites M on définit aussi deux sous-ensembles de métabolites :
– Un ensemble de métabolites graines : Mseed ⊂ M,
– Un ensemble de métabolites cibles : Mt ar g e t ⊂ M.
L’espace de recherche va être constitué de l’ensemble des sous-ensembles de R = Rd r a f t∪
Rdb.
4142 Complétion combinatoire de réseau métabolique
2.1.2 Atteignabilité
Le problème de complétion est particulièrement dépendant du concept d’atteignabilité.
La définition la plus simple d’atteignabilité est purement topologique et consiste à propager
les dépendances du graphe. On dit qu’une réaction r ∈ R est topologiquement atteignable
depuis M′
si l’ensemble de ses réactants est dans le scope de M′
, c’est-à-dire si
r eac(r ) ⊆ M′
. De manière similaire, on dit qu’un métabolite est atteignable depuis M′
si
m ∈ M′ ou si m ∈ pr od(r ) pour au moins une réaction r ∈ R atteignable depuis M′
. L’ensemble
des métabolites atteignables depuis Mseed , noté scopeFW D(Mseed ) (ou F w f (Mseed )
dans [CMA+08]), est l’ensemble des métabolites produits à partir des graines en utilisant les
réactions du réseau. Formellement, scopeFW D(Mseed ) est le résultat de l’itération Mi+1 =
Mi ∪ pr od(r eac(Mi)) partant de Mseed jusqu’à atteindre un point fixe. L’ensemble des mé-
tabolites atteignables depuis Mseed , noté scopeFW D(Mseed ), pourra être calculé en temps
polynomial [RK01, ST09].
Une deuxième définition plus fine d’atteignabilité a été introduite par Cottret, avant
d’être utilisée par Acuna et Sagot, dans [CMA+08, AMC+12] et cherche à introduire les effets
des cycles dans la production des cibles. Il s’agit de définir l’ensemble des précurseurs
d’une manière plus élaborée. Au lieu de commencer la propagation depuis un ensemble
de sources, les auteurs autorisent l’inclusion de métabolites internes, sous la condition que
ces métabolites internes soient produits par une réaction dans une étape ultérieure de la
propagation. On définit ainsi F wdZ (M), l’ensemble des cibles de M avec Z comme mé-
tabolite interne, comme le résultat de l’itération Mi+1 = Mi ∪ pr od(r eac(Mi ∪ Z)) partant
de M0 = Mseed jusqu’à atteindre un point fixe. Ainsi, un ensemble S ⊂ Mseed est précurseur
d’un ensemble T s’il existe Z tel que T et Z sont inclus dans l’ensemble F wdZ (S).
Cela permet d’identifier les éléments assurant le maintien de différents cycles sans provenir
de sources externes. À partir de ce concept, il est possible de définir un nouvel ensemble
scopeInter nal Suppl y (Mseed ) de cibles atteignables à partir d’une ensemble de sources Mseed .
Il va s’agir de tous les métabolites qui admettent Mseed comme ensemble de précurseurs.
L’ensemble scopeInter nal Suppl y (Mseed ) pourra être calculé en temps polynomial [AMC+12].
Enfin, lorsque la stœchiométrie du réseau est disponible, on peut aussi considérer que
l’ensemble des métabolites atteignables à partir d’un ensemble de sources correspond à
l’ensemble des produits de réactions non bloquées, c’est-à-dire pouvant posséder un flux
non-nul en FVA. L’ensemble scopeF B A(Mseed ) sera alors défini par des contraintes linéaires
et pourra être, la plupart du temps, calculé en temps polynomial [MB13].
Dans leur article, Acuna et al. [AMC+12] proposent un exemple permettant de bien
comprendre leur définition de l’atteignabilité. Cet exemple est présenté en figure 2.1.
Dans cet exemple, la cible t sera atteignable aussi bien lorsque l’on utilise la sémantique
topologique simple que celle avec recyclage interne.
Pour la sémantique topologique simple, pour pouvoir produire t, il va falloir que h appartienne
au scope des sources. Cette molécule est productible à partir de deux réactions,
r3 et r5, cette dernière nécessitant la présence de e dans le scope. Or la molécule e pourra
être produite directement à partie de deux sources, b et c. La cible t sera donc productible
et ce malgré le fait que g et f ne fassent pas partie du scope des sources.
Pour la sémantique topologique avec recyclage interne, si l’on suit la propagation, avec
M0 = {a,b,c} nous aurons alors M1 = {a,b,c,e} de manière classique puis M2 = {a,b,c,e,h}
et enfin M3 = {a,b,c,e,h,i,t} qui sera un point fixe. Nous aurons donc F wd({a,b,c}) =Problème d’optimisation 43
FIGURE 2.1: Représentation schématique d’un réseau métabolique[AMC+12]. Les nœuds
représentent les métabolites et les hyper-arcs représentent les réactions. Les nœuds gris
correspondent aux sources et le nœud noir la cible.
{a,b,c,e,h,i,t}. En revanche, avec l’ensemble des sources présentes dans cet exemple nous
aurons M0 = {a,b,c,d} puis M1 = {a,b,c,d,e, f , g ,h} étant donné que les métabolites f et g
sont des métabolites internes à un cycle pouvant être produites plus tard par ce même cycle.
Nous aurons enfin M2 = {a,b,c,d,e, f , g ,h,i,t} qui sera le point fixe. Une fois ce point fixe
atteint, nous pouvons conclure que F wdZ ({a,b,c,d}) = {a,b,c,d,e, f , g ,h,i,t}. Il est intéressant
de remarquer que F wdZ ({a,b,c,d}) = F wdZ ({c,d}) si l’on ne prend pas en compte les
sources a, b et c qui ne peuvent être produites par aucune réaction.
2.1.3 Problème de complétion
Trouver une complétion de réseaux métaboliques correspondra à trouver un sous-ensemble
de réactions Rcomple t i on ⊂ Rdb de telle manière que le scope de Mseed associé aux
réactions Rd r a f t ∪Rcomple t i on contienne l’ensemble des métabolites Mt ar g e t .
Plus formellement, une complétion de (Rd r a f t ∪Md r a f t ,Ed r a f t) à partir de (Rdb ∪Mdb,-
Edb) par rapport à Mseed et Mt ar g e t est un ensemble de réaction Rcomple t i on ⊆ Rdb \Rd r a f t
tel que Mt ar g e t est atteignable à partir de Mseed dans le réseau ((Rd r a f t ∪ Rcomple t i on) ∪
(Md r a f t ∪ Mcomple t i on),Ed r a f t ∪ Ecomple t i on), où Mcomple t i on et Ecomple t i on sont les projections
de Mdb et Edb sur le réseau complété. En particulier, cette définition dépend de la
notion d’accessibilité utilisée : scopeFW D, scopeInter nal Suppl y , scopeF B A.
Lors de la complétion, nous allons minimiser le nombre de réactions ajoutées aux ré-
seau métabolique initial. Pour cela nous définissons un score S correspondant au nombre
de réactions de R
′
à ajouter pour obtenir une solution. Un premier problème d’optimisation
consistera donc à minimiser S.
Une fois la taille de l’ensemble minimal de réactions à ajouter déterminée, nous allons
chercher exhaustivement l’intégralité des ensembles de réactions de cette taille permettant
de compléter le réseau. Les différents problèmes de complétion que nous allons étudier
consistent donc à calculer :44 Complétion combinatoire de réseau métabolique
– Une complétion minimale en taille à un réseau métabolique,
– Toutes les complétions minimale en taille,
– L’union ou l’intersection des complétions minimales en taille.
Dans les applications, nous utiliserons plutôt l’union de l’ensemble des solutions obtenues
pour ne pas avoir à discriminer des complétions sans connaissance biologique préalable.
Les variantes de ce problèmes dépendent bien évidemment de la notion d’accessibilité.
Une variante, dont la complexité est bien plus élevée, consiste à recherche des complétions
minimales au sens ensembliste.
Comme indiqué dans l’état de l’art, Schaub et Thiele [ST09] ont proposé une modélisation
en programmation par ensemble-réponse du problème d’optimisation correspondant
à la notion d’accessibilité topologique scopeFW D. Ce programme ASP est décrit en annexe.
Dans [ST09], les auteurs ont montré que ce programme permettait de répondre à la question
de la complétion de réseaux métaboliques. Leurs expériences ont été réalisés sur des
réseaux bactériens (E. coli) ayant été dégradés et dont la complétion est réalisée à partir de
sous ensembles de taille croissante de la base de données de réactions métaboliques, MetaCyc.
Ce programme montrait alors des performances acceptables pour une petite taille de
base de données mais ces performances se dégradaient dès que la taille de celle-ci approchait
la taille réelle.
2.2 Jeux de test
De manière à étudier les performances de Network-expansion vis-à-vis de différents critères,
nous avons construits plusieurs jeux de donnés de test.
2.2.1 Impact de la taille des bases de complétion : Ectocarpus siliculosus & MetaCyc
Afin de mesurer l’impact de la taille de la base de complétion, nous avons créé un jeu de
test se rapprochant le plus possible de la réalité. Une des applications étant la complétion de
réseaux métaboliques de nouvelles espèces d’intérêt, nous avons décidé de faire ce benchmark
en se basant sur un réseau "brut" d’Ectocarpus siliculosus. Ce réseau (à l’inverse de
celui présenté dans le chapitre 3) a été créé à partir de la fusion entre un réseau créé depuis
d’anciennes annotations du génome d’Ectocarpus siliculosus et une toute première version
de l’ébauche créée à partir de données d’orthologie. La méthodologie de création de ce
réseau sera plus détaillée dans le chapitre 3, le but ici étant de démontrer la faisabilité de la
complétion d’un point de vue informatique et non la pertinence biologique de la création
de l’ébauche métabolique.
L’ébauche métabolique d’Ectocarpus siliculosus, non complétée, contenait à l’époque
1210 réactions et 1454 métabolites. D’après les informations biologiques que nous possé-
dons, nous pouvons recenser 44 métabolites graine, qui correspondent aux constituants du
milieu de croissance de l’algue, et 48 métabolites cibles, qui correspondent à des molécules
identifiées comme étant productibles par l’algue. En utilisant la sémantique topologique
simple ou avec recyclage interne, nous pouvons constater que le réseau initial n’était pas
capable de produire 25 des cibles.Jeux de test 45
La taille de la base de donnée étant le facteur majeur de la complexité, nous avons décidé
de jouer principalement sur celle-ci pour la construction du jeu de test. Nous avons donc
créé des sous-ensembles de la base de données MetaCyc (version 17.0) de taille comprise
entre 10000 et 5000 réactions, en enlevant 1000 réactions à chaque fois. Pour chaque taille
de base de données, 10 réplicats ont été réalisés. Nous avons veillé à ce que chaque sousensemble
contienne à peu près la même proportion de réactions réversibles que la base de
données initiale, c’est à dire 42%.
2.2.2 Effet de la taille de la base de données sur la productibilité des cibles
Étant donné que nous prenons des sous-parties de la base de données MetaCyc dans
cette étude, les métabolites cibles productibles à partir des graines vont varier selon les ré-
actions présentes dans ces sous-ensembles. De manière intéressante, les deux sémantiques
étudiées (topologique simple et avec recyclage interne) permettent dans tous les cas étudiés
de produire les mêmes métabolites à partir du réseau initial auquel a été ajouté toutes les
réactions présentes dans les sous-ensembles des bases de données. Cela semble indiquer
que les cycles ne sont jamais bloquant pour produire des métabolites d’un point de vue topologique,
du moins dans les exemples étudiés ici. La figure 2.2 présente la distribution du
nombre de cibles productibles selon les sous-ensembles de la base de données utilisés.
Taille de la base de données
Nombre de cibles non productibles
FIGURE 2.2: Représentation de la répartition statistique du nombre de métabolites non
productibles en fonction de la taille de la base de données utilisée. Les boites correspondent
à la taille du premier et du troisième quartile, la ligne centrale correspond à la
moyenne et les barres correspondent aux valeurs extrêmes.
Le réseau initial est capable de produire 23 cibles sur les 48 identifiées. Il reste donc 25
cibles à reconstruire à l’aide des bases de données. La figure 2.2 nous montre que, globalement,
plus la taille des sous-ensemble de MetaCyc considérés augmente, plus il est possible
d’expliquer la productibilité des cibles. Ce point particulier sera à retenir pour la suite, la46 Complétion combinatoire de réseau métabolique
taille des complétions proposées ainsi que le temps de calcul pour les identifier sera évidemment
influencé par le nombre de voies métaboliques à compléter.
2.2.3 Fonctionnalité : E. Coli
Pour tester la différence entre la sémantique de productibilité topologique et une sé-
mantique quantitative, nous avons exploité un réseau de référence pour sa fonctionnalité
et la qualité de l’annotation de ses cycles. Il s’agit d’un réseau d’Escherichia coli, Ec_iJR904
issu de la banque de référence gérée par H. Pallson [RVSP03].
Ce réseau est composé de 1.074 réactions (dont 143 réactions à la frontière du système
pour l’import et l’export de molécules) et 905 composés métaboliques différents. Une fonction
de biomasse formée de 49 métabolites différents a été utilisée dans le cadre de cette
étude. Ce réseau existe sous la forme d’un fichier sbml, mais celui-ci n’étant pas totalement
cohérent intrinsèquement (voir par la suite) nous avons finalement choisi de partir de la
matrice stœchiométrique associée pour reconstruire des fichiers sbml. On peut regretter
que les identifiants (des métabolites et des réactions) de ce réseau ne soient pas normalisées
vis-à-vis des bases de données de réactions de référence (KEGG ou MetaCyc). En particulier,
cela nous a empêcher d’utiliser MetaCyc comme base de référence pour tester la
complétion sur des versions dégradées de ce réseau
L’idée générale est de regarder dans ce réseau, pour des fonctions objectives différentes,
les types de réactions qui existent (réactions obligatoires, bloquées et alternatives pour la
production de biomasse) en utilisant les techniques de FBA (pour tester la fonctionnalité
globale du réseau) et de FVA (pour trouver les classes de réactions). Une fois ces réactions
classées, nous dégradons chaque réseau en enlevant une proportion équivalente de chaque
classe de réactions. Une fois la dégradation accomplie, nous utilisons une approche de complétion
topologique simple pour compléter le réseau afin de rendre productible d’un point
de vue topologique l’ensemble des métabolites compris dans la biomasse.
Les jeux de tests qui ont été extraits de ce réseaux ont consisté à les dégrader de manière
à casser la production de la biomasse. À partir de la fonction de biomasse associée au réseau,
90 biomasses intermédiaires ont été créés aléatoirement en enlevant 9 à 26 composants à
cette biomasse.
Le déroulement globale de la création du jeu de test a été celui-ci :
– Identification de la classe de chaque réaction en rapport avec la fonction de biomasse
étudiée (Obligatoire, bloquée ou alternative) à l’aide de techniques de FVA.
– Dégradation du réseau selon différentes contraintes :
– Enlever entre 10 et 40% des réactions du réseau par palier de 10%,
– Rompre la production de biomasse en FBA,
– Enlever une proportion égale de réactions obligatoires, bloquées et alternatives,
– Réaliser 10 réplicats aléatoires pour chaque dégradation.
Au final nous obtenons 9.600 réseaux dégradés : 4 pourcentages de dégradation * 10
réplicats * 90 fonctions de biomasse. Tout ces réseaux sont non fonctionnels vis-à-vis de la
biomasse qui leur est associée.
La complétion effectuée par la suite correspond à compléter ces réseaux dégradés en
utilisant comme base de référence le réseau initial non dégradé, le but étant d’identifier à
quelle classe appartiennent les réactions ainsi ajoutées.Jeux de test 47
Une difficulté pour la préparation de ces jeux de données a consisté à identifier correctement
les informations relatives à la réversibilité des réactions ou de la direction des
réactions des fichiers sources. Dans un fichier sbml il y a en effet deux manières de spécifier
la réversibilité et/ou la direction d’une réaction.
Ainsi, pour la réversibilité, il est possible de spécifier un argument "reversible" à une
réaction de la manière suivante :
Listing 1: Une réaction définie comme réversible en format SBML
1
ou
Listing 2: Une réaction définie comme irréversible en format SBML
1
Cependant, il est également possible de spécifier l’espace des possibles pour les flux
passant à travers cette réaction en fixant une upper-bound (borne supérieure) et une lowerbound
(borne inférieure) pour ces flux. Typiquement pour la réaction 3 il est indiqué qu’il
s’agit d’une réaction réversible alors que les flux ne peuvent aller que dans une seule direction.
Il existe également deux manières d’indiquer la direction des réactions, là encore en
prenant en compte les valeurs des flux ou non. Ainsi, dans les spécifications de SBML, il
est possible de désigner une molécule comme réactant d’une réaction ou comme produit
de celle-ci. Une réaction irréversible (peu importe la manière dont l’irréversibilité est introduite)
ayant pour réactant une molécule A et une molécule B, et ayant pour produit une
molécule C correspondrait donc à : A +B →C.
Cependant, là encore, il faut prendre en compte les flux. Pour certaines réactions, la
borne supérieure du flux peut être nulle et la borne inférieure peut être négative. Cela indique
que la réaction ne doit pas être prise dans le sens initial mais dans le sens inverse, où
les réactants deviennent les produits, et les produits deviennent les réactants. C’est le cas
notamment de la réaction 3 (ayant pour identifiant "R_EX_o2_LPAREN_e_RPAREN_") qui
est définie comme faisant rentrer du dioxygène dans une cellule, mais, si l’on se fie aux flux,
qui exporte du dioxygène de l’intérieur vers l’extérieur de la cellule.
Listing 3: Une réaction irréversible spécifiée comme réversible mais dont le sens des flux ne
correspond pas à la définition
1
2
3 Abbreviation: R_EX_o2_LPAREN_e_RPAREN_
4 Synonyms: _0
5 Equation: [e] : o2 <==>
6 Confidence Level:
7 GENE ASSOCIATION:
8
9
10 48 Complétion combinatoire de réseau métabolique
11
12
13
14
15
16
19
20
21
22
23
24
25
26
Ces différentes formalisations indiquent que les réseaux présentés sous leurs formats
SBML et matriciels peuvent en fait avoir des comportements et des structures très diffé-
rentes. Pour homogénéiser les analyses et les comparaisons entre approches quantitatives
et qualitatives, il a été décidé de ne pas prendre en compte les informations présentes dans
les fichiers SBML mais de reconstruire des fichiers SBML cohérents à partir de matrices stœ-
chiométriques et de vecteurs de flux.
2.3 Performance
Comme indiqué dans l’état de l’art, Schaub et Thiele [ST09] ont proposé une modélisation
en programmation par ensemble-réponse du problème d’optimisation correspondant
à la notion d’accessibilité topologique scopeFW D. Ce programme ASP, appelé Networkexpansion,
est décrit en annexe. Dans [ST09], les auteurs ont montré que ce programme
permettait de répondre à la question de la complétion de réseaux métaboliques. Leurs expériences
ont été réalisés sur des réseaux bactériens (E. coli) ayant été dégradés et dont la
complétion est réalisée à partir de sous ensembles de taille croissante de la base de données
de réactions métaboliques, MetaCyc. Ce programme montrait alors des performances
acceptables pour une petite taille de base de données mais ces performances se dégradaient
dès que la taille de celle-ci approchait la taille réelle.
2.3.1 Heuristiques de résolutions
En 2012, une nouvelle méthode de recherche pour les solveurs ASP a été développée
par l’équipe qui maintient la collection Potassco [GKK+11] et qui développe notamment le
solveur ASP Clasp. Cette méthode de recherche utilise une optimisation basée sur l’insatis-
fiabilité de contraintes [AKMS12].
Jusque avant la version 3, le solveur Clasp [GKS12] utilisait uniquement des méthodes
d’optimisation très efficaces basées sur des algorithmes de séparation et d’évaluation (ouPerformance 49
branch and bound). Ces techniques top-down ont montré leur efficacité pour résoudre de
nombreux problèmes d’optimisation en travaillant énormément sur les bornes supérieures
et inférieures d’un problème. La stratégie globale consistera à descendre plus ou moins rapidement
une borne supérieure jusqu’à atteindre une configuration insatisfiable qui marquera
une borne inférieure. Cette méthode d’optimisation a montré sa forte efficacité sur
certains types de problèmes. En parallèle, une nouvelle méthode a émergé du domaine
des solveurs SAT pour résoudre les problèmes MaxSAT [CKS01]. Cette approche se base sur
l’identification et la relaxation de cœurs insatisfiables et a montré son efficacité notamment
lors de compétitions comme la "2008 MaxSAT evaluation". Le solveur Clasp étant peu ef-
ficace pour certains problèmes résolus efficacement par cette approche les développeurs
de ce solveur se sont inspirés de ces nouvelles techniques pour développer une heuristique
efficace combinant les caractéristiques d’ASP et les techniques développées dans ce cadre,
en étendant l’algorithme à la résolution de problèmes d’optimisation pondérée [AKMS12].
La base de ce travail consiste en l’identification de cœurs insatisfiables. Un cœur insatisfiable
est un sous-ensemble de clauses du problème initial dont la conjonction est insatisfiable.
La méthode essaie donc de résoudre le problème une première fois. Si elle y arrive
directement, le problème est satisfiable, la solution est trouvée. Sinon on identifie ainsi un
ensemble insatisfiable de contraintes. Le solveur va alors relaxer des contraintes afin que
l’ensemble soit satisfiable avant d’identifier un autre ensemble insatisfiable, les relaxer à
leur tour et cela jusqu’à ce qu’il n’y ai plus de contraintes insatisfiables dans le problème.
Dans le cadre de notre problème d’optimisation, nous cherchons à minimiser le nombre
de réactions ajoutées dans un modèle à partir d’une base de données de réactions métabolique
très grande. Nous avons donc un problème de minimisation qui sera traditionnellement
traité par une approche "top-down" en prenant un modèle stable résout l’ensemble
des contraintes, peu importe sa taille, avant de réduire la taille du modèle petit à petit. Étant
donné que la taille de la base de données est très grande par rapport à la taille de la solution
recherchée (de l’ordre de la dizaine de milliers pour la base de données contre des solutions
de taille inférieure à 100), cette minimisation pourra être longue. À l’inverse l’heuristique se
basant sur les cœurs insatifiables va traiter le problème par une approche "bottom-up" en
cherchant des solutions de très petite taille puis en augmentant progressivement la taille de
ces solutions jusqu’à trouver un modèle stable satisfaisant l’ensemble des contraintes qui
sera donc de taille minimale.
Cette méthode ayant été validée par les chercheurs de Potsdam sous la forme d’un solveur
à part entière (Unclasp),elle a ensuite été intégrée au solveur Clasp (à partir de Clasp
3.0 en février 2014) sous la forme d’une paramètre de recherche : –opt-strategy=usc.
Par soucis de lisibilité, nous désignerons dans la suite par :
– Clasp : la recherche par séparation et évaluation (Clasp version 2, ou version 3 avec le
paramètre –opt-strategy=bb),
– Unclasp : la recherche MaxSat (Unclasp version 0.1 ou Clasp version 3 avec le paramètre
–opt-strategy=usc).
2.3.2 Nouvelle méthode d’optimisation dans Network-expansion
L’apparition de nouvelles techniques de recherche a permis de faire évoluer Networkexpansion
qui réalisait la complétion topologique. Clasp a été configuré de manière à pouvoir
trouver au plus vite une solution optimale en autorisant des redémarrages de la re-50 Complétion combinatoire de réseau métabolique
cherche afin de ne pas rester bloqué dans des optimas locaux. Cette solution semble être la
meilleure pour ce solveur après utilisation quotidienne de celui-ci pendant plusieurs mois.
Unclasp n’étant pas capable de réaliser l’énumération des solutions ainsi que l’intersection
des solutions, seul Clasp a été utilisé dans ce cas afin d’observer l’influence de l’inclusion
de la réversibilité dans la modélisation.
2.3.3 Recherche d’optimum
Nous avons utilisé les jeux de tests pour tester l’impact des deux méthodes de résolution
Clasp ou Unclasp sur les performances de la complétion. Les critères testés ont été les
suivants :
– Calcul des optimaux de complétion,
– Énumération de toutes les solutions possibles,
– Calcul de l’intersection de toutes les solutions possibles.
La figure 2.3 donne les résultats de ce test pour le temps de calcul des optimaux en fonction
du solveur.
5000 6000 7000 8000 9000 10000 Complète
Nombre de réactions
0.1
1
10
100
1000
10000
100000 Temps en secondes (log)
Clasp
Unclasp
FIGURE 2.3: Temps de calcul de Clasp et Unclasp pour la recherche de la taille minimale
de complétion. Les cercles transparents correspondent à la médiane des expérimentations
avec Clasp. Les carrés grisés correspondent à la médiane des expérimentations avec Unclasp.
Pour chaque expérience, les valeurs minimale et maximale sont reportées avec des
lignes verticales.
Comme nous pouvons le voir, le changement de méthode de recherche entraîne un gain
important dans le temps de calcul des optimaux. Étant donné que nous avons un timeout
à 100.000 secondes, nous remarquons que, même avec une taille de base de données dePerformance 51
9000 réactions, il était souvent impossible de trouver des solutions au problème étudié. Les
résultats de la complétion ainsi que le détail des timeout avec Clasp sont donnés dans le
tableau 2.1.
TABLE 2.1: Tailles et nombre de solutions optimales pour chaque sous-ensemble de réactions.
Les time-outs de Clasp sont également reportés (100.000 secondes).
Nombre de réactions 5000 6000 7000 8000 9000 10000 Complet
Taille de l’optimal [6,14] [7,22] [7,29] [9,29] [16,47] [33,50] 52
Nombre de solutions [4,32] [6,324] [6,1728] [16,3456] [80,1150] [180,22800] 2600
Time-out de Clasp 0 0 1 3 9 10 10
2.3.4 Impact de la taille de la base
Une fois la recherche d’optima réalisée, nous pouvons utiliser cet optimum pour rechercher
l’ensemble des solutions de taille minimale permettant de compléter le réseau
métabolique. Unclasp n’étant pas capable de faire cette énumération, nous avons utilisé
uniquement Clasp pour cela. Les résultats sont présentés en figure 2.4. Ces résultats nous
montrent que le nombre de solutions différentes augmente jusqu’à atteindre un plateau
autour d’une taille de base de données de 9.000 réactions, tandis que le temps de calcul
augmente exponentiellement avec la taille de la base de données. Cela semble montrer que
9000 réactions sont suffisantes pour compléter le réseau, les autres réactions augmentant
l’espace de solutions, et donc le temps de calcul. Malgré cette croissance exponentielle, le
calcul de l’ensemble des solutions reste réalisable en un temps suffisamment court pour
être utilisé en routine. Cela est principalement dû au fait que l’utilisation d’Unclasp nous
permet d’avoir la valeur de l’optimum en un temps très court.
Ceci montre tout d’abord que l’utilisation des méthodes de recherche d’Unclasp permet
de calculer le nombre minimum de réactions à ajouter lors de l’étape de complétion du
réseau métabolique en quelques secondes malgré un espace de solution très grand. Cette
première étape est indispensable à toute autre étude de complétion. Il est à noter que la
taille de la base de données ne semble pas impacter énormément la recherche d’optimas
avec Unclasp. Ce solveur est en effet particulièrement adapté à la recherche d’optima très
petits (ici de taille 50 environ) face à un espace de solutions très grand (plus de 10000 réactions).
Enfin, nous avons déterminé la valeur de l’intersection des solutions ainsi que le temps
nécessaire au calcul de cette intersection. L’intersection des solutions est calculée en utilisant
l’option –enum-mode=cautious de Clasp. La figure 2.5 présente les résultats obtenus.
On remarque encore une fois que le temps de calcul est exponentiel par rapport au nombre
de réactions dans la base de données. Par contre, la taille de l’intersection grandit beaucoup
moins vite alors que le nombre de solutions optimales augmente énormément. Cela
est cohérent avec les observations réalisées au cours de la thèse selon lesquelles le nombre
total de solutions possibles n’impacte que très peu sur la taille de l’union et/ou de l’intersection
de ces solutions. Cela semble indiquer une très forte redondance dans l’ensemble
des solutions étudiées.52 Complétion combinatoire de réseau métabolique
5000 6000 7000 8000 9000 10000 Complète
Nombre de réactions
1
10
100
1000
10000
100000 Temps en secondes (log)
1
10
100
1000
10000
100000
Nombre de solutions
Nombre de solutions
Temps de calcul
FIGURE 2.4: Temps de calcul de Clasp pour énumérer l’ensemble des solutions Les cercles
transparents correspondent aux médianes des durées des expérimentations. Les points
noirs correspondent aux médianes du nombre de solutions. Les lignes verticales correspondent
aux valeurs maximales et minimales.Performance 53
5000 6000 7000 8000 9000 10000 Complète
Nombre de réactions
1
10
100
1000
10000
100000 Temps en secondes (log)
1
10
100
1000
10000
100000
Taille de l'intersection
Temps de calcul
Taille de l'intersection
FIGURE 2.5: Temps de calcul de Clasp pour déterminer les intersections des solutions optimales.
Les cercles transparents correspondent aux médianes des résultats de durée des
expérimentations. Les points noirs correspondent à la taille médiane des intersections. Les
lignes verticales correspondent aux valeurs maximales et minimales.54 Complétion combinatoire de réseau métabolique
Suite aux différentes observations, nous pouvons dire que l’utilisation de la combinaison
des méthodes de recherche d’Unclasp et Clasp est indispensable pour permettre la reconstruction
de réseaux métaboliques avec ce programme ASP. La méthode de recherche
d’Unclasp est la seule capable (en un temps raisonnable) de calculer le nombre minimal de
réactions à ajouter au réseau métabolique, mais n’est pas capable, ni d’énumérer l’ensemble
des solutions optimales, ni de calculer leur intersection ou leur union. En revanche, une fois
que l’optimum recherché est connu, Clasp permet de réaliser ces trois tâches en un temps
suffisamment court pour être utilisé en routine. Maintenant que la méthode d’optimisation
présente dans Unclasp a été ajoutée dans Clasp (version 3), la combinaison des deux outils
en un seul simplifie cette étape de complétion.
2.4 Impact du codage de la réversibilité sur les performances de
Network-expansion
2.4.1 Réversibilité dans Network-expansion
Au début du projet, Network-expansion ne prenait pas du tout en compte les réactions
réversibles. Si une réaction dans une base de données ou dans un modèle était considérée
comme réversible, cette réaction était dédoublée pour créer deux réactions différentes, une
allant dans un sens et l’autre dans le sens inverse. Cette modélisation initiale peut poser
différents problèmes, en terme de fonctionnalité comme de performance.
Tout d’abord, créer deux réactions en sens inverse l’une de l’autre pour chaque réaction
réversible est incompatible avec la réalité biologique que l’on souhaite modéliser lors de la
création d’un réseau métabolique et pour sa complétion avec Network-expansion. En effet,
la réversibilité d’une réaction est une donnée importante en biologie et deux réactions possédant
les mêmes réactants et mêmes produits mais ne partageant pas la même réversibilité
pourront être catalysées par des enzymes différentes. Un tel exemple est présenté en figure
2.6.
ADENOSINETRIPHOSPHATASE-RXN
PHOSPHATE H+ ADP
H2O ATP
3.6.4.4-RXN
PHOSPHATE H+ ADP
H2O ATP
FIGURE 2.6: Exemple de deux réactions impliquant les mêmes molécules et provenant de la
même base de données (MetaCyc), l’une étant réversible et l’autre irréversible.
Ainsi, ajouter la réaction ayant pour identifiant "ADENOSINETRIPHOSPHATASE-RXN"Impact de la réversibilité sur les performances de Network-expansion 55
OU "3.6.4.4-RXN" n’aura pas les mêmes implications en matière de recherche biologique.
De plus, étant donné que nous essayons d’ajouter le nombre minimal de réactions pour
compléter le réseau, si nous avons besoin qu’une réaction réversible fonctionne dans les
deux sens, nous devrions ajouter deux réactions différentes plutôt qu’une seule dans le ré-
seau, au risque de biaiser le résultat final en terme de cardinalité.
D’autre part, cette dissociation d’une réaction réversible en deux réactions irréversibles
n’était pas automatique lors de la complétion, et devait se faire manuellement en amont.
L’objectif de cette thèse étant notamment de produire un outil utilisable aisément par toute
personne travaillant sur des réseaux métaboliques, cette étape risquait d’être oubliée, entraînant
ainsi une totale incohérence au niveau des résultats, seul un des sens des réactions
réversibles étant pris en compte aléatoirement.
Enfin, comme montré précédemment, la complétion d’un réseau métabolique est un
problème hautement combinatoire. Hors, les bases de données contiennent énormément
de réactions réversibles (autour de 40% des réactions dans MetaCyc 17.0). L’espace des solutions
de complétion des réseaux métaboliques est très grand. Dédoubler cet espace des
solutions pour chaque réaction réversible agrandit encore plus l’espace des solutions, avec
un risque important de ralentir la recherche de l’optimum.
2.4.2 Nouvelle modélisation ASP de la réversibilité
À l’inverse, conserver les réactions réversibles telles quelles en changeant l’encodage,
outre le fait d’outrepasser l’ensemble des problèmes cités précédemment, possède quelques
avantages vis-à-vis du solveur de contraintes. Ainsi, si l’on garde les réactions comme réversibles,
l’espace des solutions ne grandit plus, et ajouter une réaction réversible permet de
s’affranchir plus tard de l’étude de l’autre sens de réaction.
En ASP, cela a consisté à créer un fait "reversible/1" pour chaque réaction réversible du
modèle et de la base de données de réactions, et d’utiliser ce fait pour changer la définition
des scopes utilisant des réactions réversibles. Ainsi, par exemple, le scope d’une molécule
M pourra désormais être calculé de la manière présentée en listing 4. Ceci est à comparer
avec la précédente version de la définition d’un scope avec le code ASP initial présenté en
annexe B. Il était alors nécessaire de créer une seconde réaction en inversant les réactants
et les produits.
Listing 4:
1 scope(M) :- seed(M).
2 scope(M) :- product(M,R), reaction(R), scope(M’) : reactant(M’,R).
3 scope(M) :- reactant(M,R), reversible(R), scope(M’) : product(M’,R).
2.4.3 Impact sur les performances
La figure 2.7 donne les résultats de ce test pour le temps de calcul des optimaux en fonction
de la réversibilité pour l’utilisation de Clasp et d’Unclasp.
Nous pouvons remarquer que l’introduction de la réversibilité, en plus d’être plus proche
de la réalité biologique, a permis d’accélérer grandement la recherche d’optimaux avec Un-56 Complétion combinatoire de réseau métabolique
FIGURE 2.7: Temps de calcul de Clasp et Unclasp pour la recherche de la taille minimale de
complétion. Les cercles correspondent à la médiane des expérimentations avec Clasp. Les
carrés correspondent à la médiane des expérimentations avec Unclasp. Les ronds et carrés
grisés correspondent à la modélisation avec prise en compte de la réversibilité, les ronds et
carrés vides correspondent à la même modélisation sans cette prise en compte. Pour chaque
expérience, les valeurs minimale et maximale sont reportées avec des lignes verticales.Sémantique de productibilité 57
clasp. Cette accélération va d’un facteur 2 à 11. Il est intéressant de remarquer l’absence
d’accélération significative avec Clasp.
Une des explications possible pourrait se trouver dans les techniques d’optimisation différentes
entre les deux solveurs. En effet, Clasp travaille beaucoup sur les bornes supérieures
et inférieures de la taille des solutions, avec donc un effet limité de la taille de l’espace de
recherche si Clasp arrive rapidement à réduire ces bornes. En revanche Unclasp recherche à
prouver l’insatisfiabilité de cœurs contraints, réduire l’espace de recherche permettra donc
d’accélérer cette preuve d’insatisfiabilité. Ceci n’est pour l’instant qu’une hypothèse et il serait
intéressant d’étudier ce cas plus en détail.
Le nouvel encodage de la réversibilité des réactions permet donc de mieux prendre en
compte la réalité biologique des réactions étudiées et d’accélérer la recherche d’optima.
2.4.4 De Network-expansion à Meneco
Après changement des méthodes de recherche avec l’introduction d’Unclasp pour la recherche
d’optimum et Clasp pour les énumérations, et recodage de la réversibilité, Networkexpansion
a été inclus dans un package Python autonome et a pris le nom de Meneco (pour
Metabolic network completion : https://pypi.python.org/pypi/meneco/), développé
par Sven Thiele.
2.5 Sémantique de productibilité
Nous l’avons vu précédemment, le problème de complétion peut être considéré comme
un problème d’optimisation où l’on rajoute le minimum de réactions pour produire un ensemble
de métabolites à partir d’un autre ensemble de métabolites. Par contre, la notion
d’accessibilité ou de productibilité peut être définie de manières différentes.
Nous avons déjà vu qu’il existe différentes manières de considérer un métabolite comme
productible ou non. Nous allons ici étudier plus finement ces concepts pour mieux les comparer,
en particulier vis-à-vis de leur utilisation pour compléter un réseau métabolique.
2.5.1 Impact des cycles sur les différents concepts d’accessibilité
Accessibilité quantitative (FBA) La recherche de productibilité en FBA est une recherche
de nature numérique. Pour savoir si un ensemble de métabolites est productible, nous mettons
l’ensemble de ces métabolites (avec la concentration associée si celle-ci est disponible)
dans une fonction objectif globale. Les métabolites graines, à partir desquels les métabolites
de la fonction objectif devront être produits, seront considérés comme des métabolites
à la frontière du système. Aucune contrainte n’est fixée quand à leur conservation dans le
système. Des bornes pourront être placées pour mettre des contraintes numériques à leur
import dans le système en fixant les flux maximaux et minimaux passant à travers les réactions
d’import. La stœchiométrie des réactions revêt ici une importance toute particulière,
comme le montre la figure 2.8.
La partie (a) représente un cycle formé de quatre réactions métaboliques. Nous avons
une entrée à ce cycle (métabolite A) et une sortie (métabolite F). En FBA ce cycle sera fonctionnel
car le métabolite A permettra d’alimenter le cycle en matière et la sortie de F ne
consommera pas de matière.58 Complétion combinatoire de réseau métabolique
FIGURE 2.8: Deux exemples de réseaux métaboliques contenant des cycles. Les métabolites
sont représentés par des ovales verts, les réactions sont représentées par des rectangles
rouges. La direction des réactions est représentée par la direction des arcs. La stœchiométrie
des réactions n’est pas représentée.
La partie (b) représente également un cycle formé de quatre réactions métaboliques
ainsi que d’une réaction de sortie. Ici l’amorçage du cycle par le métabolite A fonctionne
toujours. En revanche, pour que le cycle puisse avoir lieu dans son intégralité et continue
de produire le métabolite F, il faudra que la réaction R2 produise au moins deux molécules
de D. Une d’entre elles sera transformée en E pour permettre au cycle de continuer. L’autre
sera transformée en F qui pourra être utilisé par le reste du réseau métabolique. Si ce n’est
pas le cas, et que la réaction R2 produit moins de deux molécules de D, le cycle ne pourra
pas être maintenu et le métabolite F ne pourra pas s’accumuler.
Accessibilité topologique (Meneco) La recherche de productibilité par Meneco se fera uniquement
de manière topologique. Nous allons ici chercher un chemin à travers le graphe
bipartite des réactions métaboliques. Pour qu’un métabolite soit productible, il faut que
l’ensemble des réactants d’au moins une réaction qui le produit soit présent. Cette défi-
nition de la productibilité a l’avantage de ne pas prendre en compte la stœchiométrie des
réactions qui n’est pas toujours exacte dans les bases de données, notamment pour ce qui
concerne les cofacteurs. Par contre, cette définition a l’inconvénient de créer des problèmes
lors de la présence de cycles. Ainsi, si les exemples présentés en figure 2.8 conduisent à une
production du métabolite F en FBA, ce n’est pas le cas lors de l’utilisation de la sémantique
de Meneco.
En effet, dans l’exemple 2.8(a), le métabolite A ne pourra pas produire B car cela nécessite
la présence préalable de E, qui n’est pas présent ici. Il en va de même pour l’exemple 2.8
(b). En revanche si une autre molécule du cycle est produite à un autre endroit du réseau,
cela ne pose plus de problème pour ce cycle. Par exemple, si une réaction du réseau produit
la molécule E, celle-ci permettra d’alimenter la réaction R4 pour produire B rendant la ré-
action R1 possible. Dans ce cas, les exemples (a) et (b) permettront de produire F. Cela ne
serait pas forcément en contradiction avec la FBA, dans le cas (b) et une production d’une
seule molécule de D par R2, étant donné que nous avons une alimentation extérieure du
cycle.Sémantique de productibilité 59
Accessibilité avec recyclages internes (Pitufo) Pour tenter de résoudre le problème des
cycles, nous pourrions utiliser la méthode développée dans le cadre de recherche de précurseurs
par [CMA+08]. Un précurseur est un ensemble de métabolites minimal suffisant pour
produire un ensemble de métabolites cibles. Pour cela les auteurs définissent un type de
molécules "continuellement disponibles" qui, lorsqu’ils sont présents dans un cycle et produits
par ce même cycle, pourront être produits en continu. Ainsi, dès qu’un cycle simple
est obtenu, l’ensemble des réactions de ce cycle est réalisable et l’ensemble des produits
de ce cycle est réellement produit. Dans les exemples précédents, dès que la molécule A
est présente dans le réseau, l’ensemble des réactions est dès lors atteignable et l’ensemble
des molécules impliquées est productible, peu importe la stœchiométrie des réactions. Si
la méthode Pitufo ne s’applique pas directement à complétion de réseaux métaboliques, la
sémantique de productibilité utilisée est intéressante à étudier dans ce cas.
2.5.2 Comparaison des différentes sémantiques
Nous l’avons vu, la productibilité semble dépendre grandement de la sémantique utilisée.
Pour clarifier ce point, nous allons ici comparer la productibilité de molécules dans
cinq exemples qui semblent correspondre à l’ensemble des cas possibles que l’on peut rencontrer.
Les métabolites sont représentés par des ronds et les réactions par des rectangles.
La stœchiométrie des réactions est indiquée sur les arêtes. Les molécules S correspondront
aux graines et les molécules T aux cibles. L’ensemble de ces cas a été préparé avec l’aide de
Sven Thiele et sont présentés en figure 2.9. Le résumé de la productibilité de ces différents
exemples est présenté dans la table 2.2. Dans un article de 2009 [dFSKF09], De Figueiredo
et ses collaborateurs présentent un cas réel de recherche de productibilité de métabolites,
le cycle de Krebs associé à la glycolyse/néoglucogénèse chez l’humain. Ils montrent dans
leur article que les méthodes basées sur une étude uniquement topologique de réseaux mé-
taboliques résultent habituellement en une sur-approximation des molécules considérées
comme productibles ces méthodes. Le réseau présenté en exemple dans cet article peut
être décomposé en les différents exemples suivants, montrant que la sémantique topologique
simple ne sur-approxime pas les résultats mais, à l’inverse, prédit certains métabolites
comme étant non productibles alors que les méthodes numériques les considèrent comme
productibles du fait de l’auto-alimentation du cycle.
TABLE 2.2: Résultat de productibilité des métabolites T à partir de S pour les exemples
présentés en figure 2.9.
Cas (a) (b) (c) (d) (e)
FBA Productible Non productible Productible Non productible Productible
Meneco Productible Non productible Non productible Non productible Non productible
Pitufo Productible Non productible Productible Productible Productible
Dans l’exemple 2.9 (a), le cas est simple. Nous avons une réaction qui transforme une
molécule graine en une molécule cible. Pour toutes les sémantiques utilisées, la cible sera
toujours productible.
Dans l’exemple 2.9 (b) pour pouvoir produire T , il faut être en présence de deux molé-
cules, S et C1. S étant une molécule graine, celle-ci est présente. En revanche C1 n’est pro-60 Complétion combinatoire de réseau métabolique
S
C1
r1
r2
C2
r3 T
1
1
2
1 1
1 1
S r1 T
1 1
S
C1
r1 T
1
1
1
S
C1
r1
r2
C2
r3 T
1
1
1
1 1
1 1
S
C1
r1
r2
C2
T
1
1
1
1
1
1
(a) (b)
(c)
(d) (e)
FIGURE 2.9: Exemples de réseaux métaboliques. Les cercles représentent les métabolites,
les rectangles représentent les réactions. Les chiffres sur les arcs représentent la stœchiométrie
des réactions. Les métabolites S correspondent aux sources et les métabolites T correspondent
aux cibles.Sémantique de productibilité 61
duite par aucune réaction et ne pourra donc pas être produite, impliquant une impossibilité
de produire T que ce soit en FBA, par Meneco ou en utilisant la sémantique Acuna - Sagot.
Nous rencontrons, dans le cas 2.9 (c), notre premier cycle et la première différence entre
Meneco et la FBA. Dans le cas présent, en FBA, la réaction r1 va produire deux molécules
de C2. La première va pouvoir être utilisée pour alimenter le cycle en C1 via la réaction r2
et la seconde pourra être utilisée par la réaction r3 pour produire T . À l’état stable et avec
uniquement une entrée de S dans le système, le métabolite cible pourra donc être produit.
En revanche en utilisant Meneco, pour produire C2, il faudra que S et C1 soient présents. Or
C1 ne peut être produit qu’à partir de C2, le cycle ne pourra donc jamais être amorcé et T ne
pourra jamais être produit. Une production de C1 à un autre endroit du réseau rendrait en
revanche le cycle actif et permettrait de produire T . En utilisant Acuna - Sagot, les métabolites
C1 et C2 sont "continuellement disponibles" et permettent donc aux réactions r1 et r2
de fonctionner, ce qui alimente la réaction r3 en substrat.
La différence entre le réseau 2.9 (d) et le précédent consiste en la production d’un seul
métabolite C2 par la réaction r1. Meneco ne prenant pas en compte la stœchiométrie des
réactions, T ne sera pas produit à partir de S ici non plus. En revanche nous avons une
différence en utilisant la FBA, étant donné qu’une seule molécule de C2 est produite, le mé-
tabolite C2 ne pourra plus, à la fois, entretenir le cycle et être utilisé par la réaction r3. T
ne sera donc pas non plus productible en FBA. D’après Acuna - Sagot, les métabolites C1 et
C2 sont disponibles et permettent donc d’alimenter r3 malgré la stœchiométrie qui devrait
interdire cela.
Enfin, dans l’exemple 2.9 (d), encore une fois la FBA donnera T comme productible
et Meneco considérera T comme non productible. En effet en FBA, à l’état stable, le cycle
se maintiendra de lui même par une entrée de S et la réaction R2 qui produit C1 + T ne
"consommera" pas de matière à proprement parlé. En revanche, pour que T soit productible
par Meneco, il faudra comme dans l’exemple précédent que C2 soit productible or
celui-ci étant produit par C1 +S, ce ne sera pas le cas car C1 nécessite C2 pour être produit.
Encore une fois, avec Acuna - Sagot,C1 etC2 sont "continuellement disponibles" entrainant
une productibilité de T par r2.
Cette étude des différents exemples d’analyses qualitatives indique que la sémantique
de productibilité utilisée par Meneco peut être vue comme une sur-approximation de la sé-
mantique quantitative. Une complétion basée sur ce critère sera globalement plus restrictive
étant donné qu’elle empêche d’alimenter des cycles par des métabolites internes. On
risque donc de créer des faux négatifs lors de l’identification des métabolites productibles.
Au contraire, la sémantique autorisant les alimentations de cycles par leurs métabolites
internes risque ici de produire des faux positifs. En effet en ne prenant pas en compte la stœ-
chiométrie des réactions, il y a de grandes chances de rendre productibles des métabolites
qui ne le sont pas réellement.
2.5.3 Comparaison des sémantiques qualitatives sur la complétion
Une implémentation en ASP de la complétion de réseaux métaboliques utilisant le critère
de productibilité topologique avec recyclage interne a été proposée par Sven Thiele.
Les solveurs ASP ne pouvant, pour le moment, utiliser que des valeurs entières, il n’a pas été
possible de tester une complétion s’appuyant sur une sémantique de productibilité par FBA.
Cependant des efforts sont actuellement réalisés pour intégrer la programmation MILP dans62 Complétion combinatoire de réseau métabolique
ces solveurs, ouvrant la voie à de futures recherches sur le sujet.
Pour mieux comprendre l’impact de la sémantique de productibilité, nous avons d’abord
considéré un critère de performance vis-à-vis de la taille de la base de référence. Les tests ont
donc été réalisés avec le jeu décrit dans la section 2.2, c’est-à-dire le même jeu de données
que celui utilisé pour tester l’amélioration de l’efficacité dû au changement de méthode de
recherche (Unclasp VS Clasp). Le programme ASP n’ayant pas été particulièrement optimisé,
nous n’allons pas comparer les temps de calcul mais uniquement les résultats obtenus,
et notamment le nombre de réactions à ajouter pour rendre tous les métabolites cible
productibles ainsi que l’union de ces complétions. La figure 2.10 présente la taille médiane
des optimaux et de l’union des solutions proposées par les complétions utilisant la sémantique
de Meneco et la sémantique topologique avec recyclage interne. La taille médiane de
l’union utilisant cette dernière sémantique, pour une base de données de taille 10.000, n’est
pas disponible, les calculs n’ayant pas terminés après deux semaines. D’autre part la répartition
statistique des unions des complétions est présentée en figure 2.11.
5000 6000 7000 8000 9000 10000
0
10
20
30
40
50
60
Union Acuna
Union Meneco
Optimaux Acuna
Optimaux Meneco
Taille de la base de données
Nombre de réactions
FIGURE 2.10: Tailles des solutions et de l’union des solutions selon la sémantique de
productibilité utilisée. Les croix correspondent aux expériences utilisant la productibilité
d’Acuna-Sagot, les carrés celle de Meneco. Les courbes noires correspondent à la taille des
optimaux, les courbes grises correspondent à la taille des unions. Il n’existe pas de valeur
pour l’union avec Acuna pour une base de données de 10.000 réactions, les calculs étant
trop long.
Comme nous pouvions nous y attendre, le changement du critère de complétion en
prenant en compte les cycles réduit énormément la taille de chacune des complétions. En
revanche nous pouvons remarquer que la taille de l’union des complétions est beaucoup
plus variable et reste dans le même ordre de grandeur si l’on prend les critères de productibilité
de Meneco ou de Pitufo. Cela pourrait être dû au fait que, avec ce critère de productibilité,
nous avons plus d’endroits possibles où réaliser la complétion. Pour étudier la
composition de ces unions, et comparer d’un point de vue qualitatif les deux complétions,Sémantique de productibilité 63 Taille de l'union Taille de l'union
Nombre de réactions Nombre de réactions
a) b)
FIGURE 2.11: Représentation de la répartition statistique des différentes complétions en
fonction de la taille de la base de données utilisée. La partie a) correspond à la complétion
utilisant la sémantique proposée par Acuna et Sagot, la partie droite correspond à la complétion
utilisée par Meneco. Les boites correspondent à la taille du premier et du troisième
quartile, la ligne centrale correspond à la moyenne et les barres correspondent aux valeurs
extrêmes.
nous avons donc regardé la composition de l’intersection des complétions. Ces intersections
sont en accord avec cette hypothèse, celles-ci étant souvent de taille nulle et toujours
de taille inférieure à deux. Il y a donc extrêmement peu de redondance lorsqu’on complète
un réseau avec une sémantique autorisant les cycles, au contraire d’une sémantique topologique
simple où les complétions se recoupent énormément (cf figure 2.5).
Les complétions réalisées en utilisant la sémantique de productibilité topologique avec
recyclage semblent donc être des complétions petites en taille et distribuées à plusieurs
endroit du réseau. Cela est supporté par le fait que les complétions minimales sont de petite
taille par rapport à celles proposées par la sémantique de Meneco (2.10) , alors que les
unions de complétions sont de taille similaire pour les deux sémantiques. De plus, le fait que
l’intersection des complétions réalisées avec cette sémantique soit très petite voire nulle indique
une complétion répartie en plusieurs endroits du réseau. À l’inverse les complétions
réalisées par Meneco semblent beaucoup plus "stables" avec des optimaux de plus grande
taille, un cœur de réactions représenté par les intersections de grande taille également et
une union petite comparée à la taille des optimaux (2.10).
D’un point de vue biologique, il semble plus logique d’utiliser une méthode complétant
le réseau métabolique à un endroit précis avec différentes possibilités pour finir cette complétion
(comme cela est le cas avec Meneco), plutôt que de compléter un réseau à beaucoup
d’endroits différents (comme cela semble être le cas avec la sémantique topologique avec
recyclage).
Enfin du point de vue de l’efficacité informatique, ce dernier critère de productibilité
s’avère beaucoup plus long à calculer, étant donné qu’il y a beaucoup plus d’endroits diffé-
rents à compléter. Concrètement, pour des bases de données à plus de 10000 réactions, les
calculs de complétions selon la sémantique de Acuna-Sagot ne terminent pas en un temps
raisonnable (plusieurs jours de calculs nécessaires).
Dans la suite du document, nous nous sommes donc concentrés sur l’utilisation de la
sémantique de Meneco. Cependant, il faut garder à l’esprit que, une fois résolu la question64 Complétion combinatoire de réseau métabolique
des performances pour le calcul des complétions avec la sémantique topologique avec recyclage,
il sera intéressant d’en utiliser les résultats pour proposer des réactions complémentaires
pour la complétion des effets de cycles. Ce point sera rediscuté en perspectives.
2.5.4 Fonctionnalité des complétions qualitatives
Il reste maintenant à étudier les pertes de fonctionnalité induites par le fait d’utiliser
une méthode qualitative. En effet, si la complétion basée sur un point de vue topologique
nous permet d’obtenir des résultats précis et rapides, il n’est pas évident que ceux-ci soient
corrects d’un point de vue fonctionnel et numérique.
Il a donc été choisi de comparer les résultats de complétion obtenus d’un point de vue
"topologique" à des méthodes numériques basées sur l’analyse en balance de flux (ou Flux
Balance Analysis, FBA) et l’analyse par variabilité de flux (ou Flux Variability Analysis, FVA).
Les jeux de test s’appuyant sur un réseau d’E. Coli sont décrits en partie 2.2.3.
Une fois les réseaux métaboliques dégradés, la phase de reconstruction est réalisée en
utilisant Meneco. La base de données de réactions utilisée correspond au réseau non dé-
gradé. Les graines correspondent aux métabolites pouvant être importés dans le modèle
et les cibles correspondent aux métabolites de la fonction de biomasse qui peuvent être
produits topologiquement à partir des graines. La complétion est réalisée avec Meneco de
manière à obtenir l’union des solutions optimales.
L’analyse de la qualité de la complétion se basera sur les différentes classes de réactions
définies en FVA : les réactions obligatoires, bloquées et alternatives. En effet, la complétion
devant être minimale mais rester fonctionnelle, une complétion "parfaite" correspondrait
à un ajout de l’ensemble des réactions obligatoires, aucune réaction bloquée et une faible
proportion de réactions alternatives.
La figure 2.12 présente les résultats globaux de cette analyse.
Nous remarquons que, globalement, les reconstructions ont bien fonctionné. À 10% de
dégradations, nous ajouterons l’ensemble des réactions obligatoires dans le réseau dans
88% des cas . À 20% de dégradation, nous ajouterons toujours l’ensemble des réactions obligatoires
ayant été retirées du réseau dans 87% des cas. À 40% de dégradation ce pourcentage
descend à 65% et 57% à 40% de dégradation. Ainsi, assez logiquement, plus le réseau a été
détérioré, plus il est compliqué de le compléter d’un point de vue fonctionnel.
Il en va de même pour les réactions bloquées. Dans ce cas plus le réseau sera détérioré
plus le nombre de réactions bloquées que l’on rajoutera lors de la complétion sera élevé.
Nous l’avons mentionné précédemment, une complétion "parfaite" correspondrait à
une complétion contenant 100% des réactions obligatoires ayant été retirées et aucun ajout
de réaction bloquée n’aurait été effectuée. C’est le cas dans 47% des complétions réalisées
avec une dégradation à 10%.
Concernant les réactions alternatives, nous remarquons que la proportion ajoutée augmente
légèrement avec la dégradation, tout en restant très faible. Ce faible nombre valide le
choix de rechercher des complétions minimales en taille que nous avions fait. Le fait que la
proportion augmente avec le pourcentage de dégradation s’explique probablement par le
fait que nous considérons l’union des solutions minimales. En effet, une forte dégradation
du réseau revient à retirer des réactions un peu partout dans le réseau. Meneco risque alors
de trouver un grand nombre d’endroits à compléter de manière minimale ce qui agrandira
la taille de l’union des complétions minimales.Sémantique de productibilité 65 Pourcentage de réactions retrouvées
Obligatoires Bloquées Alternatives
dégradation : 10%
dégradation : 20%
dégradation : 30%
dégradation : 40%
FIGURE 2.12: Distribution des pourcentages de réactions rajoutées aux réseaux dégradés
selon les différentes classes de réactions et le pourcentage de dégradation. Les boites représentent
l’espace interquartile, les moustaches représentent 1.5 espace interquartile. Les
ronds représentent les valeurs extrêmes sûres (vides) ou potentielles (pleins).66 Complétion combinatoire de réseau métabolique
Nous avons également étudié, pour chacune des 90 fonctions objectives définies, ce
qu’il se passe si nous essayons de compléter un réseau vide à l’aide du réseau initial d’E.
coli. Cela correspondrait à une dégradation de 100% du réseau. Nous allons ainsi identifier,
dans le réseau initial, uniquement les réactions nécessaires à la production de biomasse.
De manière globale sur l’ensemble des fonctions objectives étudiées, nous retrouvons
ainsi 94% des réactions obligatoires, 5% de réactions bloquées et 14% de réactions alternatives.
La figure 2.13 représente la distribution statistique sur l’ensemble des 90 fonctions
objectives. Pourcentage de réactions retrouvées
Classes des réactions
Obligatoires Bloquées Alternatives
FIGURE 2.13: Distribution des pourcentages de réactions rajoutées au réseau vide selon
les différentes classes de réactions. Les boites représentent l’espace interquartile, les moustaches
représentent 1.5 espace interquartile. Les ronds représentent les valeurs extrêmes
sûres (vides) ou potentielles (pleins). Les réactions essentielles à la production de biomasse
(au sens de la FVA) sont représentées en bleu, les réactions bloquées qui ne possédent jamais
aucun flux non nul en FVA sont représentées en violet, les réactions alternatives pouvant
posséder un flux nul ou non nul lors d’optimisation de la fonction objective sont repré-
sentées en jaune.
Il est intéressant de remarquer que dans la majorité des réseaux ainsi reconstruits, une
réaction obligatoire manque. Il s’agit de la réaction irréversible appelée "inorganic diphosphatase"
qui correspond à la réaction H2O + d i phosphate → H
+ + phosphate. Cette ré-
action peut être importante d’un point de vue quantitatif pour produire le phosphate qui
sera consommé dans énormément de réactions. En revanche d’un point de vue topologique
simple cette réaction n’est pas obligatoire, d’autres réactions existant déjà permettant de
produire du phosphate.conclusion 67
2.6 conclusion
Au cours de ce chapitre nous avons étudié la pertinence de la complétion d’une ébauche
métabolique d’un point de vue combinatoire vis-à-vis d’une complétion quantitative. Nous
avons montré la grande efficacité en terme de temps de calcul de la résolution du problème
combinatoire à l’aide d’une approche déclarative (programmation par ensembles-réponses
- ASP), notamment en utilisant un nouveau solveur ASP qui a permis d’accélérer grandement
les calculs, tout en changeant la modélisation existante précédemment pour mieux
prendre en compte la réalité biologique du modèle.
Nous avons également montré que cette complétion topologique d’un réseau métabolique,
si elle relâche des contraintes par rapport à une étude quantitative prenant en compte
la stœchiométrie des réactions, donne de très bons résultats en pratique. Cette complétion
topologique pourrait être améliorée dans la suite en prenant en compte une sémantique topologique
avec recyclage interne qui semble proposer des résultats complémentaires que
sémantique topologique simple. Pour arriver à intégrer cette sémantique il faudrait tout
d’abord résoudre le problème combinatoire associé de manière suffisamment efficace pour
pouvoir utiliser des bases de données de réactions de grande taille.
Ce problème combinatoire de complétion de réseaux métaboliques étant résolu, nous
nous sommes attelés à l’intégrer dans un pipeline global de reconstruction de réseaux mé-
taboliques qui sera présenté dans le chapitre suivant.68 Complétion combinatoire de réseau métaboliqueChapitre 3
Pipeline de reconstruction de réseaux
à partir de données hétérogènes
Dans ce chapitre nous allons étudier plus précisément le processus global de reconstruction
de réseau métabolique que nous proposons. Ce processus est décomposé en différentes
étapes, chacune possédant des spécificités propres que nous expliciterons, notamment
dans le cas de la reconstruction de réseaux métaboliques chez des espèces non classiques.
Cette thèse se concentrant plus particulièrement sur la reconstruction du réseau
métabolique d’Ectocarpus siliculosus, nous allons prendre cet organisme comme exemple
d’application durant tout ce chapitre.
Ces travaux ont été décrits dans la publication [PCD+14] et présentés sous forme de
poster à ECCB 2014. L’application de ces méthodes est également en cours sur d’autres espèces
: bactéries associées à l’espèce Ectocarpus d’eau douce [DET14], micro-algues vertes,
protistes, etc.
3.1 Modèle d’application : Ectocarpus siliculosus
Le réseau test sur lequel nous avons testé les différentes méthodes de reconstruction
puis proposé des améliorations est le réseau métabolique d’Ectocarpus siliculosus, l’organisme
modèle pour l’étude de la biologie des algues brunes [HCP+10]. Sur ce modèle, biologique,
différentes sources d’informations sont disponibles.
Génome Les algues brunes sont des straménopiles jouant un rôle important dans la zone
intertidale. Le génome d’E. siliculosus ayant été séquencé et annoté en 2010. Ce génome
est constitué de 1.561 supercontigs (ou scaffolds) de plus de 2.000 paires de bases. 97,4%
des séquences d’ARN messagers précédemment séquencés sont retrouvés dans ce génome,
indiquant une bonne couverture du séquençage réalisé. Durant tout ce chapitre, le terme
"annotation" consistera en l’annotation fonctionnelle du produit d’un gène et non de la recherche
de modèles de gènes dans le génome. Les annotations du génome d’Ectocarpus
siliculosus sont une combinaison d’annotations automatiques, réalisée avec le logiciel EuGene,
et manuelles [CSR+10]. On a à disposition des numéros EC, des termes GO, des noms
de fonctions, de domaine et les séquences protéiques. Tout cela est disponible via une interface
web sur le site ORCAE (http://bioinformatics.psb.ugent.be/orcae/overview/
6970 Pipeline de reconstruction de réseaux à partir de données hétérogènes
Ectsi) qui est régulièrement mis à jour avec de nouvelles annotations fonctionnelles de
gènes. Pour la reconstruction du réseau, l’ensemble des données a été téléchargé à partir
ce site web le 21 juin 2013. Ces informations vont constituer une première sources pour
reconstituer le réseau métabolique d’Ectocarpus siliculosus.
Réseau métabolique de référence En complément aux annotations du génome d’Ectocarpus
siliculosus, pour exploiter les méthodes de reconstruction de réseau métabolique s’appuyant
sur un réseau de référence, nous avons recherché un réseau métabolique de bonne
qualité (incluant une curation manuelle étendue) et pas trop éloigné phylogénétiquement
parlant de l’espèce étudiée. Nous avons choisi d’utiliser le réseau réseau métabolique d’Arabidopsis
thaliana, AraGEM [dODQP+09], un réseau global qui satisfait les critères listés pré-
cédemment. Ce choix a été réalisé car, au moment de la réalisation de l’étude, ce réseau était
le plus complet des réseaux d’Arabidopsis thaliana. Il est composé de 1.567 réactions et
1.748 métabolites. Ce réseau a été reconstruit en se basant sur des études bibliographiques
et un réseau précédent et a été réalisé en utilisant les identifiants présents dans KEGG. Il eut
été plus aisé pour la suite de l’étude d’utiliser le réseau AraCyc [MZR03] étant donné que
les identifiants auraient été les mêmes entre notre réseau métabolique, basé sur la base de
données MetaCyc, et ce réseau basé sur la même base de données. Cependant le réseau AraGEM
a été choisi pour sa plus grande qualité, il intègre en effet la plupart des informations
contenues dans AraCyc, une curation manuelle étendue ayant été réalisée en plus.
Définition du milieu de culture Ectocarpus siliculosus est un organisme vivant dans de
l’eau de mer. L’identification de l’ensemble des métabolites présents dans ce milieu de croissance
étant compliquée, nous avons choisi de prendre comme milieu de croissance l’eau de
mer artificielle utilisée en laboratoire pour cultiver cette algue. Il s’agit d’un milieu de culture
nommé Provasoli et dont la composition est détaillée en annexe A dans la colonne "Graines"
en association avec quelques cofacteurs. Ce Provasoli contient essentiellement des ions, du
nitrate et des vitamines.
Profilage métabolique Des données de profilage métabolique ont été obtenues au cours
de plusieurs études [TEP+11] et ont permis d’identifier 51 métabolites que l’on sait être productibles
par l’algue (des acides aminés, des acides gras, des sucres, et des polyalcools). Ces
métabolites sont listés en annexe A.
La productibilité de ces métabolites par le réseau métabolique sera le critère principal
de validation de la fonctionnalité du réseau. Cependant, en étudiant la base de données
MetaCyc v17.0 nous nous sommes aperçus que trois d’entre eux (l’acide eicosadienoique,
l’acide docosanoique et l’acide erucique) n’étaient produits par aucune réaction de cette
base de données. En revanche, deux réactions de KEGG (R08190 et R08184) permettent la
production de l’acide eicosadienoique et de l’acide docosanoique mais n’était pas présentes
dans la base MetaCyc. Ces deux réactions ont donc été ajoutées à la base de données de
référence. Au final, 50 métabolites, parmi les 51 caractérisés chez Ectocarpus siliculosus,
doivent être productibles par le réseau.
Critères de fonctionnalité Dans ce but, nous avons utilisé Meneco pour vérifier que ces
cibles étaient productibles à partir des métabolites graines (milieu de culture), selon la sé-
mantique décrite au chapitre 2. Etant donné les limites discutées précédemment de ce cri-Construction d’une ébauche du réseau : gestion des données hétérogènes 71
tère qualitatif de productibilité, après la reconstruction globale du réseau, nous avons vérifié
que ces métabolites étaient aussi productibles d’un point de vu quantitatif (FBA). Cette vé-
rification quantitative n’a été effectuée qu’à la fin de la complétion du réseau pour plusieurs
raisons. Tout d’abord il nous a semblé plus naturel d’effectuer une analyse topologique du
réseau avant de s’intéresser aux détails liés à la stœchiométrie des réactions. De plus nous
avons intuité que les cycles métaboliques les plus importants du réseau ont été reconstruits
lors de la toute première étape de reconstruction du réseau métabolique, les gènes "importants"
dans le métabolisme ayant souvent été bien annotés manuellement. D’autre part ASP
ne permet pas, actuellement, de réaliser des calculs sur l’ensemble des chiffres réels mais
uniquement sur les entiers, rendant difficile voir impossible le fait de tester la productibilité
de molécules selon des critères quantitatifs tout en profitant de la très grande efficacité des
solveurs ASP.
Données transcriptomiques Enfin, nous possédons des données de transcriptomique et
protéomique [TEP+11] qui permettront de valider certaines prédictions de réactions métaboliques
intégrées dans le réseau.
3.2 Construction d’une ébauche du réseau : gestion des données
hétérogènes
3.2.1 Reconstruction à partir des annotations
L’exploitation des annotations a nécessité un prétraitement important et fastidieux. En
effet, les annotations de gènes étaient uniquement disponibles en ligne sous forme de pages
html, avec une page par gène. L’ensemble de ces pages est accessible à l’adresse http://
bioinformatics.psb.ugent.be/orcae/overview/Ectsi. Ces annotations proviennent
en grande majorité de recherches de fonctions réalisées manuellement. Les pages pour
chaque gène ont donc été créées manuellement et ne sont pas du tout homogènes. Certaines
contiennent des informations très précises avec le numéro E.C., des données ontologiques
en lien avec GO, des liens vers des réactions présentes dans KEGG, un nom précis
et un nom générique, une description précise du gène ou encore une descriptions des différents
domaines protéiques retrouvés à partir de la séquence de la protéine prédite. Pour
d’autres pages seul un nom de gène plus ou moins précis et non normalisé sera disponible.
Il a donc fallu recueillir les différentes informations disponibles au niveau de l’annotation
pour pouvoir faire le tri entre les plus précises et celles pouvant être laissées de coté. L’accès
direct à la base de données regroupant toutes ces informations nous ayant été refusé, le
choix a été fait de télécharger l’ensemble des pages HTML regroupant les annotations et de
parser ces fichiers à l’aide de scripts spécialement créés pour l’occasion. Cela a également
permis de créer directement des fichiers dans le bon format pour permettre une intégration
directe dans la suite de logiciels Pathway tools qui nécessite d’avoir soit des fichiers
"maison" contenant l’ensemble des informations disponibles, soit directement des fichiers
GeneBank.
La version 17.0 du logiciel Pathway Tools [KPR02] a été utilisée pour la reconstruction
du draft du réseau métabolique d’E. siliculosus à partir des annotations obtenues sur le site
internet ORCAE. Ce logiciel permet d’interpréter l’ensemble des informations disponibles
dans les annotations pour retrouver quelle(s) réaction(s) de la base de données MetaCyc72 Pipeline de reconstruction de réseaux à partir de données hétérogènes
(version 17.0) correspond à quelle(s) annotation(s). Le choix s’est basé sur ce logiciel de par
sa forte complémentarité avec la base de données MetaCyc et son efficacité dans la gestion
d’annotations peu précises, comme lorsque l’on a uniquement le nom d’un gène par
exemple.
Cela a permis de reconstruire un premier draft métabolique que l’on nommera EctoGEMannot
contenant 1677 réactions et 1889 métabolites.
Comme expliqué précédemment, Meneco permet de vérifier la productibilité des 50 mé-
tabolites cibles à partir du milieu de culture. Le réseau EctoGEM-annot est capable de produire
25 de ces 50 cibles.
Cela suggère que les annotations du génome ne suffisent pas à reconstruire un réseau
métabolique fonctionnel. On peut par exemple citer les enzymes appelées "élongases" qui
permettent de produire des acides gras poly-insaturés. Celles-ci ne sont annotées que partiellement
du fait de la difficulté d’établir leur spécificité à partir seulement de la séquence
protéique. Par conséquent, aucun numéro EC ne leur est attribué, et les réactions associées
n’ont pas pu être ajoutées au réseau.
3.2.2 Reconstruction à partir d’un réseau métabolique de réference
Une seconde ébauche de réseau métabolique a été reconstruite en n’utilisant plus l’expertise
manuelle des spécialistes sur les annotations mais en considérant l’expertise manuelle
des spécialistes sur la reconstruction de réseaux métaboliques. L’ensemble des protéines
codant pour les réactions contenues dans le réseau métabolique d’Arabidopsis thaliana,
AraGEM [dQP+10b], ont ainsi été identifiées. Une recherche d’orthologie a ensuite
été effectuée entre ces protéines et les protéines prédites chez l’algue brune afin d’extrapoler
ces résultats d’orthologie à l’ajout de réactions dans l’ébauche. Cette recherche a été
effectuée par les outils InParanoid (version 4.1) [RSS01] et OrthoMCL (version 2.0.9) [LSR03]
puis ces résultats ont été combinés en utilisant le logiciel Pantograph (version 0.1.1) [NL13].
L’ébauche métabolique obtenue, appelée EctoGEM-ortho, est composée de 786 réactions
et 1767 métabolites. Meneco indique que le réseau EctoGEM-ortho n’est capable de
produire aucun des métabolites d’intérêt. Ceci s’explique probablement par la distance phylogénétique
entre Ectocarpus siliculosus et Arabidopsis thaliana, qui a rendu la recherche
d’orthologues difficile.
3.2.3 Complémentarité des deux réseaux : outils pour leur fusion
Une fois EctoGEM-annot et EctoGEM-ortho construits, nous avons choisi de fusionner
l’ensemble des deux réseaux pour profiter à la fois de la qualité des annotations manuelles
réalisées sur le génome et de la qualité de la reconstruction manuelle réalisée avec le ré-
seau métabolique d’Arabidopsis thaliana. Les deux réseaux ont été fusionnés en un réseau
appelé EctoGEM-combined.
Fusionner deux réseaux métaboliques créés à partir de bases de données de réactions
différentes est particulièrement difficile pour une raison simple, les identifiants des réactions
et des métabolites ne seront pas les mêmes dans les deux bases de données. Pour
résoudre ce problème et réussir à faire correspondre les identifiants de deux métabolites ou
de deux réactions identiques, deux outils ont été créés par Guillaume Collet. MeMap transforme
chaque identifiant de réaction provenant de MetaCyc (ou possédant un lien depuisComplétion 73
MetaCyc vers une autre base de données) en un identifiant interne. MeMerge fusionne ensuite
simplement les différents réseaux qui possèdent désormais des identifiants communs.
Pour réussir à faire correspondre les différents identifiants, ces outils utilisent largement
les informations contenues dans la base de données MetaCyc. En effet, cette base de données
a l’intérêt énorme de posséder beaucoup de lien entre chaque entité existante et les
mêmes entités dans d’autres bases de données. Quand un lien direct existe depuis une ré-
action présente dans MetaCyc vers une réaction présente dans Kegg, cette association est
assez aisée à trouver. Quand ce n’est pas le cas, nous allons pouvoir travailler au niveau
des métabolites, en considérant que deux réactions possédant les mêmes réactants et les
mêmes produits, il est raisonnable de considérer qu’il s’agit d’une réaction unique. Là encore
le lien entre les métabolites pourra se faire directement depuis MetaCyc vers Kegg à
l’aide des références croisées entre ces deux bases de données, ou en passant par une base
de données intermédiaire spécialisée dans les molécules biochimiques, ChEBI [DdME+08].
Cette base de données contiendra la composition chimique des molécules, des liens externes
vers d’autres bases de données mais surtout les synonymes qu’auront les molécules.
Ces synonymes permettront de faire le lien entre les molécules présentes dans les diffé-
rentes bases de données et donc le lien entre les réactions.
Le réseau EctoGEM-annot contient désormais 1785 réactions et 1981 métabolites.
Nous pouvons donc considérer que la recherche d’orthologues a permis d’ajouter 108
réactions par rapport aux annotations, ce qui prouve l’intérêt de cette seconde étape. En
revanche, l’ajout de ces réactions n’a rien changé pour la fonctionnalité du réseau ; vis à vis
des 50 métabolites d’intérêt, nous avons toujours 25 d’entre eux qui ne peuvent pas être
produits.
3.2.4 Conclusion
Ces deux reconstructions d’ébauches métaboliques et leur association ont permis d’utiliser
la majorité des informations disponibles dans le génome de l’espèce étudiée. Il en ressort
que ces informations ne sont pas suffisantes pour reconstruire un réseau métabolique
fonctionnel, lorsque nous sommes en présence d’espèces non classiques et éloignées phylogénétiquement
des espèces modèles classiques. Cela est en partie dû au fait que nous nous
retrouvons en permanence face à des problèmes de formalisation des données biologiques,
des problèmes d’unification d’identifiants entre différentes bases de données, etc. Le développement
d’approches de réconciliation efficaces va rapidement devenir nécessaire pour
éviter la perte d’information et la multiplication de réseaux métaboliques possédant chacun
leurs propres conventions de nommage des identifiants de réactions ou de métabolites.
3.3 Complétion
3.3.1 Identification de réactions à ajouter
Seuls 25 des 50 métabolites d’intérêt pouvant être produits par le réseau résultant de
la fusion des deux ébauches métaboliques, il semble donc évident que certaines réactions
manquent dans le réseau. Le logiciel Meneco va être utilisé une fois de plus. Ici nous ne nous
contenterons pas de vérifier la productibilité de molécules, mais nous allons nous servir de
la seconde fonctionnalité de Meneco qui consiste en la résolution du problème combina-74 Pipeline de reconstruction de réseaux à partir de données hétérogènes
toire traité au chapitre 2. Pour cela, nous avons besoin de quatre sources de données diffé-
rentes :
– Un draft métabolique : le réseau provenant de la fusion précédente
– Une base de données de réactions métaboliques : MetaCyc 17.0
– Une liste de métabolites graines : les molécules entrant dans la composition de
l’eau de mer artificielle
– Une liste de métabolites cibles : une liste de 51 métabolites identifiés par diffé-
rentes techniques biologiques
En suivant un principe de parcimonie, Meneco va calculer le nombre minimal de réactions
provenant de la base de données à ajouter au réseau pour permettre la production
des métabolites cibles à partir des métabolites graines. Étant donné que l’on peut considérer
que les cofacteurs sont présents (au moins en quantité infime) dans toutes les cellules
d’un organisme et qu’ils ne peuvent être créés à partir de rien, nous avons choisi de
rajouter ces molécules nécessaires à la plupart des réactions dans les métabolites graines.
Cette approche est en total accord avec les méthodes classiques de modélisations de ré-
seaux métaboliques basées sur une étude topologique des réseaux [HE07]. Meneco va ainsi
nous indiquer les métabolites cibles ne pouvant pas être produits à partir du réseau et des
métabolites graines. Si ce nombre est non nul, on calculera le nombre minimal de réactions
à ajouter au réseau, et on listera l’ensemble des groupes de réactions de taille minimale qui
pourront compléter le réseau. Nous pouvons également obtenir l’union et l’intersection de
ces sets minimaux de réactions.
Le logiciel Meneco a donc été utilisé pour calculer le nombre minimal de réactions à
ajouter dans le modèle pour permettre la production de l’ensemble des 50 métabolites
cibles (c’est à dire les réactions à ajouter pour produire les 25 autres métabolites). La base
de données considérée pour identifier les réactions à rajouter est MetaCyc, à laquelle nous
avons ajouté les deux réactions de KEGG précédemment citées. Il est ressorti de cette étude
que l’ajout de 44 réactions au moins suffit à rétablir la connectivité du réseau vis à vis des 50
métabolites étudiés. Il existe 4320 ensembles de 44 réactions qui permettent de faire cela.
L’union de ces 4320 solutions toutes différentes est formée de 60 réactions, signe d’un très
grand chevauchement des solutions.
Les améliorations de Meneco présentées dans le chapitre 2, qu’elles concernent l’inté-
gration de la réversibilité des réactions dans la modélisation ou le changement de solveur,
ont montré leur intérêt pour permettre de réaliser la complétion en un temps raisonnable.
Cependant le nombre de solutions proposées est assez important et nécessite un filtrage qui
dépasse les questions purement combinatoires posées précédemment.
3.3.2 Filtrage par analyse sémantique
Pour étudier ce chevauchement nous avons réalisé une étude sémantique des diffé-
rentes solutions pour observer l’importance de ces réactions vis à vis de la fonctionnalité.
En effet certaines réactions vont être mutuellement exclusives les unes des autres car
jamais présentes ensemble dans groupe de réactions. En analysant sémantiquement ces
réactions et en étudiant les termes GO associés, nous pouvons identifier certaines réactions
qui seraient représentatives d’un ensemble de réactions mutuellement exclusives. Pour cela
les ancêtres ontologiques des termes GO ont été étudiés, en vu de réduire la taille de l’union
des ensembles de réactions.Complétion 75
Nous pouvons les classer en deux groupes : celles qui interviennent dans toutes les solutions
(35), et celles n’étant pas ubiquitaires (25). Ces 25 réactions ont été divisées en sept
cliques mutuellement exclusives (figure 3.1), et un groupe de quatre réactions avec trois incompatibilités
deux à deux. Dans une clique de 4 réactions mutuellement exclusives, par
exemple, dès que l’on a une réaction, nous ne pourrons pas avoir les trois autres dans la
même solution. Chacune des 4320 solutions sera donc formée des 35 réactions ubiquitaires,
d’une des réactions de cliques et de deux réactions du dernier groupe de quatre. Nous avons
donc eu l’intuition que certaines réactions étaient équivalentes, notamment au cœur des
cliques.
Dihydrofolatesynth-RXN
H2neopterinaldol-RXN
RXN-9655
...
35 ubiquitous
reactions
RXN-9549
RXN3O-9780
1/2 reactions
Phosphoglycerate-phosphatase-RXN
Glycerol-dehydrogenase-NADP+-RXN
3-phosphoglycerate-phosphatase-RXN
2/3 reactions
Fatty-acid-synthase-RXN
Fatty-acyl-CoA-synthase-RXN
RXN-12766
1/3 reactions
ACP-S-acetyltransfer-RXN 1/3 reactions
RXN-2361
2.3.1.180-RXN
Adenylylsulfate-reductase-RXN
1 reaction
RXN-8389
1 reaction
RXN-961
Glyoxylate-reductase-NADP+-RXN
Glycolate-reductase-RXN
Glycolald-dehydrog-RXN
1/4 reactions
1/2
pairs of reactions
RXN-9634 + RXN3O-5304
EctoGEM-combined RXN-9634 + RXN-9543
1,785 reactions
1,981 compounds
FIGURE 3.1: Composition des 432 ensembles de 44 réactions candidates à la complétion
pour permettre la productibilité des 50 cibles. Chaque ensemble de réactions peut être
décomposé en un ensemble de 35 réactions présentes partout auquel nous ajoutons une
réaction de chaque groupe représenté, deux réactions du groupe représenté en haut à
gauche et une paire de deux réactions.
Si des cliques contiennent des réactions équivalentes, nous aurons la possibilité de choisir
une ou l’autre des réactions de la clique pour limiter l’ajout de réactions non supportées
par des preuves biologiques et aussi le nombre de solutions différentes. Cette procédure
a permis d’enlever 5 réactions différentes du réseau, qui possédaient déjà leur équivalent,
amenant le nombre de solutions différentes de 4320 à 432. Nous avons ajouté ces 55 réactions
au réseau précédent pour obtenir EctoGEM-functional, qui contient 1840 réactions et
2004 métabolites, et permettent de produire les 50 métabolites identifiés.
3.3.3 Compartimentation
Les annotations du génome d’Ectocarpus siliculosus contiennent une information qui
n’a pas été prise en compte jusqu’à présent : une prédiction de localisation des protéines
effectuée par l’outil HECTAR [GGC08], développé spécifiquement pour les protéines pré-
sentes chez les hétérokontes. Cette information a été prise en compte en fin de reconstruction
pour définir une localisation supposée de certaines enzymes, bien qu’aucune validation
expérimentale n’ai été réalisée chez aucune algue brune à ce jour. D’autre part les
gènes présents dans le génome mitochondrial et chloroplastique d’Ectocarpus siliculosus
ont également servi à prédire la localisation de certaines protéines.76 Pipeline de reconstruction de réseaux à partir de données hétérogènes
3.4 Curation manuelle du réseau
Afin de valider la reconstruction automatique du réseau métabolique d’Ectocarpus siliculosus
et d’étudier sa complétude, nous avons effectué une curation manuelle du réseau.
Cette curation est basée sur une étude bibliographique par des experts et une étude des pro-
fils HMMs pour évaluer l’existence de gènes candidats dans le génome de l’algue. Une attention
toute particulière a été apportée aux réactions supportées ni par leurs annotations,
ni par des données d’orthologie. Celles-ci sont en effet la cible privilégiée pour de nouvelles
annotations géniques amenant à de futures validations fonctionnelles.
3.4.1 Score pour chaque réaction
Pour chaque réaction ajoutée dans le réseau, l’ensemble des enzymes connues dans
l’arbre du vivant qui codent pour cette réaction particulière à partir de la base de données
ExPASy-ENZYME (http://enzyme.expasy.org/) ont été recherchées. Ces séquences
enzymatiques ont été alignées par ClustalO (http://www.clustal.org/omega) puis des
profils HMMs ont été créés pour chaque réaction avec la suite logicielle HMMER (http:
//hmmer.janelia.org version 3.0). La même suite logicielle a été utilisée pour rechercher
des séquences correspondantes au profil dans l’ensemble des séquences protéiques
prédites par le génome d’Ectocarpus siliculosus. Lorsque nous avons obtenu une e-value
≤ 10−15, nous avons considéré le match comme étant suffisamment sûr pour être présenté
aux biologistes pour une éventuelle étude manuelle.
3.4.2 Identification de faux positifs
Parmi ces réactions ne possédant aucune base génétique, nous pouvons citer les réactions
ajoutées par Pathway Tools dans le réseau. En effet, lors de la reconstruction initiale,
Pathway Tools identifie des voies métaboliques qu’il considère comme étant présentes dans
le réseau, que celles-ci soient complètes ou non. Ainsi, pour une voie métaboliques donnée,
s’il manque une seule réaction de cette voie, Pathway Tools va probablement ajouter cette
réaction au réseau sans associer aucune enzyme. L’ajout de réactions dépendra à la fois de
la proportion de réactions manquantes dans une voie donnée et du nombre de voies différentes
dans lesquelles sont impliquées les réactions identifiées comme présentes. Ainsi
une voie métabolique composée de trois réactions, dont deux ont été retrouvées pourra
être considérée comme présente, si ces deux réactions n’interviennent que dans cette voie
métabolique, ou absente si ces deux réactions sont associées à de nombreuses voies dans la
base de données.
Étant donné la grande distance phylogénétique existant entre Ectocarpus siliculosus
et les espèces présentes dans MetaCyc, Pathway Tools risque d’inclure un grand nombre
de faux positifs. Nous pouvons prendre comme exemple la première voie de dégradation
du glycogène (glycocat-PWY dans MetaCyc) formée de sept réactions et considérée comme
complète dans EctoGEM-annot. Seules trois des réactions sont supportées par des annotations
de gènes (numéros E.C. : 2.1.7.1.2, 5.4.2.2 et 3.2.1.20). Deux de ces réactions sont
impliquées dans plusieurs autres voies métaboliques comme la dégradation du glucose,
du glucose-1-phosphate ou encore de l’amidon. La troisième (3.2.1.20) correspond à une
alpha-glucosidase dont la spécificité basée uniquement sur de l’homologie de séquence est
difficile à déterminer. Il reste quatre réactions ajoutées par Pathway Tools qui sont très pro-Curation manuelle du réseau 77
bablement des faux positifs. Des cas similaires ont été rencontrés dans d’autres voies métaboliques
associées au métabolisme des acides aminés. Ces faux positifs ont été identifiés et
retirés lors de l’étape de curation manuelle.
3.4.3 Ajout de réactions spécifiques
La curation manuelle a également été utilisée pour rajouter des réactions pour lesquelles
les annotations étaient incomplètes et les recherches d’orthologie insuffisantes. On peut par
exemple citer l’exemple de la réaction correspondant à la 3-phosphoglycérate-phosphatase,
catalysée par une "Purple Acid Phosphatase" (PAP) qui produit du phosphate et du glycé-
rate. Les PAPs sont présentes chez la plupart des eucaryotes, même si les orthologues entre
plantes et animaux sont assez éloignés. Aucun gène correspondant aux PAPs n’avait été annoté
dans le génome, mais une recherche manuelle a montré que le gène Esi0000_0474 est
un bon candidat. Un autre exemple concerne le gène Esi0002_0097. Pathway Tools a considéré
qu’une réaction correspondant à une phosphoglycérate-phosphatase devait être pré-
sente comme alternative à la production de glycérate, catalysée par une phosphatase alkaline.
Le gène Esi0002_0097 est un excellent candidat pour cette enzyme comme le montre
les analyses HMMs notamment.
La reconstruction basée sur les analyses d’orthologie apporte également son lot d’informations.
On peut par exemple citer deux enzymes, la diamine oxydase (gène Esi0076_0063)
et l’alanine aminotransférase (gène Esi0008_0209) qui ont été correctement identifiées par
l’analyse des orthologues malgré une annotation insuffisante de ces gènes dans le génome
d’Ectocarpus. Cette approche n’est pourtant pas parfaite, si l’on regarde par exemple la
glycérate kinase impliquée dans la photorespiration. Pour cette réaction, le gène candidat
trouvé manuellement est le gène Esi0157_0054. Celui-ci n’a pas été annoté dans le génome
d’algue, et aucune protéine n’est associée à cette réaction chez Arabidopsis thaliana, empêchant
par là même la recherche d’orthologue. Cette réaction et le gène associé ont été
ajouté manuellement dans le réseau final.
Enfin, quand cela était possible des données d’expression ont été utilisées pour caracté-
riser certains gènes bien précis. Ainsi, si l’ARN messager d’un gène existe, ceci est un signe
que la prédiction du gène est réelle et que nous ne sommes pas en présence d’un pseudogène.
3.4.4 Conclusion
Cette curation manuelle du réseau métabolique a permis de distinguer plusieurs sources
de faux positifs dans la reconstruction du réseau, de par l’utilisation de Pathway tools ou
encore la présence d’enzymes multi-domaines. Des faux négatifs existant également après
la reconstruction des ébauches métaboliques, la complétion du réseau a permis de guider
cette curation manuelle lors de la recherche des réactions et des associations gènesréactions
manquantes. Les apports biologiques de cette curation manuelle seront étudiés
plus précisément dans le chapitre 4.78 Pipeline de reconstruction de réseaux à partir de données hétérogènes
3.5 Validation fonctionnelle
3.5.1 Réseau final
Au final le réseau EctoGEM contient 1866 réactions et 2020 métabolites impliqués dans
224 voies métaboliques complètes. Ces chiffres sont du même ordre de grandeur que ceux
obtenus pour la reconstruction d’autres réseaux métaboliques d’eucaryotes photosynthé-
tiques :
– Phaeodactylum tricornutum : 1719 réactions [FMR+12]
– Chlamydomonas reinhardtii : 1500 à 2000 réactions [CMK+09, CGM+11, dQP+10b]
– Ostreococcus : ∼900 réactions [KYW+12]
– Arabidopsis thaliana : 1567 réactions [dQP+10b]
EctoGEM v1.0 est ainsi basé sur l’utilisation de différentes méthodes informatiques complémentaires,
complétées par une curation manuelle. Toutes les informations relatives à
EctoGEM sont disponibles via un site internet (http://ectogem.irisa.fr/) avec les liens
vers les différentes annotations génomiques, les données de séquences ou encore les liens
vers MetaCyc. Nous considérons que EctoGEM peut être une ressource communautaire, dynamique,
flexible et évolutive. En effet n’importe quel chercheur peut désormais avoir accès
au réseau et nous donner des informations sur différents aspects du réseau. Un formulaire
a été mis en place sur le site internet afin de favoriser et simplifier ce type d’échanges. De
plus, l’ensemble des sources d’information ayant amené l’ajout de telle ou telle réaction
dans le modèle est disponible, permettant par là même de juger de la crédibilité à apporter
à chacune des prédictions.
3.5.2 Analyse par balance de flux
Comme validation globale du réseau EctoGEM-functional obtenu nous avons construit
une fonction de biomasse spécifique à Ectocarpus siliculosus, basée sur une étude bibliographique
des résultats de profilage métabolique obtenu chez cette algue. Cette fonction
objectif est formée de 30 métabolites issus d’expériences de profilage métabolique décrites
dans des publications contenant des valeurs numériques de concentrations de molécules
[GDR+10, DGR+11]. Ces 30 métabolites étaient tous présents dans la liste des 50 cibles utilisés
pour le gap-filling. La FBA permet de vérifier que le réseau peut produire ces 30 métabolites
en quantité équivalente à la réalité biologique. La composition précise de la fonction
de biomasse est présentée en table 3.1.
Une fois cette fonction établie, une analyse par balance de flux (décrite précisément
en 1.2.2) a été effectuée pour vérifier si le réseau reconstruit est quantitativement capable
de produire de la biomasse. Dans le cadre de la reconstruction de ce réseau, nous avons
décidé d’utiliser la boite à outil COBRApy [ELPH13] qui utilise le solveur GLPK (GNU Linear
Programming Kit).
À l’inverse de Meneco qui réalise une analyse topologique qualitative du réseau, les approches
numériques telles que le FBA sont basées sur des contraintes quantitatives regardant
l’existence de flux quantitatifs capables de produire les métabolites présents dans la
fonction objective tout en satisfaisant les contraintes stœchiométriques. Comme discuté
dans le chapitre 2, il n’était certain que le réseau complété à l’aide de Meneco permettrait
de produire de la biomasse avec une approche basée sur la stœchiométrie des réactions. LeValidation fonctionnelle 79
TABLE 3.1: Nom et quantité des molécules prises en compte dans la fonction de biomasse
du réseau EctoGEM
molécule quantité
4-amino-butyrate 0.01
arginine 0.1
asparagine 0.75
citrate 19.3055
cysteine 0.3
glucose 2.7615
glutamine 10.7
glutamate 18.85
glycine 3.8
glycerate 0.123
glycerol 2.375
glycollate 0.029
histidine 0.1
Iso-leucine 0.2
alanine 26.6
aspartate 12.5
ornithine 0.1
leucine 0.3
lysine 0.35
mannitol 331.4
methionine 0.3
phenylalanine 0.35
proline 1.35
serine 3.35
succinate 0.878
threonine 0.65
iso-citrate 9.37
tryptophane 0.115
tyrosine 0.125
valine 0.8580 Pipeline de reconstruction de réseaux à partir de données hétérogènes
modèle métabolique obtenu ici permet de produire de la biomasse globalement à partir de
la composition du milieu de culture de l’algue.
Notre analyse montre que la complétion topologique avec un nombre minimal de ré-
actions, combiné à la curation manuelle, résulte en un réseau capable de produire de la
biomasse dans des proportions correctes. Étant donné que Meneco peut échouer lors de la
reconstruction de certains cycles, cela semble indiquer que peu de cycles incomplets existaient
lors de la création de l’ébauche métabolique. Ce processus de reconstruction semble
donc particulièrement adapté à la création de réseaux métaboliques chez des espèces non
classiques pour l’étude de processus globaux.
3.6 Le workflow de reconstruction du réseau
Le but principal de notre approche était la reconstruction automatique d’un réseau mé-
tabolique d’un nouvel organisme modèle distant phylogénétiquement des principaux modèles
biologiques eucaryotes étudiés jusqu’à présent, tout en minimisant le nombre de faux
positifs ajoutés au niveau des réactions et des gaps, ou du moins en facilitant leur détection
et ainsi leur retrait. Dans ce but, nous avons implémenté un pipeline intégratif pour la reconstruction
d’un réseau métabolique de ce type. Ce processus global peut être généralisé
à de nombreux autres organismes du même type.
3.6.1 Description du pipeline
Nous nous basons tout d’abord sur l’utilisation de Pathway Tools qui va prendre en
compte les annotations du génome de l’espèce, en particulier les numéros EC et les termes
GO, afin de trouver les réactions correspondantes provenant de MetaCyc.
Nous utilisons ensuite Pathologic [LDNS12] afin de retrouver des informations provenant
d’orthologie plutôt que d’utiliser les annotations. Pour cela un réseau métabolique reconstruit
pour une espèce proche phylogénétiquement ou métaboliquement parlant, et de
très bonne qualité, doit être utilisé. Le réseau AraGEM [dQP+10b] d’Arabidopsis thaliana a
donc été choisi comme référence pour Ectocarpus siliculosus car il s’agit d’un réseau mé-
tabolique de bonne qualité pour un eucaryote multicellulaire photosynthétique.
Malgré ces deux sources importantes de données biologiques, les deux approches considérées
indépendamment ne permettent pas d’obtenir un réseau métabolique fonctionnel.
Afin de surmonter cette difficulté, nous avons développé MeMap et MeMerge pour fusionner
des réseaux avec des identifiants issus de Metacyc ou Kegg en un réseau unifié.
Afin de compléter ce réseau, nous avons amélioré un outil de gap-filling existant, Meneco,
en améliorant son efficacité notamment, comme précisé dans le chapitre précédent.
Cette amélioration a été nécessaire afin de pouvoir envisager de travailler à l’échelle du gé-
nome, et afin de mieux prendre en compte certaines spécificités des réseaux construits pour
de nouveaux modèles biologiques susceptibles de contenir de nouveaux gènes et donc de
nouvelles réactions métaboliques (grand nombre de gaps et prise en compte des réactions
réversibles). Cet outil utilise des résultats de profilage métabolique publiés et suggère des
réactions à ajouter au modèle pour satisfaire à des critères topologiques de productibilité
des métabolites identifiés. Dans le cas d’Ectocarpus siliculosus , le mannitol, par exemple,
n’était pas productible par la combinaison des deux réseaux précédents. Il est devenu productible
après l’addition d’une seule réaction manquante.Le workflow de reconstruction du réseau 81
Malgré cela, la combinaison de toutes ces méthodes ne remplace pas la nécessité d’une
curation manuelle, bien qu’elle facilite celle-ci. En effet, la dernière étape consiste en une
curation manuelle du réseau basée sur des informations provenant d’étude de séquences
avec des profils HMMs et/ou de la bibliographie. Cette étape permet également de rajouter
des réactions dans le réseau qui n’auraient pas pu être trouvées par les données génomiques
ou de profilage métabolique, comme par exemple deux réactions impliquées dans le recyclage
du mannitol ou la voie de synthèse des alginates.
La dernière étape consiste à vérifier la fonctionnalité du système à produire quantitativement
de la biomasse. Dans le cas d’Ectocarpus siliculosus , le système a été capable de
produire cette biomasse. Il reste cependant à améliorer le réseau en introduisant de nouveaux
métabolites cibles et caractérisant les échanges de co-facteurs dans le cycle cellulaire.
La figure 3.2 résume l’ensemble du workflow et les résultats obtenus lors de la création
d’EctoGEM 1.0, le réseau métabolique d’Ectocarpus siliculosus.
3.6.2 Outils intégrés dans le pipeline
Comparaison avec les autres pipelines de reconstruction de réseaux algues Comparé
aux autres pipelines de reconstruction de réseaux métaboliques utilisés jusqu’à présent
chez des algues, qui sont présentés en partie 1.5, notre approche contient un certain nombre
de particularités. Tout d’abord nous ne nous sommes pas contentés d’une source unique de
données, comme cela a été le cas la plupart du temps, mais nous avons utilisé à la fois les
annotations disponibles via l’interface web Orcae et des recherches d’orthologues en s’appuyant
sur la qualité du réseau métabolique AraGEM. Ces deux sources de données nous
ayant permis de créer une ébauche métabolique de grande taille, nous avons dû utiliser
une méthode automatique globale de complétion à la différence d’AlgaGEM et de DiatomCyc.
Pour cela, nous avons développé une méthode permettant d’obtenir l’ensemble des
complétions minimales, et non uniquement un échantillonnage comme cela a été le cas
pour une partie de la complétion réalisée chez Ostreococcus. La validation du réseau obtenue
a été réalisée en utilisant la technique de Flux Balance Analysis, comme cela a été le
cas dans presque tous les réseaux métaboliques d’algues existants, en créant entièrement
une fonction de biomasse à l’aide d’une étude bibliographique. Enfin les réactions prédites
comme étant présentes dans le réseau ont été étudiées afin de rechercher des gènes pouvant
coder pour les enzymes impliquées dans ces réactions. Cela a été réalisé en créant des
profils HMMs pour chaque réaction en se basant sur les séquences des enzymes existantes
chez d’autres organismes. D’autres méthodes pourraient être utilisées pour effectuer cette
recherche telle que la méthode PRIAM [?].
Les étapes principales de ce processus global de reconstruction sont présentées en table
3.2 avec les différentes étapes utilisées pour réaliser les autres réseaux métaboliques chez
des algues.
Importance des briques du pipeline Ce pipeline global, nous le voyons, est composé de
différentes briques qui nous semblent les plus efficaces et les plus précises aujourd’hui. Il
est cependant intéressant de remarquer que l’ensemble de ces briques ne sont pas figées et
pourraient aisément être remplacées par d’autres méthodes si celles-ci venaient à dépasser
celles utilisées. Par exemple, Pantograph pourrait être remplacé par un autre outil d’infé-
rence de réseaux métaboliques à partir de réseaux existants en se basant sur d’autres scores82 Pipeline de reconstruction de réseaux à partir de données hétérogènes
1,785 reactions
1,981 metabolites
25/50 targets
1,840 reactions
2,004 metabolites
50/50 targets
1,677 reactions
1,889 metabolites
25/50 targets
786 reactions
1,767 metabolites
0/50 targets
1,866 reactions
2,020 metabolites
Ectocarpus siliculosus genome
Pantograph
OrthoMCL
InParanoïd
Protein sequences
EctoGEM-ortho
Pathway Tools
Genome annotations
EctoGEM-annot
EctoGEM-combined
Meneco
Semantic analysis
EctoGEM-functional HMM profile
Manual curation
EctoGEM 1.0
chloroGEM-combined
mitoGEM-combined
66 reactions
136 metabolites
22 reactions
33 metabolites
FIGURE 3.2: Résumé de l’approche intégrative de la reconstruction du réseau métabolique
d’Ectocarpus siliculosus. Les boites bleues correspondent aux outils utilisés. Les boites
vertes correspondent aux données utilisées et aux différentes versions du réseau existantes.Le workflow de reconstruction du réseau 83
TABLE 3.2: Comparaison des différentes méthodes de reconstruction de réseaux métaboliques
chez des algues avec la méthode proposée pour la reconstruction du réseau
d’Ectocarpus siliculosus.
Espèce Nom du réseau Source
de données
Reconstruction
initiale
Complétion FBA ?
Chlamydomonas
reinhardtii
AlgaGEM KEGG mapping sur
KEGG
manuel, composé
par composé
Oui
Chlamydomonas
reinhardtii
iRC1080 réseau
pré-
existant
+ bibliographie
Manuel Effectué mais pas
d’informations
Oui
Ostreococcus KEGG mapping sur
KEGG
Top-down et
Bottom-up, pas de
solution unique
Oui
Phaeodactylum
tricornutum
DiatomCyc KEGG +
Metacyc
Pathway tools Manuel pour les
voies métaboliques
connues
Non
Ectocarpus siliculosus
EctoGEM Orcae
+ MetaCyc
+
AraCyc
Pathway tools
+ Orthologie
Bottom-up automatique,
union de
toutes les solutions
minimales + curation
sémantique et
manuelle
Oui84 Pipeline de reconstruction de réseaux à partir de données hétérogènes
qu’uniquement la similarité de séquence. La prédiction des enzymes par des profils HMMs
pourrait être remplacée par des outils utilisant des fonctions de score plus précises, en prenant
par exemple en compte des domaines protéiques interagissant en trois dimension.
Meneco pourrait également être remplacé par d’autres outils de complétion si les données
nécessaires sont disponibles et que l’efficacité de ces outils est présente.
Ainsi, si la méthode proposée permet bien de reconstruire des réseaux métaboliques,
le pipeline en lui même apparaît comme un outil d’aide à l’annotation de réseaux métaboliques
plus qu’un outil de reconstruction automatique.
Importance de l’aide à la décision et du caractère évolutif du réseau Ces résultats suggèrent
que le pipeline intégratif décrit dans cette thèse est pertinent pour la reconstruction
de réseaux métaboliques d’organismes biologiques pour lesquels les données expérimentales
sont moins importantes que pour certains modèles biologiques bien établis, et qui sont
aussi distants phylogénétiquement par rapport à des organismes tels que E. coli, Arabidopsis,
C. elegans et bien d’autres pour lesquels des réseaux métaboliques de bonne qualité sont
accessibles. En effet, en combinant des outils de reconstruction automatique et des outils
permettant une assistance à la curation manuelle, tout en conservant en permanence des
traces de toutes les modifications effectuées, qu’elles soient manuelles ou automatiques,
nous obtenons un pipeline global permettant la reproductibilité des manipulations. En se
basant sur la même méthodologie, des mises à jour d’EctoGEM pourront être effectuées
régulièrement au fur et à mesure que de nouvelles données seront disponibles, telles que
de nouvelles annotations de gène, et de nouveaux résultats de profilage transcriptomique,
protéomique, et/ou métabolique.
3.7 Conclusion
Ce chapitre nous a permis de décrire le processus global de reconstruction d’un réseau
métabolique chez une espèce eucaryote non classique. Si l’étape de complétion d’ébauche
métabolique, telle que décrite dans le chapitre précédent, contient un fort problème combinatoire,
l’enchaînement des étapes pose, elle, d’autres problèmes. En effet, nous nous
sommes retrouvés confrontés a de nombreux problèmes d’unifications de formats entre différents
logiciels, d’unifications d’identifiants entre différentes bases de données ou encore
de représentations des connaissances. Si tout le processus n’est pas encore entièrement automatisé,
cette automatisation est déjà avancée.Chapitre 4
Contribution du réseau métabolique
d’Ectocarpus siliculosus pour
améliorer les connaissances sur la
physiologie des algues brunes
Dans ce chapitre nous présenterons tout d’abord les spécificités du métabolisme d’Ectocarpus
siliculosus (partie 4.1) avant d’étudier la reconstruction de certaines voies métaboliques
importantes chez Ectocarpus siliculosus (partie 4.2). Nous continuerons par l’analyse
de voies métaboliques mieux connues grâce à l’analyse du réseau métabolique reconstruit
dans la partie 4.3, avant de terminer par l’étude de la réannotation de gène permise par
la reconstruction du réseau métabolique (partie 4.4). La majorité des apports biologiques
présentés dans ce chapitre ont été publiés en 2014 dans Plant Journal [PCD+14]. Ces études
ont été réalisées en collaboration avec Simon Dittami et Ludovic Delage de la station biologique
de Roscoff.
4.1 Ectocarpus siliculosus : ses spécificités
Ectocarpus siliculosus est une algue brune possédant plusieurs spécificités la rendant
intéressante à étudier, particulièrement d’un point de vue de biologie systémique. Tout
d’abord son génome (et donc son métabolisme) est le résultat d’une endosymbiose secondaire
et de nombreux transferts latéraux de gènes [CSR+10, MTS+10b, MTS+10a]. Cela
conduit à un métabolisme hybride et à de nouvelles voies métaboliques, certaines des connexions
entre les différentes voies n’existant pas chez d’autres organismes.
D’autre part, les algues brunes sont sujettes à de fortes influences de leur environnement
sur leurs capacités métaboliques. Elles ont ainsi développé des adaptations métaboliques
en rapport avec leur habitat, c’est à dire la zone intertidale. Il est également intéressant
de remarquer qu’une souche d’Ectocarpus a été découverte vivant dans de l’eau douce
en Australie [WK96], entraînant une série d’études passionnantes sur les capacités d’adaptation
et d’acclimatation de cette algue aux stress salins.
Comme chez de nombreux organismes, certains exemples d’évolution convergente au
niveau d’activités enzymatiques existent, illustrés par le fait qu’une même réaction biochi-
8586 Contribution à l’amélioration des connaissances sur la physiologie des algues brunes
mique est catalysée par des protéines qui n’ont pas de proximité phylogénétique. Il est possible
de citer l’exemple de la mannitol-1-phosphatase (M1Pase) [GSM+14]. Ceci n’est pas
spécifiques aux algues brunes, mais complexifie l’annotation de génomes. La création de
réseaux métaboliques peut aider à la réannotation de génomes lorsque l’on se trouve face à
de telles réactions pour lesquelles les enzymes mises en jeu ne peuvent pas être identifiées
par similarité de séquence.
De plus il n’est pas possible de réaliser de modification génétique directe ou inverse
chez Ectocarpus siliculosus . Il est donc difficile d’analyser la fonction physiologique ainsi
que l’influence de certains gènes in vivo in vivo. La reconstitution de voies métaboliques in
silico permet d’identifier certains gènes d’intérêt pour guider les futures expérimentations
in vitro ou in vivo.
Enfin Ectocarpus siliculosus ne se développe pas seule dans son environnement, mais
est associée à de nombreux autres organismes, notamment des bactéries. Pour certains sujets
d’étude, il sera donc insuffisant de se concentrer uniquement sur l’algue. Il faudra étudier
l’holobionte dans son ensemble et cela sera grandement simplifié par la création ulté-
rieure de méta-réseaux métaboliques impliquant différents organismes.
4.2 Analyse de la reconstruction automatique du réseau métabolique
Afin d’avoir une idée générale de la qualité de la reconstruction automatique du réseau
métabolique d’Ectocarpus siliculosus , nous avons analysé en détail deux voies métaboliques
typiques des algues brunes, le cycle du mannitol et la synthèse des alginates. Ces
deux voies sont indispensables au métabolisme de l’algue, le mannitol étant utilisé comme
forme de stockage du carbone et les alginates étant des composants majeurs de la matrice
extracellulaire.
4.2.1 La synthèse des alginates
Une voie potentielle de synthèse des alginates a été proposée par [MTS+10b] et les gènes
correspondant ont été annotés dans la base de données Orcae. Dans la voie proposée par
[MTS+10b], à partir du fructose-6-phosphate produit par la photosynthèse, la première étape
consiste en l’action d’une mannose-6-phosphate isomérase pour produire du mannose-
6-phosphate. Celui-ci est ensuite transformé en mannose-1-phosphate par une phosphomannomutase
et servira à produire du GDP-mannose par une mannose-1-phosphate guanylyltransférase.
Ce GDP-mannose sera ensuite transformé en acide GDP-mannuronique
par une GDP-mannose 6-déshydrogénase avant de produire du mannuronane par une mannuronane
synthase. Enfin ce mannuronane produira de l’alginate par une mannuronate C5
épimérase. L’ensemble de ces informations est représenté dans la partie gauche de la figure
4.1. Différents gènes candidats existent pour presque toutes ces réactions, seule la transformation
du mannose-1-phosphate en GDP-mannose n’est pour l’instant supportée par
aucun gène.
Les quatre premières réactions de cette voie de synthèse des alginates ont été bien retrouvées
lors de la reconstruction du réseau métabolique. Les gènes proposés sont quasiment
équivalents, nous proposons un candidat supplémentaire pour la réaction de transformation
du mannose-6-phosphate en mannose-1-phosphate. Une analyse plus pousséeAnalyse de la reconstruction automatique du réseau métabolique 87
Enzyme Réaction prédite (MetaCyc id) Gènes assignés
MPI MANNPISOM-RXN Esi0000_0207
Esi0120_0005
Esi0120_0009,0010
Esi0195_0002*
PMM PHOSMANMUT-RXN Esi0149_0031,0032
Esi0315_0030
MPG 2.7.7.13-RXN Pas de gène
GMD GDP-MANNOSE-6-
DEHYDROGENASE-RXN
Esi0051_0092
Esi0052_0113
Esi0164_0053**
MS (GT2) Pas de réaction Pas de gène
MC5E Pas de réaction Pas de gène
Annotation manuelle
(Cette étude)
Synthèse des alginates
Fructose-6-P
Mannose-6-P
Mannose-1-P
GDP-mannose
Acide GDP-mannuronique
Mannuronane
Alginate
Mannose-6-P isomerase (MPI)
Esi0000_0207
Esi0120_0005
Esi0120_0009,0010
Esi0195_0005*
Phosphomannomutase (PMM)
Esi0149_0031,0032
Mannuronate C5 epimerase (MC5E)
28 genes
GDP-mannose 6-dehydrogenase (GMD)
Esi0051_0092
Esi0051_0113
Esi0164_0053**
Mannuronan synthase (MS)
Esi0010_0147
Esi0086_0005
Mannose-1-P guanylyltransferase (MPG)
No candidate gene
EctoGEM-functional
(Michel et al., 2 010a)
FIGURE 4.1: Comparaison entre la reconstruction automatique et l’annotation manuelle
de la voie de synthèse des alginates. * indique un gène pour lequel l’identifiant a changé
dans la base de données en fonction de la mise à jour de l’annotation structurale du gé-
nome (Esi0195_0005 est devenu Esi0195_0002). ** indique une protéine dont la fonction a
été caractérisée biochimiquement [TVC+11].88 Contribution à l’amélioration des connaissances sur la physiologie des algues brunes
de ce gène candidat montre une identité forte (65%) avec des phosphomannomutases pré-
sentes chez des plantes [QYQ+07] suggérant qu’Ectocarpus siliculosus ne possède pas une,
mais deux protéines pour cette fonction. Le gène Esi0051_0113 n’a pas été retrouvé à cause
d’un manque d’annotations dans la base de données génomique. Le gène candidat proposé
lors de la reconstruction du réseau correspond en effet à une GDP-mannose 6-déshydrogé-
nase, mais celle-ci est connue comme faisant partie d’un virus ayant intégré le génome
d’Ectocarpus siliculosus [CSR+10].
Les deux dernières réactions de cette voie métabolique n’ont pas été prédites lors de la
reconstruction du réseau pour différentes raisons. Tout d’abord les gènes correspondant ne
possèdent pas de numéro E.C. dans leur annotation, rendant difficile leur identification et
leur assignation lors de l’étape d’étude des annotations pour la reconstruction du réseau.
De plus, l’alginate ne faisant pas partie des molécules cibles utilisées lors de la complétion
de l’ébauche métabolique par Meneco, les réactions enzymatiques associées à cette voie
métabolique n’ont pas été considérées pour la complétion du réseau.
4.2.2 Le cycle du mannitol
Le cycle du mannitol est composé de quatre réactions différentes, deux pour la synthèse
à partir du fructose-6-phosphate, et deux correspondant au recyclage de ce polyalcool pour
produire du fructose-6-phosphate. Des gènes candidats ont été identifiés dans le génome
d’Ectocarpus siliculosus pour ces réactions dans [MTS+10a]. Ces réactions sont présentées
dans la partie gauche de la figure 4.2. La première réaction consiste à transformer le
fructose-6-phosphate en mannitol-1-phosphate à l’aide d’une mannitol-1-phosphate déshydrogénase.
Le mannitol-1-phosphate sert ensuite à la production de mannitol grâce à une
mannitol-1-phosphatase. Lors du recyclage du mannitol, nous allons avoir production de
fructose par une mannitol-2-déshydrogénase, cet ose étant ensuite reconverti en fructose-
6-phosphate par une fructokinase.
La première réaction a été correctement retrouvée et associée aux bons gènes. Le mannitol
faisant partie des métabolites cibles, Meneco a correctement retrouvé la seconde réaction
mais du fait du manque dans les bases de données de séquences protéiques identifiées
comme M1Pases, il n’a pas été possible de proposer de gènes candidats pour cette réaction.
En effet, une séquence de M1Pase a été identifiée en 1998 chez Eimera [LAF+98] mais sa
séquence a trop divergé entre les deux organismes. En revanche aucune des réactions impliquées
dans le recyclage du mannitol n’a été retrouvée lors de la création automatique du
réseau. Des gènes candidats existants, ils ont été rajoutés manuellement au réseau EctoGEM
final.
4.3 Étude de voies métaboliques chez Ectocarpus siliculosus à l’aide
du réseau métabolique
4.3.1 Synthèse des acides aminés aromatiques
Une étude manuelle d’EctoGEM avant curation montre que, parmi les voies métaboliques
de synthèse des acides aminés aromatiques (tryptophane, tyrosine, et phenylalanine)
telles que décrites dans [TG10], seule celle de la tyrosine est incomplète. Les trois voies mé-
taboliques de synthèse de la tyrosine présentes dans MetaCyc ("tyrosine biosynthesis I" =Étude de voies métaboliques chez Ectocarpus siliculosus à l’aide du réseau métabolique 89
Annotation manuelle EctoGEM-functional
(Cette étude)
Cycle du mannitol
Enzyme Réactions prédite (MetaCyc id) Gènes assignés
M1PDH MANNPDEHYDROG-RXN Esi0017_0062**
Esi0020_0181
Esi0080_0017
M1Pase MANNITOL-1-PHOSPHATASE-RXN Pas de gène
M2DH Pas de réaction Pas de gène
HK Pas de réaction Pas de gène
Mannitol-1-P dehydrogenase (M1PDH)
Esi0017_0062 **
Esi0020_0181
Esi0080_0017
Fructokinase (FK)
Fructose-6-P
Mannitol-1-P
Mannitol
Fructose
Esi0139_0025
Mannitol-1-phosphatase (M1Pase)
Esi0080_0016
Esi0100_0020**
Mannitol-2-dehydrogenase (M2DH)
Esi0135_0010
( ichel M et al., 2010b)
FIGURE 4.2: Comparaison entre la reconstruction automatique et l’annotation manuelle
de la voie du cycle du mannitol. ** indique une protéine dont la fonction a été caractérisée
biochimiquement. [RGD+11, GSM+14]
TYRSYN, "tyrosine biosynthesis II" = PWY-3461 et "tyrosine biosynthesis III" = PWY-6120)
montrent la présence d’une seule des trois réactions présentes dans ces voies. La tyrosine
étant présente dans les 50 métabolites d’intérêt ayant servi à la reconstruction du réseau,
Meneco a proposé l’ajout d’une phénylalanine hydroxylase (PAH) afin de permettre la production
de tyrosine via une hydroxylation de la phénylalanine(figure 4.4a). Cette suggestion
est compatible avec ce qui est observé dans le réseau métabolique DiatomCyc, qui contient
la réaction catalysée par une phénylalanine hydroxylase, pour laquelle la protéine associée
présente 50% d’identité avec une phenylalanine-4-hydroxylase humaine caractérisée. Cependant,
l’analyse du génome d’Ectocarpus siliculosus n’a pas permis de retrouver de gène
codant pour cette protéine. La voie de production des acides aminés aromatiques a donc été
étudiée manuellement afin de mieux la cerner chez cet organisme. Dans MetaCyc, la voie
de synthèse I est présente chez Saccharomyces cerevisiae et Escherichia coli, alors que les
voies II et III sont présentes chez les plantes. La principale différence entre ces trois voies
réside dans la nature des intermédiaires générés entre le préphénate et la tyrosine (Figure
4.3) :
– La voie microbienne implique le préphénate comme précurseur pour produire du 4-
hydroxyphénylpyruvate (HPP) par l’activité d’une déshydrogénase, ce HPP étant ensuite
converti en tyrosine par une tyrosine aminotransférase
– La voie présente chez les plantes utilise le préphénate pour produire de l’arogénate
par une préphénate aminotransférase (PAT), puis cet intermédiaire est décarboxyler
en tyrosine par une arogénate déshydrogénase
La figure 4.3 tirée de [TG10] résume ces différentes informations.
La voie métabolique associée aux plantes est localisée dans le chloroplaste [RPG+09]
et les PATs des plantes ont été caractérisées chez Arabidopsis thaliana et Petunia hybrida90 Contribution à l’amélioration des connaissances sur la physiologie des algues brunes
FIGURE 4.3: Les voies de synthèse des acides aminés aromatiques chez les plantes. [TG10]
Les noms des enzymes sont donnés à côté des flèches, et sont accompagnés des noms abré-
gés entre parenthèses. Les voies majoritaires de synthèse de la phénylalanine et de la tyrosine
chez les plantes sont indiquées par des flèches vertes (voie II pour la tyrosine). La voie
de synthèse I de la tyrosine et une voie de synthèse secondaire de la phénylalanine sont
représentées par des flèches rouges.
[GGJ+10, MYD11]. Toutefois, des résultats récents semblent indiquer qu’une voie métabolique
proche de la voie microbienne pourrait être aussi présente chez les plantes, et que
la synthèse de phénylalanine ne serait pas uniquement chloroplastique [YWQ+13]. Trois
candidats ont été identifiés dans le génome d’E. siliculosus lors de la reconstruction du ré-
seau métabolique pour ces deux voies métaboliques. On note l’absence de candidat pour
les PATs, probablement parce que cette protéine n’est pas présente dans le réseau métabolique
AraGEM. Cependant une analyse avec la PAT identifiée chez Arabidopsis thaliana
a permis d’identifier un candidat chez Ectocarpus siliculosus (Esi0128_0018). L’ensemble
des gènes candidats pour les deux voies est supporté par des EST, et plusieurs d’entre eux
ont leur expression qui est réduite lors de stress abiotiques [DSP+09, RDG+14]. La fonction
biochimique de ces gènes reste à vérifier expérimentalement. La figure 4.4 (b) représente
la voie de synthèse des acides aminés aromatiques proposée après curation manuelle du
réseau.
Des analyses phylogénétiques ont été effectuées sur les quatre candidats présents dans
le génome d’Ectocarpus siliculosus pour étudier l’évolution de cette voie chez les algues
brunes. Le logiciel Phylogeny.fr [DGB+08] a été utilisé pour cela. Les alignements protéiques
ont été réalisés à l’aide du logiciel MUSCLE avant d’être raffinés avec GBlocks. Une fois les
alignements réalisés, les arbres phylogénétiques ont été obtenus par la méthode du maximum
de vraisemblance implémentée dans PhyML. Des analyses de bootstrap sur 100 réplicats
ont ensuite été réalisées pour estimer la confiance pouvant être accordée à la topologie
des arbres obtenus.Étude de voies métaboliques chez Ectocarpus siliculosus à l’aide du réseau métabolique 91
FIGURE 4.4: Voies de biosynthèse des acides aminés aromatiques avant et après curation
manuelle.(a) Voies métaboliques prédites dans EctoGEM-functionnal. Les commentaires
associés aux enzymes indiquent comment les gènes ont été identifiés et les réactions pré-
dites : PWT (Pathway Tools), PTG (Pantograph) et HMM. (b) Voies métaboliques obtenues
après curation manuelle par analyse comparative avec d’autres espèces. La voie métabolique
de l’arogénate est représentée en pointillés. Les changements d’expression significatifs
(FDR < 5%) dûs à des stress cuivriques (après 4h et 8h de traitement), hypersalins, hyposalins
et oxydatifs (après 6h de traitement pour les trois derniers types de stress) sont indiqués
dans cet ordre par les flèches sous les noms des gènes.92 Contribution à l’amélioration des connaissances sur la physiologie des algues brunes
La chorismate mutase d’Ectocarpus (Esi0002_0121) groupe avec les séquences d’oomycètes
et de champignons, alors que les gènes d’algues codant pour les autres enzymes
sont plus proches de leurs homologues chez les plantes. Cette observation semble indiquer
que la synthèse de phénylalanine et de la tyrosine chez Ectocarpus siliculosus se ferait
de façon similaire à ce qui se passe chez les plantes terrestres (via l’arogénate) plutôt
que directement depuis le préphénate comme chez la levure. Une analyse de la sé-
quence d’Esi0000_0583 montre que cette protéine contient deux domaines, l’un correspondant
à une arogénate/préphénate déshydratase (A/P-DT) à l’extrémité N-terminale, et
l’autre à une arogénate/préphénate déshydrogénase (A/P-DH) à l’extrémité C-terminale.
Cette structure est différente de celles des gènes des plantes terrestres où ces deux fonctions
sont catalysées par des enzymes différentes [RPG+09]. Des enzymes potentiellement
bi-fonctionnelles A/P-DT et A/P-DH ont été retrouvées chez certains straménopiles comme
les oomycètes (Phytophtora, Albugo) et chez d’autres organismes plus éloignés comme des
haptophytes ou des choanoflagellées (figure 4.5). À l’inverse, chez d’autres straménopiles
plus proches phylogénétiquement des algues brunes, comme les diatomées ou les pélagophytes,
les deux activités sont codées par des gènes différents, comme c’est le cas aussi chez
les algues vertes et rouges. De plus, certains organismes tels que les oomycètes, M. brevicollis,
et E. huxleyi possèdent une enzyme potentiellement tri-fonctionnelle PAT, A/P-DH et
A/P-DT. Tous ces résultats semblent indiquer une enzyme ancestrale tri-fonctionnelle étant
donné que celle-ci est partagée par deux lignées éloignées, les straménopiles et les opisthokontes.
Le gène aurait ainsi été tout d’abord clivé en un gène PAT et un gène bi-fonctionnel
A/P-DT et A/P-DH après la divergence entre les oomycètes et les ochrophytes. Les figures
4.6 et 4.7 présentent les analyses phylogénétiques des A/P-DH et A/P-DT respectivement.
Ce gène bi-fonctionnel aurait lui même été clivé plus tard chez les diatomées. De plus, le
fait que la préphénate aminotransférase soit une partie d’une enzyme trifonctionnelle impliquée
dans la synthèse de la phénylalanine et de la tyrosine chez les oomycètes est une
indication que le scénario le plus plausible de production de ces acides aminés chez les
straménopiles passe par la synthèse d’arogénate. Cependant, la voie de synthèse de la tyrosine
connue chez la levure ne peut pas être exclue définitivement.
Enfin, nous avons effectué une recherche d’homologues d’aminotransférases d’acides
aminés aromatiques et de phénylalanine hydroxylase (PAH) chez différentes lignées. Le gène
codant pour l’enzyme PAH est absent du génome d’E. siliculosus, mais a été identifié chez
de nombreux autres straménopiles où les deux voies métaboliques pour la production de
la tyrosine semblent co-exister, avec ou sans la phénylalanine comme intermédiaire. Cette
situation peut également être observée chez les archaeplastides, les opisthokontes, les alvéolés
et les cryptophytes. Tout cela semble suggérer une évolution de la production de
phénylalanine et de tyrosine indépendante de l’évolution phylogénétique des organismes.
4.3.2 Synthèse du molybdenum
La reconstruction du réseau métabolique d’E. siliculosus a également permis d’obtenir
de nouveaux indices quant à la synthèse du cofacteur molybdenum (Molybdenum cofactor,
Moco). La voie de synthèse du Moco a été correctement reconstruite dans EctoGEM (figure
4.8a) avec trois réactions prédites par Pathway Tools en se basant sur les annotations d’Orcae,
et les quatre autres réactions ajoutées par l’algorithme de gap-filling de Pathway Tools.
Les quatre réactions ajoutées ont été associées aux gènes correspondant durant la phaseÉtude de voies métaboliques chez Ectocarpus siliculosus à l’aide du réseau métabolique 93
FIGURE 4.5: Évolution des enzymes impliquées dans la synthèse des acides aminés aromatiques.
L’arbre représente les relations phylogénétiques entre les organismes telles que
définies dans Tree Of Life (http ://tolweb.org). La longueur des branches ne représente aucune
information. La présence des gènes chez les différents organismes est indiquée par un
"+". Les flèches indiquent la fusion des déshydratases (A/P-DT) et déshydrogénases (A/PDH).
Phytophtora infestans contient deux déshydratases, l’une étant fusionnée à la déshydrogénase.94
Contribution à l’amélioration des connaissances sur la physiologie des algues brunes
FIGURE 4.6: Analyse phylogénétique de la A/P-DT d’Ectocarpus siliculosus . Pour chaque
séquence, la première partie du nom correspond au numéro d’accession dans la base de
données NCBI et la seconde partie correspond au nom de l’espèce où la séquence a été
retrouvée. Les couleurs correspondent aux origines phylogénétiques des espèces.Étude de voies métaboliques chez Ectocarpus siliculosus à l’aide du réseau métabolique 95
FIGURE 4.7: Analyse phylogénétique de la A/P-DH d’Ectocarpus siliculosus . Pour chaque
séquence, la première partie du nom correspond au numéro d’accession dans la base de
données NCBI et la seconde partie correspond au nom de l’espèce où la séquence a été
retrouvée. Les couleurs correspondent aux origines phylogénétiques des espèces.96 Contribution à l’amélioration des connaissances sur la physiologie des algues brunes
de curation manuelle. Une recherche de gènes associés à cette voie métabolique a mis en
avant la présence d’un transporteur de molybdate de type MOT2 [TJGF11] et de six loci gé-
nomiques codant pour des protéines qui dépendent probablement du Moco pour leurs activités.
Chez les plantes terrestres, le Moco est essentiel au fonctionnement notamment des
nitrates réductases et de la xanthine déshydrogénase, impliquées respectivement dans l’assimilation
du nitrate, et la dégradation de la purine [SM06]. Chez E. siliculosus nous avons
retrouvé toutes ces réactions, avec en plus une enzyme de la famille des phosphoadénosine
phosphosulfate réductase qui contient aussi un domaine de fixation au Moco.
Tous les gènes candidats impliqués dans la synthèse du molybdenum sont conservés
chez les animaux, les plantes et les straménopiles. On a remarqué cependant que les sé-
quences d’E. siliculosus sont plus proches de celles des autres straménopiles avec lesquelles
elles forment une clade indépendante. La seule exception est pour une des deux
molybdopterine synthases potentielles (Esi0290_0003), qui groupe avec les séquences de
cyanobactéries lors des analyses phylogénétiques (fig 4.8b). Cela indique que tout en considérant
le fait que la biosynthèse du Moco est ancestrale chez les eukaryotes, un deuxième
gène codant pour une molybdopterine synthase a été acquis par l’ancêtre commun des straménopiles
via un transfert horizontal à partir d’une cyanobactérie. Comme les deux gènes
correspondant à cette acitvité enzymatique sont exprimés chez E. siliculosus et présents
chez les autres straménopiles, il est intéressant de s’interroger quand à leur(s) rôle(s) physiologiques
chez ces organismes.
4.4 Réannotation des gènes
Au début de cette thèse, dans la base de données génomique Orcae, plus d’un tiers des
gènes ne sont pas annotés précisément ou pas annotés du tout. Un des apports de la reconstruction
du réseau métabolique d’Ectocarpus siliculosus a été la réannotation d’un certain
nombre de ces gènes. En effet, lors des étapes de complétion d’ébauches de réseaux métaboliques,
nous ajoutons des réactions dans le réseau qui ne sont pas, la plupart du temps,
supportées par une annotation génomique précise (si c’était le cas, normalement, la phase
de création de l’ébauche basée sur les annotations aurait dû la trouver). Ainsi, l’étape de
complétion pourra attirer l’attention des annotateurs sur une réaction précise pour laquelle
les gènes correctement annotés sont manquants. Notre workflow va permettre de proposer
des gènes candidats pour ces réactions via l’utilisation des données d’orthologie et les pro-
fils HMMs.
Ce manque initial d’annotation peut être dû à différentes raisons. Tout d’abord comme
précisé précédemment, le génome d’Ectocarpus siliculosus est la résultante d’une endosymbiose
secondaire et de nombreux transferts latéraux de gènes. Cela conduit à la pré-
sence de voies métaboliques "non classiques" chez cette algue. D’autre part, les algues brunes
font partie d’un groupe phylogénétique ayant divergé très rapidement parmi les eucaryotes.
Les annotations de génome automatiques basées sur des techniques d’homologie
de séquence risquent donc d’échouer du fait de la grande distance phylogénétique entre
Ectocarpus siliculosus et la plupart des organismes séquencés et annotés jusqu’à présent.
De plus, le métabolisme chimérique très particulier à Ectocarpus siliculosus engendre le
fait que cette espèce possède des voies métaboliques (et donc des gènes) spécifiques à cette
espèce. Enfin les expériences de transcriptomique chez Ectocarpus siliculosus sont peu
nombreuses. Par conséquent, les possibilités de réaliser des méta-analyses afin d’identifierRéannotation des gènes 97
Cyclic pyranopterin
phosphate
GTP
4.1.99.18
Cysteine
Molybdopterin synthase
Small subunit
Thiocarboxylated molybdopterin
synthase small subunit
2.8.1.7 2.7.7.80
2.8.1.11
Molybdopterin
Molybdopterin adenine dinucleoide
MoO2
-molybdopterin cofactor
Molybdopterin synthase
Small subunit
2.8.1.12
2.7.7.75
2.10.1.1
Esi0147_0053**
Esi0290_0003*
Esi0179_0043*
Esi0290_0003*
Esi0179_0043*
Esi0553_0005
Esi0000_0519*
Esi0000_0519*
Molybdate
MOT2
Esi0053_0098*
Molybdate
Nitrate reductase
Esi0006_0124*
Sulfite oxidase
Esi0008_0206*
NADH dehydrogenase
Esi0028_0044*
Xanthine
dehydrogenase
Esi0058_0101*
Esi0058_0108
Phosphoadenosine
phosphosulfate
reductase family
protein
Esi0218_0033*
Exctracellular
space
a
Targets
b Cyanobacteria
Stramenopiles II (incl. Esi0290_0003)
Firmicutes
Fibrobacteres
Acinobacteria
Armaimonadetes
Chlamydiae
Bacteroidetes
Chloroflexi
Deltaproteobacteria
Fibrobacteres
Chlamydiae
Nitrospinae
Gammaproteobacteria
Stramenopiles I (incl. Esi0179_0043)
Animals
Green plants
Fungi
99
100
82
90
63
94
100
70
82 60
100
91
86
93
100
99
89
89
72
100
98 0.2
Bacteria
(+ Stramenopiles II)
Eukaryotes
Esi0031_0067 *
FIGURE 4.8: Voies de biosynthèse du cofacteur molybdenum. a) Voies métaboliques curées
et protéines associées aux réactions enzymatiques. * marque les gènes exprimés chez E. siliculosus.
** marque les gènes significativement (FDR < 5%) réprimés en réponse à un stress
hyposalin. Les nombres dans les ovales correspondent aux numéros E.C. des réactions. (b)
Position phylogénétique de deux candidats pour l’activité molybdopterin synthase. La fi-
gure montre un arbre de maximum de vraisemblance avec 75 séquences sélectionnées dans
différentes lignées. Seules les valeurs possédant un bootstrap supérieur à 50 sont indiquées.98 Contribution à l’amélioration des connaissances sur la physiologie des algues brunes
des gènes co-régulés susceptibles d’intervenir dans des voies métaboliques communes sont
limitées. De la même manière, l’absence de structure en opéron ou en cluster dans le gé-
nome (que l’on retrouve chez les bactéries ou dans le métabolisme secondaire des plantes
[WGH+12]) empêche de réaliser des prédictions d’annotations en se basant sur la localisation
des gènes.
La création du réseau métabolique d’Ectocarpus siliculosus a permis de réannoter manuellement,
pour le moment, 56 gènes. Aucune autre voie métabolique en particulier n’a
été retrouvée associée à ces gènes, ce qui amène à penser que ces réannnotations ont été
réalisées pour des gènes correspondant à des protéines impliquées dans différentes voies
métaboliques, et des loci dispersés dans le génome. La liste des gènes réannotés est présentée
en annexe C.
Toutefois, nous avons remarqué qu’une majorité des gènes réannotés se trouvent dans
des voies métaboliques connues comme étant des voies de synthèse de molécules. Cela
peut être expliqué par l’étape de complétion du réseau métabolique. En effet, Meneco rajoute
dans ce réseau des réactions afin de produire certaines molécules. Il est tout à fait
possible que ces réactions n’aient pas été ajoutées au cours de la construction de l’ébauche
du réseau car elles n’ont pas été retrouvées dans le génome, probablement parce que le(s)
gène(s) associé(s) à ces réactions étaient pas, peu, ou mal annotées. Nous retrouvons également
quelques réactions catalysant la production de métabolites intervenant dans plusieurs
voies métaboliques. De même manière, l’ajout de celles-ci par Meneco indique que
les gènes étaient mal annotés dans le génome, et leur intégration dans le réseau est sans
doute nécessaire pour rendre disponibles un grand nombre de réactions.
4.5 Conclusion
Nous l’avons vu, EctoGEM a d’ores et déjà été utilisé pour compléter certaines annotations
au sein du génome d’Ectocarpus siliculosus dans la base de données ORCAE, notamment
en lien avec certaines voies métaboliques qui ont déjà été étudiées ou sont en cours
de considération par des équipes travaillant sur la physiologie d’Ectocarpus. D’autre part, le
processus de reconstruction du réseau métabolique a permis aux experts de se concentrer
sur certaines voies métaboliques particulières apportant ainsi de nouvelles connaissances
sur le métabolisme de cette algue, et sur l’évolution des voies métaboliques chez les eucaryotes.
Par la suite, EctoGEM pourra être utilisé pour analyser des changements physiologiques
de l’algue brune en réponse à certaines modifications des conditions environnementales.
Ce réseau sera également considéré pour intégrer et cartographier des résultats d’expé-
riences de transcriptomique et de profilage métabolique obtenus dans différentes conditions
de stress. Ceci devrait permettre d’améliorer la compréhension de l’influence de ces
stress sur la physiologie globale de l’organisme par une vision globale, c’est à dire à l’échelle
du génome complet.Conclusion et perspectives
Conclusion
Cette thèse se situe dans le domaine de la bioinformatique. La question abordée est la
reconstruction de réseaux métaboliques pour des espèces eucaryotes non classiques, en se
concentrant particulièrement sur une étape primordiale de cette reconstruction, la complétion
d’ébauche métaboliques L’ensemble des résultats obtenus au cours de ce travail ont
été appliquées à la reconstruction d’une carte métabolique chez Ectocarpus siliculosus, le
modèle génomique des algues brunes.
Le problème de complétion d’un réseau métabolique est le suivant. Nous disposons
d’information partielles sur les réactions métaboliques qui transforment des molécules chez
une espèce données. De plus, nous avons à notre disposition des données qui nous indiquent
la présence de certaines molécules, produites par l’organisme d’intérêt (profilage
métabolique). Étant donné que ces molécules sont présentes au sein des cellules de l’organisme,
il semble logique de supposer que le métabolisme de cet organisme est capable
de les produire à partir des nutriments qui composent son milieu de culture. Pour vérifier
cela, nous parcourons le graphe créé par les réactions métaboliques reliées entre elles par
les molécules impliquées. Ce parcours va se faire à la recherche d’un chemin entre au moins
une molécule présente dans le milieu de culture et l’ensemble des molécules identifiées par
profilage métabolique. Si ce chemin existe, les informations contenues dans le génome ont
suffit à expliquer la présence de ces molécules. Si ce n’est pas le cas, nous allons ajouter des
réactions provenant de bases de données de réactions métaboliques dans le réseau afin de
rétablir la connectivité. Cet ajout de réaction se fera de manière à modifier le moins possible
le réseau existant, en ajoutant le nombre minimal de réactions. Le problème qui doit
être résolu consiste donc à proposer un ensemble de réactions métaboliques piochées dans
une banque "universelle" de réactions, pour restaurer "in silico" la production de composés
cibles.
Au début de cette thèse une méthode de résolution de la version combinatoire de ce problème
avait été proposée sous la forme d’une approche de programmation par contraintes
déclaratives appelée programmation par ensemble réponses (ou Answer Set Programming,
ASP) [ST09]. mais celle-ci n’était pas applicable en routine car elle ne passait pas à l’échelle
sur de grandes bases de données. D’autre part cette méthode ne représentait pas fidèlement
la réalité biologique de certaines réactions, les réactions réversibles. La première partie de
cette thèse a donc consisté en l’amélioration de cette méthode de complétion de réseaux
métaboliques sur deux plans : la modélisation des réactions réversibles et les méthodes de
recherches de solutions. Ces modifications ont été introduite dans le développement du
package python Meneco, rapide et aisément utilisable à partir de fichiers dans des formats
99100 Conclusion et perspectives
sbml classiques. L’intérêt de cette méthode, tant d’un point de vue de l’efficacité des calculs
que de la fonctionnalité biologique des réseaux reconstruits, a été validée par des expérimentations
sur des réseaux classiques (E. Coli) et non-classique (Ectocarpus siliculosus).
Une fois la méthode de complétion validée, celle-ci a été utilisée pour reconstruire le
réseau métabolique du modèle biologique des algues brunes, Ectocarpus siliculosus. Une
reconstruction d’un réseau métabolique fonctionnel ne se limitant pas à la seule étape de
complétion, nous avons développé un processus global de reconstruction de réseau métabolique.
Celui-ci se base sur les données classiquement utilisées lors de la reconstruction
de réseaux métaboliques : le génome de l’espèce étudiée (avec les annotations associées) et
toute autre source de données biologiques disponibles (métabolomique, transcriptomique,
etc).
Pour cela deux ébauches métaboliques différentes seront créées. La première utilisera
les informations présentes dans les annotations du génome, que celles-ci soient manuelles
ou automatiques. Ces informations seront recoupées avec celles présentes dans les bases
de données de réactions métaboliques telles que MetaCyc afin de créer un lien entre un
gène et une réaction. Cette étape est réalisée à l’aide du logiciel de référence Pathway Tools.
D’autre part, nous utilisons les informations incluses dans les séquences génomiques pour
réaliser une seconde ébauche métabolique. Pour cela nous utilisons un réseau métabolique
existant chez une espèce proche phylogénétiquement de l’espèce étudiée. Une recherche
d’orthologues est alors réalisée entre le génome de l’espèce pour laquelle nous reconstruisons
le réseau et celle possédant déjà un réseau métabolique. Le but ici est de transposer
les associations entre gènes et réactions ayant déjà été réalisées vers l’espèce d’intérêt. Si
dans le premier cas nous cherchons à obtenir le maximum d’informations possible à partir
des annotations manuelles du génome, dans le second nous cherchons à profiter de la curation
manuelle préexistante dans certains réseaux. Une difficulté ici est de fusionner les deux
ébauches métaboliques, en particulier lorsque les sources de données sont différentes, ce
qui nécessite de réconcilier les annotations avec des méthodes dédiées.
Nous obtenons alors une ébauche métabolique contenant le maximum d’informations
contenues dans le génome. Pour réaliser la complétion de ce réseau métabolique nous utilisons
alors une autre source de données (un profilage métabolique), et utilisons l’approche
Meneco de complétion combinatoire discutée plus haut. Les solutions au problème combinatoire
étant nombreuses (mais énumérables), elles sont analysées a posteriori avec des
approches sémantiques ( et fonctionnelles (validation via des profils HMM pour les réactions
introduites). L’ensemble du réseau reconstruit a finalement été validé par une étude
fonctionnelle quantitative (FBA) qui a montré sa capacité à produire de la biomasse.
Surtout, les méthodes introduites dans le pipeline complet (alignement de séquences,
harmonisation des annotations, complétion combinatoire de réseau, analyse sémantique),
permettent de réaliser efficacement une reconstruction de reconstruction de réseau métabolique
en tirant partie de la plupart des informations disponibles sur le réseau : annotation
du génome, connaissance sur des espèces cousines (réseau métabolique de référence), pro-
fils métabolique, et modèles HMM associé à toutes les protéines introduites dans la banque
de référence metacyc. Ce pipeline est en cours d’application à d’autres modèles marins ou
extrémophiles.
Une fois la complétion réalisée, le réseau a été analysé d’un point de vue topologique
pour obtenir de nouvelles connaissances sur le métabolisme d’Ectocarpus siliculosus. CetteConclusion et perspectives 101
étude a permis de faire de nouvelles hypothèses sur la biosynthèse des acides aminés aromatiques
ou du molybdenum. Ainsi, une nouvelle voie de synthèse de la tyrosine aurait été
identifiée de même qu’une origine probablement bactérienne d’un des gènes présent dans
la voie de synthèse du molybdenum. D’autre par la création du réseau métabolique a permis
de guider la réannotation de gènes chez Ectocarpus siliculosus. En effet, lorsque nous
ajoutons des réactions au réseau pendant l’étape de création de l’ébauche à l’aide d’orthologues
ou lors de la complétion, cela indique que ces réactions n’ont pas été ajoutées grâce
aux annotations. Il y a donc ici une amélioration possible des annotations du génome. Si
le transfert d’information est relativement direct lorsqu’il s’agit de l’utilisation des données
d’orthologie, cela est beaucoup moins évident à partir de la complétion. Nous proposons
alors une liste de réactions à ajouter au réseau mais ces réactions sont totalement détachées
de toute preuve de présence de l’enzyme au niveau génétique. Pour palier à cela, lorsque
nous proposons la présence d’une réaction dans le réseau, nous associons cette proposition
de réaction à un ou plusieurs gènes associés en utilisant la création de profils HMMs à
partir des gènes existants chez d’autres espèces.
Perspectives
Différentes perspectives ressortent de ce travail à plus ou moins long terme.
Automatisation du pipeline Tout d’abord, si les différentes briques du processus de reconstruction
de réseaux métaboliques sont grandement automatiques, il reste à automatiser
l’ensemble du processus pour fournir aux utilisateurs finaux un processus global et
automatique de reconstruction nécessitant le moins possible d’étapes manuelles. Cela permettra
d’obtenir un outil global utilisable par tous pour la reconstruction de réseaux métaboliques
eucaryotes chez des espèces non classiques. Ce travail est d’ors et déjà en cours.
Fonctionnalité La définition de la productibilité par Meneco, nous l’avons vu, amène à
une sous-approximation de la productibilité des molécules comparé aux méthodes stœ-
chiométriques au niveau des cycles. Une voie d’amélioration de ce point serait d’améliorer
la sémantique de productibilité en prenant en compte une partie des cycles utilisés par
la sémantique proposée par Acuna Sagot. Une autre grosse piste de recherche consisterait
à utiliser les développements en cours de solveurs hybrides ASP+ILP. Cela permettrait de
combiner l’efficacité des solveurs ASP avec une définition quantitative de la productibilité.
Il faudrait alors combiner des critères quantitatifs et qualitatifs. Mais pour le moment les
méthodes de recherche combinatoire ont du mal à "apprendre" des contraintes à partir des
solveurs ILP existants.
Amélioration et étude fonctionnelle du réseau métabolique D’autre part, maintenant
que le réseau est reconstruit, il devrait pouvoir être utilisé pour réaliser des prédictions sur
le métabolisme d’Ectocarpus siliculosus en réalisant une étude fonctionnelle précise du
réseau. Nous espérons que cette étude aide à comprendre la forte capacité d’adaptation
et d’acclimatation de cette algue brune aux stress abiotiques tel que le stress salin. Pour102 Conclusion et perspectives
cela nous comptons utiliser les quelques données de transcriptomique existantes. Ces expériences
ont été réalisées en conditions de stress salin ou cuivrique, il sera donc intéressant
de voir quelles gènes présents dans le réseau métabolique sont sur-exprimées ou sousexprimés
lors de ce stress. De nouvelles voies de réponses aux stress pourraient alors être
identifiées. D’autre part l’espèce d’Ectocarpus vivant en eau douce va être très prochainement
séquencée. Reconstruire le réseau métabolique de cette espèce par la même méthode
et comparer les deux réseaux obtenus pourrait permettre d’obtenir des indications sur la
raison de cette adaptation à l’eau douce (apparition de certaines voies métaboliques ou
disparition d’autres). Là encore l’étude de la fonctionnalité du réseau a commencé avec
sa décomposition en modes élémentaires et en modules réalisée par Annika Röhl et Arne
Reimers, respectivement, lors d’une visite au laboratoire "Mathematics in Life Sciences" de
Berlin.
De plus de nouvelles données de métabolomique à haut débit devraient être disponibles
sous peu. L’identification d’un grand nombre de métabolites chez Ectocarpus siliculosus
devrait ainsi permettre d’améliorer encore l’étape de complétion du réseau, la technique
de complétion utilisée étant d’autant plus précise que le nombre de métabolites dont nous
devons expliquer la présence est grand.
Enfin des données de profilage C13 devraient arriver sous peu chez des algues. Il serait
alors intéressant de travailler au niveau moléculaire, par exemple en rajoutant des contraintes
de traçage des carbones sur les voies métaboliques.
Étude de communautés d’espèces À plus long terme, nous pouvons nous interroger sur
la symbiose existant entre Ectocarpus siliculosus et de nombreuses souches bactériennes
vivant à sa surface. En effet, il a d’ores et déjà été montré que ces bactéries jouent un rôle non
négligeable pour le métabolisme de l’algue brune. Reconstruire le réseau "méta-métabolique"
de l’algue et de l’ensemble des bactéries vivant en symbiose avec elle. Il est en effet possible
que ces bactéries fournissent à l’algue des nutriments et vice-versa. Cet échange pourrait
être particulièrement intéressant par exemple lorsque la marée se retire et que l’algue subit
de très forts stress au niveau de la zone intertidale.
Pour ce faire, les zones d’échange entre les différents organismes seront particulièrement
importantes à modéliser. En effet, ces zones d’échanges et les transporteurs impliqués
impliquent des contraintes à la fois qualitatives et quantitatives qui caractérisent les
échanges au sein d’une communauté. Identifier automatiquement ces contraintes est à la
fois un défi informatique et une donnée très importante en biologie. En effet, il est souvent
impossible ou très difficile d’isoler une bactérie précise ou un protiste vivant en communauté
pour le faire croître en culture. Une fois que les échanges de molécules entre organismes
élucidés, il est possible d’espérer pouvoir créer des milieux de cultures spécifiques
en mimant les conditions de vie au sein de la communauté.
Importance des réseaux métaboliques chez de nouveaux modèles Cette thèse a permis
de reconstruire un réseau métabolique chez un nouveau modèle, le modèle des algues brunes,
Ectocarpus siliculosus. Dans un récent article, Fabris et ses collaborateurs [FMC+14] ont
étudié le réseau DiatomCyc qu’ils ont reconstruit récemment. Leur étude montre l’intérêt
des reconstruire des réseaux métaboliques chez des espèces modèles, notamment chez les
straménopiles. En effet, ces réseaux métaboliques pourraient permettre d’élucider certainesConclusion et perspectives 103
parties de leur métabolisme hybride entre ce que l’on trouve chez les animaux, les plantes
et les champignons, notamment.104 Conclusion et perspectivesBibliographie
[AKMS12] Benjamin Andres, Benjamin Kaufmann, Oliver Matheis, and Torsten
Schaub. Unsatisfiability-based optimization in clasp. In LIPIcs-Leibniz
International Proceedings in Informatics, volume 17. Schloss DagstuhlLeibniz-Zentrum
fuer Informatik, 2012.
[AKRI13] Shilpi Aggarwal, I. A. Karimi, and Gregorius Reinaldi Ivan. In silico modeling
and evaluation of gordonia alkanivorans for biodesulfurization. Mol.
BioSyst., 9 :2530–2540, 2013.
[Alo07] Uri Alon. Network motifs : theory and experimental approaches. Nat. Rev.
Genet., 8(6) :450–461, 2007.
[ALS+13] Rasmus Agren, Liming Liu, Saeed Shoaie, Wanwipa Vongsangnak, Intawat
Nookaew, and Jens Nielsen. The raven toolbox and its use for generating a
genome-scale metabolic model for Penicillium chrysogenum. PLoS Comput
Biol, 9(3) :e1002980, 03 2013.
[AMC+12] Vicente Acuña, Paulo Vieira Milreu, Ludovic Cottret, Alberto MarchettiSpaccamela,
Leen Stougie, and Marie-France Sagot. Algorithms and complexity
of enumerating minimal precursor sets in genome-wide metabolic
networks. Bioinformatics, 28(19) :2474–2483, 2012.
[Bar03] Chitta Baral. Knowledge Representation, Reasoning, and Declarative Problem
Solving. Cambridge University Press, New York, NY, USA, 2003.
[BBM+14] Thomas Bernard, Alan Bridge, Anne Morgat, Sébastien Moretti, Ioannis Xenarios,
and Marco Pagni. Reconciliation of metabolites and biochemical
reactions for metabolic networks. Briefings in Bioinformatics, 15(1) :123–
135, 2014.
[BES+01] V. Badarinarayana, P. W. Estep, J. Shendure, J. Edwards, S. Tavazoie, F. Lam,
and G. M. Church. Selection analyses of insertional mutants using
subgenic-resolution arrays. Nat. Biotechnol., 19(11) :1060–1065, November
2001.
[BFM+07] Scott A Becker, Adam M Feist, Monica L Mo, Gregory Hannum, Bernhard O
Palsson, and Markus J Herrgard. Quantitative prediction of cellular metabolism
with constraint-based models : the COBRA toolbox. Nat. Protocols,
2(3) :727–738, March 2007.
[BNLC13] B. Billoud, Z. Nehr, A. Le Bail, and B. Charrier. Computational prediction
and experimental validation of microRNAs in the brown alga Ectocarpus
siliculosus. Nucleic Acids Research, pages gkt856–, September 2013.
105106 Bibliographie
[BPM03] Anthony P. Burgard, Priti Pharkya, and Costas D. Maranas. Optknock :
A bilevel programming framework for identifying gene knockout strategies
for microbial strain optimization. Biotechnology and Bioengineering,
84(6) :647–657, 2003.
[BS05] S. A. Benner and A. M. Sismour. Synthetic biology. Nat. Rev. Genet.,
6(7) :533–543, Jul 2005.
[BVM01] Anthony P. Burgard, Shankar Vaidyaraman, and Costas D. Maranas. Minimal
reaction sets for escherichia coli metabolism under different growth requirements
and uptake environments. Biotechnology Progress, 17(5) :791–
797, 2001.
[CAB+14] Ron Caspi, Tomer Altman, Richard Billington, Kate Dreher, Hartmut Foerster,
Carol A. Fulcher, Timothy A. Holland, Ingrid M. Keseler, Anamika Kothari,
Aya Kubo, Markus Krummenacker, Mario Latendresse, Lukas A. Mueller,
Quang Ong, Suzanne Paley, Pallavi Subhraveti, Daniel S. Weaver, Deepika
Weerasinghe, Peifen Zhang, and Peter D. Karp. The metacyc database
of metabolic pathways and enzymes and the biocyc collection of pathway/-
genome databases. Nucleic Acids Research, 42(D1) :D459–D471, 2014.
[CB79] A. Cornish-Bowden. Fundamentals of enzyme kinetics. Butterworths,
1979.
[CEG+13] Guillaume Collet, Damien Eveillard, Martin Gebser, Sylvain Prigent, Torsten
Schaub, Anne Siegel, and Sven Thiele. Extending the metabolic network of
Ectocarpus Siliculosus using answer set programming. In Pedro Cabalar
and TranCao Son, editors, Logic Programming and Nonmonotonic Reasoning,
volume 8148 of Lecture Notes in Computer Science, pages 245–256.
Springer Berlin Heidelberg, 2013.
[CGA+11] S. M. Coelho, O. Godfroy, A. Arun, G. Le Corguille, A. F. Peters, and J. M. Cock.
OUROBOROS is a master regulator of the gametophyte to sporophyte life
cycle transition in the brown alga ectocarpus. Proceedings of the National
Academy of Sciences, 108(28) :11518–11523, June 2011.
[CGM+11] Roger L Chang, Lila Ghamsari, Ani Manichaikul, Erik F Y Hom, Santhanam
Balaji, Weiqi Fu, Yun Shen, Tong Hao, Bernhard ØPalsson, Kourosh SalehiAshtiani,
and Jason A Papin. Metabolic network reconstruction of Chlamydomonas
offers insight into light-driven algal metabolism. Molecular
Systems Biology, 7 :518, January 2011.
[CKS01] Nadia Creignou, Sanjeev Khanna, and Madhu Sudan. Complexity classifi-
cations of boolean constraint satisfaction problems. SIAM, 2001.
[CMA+08] Ludovic Cottret, Paulo Vieira Milreu, Vicente Acuña, Alberto MarchettiSpaccamela,
Fábio Viduani Martinez, Marie-France Sagot, and Leen Stougie.
Enumerating precursor sets of target metabolites in a metabolic network.
In Algorithms in Bioinformatics, pages 233–244. Springer, 2008.
[CMK+09] Nils Christian, Patrick May, Stefan Kempa, Thomas Handorf, and Oliver
Ebenhöh. An integrative approach towards completing genome-scale metabolic
networks. Molecular bioSystems, 5(12) :1889–903, December 2009.Bibliographie 107
[CPC11] J. Mark Cock, Akira F. Peters, and Susana M. Coelho. Brown algae. Current
Biology, 21(15) :R573 – R575, 2011.
[CSH+12] Leonid Chindelevitch, Sarah Stanley, Deborah Hung, Aviv Regev, and Bonnie
Berger. Metamerge : scaling up genome-scale metabolic reconstructions
with application to mycobacterium tuberculosis. Genome Biology,
13(1) :r6, 2012.
[CSR+10] J. Mark Cock, Lieven Sterck, Pierre Rouzé, Delphine Scornet, Andrew E. Allen,
Grigoris Amoutzias, Veronique Anthouard, François Artiguenave, JeanMarc
Aury, Jonathan H. Badger, Bank Beszteri, Kenny Billiau, Eric Bonnet,
John H. Bothwell, Chris Bowler, Catherine Boyen, Colin Brownlee, Carl J.
Carrano, Bénédicte Charrier, Ga Youn Cho, Susana M. Coelho, Jonas Collén,
Erwan Corre, Corinne Da Silva, Ludovic Delage, Nicolas Delaroque,
Simon M. Dittami, Sylvie Doulbeau, Marek Elias, Garry Farnham, Claire
M. M. Gachon, Bernhard Gschloessl, Svenja Heesch, Kamel Jabbari, Claire
Jubin, Hiroshi Kawai, Kei Kimura, Bernard Kloareg, Frithjof C. Küpper, Daniel
Lang, Aude Le Bail, Catherine Leblanc, Patrice Lerouge, Martin Lohr,
Pascal J. Lopez, Cindy Martens, Florian Maumus, Gurvan Michel, Diego
Miranda-Saavedra, Julia Morales, Hervé Moreau, Taizo Motomura, Chikako
Nagasato, Carolyn A. Napoli, David R. Nelson, Pi Nyvall-Collén, Akira F. Peters,
Cyril Pommier, Philippe Potin, Julie Poulain, Hadi Quesneville, Betsy
Read, Stefan A. Rensing, Andrés Ritter, Sylvie Rousvoal, Manoj Samanta,
Gaelle Samson, Declan C. Schroeder, Béatrice Ségurens, Martina Strittmatter,
Thierry Tonon, James W. Tregear, Klaus Valentin, Peter von Dassow, Takahiro
Yamagishi, Yves Van de Peer, and Patrick Wincker. The Ectocarpus
genome and the independent evolution of multicellularity in brown algae.
Nature, 465(7298) :617–21, June 2010.
[DCS+13] Guangyou Duan, Nils Christian, Jens Schwachtje, Dirk Walther, and Oliver
Ebenhöh. The metabolic interplay between plants and phytopathogens.
Metabolites, 3(1) :1–23, January 2013.
[DdME+08] Kirill Degtyarenko, Paula de Matos, Marcus Ennis, Janna Hastings, Martin
Zbinden, Alan McNaught, Rafael Alcántara, Michael Darsow, Mickaël
Guedj, and Michael Ashburner. Chebi : a database and ontology for chemical
entities of biological interest. Nucleic Acids Research, 36(suppl
1) :D344–D350, 2008.
[DET14] Simon M. Dittami, Damien Eveillard, and Thierry Tonon. A metabolic approach
to study algal–bacterial interactions in changing environments. Molecular
Ecology, 23(7) :1656–1660, 2014.
[dFSKF09] Luis F. de Figueiredo, Stefan Schuster, Christoph Kaleta, and David A. Fell.
Can sugars be produced from fatty acids ? a test case for pathway analysis
tools. Bioinformatics, 25(1) :152–158, 2009.
[DGB+08] A Dereeper, V Guignon, G Blanc, S Audic, S Buffet, F Chevenet, J-F Dufayard,
S Guindon, V Lefort, M Lescot, J-M Claverie, and O Gascuel. Phylogeny.fr
: robust phylogenetic analysis for the non-specialist. Nucleic Acids
Research, 36(Web Server issue) :W465–9, 2008.108 Bibliographie
[DGG+12] Simon M. Dittami, Antoine Gravot, Sophie Goulitquer, Sylvie Rousvoal,
Akira F. Peters, Alain Bouchereau, Catherine Boyen, and Thierry Tonon. Towards
deciphering dynamic changes and evolutionary mechanisms involved
in the adaptation to low salinities in ectocarpus (brown algae). The
Plant Journal, 71(3) :366–377, June 2012.
[DGR+11] Simon M. Dittami, Antoine Gravot, David Renault, Sophie Goulitquer, Anja
Eggert, Alain Bouchereau, Catherine Boyen, and Thierry Tonon. Integrative
analysis of metabolite and transcript abundance during the short-term
response to saline and oxidative stress in the brown alga Ectocarpus siliculosus.
Plant, cell & environment, 34(4) :629–642, April 2011.
[DL05] Eric Davidson and Michael Levin. Gene regulatory networks. Proceedings
of the National Academy of Sciences of the United States of America,
102(14) :4935, 2005.
[dODN13] Cristiana Gomes de Oliveira Dal’Molin and Lars Keld Nielsen. Plant
genome-scale metabolic reconstruction and modelling. Current Opinion
in Biotechnology, 24(2) :271 – 277, 2013. Food biotechnology • Plant biotechnology.
[dODQP+09] C. G. de Oliveira Dal’Molin, L.-E. Quek, R. W. Palfreyman, S. M. Brumbley,
and L. K. Nielsen. AraGEM, a genome-scale reconstruction of the primary
metabolic network in arabidopsis. PLANT PHYSIOLOGY, 152(2) :579–
589, December 2009.
[DPR+11] Simon M. Dittami, Caroline Proux, Sylvie Rousvoal, Akira F Peters, J Mark
Cock, Jean-Yves Coppee, Catherine Boyen, and Thierry Tonon. Microarray
estimation of genomic inter-strain variability in the genus Ectocarpus
(Phaeophyceae). BMC Molecular Biology, 12(1) :2, January 2011.
[dQP+10a] Cristiana Gomes de Oliveira Dal’Molin, Lake-Ee Quek, Robin William Palfreyman,
Stevens Michael Brumbley, and Lars Keld Nielsen. AraGEM, a
genome-scale reconstruction of the primary metabolic network in Arabidopsis.
Plant physiology, 152(2) :579–89, February 2010.
[dQP+10b] Cristiana Gomes de Oliveira Dal’Molin, Lake-Ee Quek, Robin William Palfreyman,
Stevens Michael Brumbley, and Lars Keld Nielsen. AraGEM, a
genome-scale reconstruction of the primary metabolic network in Arabidopsis.
Plant physiology, 152(2) :579–89, February 2010.
[DSP+09] Simon M Dittami, Delphine Scornet, Jean-Louis Petit, Béatrice Ségurens,
Corinne Da Silva, Erwan Corre, Michael Dondrup, Karl-Heinz Glatting, Rainer
König, Lieven Sterck, Pierre Rouzé, Yves Van de Peer, J Mark Cock, Catherine
Boyen, and Thierry Tonon. Global expression analysis of the brown
alga ectocarpus siliculosus (phaeophyceae) reveals large-scale reprogramming
of the transcriptome in response to abiotic stress. Genome Biology,
10(6) :R66, 2009.
[EIP01] J. S. Edwards, R. U. Ibarra, and B. O. Palsson. In silico predictions of escherichia
coli metabolic capabilities are consistent with experimental data. Nat.
Biotechnol., 19(2) :125–130, February 2001.Bibliographie 109
[ELPH13] Ali Ebrahim, Joshua Lerman, Bernhard Palsson, and Daniel Hyduke. COBRApy
: COnstraints-Based reconstruction and analysis for python. BMC
Systems Biology, 7(1) :74, 2013.
[ENFB+14] Maria Enquist-Newman, Ann Marie E. Faust, Daniel D. Bravo, Christine Nicole
S. Santos, Ryan M. Raisner, Arthur Hanel, Preethi Sarvabhowman, Chi
Le, Drew D. Regitsky, Susan R. Cooper, Lars Peereboom, Alana Clark, Yessica
Martinez, Joshua Goldsmith, Min Y. Cho, Paul D. Donohoue, Lily Luo, Brigit
Lamberson, Pramila Tamrakar, Edward J. Kim, Jeffrey L. Villari, Avinash
Gill, Shital A. Tripathi, Padma Karamchedu, Carlos J. Paredes, Vineet Rajgarhia,
Hans Kristian Kotlar, Richard B. Bailey, Dennis J. Miller, Nicholas L.
Ohler, Candace Swimmer, and Yasuo Yoshikuni. Efficient ethanol production
from brown macroalgae sugars by a synthetic yeast platform. Nature,
505(7482) :239–243, January 2014.
[EP00] J. S. Edwards and B. O. Palsson. The escherichia coli mg1655 in silico metabolic
genotype : Its definition, characteristics, and capabilities. Proceedings
of the National Academy of Sciences, 97(10) :5528–5533, 2000.
[FBC+14] Robert D. Finn, Alex Bateman, Jody Clements, Penelope Coggill, Ruth Y.
Eberhardt, Sean R. Eddy, Andreas Heger, Kirstie Hetherington, Liisa Holm,
Jaina Mistry, Erik L. L. Sonnhammer, John Tate, and Marco Punta. Pfam :
the protein families database. Nucleic Acids Research, 42(D1) :D222–D230,
2014.
[Fin98] Gerald R Fink. Anatomy of a revolution. Genetics, 149(2) :473–477, 1998.
[FMC+14] Michele Fabris, Michiel Matthijs, Sophie Carbonelle, Tessa Moses, Jacob
Pollier, Renaat Dasseville, Gino J. E. Baart, Wim Vyverman, and Alain Goossens.
Tracking the sterol biosynthesis pathway of the diatom phaeodactylum
tricornutum. New Phytologist, pages n/a–n/a, 2014.
[FMP03] Stephen S. Fong, Jennifer Y. Marciniak, and Bernhard Ø. Palsson. Description
and interpretation of adaptive evolution of escherichia coli k-12
mg1655 by using a genome-scale in silico metabolic model. Journal of
Bacteriology, 185(21) :6400–6408, 2003.
[FMR+12] Michele Fabris, Michiel Matthijs, Stephane Rombauts, Wim Vyverman,
Alain Goossens, and Gino J.E. Baart. The metabolic blueprint of phaeodactylum
tricornutum reveals a eukaryotic entner-doudoroff glycolytic pathway.
The Plant Journal, 70(6) :1004–1014, June 2012.
[FS86] David A Fell and J Rankin Small. Fat synthesis in adipose tissue. an examination
of stoichiometric constraints. Biochem. J, 238 :781–786, 1986.
[GdODQPN11] Cristiana Gomes de Oliveira Dal’Molin, Lake-Ee Quek, Robin Palfreyman,
and Lars Nielsen. Algagem - a genome-scale metabolic reconstruction of
algae based on the chlamydomonas reinhardtii genome. BMC Genomics,
12(Suppl 4) :S5, 2011.
[GDR+10] Antoine Gravot, Simon M. Dittami, Sylvie Rousvoal, Raphael Lugan, Anja
Eggert, Jonas Collén, Catherine Boyen, Alain Bouchereau, and Thierry Tonon.
Diurnal oscillations of metabolite abundances and gene analysis provide
new insights into central metabolic processes of the brown alga Ectocarpus
siliculosus. New Phytologist, 188(1) :98–110, October 2010.110 Bibliographie
[GGC08] Bernhard Gschloessl, Yann Guermeur, and J Mark Cock. Hectar : A method
to predict subcellular targeting in heterokonts. BMC Bioinformatics,
9(1) :393, 2008.
[GGJ+10] Matthieu Graindorge, Cécile Giustini, Anne Claire Jacomin, Alexandra
Kraut, Gilles Curien, and Michel Matringe. Identification of a plant gene
encoding glutamate/aspartate-prephenate aminotransferase : The last homeless
enzyme of aromatic amino acids biosynthesis. {FEBS} Letters,
584(20) :4357 – 4360, 2010.
[GKD+07] M H Graham, B P Kinlan, L D Druehl, L E Garske, and S Banks. Deep-water
kelp refugia as potential hotspots of tropical marine diversity and productivity.
Proceedings of the National Academy of Sciences of the United
States of America, 104(42) :16576–16580, 2007.
[GKK+11] M. Gebser, R. Kaminski, B. Kaufmann, M. Ostrowski, T. Schaub, and
M. Schneider. Potassco : The Potsdam answer set solving collection.
24(2) :107–124, 2011.
[GKKS12] Martin Gebser, Roland Kaminski, Benjamin Kaufmann, and Torsten
Schaub. Answer set solving in practice. Synthesis Lectures on Artificial
Intelligence and Machine Learning, 6(3) :1–238, 2012.
[GKS12] M. Gebser, B. Kaufmann, and T. Schaub. Conflict-driven answer set solving :
From theory to practice. Artificial Intelligence, 187-188 :52–89, 2012.
[GSM+14] Agnès Groisillier, Zhanru Shao, Gurvan Michel, Sophie Goulitquer, Patricia
Bonin, Stefan Krahulec, Bernd Nidetzky, Delin Duan, Catherine Boyen, and
Thierry Tonon. Mannitol metabolism in brown algae involves a new phosphatase
family. Journal of Experimental Botany, 65(2) :559–570, 2014.
[GT10] Steinn Gudmundsson and Ines Thiele. Computationally efficient flux variability
analysis. BMC Bioinformatics, 11(1) :489, 2010.
[HCP+10] Svenja Heesch, Ga Youn Cho, Akira F Peters, Gildas Le Corguillé, Cyril Falentin,
Gilles Boutet, Solène Coëdel, Claire Jubin, Gaelle Samson, Erwan Corre,
Susana M Coelho, and J Mark Cock. A sequence-tagged genetic map for
the brown alga Ectocarpus siliculosus provides large-scale assembly of the
genome sequence. The New phytologist, 188(1) :42–51, April 2010.
[HDB+10] Christopher S Henry, Matthew DeJongh, Aaron A Best, Paul M Frybarger,
Ben Linsay, and Rick L Stevens. High-throughput generation, optimization
and analysis of genome-scale metabolic models. Nature Biotechnology,
28(9) :977–982, August 2010.
[HE07] Thomas Handorf and Oliver Ebenhöh. Metapath online : a web server implementation
of the network expansion algorithm. Nucleic Acids Research,
35(suppl 2) :W613–W618, 2007.
[HJFP06] Qiang Hua, Andrew R. Joyce, Stephen S. Fong, and Bernhard Ø. Palsson.
Metabolic analysis of adaptive evolution for in silico-designed lactateproducing
strains. Biotechnology and Bioengineering, 95(5) :992–1002,
2006.Bibliographie 111
[HR14] Joshua J. Hamilton and Jennifer L. Reed. Software platforms to facilitate
reconstructing genome-scale metabolic networks. Environmental Microbiology,
16(1) :49–59, 2014.
[IEP02] Rafael U. Ibarra, Jeremy S. Edwards, and Bernhard O. Palsson. Escherichia
coli k-12 undergoes adaptive evolution to achieve in silico predicted optimal
growth. Nature, 420(6912) :186–189, November 2002.
[JBBG08] Fabien Jourdan, Rainer Breitling, Michael P. Barrett, and David Gilbert. Metanetter
: inference and visualization of high-resolution metabolomic networks.
Bioinformatics, 24(1) :143–145, 2008.
[JLI00] J. D. Jordan, E. M. Landau, and R. Iyengar. Signaling networks : the origins
of cellular multitasking. Cell, 103(2) :193–200, Oct 2000.
[JM61] F. Jacob and J. Monod. Genetic regulatory mechanisms in the synthesis of
proteins. J. Mol. Biol., 3 :318–356, Jun 1961.
[JTA+00] H. Jeong, B. Tombor, R. Albert, Z. N. Oltvai, and A. L. Barabasi. The largescale
organization of metabolic networks. Nature, 407(6804) :651–654, Oct
2000.
[KCVGC+05] Ingrid M. Keseler, Julio Collado-Vides, Socorro Gama-Castro, John Ingraham,
Suzanne Paley, Ian T. Paulsen, Martín Peralta-Gil, and Peter D. Karp.
Ecocyc : a comprehensive database resource for escherichia coli. Nucleic
Acids Research, 33(suppl 1) :D334–D337, 2005.
[Kee04] Patrick J. Keeling. Diversity and evolutionary history of plastids and their
hosts. American Journal of Botany, 91(10) :1481–1493, 2004.
[KGS+14] Minoru Kanehisa, Susumu Goto, Yoko Sato, Masayuki Kawashima, Miho
Furumichi, and Mao Tanabe. Data, information, knowledge and principle :
back to metabolism in kegg. Nucleic Acids Research, 42(D1) :D199–D205,
2014.
[Kit01] Hiroaki Kitano, editor. Foundations of systems biology. MIT Press, Cambridge
(Mass.), London, 2001.
[KPK+10] Peter D Karp, Suzanne M Paley, Markus Krummenacker, Mario Latendresse,
Joseph M Dale, Thomas J Lee, Pallavi Kaipa, Fred Gilham, Aaron Spaulding,
Liviu Popescu, Tomer Altman, Ian Paulsen, Ingrid M Keseler, and Ron Caspi.
Pathway Tools version 13.0 : integrated software for pathway/genome informatics
and systems biology. Briefings in Bioinformatics, 11(1) :40–79,
January 2010.
[KPR02] Peter D Karp, Suzanne Paley, and Pedro Romero. The Pathway Tools software.
Bioinformatics, 18 Suppl 1 :S225–32, January 2002.
[KYW+11] Elias W. Krumholz, Hong Yang, Pamela Weisenhorn, Christopher S. Henry,
and Igor G. L. Libourel. Genome-wide metabolic network reconstruction of
the picoalga ostreococcus. Journal of Experimental Botany, 2011.
[KYW+12] Elias W Krumholz, Hong Yang, Pamela Weisenhorn, Christopher S Henry,
and Igor G L Libourel. Genome-wide metabolic network reconstruction of
the picoalga Ostreococcus. Journal of Experimental Botany, 63(6) :2353–
62, March 2012.112 Bibliographie
[LAF+98] Paul Liberator, Jennifer Anderson, Marc Feiglin, Mohinder Sardana, Patrick
Griffin, Dennis Schmatz, and Robert W. Myers. Molecular cloning and functional
expression of mannitol-1-phosphatase from the apicomplexan parasite
eimeria tenella. Journal of Biological Chemistry, 273(7) :4237–4244,
1998.
[LBBLP+11] A. Le Bail, B. Billoud, S. Le Panse, S. Chenivesse, and B. Charrier. ETOILE
regulates developmental patterning in the filamentous brown alga ectocarpus
siliculosus. The Plant Cell, 23(4) :1666–1678, April 2011.
[LBG+12] Abdelhalim Larhlimi, Georg Basler, Sergio Grimbs, Joachim Selbig, and Zoran
Nikoloski. Stoichiometric capacitance reveals the theoretical capabilities
of metabolic networks. Bioinformatics, 28(18) :i502–i508, 2012.
[LDNS12] Nicolas Loira, Thierry Dulermo, Jean-Marc Nicaud, and David Sherman. A
genome-scale metabolic model of the lipid-accumulating yeast yarrowia lipolytica.
BMC Systems Biology, 6(1) :35, 2012.
[LKTK12] M. Latendresse, M. Krummenacker, M. Trupp, and P. D. Karp. Construction
and completion of flux balance models from pathway databases. Bioinformatics,
28(3) :388–396, Feb 2012.
[LLB+01] E. S. Lander, L. M. Linton, B. Birren, C. Nusbaum, M. C. Zody, J. Baldwin,
K. Devon, K. Dewar, M. Doyle, W. FitzHugh, R. Funke, D. Gage, K. Harris,
A. Heaford, J. Howland, L. Kann, J. Lehoczky, R. LeVine, P. McEwan,
K. McKernan, J. Meldrim, J. P. Mesirov, C. Miranda, W. Morris, J. Naylor,
C. Raymond, M. Rosetti, R. Santos, A. Sheridan, C. Sougnez, N. StangeThomann,
N. Stojanovic, A. Subramanian, D. Wyman, J. Rogers, J. Sulston,
R. Ainscough, S. Beck, D. Bentley, J. Burton, C. Clee, N. Carter, A. Coulson,
R. Deadman, P. Deloukas, A. Dunham, I. Dunham, R. Durbin, L. French,
D. Grafham, S. Gregory, T. Hubbard, S. Humphray, A. Hunt, M. Jones,
C. Lloyd, A. McMurray, L. Matthews, S. Mercer, S. Milne, J. C. Mullikin,
A. Mungall, R. Plumb, M. Ross, R. Shownkeen, S. Sims, R. H. Waterston, R. K.
Wilson, L. W. Hillier, J. D. McPherson, M. A. Marra, E. R. Mardis, L. A. Fulton,
A. T. Chinwalla, K. H. Pepin, W. R. Gish, S. L. Chissoe, M. C. Wendl, K. D. Delehaunty,
T. L. Miner, A. Delehaunty, J. B. Kramer, L. L. Cook, R. S. Fulton,
D. L. Johnson, P. J. Minx, S. W. Clifton, T. Hawkins, E. Branscomb, P. Predki,
P. Richardson, S. Wenning, T. Slezak, N. Doggett, J. F. Cheng, A. Olsen, S. Lucas,
C. Elkin, E. Uberbacher, M. Frazier, R. A. Gibbs, D. M. Muzny, S. E. Scherer,
J. B. Bouck, E. J. Sodergren, K. C. Worley, C. M. Rives, J. H. Gorrell, M. L.
Metzker, S. L. Naylor, R. S. Kucherlapati, D. L. Nelson, G. M. Weinstock,
Y. Sakaki, A. Fujiyama, M. Hattori, T. Yada, A. Toyoda, T. Itoh, C. Kawagoe,
H. Watanabe, Y. Totoki, T. Taylor, J. Weissenbach, R. Heilig, W. Saurin, F. Artiguenave,
P. Brottier, T. Bruls, E. Pelletier, C. Robert, P. Wincker, D. R. Smith,
L. Doucette-Stamm, M. Rubenfield, K. Weinstock, H. M. Lee, J. Dubois,
A. Rosenthal, M. Platzer, G. Nyakatura, S. Taudien, A. Rump, H. Yang, J. Yu,
J. Wang, G. Huang, J. Gu, L. Hood, L. Rowen, A. Madan, S. Qin, R. W. Davis,
N. A. Federspiel, A. P. Abola, M. J. Proctor, R. M. Myers, J. Schmutz, M. Dickson,
J. Grimwood, D. R. Cox, M. V. Olson, R. Kaul, C. Raymond, N. Shimizu,
K. Kawasaki, S. Minoshima, G. A. Evans, M. Athanasiou, R. Schultz, B. A.Bibliographie 113
Roe, F. Chen, H. Pan, J. Ramser, H. Lehrach, R. Reinhardt, W. R. McCombie,
M. de la Bastide, N. Dedhia, H. Blocker, K. Hornischer, G. Nordsiek, R. Agarwala,
L. Aravind, J. A. Bailey, A. Bateman, S. Batzoglou, E. Birney, P. Bork,
D. G. Brown, C. B. Burge, L. Cerutti, H. C. Chen, D. Church, M. Clamp, R. R.
Copley, T. Doerks, S. R. Eddy, E. E. Eichler, T. S. Furey, J. Galagan, J. G. Gilbert,
C. Harmon, Y. Hayashizaki, D. Haussler, H. Hermjakob, K. Hokamp, W. Jang,
L. S. Johnson, T. A. Jones, S. Kasif, A. Kaspryzk, S. Kennedy, W. J. Kent, P. Kitts,
E. V. Koonin, I. Korf, D. Kulp, D. Lancet, T. M. Lowe, A. McLysaght, T. Mikkelsen,
J. V. Moran, N. Mulder, V. J. Pollara, C. P. Ponting, G. Schuler, J. Schultz,
G. Slater, A. F. Smit, E. Stupka, J. Szustakowski, D. Thierry-Mieg, J. ThierryMieg,
L. Wagner, J. Wallis, R. Wheeler, A. Williams, Y. I. Wolf, K. H. Wolfe, S. P.
Yang, R. F. Yeh, F. Collins, M. S. Guyer, J. Peterson, A. Felsenfeld, K. A. Wetterstrand,
A. Patrinos, M. J. Morgan, P. de Jong, J. J. Catanese, K. Osoegawa,
H. Shizuya, S. Choi, Y. J. Chen, and J. Szustakowki. Initial sequencing and
analysis of the human genome. Nature, 409(6822) :860–921, Feb 2001.
[LLK05] Sang Yup Lee, Dong-Yup Lee, and Tae Yong Kim. Systems biotechnology for
strain improvement. Trends in Biotechnology, 23(7) :349 – 358, 2005.
[LSR03] Li Li, Christian J. Stoeckert, and David S. Roos. Orthomcl : Identification of
ortholog groups for eukaryotic genomes. Genome Research, 13(9) :2178–
2189, 2003.
[MB13] Arne C. Müller and Alexander Bockmayr. Fast thermodynamically constrained
flux variability analysis. Bioinformatics, 29(7) :903–909, 2013.
[MCDL+13] Laurence Meslet-Cladière, Ludovic Delage, Cédric J-J Leroux, Sophie Goulitquer,
Catherine Leblanc, Emeline Creis, Erwan Ar Gall, Valérie StigerPouvreau,
Mirjam Czjzek, and Philippe Potin. Structure/Function analysis
of a type iii polyketide synthase in the brown alga Ectocarpus siliculosus reveals
a biochemical pathway in phlorotannin monomer biosynthesis. The
Plant cell, 25(8) :3089–103, August 2013.
[MCR+11] Daniel Machado, Rafael Costa, Miguel Rocha, Eugenio Ferreira, Bruce Tidor,
and Isabel Rocha. Modeling formalisms in systems biology. AMB Express,
1(1) :45, 2011.
[MER+11] Caroline Milne, James Eddy, Ravali Raju, Soroush Ardekani, Pan-Jun Kim,
Ryan Senger, Yong-Su Jin, Hans Blaschek, and Nathan Price. Metabolic network
reconstruction and genome-scale model of butanol-producing strain
clostridium beijerinckii ncimb 8052. BMC Systems Biology, 5(1) :130, 2011.
[MGH+09] Ani Manichaikul, Lila Ghamsari, Erik F Y Hom, Chenwei Lin, Ryan R Murray,
Roger L Chang, S Balaji, Tong Hao, Yun Shen, Arvind K Chavali, Ines
Thiele, Xinping Yang, Changyu Fan, Elizabeth Mello, David E Hill, Marc Vidal,
Kourosh Salehi-Ashtiani, and Jason A Papin. Metabolic network analysis
integrated with transcript verification for sequenced genomes. Nat
Meth, 6(8) :589–592, August 2009.
[MNP14] Jonathan Monk, Juan Nogales, and Bernhard O Palsson. Optimizing
genome-scale network reconstructions. Nature biotechnology, 32(5) :447–
452, 2014.114 Bibliographie
[MOMM+12] Shira Mintz-Oron, Sagit Meir, Sergey Malitsky, Eytan Ruppin, Asaph Aharoni,
and Tomer Shlomi. Reconstruction of arabidopsis metabolic network
models accounting for subcellular compartmentalization and tissuespecificity.
Proceedings of the National Academy of Sciences, 109(1) :339–
344, 2012.
[MTS+10a] Gurvan Michel, Thierry Tonon, Delphine Scornet, J Mark Cock, and Bernard
Kloareg. Central and storage carbon metabolism of the brown alga Ectocarpus
siliculosus : insights into the origin and evolution of storage carbohydrates
in Eukaryotes. New Phytologist, 188(1) :67–81, October 2010.
[MTS+10b] Gurvan Michel, Thierry Tonon, Delphine Scornet, J Mark Cock, and Bernard
Kloareg. The cell wall polysaccharide metabolism of the brown alga Ectocarpus
siliculosus. Insights into the evolution of extracellular matrix polysaccharides
in Eukaryotes. The New phytologist, 188(1) :82–97, October
2010.
[MWK+08] Patrick May, Stefanie Wienkoop, Stefan Kempa, Björn Usadel, Nils Christian,
Jens Rupprecht, Julia Weiss, Luis Recuenco-Munoz, Oliver Ebenhöh,
Wolfram Weckwerth, and Dirk Walther. Metabolomics- and proteomicsassisted
genome annotation and analysis of the draft metabolic network of
chlamydomonas reinhardtii. Genetics, 179(1) :157–166, 2008.
[MYD11] Hiroshi Maeda, Heejin Yoo, and Natalia Dudareva. Prephenate aminotransferase
directs plant phenylalanine biosynthesis via arogenate. Nature chemical
biology, 7(1) :19–21, 2011.
[MZR03] Lukas A. Mueller, Peifen Zhang, and Seung Y. Rhee. Aracyc : A biochemical
pathway database for arabidopsis. Plant Physiology, 132(2) :453–460, 2003.
[NGMS08] Zoran Nikoloski, Sergio Grimbs, Patrick May, and Joachim Selbig. Metabolic
networks are np-hard to reconstruct. Journal of Theoretical Biology,
254(4) :807 – 816, 2008.
[NL13] David J Sherman Nicolas Loira, Anna Zhukova. Pantograph : A scaffoldbased
method for genome-scale metabolic model reconstruction. To appear,
unknown, 2013.
[Pal02] B. Palsson. In silico biology through "omics". Nat. Biotechnol., 20(7) :649–
650, Jul 2002.
[PBM03] Priti Pharkya, Anthony P. Burgard, and Costas D. Maranas. Exploring the
overproduction of amino acids using the bilevel optimization framework
optknock. Biotechnology and Bioengineering, 84(7) :887–899, 2003.
[PBM04] Priti Pharkya, Anthony P. Burgard, and Costas D. Maranas. Optstrain : A
computational framework for redesign of microbial production systems.
Genome Research, 14(11) :2367–2376, 2004.
[PCD+14] Sylvain Prigent, Guillaume Collet, Simon M. Dittami, Ludovic Delage, Floriane
Ethis de Corny, Olivier Dameron, Damien Eveillard, Sven Thiele,
Jeanne Cambefort, Catherine Boyen, Anne Siegel, and Thierry Tonon. The
genome-scale metabolic network of ectocarpus siliculosus (ectogem) : a resource
to study brown algal physiology and beyond. The Plant Journal,
pages n/a–n/a, 2014.Bibliographie 115
[PMSF09] Mark G Poolman, Laurent Miguet, Lee J Sweetlove, and David A Fell. A
genome-scale metabolic model of Arabidopsis and some of its properties.
Plant physiology, 151(3) :1570–81, November 2009.
[PRP+03] Nathan D. Price, Jennifer L. Reed, Jason A. Papin, Sharon J. Wiback, and
Bernhard O. Palsson. Network-based analysis of metabolic regulation in
the human red blood cell. Journal of Theoretical Biology, 225(2) :185 –
194, 2003.
[PRP04] Nathan D Price, Jennifer L Reed, and Bernhard Ø Palsson. Genome-scale
models of microbial cells : evaluating the consequences of constraints. Nature
Reviews Microbiology, 2(11) :886–897, 2004.
[PVC+10] Akira F. Peters, Serinde J. Van Wijk, Ga Youn Cho, Delphine Scornet, Takeaki
Hanyuda, Hiroshi Kawai, Declan C. Schroeder, J. Mark Cock, and Sung Min
Boo. Reinstatement of Ectocarpus crouaniorum Thuret in Le Jolis as a
third common species of Ectocarpus (Ectocarpales, Phaeophyceae) in Western
Europe, and its phenology at Roscoff, Brittany. Phycological Research,
58(3) :157–170, May 2010.
[PVPF04] M.G. Poolman, K.V. Venkatesh, M.K. Pidcock, and D.A. Fell. A method for
the determination of flux in elementary modes, and its application to lactobacillus
rhamnosus. Biotechnology and Bioengineering, 88(5) :601–612,
2004.
[PW09] P. E. Purnick and R. Weiss. The second wave of synthetic biology : from
modules to systems. Nat. Rev. Mol. Cell Biol., 10(6) :410–422, Jun 2009.
[QYQ+07] Weiqiang Qian, Chunmei Yu, Huanju Qin, Xin Liu, Aimin Zhang, Ida Elisabeth
Johansen, and Daowen Wang. Molecular and functional analysis of
phosphomannomutase (pmm) from higher plants and genetic evidence for
the involvement of pmm in ascorbic acid biosynthesis in arabidopsis and
nicotiana benthamiana. The Plant Journal, 49(3) :399–413, 2007.
[RC09] Karthik Raman and Nagasuma Chandra. Flux balance analysis of biological
systems : applications and challenges. Briefings in Bioinformatics,
10(4) :435–449, 2009.
[RDG+14] Andres Ritter, Simon Dittami, Sophie Goulitquer, Juan Correa, Catherine
Boyen, Philippe Potin, and Thierry Tonon. Transcriptomic and metabolomic
analysis of copper stress acclimation in ectocarpus siliculosus highlights
signaling and tolerance mechanisms in brown algae. BMC Plant
Biology, 14(1) :116, 2014.
[RGD+11] S. Rousvoal, A. Groisillier, S. M. Dittami, G. Michel, C. Boyen, and T. Tonon.
Mannitol-1-phosphate dehydrogenase activity in Ectocarpus siliculosus, a
key role for mannitol synthesis in brown algae. Planta, 233(2) :261–273, Feb
2011.
[RK01] P. R. Romero and P. Karp. Nutrient-related analysis of pathway/genome databases.
Pac Symp Biocomput, pages 471–482, 2001.
[RPC+06] Jennifer L. Reed, Trina R. Patel, Keri H. Chen, Andrew R. Joyce, Margaret K.
Applebee, Christopher D. Herring, Olivia T. Bui, Eric M. Knight, Stephen S.116 Bibliographie
Fong, and Bernhard O. Palsson. Systems approach to refining genome annotation.
Proc Natl Acad Sci U S A, 103(46) :17480–17484, November
2006. PMID : 17088549 PMCID : PMC1859954.
[RPG+09] P. Rippert, J. Puyaubert, D. Grisollet, L. Derrier, and M. Matringe. Tyrosine
and phenylalanine are synthesized within the plastids in Arabidopsis. Plant
Physiol., 149(3) :1251–1260, Mar 2009.
[RSS01] Maido Remm, Christian E.V. Storm, and Erik L.L. Sonnhammer. Automatic
clustering of orthologs and in-paralogs from pairwise species comparisons.
Journal of Molecular Biology, 314(5) :1041 – 1052, 2001.
[RUR+10] Andrés Ritter, Martin Ubertini, Sarah Romac, Fanny Gaillard, Ludovic Delage,
Aaron Mann, J Mark Cock, Thierry Tonon, Juan A Correa, and Philippe
Potin. Copper stress proteomics highlights local adaptation of two strains of
the model brown alga Ectocarpus siliculosus. Proteomics, 10(11) :2074–88,
June 2010.
[RVSP03] Jennifer L Reed, Thuy D Vo, Christophe H Schilling, and Bernhard O Palsson.
An expanded genome-scale model of escherichia coli k-12 (iJR904
GSM/GPR). Genome Biol, 4(9) :R54, 2003. PMID : 12952533 PMCID :
PMC193654.
[SDF99] S. Schuster, T. Dandekar, and D. A. Fell. Detection of elementary flux modes
in biochemical networks : a promising tool for pathway analysis and metabolic
engineering. Trends Biotechnol., 17(2) :53–60, Feb 1999.
[SHH12] Samuel M. D. Seaver, Christopher S. Henry, and Andrew D. Hanson. Frontiers
in metabolic reconstruction and modeling of plant genomes. Journal
of Experimental Botany, 63(6) :2247–2258, 2012.
[SKDM07] Vinay Satish Kumar, Madhukar S Dasika, and Costas D Maranas. Optimization
based automated curation of metabolic reconstructions. BMC Bioinformatics,
8 :212, 2007.
[SM06] Günter Schwarz and Ralf R. Mendel. Molybdenum cofactor biosynthesis
and molybdenum enzymes. Annual Review of Plant Biology, 57(1) :623–
647, 2006. PMID : 16669776.
[SSM11a] Rajib Saha, Patrick F. Suthers, and Costas D. Maranas. zea mays
irs1563 : A comprehensive genome-scale metabolic reconstruction
of maize metabolism. PLoS ONE, 6(7) :e21784, 07 2011.
[SSM+11b] N. Swainston, K. Smallbone, P. Mendes, D. Kell, and N. Paton. The SuBliMinaL
Toolbox : automating steps in the reconstruction of metabolic networks.
J Integr Bioinform, 8(2) :186, 2011.
[ST09] Torsten Schaub and Sven Thiele. Metabolic network expansion with answer
set programming. In Logic Programming 25th International Conference,
pages 312–326. Springer Berlin Heidelberg, 2009.
[TEP+11] Thierry Tonon, Damien Eveillard, Sylvain Prigent, Jérémie Bourdon, Philippe
Potin, Catherine Boyen, and Anne Siegel. Toward systems biology in
brown algae to explore acclimation and adaptation to the shore environment.
Omics : a journal of integrative biology, 15(12) :883–892, December
2011. PMID : 22136637.Bibliographie 117
[TG10] Vered Tzin and Gad Galili. New insights into the shikimate and aromatic
amino acids biosynthesis pathways in plants. Molecular Plant, 3(6) :956–
972, 2010.
[THS+11] Ines Thiele, Daniel Hyduke, Benjamin Steeb, Guy Fankam, Douglas Allen,
Susanna Bazzani, Pep Charusanti, Feng-Chi Chen, Ronan Fleming, Chao
Hsiung, Sigrid De Keersmaecker, Yu-Chieh Liao, Kathleen Marchal, Monica
Mo, Emre Ozdemir, Anu Raghunathan, Jennifer Reed, Sook-Il Shin, Sara Sigurbjornsdottir,
Jonas Steinmann, Suresh Sudarsan, Neil Swainston, Inge
Thijs, Karsten Zengler, Bernhard Palsson, Joshua Adkins, and Dirk Bumann.
A community effort towards a knowledge-base and mathematical model of
the human pathogen salmonella typhimurium lt2. BMC Systems Biology,
5(1) :8, 2011.
[TJGF11] Manuel Tejada-Jiménez, Aurora Galván, and Emilio Fernández. Algae and
humans share a molybdate transporter. Proceedings of the National Academy
of Sciences, 108(16) :6420–6425, 2011.
[TP10] Ines Thiele and Bernhard ØPalsson. A protocol for generating a high-quality
genome-scale metabolic reconstruction. Nature Protocols, 5(1) :93–121,
January 2010.
[TVC+11] Raimund Tenhaken, Elena Voglas, J. Mark Cock, Volker Neu, and Christian
G. Huber. Characterization of gdp-mannose dehydrogenase from the
brown alga ectocarpus siliculosus providing the precursor for the alginate
polymer. Journal of Biological Chemistry, 286(19) :16707–16715, 2011.
[VBC+13] David Vallenet, Eugeni Belda, Alexandra Calteau, Stéphane Cruveiller, Stefan
Engelen, Aurélie Lajus, François Le Fèvre, Cyrille Longin, Damien
Mornico, David Roche, Zoé Rouy, Gregory Salvignol, Claude Scarpelli,
Adam Alexander Thil Smith, Marion Weiman, and Claudine Médigue. Microscope—an
integrated microbial resource for the curation and comparative
analysis of genomic and metabolic data. Nucleic Acids Research,
41(D1) :D636–D647, 2013.
[vIPK+10] Martijn van Iersel, Alexander Pico, Thomas Kelder, Jianjiong Gao, Isaac Ho,
Kristina Hanspers, Bruce Conklin, and Chris Evelo. The bridgedb framework
: standardized access to gene, protein and metabolite identifier mapping
services. BMC Bioinformatics, 11(1) :5, 2010.
[WGH+12] Thilo Winzer, Valeria Gazda, Zhesi He, Filip Kaminski, Marcelo Kern, Tony R
Larson, Yi Li, Fergus Meade, Roxana Teodor, Fabián E Vaistij, et al. A papaver
somniferum 10-gene cluster for synthesis of the anticancer alkaloid noscapine.
Science, 336(6089) :1704–1708, 2012.
[WK96] J West and G Kraft. Ectocarpus siliculosus (Dillwyn) Lyngb. from Hopkins
River Falls, Victoria - the first record of a freshwater brown alga in Australia.
Muelleria, 9 :29–33, 1996.
[WLW+12] Adam J Wargacki, Effendi Leonard, Maung Nyan Win, Drew D Regitsky,
Christine Nicole S Santos, Peter B Kim, Susan R Cooper, Ryan M Raisner,
Asael Herman, Alicia B Sivitz, Arun Lakshmanaswamy, Yuki Kashiyama, David
Baker, and Yasuo Yoshikuni. An engineered microbial platform for direct118 Bibliographie
biofuel production from brown macroalgae. Science, 335(6066) :308–13, January
2012.
[WQJ13] Na Wei, Josh Quarterman, and Yong-Su Jin. Marine macroalgae : an untapped
resource for producing fuels and chemicals. Trends in Biotechnology,
31(2) :70 – 77, 2013.
[YHC+04] Hwan Su Yoon, Jeremiah D Hackett, Claudia Ciniglia, Gabriele Pinto, and
Debashish Bhattacharya. A molecular timeline for the origin of photosynthetic
eukaryotes. Molecular biology and evolution, 21(5) :809–18, May
2004.
[YWQ+13] Heejin Yoo, Joshua R Widhalm, Yichun Qian, Hiroshi Maeda, Bruce R Cooper,
Amber S Jannasch, Itay Gonda, Efraim Lewinsohn, David Rhodes, and
Natalia Dudareva. An alternative pathway contributes to phenylalanine
biosynthesis in plants via a cytosolic tyrosine : phenylpyruvate aminotransferase.
Nature communications, 4, 2013.Table des figures
1.1 Représentation des principaux processus se produisant dans une
cellule. La cellule reçoit des signaux extérieurs qui engendrent des cascades
de signalisation à l’intérieur de la cellule. Ces signaux et les cascades induites
sont étudiées dans les réseaux de signalisation. Ce signal arrive jusqu’au noyau
et engendre une régulation de l’expression des gènes. Cette régulation sera
étudiée par les réseaux de régulation géniques. Les gènes sont ensuite transcrits
en ARN messagers qui pourront être traduits en protéines. Certaines de
ces protéines (appelées enzymes) pourront catalyser des réactions métaboliques
qui transformeront les molécules présentes à l’intérieur de la cellule ou
importées de l’extérieur. Ces réactions sont étudiées dans les réseaux métaboliques.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Représentation graphique d’un réseau métabolique composé de deux réactions.
La première réaction (R1) est irréversible et produit B à partir de A. La
seconde (R2) transforme B + C en D de manière réversible. . . . . . . . . . . . . 11
1.3 Les méthodes classiques à base de contraintes pour l’analyse de réseaux mé-
taboliques [PRP04]. La construction de l’espace des solutions est représentée
au centre, les méthodes d’analyse de cet espace des solutions sont représentées
autour. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Couverture phylogénétique des reconstructions de réseaux métaboliques
en février 2013[MNP14]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 Vue d’ensemble de la procédure de reconstruction de réseaux métaboliques
[TP10]. Les étapes 2 à 4 seront itérées jusqu’à ce que les prédictions réalisées
par le réseaux métaboliques soient en accord avec les observations biologiques. 18
1.6 Limitations actuelles au développement rapide de la reconstruction de ré-
seaux métaboliques. Les éventuels points à améliorer sont indiqués en gris,
les méthodes à base de contraintes étant au centre des améliorations [MNP14]. 20
1.7 Support apporté par les différents outils de reconstruction de réseaux mé-
taboliques, de la création de l’ébauche jusqu’à l’évaluation de la qualité du
réseau [HR14]. Les quatre étapes principales et certains des 96 points relevés
par [TP10] sont étudiés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.8 Photo de sporophyte d’Ectocarpus siliculosus en culture. . . . . . . . . . . . . 38
1.9 Représentation simplifiée de l’arbre phylogénétique des eucaryotes [CPC11].
Les cinq groupes majeures ayant développé une multicellularité complexe
sont représenté en couleur. La longueur des barres de couleur indique le
temps relatif approché de développement de la multicellularité dans chaque
lignée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
119120 Table des figures
2.1 Représentation schématique d’un réseau métabolique[AMC+12]. Les nœuds
représentent les métabolites et les hyper-arcs représentent les réactions. Les
nœuds gris correspondent aux sources et le nœud noir la cible. . . . . . . . . . . 43
2.2 Représentation de la répartition statistique du nombre de métabolites non
productibles en fonction de la taille de la base de données utilisée. Les boites
correspondent à la taille du premier et du troisième quartile, la ligne centrale
correspond à la moyenne et les barres correspondent aux valeurs extrêmes. . . 45
2.3 Temps de calcul de Clasp et Unclasp pour la recherche de la taille minimale
de complétion. Les cercles transparents correspondent à la médiane des expérimentations
avec Clasp. Les carrés grisés correspondent à la médiane des
expérimentations avec Unclasp. Pour chaque expérience, les valeurs minimale
et maximale sont reportées avec des lignes verticales. . . . . . . . . . . . . . . . 50
2.4 Temps de calcul de Clasp pour énumérer l’ensemble des solutions Les cercles
transparents correspondent aux médianes des durées des expérimentations.
Les points noirs correspondent aux médianes du nombre de solutions. Les
lignes verticales correspondent aux valeurs maximales et minimales. . . . . . . 52
2.5 Temps de calcul de Clasp pour déterminer les intersections des solutions
optimales. Les cercles transparents correspondent aux médianes des résultats
de durée des expérimentations. Les points noirs correspondent à la taille mé-
diane des intersections. Les lignes verticales correspondent aux valeurs maximales
et minimales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.6 Exemple de deux réactions impliquant les mêmes molécules et provenant de
la même base de données (MetaCyc), l’une étant réversible et l’autre irréversible. 54
2.7 Temps de calcul de Clasp et Unclasp pour la recherche de la taille minimale
de complétion. Les cercles correspondent à la médiane des expérimentations
avec Clasp. Les carrés correspondent à la médiane des expérimentations
avec Unclasp. Les ronds et carrés grisés correspondent à la modélisation
avec prise en compte de la réversibilité, les ronds et carrés vides correspondent
à la même modélisation sans cette prise en compte. Pour chaque
expérience, les valeurs minimale et maximale sont reportées avec des lignes
verticales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.8 Deux exemples de réseaux métaboliques contenant des cycles. Les
métabolites sont représentés par des ovales verts, les réactions sont représentées
par des rectangles rouges. La direction des réactions est représentée par
la direction des arcs. La stœchiométrie des réactions n’est pas représentée. . . . 58
2.9 Exemples de réseaux métaboliques. Les cercles représentent les métabolites,
les rectangles représentent les réactions. Les chiffres sur les arcs représentent
la stœchiométrie des réactions. Les métabolites S correspondent aux sources
et les métabolites T correspondent aux cibles. . . . . . . . . . . . . . . . . . . . . 60
2.10 Tailles des solutions et de l’union des solutions selon la sémantique de productibilité
utilisée. Les croix correspondent aux expériences utilisant la productibilité
d’Acuna-Sagot, les carrés celle de Meneco. Les courbes noires correspondent
à la taille des optimaux, les courbes grises correspondent à la taille
des unions. Il n’existe pas de valeur pour l’union avec Acuna pour une base de
données de 10.000 réactions, les calculs étant trop long. . . . . . . . . . . . . . . 62Table des figures 121
2.11 Représentation de la répartition statistique des différentes complétions en
fonction de la taille de la base de données utilisée. La partie a) correspond
à la complétion utilisant la sémantique proposée par Acuna et Sagot, la partie
droite correspond à la complétion utilisée par Meneco. Les boites correspondent
à la taille du premier et du troisième quartile, la ligne centrale correspond
à la moyenne et les barres correspondent aux valeurs extrêmes. . . . . . . 63
2.12 Distribution des pourcentages de réactions rajoutées aux réseaux dégradés
selon les différentes classes de réactions et le pourcentage de dégradation.
Les boites représentent l’espace interquartile, les moustaches représentent 1.5
espace interquartile. Les ronds représentent les valeurs extrêmes sûres (vides)
ou potentielles (pleins). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.13 Distribution des pourcentages de réactions rajoutées au réseau vide selon
les différentes classes de réactions. Les boites représentent l’espace interquartile,
les moustaches représentent 1.5 espace interquartile. Les ronds représentent
les valeurs extrêmes sûres (vides) ou potentielles (pleins). Les ré-
actions essentielles à la production de biomasse (au sens de la FVA) sont représentées
en bleu, les réactions bloquées qui ne possédent jamais aucun flux
non nul en FVA sont représentées en violet, les réactions alternatives pouvant
posséder un flux nul ou non nul lors d’optimisation de la fonction objective
sont représentées en jaune. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.1 Composition des 432 ensembles de 44 réactions candidates à la complétion
pour permettre la productibilité des 50 cibles. Chaque ensemble de réactions
peut être décomposé en un ensemble de 35 réactions présentes partout
auquel nous ajoutons une réaction de chaque groupe représenté, deux
réactions du groupe représenté en haut à gauche et une paire de deux réactions.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.2 Résumé de l’approche intégrative de la reconstruction du réseau métabolique
d’Ectocarpus siliculosus. Les boites bleues correspondent aux outils utilisés.
Les boites vertes correspondent aux données utilisées et aux différentes
versions du réseau existantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.1 Comparaison entre la reconstruction automatique et l’annotation
manuelle de la voie de synthèse des alginates. * indique un gène
pour lequel l’identifiant a changé dans la base de données en fonction de la
mise à jour de l’annotation structurale du génome (Esi0195_0005 est devenu
Esi0195_0002). ** indique une protéine dont la fonction a été caractérisée biochimiquement
[TVC+11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.2 Comparaison entre la reconstruction automatique et l’annotation
manuelle de la voie du cycle du mannitol. ** indique une protéine dont
la fonction a été caractérisée biochimiquement. [RGD+11, GSM+14] . . . . . . 89122 Table des figures
4.3 Les voies de synthèse des acides aminés aromatiques chez les
plantes. [TG10] Les noms des enzymes sont donnés à côté des flèches, et
sont accompagnés des noms abrégés entre parenthèses. Les voies majoritaires
de synthèse de la phénylalanine et de la tyrosine chez les plantes sont indiquées
par des flèches vertes (voie II pour la tyrosine). La voie de synthèse I de
la tyrosine et une voie de synthèse secondaire de la phénylalanine sont repré-
sentées par des flèches rouges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.4 Voies de biosynthèse des acides aminés aromatiques avant et
après curation manuelle.(a) Voies métaboliques prédites dans EctoGEMfunctionnal.
Les commentaires associés aux enzymes indiquent comment les
gènes ont été identifiés et les réactions prédites : PWT (Pathway Tools), PTG
(Pantograph) et HMM. (b) Voies métaboliques obtenues après curation manuelle
par analyse comparative avec d’autres espèces. La voie métabolique de
l’arogénate est représentée en pointillés. Les changements d’expression signi-
ficatifs (FDR < 5%) dûs à des stress cuivriques (après 4h et 8h de traitement),
hypersalins, hyposalins et oxydatifs (après 6h de traitement pour les trois derniers
types de stress) sont indiqués dans cet ordre par les flèches sous les noms
des gènes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.5 Évolution des enzymes impliquées dans la synthèse des acides
aminés aromatiques. L’arbre représente les relations phylogénétiques entre
les organismes telles que définies dans Tree Of Life (http ://tolweb.org). La longueur
des branches ne représente aucune information. La présence des gènes
chez les différents organismes est indiquée par un "+". Les flèches indiquent
la fusion des déshydratases (A/P-DT) et déshydrogénases (A/P-DH). Phytophtora
infestans contient deux déshydratases, l’une étant fusionnée à la déshydrogénase.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.6 Analyse phylogénétique de la A/P-DT d’Ectocarpus siliculosus
. Pour chaque séquence, la première partie du nom correspond au numéro
d’accession dans la base de données NCBI et la seconde partie correspond au
nom de l’espèce où la séquence a été retrouvée. Les couleurs correspondent
aux origines phylogénétiques des espèces. . . . . . . . . . . . . . . . . . . . . . . 94
4.7 Analyse phylogénétique de la A/P-DH d’Ectocarpus siliculosus
. Pour chaque séquence, la première partie du nom correspond au numéro
d’accession dans la base de données NCBI et la seconde partie correspond au
nom de l’espèce où la séquence a été retrouvée. Les couleurs correspondent
aux origines phylogénétiques des espèces. . . . . . . . . . . . . . . . . . . . . . . 95
4.8 Voies de biosynthèse du cofacteur molybdenum. a) Voies métaboliques
curées et protéines associées aux réactions enzymatiques. * marque
les gènes exprimés chez E. siliculosus. ** marque les gènes significativement
(FDR < 5%) réprimés en réponse à un stress hyposalin. Les nombres dans les
ovales correspondent aux numéros E.C. des réactions. (b) Position phylogé-
nétique de deux candidats pour l’activité molybdopterin synthase. La figure
montre un arbre de maximum de vraisemblance avec 75 séquences sélectionnées
dans différentes lignées. Seules les valeurs possédant un bootstrap supé-
rieur à 50 sont indiquées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97Annexes
123125126 Liste des molécules utilisées lors de l’étude de l’efficacité de Meneco
Annexe A
Liste des molécules utilisées lors de
l’étude de l’efficacité de Meneco
TABLE A.1: Liste des molécules utilisées pour la complétion du réseau métaboliqueLes
identifiants en majuscule correspondent aux identifiants MetaCyc, les minuscules aux
noms des molécules (quand les identifiants n’étaient pas suffisamment parlant)
Graines Cibles
Electron Acceptor 4-amino-butyrate
ACP EICOSAPENTAENOATE
ADP AMMONIUM
AMMONIA ARACHIDIC ACID
AMP ARACHIDONIC ACID
ATP ARG
BIOTIN ASN
CA+2 CIT
CARBON-DIOXIDE eicosadienoate
CPD-12921 erucate
CL- myristate
CO-A γ-linolenate
cobalt chloride stearidonate
manganese chloride di-homo-γ-linolenate
molybdate eicosatetraenoate
cyanocob(III)alamin palmitoleate
CU+ Cis-vaccenate
CU+2 CYS
Donor-H2 DOCOSANOATE
GDP GLC
EDTA GLN
GTP GLT
HYDROGEN-PEROXIDE GLUTATHIONE
K+ GLY
MG+2 GLYCERATE
Graines Cibles
NA+ GLYCEROL
NAD GLYCOLLATE
NADH HIS
NADP ILE
NADPH ALANINE
NITRATE ASPARTATE
OXYGEN-MOLECULE ORNITHINE
Pi LEU
PPI LINOLEIC ACID
PROTON LINOLENIC ACID
SULFATE LYS
THIAMINE MANNITOL
UDP MET
Vitamins-B12 OLEATE
COB-I-ALAMIN PALMITATE
WATER PHE
ZN+2 PRO
SER
STEARIC ACID
SUC
THR
Iso-citrate
TRP
TYR
VALAnnexe B
Code ASP original de
Network-Expansion
En 2009, Torsten Schaub et Sven Thiele proposent une méthode [ST09] permettant de
compléter des réseaux métaboliques d’un point de vue qualitatif en s’affranchissant de la
nécessité d’obtention de données cinétiques. Par rapport aux approches précédentes, l’idée
est de vérifier la fonctionnalité du réseau d’un point de vue qualitatif (accessibilité des mé-
tabolites) sans prendre en compte les contraintes induites par la stoechiométrie du système,
qui pourront être vérifiée dans un second temps. En reformulant ce problème de manière
combinatoire, Schaub et Thiele proposent d’utiliser des méthodes d’optimisation récentes
pour énumérer intégralement l’espace des solutions au problème.
Les auteurs sont partis du constat que la grande majorité des réseaux métaboliques reconstruits
automatiquement sont incomplets. De plus, les bases de données des réactions
métaboliques sont de plus en plus exhaustives et leur utilisation n’en devient que plus pertinente.
Enfin, il y a à disposition des données biologiques pour la plupart des organismes
biologiques pour lesquels un réseau métabolique est reconstruit ou en cours de reconstruction,
et qui sont utilisables pour l’étape de complétion.
B.1 ASP
La modélisation et la résolution du problème sont basée sur des technologies apparues
relativement récemment, dite de programmation par ensemble réponse (ou Answer Set Programming,
ASP), qui sont connues pour être particulièrement efficace pour résoudre des
problèmes NP-dur. La programmation par ensembles réponses (ou Answer Set Programming,
ASP) [Bar03, GKKS12] propose un cadre déclaratif pour modéliser des problèmes
combinatoires. Les caractères déclaratifs et la haute performance des solveurs ASP actuels
permettent de se concentrer sur les problèmes de modélisation plutôt que de rechercher
des façons intelligentes de traiter ces problèmes. L’idée de base d’ASP est d’exprimer un problème
sous forme logique de manière à ce que les modèles sortant de cette représentation
donnent les solutions au problème initial. Les problèmes sont exprimés en tant que programmes
logiques et les modèles résultants sont appelés "ensembles réponses" (ou Answer
Sets). Ces ensembles-réponses sont identifiées à l’aide de technologies inspirées par les approches
SAT et les bases de données. Il est bien évidemment possible de déterminer, à l’aide
127128 Code ASP original de Network-Expansion
d’ASP, si un programme possède un ensemble réponse, mais d’autres modes de raisonnement
sont nécessaires pour couvrir l’ensemble des problèmes que l’on peut rencontrer en
pratique. Ainsi il sera possible d’identifier aisément l’intersection ou l’union de l’ensemble
des ensembles réponses. De la même manière, lister l’intégralité des ensembles réponses
pourra être possible.
L’idée générale consiste à représenter les modèles étudiés sous forme de faits logiques
afin de pouvoir raisonner sur ces faits par des ensembles de règles et de contraintes. les
règles seront de la forme :
Listing 5:
1 t : − a1, ..., an.
avec t : la tête de la règle et a1...n les atomes du corps de la règles. Dans le cas présent t
sera vrai si l’ensemble des atomes du corps de la règle sont vrais. Un grounder va instancier
l’ensemble des règles présentes dans un programme ASP à partir des faits logiques afin de
transformer l’ensemble en un langage compréhensible par un solveur.
Durant l’ensemble de la thèse, il a été choisi de travailler avec la suite logicielle Potassco,
vainqueur de nombreux concours par la grande efficacité de son solveur. Ce solveur
(Clasp) a grandement évolué durant les trois années de la thèse et continu encore aujourd’hui
d’évoluer : nouvelles heuristiques, nouveaux solveurs, nouvelle syntaxe avec l’arrivée
du grounder gringo4.
B.2 Network-Expansion
La reconstruction de réseaux métaboliques est, par nature, incomplète. En effet, celle-ci
se base classiquement sur des données d’annotations génomiques qui sont intrinsèquement
imprécises, même si l’annotation a été effectuée manuellement. De plus, il peut arriver
que certaines parties d’un génome n’aient pas été annotées du tout. Ces deux raisons
impliquent qu’un réseau métabolique contient forcément des trous qu’il convient de combler
pour coller au mieux à la réalité biologique. L’idée générale des auteurs est qu’une ré-
action ne peut avoir lieu uniquement que si les réactants de celle-ci sont présents, soit dans
un milieu de culture donné, soit comme produit d’une autre réaction. Ainsi, en partant des
métabolites présents dans un milieu de culture (les métabolites graines) il devient possible
de déterminer le "scope" des graines, c’est à dire l’ensemble des métabolites productibles à
partir des graines et des réactions présentes dans un modèle.
En modélisant ce concept en ASP, les auteurs ont réussi à développer un outil permettant
de compléter des réseaux métaboliques en utilisant des données expérimentales tel que
la présence de certains métabolites cibles dans une cellule. Ainsi, en regardant si ces cibles
font partie du scope des graines, le réseau métabolique peut être considéré comme suffi-
samment complet pour expliquer l’existence de ces cibles. Si ce n’est pas le cas, il conviendra
d’ajouter des réactions dans le réseau pour permettre aux cibles de faire partie du scope
des graines. Ajouter l’ensemble des réactions provenant d’une base de données de réactions
comme MetaCyc permet (généralement) de produire l’ensemble des cibles. Cependant,
toute capacité d’étude biologique ultérieure du réseau sera perdue du fait de la trop
grande quantité de faux-positifs. Les auteurs proposent donc d’utiliser un principe de parcimonie
pour minimiser le nombre total de réactions à ajouter au réseau, et ainsi minimi-Modélisation 129
ser les modifications faites à un réseau que l’on considère initialement de bonne qualité. Ce
problème est par nature extrêmement combinatoire et donne de très nombreuses solutions.
L’utilisation des techniques d’optimisation particulièrement efficaces de la programmation
par ensembles réponses permet de résoudre ce problème.
B.3 Modélisation
Un réseau métabolique est représenté comme un graphe dirigé bipartite G = (R ∪ M,E)
où R et M sont des nœuds représentant respectivement les réactions et les métabolites.
Les réactants d’une réaction correspondent à l’ensemble des nœuds reliés par des arêtes
entrant dans un nœud R (r eac(r ) = {m ∈ M|(m, r ) ∈ E}) et les produits aux arêtes sortantes
(pr od(r ) = {m ∈ M|(r,m) ∈ E}).
Étant donné un réseau métabolique (R ∪M,E) et un sous ensemble M′ ⊆ M de métabolites
graines, une réaction r ∈ R sera "atteignable" depuis M′
si l’ensemble de ses réactants
est dans le scope de M′
, c’est à dire si r eac(r ) ⊆ M′
. De plus un métabolite m ∈ M est atteignable
depuis M′
si m ∈ M′ ou si m ∈ pr od(r ) pour au moins une réaction r ∈ R atteignable
depuis M′
. Ainsi, le scope de M′
, noté Σ(M′
), pourra être calculé en temps polynomial.
Une fois le scope d’un ensemble de métabolites défini, il devient possible de regarder
de plus près la complétion de réseaux métaboliques. Pour cela, il faut également définir
un sous-ensemble de métabolites T ∈ M correspondant aux métabolites cibles (ou targets).
On a également un second réseau métabolique de référence (R
′∪M′
,E
′
) qui correspond à la
base de données de réactions métaboliques. On va donc chercher un ensemble de réactions
R
′′ ⊆ R
′
\R telle que T ⊆ ΣG (S) avec :
G = ((R ∪R
′′)∪(M ∪ M′′),E ∪E
′′)
M′′ = {m ∈ M′
|r ∈ R
′′
,m ∈ r eac(r )∪ pr od(r )}
E
′′ = {(m, r ) ∈ E
′
|r ∈ R
′′
,m ∈ r eac(r )}∪{(r,m) ∈ E
′
|r ∈ R
′′
,m ∈ pr od(r )}
R
′′ sera appelé "complétion" de (R ∪ M,E) à partir de (R
′ ∪ M′
,E
′
) par rapport à S et T .
L’ensemble de cette modélisation a été représenté en programmation logique. Le scope
d’un réseau métabolite N peut alors être défini de la manière suivante en ASP :
Listing 6:
1 scope(M) :- seed(M).
2 scope(M) :- product(M,R), reaction(R,N), draft(N), scope(M’) : reactant(
M’,R).
Ainsi, tous les métabolites graine font partie du scope par nature. Ensuite on défini récursivement
qu’un produit M d’une réaction R appartenant à un réseau N fait également partie
du scope si tous les réactants M′ de cette réaction R font déjà partie du scope. On pourra
ainsi décrire un scope pour le draft métabolique (d scope) et un scope potentiel qui contient
l’union des réactions du draft et de la base de données (p scope).
Pour réaliser la complétion il va falloir choisir des réactions provenant de la base de
données mais pas inclues dans le draft métabolique N :130 Code ASP original de Network-Expansion
Listing 7:
1 {xreaction(R) : not reaction(R,N) : draft(N)}.
Le scope des graines du draft métabolique N étendu par la base de données sera donc :
Listing 8:
1 xscope(M) :- seed(M).
2 xscope(M) :- product(M,R), reaction(R,N), draft(N), xscope(M’) :
reactant(M’,R).
3 xscope(M) :- product(M,R), reaction(R,N), xscope(M’) : reactant(M’,R).
Enfin, il faut que l’ensemble des métabolites cibles puisse être produit, et donc qu’ils
fassent partie du scope étendu des graines. Cela se représente par la contrainte d’intégrité
suivante :
Listing 9:
1 :- target(M), not xscope(M).
L’encodage précédent permet d’obtenir l’ensemble des complétions possibles. Cependant,
le nombre de celles-ci étant gigantesque, il y a un gros risque que l’on ne passe pas
à l’échelle. Afin de réduire le nombre de solutions possibles, différents ajustements ont été
réalisés.
Tout d’abord nous ne nous intéressons qu’à certaines réactions de la base de données,
réactions que nous qualifierons d’"intéressantes" :
Listing 10:
1 :- xreaction(R), not ireaction(R).
Ces réactions d’intérêt sont toutes les réactions du scope des métabolites graines qui se
trouvent en amont des métabolites cibles.
Listing 11:
1 ireaction(R) :- interesting(M), product(M,R), reaction(R,N).
2 interesting(M) :- target(M), not dscope(M).
3 interesting(M) :- reactant(M,R), ireaction(R), not dscope(M).
Ainsi, une réaction d’intérêt est une réaction produisant un métabolite d’intérêt, c’est à dire :
– Un métabolite cible qui ne peut pas être produit par le draft métabolique
– Un métabolite nécessaire à une réaction d’intérêt et non productible par le draft mé-
tabolique.
Ensuite nous nous concentrons sur les réactions qui peuvent être utilisées, c’est à dire
celles pour lesquelles tous les réactants sont présents dans l’extension étudiée :
Listing 12:
1 :- xreaction(R), not oreaction(R).
2 oreaction(R) :- xscope(M) : reactant(M’, R), reaction(R,N), not draft(N)
.Modélisation 131
Une fois l’ensemble des complétions possibles, on va chercher à réduire au maximum les
modifications apportées au réseau en minimisant le nombre de réactions ajoutées au ré-
seau. En ASP cela se définira de la manière suivante :
Listing 13:
1 minimize{xreaction(R) : ireaction(R) : not~reaction(R,N)}.132 Code ASP original de Network-ExpansionAnnexe C
Réannotation de gènes
TABLE C.1: Liste des gènes réannotés dans la base de données génomique Orcae après reconstruction
du réseau métabolique
Locus Numéro EC
prédit
Prédiction fonctionnelle dans Ectocyc
Esi0000_0236 EC-2.1.1.163 S-adenosylmethionine :2-demethylmenaquinol methyltransferase
Esi0000_0399 EC-1.1.1 3-oxo-acyl-CoA reductase
Esi0000_0579 EC-5.3.3 2-hydroxyhepta-2,4-diene-1,7-dioate isomerase
Esi0002_0180 EC-4.2.1.46 dTDP-glucose 4,6-dehydratase
Esi0006_0009 EC-5.4.2.3 Phosphoacetylglucosamine mutase (PAGM)
Esi0008_0209 EC-2.6.1.2 Alanine aminotransferase
Esi0009_0077 EC-2.7.1.173 nicotinate riboside kinase
Esi0009_0083 EC-2.7.1.173 nicotinate riboside kinase
Esi0012_0057 EC-3.6.1 dihydroneopterin-PPP pyrophosphohydrolase
Esi0012_0116 EC-3.6.1 dihydroneopterin-PPP pyrophosphohydrolase
Esi0016_0068 EC-2.7.1.173 nicotinate riboside kinase
Esi0016_0192 EC-2.1.1.163 S-adenosylmethionine :2-demethylmenaquinol methyltransferase
Esi0017_0076 EC-2.4.1.67 alpha-D-galactosyl-(1-3)-1D-myo-inositol :raffinose galactosyltransferase
EC-2.7.1.173 nicotinate riboside kinase
Esi0018_0057 EC-2.7.8.1 ethanolaminephosphotransferase
Esi0021_0019 EC-3.6.1 dihydroneopterin-PPP pyrophosphohydrolase
133134 Réannotation de gènes
TABLE C.2: Liste des gènes réannotés dans la base de données génomique Orcae après reconstruction
du réseau métabolique (suite)
Locus Numéro EC
prédit
Prédiction fonctionnelle dans Ectocyc
Esi0031_0020 EC-2.1.2.3 phosphoribosylaminoimidazolecarboxamide formyltransferase
EC-3.5.4.10 IMP cyclohydrolase
Esi0039_0037 EC-1.6.5.4 Monodehydroascorbate reductase
Esi0039_0059 EC-2.7.1.173 nicotinate riboside kinase
Esi0040_0041 EC-6.2.1.5 succinate—CoA ligase (ADP-forming)
Esi0041_0029 EC-3.6.1 dihydroneopterin-PPP pyrophosphohydrolase
Esi0044_0110 EC-1.3.1.21 7-dehydrocholesterol reductase (=Sterol delta-7 reductase)
Esi0047_0145 EC-4.1.1.22 Histidine decarboxylase
Esi0053_0006 EC-6.1.1.1 Tyrosyl-tRNA synthetase
Esi0059_0045 EC-4.1.3.4 Hydroxymethylglutaryl-CoA lyase
Esi0062_0044 EC-5.1.3 Isomerases acting on Carbohydrates and Derivatives
EC-5.1.3.18 GDP-mannose 3,5-epimerase
Esi0072_0101 EC-2.7.1.173 nicotinate riboside kinase
Esi0073_0082 EC-1.3.1.70 C-14 sterol reductase (=Delta14-sterol reductase)
Esi0081_0055 EC-3.1.3.67 phosphatidylinositol-3,4,5-trisphosphate 3-phosphatase
Esi0082_0007 EC-5.5.1 Intramolecular lyases
EC-5.5.1.18 Lycopene epsilon-cyclase
EC-5.5.1.19 Lycopene β-cyclase
Esi0089_0041 EC-2.1.1.163 Demethylmenaquinone methyltransferase
Esi0091_0014 EC-6.4.1.4 methylcrotonoyl-CoA carboxylase beta chain
Esi0098_0007 EC-2.4.2.7 Adenine phosphoribosyltransferase
Esi0109_0084 EC-4.1.3.36 Naphthoate synthase
Esi0122_0080 EC-1.2.1 pyruvate dehydrogenase
Esi0122_0102 EC-2.1.1.163 Demethylmenaquinone methyltransferase
Esi0143_0028 EC-3.3.2.6 Leukotriene-A(4) hydrolase
Esi0212_0027 EC-1.6.5.4 Monodehydroascorbate reductase
Esi0223_0020 EC-1.3.1.83 geranylgeranyl reductase
EC-1.3.1.84 acrylyl-CoA reductase (NADPH)135
TABLE C.3: Liste des gènes réannotés dans la base de données génomique Orcae après reconstruction
du réseau métabolique (fin)
Locus Numéro EC
prédit
Prédiction fonctionnelle dans Ectocyc
Esi0223_0029 EC-2.4.2.9 Uracil phosphoribosyltransferase
Esi0243_0011 EC-6.1.1.11 Seryl-tRNA synthetase
Esi0346_0014 EC-1.8.7.1 Sulfite reductase
Esi0359_0011 EC-2.7.1.25 Adenylyl-sulfate kinase
Esi0361_0011 EC-2.5.1.9 Riboflavin synthase
Esi0392_0016 EC-2.6.1.62 Adenosylmethionine–8-amino-7-oxononanoate transaminase
Esi0438_0007 EC-2.7.1.35 Pyridoxamine kinase
Esi0673_0003 EC-2.7.1.17 Xylulokinase
Esi0179_0043 EC-
2.7.7.80/2.8.1.11
molybdopterin-synthase adenylyltransferase / sulfurtransferase
Esi0147_0053 EC-4.1.99.18 cyclic pyranopterin monophosphate synthase
Esi0031_0067 EC-2.8.1.12 molybdopterin synthase
Esi0000_0519 EC-
2.7.7.75/2.10.1.1
molybdopterin adenylyltransferase / hydrolaseRésumé
Durant cette thèse nous nous sommes attachés au développement d’une méthode globale
de création de réseaux métaboliques chez des espèces biologiques non classiques pour
lesquelles nous possédons peu d’informations. Classiquement cette reconstruction s’articule
en trois points : la création d’une ébauche métabolique à partir d’un génome, la complétion
du réseau et la vérification du résultat obtenu. Nous nous sommes particulièrement
intéressé au problème d’optimisation combinatoire difficile que représente l’étape de complétion
du réseau, en utilisant un paradigme de programmation par contraintes pour le ré-
soudre : la programmation par ensemble réponse (ou ASP). Les modifications apportées à
une méthode préexistante nous ont permis d’améliorer à la fois le temps de calcul pour ré-
soudre ce problème combinatoire et la qualité de la modélisation. L’ensemble de ce processus
de reconstruction de réseau métabolique a été appliqué au modèle des algues brunes,
Ectocarpus siliculosus, nous permettant ainsi de reconstruire le premier réseau métabolique
chez une macro-algue brune. La reconstruction de ce réseau nous a permis d’amé-
liorer notre compréhension du métabolisme de cette espèce et d’améliorer l’annotation de
son génome.
Abstract
In this thesis we focused on the development of a comprehensive approach to reconstruct
metabolic networks applied to unconventional biological species for which we have
little information. Traditionally, this reconstruction is based on three points : the creation
of a metabolic draft from a genome, the completion of this draft and the verification of the
results. We have been particularly interested in the hard combinatorial optimization problem
represented by the gap-filling step. We used Answer Set Programming (or ASP) to solve
this combinatorial problem. Changes to an existing method allowed us to improve both the
computational time and the quality of modeling. This entire process of metabolic network
reconstruction was applied to the model of brown algae, Ectocarpus siliculosus, allowing
us to reconstruct the first metabolic network of a brown macro-algae. The reconstruction
of this network allowed us to improve our understanding of the metabolism of this species
and to improve annotation of its genome.
Nouvelles approches en filtrage particulaire. Application
au recalage de la navigation inertielle
A. Murangira
To cite this version:
A. Murangira. Nouvelles approches en filtrage particulaire. Application au recalage de la
navigation inertielle. Other. Universit´e de Technologie de Troyes - UTT, 2014. French.
HAL Id: tel-01018717
https://tel.archives-ouvertes.fr/tel-01018717
Submitted on 4 Jul 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.École Doctorale Science des systèmes technologiques et organisationnels
Thèse
présentée pour obtenir le grade de docteur
de l’Université de Technologie de Troyes
Spécialité : Optimisation et Sûreté des Systèmes
Achille Murangira
Nouvelles approches en filtrage
particulaire. Application au recalage de
la navigation inertielle
soutenue le 25 mars 2014 devant le jury composé de
François Le Gland Rapporteur (INRIA Rennes)
Christophe Macabiau Rapporteur (ENAC)
Igor Nikiforov Directeur de thèse (UTT)
Jean-Michel Allard Examinateur (Onera)
Karim Dahia Examinateur (Onera)
Christian Musso Examinateur (Onera)
Hichem Snoussi Examinateur (UTT)
Jean-Yves Tourneret Examinateur (ENSEEIHT)
Gilles Clerc-Renaud Invité (DGA)3
Remerciements
Tout d’abord, je tiens à remercier Igor Nikiforov d’avoir dirigé cette thèse.
Merci à François Le Gland et Christophe Macabiau d’avoir accepter d’en être les rapporteurs,
et à Jean-Yves Tourneret qui a assuré la présidence du jury. Je suis également reconnaissant
envers Hichem Snoussi pour sa participation au jury.
Merci à la DGA et à l’Onera pour avoir co-financé la thèse et à Gilles Clerc-Renaud pour
avoir manifesté beaucoup d’intérêt pour mes recherches.
Grand merci également à Jean-Michel Allard, Karim Dahia de m’avoir accompagné dans la
réalisation de ces travaux. Leur expertise et leur disponibilité ont été essentielles au bon déroulement
de ce doctorat. Je remercie également Christian Musso pour ses idées, son ouverture scientifique
et sa sympathie qui n’ont jamais fait défaut tout au long de ces trois années de recherches.
Merci aux collègues du DCPS et du DTIM avec qui j’ai travaillé et échangé dans une atmosphère
conviviale et détendue.
Enfin merci à mon père, ma mère et mes frères pour leur soutien et leurs encouragements
répétés.45
Résumé
Les travaux présentés dans ce mémoire de thèse concernent le développement et la mise en
oeuvre d’un algorithme de filtrage particulaire pour le recalage de la navigation inertielle par
mesures altimétriques. Le filtre développé, le MRPF (Mixture Regularized Particle Filter), s’appuie
à la fois sur la modélisation de la densité a posteriori sous forme de mélange fini, sur le
filtre particulaire régularisé ainsi que sur l’algorithme mean-shift clustering. Nous proposons également
une extension du MRPF au filtre particulaire Rao-Blackwellisé appelée MRBPF (Mixture
Rao-Blackwellized Particle Filter). L’objectif est de proposer un filtre adapté à la gestion des
multimodalités dues aux ambiguïtés de terrain. L’utilisation des modèles de mélange fini permet
d’introduire un algorithme d’échantillonnage d’importance afin de générer les particules dans
les zones d’intérêt. Un second axe de recherche concerne la mise au point d’outils de contrôle
d’intégrité de la solution particulaire. En nous appuyant sur la théorie de la détection de changement,
nous proposons un algorithme de détection séquentielle de la divergence du filtre. Les
performances du MRPF, MRBPF, et du test d’intégrité sont évaluées sur plusieurs scénarios de
recalage altimétrique.
Mots clés : filtrage particulaire, recalage altimétrique, modèles de mélange, mean-shift clustering,
échantillonnage d’importance, maximum a posteriori, test d’intégrité, détection de changement,
algorithme CUSUM.
Abstract
This thesis deals with the development of a mixture particle filtering algorithm for inertial navigation
update via radar-altimeter measurements. This particle filter, the so-called MRPF (Mixture
Regularized Particle Filter), combines mixture modelling of the posterior density, the regularized
particle filter and the mean-shift clustering algorithm. A version adapted to the Rao-Blackwellized
particle filter, the MRBPF (Mixture Rao-Blackwellized Particle Filter), is also presented. The main
goal is to design a filter well suited to multimodal densities caused by terrain amibiguity. The
use of mixture models enables us to introduce an alternative importance sampling procedure
aimed at proposing samples in the high likelihood regions of the state space. A second research
axis is concerned with the development of particle filtering integrity monitoring tools. A novel
particle filter divergence sequential detector, based on change detection theory, is presented. The
performances of the MRPF, MRBPF and the divergence detector are reported on several terrain
navigation scenarios.
Keywords : particle filtering, terrain navigation, mixture models, mean-shift clustering, importance
sampling, maximum a posteriori, integrity monitoring, change detection, CUSUM algorithm.67
Table des matières
Notations 11
Introduction générale 15
1 Filtrage statistique : méthodes analytiques et numériques 19
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2 Estimation bayésienne et filtrage en temps discret . . . . . . . . . . . . . . . . 19
1.2.1 Estimation bayésienne . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.2 Le filtre optimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3 Méthodes de résolution du problème de filtrage . . . . . . . . . . . . . . . . . . 22
1.3.1 Méthodes analytiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.1.1 Le filtre de Kalman (KF) . . . . . . . . . . . . . . . . . . . . 22
1.3.1.2 Le filtre de Kalman étendu (EKF) . . . . . . . . . . . . . . . . 24
1.3.1.3 Le filtre de Kalman sans parfum (UKF) . . . . . . . . . . . . . 25
1.3.2 Méthodes numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2 Méthodes particulaires pour le filtrage non linéaire 29
2.1 Méthodes de Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.1.1 Echantillonnage Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . 29
2.1.2 Echantillonnage pondéré . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.3 Échantillonnage par acceptation-rejet . . . . . . . . . . . . . . . . . . . 31
2.2 Filtrage particulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.1 L’échantillonnage séquentiel pondéré . . . . . . . . . . . . . . . . . . . 32
2.2.2 Dégénérescence des poids . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.3 Ré-échantillonnage des particules . . . . . . . . . . . . . . . . . . . . . 35
2.2.4 L’algorithme Sequential Importance Resampling (SIR) . . . . . . . . . . 37
2.2.5 Convergence des filtres particulaires . . . . . . . . . . . . . . . . . . . . 39
2.3 Le filtre particulaire régularisé (RPF) . . . . . . . . . . . . . . . . . . . . . . . 39
2.3.1 Régularisation d’une loi de probabilité discrète . . . . . . . . . . . . . . 40
2.3.2 Algorithme du filtre particulaire régularisé . . . . . . . . . . . . . . . . . 41
2.4 Les filtres particulaires hybrides (RBPF, KPKF) . . . . . . . . . . . . . . . . . . 42
2.4.1 Le filtre particulaire Rao-Blackwellisé (RBPF) . . . . . . . . . . . . . . . 428 TABLE DES MATIÈRES
2.4.2 Un exemple de filtre particulaire à noyau : le Kalman Particle Kernel Filter
(KPKF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.5 Comportement du filtre particulaire en présence de multimodalités . . . . . . . . 47
2.5.1 Cas où le nombre de modes est supérieur ou égal à 3 . . . . . . . . . . . 51
2.5.2 Cas où l’état est continu . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.6 Modèles de mélange pour le filtrage particulaire . . . . . . . . . . . . . . . . . . 52
2.6.1 Filtrage pour les modèles de mélange . . . . . . . . . . . . . . . . . . . 52
2.6.2 Approximation particulaire pour les modèles de mélange et algorithme
MPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3 Systèmes de navigation inertielle et recalage radio-altimétrique 59
3.1 Introduction à la navigation inertielle . . . . . . . . . . . . . . . . . . . . . . . 59
3.1.1 Repères de navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.1.2 Capteurs inertiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2 Les équations de la navigation inertielle . . . . . . . . . . . . . . . . . . . . . . 61
3.2.1 Equation d’attitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2.2 Equation de vitesse du mobile . . . . . . . . . . . . . . . . . . . . . . . 63
3.2.3 Equation de position . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.3 Modélisation de l’erreur de navigation . . . . . . . . . . . . . . . . . . . . . . . 64
3.3.1 Variables d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.3.2 Équation d’évolution de l’erreur d’attitude . . . . . . . . . . . . . . . . 66
3.3.3 Équation d’évolution de l’erreur de vitesse . . . . . . . . . . . . . . . . 66
3.3.4 Équation d’évolution de l’erreur de position . . . . . . . . . . . . . . . . 66
3.3.5 Modélisation angle-psi pour les équation d’erreurs de navigation . . . . . 67
3.3.5.1 Modélisation des erreurs des capteurs inertiels . . . . . . . . . 67
3.4 Radio-altimétrie et architecture de la navigation hybridée . . . . . . . . . . . . . 68
3.4.1 Généralités sur les radio-altimètres . . . . . . . . . . . . . . . . . . . . 68
3.4.2 Principe de la navigation hybridée . . . . . . . . . . . . . . . . . . . . . 69
3.5 Approches algorithmiques pour le recalage altimétrique . . . . . . . . . . . . . . 70
3.5.1 Recalage altimétrique par bloc . . . . . . . . . . . . . . . . . . . . . . . 70
3.5.2 Recalage par banc de filtres de Kalman . . . . . . . . . . . . . . . . . . 71
3.5.3 Du Point-Mass Filter aux filtres particulaires . . . . . . . . . . . . . . . 71
3.5.4 Recalage altimétrique continu . . . . . . . . . . . . . . . . . . . . . . . 72
4 Développement de filtres particulaires adaptés aux multimodalités 75
4.1 Détermination des modes de la loi a posteriori par clustering . . . . . . . . . . . 76
4.1.1 L’algorithme mean-shift clustering . . . . . . . . . . . . . . . . . . . . . 77
4.1.1.1 Estimation de densité par noyau . . . . . . . . . . . . . . . . 77
4.1.1.2 Estimation du gradient de la densité . . . . . . . . . . . . . . 78
4.1.1.3 Détermination de clusters par procédures mean-shift . . . . . 81
4.1.2 Sélection automatique du facteur de lissage du mean-shift clustering . . . 82
4.1.2.1 Sélection d’un facteur de lissage global fondée sur un critère
statistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
4.1.2.2 Sélection d’un facteur de lissage global basée sur un indice de
validité des clusters . . . . . . . . . . . . . . . . . . . . . . . 83
4.1.2.3 Sélection d’un facteur de lissage local basée sur la stabilité de
la partition . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.1.2.4 Sélection d’un facteur de lissage global adapté à l’échelle du
nuage de particules . . . . . . . . . . . . . . . . . . . . . . . 86
4.1.3 Stratégies de réduction du temps de calcul de l’algorithme de mean-shift
clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.2 Ré-échantillonnage et régularisation locale . . . . . . . . . . . . . . . . . . . . 88
4.3 Gestion dynamique des clusters du filtre . . . . . . . . . . . . . . . . . . . . . . 92
4.4 Résumé de l’algorithme MRPF . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.5 Échantillonnage d’une loi d’importance basée sur les maxima locaux de la densité
a posteriori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.5.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.5.2 Evaluation du maximum a posteriori pour un modèle d’observation partiellement
linéaire avec a priori gaussien . . . . . . . . . . . . . . . . . . 97
4.5.3 Loi de proposition centrée sur le MAP pour l’échantillonnage d’importance 99
4.5.3.1 Cadre statique . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.5.3.2 Cadre dynamique : illustration . . . . . . . . . . . . . . . . . . 109
4.5.3.3 Application au filtrage particulaire pour les modèles d’observation
partiellement linéaires . . . . . . . . . . . . . . . . . . . . 111
4.5.4 Extension au filtre particulaire Rao-Blackwellisé : algorithme MRBPF-MAP 117
4.6 Evaluation des performances du MRPF, du MRPF-MAP et du MRBPF-MAP . . 119
4.6.1 Profils de terrain pour le recalage radio-altimétrique . . . . . . . . . . . 119
4.6.2 Modèle d’état et d’observation . . . . . . . . . . . . . . . . . . . . . . 120
4.6.3 Critères de performances . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.6.4 Simulations A : évaluation des performances du MRPF . . . . . . . . . . 126
4.6.4.1 Conditions de simulations . . . . . . . . . . . . . . . . . . . . 126
4.6.4.2 Résultats numériques . . . . . . . . . . . . . . . . . . . . . . 128
4.6.5 Simulations B : évaluation des performances du MRPF-MAP . . . . . . 135
4.6.5.1 Conditions de simulations . . . . . . . . . . . . . . . . . . . . 136
4.6.5.2 Résultats numériques . . . . . . . . . . . . . . . . . . . . . . 137
4.6.6 Simulations C : évaluation des performances du MRBPF-MAP . . . . . . 146
4.6.6.1 Résultats numériques . . . . . . . . . . . . . . . . . . . . . . 148
5 Test d’intégrité pour le filtrage particulaire : application au recalage radioaltimétrique
157
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.2 Outils statistiques pour la détection de changement . . . . . . . . . . . . . . . 157
5.2.1 Test d’hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.2.2 Test séquentiel entre hypothèses simples . . . . . . . . . . . . . . . . . 158
5.2.3 Algorithme CUSUM pour la détection de changement en ligne . . . . . . 159
5.3 Un aperçu sur les tests d’intégrité pour les filtres de Kalman . . . . . . . . . . . 16110 TABLE DES MATIÈRES
5.3.1 Définition et causes de divergences pour le filtre de Kalman et ses variantes161
5.3.2 Tests de détection de divergence en filtrage de Kalman . . . . . . . . . . 162
5.4 Détection de divergence en filtrage particulaire . . . . . . . . . . . . . . . . . . 163
5.5 Formulation d’un test d’hypothèse pour la détection de divergence d’un filtre
particulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
5.5.1 Approximation de la moyenne de l’innovation particulaire sous l’hypothèse
de fonctionnement normal du filtre . . . . . . . . . . . . . . . . . . . . 165
5.5.2 Approximation de la variance de l’innovation particulaire sous l’hypothèse
de fonctionnement normal du filtre . . . . . . . . . . . . . . . . . . . . 166
5.5.3 Cas d’un vecteur de mesure multidimensionnel . . . . . . . . . . . . . . 169
5.5.4 Définition du test d’hypothèse . . . . . . . . . . . . . . . . . . . . . . . 169
5.6 Mise en oeuvre d’un test séquentiel pour la détection de divergence . . . . . . . 170
5.6.1 Détection en ligne du changement de moyenne du processus d’innovation
normalisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
5.6.2 Choix des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.6.3 Evaluation des performances du détecteur de divergence dans le cadre du
recalage radio-altimétrique . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.7 Ré-initialisation du filtre particulaire après divergence . . . . . . . . . . . . . . . 180
5.7.1 Choix de la loi a priori pour la ré-initialisation du filtre . . . . . . . . . . 180
5.7.2 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Conclusion générale 193
A Compléments au chapitre 1 197
A.1 Lemme 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
A.2 Lemme 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
B Complément au chapitre 2 199
C Complément au chapitre 4 203
D Compléments au chapitre 5 205
D.1 Détection de divergence dans le cas d’un vecteur de mesure multidimensionnel . 205
D.2 Initialisation à partir d’une série de mesures . . . . . . . . . . . . . . . . . . . . 209
Bibliographie 21811
Notations et acronymes
Notations
P mesure de probabilité
k temps discret
xk vecteur d’état
yk vecteur d’observation
x0:k ensemble {x0, x1, · · · xk}
y0:k ensemble {y0, y1, · · · yk}
d dimension de l’espace d’état
E(.) espérance
Ep(.) espérance par rapport à la densité p
pk, pk|k densité de xk sachant y0:k
pk|k−1 densité de xk sachant y0:k−1
Cov covariance
Var variance
xˆMAP maximum a posteriori
Qk matrice de covariance du bruit de dynamique
Rk matrice de covariance du bruit d’observation
N nombre de particules/échantillons
x ∼ p échantillon issu de p
x
i particule/échantillon
ω
i poids de la particule x
i
Nef f taille effective de l’échantillon
Nth seuil de ré-échantillonnage pour le critère Nef f
K noyau de régularisation
hopt facteur de dilatation optimal
Xk ensemble des particules à l’instant k : {x
i
k
, i = 1, · · · , N}
4
= égal par définition à
∝ proportionnel à
DKL (f k g) divergence de Kullback-Leibler de g à f
U([a, b]) loi uniforme sur [a, b]
hF, Gi
Z
F(x)G(x)dx12 Notations
Jm, nK segment des entiers compris entre m et n
bxc partie entière de x ∈ R
✶A fonction indicatrice pour un événement A
det(A) déterminant de la matrice A
diag(u1, . . . , un) matrice de diagonale d’éléments u1, . . . , un
ϕ(.|µ, Σ) densité de probabilité de la distribution gaussienne
de moyenne µ et de covariance Σ
dilog fonction di-logarithme
plim limite en probabilité
αj,k coefficient de mélange de la composante d’indice j à l’instant k
Cj,k ensemble des particules appartenant au cluster d’indice j à l’instant k
Ij,k indices des particules appartenant au cluster d’indice j
mh,G vecteur mean-shift évalué avec la fenêtre de lissage h et le noyau G
Rm rayon de fusion dans l’algorithme mean-shift
N
j
ef f taille effective de l’échantillon du cluster d’indice j
αmin seuil de suppression d’un cluster
xˆ
∗
j
estimation du j-ème mode de la densité conditionnelle
Nth,MAP seuil d’utilisation de lois d’importance locales dans le MRPF
λ latitude géographique
φ longitude géographique
z altitude géographique
Rn2b matrice de rotation du repère de navigation (n) au repère engin (b)
ψ lacet
θ tangage
ϕ roulis
γm force spécifique
g pesanteur terrestre
ωie vitesse de rotation de la terre dans le repère TGL
hMNT fonction d’observation correspondant au MNT
H0 hypothèse nulle
H1 hypothèse alternative
Dk fonction de décision
ta temps d’arrêt du test
t0 vrai instant de changement
T¯ temps moyen entre deux fausses alarmes
τ
∗ pire retard moyen de détection
ess sup essentiel supremum
k innovation du filtre optimal
N
k
innovation du filtre particulaire
rk processus d’innovation normalisé
τ délai moyen de détection13
Abbréviations
i.i.d. indépendant(e)s et identiquement distribué(e)s
p.s. presque sûrement
v.a. variable aléatoire
Acronymes
AMISE Asymptotic Mean Integrated Squared Error
ARL Fonction ARL (Average Run Length)
BCR Borne de Cramer-Rao classique ou a posteriori
CUSUM Algorithme des sommes cumulées pour la détection de changement de moyenne
EKF filtre de Kalman étendu
KF filtre de Kalman
KPKF Kalman Particle Kernel Filter
MAP Maximum a posteriori
MNT Modèle numérique de terrain
MRPF Mixture Regularized Particle Filter
MRBPF Mixture Rao-Blackwellized Particle Filter
MSE Mean Squared Error
MISE Mean Integrated Squared Error
RBPF Rao-Blackwellized Particle Filter
RPF Regularized Particle Filter
SIR Sequential Importance Resampling
SIS Sequential Importance Sampling
TFA Taux de fausses alarmes
TGL Trièdre géographique local
TND Taux de non détection
UKF filtre de Kalman sans parfum14 Notations15
Introduction générale
Contexte de la thèse
De manière générale, la navigation est la science et l’ensemble des techniques permettant
de connaître la position d’un véhicule en mouvement. Les systèmes de navigation inertielle fournissent
une estimation des coordonnées de position, vitesse et attitude par double intégration
des mesures d’accélération et de vitesse angulaire délivrées par les accéléromètres et gyromètres
de la centrale inertielle. Ces systèmes permettent une navigation autonome contrairement aux
systèmes de radio-navigation qui reposent sur la transmission de signaux par un émetteur externe.
Les capteurs de la centrale inertielle étant entachés d’erreurs de mesure, la solution de navigation
subit une dérive. Il est nécessaire de recaler la navigation à l’aide de mesures auxiliaires indépendantes
de la centrale inertielle.
Dans cette thèse, nous nous intéressons au recalage d’un aéronef via des mesures de hauteursol
fournies par un radio-altimètre, et un modèle numérique de terrain (MNT). L’estimation de
la position de l’aéronef se fait alors en comparant le profil de terrain obtenu à partir des mesures
altimétriques avec le profil de terrain issu de la carte embarquée. Les algorithmes de recalage
fonctionnent soit par batch, c’est-à-dire par corrélation de blocs de mesures consécutives avec le
MNT, soit récursivement en mettant à jour l’estimation de la position à chaque mesure reçue.
Les systèmes batch comme le TERCOM (Terrain Contour Matching) supposent généralement
une bonne connaissance de la vitesse et de l’altitude ce qui restreint leur domaine d’utilisation.
Les méthodes récursives telles que le SITAN (Sandia Inertial Terrain Navigation) reposent sur
l’utilisation d’un ou plusieurs filtres de Kalman étendus (EKF). Cependant lorsque l’incertitude
sur la position initiale est grande ou lorsque le terrain est très accidenté, leur efficacité est limitée.
Dans les deux dernières décennies, les filtres particulaires ont connu un intérêt croissant car ils
permettent d’estimer récursivement l’état d’un système dynamique, sans imposer de contraintes
sur la linéarité du modèle. Ils reposent sur l’approximation de la loi de l’état du système, conditionnellement
aux mesures passées et sont particulièrement adaptés lorsque cette loi est multimodale.
Les caractéristiques de non-linéarité et de multimodalités sont justement typiques de la problé-
matique du recalage par mesures altimétriques :
– en début de recalage, du fait de l’ambiguïté de terrain, il existe plusieurs positions compatibles
avec les mesures. Cela se traduit par une loi conditionnelle multimodale.
– l’équation d’observation du radio-altimètre reliant la position de l’aéronef à la hauteur-sol
est non-linéaire.16 Introduction générale
Le filtre particulaire est une méthode de Monte Carlo séquentielle dont les fondements datent
probablement des années 70 [53, 52], mais la plupart des travaux ont eu lieu à partir des années
90 avec les contributions de Gordon et. al [50], Kong et al. [69], Del Moral [30], Del Moral et.
al [33], ou encore Pitt et Shepard [105]. Les algorithmes particulaires standards reposent sur la
succession d’étapes de prédiction, de correction et de ré-échantillonnage qui maintiennent un
système de particules pondérées approchant la loi a posteriori. Lors de l’étape de prédiction, les
particules sont propagées selon l’équation de dynamique, puis leur poids sont ajustés selon leur
adéquation avec l’observation courante via l’évaluation de la fonction de vraisemblance. Le ré-
échantillonnage consiste à favoriser les particules dont les poids sont significatifs afin de conserver
une approximation de la loi a posteriori non-dégénérée.
Bergman [6] est à l’origine des premiers travaux sur le filtrage particulaire pour le recalage altimétrique.
Dans son étude, il suppose que l’altitude et les composantes de vitesse sont connues et
cherche à estimer la position horizontale du véhicule. Les filtres implémentés se montrent robustes
aux divergences et sont capables d’atteindre la borne d’erreur minimale (Borne de Cramer-Rao
a posteriori), pour une incertitude initiale en position modeste. Des travaux ultérieurs ont permis
d’étudier l’apport de nouveaux filtres à la problématique du recalage altimétrique. Le filtre
particulaire régularisé de Oudjane et Musso [96], initialement développé pour le pistage de cible,
a permis de rendre l’étape de ré-échantillonnage plus robuste. Dans ses travaux sur la navigation
par corrélation de terrain, Nordlund [94] utilise Le Rao-Blackwellized Particle Filter. Ce filtre
exploite la nature linéaire de l’équation de mesure altimétrique, conditionnellement à la position
horizontale, ce qui permet de restreindre l’échantillonnage des particules aux coordonnées de position
horizontale, les composantes d’altitude et de vitesse étant estimées grâce à une batterie de
filtres de Kalman. Ceci permet en principe de réduire le nombre de particules utilisées pour des
performances identiques. On peut également citer le développement du KPKF de Dahia [28] qui
permet d’avoir des taux de convergence plus importants lorsque l’incertitude initiale est importante
tout en réduisant le nombre de particules utilisées.
Néanmoins, il y a deux situations spécifiques pouvant provoquer la divergence du filtre :
1. Lorsque l’approximation particulaire est multimodale, on observe [67, 118] que les étapes
de ré-échantillonnage successives peuvent provoquer la perte prématurée d’un ou plusieurs
modes. Lorsque le mode perdu correspond à la vraie position de l’aéronef, le filtre diverge
automatiquement. Ce risque est d’autant plus important que le terrain est ambigu car, dans
ce cas le filtre est multimodal.
2. Lorsque le terrain connait une variation brusque sous forme d’un fort gradient de terrain
(par exemple un canyon), les méthodes d’échantillonnage standards intervenant dans l’implémentation
du filtre, sont mises en difficulté. Cette situation survient également lorsque
la fonction de vraisemblance, qui intervient lors de l’étape de correction, est très localisée :
c’est le cas si la variance du bruit de mesure est très petite. Lorsque cette situation survient,
le risque est de n’avoir que quelques particules avec un poids significatif, ce qui peut faire
diverger le filtre.
Une autre problématique soulevée par le filtrage particulaire est la détection automatique et sé-
quentielle de la divergence : cela permet de contrôler l’intégrité de la solution de recalage fournie17
par le filtre et, éventuellement, de le ré-initialiser. Dans ces travaux nous considérons que la divergence
correspond à une situation où l’erreur d’estimation est incompatible avec le domaine de
confiance fourni par le filtre particulaire.
Nous proposons dans cette thèse, une approche permettant de conserver le plus longtemps
possible, les modes de la loi conditionelle, jusqu’à ce que l’ambigüité soit levée : les filtres particulaires
développés à cet effet sont le MRPF (Mixture Regularized Particle Filter) et son extension
au filtre Rao-Blackwellisé, noté MRBPF (Mixture Rao-Blackwellized Particle Filter). Ces filtres
s’appuient sur le MPF (Mixture Particle Filter) [118] où la densité cible est exprimée sous forme
d’un mélange de densités fini. Idéalement, chaque composante du mélange est monomodale et
approximée par un sous-ensemble de particules pondérées. Nous utilisons dans le MRPF et le
MRBPF l’algorithme de clustering mean-shift permettant de grouper automatiquement les particules
associées au même mode. Par ailleurs, nous introduisons une procédure de régularisation
locale adaptée aux multimodalités.
Le MRPF et le MRBPF sont ensuite combinés avec une méthode d’échantillonnage d’importance
basée sur les maxima locaux de la loi conditionnelle, l’objectif étant de propager efficacement les
particules dans les zones d’intérêt. Les algorithmes résultants sont le MRPF-MAP et le MRBPFMAP.
Enfin, nous introduisons un algorithme de détection séquentielle de divergence que nous testons
sur plusieurs scénarios de recalage : la première difficulté est de définir un test d’hypothèse permettant
de décider entre la divergence et la non-divergence du filtre. Classiquement, la divergence
en filtrage particulaire est souvent confondue avec le phénomène de dégénérescence, qui est évalué
empiriquement grâce à des indicateurs comme la taille effective de l’échantillon ou l’entropie
des poids. Pourtant en pratique, la divergence du filtre particulaire - au sens d’une "grande" erreur
d’estimation - n’implique pas systématiquement la dégénérescence, d’où la nécessité d’introduire
un autre critère.
Organisation du mémoire
Ce document est organisée en 5 chapitres :
– Le chapitre 1 est un aperçu général sur la problématique du filtrage linéaire et non-linéaire.
Les algorithmes classiques (filtre de Kalman et ses variantes, méthodes de maillages) et
leur cadre d’applicabilité y sont présentés.
– Le chapitre 2 présente les méthodes standards de filtrage particulaire avec un accent sur leur
utilisation dans le cadre du recalage altimétrique. Les difficultés soulevées par le maintien
des modes de la densité conditionnelle dans un filtre particulaire y sont détaillées.
– Le chapitre 3 présente brièvement les systèmes de navigation inertielles et la problématique
du recalage radio-altimétrique.
– Le chapitre 4 introduit plusieurs algorithmes de filtrage particulaire (MRPF, MRBPF et
leurs variantes), développés afin d’approcher plus efficacement la loi a posteriori en début
de recalage lorsque celle-ci est fortement multimodale. Une méthode d’échantillonnage
d’importance permettant de propager les particules dans les zones de forte probabilité est18 Introduction générale
également proposée. Nous présentons également les simulations expérimentales permettant
de quantifier l’apport de chaque algorithme sur plusieurs scénarios de recalage altimétrique.
– Le chapitre 5 est consacré aux tests d’intégrité pour le filtrage particulaire. Nous formulons
le problème de la détection de divergence sous forme d’un test d’hypothèses portant sur
l’innovation du filtre. L’algorithme CUSUM (CUmulative SUM) est utilisé pour contrôler
la statistique de test. Les performances du test développé sont étudiées dans le cadre du
recalage altimétrique en terme de fausses alarmes, de délai de détection et de non détection.
Liste de publications
Le travail de recherche a donné lieu à trois publications dans des congrès internationaux :
B Murangira, A., Musso, C., Proposal Distribution for Particle Filtering Applied to Terrain
Navigation, Proceedings of the 21st European Signal Processing Conference (EUSIPCO),
Marrakech, September 9–13, 2013
B Murangira, A., Musso, C., Nikiforov, I., Particle filter divergence monitoring with application
to terrain navigation, Proceedings of the 15th International Conference on Information
Fusion (FUSION), Singapore, July 9–12, 2012
B Murangira, A., Musso, C., Dahia, K., Allard, J., Robust regularized particle filter for terrain
navigation, Proceedings of the 14th International Conference on Information Fusion
(FUSION), Chicago, July 5–8, 201119
Chapitre 1
Filtrage statistique : méthodes
analytiques et numériques
1.1 Introduction
Ce chapitre introduit la notion de filtrage d’un point de vue général. Après avoir exposé le filtre
optimal comme solution au problème de filtrage, nous nous décrivons les méthodes permettant de
calculer de manière exacte ou approchée le filtre optimal. Nous présentons d’abord les méthodes
analytiques (le filtre de Kalman et ses dérivées) avant de passer au méthodes de résolution
numériques.
1.2 Estimation bayésienne et filtrage en temps discret
Le filtrage consiste à estimer les variable d’états d’un système dynamique que l’on observe
partiellement à travers une série de mesures. Les états (xk)k≥0 du système sont soumis à une
évolution dans le temps décrite par une équation de dynamique du type :
xk = fk(xk−1, wk) (1.1)
où le vecteur des états xk prend ses valeurs dans R
d
, d ≥ 1 étant un entier désignant le nombre
d’états. La suite de variables aléatoires (v.a.) (wk)k≥0 à valeurs dans R
s
, s ≥ 1, modélise les
perturbations aléatoires de la dynamique et l’imperfection du modèle. fk est une fonction à valeurs
dans R
d
.
Ce système est partiellement observé à travers une série de mesures yk fournies par un instrument.
Ce processus d’observation est modélisé par l’équation suivante :
yk = h(xk) + vk (1.2)
h est une fonction d’observation connue à valeurs dans R
m, m ≥ 1 et (vk)k≥0 une suite de v.a.
décrivant les erreurs de mesures dont l’intensité est fonction des imperfections des capteurs et du
rapport signal à bruit. Étant donné la série d’observations bruitées {y0, y1, y2, · · · yk}, on souhaite
estimer l’état du système xk.20 1. Filtrage statistique : méthodes analytiques et numériques
1.2.1 Estimation bayésienne
Le problème consistant à déterminer l’état du système grâce aux mesures (yk)k≥0 s’appelle
estimation. L’estimation de xk se fait souvent selon un critère de minimisation d’un risque. Par
exemple, l’estimateur xˆk minimisant l’erreur quadratique moyenne (ou estimateur MMSE pour
minimum mean squared error)
E
kxk − xˆkk
2
2
= trace
E (xk − xˆk) (xk − xˆk)
T
est l’espérance conditionnelle [73]
xˆ
MMSE
k = E (xk | y0, . . . , yk)
4
=
Z
xkp(xk | y0, . . . , yk) dxk (1.3)
Un deuxième estimateur, utilisé notamment lorsque la loi de densité conditionnelle p(xk | y0, . . . , yk)
est multimodale, est le maximum a posteriori [29], que nous notons ici xˆ
MAP
k
et qui est défini par
xˆ
MAP
k = arg max
xk
p(xk | y0, . . . , yk) (1.4)
Dans tous les cas, la formulation de ces estimateurs nécessite de déterminer la loi de probabilité
conditionnelle de xk sachant les mesures passées {y0, y1, y2, · · · yk} : c’est la problématique du
filtrage. De façon plus générale, l’estimation de la loi de xk sachant y0:p = {y0, y1, y2, · · · yp}
s’appelle :
– prédiction si p < k
– filtrage si p = k
– lissage si p > k
Pour résoudre le problème du filtrage non-linéaire en temps discret, on se place dans le cadre
des modèles à espace d’état :
– (wk)k≥0 est une suite de v.a. mutuellement indépendantes et indépendante de x0. xk est
donc markovien, sa loi est entièrement définie par sa loi initiale µ0(dx) = P(x0 ∈ dx) et le
noyau de transition Qk tel que
P(xk ∈ A|xk−1 = x
0
) = Z
A
Qk(x
0
, dx) (1.5)
– Le bruit vk est une suite de v.a. mutuellement indépendantes et indépendante du processus
xk.
– L’état initial x0 est indépendant de vk et du bruit de dynamique wk
Dans toute la suite, on supposera que la loi conditionnelle de xk sachant y0:k admet une
densité par rapport à la mesure de Lebesgue. Par abus de langage, on confondra parfois la loi
conditionnelle de xk avec sa densité.
1.2.2 Le filtre optimal
On note pk = p(xk | y0:k) la densité conditionnelle de xk sachant les observations passées
y0:k = {y0, y1, · · · yk}. La suite de densités de probabilité (pk)
k≥0
est appelée filtre optimal. Une21
remarque importante pour la résolution du problème du filtrage est la suivante : le calcul de pk
peut se faire de manière récursive. En effet, pk est entièrement déterminé par la donnée de pk−1 et
de la mesure yk sous réserve que l’on puisse évaluer la densité de probabilité P (yk | xk) = gk(xk)
appelée fonction de vraisemblance.
Le calcul récursif de pk peut alors se décomposer en une étape dite de prédiction et une étape de
correction.
Prédiction L’étape de prédiction calcule la loi prédite définie par pk|k−1(dx) = P(xk ∈ dx |
y0:k−1) à partir de pk−1 et de la dynamique du système, caractérisée par le noyau de transition
Qk.
pk|k−1(dx) = Z
Rd
pk−1(dx0
)Qk(x
0
, dx) (1.6)
En effet,
pk|k−1(dx) = p(xk ∈ dx|y0:k−1)
=
Z
p(xk ∈ dx, xk−1|y0:k−1)dxk−1
=
Z
p(xk ∈ dx|xk−1, y0:k−1)p(xk−1|y0:k−1)dxk−1
et étant donné le caractère markovien de xk, p(xk ∈ dx|xk−1, y0:k−1) = p(xk ∈ dx|xk−1), d’où
pk|k−1(dx) = Z
p(xk ∈ dx|xk−1)p(xk−1|y0:k−1)dxk−1
=
Z
Qk(xk−1, dx)pk−1(dxk−1)
Correction Cette étape permet d’obtenir le filtre pk en utilisant la mesure yk pour corriger la
loi prédite pk|k−1 grâce à la formule de Bayes.
pk =
gk(xk)pk|k−1
Z
Rd
gk(x
0
)pk|k−1(dx0
)
(1.7)
En effet,
pk = p(xk|y0:k)
=
p(yk|xk)p(xk|y0:k−1)p(y0:k−1)
p(yk)
=
gk(xk)p(xk|y0:k−1)
p(yk|y0:k−1)
=
gk(xk)pk|k−1
Z
Rd
gk(x
0
)pk|k−1(dx0
)22 1. Filtrage statistique : méthodes analytiques et numériques
La réalisation des étapes de prédiction et de correction nécessite le calcul d’intégrales multidimensionnelles
dont le calcul analytique n’est possible que sous certaines conditions. Par exemple
dans le cas d’un modèle linéaire gaussien, on dispose d’expressions exactes grâce à l’algorithme
du filtre de Kalman présenté ci-après. De manière générale, il est nécessaire de recourir à des
approximations soit par des méthodes analytiques faisant intervenir une simplification du modèle
(linéarisation pour le filtre de Kalman étendu par exemple, cf. section 1.3.1.2), soit par des
méthodes numériques fondées sur une discrétisation de l’espace d’état (méthodes de maillage),
soit par des méthodes de Monte Carlo (cf. chapitre 2).
1.3 Méthodes de résolution du problème de filtrage
1.3.1 Méthodes analytiques
1.3.1.1 Le filtre de Kalman (KF)
Le filtre de Kalman a été développé par Rudolf Emil Kalman en 1960 pour les modèles
discrétisés [65]. Une version en temps continu a été élaborée une année après par Kalman et
Bucy. C’est le filtre optimal pour les modèles linéaires gaussiens de la forme suivante :
(
xk = Fkxk−1 + Bk + wk
yk = Hkxk + Dk + vk
avec les hypothèses :
– Fk ∈ Md,d(R), Bk ∈ Md,1(R), Hk ∈ Mm,d(R) et Dk ∈ Mm,1(R) sont des matrices
déterministes et connues
– les bruits wk et vk à valeurs dans Rd et Rm sont des bruits blancs gaussiens de matrices de
covariance respectives Qk et Rk. wk et vk sont mutuellement indépendants et indépendants
de la condition initiale x0.
– La condition initiale x0 suit une loi gaussienne de moyenne m0 et de matrice de covariance
P0.
Sous ces hypothèses, on montre que la loi jointe de (xk, yk) est gaussienne ce qui implique que
la loi a posteriori pk l’est également. Le filtre pk est donc entièrement déterminé par la donnée
de sa moyenne xˆk et de sa matrice de covariance Pk. Le filtre de Kalman est un algorithme qui
permet de calculer analytiquement et récursivement ces 2 moments via des étapes de prédiction
(1.6) et de correction (1.7).
1. Prédiction
(
xˆk|k−1 = Fkxˆk−1 + Bk
Pk|k−1 = FkPk−1F
T
k + Qk
(1.8)
2. Correction
xˆk = ˆxk|k−1 + Kk[yk − (Hkxˆk|k−1 + Dk)]
Kk = Pk|k−1HT
k
[HkPk|k−1HT
k + Rk]
−1
Pk = [I − KkHk]Pk|k−1
(1.9)23
Le terme Kk désigne la matrice de gain de Kalman. Il permet d’obtenir la moyenne a posteriori
xˆk = E(xk|y0:k) et la covariance a posteriori Pk = Cov(xk|y0:k) en faisant intervenir la mesure yk
via le terme dit d’innovation k = yk − (Hkxˆk|k−1 + Dk). Les équations de Kalman peuvent être
obtenues en appliquant directement les équations (1.6) et (1.7) afin de calculer successivement
la moyenne et la covariance prédites
xˆk|k−1, Pk|k−1
, puis la moyenne et la covariance corrigées
(ˆxk, Pk). Notons que les matrices (Kk)
k≥0
, (Pk)
k≥0
et
Pk|k−1
k≥0
ne dépendent pas des mesures
(yk)
k≥0
et peuvent être calculées hors ligne.
Lorsque le bruit de dynamique ou de mesure n’est plus gaussien, le filtre de Kalman est le filtre
linéaire à variance minimale.
Filtre de Kalman informationnel Le filtre de Kalman informationnel est une implémentation
qui propage l’inverse Jk de la matrice de de covariance Pk, appelée matrice d’information.
Introduisons Jk|k−1 = P
−1
k|k−1
et Jk = P
−1
k
. Le calcul récursif de Jk|k−1 et Jk s’obtient en utilisant
le lemme d’inversion matricielle (cf. annexe A.1) :
1.
Jk|k−1 = P
−1
k|k−1 =
h
FkPk−1F
T
k + Qk
i−1
(1.10)
=
h
FkJ
−1
k−1F
T
k + Qk
i−1
(1.11)
= Q
−1
k − Q
−1
k Fk[F
T
k QkFk + Jk−1]
−1F
T
k Q
−1
k
(1.12)
2.
Jk = P
−1
k = [Pk|k−1 − Pk|k−1H
T
k
(HkPk|k−1H
T
k + Rk)
−1HkPk|k−1]
−1
(1.13)
= (P
−1
k|k−1 + H
T
k R
−1
k Hk) (1.14)
= (Jk|k−1 + H
T
k R
−1
k Hk) (1.15)
La moyenne prédite se calcule de la même façon :
xˆk|k−1 = Fkxˆk−1 + Bk
La moyenne corrigée est obtenue en exprimant le gain de Kalman Kk en fonction de Jk|k−1 :
Kk = Pk|k−1H
T
k
[HkPk|k−1H
T
k + Rk]
−1
= [HkR
−1
k H
T
k + P
−1
k|k−1
]
−1H
T
k R
−1
k
d’après le lemme d’inversion matricielle A.2. D’où
Kk = [HkR
−1
k H
T
k + P
−1
k|k−1
]
−1H
T
k R
−1
k
= J
−1
k H
T
k R
−1
k
Finalement,
xˆk = ˆxk|k−1 + J
−1
k H
T
k R
−1
k
[yk − (Hkxˆk|k−1 + Dk)]24 1. Filtrage statistique : méthodes analytiques et numériques
D’après (1.12) et (1.15), on observe que dans le filtre de Kalman informationnel, on inverse
essentiellement des matrices d × d (exception faite de la matrice de covariance de mesure Rk)
contrairement au filtre de Kalman standard qui nécessite l’inversion de matrices m×m, où m est
la dimension de la mesure et d celle de l’état. Dans le cas où m >> d, la version informationnelle
peut se révéler avantageuse.
D’autre part, le filtre de Kalman informationnel permet de traiter le cas d’une incertitude initiale
P0 infinie, qui correspond à une information initiale nulle i.e. J0 = 0, là où l’écriture P0 = ∞
n’aurait pas de sens numériquement dans le filtre de Kalman standard.
1.3.1.2 Le filtre de Kalman étendu (EKF)
On considère un système dynamique dont les fonctions d’évolution et d’observation sont
non-linéaires.
(
xk = fk(xk−1) + wk
yk = hk(xk) + vk
(1.16)
wk et vk sont des bruits blancs gaussiens mutuellement indépendants et indépendant de x0. On
ne suppose plus que la condition initiale x0 est gaussienne.
Dans le cas où les fonctions d’observations sont dérivables, on peut linéariser les équations de
prédictions et de corrections respectivement autour de l’état corrigé xˆk−1 et autour de l’état
prédit xˆk|k−1 :
xk ≈ fk(ˆxk−1) + ∇fk (ˆxk−1) (xk−1 − xˆk−1) + wk
yk ≈ h(ˆxk|k−1) + ∇hk
xˆk|k−1
xk − xˆk|k−1
+ vk
où ∇fk et ∇hk représentent les matrices jacobiennes de fk et hk. Soit Fk−1 = ∇fk(ˆxk−1) et
Hk = ∇hk(ˆxk|k−1). Le modèle linéarisé est donc :
(
xk = Fkxk−1 + fk(ˆxk−1) − ∇fk (ˆxk−1) ˆxk−1 + wk
yk = Hkxk + hk(ˆxk|k−1) − ∇hk
xˆk|k−1
xˆk|k−1 + vk
(1.17)
L’algorithme du filtre de Kalman étendu est alors le suivant :
1. Prédiction
Fk−1 = ∇fk(ˆxk−1)
xˆk|k−1 = fk(ˆxk−1)
Pk|k−1 = Fk−1Pk−1Fk
T + Qk
(1.18)
2. Correction
Hk = ∇hk(ˆxk|k−1)
Kk = Pk|k−1Hk
T
HkPk|k−1Hk
T + Rk
−1
xˆk = ˆxk|k−1 + Kk
h
yk − h(ˆxk|k−1)
i
Pk = (I − KkHk) Pk|k−1
(1.19)
Le filtre de Kalman étendu est extrêmement populaire en estimation de systèmes dynamiques.
Il est notamment utilisé en pistage de cible [100], en navigation par mesures GPS [64] ou en
robotique [74]. Il est avantageux par la simplicité de sa mise en oeuvre et sa faible complexité
algorithmique. Cependant, lorsque les fonctions d’évolution et d’observation sont fortement nonlinéaires
ou lorsque l’initialisation est mauvaise, l’EKF est susceptible de diverger.25
1.3.1.3 Le filtre de Kalman sans parfum (UKF)
Le filtre de Kalman sans parfum - Unscented Kalman Filter (UKF) en anglais - a été introduit
par Julier et Uhlmann [63] afin d’éviter l’étape de linéarisation de l’EKF qui peut poser des
problèmes numériques lorsque l’on souhaite calculer les jacobiennes du modèles. L’UKF fonctionne
en calculant successivement la moyenne et la covariance a posteriori de l’état à l’aide d’un nombre
fini d’échantillons, appelés sigma-points caractéristiques de la loi conditionnelle. L’algorithme
suppose implicitement que cette loi est monomodale. Le calcul des sigma points se fait grâce à
une transformation sans parfum (Unscented Transformation) qui permet de calculer les moments
d’une variable aléatoire Y ayant subi une transformation non linéaire sous la forme Y = g(X).
Transformation sans parfum (UT) Etant donné une variable aléatoire X de dimension d
de moyenne X¯ et matrice de covariance PX. Soit Y = g(X) une v.a. dont on veut calculer la
moyenne et la covariance et g une fonction non linéaire. Le principe de la transformation UT est
de choisir 2d+ 1 points pondérés, caractéristiques de la distribution de X, de telle sorte que leurs
moyenne et covariance valent respectivement X¯ et PX. Les sigma-points {χi}
2d+1
i
et leur poids
correspondants {ωi}
2d+1
i
sont choisis de manière déterministe selon le schéma suivant :
χ0 = X¯
χi = X¯ + (q
(d + κ)PX)i
, i = 1, ..., d
χi = X¯ − (
q
(d + κ)PX)i
, i = d + 1, ..., 2d
ω0 = κ/(d + κ)
ωi = ωi = 1/2(d + κ), i = 1, ..., 2d
(1.20)
q
(d + κ)PX
i
est la i-ème colonne de la racine carrée de la matrice (d + κ)PX. Pour une
distribution gaussienne κ = 3 − d, cette valeur est en général utilisée lorsqu’on ne connait pas la
forme de la distribution de X.
Le calcul de la moyenne Y¯ et de la covariance PY de Y se fait alors de la manière suivante :
Yi = g(χi), i = 0, ..., 2d
Y¯ ≈
X
2d
i=0
ωiYi
PY ≈
X
2d
i=0
ωi(Yi − Y¯ )(Yi − Y¯ )
T
Julier et Uhlmann montrent que ces approximations de la moyenne et de la covariance sont
correctes au troisième ordre [62].
L’algorithme UKF L’algorithme de filtrage récursif de l’UKF a été obtenu par Julier et Uhlmann
en définissant l’état augmenté du système x
a
k
, comme la concaténation de l’état xk et des
bruits wk et vk à l’instant k soit : x
a
k = (xk, wk, vk)
T
. x
a
k
est donc un vecteur de dimension
da = 2d + m, m étant la dimension du vecteur de mesure. L’UKF calcule donc à chaque instant26 1. Filtrage statistique : méthodes analytiques et numériques
la moyenne conditionnelle x¯k et la variance a posteriori Pk.
On pose P
a
k = Cov(x
a
k
| y0:k) =
Pk 0 0
0 Q 0
0 0 R
• Initialisation
1. x¯0 = E (x0)
2. P0 = E
h
(x0 − xˆ0) (x0 − xˆ0)
T
i
3. P
a
0 =
P0 0 0
0 Q 0
0 0 R
Pour k = 1 . . . n
• Calcul des sigma-points
1. χ
a,i
k−1 =
x¯
a
k−1 x¯
a
k−1 ±
q
(da + κ) P
a,i
k−1
i = 1 . . . 2da
où q
(da + κ) P
a,i
k−1
représente la i
ème colonne de la décomposition de Cholesky de
(da + κ) P
a,i
k−1
.
• Prédiction
1. χ
x,i
k|k−1 = fk
χ
x,i
k−1
, χ
w,i
k−1
2. x¯k|k−1 =
X
2da
i=0
ωiχ
x,i
k|k−1
3. Pk|k−1 =
X
2da
i=0
ωi(χ
x,i
k|k−1 − x¯k|k−1)(χ
x,i
k|k−1 − x¯k|k−1)
T
4. y
i
k|k−1 = hk
χ
x,i
k−1
, χ
v,i
k−1
5. y¯k|k−1 =
X
2da
i=0
ωiy
i
k|k−1
• Correction
1. P
Y
k|k−1 =
X
2da
i=0
ωi(y
i
k|k−1 − y¯k|k−1)(y
i
k|k−1 − y¯k|k−1)
T
2. P
XY
k|k−1 =
X
2da
i=0
ωi(χ
x,i
k|k−1 − x¯k|k−1)(y
i
k|k−1 − y¯k|k−1)
T
3. Kk = P
XY
k|k−1P
Y,−1
k|k−1
4. x¯k = ¯xk|k−1 + Kk
Yk − y¯k|k−1
5. Pk = Pk|k−1 + KkP
Y
k|k−1KT
k27
Dans la plupart des applications, il a été observé que l’UKF permet d’estimer l’état du système
avec plus de précision que l’EKF [63] avec un gain en robustesse appréciable. De plus, il ne
nécessite pas de linéarisation du modèle, ce qui rend son implémentation plus simple que celle de
l’EKF. Cependant son application se limite aux applications où la loi conditionnelle p(xk | y0:k)
est monomodale.
1.3.2 Méthodes numériques
La plupart des systèmes physiques sont décrits par des modèles en temps continu. Par exemple,
la dérive d’une centrale inertielle obéit à un système d’équations différentielles stochastiques
(cf.3.3). Les systèmes dynamiques en temps continu consistent en un processus d’état caché
(xt)t≥0 et un processus d’observation (yt)t≥0 à valeur respectivement dans R
d
et R
m, dont
l’évolution est régie par le système d’équations suivant :
(
dxt = b(xt)dt + σ(xt)dWt
dyt = h(xt)dt + dVt
(1.21)
où (Wt)t≥0 et (Vt)t≥0 sont des processus de Wiener standards mutuellement indépendants avec
(Vt)t≥0 indépendant de (xt)t≥0. b et h sont des fonctions à valeurs dans R
d
et σ une application
de R
d
7→ R
d × R
d
. Soit Yt = σ(ys, 0 ≤ s ≤ t) la sigma-algèbre engendrée par les observations.
Le problème du filtrage en temps continu consiste à déterminer la densité conditionnelle de xt
sachant Yt notée pt
, telle que pour toute fonction φ mesurable bornée
E(φ(xt)|Yt) = Z
Rd
φ(x)pt(x)dx (1.22)
Sous certaines hypothèses sur les fonctions b et σ, Zakai [125] a montré que le filtre optimal
pt est l’unique solution d’une équation différentielle stochastique, l’équation de Zakai.
dpt = L
T
ptdt + pth
TR
−1
dyt (1.23)
où L est l’opérateur infinitésimal associé au processus xt
, défini par
L =
1
2
Xm
i,j=1
ai,j (.)
∂
2
∂xi∂xj
+
Xm
i,j=1
bi(.)
∂
∂xi
où a = (ai,j ) = σσT
. En pratique, les observations sont disponibles à des instants discrets
tk, k = 0, 1, . . . de sorte qu’il est nécessaire de discrétiser l’équation de Zakai en utilisant un
schéma d’Euler par exemple [104]. Reste à discrétiser l’espace d’état par maillage de manière à
résoudre numériquement (1.23) par différences finies. Le maillage peut se faire à pas constant [71]
ou avec un pas variable ce qui permet de mailler finement les zones de grande probabilité [14] et
mailler grossièrement les zones de faible probabilité : l’avantage du maillage adaptatif est qu’il
permet généralement des gains en temps de calcul et en mémoire. Les méthodes de maillage sont
efficaces en dimension d ≤ 3 mais au delà, le temps de calcul est souvent prohibitif.28 1. Filtrage statistique : méthodes analytiques et numériques
Conclusion du Chapitre 1
Nous avons introduit et défini le problème du filtrage et son application à l’estimation de l’état
d’un système. Le cadre théorique nous a conduit à étudier les méthodes analytiques et numérique
en filtrage. Les principales méthodes analytiques sont essentiellement le filtre de Kalman et ses
variantes. Lorsque le système à espace d’état est faiblement non-linéaire, le filtre de Kalman
étendu (EKF) donne généralement des résultats satisfaisants. Le filtre de Kalman sans parfum
(UKF) améliore la précision de l’estimation de l’état par rapport à l’EKF tout en se montrant
plus robuste. En revanche lorsque les non-linéarités sont fortes, ces méthodes analytiques sont
peu fiables. Une possibilité est de recourir aux méthodes numériques, basées sur une résolution
d’une équation aux dérivées partielles, par des schémas de discrétisation. Cependant, au delà de
la dimension 3, le temps de calcul augmente exponentiellement avec la dimension de l’espace
d’état, ce qui rend leur utilisation limitée.
Les méthodes de Monte Carlo sont a priori plus appropriées car moins sensibles à la dimension de
l’espace d’état et indifférents aux non-linéarités et au caractère gaussien des bruits de dynamique
et de mesure. En outre, elles sont adaptées aux lois conditionnelles multimodales.29
Chapitre 2
Méthodes particulaires pour le filtrage
non linéaire
Introduction
L’objectif de ce chapitre est d’introduire les briques de base du filtrage particulaire et d’exposer
quelques algorithmes utilisés notamment pour le recalage de la navigation inertielle. Nous
introduisons brièvement les méthodes de Monte Carlo usuelles avant d’illustrer comment leur
utilisation dans un cadre séquentiel permet d’aboutir au filtre particulaire. Nous mettons en évidence
les limites du filtre particulaire classique en présence de multimodalités. Dans ce contexte,
nous présentons une méthodologie générale adaptée à l’estimation des lois a posteriori p(xk|y0:k)
multimodales.
2.1 Méthodes de Monte Carlo
2.1.1 Echantillonnage Monte Carlo
Soit X une variable aléatoire à valeurs dans R
d de densité de probabilité p(x). Soit φ une
fonction bornée de R
d dans R. On souhaite approcher numériquement l’espérance de φ(X) définie
par :
E (φ(X)) = Z
φ(x)p(x)dx = φ¯ (2.1)
Soit Xi
, i = 1, 2, . . . , N une suite de variable aléatoires i.i.d de même loi que X. Alors, d’après
la loi des grands nombres, la moyenne empirique converge presque surement (p.s.) vers E(φ(X)),
i.e.
φ¯N 4
=
1
N
X
N
i=1
φ(X
i
) −−−−−→ N→+∞
E(φ(X)) (2.2)
De plus, la variance de l’estimateur φ¯N (X) vaut :
Var
φ¯N
=
σ
2
φ
N30 2. Méthodes particulaires pour le filtrage non linéaire
avec
σ
2
φ =
Z
(φ(x) − φ¯)
2
p(x)dx
Par ailleurs, le théorème central limite caractérise l’erreur asymptotique de l’estimateur φ¯N .
En effet, la variable aléatoire
√
N
σφ
φ¯N − φ¯
converge en loi vers une loi normale centrée réduite.
2.1.2 Echantillonnage pondéré
L’échantillonnage Monte Carlo pondéré (importance sampling en anglais) consiste à calculer
l’espérance définie par l’équation (2.1) en simulant un échantillon issu d’une loi de densité q, dite
loi d’importance ou loi instrumentale, et en pondérant cet échantillon de manière adéquate. Cette
méthode est utile lorsque l’on souhaite réduire la variance de l’estimateur Monte Carlo classique
ou quand échantillonner p est difficile (voir l’exemple ci-après). La densité de probabilité q doit
vérifier les hypothèses suivantes pour toute fonction mesurable bornée φ :
1. Le support de x 7→ φ(x)p(x) est inclus dans le support de q
2. Z
φ
2
(x)
p(x)
q(x)
dx < ∞
L’estimateur obtenu par échantillonnage pondéré est obtenu en remarquant que :
Ep (φ(X)) = Z
φ(x)p(x)dx =
Z
φ(x)
p(x)
q(x)
q(x)dx = Eq
φ(X)
p(X)
q(X)
!
(2.3)
Soit x
i
, i = 1, 2, . . . , N un échantillon issu de q. Alors
E (φ(X)) ≈ φ¯N
IS =
1
N
X
N
i=1
φ(x
i
)
p(x
i
)
q(x
i
)
(2.4)
Lorsque la densité p n’est connue qu’à une constante de normalisation c près, i.e. p(x) = cp˜(x)
avec c =
R
p(x)dx, il est possible de définir l’estimateur φ¯N
IS pondéré de la manière suivante :
φ¯N
IS ≈
X
N
i=1
ω˜
iφ(x
i
)
X
N
i=1
ω˜
i
(2.5)
avec ω˜
i =
p˜(x
i
)
q(xi)
. Dans ce cas, la constante de normalisation c est approchée par 1
N
PN
i=1 ω˜
i
.31
Exemple (Inférence Bayésienne) : Afin d’illustrer l’intérêt de l’échantillonnage
pondéré, supposons que le paramètre inconnu X ∼ q où q est la densité d’une loi
que l’on sait échantillonner. On observe X à travers une mesure y = h(X) + v où
v est un bruit de densité gv et h une fonction non-linéaire. On souhaite estimer
une quantité E(φ(X)|Y ) = R
φ(x)p(x|y)dx où φ est une fonction bornée. Dans la
plupart des cas, échantillonner p = p(x|y) n’est pas aisé donc on ne peut recourir à
l’estimateur Monte Carlo standard. En revanche, en prenant comme densité d’importance
la densité a priori q et en constatant que p(x)
q(x) ∝ p(y|x) = gv(y − h(x))
en vertu de la loi de Bayes, on a accès à l’estimateur par échantillonnage pondéré
φ¯N
IS =
PN
i=1 φ(x
i
)gv(y−h(x
i
))
PN
i=1 gv(y−h(xi))
où x
i
, i = 1, . . . , N est un N-échantillon issu de q.
Les estimateurs (2.4) et (2.5) sont asymptotiquement non biaisés et convergent presque
surement vers E (φ(X)) (voir, par exemple [48]). De plus,
Var
φ¯N
IS
=
1
N
Z
φ
2
(x)
p
2
(x)
q(x)
dx −
1
N
Z
φ(x)p(x) dx2
De même que pour l’estimateur Monte Carlo standard, il existe un théorème central limite
qui permet de caractériser la loi limite de l’erreur d’estimation. En effet, lorsque N tend vers
l’infini la v.a. √
N
φ¯N
IS − φ¯
converge en loi vers une loi normale centrée de variance σ
2
IS =
Z
φ(x) − φ¯
2 p
2
(x)
q(x)
dx
2.1.3 Échantillonnage par acceptation-rejet
Supposons que la densité p s’exprime comme le produit d’une densité q et d’une fonction g
que l’on sait évaluer en tout x de R
d
.
p(x) = g(x)q(x)
R
Rd g(x)q(x)dx
La méthode d’acceptation permet [34] d’obtenir un échantillon suivant la loi de densité p lorsqu’on
sait simuler la loi de densité q.
Pour cela, on suppose seulement que M = supx∈Rd g(x) < ∞. Afin d’obtenir un échantillon
x
i ∼ p, i = 1, . . . , N, on applique l’algorithme suivant.
1. i = 1
2. Générer ξ ∼ q et u ∼ U([0, 1]) où U([a, b]) désigne la loi uniforme sur l’intervalle [a, b], a
et b étant des réels.
3. Si Mu ≤ g(ξ), poser x
i = ξ et i = i + 1.
4. Aller en (2) tant que i ≤ N.
L’efficacité de la méthode d’acceptation-rejet dépend essentiellement du recouvrement de g
et q. En effet, la probabilité d’acceptation vaut pa =
R
Rd
g(x)q(x)dx
M
et est d’autant plus grande que
le recouvrement entre q et g est important. Cette méthode est donc potentiellement couteuse en
temps de calcul puisqu’on risque de rejeter beaucoup de variables aléatoires lors de l’étape 3.32 2. Méthodes particulaires pour le filtrage non linéaire
2.2 Filtrage particulaire
Soit un système dynamique non-linéaire défini par l’ensemble d’équations suivant :
(
xk = fk (xk−1, wk)
yk = hk(xk, vk)
(2.6)
– xk est le vecteur d’état de dimension d
– yk est le vecteur d’observations de dimension m
– wk et vk sont des bruits blancs mutuellement indépendants non nécessairement gaussiens
qui admettent des densités de probabilités. (wk)
k≥0
et (vk)
k≥0
sont indépendantes de la
condition initiale x0. x0 suit une loi de densité µ0.
Le filtre particulaire - également appelé bootstrap filter [50], Monte Carlo filter [68] ou encore
condensation filter [79] - approche la densité conditionnelle p(xk | y0:k) par un ensemble d’échantillons
pondérés appelés particules. Ces particules évoluent selon la dynamique de l’état et sont
pondérés en fonction de leur adéquation avec l’observation courante grâce à la fonction de vraisemblance
(cf. section 1.2.2). Dans toute la suite on supposera que :
– on sait générer des échantillons selon la densité de transition p(xk|xk−1),
– il est possible d’évaluer la fonction de vraisemblance gk(xk) = p(yk|xk) en tout point xk
de l’espace d’état.
2.2.1 L’échantillonnage séquentiel pondéré
L’algorithme d’échantillonnage séquentiel pondéré [52] (Sequential Importance Sampling (SIS)
en anglais) est fondé sur une approximation de la densité conditionnelle p0:k = p(x0:k|y0:k) par la
méthode d’échantillonnage pondéré abordée dans la section 2.1.2. On notera x0:k = (x0, . . . , xk)
T
la trajectoire de l’état de l’instant initial à l’instant k.
Dans le cas général, échantillonner directement p0:k est difficile et/ou couteux. En effet, la factorisation
p0:k(x0:k|y0:k) = p(y0:k|x0:k)p(x0:k)
p(y0:k)
suggère que si échantillonner selon la densité jointe p(x0:k) est généralement possible, cela né-
cessiterait une méthode de type acceptation-rejet pour obtenir un échantillon suivant la loi p0:k.
Soit q(x0:k|y0:k) une densité instrumentale pour laquelle la simulation directe est aisée. Soit
x
i
0:k
, i = 1, . . . , N un échantillon issu de q. On définit les poids non normalisés par ω˜
i
k =
p(x
i
0:k
|y0:k)
q(x
i
0:k
|y0:k)
et les poids normalisés ω
i
k =
ω˜
i
k
PN
i=1 ω˜
i
k
. Alors,
p(x0:k|y0:k) ≈
X
N
i=1
ω
i
k
δx
i
0:k
(2.7)
où δx désigne la masse de Dirac centrée au point x. Une approximation du filtre à l’instant k est33
alors obtenue par marginalisation de p(x0:k|y0:k) :
p(xk|y0:k) ≈
X
N
i=1
ω
i
k
δx
i
k
(2.8)
De manière générale échantillonner q(x0:k|y0:k) a une complexité qui augmente au moins linéairement
au cours du temps car la dimension du vecteur x0:k est linéaire en k. Il est donc intéressant
d’avoir une méthode d’échantillonnage séquentielle.
Pour obtenir une formulation récursive de (2.7), on exprime p(x0:k|y0:k) en fonction de p(x0:k−1|y0:k−1).
p(x0:k|y0:k) = p(x0:k−1|y0:k−1)p(xk|x0:k−1, y0:k−1)p(yk|xk)
p(yk|y0:k−1)
Etant donné que xk est Markovien, p(xk|x0:k−1, y0:k−1) = p(xk|xk−1). D’où
p(x0:k|y0:k) = p(x0:k−1|y0:k−1)p(xk|xk−1)p(yk|xk)
p(yk|y0:k−1)
(2.9)
Afin d’obtenir un algorithme séquentiel du filtre, considérons une densité d’importance q sous la
forme :
q(x0:k|y0:k) = q(x0:k−1|y0:k−1)q(xk|x0:k−1, y0:k) (2.10)
On observe que si l’on dispose d’un échantillon pondéré n
ω
i
k−1
, xi
0:k−1
oN
i=1
de taille N, il est possible
d’obtenir un échantillon {ω
i
k
, xi
0:k}
N
i=1 en simulant x
i
k
selon q(xk|x
i
0:k−1
, y0:k) et en concaté-
nant cet échantillon au vecteur x
i
0:k−1
.
Le calcul des poids ω
i
k
se fait selon
ω
i
k ∝
p(x
i
k
|x
i
k−1
)p(yk|x
i
k
)p(x
i
0:k−1
|y0:k−1)
q(x
i
k
|x
i
0:k−1
, y0:k)q(x
i
0:k−1
|y0:k−1)
(2.11)
= ω
i
k−1
p(x
i
k
|x
i
k−1
)p(yk|x
i
k
)
q(x
i
k
|x
i
0:k−1
, y0:k)
(2.12)
Notons qu’en filtrage, le but est d’estimer la loi a posteriori p(x
i
k
|y0:k). On a donc uniquement
besoin de l’ensemble des particules à l’instant précédent n
x
i
k−1
oN
i=1
. L’algorithme d’échantillonnage
pondéré séquentiel peut alors être simplifié en choisissant une densité d’importance q telle
que q(xk|x0:k−1, y0:k) = q(xk|xk−1, yk). Dans ce cas,
ω
i
k ∝ ω
i
k−1
p(x
i
k
|x
i
k−1
)p(yk|x
i
k
)
q(x
i
k
|x
i
k−1
, yk)
(2.13)
L’algorithme SIS se résume ainsi :
Algorithme 1 : SIS
pour i = 1, . . . , N faire34 2. Méthodes particulaires pour le filtrage non linéaire
– tirer x
i ∼ q(x0|y0)
– calculer ω
i
0 ∝
µ0(x
i
0
)p(y0|x
i
0
)
q(x
i
0
|y0)
– normaliser les poids ω
i
0
fin pour
pour k = 1, . . . , n faire
pour i = 1, . . . , N faire
– [Prédiction] tirer x
i
k ∼ q(x
i
k
|x
i
k−1
, yk)
– [Correction] calculer les poids ω
i
k ∝ ω
i
k−1
p(x
i
k
|x
i
k−1
)p(yk|x
i
k
)
q(x
i
k
|x
i
k−1
,yk)
– normaliser les poids ω
i
k
fin pour
fin pour
Les estimées de la moyenne et de la covariance de l’état xk sont alors respectivement :
E(xk|y0:k) ≈ xˆk =
X
N
i=1
ω
i
kx
i
k
(2.14)
E
h
(xk − xˆk) (xk − xˆk)
T
|y0:k
i
≈ Pˆ
k =
X
N
i=1
ω
i
k
x
i
k − xˆk
x
i
k − xˆk
T
(2.15)
2.2.2 Dégénérescence des poids
L’algorithme d’échantillonnage séquentiel pondéré est la brique de base du filtrage particulaire.
Cependant, il souffre d’une limitation importante : après quelques itérations, toutes les particules
sauf une ont un poids proche de zéro. L’estimation de la loi a postériori est donc réduite à un
dirac, ce qui entraine la divergence du filtre. Ce phénomène est caractérisé par une augmentation
dans le temps de la variance des poids normalisés {ω
i
k}
N
i=1. Kong et al. ont notamment montré
que lorsque la loi d’importance de densité q0:k = q(x0:k|y0:k) est différente de la loi cible de densité
p(x0:k|y0:k), la variance des poids ne peut qu’augmenter [69]. Une illustration de la dégénérescence
du système de particules est donnée par la figure 2.1. On considère ici l’évolution des particules
d’un filtre SIS à 100 particules estimant le modèle linéaire gaussien suivant :
(
xk+1 = xk + wk
yk = xk + vk
(2.16)
avec wk ∼ N (0, 0.0022
), vk ∼ N (0, 0.1
2
) et x0 ∼ N (0, 1).
La position des particules de poids significatifs 1
y est affichée en fonction du temps. On
observe que le système perd rapidement en diversité et vers la fin de la trajectoire, très peu de
particules contribuent à l’estimation.
Pour retarder ce phénomène il est nécessaire de choisir une densité instrumentale q0:k aussi
proche de la loi conditionnelle p0:k que possible. Malgré cela, il est indispensable de recourir à
une étape dite de ré-échantillonnage afin de conserver un système de particules non dégénéré.
1. càd dont les poids sont supérieurs à 10−635
Figure 2.1 – Illustration du phénomène de dégénérescence des poids. Abscisse : temps discret,
ordonnée : position des particules
2.2.3 Ré-échantillonnage des particules
Le ré-échantillonnage a pour objectif de dupliquer les particules dont le poids est suffisamment
fort et d’éliminer les particules dont le poids est trop faible afin de ne conserver que les
particules les plus significatives. Kong et al. [69] préconisent de contrôler l’évolution de la taille
effective de l’échantillon (effective sample size en anglais) notée Nef f qui est un indicateur de
la dégénerescence du filtre. Ils montrent que Nef f est relié à la variance des poids normalisés à
l’instants k, {ω
i
k}
N
i=1 via l’égalité :
Nef f =
N
1 + Varp0:k
(ωk(x0:k)) (2.17)
Ainsi, plus la variance des poids est élevée, plus la taille effective de l’échantillon est faible. Par
ailleurs, Nef f est relié à la divergence du χ
2
entre p0:k et q0:k via l’égalité :
N
Nef f
− 1 = χ
2
(p0:k, q0:k) = Z
(p0:k(x0:k) − q0:k(x0:k))2
q0:k(x0:k)
dx0:k (2.18)
On peut remarquer que 1 ≤ Nef f ≤ N. Autrement dit, Nef f est un indicateur du nombre
d’échantillons qui contribuent significativement à l’estimation de la loi p(xk|y0:k). Dans la pratique,
lorsque Nef f est inférieur à un seuil prédéfini Nth, on applique le ré-échantillonnage. Pour
cela, l’approximation suivante de Nef f est souvent utilisée :
Nef f ≈
1
PN
i=1(ω
i
k
)
2
(2.19)36 2. Méthodes particulaires pour le filtrage non linéaire
Il existe un second critère relatif à l’entropie des poids normalisés, introduit par Pham [102]
dans le cadre d’assimilation de données, qui s’exprime sous la forme suivante :
Sω = log(N) + X
N
i=1
ω
i
k
log
ω
i
k
(2.20)
Une observation intéressante est que :
Sω ≈ log(N) + DKL (p0:k k q0:k)
où DKL (p0:k k q0:k) désigne la divergence de Kullback-Leibler de q0:k par rapport à p0:k : c’est
une mesure de l’information perdue lorsque q0:k est utilisée pour approcher p0:k [13]. De façon
générale, la divergence de Kullback-Leibler d’une loi de densité g par rapport à une loi de densité
f est définie par :
DKL (f k g) = Z
f(x) log f(x)
g(x)
dx (2.21)
Sω est nul lorsque tous les poids sont égaux à 1
N
et Sω = log(N) si l’un des poids vaut 1 .
Une heuristique est de ré-échantillonner le système de particules lorsque l’entropie Sw dépasse un
certain seuil Sth.
Ré-échantillonner consiste à remplacer le système de particules {ω
i
k
, xi
k}
N
i=1 par {ω
0i
k
, x0i
k }
N
i=1
de sorte que la variance des poids après ré-échantillonnage soit réduite et que p
0 N
k =
PN
i=1 ω
0i
k
δx
0i
k
soit une "bonne approximation" de pˆk =
PN
i=1 ω
i
k
δx
i
k
. Les schémas qui correspondent à une bonne
approximation supposent que p
0 N
k
soit un estimateur non-biaisé de p
N
k
. De manière générale, le
ré-échantillonnage vérifie les conditions suivantes :
1. ω
0i
k =
1
N
2. E
hPN
i=1 ✶
n
x
0i
k = x
j
k
o
|x0:k, y0:k
i
= Nωj
k
Les deux conditions assurent le caractère non-biaisé de l’approximation après ré-échantillonnage
[76]. La seconde signifie qu’en moyenne une particule sera dupliquée d’autant plus qu’elle possède
un poids fort.
La méthode de redistribution la plus courante est le ré-échantillonnage multinomial. Elle
consiste à tirer N particules x˜
i
k
avec probabilités ω
i
k
, i = 1, . . . , N et à leur affecter un nouveau
poids égal à ω
0i
k =
1
N
.
A titre d’exemple considérons un échantillon pondéré x
1
, x2
, . . . , x10 de taille 10 dont les poids
normalisés respectifs sont ω
1 = 0.02, ω
2 = 0.3, ω
3 = 0.15, ω
4 = 0.07, ω
5 = 0.09, ω
6 = 0.07,
ω
7 = 0.1, ω
8 = 0.12, ω
9 = 0.05 et ω
10 = 0.03. Le tirage multinomial peut se faire de la façon
suivante :
1. Tirer N va indépendantes ui ∼ U([0, 1]), i = 1, . . . , N
2. Pour i = 1, . . . , N, si u
i ∈
hPj−1
i=1 ω
i
k
,
Pj
i=1 ω
i
k
i
, sélectionner la particule d’indice j, i.e.
poser x
0i
k = x
j
k
.
Dans l’exemple précédent, un tirage multinomial nous donne l’ensemble de particules ré-échantillonnées
{x
2
, x2
, x3
, x3
, x9
, x2
, x3
, x10, x10, x2} où les particules x
2
et x
3
sont dupliquées tandis que x
1
et37
x
6
sont éliminées.
Il est important de noter que le ré-échantillonnage augmente la variance de l’estimation. Il existe
tout de même des schémas de redistribution qui induisent une variance plus faible que celle du
ré-échantillonnage multinomial :
Ré-échantillonnage résiduel D’après [76], cette méthode permet de réduire efficacement la
variance du ré-échantillonnage multinomial. L’un des problèmes du ré-échantillonnage multinomial
est que le nombre de copies de la particule x
i
k peut varier fortement pour deux réalisations
de l’algorithme de ré-échantillonnage. Pour limiter cet effet, le ré-échantillonnage
résiduel attribue d’office Ni = bNωi
k
c copies de l’échantillon x
i
k pour i = 1, . . . , N. Il
reste à allouer le nombre de particules restant N¯ = N −
PN
i=1 Ni
afin de conserver un
nombre constant de particules. Ces N¯ particules sont alors échantillonnées selon un tirage
multinomial de probabilités données par les poids résiduels {ω¯
i
k}
N
i=1 définis par :
ω¯
i
k =
Nωi
k − Ni
N¯
(2.22)
Afin d’illustrer notre propos, revenons à l’exemple précédent du ré-échantillonnage de
{x
i
, ωi}
1
i=10. Dans la première passe, chaque particule x
i
est dupliquée bNωi
c fois, ce
qui donne l’ensemble {x
2
, x2
, x2
, x3
, x7
, x8}. Il reste maintenant à tirer 4 échantillons selon
un tirage multinomial de probabilités ω¯
1 = 0.05, ω¯
2 = 0, ω¯
3 = 0.125, ω¯
4 = 0.175,
ω¯
5 = 0.225, ω¯
6 = 0.175, ω¯
7 = 0, ω¯
8 = 0.05, ω¯
9 = 0.125, ω¯
10 = 0.075. Un tirage donne
les particules additionnelles {x
6
, x4
, x5
, x3}. Un réalisation du ré-échantillonnage stratifié
fournit donc le système de particules {x
2
, x2
, x2
, x3
, x7
, x8
, x6
, x4
, x5
, x3}.
Ré-échantillonnage stratifié L’intervalle [0, 1] est partitionné en N sous-intervalles disjoints
sous la forme [0, 1] = ∪
N
i=1
i − 1
N
,
i
N
. Ensuite, N variables Ui
, i = 1, . . . , N sont tirées
selon une loi uniforme U
i−1
N
,
i
N
. A chaque variable Ui est associé l’inverse de la fonction de
répartition de la loi discrète PN
i=1 ω
i
k
δx
i
k
. Plus précisément, si Ui ∈
hPj−1
i=1 ω
i
k
,
Pj
i=1 ω
i
k
i
, on
sélectionne la particule d’indice j, i.e. x
0i
k = x
j
k
. La variance induite par le ré-échantillonnage
stratifié est également inférieure à celle du ré-échantillonnage multinomial [35].
Ré-échantillonnage systématique Cette méthode est similaire au ré-échantillonnage stratifié
excepté que le choix des Ui se fait selon : Ui =
i−1
N + U où U ∼ U
0,
1
N
. En revanche,
les particules sélectionnées x˜
i
k ne sont plus indépendantes conditionnellement aux poids
{ω
i
k}
N
i=1.
2.2.4 L’algorithme Sequential Importance Resampling (SIR)
L’ajout de l’étape de ré-échantillonnage dans l’algorithme SIS permet d’obtenir l’algorithme
SIR [107] qui évite le phénomène de dégénérescence des poids et permet d’obtenir un filtre stable.
Lorsque le ré-échantillonnage intervient à chaque pas de temps, le SIR correspond au bootstrap
filter de Gordon, Salmond et Smith [50].38 2. Méthodes particulaires pour le filtrage non linéaire
Algorithme 2 : SIR
pour i = 1, . . . , N faire
– tirer x
i ∼ q(x0|y0)
– calculer ω
i
0 ∝
µ0(x
i
0
)p(y0|x
i
0
)
q(x
i
0
|y0)
– normaliser les poids ω
i
0
fin pour
pour k = 1, . . . , n faire
– [Prédiction] tirer x
i
k ∼ q(x
i
k
|x
i
k−1
, yk), i = 1, . . . , N
– [Correction] calculer les poids ω
i
k ∝ ω
i
k−1
p(x
i
k
|x
i
k−1
)p(yk|x
i
k
)
q(x
i
k
|x
i
k−1
,yk)
, i = 1, . . . , N
– normaliser les poids ω
i
k
, i = 1, . . . , N
– Calculer Nef f d’après (2.19)
– [Ré-échantillonnage] Si Nef f < Nth, ré-échantillonner les particules et poser ω
i
k =
1
N
,
i = 1, . . . , N
fin pour
Bien que le ré-échantillonnage permette de garantir la survie du système de particules, il
introduit plusieurs effets indésirables. La duplication des particules de poids fort a tendance à
appauvrir le système de particules, ce qui peut être problématique lorsque le bruit de dynamique
est faible. Dans ce cas, lorsque la loi d’importance utilisée dans l’étape de prédiction est le noyau
de transition p(xk|xk−1), les particules ont tendance à se concentrer autour de quelques zones
resserrées provoquant une perte de diversité dans le système de particules (phénomène connu
sous le nom de sample impoverishment dans la littérature). Cela augmente le risque qu’aucune
des particules ne soit cohérente avec l’observation yk courante, ce qui à terme peut provoquer
la divergence du filtre. Pour limiter ce phénomène, une méthode peut-être de choisir une loi
d’importance différente du noyau de transition ou de recourir aux méthodes de régularisation (cf.
section 2.3 ).
Choix de la densité d’importance Le choix d’une densité d’importance appropriée permet
de concevoir des filtres plus robustes. Dans la classe des algorithmes d’échantillonnage pondéré
séquentiel, la densité d’importance qopt = p(xk|xk−1, yk) = p(yk|xk)p(xk|xk−1)
p(yk|xk−1)
est optimale. On
peut montrer que la variance des poids normalisés correspondant ω
i
k
est nulle, conditionnellement
à xk−1 [37]. De manière équivalente, ce choix maximise la taille effective de l’échantillon Nef f
introduite précédemment via l’équation (2.17) [37].
Malheureusement, échantillonner suivant cette loi n’est aisé que pour certaines classes de modèles.
Le choix le plus simple est d’utiliser la densité a priori q = p(xk|xk−1). Échantillonner
selon p(xk|xk−1) est immédiat pour les modèles que nous considérons mais cette loi ne prend
pas en compte l’observation courante et peut déplacer les particules dans des zones de faible
vraisemblance. Afin d’exploiter l’information apportée par la mesure yk, il peut être souhaitable
de recourir à des approximations de qopt.
Parmi les méthodes d’approximations de la loi d’importance optimale, on peut citer le filtre
particulaire auxiliaire [105] ainsi que les filtres basés sur une approximation gaussienne de qopt39
via l’utilisation d’un filtre de Kalman étendu [37] ou un filtre de Kalman sans parfum [117]. Ce
dernier filtre est connu sous le nom d’Unscented Particle Filter. Une autre solution consiste à
rechercher une approximation π de qopt dans une classe de lois paramétrées. Le choix de π se fait
alors en minimisant la divergence du chi-deux entre la densité cible q
opt et π ou bien la divergence
de Kullback-Leibler (2.21) de π à q
opt [23].
2.2.5 Convergence des filtres particulaires
La littérature sur les méthodes Monte Carlo séquentielle est riche en résultats sur la convergence
des filtres particulaires lorsque N → +∞. On peut citer notamment [25],[24], [26] ou
[32]. On rappelle ci-dessous un résultat établi pour l’algorithme SIR.
Théorème 1 (Convergence faible [26]). Soit φ une fonction continue bornée de R
d
. On suppose
que la fonction de vraisemblance xk 7→ gk(xk) = p(yk|xk) est bornée. Alors,
lim
N→+∞
X
N
i=1
ω
i
kφ(x
i
k
) = Z
φ(xk)p(xk|y0:k)dxk (2.23)
presque-surement.
Un autre résultat concernant la convergence en norme L
p
s’énonce comme suit :
Théorème 2 (Convergence L
p
[32]). Sous les hypothèses précédentes, pour tout p ≥ 1, il existe
un réel Ck,p > 0, indépendant de N, tel que pour toute fonction φ continue bornée de R
d
,
E [|hφ, pki − hφ, pˆki|p
]
1
p ≤ Ck,p
supxk∈Rd |φ(xk)|
√
N
avec hφ, pki =
Z
φ(xk)p(xk|y0:k)dxk et pˆk =
X
N
i=1
ω
i
k
δx
i
k
.
Ce dernier résultat montre que l’erreur L
p
converge à la vitesse √
1
N
. Mais comme la constante
Ck,p dépend du temps, sans hypothèse supplémentaire, Ck,p augmente généralement de manière
exponentielle avec le temps. Ceci suggère que pour maintenir une erreur bornée, on a en général
besoin d’un nombre croissant de particules.
2.3 Le filtre particulaire régularisé (RPF)
On a vu que le ré-échantillonnage classique appauvrissait dans certains cas le système de
particules dans la mesure où les schémas de redistribution sont fondées sur la duplication de
particules. En particulier lorsque le bruit de dynamique est faible, les particules explorent peu
l’espace d’état et le filtre peut diverger. Afin d’éviter ceci, le filtre particulaire régularisé (RPF) [37,
p. 247-271] [89, 72], effectue le rééchantillonnage en simulant un échantillon selon une distribution
continue, ce qui évite d’avoir plusieurs copies d’une même particule. La distribution continue
utilisée est obtenue en régularisant la densité discrète pˆk =
PN
i=1 ω
i
k
δx
i
k
, obtenue après l’étape de
correction.40 2. Méthodes particulaires pour le filtrage non linéaire
2.3.1 Régularisation d’une loi de probabilité discrète
Soit K une fonction sur R
d
symétrique, telle que :
Z
K(x) dx = 1 Z
xK(x) dx = 0 Z
kxk
2 K(x) dx < +∞ (2.24)
Pour tout h > 0 et tout x ∈ R
d
, on définit le noyau de régularisation
Kh =
1
h
K
x
h
d
Le paramètre h s’appelle facteur de dilatation. Si ν est une densité de probabilité, on définit la
densité régularisée de ν par :
νh(x) = (Kh ∗ ν) (x) = Z
Kh(x − u)ν(u)du (2.25)
Considérons le cas où ν représente une densité de probabilité discrète de la forme ν =
X
N
i=1
ω
i
δxi
obtenue par échantillonnage d’importance i.e. en simulant N points i.i.d. x
i
, i = 1, . . . , N selon
une loi a priori q et en les pondérant selon une fonction de vraisemblance g avec ω
i = g(x
i
).
Autrement dit, ν est une approximation de la loi a posteriori p ∝ gq.La densité de probabilité de
la distribution régularisée de ν est
νh(x) = X
N
i=1
ω
iKh(x − x
i
) (2.26)
Le paramètre h contrôle le degré de lissage de la densité ν. Une valeur de h petite rapproche νh
de ν tandis qu’une valeur plus élevée a tendance à fusionner les modes de la densité ν.
En estimation de densité par noyaux, le noyau et le facteur de dilatation sont choisis de manière
à minimiser l’erreur quadratique intégrée moyenne E kνh − pk
2
entre νh et la loi a posteriori
p avec kνh − pk
2 =
Z
(νh(x) − p(x))2
dx.
En particulier, lorsque w
i =
1
N
pour i = 1, . . . , N, le noyau optimal Kopt est le noyau d’Epanechnikov
défini par [112] :
Kopt(x) =
d+2
2cd
1 − kxk
2
si kxk < 1
0 sinon
(2.27)
De manière générale, le facteur de dilatation optimal hopt dépend de la quantité (
R
|∇2p(x)| dx)
1/2
qui n’est facilement calculable que pour certaines densités de probabilités. Par exemple, si p est
une densité gaussienne standard, en utilisant le noyau d’Epanechnikov (2.27),
hopt = A(K)N
− 1
d+4 A(K) = [8c
−1
d
(d + 4)(2√
π)
d
]
1
d+4 (2.28)41
où cd est le volume de la sphère unité. Pour les applications usuelles, il est suffisant d’utiliser un
noyau gaussien, dont le coût de simulation est moindre. Dans ce cas, hopt est obtenu selon
hopt = A(K)N
− 1
d+4 A(K) = (4/(d + 2)) 1
d+4 (2.29)
Pour une densité quelconque, le choix de h peut se faire selon des méthodes classiques
d’estimation de densité par noyaux (validation croisée [108], règle du plug-in [122]) mais elles
impliquent un coût de calcul non négligeable. Pour s’en affranchir, on peut par exemple approcher
la densité sous-jacente p par une gaussienne de moyenne la moyenne empirique et de covariance
la covariance empirique S donnée par l’échantillon x
1
, . . . , xN [37]. Pour tenir compte du rapport
d’échelle entre les composantes du vecteur d’état, on blanchit le système de particule afin de
se ramener à un système de particules de covariance unitaire. En supposant que S = AAT
, les
particules blanchies sont les A−1x
i
. La valeur de h donnée par (2.29) peut alors être utilisée pour
le système de particules blanchies. Cette procédure de régularisation est équivalente à utiliser le
noyau de régularisation :
Kh(x) = 1
det(A)h
d K
A−1x
h
!
(2.30)
Lorsque la densité a posteriori est multimodale, la méthode de blanchiment (« data sphering »)
a tendance à surlisser la densité d’origine. Silverman [112] conseille de poser h = chopt, avec c < 1
afin de limiter cet effet. Nous verrons dans le chapitre 4 qu’il est possible de régulariser les densités
multimodales en s’affranchissant de ce réglage empirique.
2.3.2 Algorithme du filtre particulaire régularisé
Il existe deux versions du RPF qui diffèrent par le choix de l’instant de régularisation [37, p.
253-254].
Le filtre particulaire pré-régularisé : l’étape de prédiction est identique à celle de SIR. En
revanche, l’étape de correction est obtenue en considérant la distribution régularisée de
la loi prédite empirique pˆk|k−1 =
PN
i=1 ω
i
k−1
δx
i
k|k−1
où n
ω
i
k−1
, xi
k|k−1
oN
i=1
est le système de
particules obtenues après l’étape de prédiction.
pˆ
h
k|k−1
(x) =
Kh ∗ pˆk|k−1
(x) = X
N
i=1
ω
i
k−1Kh(x − x
i
k|k−1
)
L’approximation de la densité corrigée est alors
pˆ
h
k
(x) ∝
X
N
i=1
ω
i
k−1
gk(x
i
k|k−1
)Kh(x − x
i
k|k−1
)
Simuler un échantillon {x
i
k}
N
i=1 issue de cette loi requiert généralement de recourir à une
méthode d’acceptation/rejet en prenant comme loi instrumentale la densité prédite régularisée
pˆ
h
k|k−1
(x). Cette méthode est donc généralement coûteuse et n’est pas recommandée.42 2. Méthodes particulaires pour le filtrage non linéaire
Le filtre particulaire post-régularisé : La régularisation intervient après l’étape de correction
du SIR. L’étape de ré-échantillonnage consiste cette fois à échantillonner la distribution
régularisée de la loi a posteriori empirique pˆk|k =
PN
i=1 ω
i
k
δx
i
k
. Le surcout du à la régularisation
par rapport au ré-échantillonnage classique provient uniquement de la génération
de N variables aléatoires selon le noyau K. Pour cette raison on préfèrera l’algorithme du
filtre particulaire post-régularisé à sa version pré-régularisée.
Algorithme 3 : RPF (filtre particulaire régularisé)
pour i = 1, . . . , N faire
– tirer x
i ∼ q(x0|y0)
– calculer ω
i
0 ∝
µ0(x
i
0
)p(y0|x
i
0
)
q(x
i
0
|y0)
– normaliser les poids ω
i
0
fin pour
pour k = 1, . . . , n faire
– [Prédiction] tirer x
i
k ∼ q(x
i
k
|x
i
k−1
, yk), i = 1, . . . , N
– [Correction] calculer les poids ω
i
k ∝ ω
i
k−1
p(x
i
k
|x
i
k−1
)p(yk|x
i
k
)
q(x
i
k
|x
i
k−1
,yk)
, i = 1, . . . , N
– normaliser les poids ω
i
k
, i = 1, . . . , N
– Calculer Nef f d’après (2.17)
– [Ré-échantillonnage/Régularisation] Si Nef f < Nth
– générer I1, . . . , IN avec P(Ij = i) = ω
i
k
– générer ε
i
suivant le noyau d’Epanechnikov ou un noyau gaussien
– calculer Ak tel que Sk = AkAT
k
où Sk est la covariance empirique de {ω
i
k
, xi
k}
N
i=1
– calculer hopt d’après (2.28) ou (2.29) et poser x
j
k = x
Ij
k + hoptAkε
j
, j = 1, . . . , N
fin pour
Les applications du RPF dans le domaine du pistage de cible [96] ou du recalage d’aéronefs
par mesures radio-altimétriques [28] ont montré que la régularisation améliore sensiblement les
performances du filtre particulaire classique (SIR) notamment en terme de taux de non-divergence,
lorsque la dynamique est faiblement bruitée.
2.4 Les filtres particulaires hybrides (RBPF, KPKF)
2.4.1 Le filtre particulaire Rao-Blackwellisé (RBPF)
Il existe une classe de modèles, appelée modèles conditionnellement linéaires gaussiens, pour
laquelle l’estimation peut se faire grâce à un filtre particulaire pour une partie du vecteur d’état
et un filtre de Kalman pour le reste du vecteur. Un tel filtre est appelé Rao-Blackwellized Particle
Filter [15, 36], Mixture Kalman Filter [17] ou Marginalized Particle Filter [110, 94].
On suppose que l’on peut partitionner le vecteur d’état xk telle que x
T
k =
h
(x
n
k
)
T
,(x
l
k
)
T
i
. Le43
vecteur x
n
k désigne la partie non-linéaire de xk tandis que x
l
k
représente la partie linéaire, conditionnellement
à x
n
k
et y0:k.
En outre, on fait l’hypothèse que le modèle s’écrit sous la forme suivante :
x
n
k = f
n
k−1
(x
n
k−1
) + F
n
k−1
(x
n
k−1
)x
l
k−1 + Gn
k−1
(x
n
k−1
)w
n
k−1
x
l
k = f
l
k−1
(x
n
k−1
) + F
l
k−1
(x
n
k−1
)x
l
k−1 + Gl
k−1
(x
n
k−1
)w
l
k−1
yk = hk(x
n
k
) + Hk(x
n
k
)x
l
k + vk
(2.31)
où
– wk est un bruit blanc gaussien de matrice de covariance Qk et w
T
k =
h
(w
n
k
)
T
,(w
l
k
)
T
i
Qk =
Qn
k Qln
k
(Qln
k
)
T Ql
k
!
– vk est un bruit blanc gaussien de matrice de covariance Rk
– La partie non linéaire suit une loi p0(x
n
0
) connue
– La partie linéaire x
l
0
est une gaussienne N (¯x0, P¯
0)
La densité jointe p(x
l
k
, xn
0:k
|y0:k) se factorise comme p(x
l
k
, xn
0:k
|y0:k) = p(x
l
k
|x
n
0:k
, y0:k)p(x
n
0:k
|y0:k).
On montre que sous les hypothèses du modèle p(x
l
k
|x
n
0:k
, y0:k) est une densité gaussienne : il suffit
donc de calculer à chaque pas de temps sa moyenne et sa covariance grâce au filtre de Kalman.
Par ailleurs, La loi conditionnelle de la partie non-linéaire de l’état p(x
n
0:k
|y0:k) peut être
estimée grâce un filtre particulaire selon le schéma suivant :
– Prédiction
p(x
n
0:k
|y0:k−1) = p(x
n
k
|x
n
0:k−1
, y0:k−1)p(x
n
0:k−1
|y0:k−1) (2.32)
– Correction
p(x
n
0:k
|y0:k) = p(yk|x
n
0:k
, y0:k−1)
p(yk|y0:k−1)
p(x
n
0:k
|y0:k−1) (2.33)
Définissons les variables z
1
k
et z
2
k par :
(
z
1
k = x
n
k+1 − f
n
k
(x
n
k
)
z
2
k = yk − hk(x
n
k
)
Détaillons à présent la récursion de Kalman dans le cadre du RBPF. On suppose que la densité
p(x
l
k−1
|x
n
0:k−1
, y0:k−1) est une loi gaussienne N
xˆ
l
k−1
, Pk−1
connue dont la moyenne et la covariance
dépendent de x
n
0:k−1
et y0:k−1. Alors la moyenne et la covariance prédite s’obtiennent
comme suit [94] :
xˆ
l
k|k−1 = F¯l
k−1xˆ
l
k−1 + Gl
k−1
(Qln
k−1
)
T
(Gn
k−1Qn
k−1
)
−1
z
1
k−1 + f
l
k−1
(x
n
k−1
)
+ Lk−1(z
1
k−1 − An
k−1xˆ
l
k−1
)
Pk|k−1 = F¯l
k−1Pk−1(F¯l
k−1
)
T + Gl
k−1Q¯l
k−1
(Gl
k−1
)
T − Lk−1Nk−1L
T
k−1
Nk = F
n
k Pk(F
n
k
)
T + Gn
kQn
k
(Gn
k
)
T
Lk = F¯l
kPk(F
n
k
)
TN
−1
k
(2.34)
avec
(
F¯l
k = F
l
k − Gl
k
(Qln
k
)
T
(Gn
kQn
k
)
−1F
n
k
Q¯l
k = Ql
k − (Qln
k
)
T
(Qn
k
)
−1Qln
k44 2. Méthodes particulaires pour le filtrage non linéaire
De même, la loi corrigée p(x
l
k
|x
n
0:k
, y0:k) est une densité gaussienne N
xˆ
l
k
, Pk
de moyenne
xˆ
l
k = ˆx
l
k|k−1 + Kk(yk − hk(x
n
k
) − H
T
k
(x
n
k
)ˆx
l
k|k−1
) (2.35)
et de covariance
Pk = Pk|k−1 − KkMkKT
k
(2.36)
où
Mk = Hk(x
n
k
)Pk|k−1HT
k
(x
n
k
) + Rk
Kk = Pk|k−1HT
k
(x
n
k
)M−1
k
(2.37)
Si l’on suppose que p(x
n
0:k
|y0:k) ≈
PN
i=1 ω
i
k
δx
n,i
0:k
, la loi conditionnelle p(x
l
k
|y0:k) s’obtient selon
p(x
l
k
|y0:k) = Z
p(x
l
k
|x
n
0:k
, y0:k)p(x
n
0:k
|y0:k) dxn
0:k
≈
X
N
i=1
ω
i
k
p(x
l
k
|x
n,i
0:k
, y0:k) (2.38)
où les densités p(x
l
k
|x
n,i
0:k
, y0:k) sont gaussiennes et dont les paramètres sont donnés par les équations
(2.35) et (2.36).
Revenons à l’approximation particulaire de p(x
n
0:k
|y0:k). L’étape de prédiction (2.32) nécessite
de déterminer la loi de p(x
n
k
|x
n
0:k−1
, y0:k−1).
p(x
n
k
|x
n
0:k−1
, y0:k−1) = Z
p(x
n
k
|x
l
k−1
, xn
k−1
)p(x
l
k−1
|x
n
0:k−1
, y0:k−1)dxl
k−1
Comme p(x
n
k
|x
l
k−1
, xn
k−1
) est une gaussienne N
f
n
k
(x
n
k−1
) + F
n
k
(x
n
k−1
)x
l
k−1
, Gn
kQn
k
(Gn
k
)
T
et
p(x
l
k−1
|x
n
0:k−1
, y0:k−1) est également une densité gaussienne N
xˆ
k
l
, Pk
, il s’en suit que p(x
n
k
|x
n
0:k−1
, y0:k−1)
suit une distribution gaussienne
N
f
n
k
(x
n
k−1
) + F
n
k
(x
n
k−1
)ˆx
l
k−1
, F n
k Pk(F
n
k
)
T + G
n
kQ
n
k
(G
n
k
)
T
(2.39)
Il reste à déterminer le terme p(yk|x
n
0:k
, y0:k−1) qui intervient dans l’étape de correction (2.33).
On remarque que yk est la somme des termes hk(x
n
k
), Hk(x
n
k
)x
l
k
et du bruit de mesure vk. De
plus :
– conditionnellement à x
n
0:k
et y0:k−1, Hk(x
n
k
)x
l
k
est gaussien de moyenne Hk(x
n
k
)ˆx
l
k|k−1
et
de covariance Hk(x
n
k
)Pk|k−1HT
k
(x
n
k
)
– vk ∼ N (0, Rk) est indépendant de Hk(x
n
k
)x
l
k
et hk(x
n
k
)
Donc la loi de p(yk|x
n
0:k
, y0:k−1) est une gaussienne
N
hk(x
n
k
) + H
T
k
(x
n
k
)ˆx
l
k|k−1
, Hk(x
n
k
)Pk|k−1H
T
k
(x
n
k
) + Rk
(2.40)
Nous donnons ci-dessous une version de l’algorithme du RBPF où la loi d’importance utilisée
pour la partie non linéaire est la loi p(xk|x0:k−1, y0:k−1).
Algorithme 4 : RBPF
pour i = 1, . . . , N faire45
– tirer x
n,i
k ∼ p(x
n
0
)
– poser x
l,i
0|−1 = ¯x
l
0
et P
i
0|−1 = P¯
0
fin pour
pour k = 1, . . . , n faire
– [Correction particulaire] calculer les poids ω
i
k ∝ ω
i
k−1
p(yk|x
n,i
k
, y0:k−1), i = 1, . . . , N où la
vraisemblance p(yk|x
n,i
k
, y0:k−1) est donnée d’après (2.40)
– normaliser les poids ω
i
k
, i = 1, . . . , N
– Calculer Nef f d’après (2.19)
– [Ré-échantillonnage] Si Nef f < Nth rééchantilloner le système de particules
– [Correction de Kalman] Pour i = 1, . . . , N, calculer xˆ
l,i
k
et P
l,i
k
d’après (2.35) et (2.36)
– [Prédiction particulaire] Générer un échantillon x
n,i
k+1 ∼ p(x
n
k+1|x
n
0:k
, y0:k) (cf. (2.39))
– [Prédiction de Kalman] Pour i = 1, . . . , N, calculer xˆ
l,i
k+1|k
et P
l,i
k+1|k
d’après (2.34)
fin pour
Le filtre Rao-Blackwellisé produit des estimées en général meilleures que le SIR en terme
d’erreur Monte Carlo. Cependant, à nombre de particules constant, il est plus coûteux puisqu’en
toute généralité, il recquiert un filtre de Kalman par particule. Néanmoins, il est possible d’obtenir
un compromis coût de calcul/performances en faveur du RBPF pour bien des applications. Par
exemple, en recalage par mesures radio-altimétriques ou en pistage par mesure angulaire, la
matrice de covariance du filtre de Kalman est indépendante de la partie non-linéaire ce qui réduit
la complexité du RBPF étant donné qu’il il n’y a qu’une matrice de covariance à mettre à jour.
2.4.2 Un exemple de filtre particulaire à noyau : le Kalman Particle
Kernel Filter (KPKF)
Le KPKF [28, 103] s’appuie sur la théorie d’estimation de densité par noyau en exprimant les
densités prédites et corrigées comme une somme pondérée de noyaux gaussiens. Dans la théorie
du KPKF, le bruit de dynamique wk et le bruit d’observation vk sont supposés additifs gaussiens
de moyennes nulles et de matrices de covariance respectives Qk et Rk.
Étant donné une densité de probabilité f et {x
i
, i = 1 . . . N} un N-échantillon issu de f, un
estimateur de densité par noyau est donné par :
ˆf =
1
N
X
N
i=1
ϕ(x − x
i
|P)
où l’application x 7→ ϕ(x|P) désigne un noyau gaussien de moyenne nulle et de covariance
P = h
2 Cov(x
i
) = h
2
N−1
PN
i=1(x
i − x¯)(x
i − x¯)
T
. h est le paramètre de dilatation du noyau et joue
le même rôle que dans le filtre particulaire régularisé.
Conformément à l’approche ci-dessus, le KPKF formule la loi prédite p(xk|y0:k−1) comme un
mélange de N noyaux gaussiens :
p(xk|y0:k−1) ≈
X
N
i=1
ω
i
k|k−1ϕ(xk − x
i
k|k−1
|P
i
k|k−1
) (2.41)46 2. Méthodes particulaires pour le filtrage non linéaire
où pour tout i = 1, . . . , N, P
i
k|k−1
est une matrice de covariance égale à h
2
fois la covariance
empirique des particules prédites, i.e. :
P
i
k|k−1 = h
2 X
N
i=1
ω
i
k|k−1
(x
i
k|k−1 − x¯k|k−1)(x
i
k|k−1 − x¯k|k−1)
T
(2.42)
x¯k|k−1 =
PN
i=1 ω
i
k|k−1x
i
k|k−1
étant la moyenne prédite donnée par le système de particules. La
particularité du KPKF est que, à l’étape de correction, les covariance P
i
k|k−1
sont suffisamment
petites pour justifier une linéarisation de la fonction d’observation hk autour des particules prédites
x
i
k|k−1
, i = 1, . . . , N. Étant donné que le bruit est additif gaussien, on vérifie que la densité a
posteriori p(xk|y0:k) s’exprime comme un mélange de noyaux gaussiens dont les moyennes et les
matrices de covariance s’obtiennent en appliquant les équations de Kalman [28]. Autrement dit,
p(xk|y0:k) ≈
X
N
i=1
ω
i
kϕ(xk − x
i
k
|P
i
k
) (2.43)
avec
H
i
k = ∇hk(x
i
k|k−1
) (2.44)
x
i
k = x
i
k|k−1 + Ki
k
(yk − hk(x
i
k|k−1
)) (2.45)
Σ
i
k = H
i
kP
i
k|k−1
(H
i
k
)
T + Rk (2.46)
Ki
k = P
i
k|k−1
(H
i
k
)
T
(Σi
k
)
−1
(2.47)
P
i
k = P
i
k|k−1 − P
i
k|k−1
(H
i
k
)
T
(Σi
k
)
−1H
i
kP
i
k|k−1
(2.48)
ω
i
k =
ω
i
k|k−1ϕ(yk − y
i
k|k−1
|Σ
i
k
)
PN
j=1 ω
i
k|k−1ϕ(yk − y
i
k|k−1
|Σi
k
)
(2.49)
L’étape de prédiction nécessite le calcul de
p(xk+1|y0:k) = X
N
i=1
ω
i
k
Z
Rd
ϕ(xk+1 − fk+1(x)|Qk+1)ϕ(x − x
i
k
|P
i
k
)du
En remarquant que kP
i
kk ≤
P
i
k|k−1
, on peut de nouveau effectuer une linéarisation de la fonction
d’observation fk+1 autour des particules corrigées x
i
k
.
fk+1(x) ≈ fk+1(x
i
k
) + F
i
k+1(x − x
i
k
)
où F
i
k+1 = ∇fk+1(x
i
k
). Dans de nombreuses applications, la dynamique considérée est linéaire et
il n’est donc pas nécessaire de procéder à une linéarisation.
Dans tous les cas, la densité prédite est égale à une somme pondérée de noyaux gaussiens :
p(xk+1|y0:k) = X
N
i=1
ω
i
kϕ(xk − fk+1(x
i
k
)|P
i
k+1|k
)47
avec P
i
k+1|k = F
i
k+1P
i
k
(F
i
k+1)
T + Qk+1.
L’étape de prédiction soulève une difficulté : la matrice de covariance P
i
k+1|k
n’est plus de l’ordre
de h
2
. Il est donc nécessaire de rajouter une étape supplémentaire afin de conserver la structure
donnée par (2.41) et (2.42). Cette étape, nommée ré-échantillonnage partiel [28] par leurs auteurs,
consiste à rajouter à chaque particule fk+1(x
i
k+1|k
) un bruit gaussien centré de covariance P
i
k+1|k−
h
∗2Πk+1|k où
Πk+1|k =
X
N
i=1
ω
i
kP
i
k+1|k +
X
N
i=1
ω
i
k
(fk+1(x
i
k
) − fk+1(xk))(fk+1(x
i
k
) − fk+1(xk))T
est la covariance de la densité prédite. Le paramètre h
∗
est défini par
h
∗2 = min
i
λ
i
min
λ
i
min, i = 1, . . . , N est la plus petite valeur propre de (C
T
k+1)
−1P
i
k+1|kC
−1
k+1 et Ck+1 est la racine
carrée de Πk+1|k (C
T
k+1Ck+1 = Πk+1|k).
Lorsque la variance des poids {ω
i
k}
N
i=1 est élevée, il est préférable d’effectuer un ré-échantillonnage
dit total ce qui revient à échantillonner N particules n
x
i
k+1|k
oN
i=1
suivant la densité
pˆ(xk+1|y0:k) = X
N
i=1
ω
i
kϕ(xk+1 − x
i
k+1|k
|h
∗2Πk+1|k) (2.50)
Rappelons que la variance des poids normalisés {ω
i
k}
N
i=1 peut s’estimer en contrôlant en ligne
un critère sur la taille effective de l’échantillon Nef f ou bien en évaluant le critère entropique
présentée dans la section 2.2.3.
2.5 Comportement du filtre particulaire en présence de
multimodalités
La section 2.2.3 a mis en évidence la nécessité de ré-échantillonner le système de particules
afin de garantir la stabilité du filtre (mais pas nécessairement la convergence).
Si l’on considère une distribution multimodale approchée par un ensemble fini de N particules
pondérées {ω
i
k
, xi
k}
N
i=1, il n’y a pas de garantie qu’après ré-échantillonnage, ce système de particules
représente tous les modes de la distribution conditionnelle. En effet, ré-échantillonner
consiste essentiellement à tirer avec remise dans l’ensemble {x
i
k}
N
i=1, la probabilité de tirage de
chaque particule étant égale à son poids.
Ce phénomène a été rapporté dans la littérature du filtrage particulaire dans le cadre du pistage
multi-cibles [58, 95], du pistage vidéo [59, 118, 95] ou en localisation de robot [85]. Une justifi-
cation a été fournie par King et Forsyth [67] lorsque l’état xk prend ses valeurs dans un ensemble48 2. Méthodes particulaires pour le filtrage non linéaire
fini discret. Les auteurs considèrent entre autres un modèle à espace d’état où xk ∈ {−1, 1}.
Dans cette expérience, l’objet stationnaire est situé en x = 1 et on suppose que l’observation est
parfaite et se fait dans un plan image par réflection sur deux miroirs (figure 2.2). Il apparaît donc
à la fois en x = 1 et x = −1 sur le plan image. Cela crée une ambiguité sur la position réelle de
l’objet, qui peut être modélisée par la fonction de vraisemblance p(y|x) = 0.5δx(y) + 0.5δ−x(y).
Cette modélisation est purement illustrative mais permet de comprendre le phénomène de perte
mirroir mirroir
objet
−1 0 1
plan image
Figure 2.2 – "Pistage" d’un objet stationnaire
de mode en filtrage particulaire. Pour cela, King et Forsyth supposent une densité a priori initiale
p0(x) = 0.5δ1(x) + 0.5δ−1(x). Comme l’objet est stationnaire, p(xk|xk−1) = δxk−1
(xk), de sorte
que p(xk|y0:k) = p0(xk). La loi a posteriori a donc 2 modes quelque soit k : −1 et 1.
En utilisant un filtre particulaire pour estimer p(xk|y0:k), les échantillons x
i
k
, i = 1, . . . , N
prennent les valeurs −1 ou 1 et ont pour poids ω
i
k =
1
N
. La distribution empirique est donc
entièrement caractérisée par le nombre Ak d’échantillons qui sont situé sur le mode 1.
Ak = Card n
i ∈ J0, NK | x
i
k = 1o
(2.51)
de sorte que à l’instant k, l’approximation particulaire de p(xk|y0:k) est
pˆk(x) = Ak
N
δ1(x) + N − Ak
N
δ−1(x) (2.52)
Une bonne approximation pˆk correspond donc à Ak =
N
2
, ∀k.
Supposons que le ré-échantillonnage multinomial est appliquée à chaque instant (bootstrap filter).
Cela correspond à un tirage uniforme avec remise dans la population n
x
1
k
, x2
k
, . . . , xN
k
o
. La v.a.
Ak est donc une chaine de Markov homogène à valeur dans {0, 1, . . . , N}. La probabilité de
transition est une loi binomiale B(N, Ak/N) :
P(Ak = j|Ak−1 = m) =
N
j
! m
N
j
1 −
m
N
N−j
= pmj (2.53)
La perte de l’un des modes correspond à Ak ∈ {0, N}, c’est-à-dire que la chaîne Ak a atteint un
état absorbant. Les états 0 et N sont dits absorbants car une fois que la chaine Ak atteint ces49
valeurs, elle y reste. Cette modélisation est analogue aux chaînes de Wright-Fisher en génétique
des populations [39]. Les deux modes sont comparables à deux allèles d’une population de taille
fixe, asexuée et dont les générations ne se chevauchent pas. On définit le temps d’absorption T
comme étant le temps d’atteinte de l’ensemble {0, N}.
T
4
= inf {n ≥ 0 | An ∈ {0, N}} (2.54)
En génétique des populations, cela correspond à la perte définitive d’un allèle. L’espace des états
étant fini, le temps d’atteinte T est presque sûrement fini. Si on désigne par u la proportion
initiale d’échantillons correspondant au premier mode, le temps moyen d’absorption est asymptotiquement
linéaire en N [39].
E[T | A0 = Nu] ∼
N→∞
−2N (u ln u + (1 − u) ln(1 − u)) (2.55)
Cette approximation est relativement bonne même pour des "petites" valeurs de N. Si l’on
considère le problème précédent du pistage d’un objet stationnaire avec N = 100 (modes équiprobables),
on peut constater que le temps moyen d’absorption empirique, calculé sur 500 réalisations
indépendantes, est proche de son équivalent asymptotique (cf. figure 2.3). En particulier pour
u = 1/2 (modes équiprobables), le temps moyen théorique est de 138 itérations.
Par ailleurs, nous avons calculé la variance du temps moyen d’absorption vaut asymptotiquement
:
Var(T | A0 = Nu) = −2N [u ln u + (1 − u) ln(1 − u)] + 8N
2u dilog u + 8N
2u ln u
− 8N
2
dilog u − 8N
2u dilog(1 − u) + 8N
2
ln(1 − u) − 8N
2u ln(1 − u)
− 4N
2
[u ln u + (1 − u) ln(1 − u)]2 +
4
3
π
2N
2
(2.56)
où dilog est la fonction dilogarithme définie par
dilog(u) = Z u
1
ln t
1 − t
dt (2.57)
Des éléments de preuve sont fournis en annexe (B).50 2. Méthodes particulaires pour le filtrage non linéaire
0 0.2 0.4 0.6 0.8 1
0
50
100
150
u
E(τ)
Figure 2.3 – Temps moyen d’absorption de mode. Rouge : approximation asymptotique, Bleu :
moyenne empirique
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
20
40
60
80
100
120
140
u
σ
τ
Figure 2.4 – Ecart-type du temps d’absorption de mode. Rouge : approximation asymptotique,
Bleu : écart-type empirique
Lorsque la répartition des particules entre les deux modes est identique, la variance asymptotique
se réduit à :
Var(T | A0 = N/2) ∼
N→∞
(
2
2
π
2 − 8 log 2)N
2 + 2N log 2
Lorsque N est grand, l’écart-type du temps de perte de mode est proportionnel à N. Ainsi,
le temps moyen d’absorption augmente avec N à la même vitesse que l’écart-type associé. On
observe en pratique que même pour des N grands la probabilité de perdre rapidement un mode
n’est pas nulle.51
2.5.1 Cas où le nombre de modes est supérieur ou égal à 3
Lorsqu’on considère un modèle discret comportant plus de 2 modes dans la loi a posteriori
p(x|y), on observe également que le ré-échantillonnage répété provoque une perte progressive des
modes jusqu’à n’en avoir plus qu’un seul [67]. S’il y a initialement b modes, contenant initialement
X1, X2, . . . , Xb échantillons, le temps moyen de réduction à un mode est asymptotiquement égal
à :
−2N
X
b
i=1
N − Xi
N
ln N − Xi
N
2.5.2 Cas où l’état est continu
L’expérience décrite par King et Forsyth met en jeu un système à espace d’état sans bruit de
dynamique ni bruit de mesure ce qui permet d’obtenir une approximation asymptotique sur les
temps moyen de perte de mode.
Dans un cadre plus général avec un bruit de dynamique et/ou d’observation, on observe le même
phénomène de perte de modes [67, 118]. Considérons le modèle suivant :
(
xk = xk−1 + wk
yk = x
2
k + vk
(2.58)
où xk , k = 1, . . . , 200 est une variable scalaire.
La loi a priori est supposée symétrique bimodale 1
2
U(−6.01, −5.99) + 1
2
U(5.99, 6.01) et les bruits
d’état et de mesure sont des bruits blancs gaussiens de variances respectives σ
2
w = 0.01 et
σ
2
v = 0.01. La nature de l’équation de mesure assure que la distribution p(xk|y0:k) est bimodale
avec des modes de signes opposés. Un moyen simple d’associer une particule à un mode est de
lui associer le mode de même signe. L’écart-type du bruit de dynamique assure qu’une particule
x
j qui sera initialement associé au i-ème mode le restera étant donné la faible probabilité pour
que la somme cumulée des bruits de dynamique provoque un changement du signe de x
j
.
Nous avons étudié dans [88] le temps moyen de perte de mode d’un filtre particulaire standard
sur le modèle (2.58). Dans cet article, nous avons considéré un filtre particulaire avec
ré-échantillonnage à chaque itération (bootstrap filter) et utilisant N = 100 particules. Le filtre
est initialisé avec N/2 particules dans chaque mode. Le temps moyen de perte de mode calculé
empiriquement sur la base de 1000 trajectoires indépendantes est de 11 itérations. En comparant
(à nombre de particules égal) avec le modèle statique illustré par la figure 2.2 où le temps
moyen est de l’ordre de 138 itérations, on observe que la présence de bruits de dynamique et
d’observation est de nature à accélérer la perte de l’un des modes. Cela est du au fait que le
ré-échantillonnage se fait en tirant les particules proportionnellement à leurs poids normalisés ω
i
k
qui sont différents de 1
N
, contrairement au cas stationnaire.
Nous verrons ci-après une implémentation, proposée par Vermaak et al. [118], qui permet de
traiter le problème du ré-échantillonnage au niveau de chaque mode de la densité empirique dans
le soucis de préserver autant que possible son caractère multimodal.52 2. Méthodes particulaires pour le filtrage non linéaire
2.6 Modèles de mélange pour le filtrage particulaire
Les modèles de mélange finis consistent à représenter une densité de probabilité f comme
une somme pondérée de M densités de probabilités fj
.
f(x) = X
M
j=1
αjfj (x) avec X
M
j=1
αj = 1 (2.59)
Les réels αj sont les coefficients ou poids de mélange.
Les modèles de mélange sont utilisés en classification de données [83], en segmentation
d’image [16] ou extraction d’image [101]. Ils sont également utiles pour représenter une loi de
probabilité multimodale. Ils se prêtent bien à la problématique du filtrage dans un cadre ou la
fonction de mesure est ambiguë. Ils ont notamment été utilisés dans un cadre particulaire en
localisation de robot [85, 77], en pistage vidéo [118], en pistage multi-objet[113] ou encore en
pistage multi-cibles [47]. Nous présentons ci-après le cadre théorique du filtrage pour le modèle
de mélange et l’algorithme particulaire correspondant.
2.6.1 Filtrage pour les modèles de mélange
Nous rappelons le modèle à espace d’état (2.6).
(
xk = fk (xk−1, wk)
yk = hk(xk, vk)
Formulons la loi conditionnelle pk|k = p(xk|y0:k) soit comme un mélange de lois conditionnelles
:
pk|k =
X
M
j=1
αj,kpj (xk|y0:k) (2.60)
où PM
j=1 αj,k = 1. Les composantes pj sont des lois conditionnelles non-paramétriques. Cette
décomposition n’étant pas unique, nous allons supposer que chaque pj est monomodale, de
manière à capter la multimodalité de la loi a posteriori p(xk|y0:k).
La mise à jour du filtre suppose la mise à jour des composantes {pj
, j = 1 · · · M} et des poids
de mélange αj,k.
Supposons que pk−1|k−1 = p(xk−1|y0:k−1) soit connu. Le calcul de pk|k se fait selon les équations
de Chapman-Kolmogorov :
– Prédiction
pk|k−1 = p(xk|y0:k−1) = Z
p(xk|xk−1)p(xk−1|y0:k−1) dxk−1 (2.61)
– Correction
pk|k = p(xk|y0:k) = p(yk|xk)p(xk|y0:k−1)
R
p(yk|xk)p(xk|y0:k−1) dxk
(2.62)
En prenant en compte la formulation sous forme de mélange de loi conditionnelle donnée par
(2.60), on a53
– Prédiction
pk|k−1 =
X
M
j=1
αj,k−1pj (xk|y0:k−1) avec pj (xk|y0:k−1) = Z
p(xk|xk−1)pj (xk−1|y0:k−1)dxk−1
(2.63)
– Correction
pk|k =
PM
j=1 αj,k−1p(yk|xk)pj (xk|y0:k−1)
PM
l=1 αl,k−1
R
p(yk|xk)pl(xk|y0:k−1) dxk
=
X
M
j=1
αj,k−1
R
p(yk|xk)pj (xk|y0:k−1) dxk
PM
l=1 αl,k−1
R
p(yk|xk)pl(xk|y0:k−1) dxk
p(yk|xk)pj (xk|y0:k−1)
R
p(yk|xk)pj (xk|y0:k−1) dxk
!
| {z }
pj (xk|y0:k)
(2.64)
Etant donné que Z
p(yk|xk)pj (xk|y0:k−1) dxk = pj (yk|y0:k−1), on en déduit donc l’équation
de mise à jour des poids de mélange :
αj,k =
αj,k−1pj (yk|y0:k−1)
X
M
l=1
αl,k−1pl(yk|y0:k−1)
(2.65)
2.6.2 Approximation particulaire pour les modèles de mélange et algorithme
MPF
La précédente section a mis en évidence la procédure de filtrage pour les modèles de mélange.
Voyons maintenant comment obtenir l’ équivalent particulaire des filtres de mélange. Dans la
littérature du filtrage particulaire, l’algorithme a été introduit par Vermaak, Doucet et Perez sous
le nom de mixture particle filter (MPF) [118]. Ce même algorithme est également connu comme
le clustered particle filter [126]. L’idée sous-jacente est d’affecter un filtre particulaire à chaque
composante pj du mélange. A l’étape de prédiction, les filtres évoluent indépendamment et à
l’étape de correction, ils interagissent lors de la mise à jour des poids de mélange {αj,k}
M
j=1via
l’équation (2.65).
Conformément aux notations précédentes, on notera {x
i
k}
N
i=1 l’ensemble des particules, {ω
i
k}
N
i=1
les poids associés et Ij ⊆ {1, . . . , N} l’ensemble des indices des particules appartenant à la
composante d’indice j.
La loi a posteriori est donc approchée selon
p(xk|y0:k) ≈
X
M
j=1
αj,k X
i∈Ij
ω
i
k
δx
i
k
(2.66)
avec
X
i∈Ij
ω
i
k = 154 2. Méthodes particulaires pour le filtrage non linéaire
et
X
M
j=1
αj,k = 1
L’étape de prédiction se fait en échantillonnant N particules x
i
k ∼ q(x|x
i
k−1
, yk) où q est une
densité d’importance. D’après (2.64), l’équation de mise à jour des poids d’importance {ω
i
k}
N
i=1
se fait selon :
ω˜
i
k = ω
i
k−1
p(yk|x
i
k
)p(x
i
k
|x
i
k−1
)
q(x
i
k
|x
i
k−1
, yk)
(2.67)
∀i ∈ Ij
, ωi
k =
ω˜
i
X
k
l∈Ij
ω˜
l
k
(2.68)
Afin d’obtenir les poids de mélange à l’instant k, il faut estimer la vraisemblance prédite
pj (yk|y0:k−1) = Z
p(yk|xk)pj (xk|y0:k−1) dxk. Appelons pˆj (xk|y0:k−1) une approximation particulaire
de la loi prédite de la composante d’indice j. Alors,
pj (yk|y0:k−1) = Z
p(yk|xk)pj (xk|y0:k−1) dxk (2.69)
=
ZZ p(yk|xk)p(xk|xk−1)pj (xk−1|y0:k−1) dxk dxk−1 (2.70)
≈
X
i∈Ij
ω
i
k−1
p(yk|x
i
k
)p(x
i
k
|x
i
k−1
)
q(x
i
k
|x
i
k−1
, yk)
(2.71)
≈
X
i∈Ij
ω˜
i
k
(2.72)
On en déduit l’estimateur des coefficients de mélange suivant :
αj,k ≈
αj,k−1w
+
j,k
X
M
p=1
αp,k−1w
+
p,k
(2.73)
où w
+
j,k est défini par :
w
+
j,k =
X
i∈Ij
ω˜
i
k
(2.74)
Jusqu’ici, on a supposé que le nombre de composantes de la loi a posteriori restait fixe. Dans
l’hypothèse où une composante est affectée à un mode de la loi conditionnelle pk|k, cela signifie
que le nombre de modes est constant. Cependant pour des applications telles que le suivi d’objets
dans les séquences vidéo, une composante pj correspond idéalement à la probabilité d’un objet
particulier. Le nombre d’objets pouvant évoluer au cours du temps, il parait naturel d’introduire
une dépendance du nombre de composantes M par rapport au temps. En recalage de navigation
inertielle par mesures radio-altimétriques, la modélisation de la loi conditionnelle sous-forme de55
mélange fini correspond à une ambiguïté sur la position réelle de l’aéronef qui se matérialise par
plusieurs positions possibles dans le plan horizontal. En fonction des similarités de terrain et de
l’incertitude de mesure du radio-altimètre, le nombre de positions candidates peut évoluer.
Afin de prendre en compte ces remarques, Vermaak et al. [118] formulent la loi a posteriori à
l’instant k comme un mélange de Mk composantes :
pk|k =
X
Mk
j=1
αj,kpj (xk|y0:k) (2.75)
Soit pˆk|k l’approximation particulaire de pk|k. Alors,
pˆk|k =
X
Mk
j=1
αj,k X
i∈Ij,k
ω
i
k
δx
i
k
(2.76)
où Ij,k ⊆ {1, . . . , N} est l’ensemble des indices des particules approximant la composante pj à
l’instant k.
A l’instant k + 1 on a donc :
pk+1|k+1 ≈ pˆk+1|k+1 =
X
Mk
j=1
αj,k+1 X
i∈Ij,k
ω
i
k+1δx
i
k+1
(2.77)
=
X
N
i=1
αc1(i),k+1ω
i
k+1δx
i
k+1
(2.78)
où c1(i) = j si i appartient à Ij,k. Dans la formulation (2.77), les lois Πj =
P
i∈Ij,k ω
i
k+1δx
i
k+1
peuvent contenir plusieurs modes, auquel cas il est judicieux de séparer les particules en autant de
modes que nécessaire. Inversement, deux lois Πˆ
l et Πm peuvent avoir des modes très rapprochés
ce qui incite à regrouper les particules correspondantes.
Cela se traduit par la formulation de pˆk+1|k+1 comme somme de Mk+1 composantes Πˆ 0
l
, l =
1, . . . , Mk+1 obtenues après re-clustering des composantes Πˆ
l
, l = 1, . . . , Mk.
pˆk+1|k+1 =
M
Xk+1
l=1
βl,k+1Πˆ 0
l
pˆk+1|k+1 =
M
Xk+1
l=1
βl,k+1 X
i∈Il,k+1
ν
i
k+1δx
i
k+1
(2.79)
avec PMk+1
l=1 βl,k+1 = 1 ,
P
i∈Ij,k+1 ν
i
k+1 = 1 et Πˆ 0
l =
P
i∈Il,k+1 ν
i
k+1δx
i
k+1
.
Il,k+1 ⊆ {1, . . . , N} est l’ensemble des indices des particules représentant la loi Πˆ 0
l
. On peut
réécrire l’égalité (2.79) sous la forme :
pˆk+1|k+1 =
X
N
i=1
βc2(j),k+1ν
j
k+1δx
j
k+1
(2.80)56 2. Méthodes particulaires pour le filtrage non linéaire
où c2(i) = l si i ∈ Il,k+1.
On peut également transformer l’équation (2.78) sous la forme :
pˆk+1|k+1 =
X
N
i=1
αc1(i),k+1ω
i
k+1δx
i
k+1
(2.81)
=
M
Xk+1
l=1
X
i∈Il,k+1
αc1(i),k+1ω
i
k+1δx
i
k+1
(2.82)
=
M
Xk+1
l=1
X
i
0∈Ij,k+1
αc1(i
0),k+1ω
i
0
k+1 X
i∈Il,k+1
αc1(i),k+1ω
i
k+1
P
i
0∈Il,k+1 αc1(i
0),k+1ω
i
0
k+1
δx
i
k+1
(2.83)
En identifiant l’égalité (2.83) avec l’équation (2.79), il vient :
βl,k =
X
i∈Il,k+1
αc1(i),kω
i
k
(2.84)
et
ν
i
k =
αc1(i),kω
i
k
βc2(i),k
(2.85)57
Conclusion du Chapitre 2
Nous avons présenté les briques de base du filtre particulaire dans le cadre des modèles à
espace d’état. L’algorithme SIS assure théoriquement une convergence vers la loi de filtrage
lorsque le nombre de particule est infiniment grand. Cependant, l’utilisation d’un nombre fini de
particules peut occasionner la divergence des algorithmes particulaires. En particulier, lorsque le
bruit d’observation est faible ou lorsque la dynamique est faiblement bruitée, l’échantillonnage
successif des particules selon la loi a priori ne garantit pas la convergence du filtre. Des variantes
telles que le filtre particulaire régularisé (RPF) ou le KPKF permettent de rendre le filtre plus
robuste lorsque ces situations surviennent mais n’éliminent pas totalement le risque de divergence.
Le filtre Rao-Blackwellisé (RBPF) exploite la structure des modèles conditionnellement linéaires
gaussiens afin d’effectuer une approximation particulaire sur une partie réduite de l’espace de l’état
et réduire ainsi le nombre d’échantillons nécessaire, le reste de l’état étant estimée par un banc de
filtres de Kalman. Nous avons également exposé une autre limitation des algorithmes particulaires,
qui est le risque de perte de mode lorsque la loi conditionnelle de l’état est multimodale. Nous
avons illustré l’impact du ré-échantillonnage sur la disparition des modes grâce à une modélisation
issue de la génétique des populations. Ceci a des implications pratiques car la loi de filtrage est
multimodale dans les scénarios de recalage de la navigation par mesures altimétriques. Enfin,
nous avons exposé les modèles de mélange dans le cadre du filtrage particulaire comme une
solution adaptée au distributions multimodales. Le chapitre 4 proposera une mise en oeuvre de
ces modèles en proposant une approche basée sur les techniques de clustering pour identifier
automatiquement les modes de la loi conditionnelle. Nous proposerons également une méthode
de régularisation adaptée aux densités multimodales, appelée régularisation locale.58 2. Méthodes particulaires pour le filtrage non linéaire59
Chapitre 3
Systèmes de navigation inertielle et
recalage radio-altimétrique
3.1 Introduction à la navigation inertielle
La navigation consiste d’une manière générale à connaitre la position, la vitesse et l’attitude
d’un mobile dans un référentiel donné. Dans cette thèse nous nous intéressons plus particuliè-
rement à la navigation terrestre, c’est-à-dire la détermination des caractéristiques cinématiques
d’un objet par rapport au globe terrestre. Nous chercherons donc à déterminer la position, la
vitesse et éventuellement les angles d’attitude de l’objet en déplacement. Les angles d’attitude
donnent accès à l’orientation angulaire du solide considéré. L’objet d’intérêt est un aéronef muni
d’une centrale inertielle qui comporte des accéléromètres et des gyromètres et d’un calculateur
permettant de déduire la solution de navigation par intégration successive des mesures accélérométriques
et gyrométriques. Nous présentons ci-après les principaux repères utilisés en navigation
terrestre ainsi que les types de centrales inertielles.
3.1.1 Repères de navigation
Repère inertiel (inertial frame) Le repère terrestre (O, xi
, yi
, zi) a pour origine le centre de
la Terre O et ses axes ont une direction fixe par rapport aux étoiles.
Repère terrestre Le repère terrestre (O, xT , yT , zT ), également appelé ECEF (Earth-Centered,
Earth-Fixed) , est lié à la Terre et est en rotation avec celle-ci. Il est centré sur la Terre et
les 3 vecteurs du trièdre xT , yT et zT sont tels que :
− xT est contenu dans le plan équatorial et passe par le méridien de Greenwich,
− zT est dirigé vers le pôle nord,
− yT complète le trièdre direct.
Trièdre géographique local (navigation frame) Le trièdre géographique local (TGL) est le
repère de navigation. Il a pour origine la projection P du centre de masse du mobile sur
la surface de la terre et ses axes sont dirigés respectivement vers le Nord, l’Est et selon la
verticale descendante. Dans toute la suite on notera (n, e, d) ce repère.60 3. Systèmes de navigation inertielle et recalage radio-altimétrique
Figure 3.1 – Repères de référence (ϕ et λ désignent ici respectivement la latitude et la longitude géographique)
Trièdre lié au mobile (body frame) Il s’agit du repère (M, xb, yb, zb) lié à l’engin. Son origine
M est un point quelconque du véhicule et n’est pas nécessairement confondu avec son
centre de gravité G. L’orientation des axes est conventionnelle :
− l’axe xb est dirigé selon l’axe de symétrie longitudinal de l’engin et est orienté vers
l’avant,
− l’axe zb est perpendiculaire au plan de la voilure et dirigé vers l’intrados du corps,
− l’axe yb complète le trièdre direct.
Les angles d’attitudes, notés ϕ, θ et ψ, définissent l’orientation du mobile par rapport au
TGL. ϕ désigne le roulis (roll), θ le tangage (pitch) et ψ le lacet (yaw).
3.1.2 Capteurs inertiels
Il existe deux types de centrales inertielles qui se distinguent par la façon dont la plate-forme
de capteurs est orienté par rapport au boitier : les centrales à plate-forme stabilisée et les centrales
à composants liés. Les 2 types de centrales comportent 3 accéléromètres et 3 gyromètres. Les
accéléromètres fournissent l’accélération non-gravitationnelle du véhicule par rapport au repère
inertiel, c’est-à-dire l’accélération absolue moins la pesanteur. Le vecteur résultant est appelé
force spécifique fa
. Les gyromètres mesurent la vitesse angulaire de l’engin par rapport au repère
inertiel.
Centrales à plate-forme stabilisé (gyrostabilized platforms) Sur ce type de centrales, les
accéléromètres sont installés sur une plate-forme mécanique isolée des mouvements angu-61
laires du boitier. Les gyromètres permettent d’asservir la plate-forme en position horizontale
de telle sorte que les accéléromètres ont leurs axes parallèles au TGL [106]. Les centrales à
plate-forme stabilisée sont relativement précises mais la présence d’un système mécanique
d’asservissement les rend plutôt encombrantes.
Centrales à composants liées Dans ce type de centrale, également appelée centrale inertielle
strap-down, les capteurs inertiels sont directement fixés à la structure rigide du boitier de
la centrale. Les 3 gyromètres et les 3 accéléromètres fournissent donc des mesures dans
le repère engin (G, xb, yb, zb) lié au mobile. Les accélérations sont projetées dans le TGL
par intégration des vitesses angulaires issues des gyromètres. Les centrales à composants
liés sont plus simples mécaniquement que les centrales à plate-forme stabilisée, ce qui
les rend peu encombrantes et exige moins de maintenance mais nécessite un calculateur
plus puissant. Aujourd’hui, la puissance des calculateurs embarqués fait qu’elles sont plus
répandues que les centrales à plate-forme stabilisée.
Dans la suite de l’exposé, nous considérons un véhicule muni d’une centrale à composants liés.
Le rôle du calculateur est de projeter les mesures des capteurs inertiels dans le trièdre géographique
local afin d’obtenir par intégration les paramètres cinématiques du véhicule.
3.2 Les équations de la navigation inertielle
Les paramètres cinématiques de l’aéronef sont :
− la position géographique (λ, φ, z) où λ est la latitude géographique, φ la longitude et z
l’altitude. Ces 3 composantes sont exprimées dans le trièdre de navigation.
− la vitesse de déplacement de son centre de masse, exprimée dans le TGL et notée v =
(vn, ve, vd)
− l’attitude, représentée par les angles d’Euler ϕ, θ et ψ.
Dans une centrale inertielle à composants liés, les mesures de forces spécifiques et de vitesses
de rotation se font dans le trièdre engin (M, xb, yb, zb), M étant l’origine de la centrale inertielle.
La vitesse du centre de masse vG est reliée à la vitesse du point M par la relation :
vG = vM − (ωm − ωie) ∧ GM (3.1)
où ωie est le vecteur de la rotation de la terre et ωm est le vecteur de vitesse angulaire mesuré
par les gyromètres (vitesse de rotation absolue).
Afin de déterminer l’ensemble des paramètres cinématiques de l’aéronef, on représente le globe
terrestre comme un ellipsoïde de révolution dont l’axe de symétrie est confondu avec l’axe de
révolution autour des pôles. Cet ellipsoïde est défini par son demi grand axe a et son demi petit
axe b. Son excentricité e et son aplatissement fap sont définis par :
e =
s
1 −
b
2
a
2
et fap = 1 −
b
a62 3. Systèmes de navigation inertielle et recalage radio-altimétrique
Les paramètres de l’ellipsoïde sont fournies par le modèle WGS84 ( World Geodetic System 1984).
Les valeurs numériques sont :
a = 6378137 m (3.2)
fap = 1/298.257223563 (3.3)
b = 6356752.3 m (3.4)
3.2.1 Equation d’attitude
L’orientation du mobile par rapport au TGL est définie par les angles d’attitudes ϕ, θ et ψ
(respectivement roulis, tangage et lacet). Ces angles permettent d’obtenir la matrice des cosinus
directeurs Rn2b qui correspond à la matrice de rotation qui fait passer du TGL (n, e, d) au repère
engin (xb, yb, zb).
Rn2b =
cos θ cos ψ cos θ sin ψ − sin θ
− cos ϕ sin ψ + sin ϕ sin θ cos ψ cos ϕ cos ψ + sin ϕ sin θ sin ψ sin ϕ cos θ
sin ϕ sin ψ + cos ϕ sin θ cos ψ − sin ϕ cos ψ + cos ϕ sin θ sin ψ cos ϕ cos θ
(3.5)
On définit également la matrice de rotation Rb2n qui fait passer du repère engin au repère de
navigation. On a donc :
Rb2n = R
T
n2b = R
−1
n2b
Soit ω la vitesse angulaire de rotation du mobile par rapport au repère TGL et soit p, q, r ses
composantes exprimées dans le repère lié à l’avion. Les angles d’attitude sont reliés aux vitesses
angulaires p, q, r selon l’équation différentielle suivante :
ψ˙
˙θ
ϕ˙
=
0
sin ϕ
cosθ
cos ϕ
cosθ
0 cos ϕ − sin ϕ
1 tan θ sin ϕ tan θ cos ϕ
p
q
r
(3.6)
La vitesse angulaire de l’aéronef par rapport au TGL, est égale à
ω = ωm − ρ − ωie
ωm est la vitesse angulaire mesurée par les gyromètres dans le repère engin tandis que ρ
représente la vitesse angulaire de rotation du TGL par rapport à la Terre. Les composantes de ρ
et ωie sont définies dans le repère TGL selon :
ρn =
ve
Rφ+z
ρe = −
vn
Rλ+z
ρd = −
ve
Rφ+z
tan(λ)
(3.7)
et
ω
n
ie = ω0 cos(λ)
ω
e
ie = 0
ω
d
ie = −ω0 sin(λ)
(3.8)63
avec ω0 = 7.29 × 105
rd.s−1
est la vitesse de rotation propre du globe terrestre.
Rλ est le rayon de courbure de la Terre dans le plan méridien (rayon nord).
Rλ = a
1 − e
2
(1 − e
2 sin2
(λ))3/2
(3.9)
Rφ est la grande normale de l’ellipsoïde (rayon est).
Rφ =
a
(1 − e
2 sin2
(λ))1/2
(3.10)
L’équation du mouvement angulaire d’un corps rigide en rotation permet d’obtenir l’équation
différentielle de la matrice des cosinus directeurs :
R˙
n2b = −[ωm×]Rn2b + Rn2b[(ρ + ωie)×] (3.11)
où ωm =
ωx ωy ωz
T
est le vecteur des vitesses angulaires mesurées par les gyromètres et
[ωm×] est la matrice anti-symétrique définie par :
[ωm×] =
0 −ωz ωy
ωz 0 −ωx
−ωy −ωx 0
(3.12)
3.2.2 Equation de vitesse du mobile
L’équation différentielle régissant la vitesse du mobile et projetée dans le trièdre de navigation
est
v˙ = Rb2nγm + g − (2ωie + ρ) ∧ v (3.13)
γm est le vecteur d’accélération spécifique mesurée par les accéléromètres exprimé dans le repère
engin. g est la pesanteur terrestre. Il est égal à la gravité ΦT de la Terre diminué de l’accélération
d’entraînement due à la rotation de celle-ci.
g = ΦT − ωie ∧ (ωie ∧ OM) (3.14)
Dans le modèle WGS84, la norme de g à la surface de la Terre ne dépend que de la latitude λ et
de l’altitude z via la formule suivante :
g ≈ 9.7803 + 0.0519 sin2
(λ) − 3.08 × 10−6
z (3.15)
où z est exprimé en mètres.
En projetant l’équation (3.13) sur le TGL, et compte tenu des égalités (3.7) et (3.8), il vient :
v˙n
v˙e
v˙d
= Rb2n
γx
γy
γz
+
0
0
g
+
−
v
2
e
Rφ+z
tan λ − 2ω0ve sin λ +
vnvd
Rλ+z
1
Rφ+z
(vevn tan λ + vevd) + 2ω0(vn sin λ + vd cos λ)
−
v
2
n
Rφ+z −
v
2
e
Rλ+z − 2ω0ve cos λ
(3.16)
où
γx γy γz
T
est le vecteur des accélérations mesurées par les accéléromètres.64 3. Systèmes de navigation inertielle et recalage radio-altimétrique
3.2.3 Equation de position
L’équation d’évolution de la position du mobile s’obtient par intégration de l’équation de
vitesse (3.16) :
λ˙
φ˙
z˙
=
1
Rλ+z
0 0
0
1
(Rφ+z) cos(λ)
0
0 0 −1
vn
ve
vd
(3.17)
3.3 Modélisation de l’erreur de navigation
La centrale inertielle calcule la solution de navigation par intégration successives des données
accélérométriques et gyrométriques. Des erreurs peuvent apparaître lorsque l’initialisation (alignement)
de la centrale est erronée ou inévitablement parce que les capteurs ont une précision
limitée.
Les erreurs de navigation sont dues à la juxtaposition d’erreurs de projection et d’erreurs d’inté-
gration. En effet, une mesure erronée des gyromètres donnera une matrice d’attitude Rn2b fausse.
La projection des mesures des accéléromètres se faisant grâce à cette matrice d’attitude, il en ré-
sultera une accumulation de l’erreur due à une mauvaise projection et de celle due à l’imperfection
des accéléromètres. L’intégration de cette projection entraînera une dérive des composantes de
vitesse et donc des coordonnées de position. Par ailleurs, le modèle de pesanteur que nous avons
considéré dépend, en ce qui concerne la direction, de la position horizontale du véhicule, et en ce
qui concerne l’intensité, de son altitude. Toute erreur sur la position du véhicule entraîne donc
une mauvaise estimation de la pesanteur et se répercute sur les futures estimations de vitesses et
de position. Ce couplage, appelé phénomène de Schüler, se traduit par une oscillation des erreurs
de position horizontale et une divergence de la position verticale. Nous rappelons ci-après les
équations d’évolution des erreurs de position, vitesse et attitude.
3.3.1 Variables d’erreurs
Dans la suite, les variables entachées d’erreurs seront notées par un tilde. Ces variables représentent
par exemple la position inertielle ou les mesures des accéléromètres. On notera δu le
vecteur d’erreur correspondant à la différence entre la valeur vraie ou idéale de u et la valeur
erronée u˜.
δu = u − u˜
Erreur de position On définit l’erreur de position δx comme l’écart métrique entre la position
inertielle et la position vraie dans le repère TGL. Ses coordonnées sont :
δxn = (Rλ + z)δλ
δxe = (Rφ + z) cos(λ)δφ
δxd = −δz
(3.18)
où δλ, δφ et δz sont les erreurs de position géographiques dans le trièdre géographique local.65
Erreur de vitesse On définit δv = v − v˜ comme l’erreur de vitesse dans le repère TGL.
Erreur d’attitude Soit δφ, δθ et δψ les erreurs commises sur les angles d’attitude. Si on note
R˜
n2b la matrice des cosinus directeurs dont dispose la centrale inertielle (Rn2b étant la matrice
exacte), on a la relation suivante [5], valable dans l’approximation des petits angles :
Rn2b = R˜
n2b
1 −δψ δθ
δψ 1 −δϕ
−δθ δϕ 1
(3.19)
On définit la matrice antisymétrique [Φ×] comme
[Φ×] =
0 −δψ δθ
δψ 0 −δϕ
−δθ δϕ 0
L’équation (3.19) est donc équivalente à :
Rn2b = R˜
n2b(I3 + [Φ×]) (3.20)
Erreurs de mesure des capteurs inertiels On définit l’erreur de mesure des accéléromètres
comme
δγ = γ − γ˜ (3.21)
où γ˜ est la mesure accélérométrique fournie par la centrale inertielle. De la même façon l’erreur
de mesure des gyromètres est :
δω = ω − ω˜ (3.22)
Erreur d’orientation du TGL Soit B la matrice de rotation qui fait passer du repère terrestre
au repère de navigation. B dépend de la latitude et longitude du véhicule de la façon suivante :
B =
− cos φ sin λ − sin φ sin λ cos λ
− sin φ cos φ 0
− cos φ cos λ − sin φ cos λ − sin λ
(3.23)
Ainsi, une erreur sur les coordonnées géographiques a une répercussion sur la matrice B de sorte
que la matrice B˜ dont dispose la centrale s’exprime sous la forme.
B = (I − [δΘ×])B˜ (3.24)
avec
[δΘ×] =
0 −δΘn δΘe
δΘd 0 −δΘn
−δΘe δΘn 0
(3.25)66 3. Systèmes de navigation inertielle et recalage radio-altimétrique
δΘn, δΘe et δΘd sont trois petits angles décrivant l’erreur d’orientation du TGL en fonction de
l’erreur de position :
δΘn =
δxe
Rφ+z
δΘe = −
δxn
Rλ+z
δΘd = −
tan(λ)δxe
Rφ+z
Nous donnons ci-après les équations de propagation des erreurs de navigation. Elles sont
obtenues par différentiation au premier ordre des équations de la navigation. Dans un premier
temps, ces équations correspondent à un modèle dit angle-phi, pour lequel les variables d’erreurs
δx, δv sont projetées dans le repère lié à la Terre [5]. Ensuite, nous présentons la modélisation
dite angle-psi [5], qui permet d’éliminer certaines variables intermédiaires du problème.
3.3.2 Équation d’évolution de l’erreur d’attitude
Rappelons que Φ =
δφ δθ δψT
est le vecteur des erreurs d’attitude en repère TGL.
Notons g = Rb2nδωm la projection des erreurs des gyromètres dans le repère TGL. On introduit
également δρ et δωie les erreurs d’estimation de vitesse angulaire de ρ et ωie. L’équation
d’évolution du vecteur des erreurs d’attitude est alors
Φ˙ = −(ρ + ωie) ∧ Φ − g + δρ + δωie (3.26)
3.3.3 Équation d’évolution de l’erreur de vitesse
Soit f = Rb2nγm et a = Rb2nδγm les projections respectives de la mesure accélérométrique
et de l’erreur correspondante dans le TGL. L’équation d’évolution du vecteur des erreurs de vitesse
projetée dans le TGL est
δv˙ = −Φ ∧ f + a + δg − (ρ + 2ωie) ∧ δv − (δρ + 2δωie) ∧ v (3.27)
où δg ≈
0 0 −
2g
a
δzT
est le vecteur d’erreur de la pesanteur qui a une contribution nulle
dans le plan horizontal. De plus, la composante sur l’axe vertical du TGL, gD, a une erreur δgD
qui s’exprime comme
δgD =
∂g
∂z δz +
∂g
Rφ∂λRφδλ
Une analyse numérique montre que le terme ∂g
Rφ∂λRφδλ peut être négligé, ce qui réduit δgD à
∂g
∂z δz.
3.3.4 Équation d’évolution de l’erreur de position
L’équation d’évolution de l’erreur de position fait intervenir un terme du à l’erreur d’estimation
de la vitesse et un terme du à une mauvaise estimation du TGL.
δx˙ = δv − ρ ∧ δx + δΘ ∧ v (3.28)67
3.3.5 Modélisation angle-psi pour les équation d’erreurs de navigation
Une analyse des équations (3.26), (3.27) et (3.28) montre que les variables δρ, δωie et
δΘ doivent être exprimées en fonctions des paramètres cinématiques δx, δv et δΦ afin d’être
intégrées, ce qui est possible, mais résulte en un système d’équations différentielles couplées peu
commode à manipuler. La modélisation dite angle-psi permet d’obtenir un ensemble d’équations
plus simple d’utilisation en introduisant les variables suivantes :
δv
0 = δv + δΘ ∧ v
Ψ = Φ − δΘ
(3.29)
On aboutit alors au système d’équations suivant [28] :
Ψ˙ = −(ρ + ωie) ∧ Ψ − g
δ
˙v
0 = −Ψ ∧ f + a + δg
0 − (ρ + 2ωie) ∧ δv
0
δx˙ = δv
0 − ρ ∧ δx
(3.30)
3.3.5.1 Modélisation des erreurs des capteurs inertiels
L’erreur accélérométrique δγm est modélisée de la manière suivante :
δγm = ba + Kaγm + ξa
(3.31)
où
− ba est un terme de biais accélérométrique,
− Ka est un facteur d’échelle,
− ξa
est un processus de Wiener [38].
L’erreur gyrométrique est modélisée de la même façon :
δωm = bg + Kgωm + ξg
(3.32)
− bg est un terme de biais gyrométrique,
− Kg est un facteur d’échelle propre au gyromètre,
− ξg
est un processus de Wiener.
Les biais ba et bg sont communément modélisés par un processus de Markov du premier ordre
noté b :
˙b =
−1
τ
b + ν (3.33)
où
− τ est la période de corrélation du processus b,
− ν est un processus de Wiener.68 3. Systèmes de navigation inertielle et recalage radio-altimétrique
Figure 3.2 – Mesure altimétrique sur une surface plane : évolution de la puissance P reçue par
le radar
3.4 Radio-altimétrie et architecture de la navigation hybridée
3.4.1 Généralités sur les radio-altimètres
Un radio-altimètre permet de mesurer la distance entre un mobile donné et le sol, appelée
hauteur-sol. L’altimètre émet une onde électromagnétique et reçoit le signal renvoyé par les cibles
situées sur le trajet de l’onde (surfaces terrestres) avec un décalage temporel. La distance h entre
l’objet en vol (porteur de l’instrument) et le sol est déduite du temps de propagation aller-retour
(t0) d’une onde électromagnétique (de célérité c) entre l’objet et la surface du sol par la relation :
h =
ct0
2
(3.34)
Il existe deux classes de fonctionnement pour les radio-altimètres, qui se distinguent par la
largeur de la zone éclairée au sol par son faisceau d’antenne :
− les altimètres pour lesquels la surface éclairée au sol est limitée par l’ouverture θ0 du
faisceau de l’antenne (beam-limiter altimeters),
− les altimètres dont la durée d’impulsion courte limite la surface de la zone de sol reçue
dans une cellule de résolution (pulse-limited altimeter).
La figure 3.2 représente l’évolution d’une impulsion électro-magnétique et la courbe d’évolution
de la puissance reçue par le radar, pour une mesure altimétrique effectuée sur une surface69
900
1000
1100
1200
1300
1400
1500
1600
1700
m
hauteur−sol réelle
mesure issue d’un modèle RA
Figure 3.3 – Comparaison de la hauteur-sol réelle et d’une mesure simulée à partir d’un modèle
d’antenne RA réaliste. Le profil considéré est une portion de terrain de 20 km.
plane (un océan,. . .) dans le cas d’un radio-altimètre à durée d’impulsion courte. La surface éclairée
par l’onde est l’intersection de la coquille sphérique, qui représente l’impulsion radar, par la
surface observée. L’impulsion émise ayant une durée finie, cette surface passe d’un point à un
disque, puis à un anneau de surface constante. La puissance renvoyée par la surface est plus faible
à des angles d’incidences plus grands, d’où la décroissance observée de la puissance reçue.
Le radio-altimètre a tendance à indiquer une distance qui diffère de la hauteur-sol d’autant
plus que le lobe de l’antenne radar est large, même s’il est orienté verticalement vers le sol. Une
illustration de cette observation est donnée par la figure 3.3 où est représentée la hauteur-sol théorique
le long d’une trajectoire donnée et la mesure issue d’un modèle radio-altimétrique réaliste.
La distance indiquée est plutôt la distance la plus courte entre le mobile et le relief ce qui introduit
un biais. Idéalement ceci doit être pris en compte dans le développement de filtres de recalage
réalistes en modifiant le modèle d’observation décrivant la mesure altimétrique. Cependant dans
cette thèse, la modélisation retenue ne tient pas compte de cette erreur systématique.
3.4.2 Principe de la navigation hybridée
La navigation hybridée consiste à coupler un capteur indépendant des senseurs inertiels avec
la centrale inertielle afin d’augmenter la précision et la fiabilité de la solution de navigation. Une
architecture d’hybridation permet donc d’effectuer un recalage de la navigation inertielle. Parmi
les capteurs couramment utilisées pour le recalage d’aéronef, on peut citer :
− le GPS (Global Positioning System), système de positionnement par satellites fondé sur la
triangulation. Le système GPS est géré par les autorités américaines et assure une précision
dans le pire des cas de 7,8 mètres à 95% de certitude (GPS civil) [1].
− le radar à synthèse d’ouverture (SAR, Synthetic Aperture Radar) qui permet d’obtenir une
cartographie de la zone de relief survolé et d’effectuer le recalage par comparaison avec
une carte de référence embarquée [81].
− le radio-altimètre, présenté précédemment, offre la possibilité de se recaler en comparant
les mesures successives de hauteur-sol avec un Modèle Numérique de Terrain (MNT)70 3. Systèmes de navigation inertielle et recalage radio-altimétrique
embarqué.
Les avantages principaux du radio-altimètre par rapport au GPS sont essentiellement son
fonctionnement autonome et la difficulté de brouillage des signaux issue de son antenne-radar.
Capteurs inertiels
Navigation inertielle Filtre Radio-altimètre
Σ
Navigation recalée
état inertiel
+
erreurs inertielles −
Figure 3.4 – Architecture de navigation hybride
3.5 Approches algorithmiques pour le recalage altimétrique
3.5.1 Recalage altimétrique par bloc
Le recalage altimétrique par bloc consiste à acquérir une suite de mesures altimétriques afin
d’inférer la position courante par comparaison de profils d’altitude. Parmi les approches de recalage
par bloc, on peut citer le procédé TERCOM (Terrain Contour Matching) fondé sur une mesure
de corrélation entre un vecteur de mesures de hauteurs-sol et un profil de terrain de même
longueur. Si h = (h1, . . . , hp) est une suite de p mesures RA consécutives et H désigne la
matrice représentant le modèle numérique de terrain, une mesure de corrélation possible est [6] :
ck,m =
1
p
X
p
n=1
|hn − Hm,n+k| (3.35)71
La position estimée est celle maximisant la corrélation ck,m :
(
ˆk, mˆ ) = arg max
(k,m)
ck,m (3.36)
Le système TERCOM est applicable aux véhicules dont les manoeuvres sont rares et limitées ce
qui contraint son utilisation. De plus, il suppose une connaissance précise des vitesses de l’aéronef.
3.5.2 Recalage par banc de filtres de Kalman
Le système SITAN (Sandia Inertial Terrain Aided Navigation), développé à la fin des années
70 par Sandia Laboratories, est le premier à adopter une approche récursive au problème de navigation
par corrélation de terrain, contrairement à TERCOM qui procède par "batch". La version
d’origine utilise un filtre de Kalman étendu modifié, dans lequel est introduit une linéarisation
stochastique adaptative censée atténuer les effets des fortes non-linéarités du relief [57]. Par la
suite, des modifications ont été apportées à l’algorithme afin d’éviter les divergences du filtre :
dans la version de Hollowel et al. [56], un banc de filtre de Kalman remplace l’unique EKF. L’idée
est que les filtres initialisés au voisinage de la position vraie ont moins de chance de diverger.
3.5.3 Du Point-Mass Filter aux filtres particulaires
Le Point-Mass Filter (PMF) [11, 3], est un filtre bayésien capable de traiter les ambiguïtés
de terrain inévitable en début de recalage lorsque l’incertitude est grande. A notre connaissance,
la première application du PMF au recalage altimétrique date des travaux de Bergman sur l’estimation
bayésienne pour la navigation et le pistage [7]. Le PMF suppose que l’espace d’état soit
discrétisé selon une grille déterministe x
(1), . . . , x(N)
. Les équations du filtrage linéaire sont alors
exprimées sur cette grille en introduisant des poids ω
(1)
k
, . . . , ω
(N)
k
qui représente les probabilités
p(xk = x
(i)
|y0:k), i = 1, . . . , N . En pratique, le PMF peut s’implémenter aisément pour des
vecteurs de petite dimension, c’est-à-dire inférieure ou égale à 3 : au delà, le maillage régulier
de l’espace devient inefficace. Ainsi, dans [7], les auteurs s’intéressent au recalage de la position
horizontale, ayant supposé que l’altitude est fournie par un baro-altimètre. En outre, le calcul
récursif des poids devient extrêmement couteux puisqu’il revient à une convolution discrète en
dimension d [51]. Concrètement cela signifie que le PMF est envisageable pour le recalage de
véhicules dont les trois composantes de vitesse sont connues avec une précision suffisante. Une
autre problématique du PMF est celle de l’adaptation de la résolution du maillage par rapport au
support de la densité a posteriori p(xk|y0:k) : en début de recalage, l’incertitude sur x est grande
donc une maille de faible résolution suffit tandis que dès que p(xk|y0:k) se résume à quelques
modes, il vaut mieux augmenter la résolution de la maille.
Bergman a proposé dans ses travaux de thèse [6] la première étude du filtre particulaire standard
(SIR) pour le recalage radio-altimétrique. Plus récemment, on peut citer les travaux de :
− K.Dahia [28] qui a développé et appliqué le KPKF (Kernel Particle Kalman Filter) pré-
senté au chapitre 2 au recalage d’aéronefs. Le KPKF combine la philosophie des mé-
thodes particulaires classiques avec le filtre de Kalman, mais contrairement au RBPF72 3. Systèmes de navigation inertielle et recalage radio-altimétrique
(Rao-Blackwellized Particle Filter), il ne suppose pas de structure partiellement linéaire de
l’équation de mesure. L’avantage algorithmique du KPKF est sa robustesse aux grandes
incertitudes initales.
− M. Flament [41] a proposé une étude comparative des filtres particulaires gaussiens avec
le filtre de Kalman étendu et le Point Mass Filter.
− La thèse de Nordlund [93] propose une étude des performances du RBPF pour le recalage
altimétrique.
3.5.4 Recalage altimétrique continu
Le recalage altimétrique continu (RAC) est une technique de recalage utilisée lorsque l’erreur
de position initiale a été réduite par un algorithme de type TERCOM, SITAN ou particulaire.
Le RAC s’appuie sur un filtre de Kalman étendu pour estimer les variables d’état du véhicule :
les paramètres cinématiques (3 erreurs de position , 3 erreurs de vitesse et 3 erreurs d’angles
d’attitude) et éventuellement les défauts des capteurs (bias gyrométriques et accélérométriques).73
Conclusion du Chapitre 3
Dans ce chapitre, la problématique de navigation inertielle est introduite. Après avoir rappelé
les principales équations régissant l’évolution des paramètres cinématiques, nous avons exposé
les équations d’évolution des erreurs de la navigation inertielle. La navigation hybridée permet
de fusionner les informations fournies par la centrale inertielle avec le filtre de recalage afin de
fournir un estimation recalée des variables d’états du véhicule. Le chapitre suivant est consacré
au développement d’un nouveau filtre particulaire de recalage permettant de lutter contre les
difficultés soulevées par les ambiguïtés de terrain.74 3. Systèmes de navigation inertielle et recalage radio-altimétrique75
Chapitre 4
Développement de filtres particulaires
adaptés aux multimodalités
Introduction
Nous avons vu dans le chapitre 2 que l’une des limitations du filtre particulaire concernait
la gestion des lois conditionnelles multimodales. En effet, la phase de ré-échantillonnage peut
provoquer la perte de l’un des modes de la loi conditionnelle (voir 2.5). Dans l’application du
recalage par mesures altimétriques, la présence de plusieurs modes dans la loi a posteriori pk|k =
p(xk|y0:k) est due à l’ambiguïté du terrain survolé. La perte du mode correspondant à la vraie
position provoquant quasi-systématiquement la divergence du filtre particulaire, il est souhaitable
de mettre en oeuvre un algorithme permettant de limiter cette occurrence.
Dans cette thèse, nous proposons d’adopter la représentation sous-forme d’un modèle de mélange
de lois conditionnelles, c’est-à-dire que le filtre pk|k est formulé sous la forme suivante :
pk|k =
X
Mk
j=1
αj,kpj (xk|y0:k) (4.1)
Cette approche a été introduite par Vermaak et. al dans leurs travaux sur le suivi de joueurs de
football dans une séquence vidéo [118]. S’inspirant de [118], Okuma a utilisé cette modélisation
dans le cadre du pistage vidéo de joueurs de hockey [95]. La particularité de [95] est de détecter
les joueurs par un classifieur à partir de données d’apprentissage composées de joueurs de hockey.
Après la phase de détection, une composante pj (xk|y0:k) est affectée à chaque joueur détecté. Cela
permet de gérer l’apparition ou la disparition de joueurs d’une image à l’autre. Dans l’approche
de Vermaak[118], un mode peut correspondre à plusieurs joueurs proches. Pour regrouper les
particules correspondant au même mode, Vermaak et ses co-auteurs utilisent l’algorithme de
clustering k-means [80], qui nécessite une connaissance a priori du nombre de modes.
Nous reprenons dans cette thèse la formulation (4.1) afin de conserver au mieux les modes de la
loi a posteriori. Les contributions du chapitre sont les suivantes :
− l’utilisation de l’algorithme mean-shift [19] pour la détermination automatique des modes
et des clusters de particules,76 4. Développement de filtres particulaires adaptés aux multimodalités
− la gestion automatique du nuage de particules par suppression des clusters peu vraisemblable
et ré-allocation des particules supprimées aux clusters restants,
− l’introduction d’une méthode de régularisation locale,
− l’échantillonnage de particules selon une série de densités d’importances centrées sur les
modes de la densité a posteriori
4.1 Détermination des modes de la loi a posteriori par clustering
Afin d’utiliser la modélisation (4.1), il nous faut identifier à chaque instant l’ensemble des
particules associé à la même composante pj de manière à écrire l’approximation suivante :
pk|k ≈ pˆk|k =
X
Mk
j=1
αj,k X
i∈Ij,k
ω
i
k
δx
i
k
(4.2)
C’est-à-dire que pj ≈
P
i∈Ij,k ω
i
k
δx
i
k
où, idéalement, chaque pj est unimodale. Le regroupement
des particules rattachées au même mode se fait par une méthode de clustering.
De manière générale, le clustering consiste à partitionner un ensemble de points X = {x
i
, i =
1, . . . , N} en M sous-ensembles C1, C2, . . . , CM, ou clusters, selon un critère de similarité de sorte
que les éléments appartenant au même cluster soient plus semblables (en un certain sens) que
les éléments d’autres clusters. Il existe une grande variété de types d’algorithmes de clustering
(mesure de distance, décomposition hiérarchique, réseau de neurones,. . .) sur lesquels nous ne
nous attarderons pas : le lecteur intéressé pourra par exemple consulter un état de l’art détaillé
dans [60] et [124]. A titre d’exemple, considérons l’algorithme k-means [80]. La mesure de similarité
entre deux points x
i
et x
j
(i 6= j) de R
2
est la distance euclidienne kx
i −x
jk2. Les clusters
sont alors déterminées en minimisant la somme des écarts quadratiques intra-classes :
arg min
C1,...,CM
X
M
i=1
X
xj∈Ci
x
j − µ(Ci)
2
où µ(Ci) est la moyenne empirique des points appartenant à Ci et les Ci
forment une partition
de X .
L’utilisation de l’algorithme k-means n’est pas recommandée dans l’application de recalage car
nous ignorons le nombre Mk de modes de pˆk|k. Par ailleurs, cet algorithme définit des clusters
convexes, bien qu’a priori les clusters recherchés aient une forme quelconque. En revanche, l’algorithme
mean-shift, basé sur l’estimation de densité par noyau, permet de déterminer les clusters
de points correspondant au même mode, sans connaître Mk. C’est cette méthode que nous retenons
afin d’identifier les ensembles Ij,k, j = 1, . . . , M ci-dessus. A chaque ensemble Ij,k sera
associé le cluster Cj,k constitué de l’ensemble des particules d’indices appartenant à Ij,k, i.e. :
Cj,k =
n
x
i
k
, i ∈ Ij,ko
(4.3)77
Dans toute la suite, on notera ck la fonction qui associe l’indice i d’une particule à l’indice j
du cluster auquel il appartient, k désignant la variable de temps courant. Ainsi,
∀ i ∈ J0, NK, ck(i) = j ⇔ x
i
k ∈ Cj,k (4.4)
Enfin on désignera par Xk l’ensemble des particules à l’instant k.
Xk =
n
x
i
k
, i = 1, · · · , No
(4.5)
4.1.1 L’algorithme mean-shift clustering
L’algorithme mean-shift est une méthode populaire de clustering utilisée notamment en segmentation
d’image, pistage vidéo ou débruitage d’image. Les fondements de cette méthode se
trouvent dans les travaux de Fukunaga et Hostetler [45] dans le cadre de l’estimation du gradient
d’une fonction. Ils ont été ensuite repris dans [19] puis par Cominiciu et Meer [21] pour la segmentation
d’image. La popularité du mean-shift est due au fait qu’il ne nécessite pas de connaître
le nombre de clusters a priori. De plus, il permet de trouver des clusters de forme quelconque.
Le mean-shift s’appuie sur l’identification des modes de la densité lissée d’un nuage de point. La
localisation de ces modes est effectuée par une recherche itérative des zéros du gradient de la
densité lissée.
4.1.1.1 Estimation de densité par noyau
Etant donné un ensemble de N points x
i
, i = 1, . . . , N, dans R
d
, on rappelle que l’estimateur
de densité par noyaux est défini par :
ˆf(x) = 1
N
X
N
i=1
KH(x − x
i
) (4.6)
où
KH(x) = det(H)
1/2K(H
−1/2x)
et H est une matrice d×d symétrique définie positive, K une fonction (noyau) à support compact
telle que :
Z
K(x) dx = 1 Z
xK(x) dx = 0 Z
kxk
2 K(x) dx = cKId lim
kxk→+∞
kxk
dK(x) = 0
(4.7)
Une classe importante de noyaux est celle des noyaux radialement symétriques [21] i.e. tels
que :
K(x) = ck,dk(kxk
2
) (4.8)
où k est une fonction définie sur R+ et ck,d > 0 est telle que l’intégrale de K sur R
d
vaut 1.
Dans toute la suite, on considère que K est radialement symétrique.
En pratique, la matrice H est choisie sous la forme H = h
2
Id, où h > 0 est le facteur de lissage78 4. Développement de filtres particulaires adaptés aux multimodalités
global, paramètre que nous avons introduit dans la section 2.3 dans le cadre du filtre particulaire
régularisé. L’estimateur de densité à noyaux devient donc :
ˆf(x) = 1
Nhd
X
N
i=1
K
x − x
i
h
!
(4.9)
Notons qu’il est également possible d’avoir un estimateur à noyau où le facteur de lissage dépend
des données x
i
[9] : on parle alors de facteur de lissage local. C’est une stratégie préférable lorsque
le nuage de points comporte plusieurs clusters de tailles différentes. Dans ce cas, l’expression de
l’estimateur de densité est :
ˆf(x) = X
N
i=1
1
Nhd
i
K
x − x
i
hi
!
(4.10)
avec hi = h(x
i
). L’un des intérêts d’une fenêtre dépendant des données est que le biais de
l’estimateur est inférieur à celui de l’estimateur à fenêtre constante [22] pour un certain choix
des hi = h
∗
i
. Cependant, la détermination des h
∗
i dans le cas multi-dimensionnel est un problème
non encore résolu [12].
Rappelons que la qualité de l’estimateur ˆf est classiquement mesurée par l’erreur quadratique
intégrée moyenne, ou MISE (Mean Integrated Squared Error) définie par :
MISE = E
Z
f(x) − ˆf(x)
2
dx
(4.11)
Souvent, seule une approximation asymptotique, dénomée AMISE (Asymptotic Mean Integrated
Squared Error), est disponible. Lorsque N tend vers +∞ et h tend vers 0 moins vite que 1
N
,
l’AMISE est minimisée par le noyau d’Epanechnikov (cf. eq. (2.27)) [120, p.104].
La première étape de l’algorithme mean-shift consiste à déterminer les modes de la densité
sous-jacente f. Pour cela, on recherche les zéros du gradient ∇f à l’aide de l’estimateur ˆf(x)
défini par (4.9).
4.1.1.2 Estimation du gradient de la densité
L’estimateur donnée par l’equation (4.9) peut être réécrit comme suit :
ˆf =
ck,d
Nhd
X
N
i=1
k
x − x
i
h
2
(4.12)
Un estimateur du gradient de la densité f est obtenu en calculant le gradient de ˆf :
∇ˆ f(x) = ∇ ˆf(x) = 2ck,d
Nhd+2
X
N
i=1
x − x
i
k
0
x − x
i
h
2
(4.13)
En posant g(x) = −k
0
(x), on peut réécrire (4.13) sous la forme :79
∇ˆ f(x) = ∇ ˆf(x) = 2ck,d
Nhd+2
X
N
i=1
x
i − x
g
x − x
i
h
2
(4.14)
=
2ck,d
Nhd+2
X
N
i=1
g
x − x
i
h
2
PN
i=1 x
i
g
x−x
i
h
2
PN
i=1 g
x−xi
h
2
− x
(4.15)
En pratique pour les noyaux usuels (Epanechnikov, gaussien), PN
i=1 g
x−x
i
h
2
> 0. Le
terme 2ck,d
Nhd+2 PN
i=1 g
x−x
i
h
2
est proportionnel à l’estimateur de densité en x calculée avec un
noyau G - appelé kernel shadow - tel que G(x) = cg,dg(kxk
2
) où cg,d est une constante de
normalisation :
ˆfg =
cg,d
Nhd
X
N
i=1
g
x − x
i
h
2
(4.16)
Le deuxième terme est appelé vecteur mean-shift :
mh,G(x) =
PN
i=1 x
i
g
x−x
i
h
2
PN
i=1 g
x−xi
h
2
− x (4.17)
En combinant les expressions (4.15) et (4.16), le vecteur mean-shift s’exprime comme
mh,G(x) = 1
2
h
2
cg,d
ck,d
∇ ˆfh,K(x)
ˆfh,G(x)
(4.18)
Lorsque l’estimateur à noyau est défini grâce à une matrice de lissage H et que le noyau K est
gaussien, le vecteur mean-shift s’écrit sous la forme
mH,G(x) = H
∇ ˆfh,K(x)
ˆfh,G(x)
(4.19)
L’équation (4.19) suggère que le vecteur mean-shift pointe vers la direction de plus fort gradient
de densité et peut donc être utilisé dans un schéma de recherche des modes de la densité f.
En particulier, le gradient ∇ˆ f(x) va s’annuler lorsque ce vecteur sera nul. Sous certaines conditions
sur le noyau K, la suite {y
i
j
, j ≥ 1} définie par :
(
y
i
1 = x
i
y
i
j+1 = y
i
j + mh,G(y
i
j
) si j ≥ 1
(4.20)
converge vers une limite y
i
∞ correspondant à un maximum local de la densité ˆf [21].
Cette suite est définie pour chaque donnée x
i
, i = 1, . . . , N et initialisée par x
i
. Dans la suite on80 4. Développement de filtres particulaires adaptés aux multimodalités
appellera procédure mean-shift le calcul de cette suite pour 1 ≤ i ≤ N. En pratique, lorsque le
facteur de lissage h est adéquatement choisi, la procédure mean-shift peut converger en quelques
itérations (typiquement entre 5 et 20) [43]. La recherche de la limite peut alors se faire en
calculant les termes successifs de la suite {y
i
j
, j ≥ 1} jusqu’à ce que ky
i
j+1 − y
i
jk < εMS où ε
MS
est un seuil de convergence défini par l’utilisateur. Lorsque K est le noyau d’Epanechnikov, G
correspond au noyau uniforme et le nombre d’itérations nécessaires pour la convergence de la
suite est fini [21].
On remarque que le coeur d’une procédure mean-shift est le calcul du vecteur mh,G(x) pour
un x donné. Ceci nécessite d’évaluer les valeurs g(
x−x
i
h
2
) pour tout i = 1, . . . , N. Or, on peut
considérer que pour les noyaux K vérifiant les hypothèses de l’équation (4.7), g(x) ≈ 0 lorsque
kxk ≥ h (pour les noyaux uniformes ou triangulaires, l’approximation devient une vraie égalité).
Ceci entraîne que g(
x−x
i
h
2
) ≈ 0 lorsque kx − x
ik ≥ h. L’expression du vecteur mean-shift
(4.17) peut donc être approchée par :
mh,G(x) ≈
X
xi∈Bh(x)
x
i
g
x − x
i
h
2
X
xi∈Bh(x)
g
x − x
i
h
2
− x (4.21)
où Bh(x) désigne la boule de rayon h centrée en x. En particulier, si K est le noyau d’Epanechnikov,
g(x) = 1kxk≤h et
mh,G(x) ≈
1
nx
X
xi∈Bh(x)
x
i − x (4.22)
où nx désigne le nombre d’éléments x
i de X qui sont à une distance inférieure ou égale à h.
La figure 4.1 illustre le calcul du vecteur mean-shift dans le plan, avec un noyau gaussien pour
une valeur de h = 1.8. Les données en rouge représentent les points qui sont dans le cercle de
rayon h centré en yj
, le point où s’effectue le calcul de vecteur mean-shift.
Le vecteur mean-shift peut être également généralisé à un échantillon {x
i
, ωi}
N
i=1 pondéré
avec PN
i=1 ω
i = 1. Dans ce cas,
ˆf(x) = 1
h
d
X
N
i=1
ω
iK
x − x
i
h
!
(4.23)
et
mh,G(x) =
PN
i=1 ω
ix
i
g
x−x
i
h
2
PN
i=1 ωig
x−xi
h
2
− x (4.24)
C’est cette forme qui sera utilisée pour l’identification des clusters.81
Figure 4.1 – Calcul du vecteur mean shift
4.1.1.3 Détermination de clusters par procédures mean-shift
La section précédente a montré que l’on pouvait déterminer les modes de la densité lissée d’un
nuage de points en identifiant les points où le vecteur mean-shift s’annule. Trouver les clusters
correspondants consiste essentiellement à regrouper les points dont les procédures mean-shift
ont convergé vers le même mode ou vers deux modes très proches. En principe, cela suppose
de calculer les limites y
i
∞ de (4.20) pour chaque x
i
, i = 1, . . . , N. Cependant, il est possible de
réduire le nombre de procédures mean-shift en définissant un pavage de l’ensemble des données
X = {x
i
, i = 1, . . . , N}. Un pavage des données est un sous-ensemble X˜ = {x
ij
, j = 1, . . . , N˜}
de X tel que :
1. N < N ˜
2. Deux points distincts x
ij et x
ik (j 6= k) sont à une distance supérieure à la taille du facteur
de lissage h.
3. La réunion des boules de rayon h centrées en les points de X˜ contient X .
En utilisant ce schéma, la détermination des modes de la densité lissée du nuage de points se fait
en effectuant N˜ procédures mean-shift au lieu de N ce qui réduit la complexité algorithmique.
Une fois ces modes trouvés, il s’agit d’associer chaque échantillon x
i
à un cluster correspondant
à l’un des modes. Pour cela, on introduit un paramètre Rm, appelé rayon de fusion, qui a une
influence sur le degré de séparation des clusters et le nombre de clusters identifiés. Si deux
procédures mean-shift initialisées à partir des points x
ij et x
ik de X˜ convergent vers deux modes
y
ij∞ et y
ik∞ tels que ky
ij∞ − y
ik∞k ≤ Rm, les deux modes sont fusionnées en un seul (par exemple
en prenant leur moyenne) et les deux points x
ij et x
ik sont associés au même cluster. Dans le
cas contraire, ils définissent deux clusters distincts. Dans la figure 4.2, les procédures mean-shift
initialisées à partir de deux points distincts notés P1 convergent vers le même mode Pn ; ils sont
donc associés au même cluster.82 4. Développement de filtres particulaires adaptés aux multimodalités
y1
1
y1
2
y2
1
y∞
1
Figure 4.2 – Procédures mean-shift : les cercles matérialisent les positions successives du noyau.
y
1
1
et y
2
1 désignent les points initiaux de chaque procédure mean-shift. y
1
∞ est le mode vers lequel
converge les 2 procédures.
Enfin, si un échantillon x
i n’appartient pas à l’ensemble X˜, on lui associe le cluster majoritaire
de ses k-plus proches voisins issus de X˜.
4.1.2 Sélection automatique du facteur de lissage du mean-shift clustering
Contrairement à la méthode du k-means [80], l’algorithme mean-shift ne requiert pas la
connaissance a priori du nombre de clusters recherchés. Cependant, il nécessite de spécifier h la
taille du facteur de lissage, ce qui a une influence directe sur le nombres de clusters trouvés. Par
ailleurs, il faut également spécifier le paramètre de rayon de fusion Rm, qui permet de fusionner
deux clusters dont les modes correspondants serait à une distance inférieure à Rm.
Il existent plusieurs règles, heuristiques ou non, qui permettent d’obtenir une valeur de h appropriée.
Nous rappelons ci-après quelques techniques génériques.
4.1.2.1 Sélection d’un facteur de lissage global fondée sur un critère statistique
Les critères de sélection fondés sur l’analyse statistique des propriétés de l’estimateur à noyau
(4.6) visent à minimiser une mesure de l’erreur entre f(x) et ˆf(x) telle que l’erreur quadratique
moyenne (MSE), l’erreur quadratique moyenne intégrée (MISE) ou l’erreur quadratique moyenne
intégrée asymptotique (AMISE), pour un x ∈ R
d donné. Par exemple, l’erreur quadratique83
moyenne de l’estimateur ˆf(x) s’exprime comme la somme des biais de la variance de ˆf(x).
MSE(x) = E(
ˆf(x) − f(x))2 = (b(x))2 + v(x) (4.25)
où b(x) = E(
ˆf(x)) − f(x) et v(x) sont respectivement le biais et la variance de l’estimateur
ˆf(x). Les expressions approchées de b(x) et v(x) sont [120]
b(x) ≈
1
2
h
2µ2(K)∆f(x) (4.26)
v(x) ≈ N
−1h
−dR(K)f(x) (4.27)
avec µ2(K) = R
z
2
1K(z)dz et R(K) = R
K(z)dz, z1 étant la première composante du vecteur z.
Au vu de (4.26) et (4.27), le biais augmente lorsque h augmente tandis que la variance diminue
avec l’accroissement de h. Dans le cadre d’un estimateur à noyau à fenêtre constante, le choix
d’une valeur de h optimale implique un compromis entre le biais b(x) et la variance v(x) pour
tout x de R
d
. Cela revient à la minimisation de l’erreur quadratique moyenne intégrée MISE =
E
Z
(f(x) − ˆf(x))2
dx. Malheureusement, la valeur optimale hMISE est peu exploitable car elle
dépend du Laplacien de la densité inconnue f [112]. Néanmoins, il existe des techniques qui
permettent d’approcher hMISE décrites dans la section 2.3.
4.1.2.2 Sélection d’un facteur de lissage global basée sur un indice de validité des
clusters
Cette approche consiste à trouver le paramètre h qui maximise une fonction objectif repré-
sentant la qualité du clustering. De manière générale, cette fonction évalue le caractère compact
des clusters délimités et le degré de séparation de chaque cluster. Une possibilité est d’évaluer
l’isolement et la connectivité des clusters pour plusieurs valeurs de h et de choisir la valeur de
h qui optimise les deux critères [99]. L’isolement se réfère au fait que pour un point x
i donné
appartenant au cluster d’indice c(i), ses plus proches voisins appartiennent au même cluster. Cela
correspond au fait qu’idéalement, un algorithme de clustering satisfaisant isole chaque cluster du
reste des données. Une mesure d’isolement d’un cluster est la moyenne de la norme des k plus
proches voisins des points du cluster. La norme νk(x) des k plus proches voisins d’un point x
est définie comme la fraction des k plus proches voisins appartenant au même cluster que x.
Autrement dit, N étant le nombre total de points, l’isolement Isok se mesure comme :
Isok =
1
N
X
N
i=1
νk(x
i
)
Cette mesure seule ne suffit cependant pas à caractériser la qualité de clustering car elle ne peut
détecter des clusters fusionnés à tort. En effet, dans le cas extrême où l’on associerait indûment
tous les points au même cluster, la mesure d’isolement est optimale. L’utilisation d’une mesure de
connectivité permet d’éviter ceci en pénalisant les partitions qui regroupent des points appartenant
en réalité à des clusters distincts. La connectivité d’un cluster signifie que pour n’importe quelle
paire de point (x
i
, xj
), i 6= j, il existe un chemin entre x
i
et x
j
sur lequel la densité de points84 4. Développement de filtres particulaires adaptés aux multimodalités
reste élevée. Pour une estimation d’un indice de connectivité Conk du cluster, on pourra se référer
à l’article de Pauwels et al. [99]. A partir des indices Isok et Conk il est possible de déduire, pour
une partition donnée, un indice composite Z prenant en compte les deux indicateurs. La meilleure
partition est alors celle qui maximise ce critère. Afin de déterminer une valeur optimale de h, on
peut donc procéder de la manière suivante :
1. Définir b facteurs de lissage h
(1)
, h
(2)
,..., h
(b)
2. Pour j = 1, . . . , b, déterminer la partition C
(j)
correspondant au facteur h
(j)
3. Pour chaque partition C
(j)
, évaluer l’indice composite d’isolement et de connectivité Z
(j)
(cf. [99])
4. La valeur optimale h
(j)
est celle qui maximise Z
(j)
, j = 1, . . . , b
4.1.2.3 Sélection d’un facteur de lissage local basée sur la stabilité de la partition
Une méthode de recherche systématique d’une fenêtre de lissage consiste à démarrer d’une
petite valeur h = hmin et à effectuer plusieurs instances de clustering en augmentant peu à peu
la valeur de h [44]. Typiquement, pour h = hmin le nombre de clusters est élevé puis baisse
progressivement pour ensuite se stabiliser sur un intervalle [ha, hb], avant de baisser à nouveau
jusqu’à atteindre la valeur 1. On choisit alors la valeur moyenne h =
ha+hb
2
. Cette méthode est
malheureusement gourmande car elle nécessite d’appliquer l’algorithme de clustering plusieurs
fois.
Intuitivement, la valeur de h est reliée à l’échelle des clusters du nuage de points. Comaniciu
propose d’utiliser une approche semi-paramétrique pour sélectionner un facteur de lissage local
hi
. Il se base sur le résultat suivant, plus général puisqu’il suppose l’utilisation d’une matrice de
lissage H. Ce résultat est valide lorsque N est grand.
Théorème 3 (Comaniciu [20]). Supposons que la vraie densité f soit une gaussienne de moyenne
m et de matrice de covariance Σ = σ
2
I. Soit mh,G(x) le vecteur mean-shift calculé selon (4.19)
où G est un noyau gaussien. Alors le vecteur kh
−1/2 plim mh,G(x)k atteint son maximum lorsque
h = σ, la notation plim signifiant la limite en probabilité.
Lorsque la distribution f comporte M modes, Comaniciu émet l’hypothèse qu’au voisinage
de chaque mode, la distribution est approximativement gaussienne. Cela permet de déduire une
série de matrices de covariance locales Σ
(1)
, Σ
(2)
, . . . , Σ
(M)
.
Afin d’en déduire M facteurs de lissage optimaux hi
, Comaniciu observe que si les M clusters
peuvent effectivement être paramétrés par un ensemble de M paires moyenne-covariance
(µ
(i)
, Σ
(i)
), i = 1, · · · , M, alors la meilleure partition est celle pour laquelle l’estimation des
(µ
(i)
, Σ
(i)
) est la plus stable, c’est-à-dire celle pour laquelle une petite variation des facteurs de
lissage a le moins d’effet sur l’estimation des paramètres des lois normales [20].
L’algorithme de sélection d’un facteur de lissage locale de Comaniciu se déroule en deux
étapes. On suppose que l’on dispose d’une série de b facteurs de lissage h
(1)
, h
(2)
,..., h
(b) définis
à l’avance, sur une échelle logarithmique par exemple.
1. Pour chaque facteur h
(j)
, j = 1, . . . , b85
(a) Déterminer une partition de taille Mj représentée par un ensemble de Mj clusters.
Noter cj (i) = u si x
i
appartenant au cluster d’indice u, obtenu avec le facteur de
lissage h
(j)
.
(b) Pour le u-ème mode de la partition (1 ≤ u ≤ Mj ), estimer la moyenne µ
(u,j)
et
la covariance Σ
(u,j) de l’approximation gaussienne correspondant à l’ensemble des
particules appartenant au cluster d’indice u.
(c) Associer à chaque donnée x
i
appartenant au cluster d’indice u, la moyenne µ
(u,j)
et
la covariance Σ
(u,j)
.
2. Pour chaque donnée x
i
, identifier l’indice u du cluster qui la contient, ceci pour chaque
facteur h
(j)
, i.e trouver u tel que cj (i) = u, j = 1, . . . , b
(a) Soit G1, G2,. . .,Gb les lois des gaussiennes de paramètres (µ
(u,j)
, Σ
(u,j)
), j = 1, . . . , b.
(b) Déterminer la valeur h
(j0)
, j0 = 1, . . . , b pour laquelle l’estimation de (µ
(u,j)
, Σ
(u,j)
)
est la plus stable. Pour cela, minimiser la divergence de Jensen-Shannon entre Gj−1,
Gj et Gj+1 pour r = 2, · · · , b − 1 (voir ci-après).
(c) Associer à x
i
le facteur local hi = h
(j0)
La divergence de Jensen-Shannon JS(ϕ1, · · · , ϕr) entre r distributions de densités ϕ1, · · · , ϕr
est une mesure de dissimilarité entre ces lois. Elle permet notamment de traiter des problèmes
de classification multi-classes.
Etant donné r coefficients positifs π1, · · · , πr, de somme 1, JS(ϕ1, · · · , ϕr) est définie par [75] :
JS(ϕ1, · · · , ϕr) = H(
Xr
i=1
πiϕi) −
Xr
i=1
πiH(ϕi)
où H désigne la fonction d’entropie de Shannon définie pour toute densité de probabilité q par
H(q) = Z
q(x) log q(x)dx (4.28)
Lorsque les densités ϕ1, ϕ2, · · · , ϕr sont gaussiennes, de moyennes et covariances respectives µj
et Σj
, j = 1, · · · , r, la divergence de Jensen-Shannon se calcule selon :
JS(ϕ1, · · · , ϕr) = 1
2
log
|
Pr
j=1 Σj
|
(
Qr
j=1 |Σj
|)
1/r +
1
2
Xr
j=1
(µj − µ)
T
Xr
j=1
Σj
−1
(µj − µ)
où µ =
1
r
Pr
j=1 µj
.
La méthode décrite de sélection ci-dessus permet d’obtenir une série de facteurs de lissage
locaux hi = h(x
i
) permettant d’effectuer un clustering adapté à l’échelle locale du nuage de
particule. Cependant, par souci de simplicité, nous avons cherché une méthode qui effectue le
clustering des particules grâce à un unique facteur d’échelle global. Une autre limitation des
techniques de sélection de facteur de lissage h basées sur la stabilité de la partition est qu’elles
requièrent d’appliquer plusieurs fois l’algorithme de clustering sur le même nuage de points afin
d’identifier la valeur optimale de h. Dans le cadre de notre thèse, nous souhaitons une méthode
de clustering dont le coût de calcul reste raisonnable et donc nous laisserons de côté les approches
fondées sur la stabilité de la partition.86 4. Développement de filtres particulaires adaptés aux multimodalités
4.1.2.4 Sélection d’un facteur de lissage global adapté à l’échelle du nuage de particules
Le problème posé est le suivant : étant donné l’algorithme de mélange de filtre particulaire
exposé dans la sous-section 2.6.2, il s’agit à chaque instant k de déterminer un ensemble de Mk
clusters Cj,k, j = 1, . . . , Mk de particules grâce à l’algorithme mean-shift. Pour cela, il faut régler
un facteur de lissage h qui dépend essentiellement de l’échelle locale du nuage de particules à
l’instant considéré. Comme le nuage de particule change de taille au cours du temps, h doit être
modifié en conséquence. Nous proposons un algorithme qui met à jour, à chaque instant, la valeur
du facteur de lissage global. On notera h = h
(k) pour rappeler la dépendance en temps.
Pour cela, on suppose que l’on dispose d’une partition à l’instant k de l’ensemble des particules
Xk sous forme de clusters Cj,k (j = 1, . . . , Mk). En s’inspirant de l’approche de Comaniciu, on
effectue une approximation gaussienne de chaque cluster afin de déterminer son échelle locale.
On note Σˆ(j)
k
, j = 1, . . . , Mk les matrices de covariance empiriques correspondantes et m
(j)
k
, j =
1, . . . , Mk les modes associés aux clusters. L’échelle locale d’un cluster est alors donnée par le
demi-grand axe et le demi-petit axe de l’ellipsoïde de confiance de la covariance du cluster pour
un niveau de confiance donnée (par exemple 95%). Cela permet d’avoir une matrice de lissage bidimensionnelle
; cependant, comme nous souhaitons un unique paramètre, nous résumons l’échelle
du cluster au demi petit-axe. Afin d’obtenir un facteur de lissage global, nous proposons de prendre
la moyenne ¯b des échelles locales (i.e. les demis-petit axes). Le facteur de lissage global obtenu à
l’instant k sert d’entrée à l’algorithme de clustering à l’itération suivante, ce qui est motivé par
le fait que le nuage de particules évolue lentement d’un instant à l’autre.
1. Pour j = 1, . . . , Mk, déterminer l’ellipsoïde de confiance à 95% associé Σˆ(j)
k
. Calculer son
demi-petit axe bj
.
2. Poser ¯b =
1
Mk
X
Mk
i=1
bj
3. Poser h
(k+1) = ¯b
4.1.3 Stratégies de réduction du temps de calcul de l’algorithme de
mean-shift clustering
La complexité algorithmique de l’algorithme mean-shift standard est en O (JdN2
)[46] où J
désigne le nombre d’itérations de la procédure mean-shift, d la dimension et N le nombre de
particules à classifier. En adoptant la stratégie consistant à trouver un pavage de l’ensemble des
particules Xk (cf. section 4.1.1.3), c’est-à-dire un sous-ensemble de taille N < N ˜ , la complexité
est de l’ordre de O
JdN˜ 2
. Les algorithmes particulaires standards ont une complexité de l’ordre
de O (N) ce qui indique qu’il faut envisager des stratégies permettant de réduire la complexité
de l’algorithme de clustering.
L’étape la plus couteuse est le calcul de la suite {yj
, j ≥ 1} qui converge vers les modes du nuage87
mean-shift avec arbres k-d mean-shift standard
N = 5000 0.1516 0.2279
N = 2000 0.1050 0.1404
N = 1000 0.0509 0.0513
Table 4.1 – Temps de calcul (en secondes) de l’algorithme mean-shift sur un N-échantillon issu
du mélange gaussien F ; moyenne sur 50 réalisations
de points, dont on rappelle l’expression ci-dessous :
yj+1 =
X
xi∈Bh(yj )
x
i
g
yj − x
i
h
2
X
xi∈Bh(yj )
g
yj − x
i
h
2
(4.29)
où Bh(yj ) = {x
i
, i = 1, . . . , N : kyj − x
ik ≤ h} (4.30)
Plus précisément, les goulots d’étranglement sont :
(i) La détermination de la boule Bh(yj ) : c’est un problème de recherche des plus proches voisins
dont la distance à yj est inférieure à h. Des structures telles que les arbres k-dimensionnels
(k-d trees) [123] permettent de déterminer le voisinage Bh(yj ) efficacement.
(ii) L’évaluation du quotient (4.30) qui consiste en 2N d multiplications (N d au numérateur et
au dénominateur), sans compter le coût de l’évaluation de g(x) pour x qui dépend du noyau
utilisé.
Dans le cadre de la thèse, nous avons retenu l’utilisation d’un noyau G uniforme pour le calcul
de la suite {yj} car le nombre d’itérations nécessaire pour la convergence de la suite est fini [21].
De plus, l’évaluation de yj pour un noyau uniforme est moins coûteuse que celle utilisant un
noyau gaussien.
En ce qui concerne la recherche des points qui tombent dans le support du noyau [point (ii)],
nous avons constaté que l’utilisation d’une structure d’arbre k-d permettait de réduire le temps
de calcul de manière appréciable lorsque N ≥ 2000 (voir 4.1). Nous avons toutefois noté que
pour des valeurs moindres de N, l’utilisation de telles structures de données n’était pas justifié.
La comparaison a été menée sur des données simulées selon le mélange gaussien F défini par :
F =
1
5
X
5
i=1
N (µi
, Σi) (4.31)
avec µ1 = [3, 3]T
, µ2 = [−6, −6]T
, µ3 = [−5, 2]T
, µ4 = [5, −3]T
, µ5 = [0, 0]T
et
Σ1 =
1/2 1/4
1/2 1/4
!
, Σ2 =
1
2
I2, Σ3 =
2 1
1 2!
, Σ4 =
3 −1
−1 3 !
, Σ5 =
0.6 0.15
0.15 0.375!
Nous exposons ci-après quelques méthodes permettant de réduire le coût algorithmique du
clustering.88 4. Développement de filtres particulaires adaptés aux multimodalités
Représentation compacte de densité (RCD) Cette méthode introduite par Freedman [43]
vise à accélérer l’étape de clustering en réduisant le nombre N de points x1, . . . , xN sur lequel la
procédure mean-shift est appliquée. Pour cela, on s’appuie sur une représentation compacte de
la densité ˆf.
Soit ˆˆf(x) = 1
L
X
L
j=1
KH(x − xˆj ), avec L << N. Pour un choix approprié des xˆj et de H, l’erreur
E
"Z
ˆf(x) −
ˆˆf(x)
2
dx#
tend vers 0 lorsque L → ∞.
L’algorithme de clustering se résume alors à la succession des étapes suivantes :
1. Tirer L échantillons xˆ1, . . . , xˆL ∼ ˆf afin de construire ˆˆf.
2. Effectuer une procédure mean-shift sur chacun des échantillons xˆj
, j = 1, · · · , L, i.e.
évaluer le mode limite y
j
∞.
3. Pour chaque x
i
, trouver l’échantillon xˆj∗ le plus proche et associer le mode ˆmˆ j∗ à xi
.
La seconde étape permet un gain considérable puisque on utilise L points pour le calcul de la
suite des vecteurs mean shift au lieu de N. Selon [43], une implémentation de cet algorithme
permet de diviser le temps de calcul par un facteur N
L
.
Nous proposons une simplification qui permet de se passer de la génération des L échantillons
selon ˆf. Pour cela, les échantillons {xˆj} peuvent être tirés au hasard et sans remise parmi les
échantillons de départ x
1
, . . . , xN . Cette méthode ne garantit plus que l’approximation ˆˆf soit
proche de ˆf mais elle s’est avérée efficace expérimentalement.
Clustering périodique Nous faisons également l’observation que la forme du nuage de particules
n’évolue que légèrement d’un instant à l’autre lorsqu’il n’y a pas d’étape de ré-échantillonnage.
On peut raisonnablement s’attendre à ce que deux particules appartenant au même cluster le
restent à l’itération suivante. Ainsi, on peut attendre quelques cycles de prédiction/correction
(typiquement 3 à 10) avant d’appliquer l’algorithme de clustering.
4.2 Ré-échantillonnage et régularisation locale
Le filtre particulaire régularisé (RPF) [37, p. 247-271], introduit au chapitre 2, permet d’augmenter
la robustesse du filtre dans le cas où le bruit de dynamique et/ou d’observation est
faible. Il s’appuie sur une régularisation de la loi discrète obtenue après la phase de correction
(cf. 2.3) : concrètement, la régularisation consiste à ajouter un bruit contrôlé aux particules ré-
échantillonnées de façon à améliorer l’exploration de l’espace d’état. Soit pˆk|k =
PN
i=1 ω
i
k
δx
i
k
,
l’approximation de la loi conditionnelle à l’instant k.
Dans sa version originale, la phase de ré-échantillonnage du RPF se fait en échantillonnant
un estimateur à noyau de pˆk|k. Cet estimateur est noté Kh ∗ pˆk|k et est défini par
Kh ∗ pˆk|k =
1
h
d
X
N
i=1
ω
i
kK
x − x
i
k
h
!89
où K est le noyau de régularisation considéré. Une implémentation du RPF nécessite de préciser
le coefficient de dilatation h, à ne pas confondre avec le facteur de lissage utilisé dans l’algorithme
de clustering mean-shift. Le choix optimal de h se fait en minimisant l’erreur quadratique
moyenne intégrée entre Kh ∗ pˆk|k et la loi a posteriori inconnue pk|k = p(xk|y0:k) (cf. 2.3). Dans
sa formulation générique, le RPF approxime la loi de filtrage pk|k par une gaussienne dont les
moments sont la moyenne empirique mk et la covariance empirique Sk du système de particules
pondérés {ω
i
k
, xi
k}
N
i=1.
mk =
X
N
i=1
ω
i
kx
i
k
et
Sk =
X
N
i=1
ω
i
k
(x
i
k − mk)(x
i
k − mk)
T
Afin de sa ramener au cas connu d’une gaussienne standard, les particules sont blanchies, c’est-
à-dire que l’on considère les particules obtenue par la transformation S
− 1
2
k
(x
i
k − mk). En notant
{x˜
i
k}
N
i=1 les particules obtenues après ré-échantillonnage multinomial, le système de particules
régularisé est obtenu en posant :
x
i
k = ˜x
i
k + hoptS
1
2
k
ε
i
où les ε
i
, i = 1, . . . , N sont des tirages i.i.d. du noyau K.
Lorsque pk|k est multimodale, Silverman [112] conseille d’utiliser le facteur h = chopt où 0 < c ≤
0.5 est un paramètre de réglage, hopt étant calculé d’après 2.28 ou 2.29 selon le noyau K utilisé.
Nous avons néanmoins constaté que cette méthode n’est pas satisfaisante, notamment lorsque
les modes de la loi conditionnelle sont éloignés. A titre d’exemple, considérons un échantillon
x1, x2, . . . , xN de taille N = 100 issu de la distribution bi-modale
ν =
1
2
N (m1, Σ1) + 1
2
N (m2, Σ2) (4.32)
avec
m1 =
5 5T
m2 =
−50 −60T
Σ1 =
7 2
2 1
Σ2 =
√
2
2
2 1
1 2
Considérons à présent la régularisation de l’échantillon x1, x2, . . . , xN avec la méthode classique
décrite précédemment (µ = 0.4). On suppose ici l’utilisation d’un noyau de régularisation
K gaussien, ce qui a peu d’influence sur le résultat (cf. 2.3). L’échantillon après régularisation est
représenté sur la figure 4.3 : on constate que la distribution initiale est déformée après régularisation.
En particulier, les ellipsoïdes des covariances des deux composantes ne sont plus orientées
de la même façon. Cela est due à l’étape de blanchiment où le bruit de régularisation issu du
noyau K est mis à l’échelle par la matrice de covariance empirique de x1, x2, . . . , xN .
Nous proposons d’utiliser la représentation de la loi conditionnelle pk|k = p(xk|y0:k) sous
forme de mélange de lois afin de proposer un algorithme de régularisation adapté aux distributions90 4. Développement de filtres particulaires adaptés aux multimodalités
−70 −60 −50 −40 −30 −20 −10 0 10 20
−100
−80
−60
−40
−20
0
20
40
Figure 4.3 – Echantillon avant (bleu) et après régularisation globale (vert)
multimodales. Rappelons l’approximation particulaire pour les modèles de mélange, obtenue après
l’étape de correction à l’instant k.
pk|k ≈ pˆk|k =
X
Mk
j=1
αj,kpˆj
avec
pˆj =
X
i∈Ij,k
ω
i
k
δx
i
k
et X
i∈Ij,k
ω
i
k = 1
Dans l’algorithme du MPF, les étapes de prédiction/correction sont essentiellement celles du SIR
à la différence près qu’une étape supplémentaire est ajoutée pour mettre à jour les coefficients de
mélange αj,k. Outre l’introduction de ces coefficients, la différence avec le SIR est la possibilité
de ré-échantillonner le système de particules localement. Concrètement, pour chaque composante
pˆj
, on peut définir une mesure de dégénérescence du système de particule comme la taille effective
(locale) du cluster de particules correspondant à pˆj
, N
j
ef f , où l’entropie. Ces deux indicateurs
sont définis au chapitre 2, section 2.2.3. Par exemple,
N
j
ef f ≈
1
P
i∈Ij,k (ω
i
k
)
2
(4.33)
Lorsque N
j
ef f /Nj < Nth/N, les particules du cluster d’indice j subissent un ré-échantillonnage
multinomial selon les poids d’importance de la composante pˆj
, {ω
i
k}i∈Ij,k
. Nth désigne le seuil de
ré-échantillonnage.
Tout comme il est possible de ré-échantillonner localement grâce à la formulation (4.1), nous91
proposons un algorithme de régularisation locale fondé sur le blanchiment local et de l’utilisation
d’un paramètre de lissage propre à chaque cluster.
Soit Sj,k =
X
i∈Ij,k
ω
i
k
(x
i
k −mk,j )(x
i
k −mk,j )
T
la matrice de covariance empirique du cluster d’indice
j et mk,j =
P
i∈Ij,k ω
i
kx
i
k
sa moyenne empirique. Par souci de simplicité, nous supposerons que
le noyau de régularisation K est gaussien. Soit le paramètre de lissage local au cluster Cj,k, h
j
opt
défini par :
h
j
opt = D(K)N
−1
d+4
j
(4.34)
Soit x˜
i
k
, i ∈ Ij,k, les particules après ré-échantillonnage multinomial local dans le cluster Cj,k.
Alors les particules après régularisation locale sont obtenues selon l’équation :
∀i ∈ Ij,k, xi
k = ˜x
i
k + h
j
optS
1
2
j,kε
i
(4.35)
où ε
i ∼
i.i.d.
K.
Dans la suite de l’exposé, nous appellerons MRPF (Mixture Regularized Particle Filter) la combinaison
du MPF et de la routine de ré-échantillonnage/régularisation locale.
Afin d’illustrer l’impact de la régularisation locale, revenons à la distribution bi-modale ν
définie par (4.32). La figure 4.4 représente le nuage de point avant et après régularisation locale.
On peut constater sur cet exemple que la méthode développée permet de conserver la forme
initiale de la distribution multimodale, contrairement à la régularisation globale.
−60 −50 −40 −30 −20 −10 0 10 20
−70
−60
−50
−40
−30
−20
−10
0
10
Figure 4.4 – Echantillon avant (bleu) et après régularisation locale (rouge)
Remarquons qu’il est possible d’effectuer une étape de régularisation locale dans un algorithme
particulaire standard avec ré-échantillonnage global tel que le RPF. Dans ce cas, la succession
des étapes de ré-échantillonnage et de régularisation se fait selon le schéma suivant.92 4. Développement de filtres particulaires adaptés aux multimodalités
Algorithme 5 : Ré-échantillonnage global et régularisation locale
− Calculer Nef f selon (2.19)
− Si Nef f < Nth (Nth : seuil fixé par l’utilisateur)
1. Identifier une partition des particules sous-forme de Mk clusters Cj,k, j = 1, . . . , Mk
(avec l’algorithme de clustering mean-shift par exemple )
2. Effectuer un ré-échantillonnage multinomial global selon les poids {ω
i
k}. Noter I les
indices des particules ré-échantillonnées.
3. Pour j = 1, . . . , Mk
(a) Calculer la covariance Sj,k et la moyenne mj,k des particules avant ré-échantillonnage
(b) Calculer h
j
opt selon (4.34)
(c) Identifier l’ensemble des indices JI des particules ré-échantillonnées qui appartiennent
au cluster Cj,k i.e. JI = {i ∈ I | x
i
k ∈ Cj,k}
(d) Poser pour tout i ∈ JI , x
i
k = x
Ii
k + h
j
optS
1
2
j,kε
i
avec ε
i ∼
i.i.d.
K
4.3 Gestion dynamique des clusters du filtre
Dans la formulation originale du MPF [118], il peut arriver qu’une partie des ressources soit
utilisée en pure perte pour mettre à jour les poids de mélange {αj,k} et les poids intra-cluster
ω
i
k
associés à des clusters devenus très peu vraisemblables pendant plusieurs itérations. Il faut
donc un schéma permettant de supprimer les clusters correspondant, et ré-allouer un nombre
équivalent de particules aux clusters restant. Cependant, la littérature sur le sujet [118, 95, 126]
ne détaille pas comment un tel mécanisme peut être mis en oeuvre.
Concrètement, nous suggérons de vérifier à chaque pas de temps k, la contribution de chaque
cluster à l’approximation de la loi a posteriori p(xk|y0:k).
Sachant que
p(xk|y0:k) ≈
X
Mk
j=1
αj,k X
i∈Ij,k
ω
i
k
δx
i
k
si pour j0 ∈ J1, MkK, αj,k < αmin, on supprime les Nj0 particules du cluster Cj0,k. Le paramètre
αmin est un seuil fixé au préalable, typiquement pris inférieur à 10−5
. Il reste à échantillonner Nj0
nouvelles particules afin de conserver un système de particules de taille constante N. Cela peut
être fait selon le schéma suivant :
1. Soit X
Mk
j=1
j6=j0
πj,kpˆj
la distribution empirique sans la composante pˆj0
, renormalisée avec ∀j =93
1, . . . , N, j 6= j0
πj,k = X
αj,k
l=1
l6=j0
αl,k
(4.36)
et
pˆj =
X
i∈Ij,k
ω
i
k
δx
i
k
2. Faire un tirage multinomial de Nj0
indices e1, e2, . . . , eNj0
selon les poids πj,k, j ∈ {1, . . . , Mk}\
{j0}
3. Pour j = 1, . . . , Mk, j 6= j0,
(a) Soit Dj = Card{l = 1, . . . , Nj0
| el = j} le nombre d’indices égaux à j
(b) − Tirer Dj particules ξ
1
, ξ2
, . . . , ξDj selon pˆj =
P
i∈Ij,k ω
i
k
δx
i
k
, en posant ξ
i = x
q
k
avec probabilité ω
q
k
, q ∈ Ij,k.
− Associer le poids γ
i = ω
q
k
à ξ
i
.
− Rajouter les ξ
i
au cluster Cj,k et poser
pˆj =
1
P
i∈Ij,k ω
i
k +
PDj
i=1 γ
i
X
i∈Ij,k
ω
i
k
δx
i
k
+
X
Dj
i=1
γ
i
ξ
i
4.4 Résumé de l’algorithme MRPF
Nous donnons ici une version de l’algorithme MRPF (Mixture Regularized Particle Filter) qui
est une extension du MPF. La nouveauté est l’introduction d’une étape de régularisation locale
et l’utilisation de l’algorithme mean-shift pour le clustering du nuage de particule. Par souci de
simplicité, on suppose ici que la loi d’importance utilisée dans l’étape de prédiction est la transition
p(xk|xk−1).
Algorithme 6 : MRPF
1. [Initialisation]
− Tirer N particules selon la loi initiale x
i
0 ∼ µ0
− poser ω
i
0 ∝ p(y0|x
i
0
)
− Normaliser les ω
i
0
2. Pour k ≥ 1
(a) [Prédiction] Tirer N particules x
i
k ∼ p(xk|x
i
k−1
)
(b) [Correction]
i. Pour j = 1, . . . , Mk−1
− ∀i ∈ Ij,k−1, calculer
ω˜
i
k = ω
i
k−1
p(yk|x
i
k
) (4.37)94 4. Développement de filtres particulaires adaptés aux multimodalités
− Calculer les poids normalisés de la j-ème composante : ∀i ∈ Ij,k−1,
ω
i
k =
ω˜
i
k
P
l∈Ij,k−1
ω˜
l
k
(4.38)
ii. Pour j = 1, . . . , Mk−1, calculer αj,k en fonction des {αj,k−1}1≤j≤Mk−1
selon
(2.73) et (2.74)
(c) [Clustering] Décomposer le nuage de particules en Mk clusters Cj,k.
[C
0
j,k, I0
j,k] = meanshiftClustering({x
i
k
}
N
i=1, {ω
i
k
}
N
i=1, K, hMS, Rm, nitermax, εMS)
(d) Mettre à jour les coefficients de mélange αj,k et les poids des particules intra-cluster
ω
i
k pour la nouvelle partition C
0
j,k en utilisant les équations (2.84) et (2.85).
3. Poser j = 1. Tant que j ≤ Mk
− Si αj,k < αmin supprimer le cluster Cj,k et échantillonner Nj nouvelles particules selon
la procédure décrite dans la section 4.3
− Sinon
– Calculer N
j
ef f selon (4.33)
– Si N
j
eff
Nj
est inférieur au seuil de ré-échantillonnage, ré-échantillonner et régulariser
les particules du cluster Cj,k selon l’algorithme décrit dans la section 4.2
– j = j + 1
4. Mettre à jour la fenêtre de lissage h
MS de l’algorithme de clustering mean-shift
On rappelle que les paramètres Rm, nitermax et ε
MS utilisés dans l’algorithme de clustering
mean-shift représentent respectivement :
− le rayon de fusion, qui contrôle le degré de séparation des clusters
− le nombre d’itérations maximum autorisés par procédure mean-shift
− le seuil de convergence d’une procédure mean-shift
La routine de clustering peut être effectuée avant l’étape de correction.
Par ailleurs, puisque les modèles de mélange du filtrage particulaire ne sont pas spécifiques à
un filtre particulier, nous utiliserons également dans la suite de la thèse une extension naturelle
du MRPF, le MRBPF, obtenu par Rao-Blackwellisation (cf. 2.4.1), en conservant l’étape de
régularisation locale. Le MRPF et le MRBPF seront tous les deux combinés avec une procédure
d’échantillonnage d’importance fondée sur les maxima locaux de la densité cible, ce qui est l’objet
de la section suivante.
4.5 Échantillonnage d’une loi d’importance basée sur les
maxima locaux de la densité a posteriori
4.5.1 Motivation
Dans le chapitre précédent (sous-section 2.2.4), nous avons évoqué la nécessité de sélectionner
une loi d’importance prenant en compte la mesure courante. En effet, lorsque la loi d’importance95
dans l’étape de prédiction est le noyau de transition p(xk|xk−1), le risque est que les particules
échantillonnées tombent dans la queue de distribution de la fonction de vraisemblance. Ceci
arrive d’autant plus souvent que la fonction de vraisemblance décroit rapidement autour de son
maximum, par exemple dans le cas d’un bruit additif v gaussien de variance petite, ou quand la
fonction d’observation du modèle présente un fort gradient (cf. Figure 4.5 (a)). De même, lorsque
le bruit de dynamique est additif gaussien de petite matrice de covariance Q, il est possible que,
malgré l’étalement de la vraisemblance, p(xk|x
i
k−1
) et p(yk|xk) aient un faible recouvrement
(cf. Figure 4.5 (b)).
(a) Cas d’une vraisemblance « pointue »
(b) Cas d’un a priori « pointu »
Figure 4.5 – Incohérence entre la fonction de vraisemblance et le noyau de transition
Parmi les approches algorithmiques permettant d’échantillonner les particules dans des régions
de forte vraisemblance, on peut citer :
− L’échantillonnage de la fonction de vraisemblance [18] : si la fonction de vraisemblance
p(yk|xk) est intégrable en xk [42], elle peut servir de loi d’importance lors de l’étape de
prédiction et dans ce cas l’équation de mise à jour des poids est ω
i
k ∝ ω
i
k−1
p(x
i
k
|x
i
k−1
).
Cette technique est difficile à implémenter lorsque la dimension de l’espace d’observation
est inférieure ou égale à celle de l’espace d’état (m ≤ d) : en effet, dans ce cas on ne peut
pas inverser la fonction de vraisemblance xk 7→ p(yk|xk) . En particulier, en recalage par96 4. Développement de filtres particulaires adaptés aux multimodalités
mesure radio-altimétriques, les mesures sont scalaires et l’état est de dimension supérieure
ou égal à 3 donc la méthode n’est pas envisageable.
− La correction progressive [97] : cet algorithme permet de simuler un échantillon approximativement
issu de p(xk|y0:k) en introduisant, à l’étape de correction, une série de fonctions
de vraisemblance intermédiaires gλm(xk) = p(yk|xk)
1/λm, m = 1, . . . , n de moins en moins
diffuses, où λ1, . . . , λn est une suite de coefficients supérieurs ou égaux à 1 avec λn = 1,
de sorte que gλn
(xk) = p(yk|xk). L’étape de correction est divisée en étapes intermé-
diaires. L’algorithme est initialisé avec les N particules {ξ
i
1
, i = 1, . . . , N} obtenues lors
de la phase de prédiction. Ensuite, pour m = 2, . . . , n, les particules obtenues à l’étape
m − 1 sont pondérées avec la fonction de vraisemblance intermédiaire gλm, ce qui donne
des poids intermédiaires ω
i
λm,k. Le nouveau nuage de particule est alors obtenu en tirant
N échantillons {ξ
i
m, i = 1, . . . , N} selon la distribution régularisée PN
i=1 ω
i
λm,kK(
x−ξ
i
m−1
h
),
où K est un noyau de régularisation.
Dans le cas d’un bruit gaussien additif, cette méthode revient à considérer une suite de
densités gaussiennes de covariances décroissantes et supérieures à la vraie covariance. L’utilisation
de vraisemblances intermédiaires de moins en moins étalées permet de ramener
progressivement les particules dans les zones où la (vraie) fonction vraisemblance prend
des valeurs significatives.
Cette méthode a été testée sans succès.
− Le filtre particulaire auxiliaire [105] : cet algorithme permet de propager prioritairement les
particules à l’instant k −1 qui seront compatibles avec la mesure yk. L’étape de prédiction
à l’instant k consiste à tirer N indices i1, . . . , iN selon une loi multinomiale dont les poids
sont égaux à ω
i
k−1
pˆ(yk|x
i
k−1
), où pˆ(yk|x
i
k−1
) est une approximation de la vraisemblance
prédite p(yk|x
i
k−1
). Les particules prédites à l’instant k sont alors obtenues en échantillonnant
x
j
k ∼ p(xk|x
ij
k−1
), j = 1, . . . , N. Cela nécessite néanmoins d’avoir une approximation
pˆ(yk|xk−1) qui soit plus diffuse que p(yk|xk−1) = R
p(yk|xk)p(xk|xk−1)dxk. Selon Whiteley
et. al [121], les performances du filtre particulaire auxiliaire dépendent fortement du choix
de l’approximation de la vraisemblance prédite, ce qui, selon le modèle, peut s’avérer une
tâche compliquée en soit.
Nous proposons ci-après, une loi d’importance adaptée au MRPF, qui consiste à définir au
niveau de chaque composante unimodale du filtre, une loi d’importance basée sur une approximation
du maximum a posteriori (MAP) de la loi conditionnelle locale.
Pour cela, nous présentons d’abord plusieurs estimateurs d’importance utilisant une loi d’importance
centrée sur le MAP dans un cadre non-dynamique. En particulier, nous présentons une
méthode d’évaluation du MAP lorsque l’observation est linéaire par rapport à une partie de l’espace
d’état et lorsque la loi a priori est gaussienne. Ensuite, nous discutons du choix de la matrice
de covariance de la loi de proposition lorsque cette dernière est gaussienne. Enfin nous illustrons
comment cette loi peut être mise en pratique dans un cadre particulaire (dynamique) pour les
distributions multimodales.97
4.5.2 Evaluation du maximum a posteriori pour un modèle d’observation
partiellement linéaire avec a priori gaussien
Soit x ∈ R
d une v.a. gaussienne de moyenne µ et de covariance P, observée via une mesure
y ∈ R
m corrompue par un bruit additif v.
y = H(x) + v (4.39)
On suppose que v est un bruit gaussien de moyenne nulle et de covariance R. On souhaite calculer
le maximum a posteriori xˆMAP défini par
xˆMAP = arg max
x∈Rd
p(x|y) (4.40)
où p(x|y) est la densité conditionnelle de x sachant y. Le calcul du MAP est difficile lorsque
la dimension de l’état est grande, ce qui est le cas dans notre application. C’est pourquoi nous
proposons une méthode approchée du calcul du MAP en exploitant le fait que seule une petite
partie du vecteur d’état participe à la non-linéarité de l’équation d’observation.
Nous considérons une équation de mesure générale avec une partie linéaire :
y = Ax2 − h(x1) + v (4.41)
où x1 et x2 sont des sous-vecteurs de x, i.e. x = (x
T
1
, xT
2
)
T
, h une fonction non-linéaire de x1 et
A est une matrice indépendante de x.
La structure de la fonction de mesure (4.41) est caractéristique du recalage altimétrique : x1
représente le vecteur des composantes horizontales, x2 regroupe l’altitude et les composantes de
vitesse et h correspond au modèle numérique de terrain. En posant A =
h
1 0 0 0i
on vérifie
que Ax2 − h(x1) correspond à la hauteur relative d’un mobile situé en x. Notons que le signe
(−) dans (4.41) est introduit par pure commodité puisque aucune hypothèse n’est faite sur la
fonction h.
Dans la suite, on note q la densité de x et on notera q(x) = q(x1, x2) pour faire apparaître la
décomposition du vecteur x = (x
T
1
, xT
2
)
T
. De même, on note µ = (µ
T
1
, µT
2
)
T
, la moyenne de x
avec µ1 = E(x1) et µ2 = E(x2). La covariance de x se décompose comme
P =
P11 P12
P21 P22
Remarquons d’abord que
p(x|y) = p(x1, x2|y) (4.42)
∝ p(y|x1, x2)q(x1, x2) (4.43)
∝ p(y|x1, x2)q(x2|x1)q(x1) (4.44)
de sorte que
max
x1,x2
p(x1, x2|y) ∝ maxx1
q(x1) maxx2 {p(y|x1, x2)q(x2|x1)} (4.45)
= maxx1
q(x1) maxx2 F1 (x1, x2) (4.46)98 4. Développement de filtres particulaires adaptés aux multimodalités
La maximisation de la loi conditionnelle p(x1, x2|y) se fait donc en maximisant d’abord la fonction
(x1, x2) 7→ F1 (x1, x2) = p(y|x1, x2)q(x2|x1) par rapport à x2. La maximisation de F1 par rapport
à x2 est équivalente à la minimisation de
x2 7→ Q(x1, x2) = −
1
2
log F1(x1, x2) (4.47)
Etant donné que,
− p(y|x1, x2) est une densité gaussienne de moyenne y − (Ax2 − h(x1)) et de covariance R
− q(x2|x1) est une densité gaussienne de moyenne
E(x2|x1) = E(x2) + P21P
−1
11 (x1 − E(x1)) = µ2 + P21P
−1
11 (x1 − µ1)
et de matrice de covariance
Σ2|1 = P22 − P21P
−1
11 P12
on a
Q(x1, x2) = (y + h(x1) − Ax2) R
−1
(y + h(x1) − Ax2)
T
(4.48)
+ (x2 − E1(x2)) Σ−1
2|1
(x2 − E1(x2))T
où E1(x2) = E(x2|x1).
En regroupant les termes en x2, on peut réécrire Q sous la forme
Q(x1, x2) = Γ(x1) + (x2 − γ(x1)) Ω−1
(x2 − γ(x1))T
(4.49)
avec
Γ(x1) = [y + h(x1) − Aγ(x1)] R
−1
[y + h(x1) − Aγ(x1)]T
+ [γ(x1) − E1(x2)] Σ−1
2|1
[γ(x1) − E1(x2)]T
γ(x1) = Ω h
A
TR
−1
(y + h(x1)) + Σ−1
2|1E1(x2)
i
Ω =
A
TR
−1A + Σ−1
2|1
−1
L’espérance conditionnelle E1(x2) = E(x2|x1) est bien une fonction de x1 uniquement puisque
E1(x2) = µ2 + P21P
−1
11 (x1 − µ1). Les fonctions γ et Γ ne dépendent donc que de x1. A x1 fixé,
Q atteint donc son minimum Γ(x1) en xˆ2 = γ(x1). On a donc
max
x2
F1(x1, x2) = exp
−
1
2 minx2 Q(x1, x2)
(4.50)
= exp
−
1
2
Γ(x1)
(4.51)
En reportant maxx2 F1(x1, x2) dans (4.46), il reste donc à maximiser q(x1) exp(−
1
2
Γ(x1)) par
rapport à x1. Etant donné que q(x1) = (2π)
−1/2
q
det(P) exp(−
1
2
(x1 −µ1)
TP
−1
11 (x1 −µ1)) , cela
revient à minimiser
G(x1) = (x1 − µ1)
TP
−1
11 (x1 − µ1) + Γ(x1) (4.52)99
par rapport à x1.
La minimisation de G relève de l’optimisation non-linéaire. Heureusement, dans l’application
du recalage par mesures radio-altimétriques, le vecteur x1 est un vecteur bi-dimensionnel regroupant
les composantes de position horizontales. La recherche du minimum de G peut donc se
faire facilement en utilisant les algorithmes issus de la méthode de Newton comme l’algorithme
BFGS (Broyden-Fletcher-Goldfarb-Shanno) [10]. Une autre possibilité est d’utiliser un algorithme
du gradient conjugé [54], qui évite le calcul et l’inversion de la hessienne de la fonction objectif.
En notant xˆ1 = arg min G(x1), il est maintenant possible de calculer explicitement xˆ2 =
γ(ˆx1).
Finalement, le MAP est donc estimé par xˆMAP = (ˆx1, xˆ2).
4.5.3 Loi de proposition centrée sur le MAP pour l’échantillonnage
d’importance
4.5.3.1 Cadre statique
En échantillonnage d’importance, il est souhaitable de choisir une densité de proposition
"proche" en un certain sens de la densité a posteriori p(x|y). Si l’on suppose que p(x|y) est
unimodale, le choix d’une densité d’importance gaussienne centrée sur le MAP xˆMAP semble
judicieux. Ensuite, on peut par exemple prendre comme covariance de la loi de proposition, une
approximation de la covariance a posteriori Cov(x|y).
La méthode de Laplace [66, 115] fournit une approximation au premier ordre de la covariance a
posteriori en fonction du MAP et de la matrice d’information de Fisher observée J selon
Cov(x|y) ≈ J
−1
(ˆxMAP ) (4.53)
avec
J(x) = −
∂
2
log g
∂x2
(x) −
∂
2
log q
∂x2
(x) (4.54)
On rappelle que g(x) = p(y|x) et q est la densité a priori. Revenons au modèle défini par (4.39).
Dans ce cas, q étant gaussien, J se réduit à
J(x) = 2
∂
2H
∂x2
R
−1
(y − H(x)) − R
−1
∂H
∂x ! ∂H
∂x !T
+ P
−1
(4.55)
On voit que l’approximation (4.53) dépend essentiellement du gradient et de la hessienne de H.
L’autre possibilité est de prendre une densité d’importance q˜ gaussienne de moyenne xˆMAP et
de covariance la covariance a priori P. Nous proposons de comparer ces deux approches dans un
cadre statique proche de la problématique de recalage par mesures altimétriques. Pour cela nous
considérons le problème d’estimation suivant :
x = (x1, x2) ∼ N (µ, P) est un vecteur statique dans le plan que nous cherchons à localiser. On
suppose qu’une observation y est fournie via l’équation de mesure
y = H(x) + v100 4. Développement de filtres particulaires adaptés aux multimodalités
avec H(x) = 1
2π|C|
1/2 exp
−
1
2
(x − θ)
T C
−1
(x − θ)
. H est la densité d’une distribution gaussienne
de moyenne θ et de matrice de covariance C avec
θ = (1, 1)T
et
C =
0.0075 0.0025
0.0025 0.0075
La fonction d’observation H joue ici le rôle d’un relief artificiel dont le sommet correspond à la
moyenne m et dont l’inclinaison autour du sommet est contrôlé par la matrice C. La matrice C
permet de modéliser les situations où le terrain est subitement très informatif (présence d’un canyon,.
. . ). Le bruit d’observation suit une distribution gaussienne centrée d’écart-type σv = 0.01.
Figure 4.6 – densité a posteriori non normalisée
L’objectif est de calculer la moyenne a posteriori xˆ = E(x|y) par échantillonnage pondéré en
utilisant trois lois de propositions différentes dont les densités sont notées q˜0, q˜1 et q˜2. Dans la
suite de cette section, ϕ(.|m, κ) désignera la densité gaussienne de moyenne m et de covariance
κ.
− q˜0 = q est la densité a priori pour laquelle on obtient l’estimateur Monte Carlo standard
− q˜1(x) = ϕ(x|xˆMAP , P)
− q˜2(x) = ϕ(x|xˆMAP , J −1
(ˆxMAP ))
L’estimateur par échantillonnage pondéré de xˆ en utilisant une densité d’importance q˜ est obtenu
en tirant N échantillons indépendants x
i ∼ q˜ et en calculant
xˆ
N =
X
N
i=1
ω
ix
i
(4.56)101
avec
ω˜
i =
g(x
i
)q(x
i
)
q˜(x
i
)
ω
i =
ω˜
i
PN
j=1 ω˜
j
(4.57)
Afin de comparer les différentes densités instrumentales q˜0, q˜1 et q˜2, nous calculons xˆ
N en fonction
du nombre d’échantillons N et pour q˜ ∈ {q˜0, q˜1, q˜2}. Nous évaluons ensuite l’erreur quadratique
moyenne (RMSE) E
xˆ
N − xˆ
2
1/2
en fonction de N, en utilisant 100 réalisations indépendantes.
La valeur de référence xˆ = E(x|y) est calculée par intégration numérique.
(a) RMSE x1
(b) RMSE x2
Figure 4.7 – Comparaison de lois de proposition pour l’estimation de xˆ par échantillonnage
d’importance102 4. Développement de filtres particulaires adaptés aux multimodalités
(a) q˜1
(b) q˜2
Figure 4.8 – Réalisations de xˆ
N en fonction de N
La figure 4.7 montre que l’utilisation d’une loi d’importance q˜1 obtenu par translation de la
loi a priori q sur le MAP réduit l’erreur d’estimation de l’estimateur Monte Carlo standard. Par
exemple, il faut tirer au moins 104
échantillons selon q pour avoir la même erreur quadratique
moyenne qu’un estimateur utilisant 3.103
échantillons selon q˜1.
En revanche, le choix de la densité q˜2 ne semble pas améliorer l’erreur d’estimation. Pire,
l’estimateur correspondant semble ne pas converger. En effet, si l’on observe les réalisations de
xˆ
N à N fixé, on observe que sur les 100 tirages indépendants, il existe des valeurs aberrantes
(figure 4.8). La raison de cette instabilité est que tous les choix de fonctions d’importance ne
garantissent pas une variance de l’estimateur finie. La qualité d’un estimateur d’importance est103
liée à la variance asymptotique Vq˜ des poids normalisés, dont l’expression est [31] :
Vq˜ =
1
N
Z
Rd
g
2
(x)q
2
(x)
q˜(x)
dx
Z
Rd
g(x)q(x)dx2 − 1
(4.58)
La fonction d’importance optimale est égale à la densité a posteriori. En effet, en posant q˜ ∝ gq,
on a Vq˜ = 0. Vq˜ est finie si et seulement si R g
2
(x)q
2
(x)
q˜(x)
dx < +∞ . Une condition suffisante est
que le rapport q
q˜
soit borné. En effet, le produit gq est intégrable, la vraisemblance g est bornée
donc si sup q/q <˜ +∞, alors
Z
Rd
g
2
(x)q
2
(x)
q˜(x)
dx ≤ sup
x∈Rd
g sup
x∈Rd
q
q˜
Z
Rd
g(x)q(x)dx < +∞
Dans le cas de l’utilisation de la fonction d’importance q˜ = ˜q2, on voit que le rapport q
q˜2
peut
être très grand lorsque la covariance de q˜2, J
−1
(ˆxMAP ), est petite devant la covariance a priori
P, de sorte que le numérateur de Vq˜ n’est pas fini. Lors du calcul de xˆ
N selon (4.56), quelques
tirages peuvent avoir un poids ω
i
très important et avoir trop d’impact sur l’estimation finale.
Afin de garantir la convergence de l’estimateur, on peut alors chercher une condition suffisante
pour assurer que q
q˜
soit majoré lorsque q˜ est une densité gaussienne de moyenne xˆMAP et de
covariance à déterminer Σ. On maintient l’hypothèse gaussienne sur la densité a priori q, de
moyenne µ et de covariance P.
Le rapport q
q˜
est borné ssi ln( q
q˜
) borné.
Etant donné que q(x) ∝ e
− 1
2
(x−µ)
T P −1
(x−µ)
et q˜(x) ∝ e
− 1
2
(x−xˆMAP )
T Σ−1
(x−xˆMAP )
, on a
ln q(x)
q˜(x)
= c1 +
1
2
(x − xˆMAP )
T Σ
−1
(x − xˆMAP ) −
1
2
(x − µ)
T
P
−1
(x − µ)
= c1 +
1
2
(x − µ + µ − xˆMAP )
T Σ
−1
(x − µ + µ − xˆMAP ) −
1
2
(x − µ)
T
P
−1
(x − µ)
= c1 +
1
2
(x − µ)
T Σ
−1
(x − µ) + 1
2
(µ − xˆMAP )
T Σ
−1
(x − µ)
+
1
2
(µ − xˆMAP )
T Σ
−1
(µ − xˆMAP )
| {z }
constante
+
1
2
(x − µ)
T Σ
−1
(µ − xˆMAP ) −
1
2
(x − µ)
T
P
−1
(x − µ)
= c2 +
1
2
(x − µ)
T
Σ
−1 − P
−1
(x − µ) + 1
2
u(x − µ)
| {z }
scalaire
+ (x − µ)
T u
T
| {z }
scalaire
=
1
2
(x − µ)
T
Σ
−1 − P
−1
(x − µ) + u1(x − µ) + c2 (4.59)
=
1
2
x
T
Σ
−1 − P
−1
x + u2x + c3 (4.60)
(4.61)104 4. Développement de filtres particulaires adaptés aux multimodalités
où u1 = (µ − xˆMAP )
T Σ
−1
, u2, c1, c2 et c3 des constantes. ln q
q˜
est majoré ssi le terme K(x) =
1
2
x
T
(Σ−1 − P
−1
) x + u2x est majoré. Ce dernier terme est majoré ssi sa limite vaut −∞ lorsque
kxk → +∞. Une condition suffisante est que P
−1 − Σ
−1
soit définie positive.
En effet, dans ce cas on a
K(x) = −
1
2
(x − a)
T
P
−1 − Σ
−1
(x − a) + c4
avec
a = µ +
Σ
−1 − P
−1
−1
c4 =
1
2
a
T
Σ
−1 − P
−1
a + u2a
En posant x
0 = (P
−1 − Σ
−1
)
1/2
(x − a) (possible car on suppose P
−1 − Σ
−1 > 0), on a K(x) =
−
1
2
kx
0k
2 + c4. Comme limkxk→+∞ kx
0k = +∞, on a limkxk→+∞ K(x) = −∞.
Il s’en suit que si la matrice P
−1 − Σ
−1
est définie positive, alors la forme quadratique ln( q
q˜
) est
majorée.
Cherchons maintenant une caractérisation de la propriété P
−1 − Σ
−1 > 0.
Σ
−1 − P
−1 < 0 ⇔ x
T
(Σ−1 − P
−1
)x < 0 ∀x ∈ R
d
\ {0}
⇔
x
TΣ
−1x
x
TP −1x
< 1 ∀x ∈ R
d
\ {0}
⇔ sup
x∈Rd\{0}
x
TΣ
−1x
x
TP −1x
< 1 ∀x ∈ R
d
\ {0} (4.62)
Soit P
−1 = DDT
la décomposition de Choleski de P
−1
. On pose C = D−TΣ
−1D−1
avec
D−T = (D−1
)
T
. Alors,
x
TΣ
−1x
x
TP −1x
=
x
T DT CDx
x
T DT Dx
En posant y = Dx,
x
TΣ
−1x
x
TP −1x
=
y
T Cy
y
T y
et
sup
x∈Rd\{0}
x
TΣ
−1x
x
TP −1x
< 1 ⇔ sup
y∈Rd\{0}
y
T Cy
y
T y
< 1 (4.63)
(En effet, D étant inversible, y décrit R
d \ {0} lorsque x décrit R
d \ {0}). En remarquant que
y
0T Cy0
y
0T y
0 =
y
T Cy
y
T y
pour x
0 = cx avec c > 0, (4.63) est équivalent à
sup
kyk=1
y
T Cy < 1
Il faut donc résoudre le problème suivant : Maximiser y
T Cy sous la contrainte kyk = 1. On
introduit le multiplicateur de Lagrange
L(y, λ) = y
T Cy + λ(y
T
y − 1)105
∂L
∂y = 2y
T C + 2λyT
∂L
∂λ = y
T
y − 1
∂L
∂y = 0 ⇔ 2y
T C + 2λyT = 0
⇔ y
T C = −λyT
⇔ Cy = −λy
⇔ Cy = λ
0
y
avec λ
0 = −λ. Les extrema de y
T Cy sont donc obtenus pour y vecteur propre de C. Comme
par ailleurs y 7→ y
T Cy est continue sur le compact {y ∈ R
d
|kyk = 1}, le maximum est bien
atteint pour un vecteur propre unitaire e de C tel que Ce = λ
0
e. Comme e
T Ce = λ
0
e
T
e = λ
0
, le
maximum de y
T Cy est la valeur propre maximale de C.
Finalement,
Proposition 1. Si la valeur propre maximale de D−TΣ
−1D−1
est inférieure à 1 alors le rapport
q
q˜
est majoré.
Choix de la covariance de la loi de proposition On a vu sur un exemple synthétique, que
l’utilisation directe d’une loi de proposition gaussienne de covariance donnée par l’approximation
de Laplace J
−1
(ˆxMAP ) de la covariance a posteriori, peut donner un estimateur de mauvaise
qualité. Néanmoins, afin d’exploiter l’information donnée par la matrice Jˆ−1 = J
−1
(ˆxMAP ), nous
suggérons d’utiliser une loi de proposition gaussienne q˜ dont la matrice de covariance Σ a pour
valeurs propres les valeurs propres de P et pour vecteurs propres, les vecteurs propres de Jˆ−1
:
schématiquement, cela revient à aligner l’ellipsoïde de confiance de la covariance Σ sur celle de
Jˆ−1
. De cette façon nous nous attendons à générer les échantillons selon les axes principaux de
Jˆ−1 ≈ Cov(x|y). Ainsi, ces échantillons sont orientés conformément à la matrice de covariance
de la fonction d’importance optimale.
Soit EJ la matrice des vecteurs propres de Jˆ−1
. Soit ΛP la matrice des valeurs propres de P. On
construit la matrice Prot définie par :
Prot
4
= EJΛPE
T
J
(4.64)
et on pose Σ = Prot.
D’après la proposition précédente, ceci ne garantit cependant pas que la variance asymptotique
Vq˜ des poids d’importance ω
i
soit finie, même si en pratique nous avons observé que l’estimateur
correspondant était stable. On peut tout de même chercher une matrice de covariance sous la
forme Σ = sProt avec s > 0 et trouver le plus petit réel s qui garantissent que q
q˜
soit borné.
D’après la proposition 1, cela revient à déterminer
s
∗ = inf{s > 0 | λmax(
1
s
D
−TP
−1
rot D
−1
) < 1}106 4. Développement de filtres particulaires adaptés aux multimodalités
où λmax(B) désigne la plus grande valeur propre de la matrice B lorsqu’elle existe. On en déduit
que
s
∗ = λmax(D
−TP
−1
rot D
−1
) (4.65)
Pour tout s > s∗
, la variance Vq˜ sera finie si q˜ est une densité gaussienne de moyenne xˆMAP
et de covariance Σ = sProt.
Une autre approche permettant d’exploiter l’approximation Jˆ−1 ≈ Cov(x|y) consiste à chercher
la matrice de covariance Σ
∗
la plus proche de Jˆ−1
en norme, telle que q
q˜
soit bornée.
Autrement dit,
Σ
∗ = arg min
Σ
kΣ − Jˆ−1
k
2
F } (4.66)
sous la contrainte Σ
−1 −P
−1 < 0. La norme matricielle k.kF est définie pour toute matrice réelle
A = (ai,j )i,j de taille d × d par
kAkF =
X
i,j
a
2
i,j
1
2
(4.67)
Remarquons que Σ
−1 − P
−1 < 0 est équivalent à Σ − P > 0 (cf. annexe C).
Théorème 4 (N. Higham [55]). Soit A est une matrice réelle symétrique. Le problème suivant :
minimiser kX − Ak
2
F
sous la contrainte X ≥ 0
admet une unique solution X∗ de la forme
X
∗ =
1
2
(A + H) (4.68)
où H est une matrice symétrique positive telle que A = UH avec U
TU = I. L’égalité A = UH
est appelé décomposition polaire de A.
On peut alors résoudre
min
Σ−P ≥0
kΣ − Jˆ−1
k
2
F
en remarquant que kΣ − Jˆ−1k
2
F = k(Σ − P) − (Jˆ−1 − P)k
2
F
. On a alors,
min
Σ−P ≥0
kΣ − Jˆ−1
k
2
F = min
X≥0
kX − (Jˆ−1 − P)k
2
F
En notant XF = arg minX≥0 kX − (Jˆ−1 − P)k, d’après le théorème précédent, on a
XF =
1
2
(Jˆ−1 − P + H)
avec Jˆ−1 − P = UH et U
TU = I. On en déduit que ΣF = arg min
Σ−P ≥0
kΣ − Jˆ−1k
2
F
est donné par
ΣF =
1
2
(Jˆ−1 + P + H) (4.69)107
Cette formule est relativement simple à mettre en oeuvre pour peu que l’on dispose d’une
matrice H = HT ≥ 0 vérifiant Jˆ−1 − P = UH où U est une matrice unitaire. Heureusement, il
existe une alternative à la décomposition polaire permettant de calculer ΣF .
Si on diagonalise Jˆ−1 − P sous la forme Jˆ−1 − P = ZΛ˜Z
T
avec Λ = diag( ˜ λ1, . . . , λd) matrice
diagonale et ZZT = I. En posant
Λ˜
+ = diag(max(0, λ˜
1), . . . , max(0, λ˜
d))
on a [55],
ΣF = ZΛ˜
+Z
T + P (4.70)
P
J −1
s
∗Prot
Prot
ΣF
Figure 4.9 – Ellipsoïdes de confiance à 99 % des matrices de covariance P, J
−1
, Prot, s
∗Prot
et ΣF
Enfin, pour conserver une variance d’estimation finie, on peut également échantillonner selon
une loi de Student multivariée, dont la queue de distribution est plus lourde et garantit automatiquement
sup q
q˜ < +∞. On rappelle qu’une v.a X de R
d
suit une distribution de Student
multivariée Td(ν, µ, Σ) si elle admet pour fonction de densité
td(x; ν, µ, Σ) = Γ( ν+d
2
)(πd)
− d
2 |Σ|
−1/2
Γ( ν
2
) [1 + (x − µ)
TΣ−1
(x − µ)/ν]
ν+d
2
(4.71)
ν ∈ N
∗
+ désigne le degré de liberté, µ est un paramètre de localisation et Σ une matrice de
produit scalaire (symétrique, définie positive) [70]. Ici, Γ désigne la fonction Gamma d’Euler.
X a pour moyenne µ (resp. matrice de covariance) uniquement lorsque ν > 1 (resp. ν > 2) et,
lorsqu’elle existe, sa covariance est donné par Cov(X) = ν
ν−2Σ. Plus ν est petit, plus la queue
de la distribution de Student est lourde.108 4. Développement de filtres particulaires adaptés aux multimodalités
Comparaison des densités d’importances Dans un premier temps, nous avons évalué les 5
densités d’importances gaussiennes centrées sur une approximation du MAP précédemment :
− q˜1(x) = ϕ(x|xˆMAP , P)
− q˜2(x) = ϕ(x|xˆMAP , Jˆ−1
)
− q˜3(x) = ϕ(x|xˆMAP , Prot)
− q˜4(x) = ϕ(x|xˆMAP , s∗Prot) (cf. (4.65))
− q˜5(x) = ϕ(x|xˆMAP , ΣF )
Nous nous proposons de les comparer dans le problème d’estimation statique présenté précé-
demment. Plus précisément, pour chaque densité q˜ ∈ {q˜1, . . . , q˜5} on calcule l’estimateur xˆ
N de
E(x|y) en fonction du nombre d’échantillons N. On peut alors en déduire l’erreur quadratique
moyenne de chaque estimateur en fonction de N.
102 103 104 105 10
6 10
7 0
1
2
3
4
5
6
7
8
x 10−4
N
RMSE x
q˜0
q˜1
q˜2
q˜3
q˜4
q˜5
(a) RMSE x1
102 103 104 105 10
6 10
7 0
1
2
3
4
5
6
7
8
x 10−4
N
RMSE y
q˜0
q˜1
q˜2
q˜3
q˜4
q˜5
(b) RMSE x2
Figure 4.10 – Comparaison de lois de proposition pour l’estimation de E(x|y) par échantillonnage
d’importance : densité instrumentale gaussienne
On constate sur la figure 4.10 que le paramétrage le plus avantageux est donné par q˜3, c’est-
à-dire la densité gaussienne centrée sur le MAP et de covariance Prot. Les densités d’importance
q˜5 et q˜1 centrées sur le MAP et de covariances respectives P et ΣF sont relativement proches en
termes d’erreur quadratique moyenne (q˜5 étant légèrement meilleure). En revanche, l’utilisation
de la covariance s
∗Prot dans la loi instrumentale n’améliore que marginalement le RMSE. q˜4
garantit une variance d’estimation finie mais s’éloigne de la densité a posteriori comme l’illustre
la figure 4.9.109
Dans un second temps, nous avons examiné l’utilisation d’une densité d’importance suivant
une loi de Student Td(ν, xˆMAP , Σ). La matrice Σ a été choisie de sorte que Cov(X) =
J
−1
(ˆxMAP ), i.e. Σ = ν−2
ν
J
−1
(ˆxMAP ), et le degré de liberté ν a été fixé expérimentalement à 4.
Ce choix donne des résultats satisfaisants comme l’atteste la figure 4.11.
102 103 104 105 10
6 10
7 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x 10−3
N
RMSE x
q˜ = q
q˜ = N(ˆxMAP , Prot)
q˜ = N(ˆxMAP , J−1
)
q˜ = Td(ˆxMAP , J−1
)
(a) RMSE x1
102 103 104 105 10
6 10
7 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x 10−3
N
RMSE y
q˜ = q
q˜ = N(ˆxMAP , Prot)
q˜ = N(ˆxMAP , J−1
)
q˜ = Td(ˆxMAP , J−1
)
(b) RMSE x2
Figure 4.11 – Comparaison de lois de proposition pour l’estimation de E(x|y) par échantillonnage
d’importance : densité instrumentale Student
4.5.3.2 Cadre dynamique : illustration
On considère un problème de pistage de cible dans le plan cartésien par mesure de distance
et d’azimuth. La cible suit une dynamique linéaire suivante :
xk = F xk−1
où
F =
I2 ∆I2
02 I2
∆ désigne le pas de temps et xk = [xk,1, xk,2, x˙ k,1, x˙ k,2]
T
est le vecteur d’état comprenant la
position et la vitesse horizontale de la cible.110 4. Développement de filtres particulaires adaptés aux multimodalités
Le capteur radar est supposé fixe à la position (0, 0) et mesure à chaque instant k une distance
r =
q
x
2
k,1 + x
2
k,2
et un azimuth θ = arctan( xk,2
xk,1
) tous deux corrompus par un bruit de mesure
additif. On note yk le vecteur de mesure correspondant dont l’expression est
yk =
q
x
2
k,1 + x
2
k,2
arctan( xk,2
xk,1
)
+ vk
où vk ∼ N (02×1, diag(σ
2
r
, σ2
θ
)) est le bruit de mesure gaussien. σr et σθ désignent respectivement
l’écart-type du bruit sur la mesure de distance et sur la mesure d’angle.
L’objectif est d’estimer la position et la vitesse de la cible sachant les mesures passées en
calculant l’espérance conditionnelle E(xk|y0:k). Pour cela, nous allons comparer le comportement
du filtre particulaire régularisé (cf. 2.3), avec un filtre particulaire régularisé dont la fonction
d’importance est une gaussienne multivariée centrée sur une estimation du MAP, et de matrice
de covariance Prot définie dans la section 4.5.3.1 : ce dernier algorithme est noté RPF-MAP. Les
paramètres du capteur sont fixés à σr = 5 m et σθ = 1◦
. L’erreur en distance est faible, ce qui
est un cas difficile pour le filtrage particulaire classique.
La cible a pour vecteur position-vitesse initiale xcible,0 =
h
10000 10000 40 −40iT
. On
suppose également que x0 suit une loi gaussienne de moyenne x¯0 et de covariance P0 =
diag
(1000m)
2
(1000m)
2
(10m/s)
2
(10m/s)
2
. La moyenne x¯0 est tirée selon une gaussienne
centrée sur la position initiale de la cible xcible,0 de covariance P0.
Nous avons calculé l’erreur quadratique moyenne des trajectoires non-divergentes sur la base de
200 simulations ainsi que le taux de non-divergence des deux algorithmes : le RPF-MAP affiche
un taux de non-divergence de 97% tandis que le RPF standard a un taux de non-divergence de
24%. Nous avons considéré qu’un filtre a divergé si l’état final vrai sort de l’ellipsoide de confiance
associée à la Borne de Cramer-Rao a posteriori au seuil 99.99% et centrée sur l’état estimé, ceci
pendant les 5 derniers instants de la trajectoire.
Par ailleurs, on observe (figure 4.12) que la position horizontale est estimée avec plus de précision
par le RPF-MAP pour ce capteur : l’erreur quadratique moyenne des trajectoires convergentes
du RPF-MAP s’approche rapidement de la borne de Cramer-Rao à posteriori tandis que celle du
RPF ne suit pas tout à fait cette borne.111
0 50 100 150 200
101
102
103
104
RMSE
x1
RPF
RPF−MAP
BCR
(a) RMSE x1
0 50 100 150 200
100
101
102
103
104
RMSE
x
2
RPF
RPF−MAP
BCR
(b) RMSE x2
Figure 4.12 – Erreur quadratique moyenne pour la position ; bleu : RPF, noir : RPF-MAP, traits
pointillés rouges : Borne de Cramer-Rao a posteriori
0 50 100 150 200
0
2
4
6
8
10
12
RMSE ˙x1
RPF
RPF−MAP
BCR
(a) RMSE x˙ 1
0 50 100 150 200
0
2
4
6
8
10
12
RMSE ˙x
2
RPF
RPF−MAP
BCR
(b) RMSE x˙ 2
Figure 4.13 – Erreur quadratique moyenne pour la vitesse ; bleu : RPF, noir : RPF-MAP, traits
pointillés rouges : Borne de Cramer-Rao a posteriori
4.5.3.3 Application au filtrage particulaire pour les modèles d’observation partiellement
linéaires
Dans cette section nous détaillons comment définir une fonction d’importance basée sur les
maxima locaux estimés de la densité a posteriori p(xk|y0:k). Pour cela nous nous appuyons sur
les résultats établis précédemment pour l’échantillonnage d’importance dans un cadre statique.
Nous faisons l’hypothèse que l’équation d’observation est partiellement linéaire, ce qui est le cas
en recalage altimétrique :
yk = Ax(2)
k − h
n
k
(x
(1)
k
) + vk (4.72)112 4. Développement de filtres particulaires adaptés aux multimodalités
où vk ∼ N (0, R) et A est une matrice indépendante de xk. Le vecteur d’état se décompose sous
la forme d’une partie linéaire x
(2)
k
et non-linéaire x
(1)
k
, xk =
h
x
(1),T
k
, x
(2),T
k
iT
. Enfin, h
n
k
est une
fonction non-linéaire de x
(1)
k
.
Nous nous plaçons dans le cadre du MRPF (Mixture Regularized Particle Filter) introduit
précédemment.
Rappelons dans le MRPF, la densité a posteriori p(xk|y0:k) s’écrit comme un mélange de
densités :
pk|k = p(xk|y0:k) = X
M
j=1
αj,kpj (xk|y0:k) (4.73)
avec PM
j=1 αj,k = 1. On a
p(xk|y0:k) = p(yk|xk)p(xk|y0:k−1)
Z
p(yk|xk)p(xk|y0:k−1) dxk
(4.74)
Supposons les coefficients αj,k−1 connus. La densité prédite est :
pk|k−1 =
X
M
j=1
αj,k−1pj (xk|y0:k−1) (4.75)
avec pj (xk|y0:k−1) = Z
p(xk|xk−1)pj (xk−1|y0:k−1)dxk−1 Introduisons M densités d’importance
q˜j (xk), j = 1, . . . , M respectivement centrées sur le MAP de pj (xk|y0:k) noté xˆ
∗
j
.
pk|k =
X
M
j=1
αj,k−1p(yk|xk)pj (xk|y0:k−1)
X
M
l=1
αl,k−1
Z
p(yk|xk)pl(xk|y0:k−1) dxk
=
X
M
j=1
αj,k−1p(yk|xk)
pj (xk|y0:k−1)
q˜j (xk)
q˜j (xk)
X
M
l=1
αl,k−1
Z
p(yk|xk)
pl(xk|y0:k−1)
q˜l(xk)
q˜l(xk) dxk
=
X
M
j=1
αj,k−1
R
p(yk|xk)
pj (xk|y0:k−1)
q˜j (xk)
q˜j (xk) dxk
PM
l=1 αl,k−1
R
p(yk|xk)
pl(xk|y0:k−1)
q˜l(xk)
q˜l(xk) dxk
×
p(yk|xk)
pj (xk|y0:k−1)
q˜j (xk)
q˜j (xk)
R
p(yk|xk)
pj (xk|y0:k−1)
q˜j (xk)
q˜j (xk) dxk
| {z }
pj (xk|y0:k)
(4.76)
Par identification des termes,
αj,k =
αj,k−1
Z
p(yk|xk)
pj (xk|y0:k−1)
q˜j (xk)
q˜j (xk) dxk
PM
l=1 αl,k−1
Z
p(yk|xk)
pl(xk|y0:k−1)
q˜l(xk)
q˜l(xk) dxk
(4.77)113
Ceci suggère l’algorithme suivant,
1. On suppose que l’on dispose de l’approximation particulaire suivante à l’instant k − 1 :
pk−1|k−1 =
X
M
j=1
αj,k−1
X
i∈Ij,k−1
ω
i
k−1
δx
i
k−1
(4.78)
2. Prédiction : tirer N échantillons x
i
k ∼ p(xk|x
i
k−1
)
3. Pour j = 1, . . . , M, former une approximation gaussienne ϕ(xk|x¯j,k|k−1, Pˆ
j,k|k−1) de la
densité prédite pj (xk|y0:k−1) : calculer la moyenne prédite selon
x¯j,k|k−1 =
X
i∈Ij,k−1
ω
i
k−1x
i
k
(4.79)
et la covariance prédite selon
Pˆ
j,k|k−1 =
X
i∈Ij,k−1
ω
i
k−1
(x
i
k − x¯j,k|k−1)(x
i
k − x¯j,k|k−1)
T
(4.80)
4. Pour j = 1, . . . , M, calculer le MAP xˆ
∗
j de pj (xk|y0:k) ∝ p(yk|xk)pj (xk|y0:k−1).
Pour cela, utiliser l’approximation gaussienne qj = ϕ(xk|x¯j,k|k−1, Pˆ
j,k|k−1) de pj (xk|y0:k−1).
Utiliser ensuite la méthode exposée dans 4.5.2 : qj
joue ici le rôle de la loi a priori.
5. Définir pour j = 1, . . . , M une densité d’importance gaussienne q˜j de moyenne xˆ
∗
j
et de
covariance Σ
∗
j
égale à Prot.
q˜j (x) = ϕ(x|xˆ
∗
j
, Σ
∗
j
) (4.81)
Un autre choix consiste à définir q˜j comme la densité de la loi de Student Td(ν, xˆ
∗
j
,
ν−2
ν
J
−1
j
(ˆx
∗
j
))
où
Jj (x) = −
∂
2
log gk
∂x2
(x) −
∂
2
log qj
∂x2
(x)
Le degré de liberté est alors choisi expérimentalement.
Soit Nj = Card(Ij,k−1). Tirer Nj échantillons i.i.d. x
i
k ∼ q˜j avec i ∈ Ij,k−1.
6. Calculer les poids intra-composante ω
i
k
. Pour j = 1, . . . , M :
Pour i ∈ Ij,k−1 calculer
ω˜
i
k =
p(yk|x
i
k
)qj (x
i
k
)
q˜j (x
i
k
)
(4.82)
et poser
ω
i
k =
ω˜
i
k
P
i∈Ij,k−1
ω˜
i
k
(4.83)
7. Calculer les coefficients de mélange αj,k selon
αj,k ≈
αj,k−1
Nj
P
i∈Ij,k−1
ω˜
i
k
PM
l=1
αl,k−1
Nl
P
i∈Il,k−1
ω˜
i
k
(4.84)114 4. Développement de filtres particulaires adaptés aux multimodalités
L’approximation (4.84) peut se déduire par substitution des échantillons i.i.d. x
i
k ∼ q˜j
, i ∈
Ij,k−1 dans (4.77) : on a alors
Z
p(yk|xk)
pj (xk|y0:k−1)
q˜j (xk)
q˜j (xk) dxk ≈
1
Nj
X
i∈Ij,k−1
p(yk|x
i
k
)pj (x
i
k
|y0:k−1)
q˜j (x
i
k
)
(4.85)
≈
1
Nj
X
i∈Ij,k−1
p(yk|x
i
k
)qj (x
i
k
)
q˜j (x
i
k
)
(4.86)
=
1
Nj
X
i∈Ij,k−1
ω˜
i
k
(4.87)
Echantillonnage d’importance adaptatif pour le MRPF Pour diminuer le surcoût algorithmique
induit par la recherche des maxima locaux, il est judicieux d’utiliser un critère permettant
de quantifier l’incohérence entre la fonction de vraisemblance gk(xk) = p(yk|xk) et la densité
prédite pk|k−1(xk) = p(xk|y0:k−1), de manière à recourir aux fonctions d’importances q˜j uniquement
lorsque le critère indique que le recouvrement entre les deux densités est faible. Dans le
cas contraire, le déroulement des étapes de prédiction et correction se fait comme exposé dans
le chapitre 2, sous-section 2.6.2 et dans la section 4.4.
Un indicateur de cohérence entre gk et pk|k−1 est donné par
δk =
supx∈Rd gk(x)
Z
gk(xk)pk|k−1(xk)dxk
(4.88)
δk ≥ 1 et δk est d’autant plus grand que gk et pk|k−1 ont un faible recouvrement [37, p. 256]. On
peut évaluer δk pour un filtre particulaire donné en utilisant les particules et les poids associées.
En effet, soit
pˆk|k−1 =
X
N
k=1
ω
i
k−1
δx
i
k
(4.89)
une approximation de la densité prédite pk|k−1, avec PN
k=1 ω
i
k−1 = 1. Alors,
δk ≈ N
supx∈Rd gk(x)
PN
k=1 ω
i
k−1
gk(x
i
k
)
(4.90)
Dans le cas particulier où le bruit v est additif gaussien, (4.90) se réduit à
δk ≈
N
X
N
k=1
ω
i
k−1
exp(−
1
2
kyk − hk(xk)k
2
R−1 )
(4.91)
où k.k
2
W est définie par kxk
2
W = x
TW x lorsque W est une matrice d × d.
On peut alors exploiter l’indicateur δk, pour contrôler les instants où l’échantillonnage d’importance
basé sur les densités q˜1, . . . , q˜M est utilisé. Il suffit de définir un seuil δmax > 1 qui115
contrôle le degré d’incohérence tolérable.
Souvenons-nous que dans le MPF et le MRPF, le passage de la densité prédite pj (xk|y0:k−1)
de la j-ème composante à la densité corrigée pj (xk|y0:k) peut se faire indépendamment des autres
composantes (cf. 2.6.2). Seul le calcul des coefficients de mélange {αl,k}
M
l=1 dépend de l’ensemble
des poids des particules.
On peut alors définir pour chaque composante d’indice j, un indicateur de cohérence entre gk et
pj (xk|y0:k), que nous noterons δj,k. Si δj,k ≥ δmax, l’étape de correction pour la j-ème composante
se fait selon les points 3, 4, 5 et 6. Dans le cas contraire, l’étape de correction se réduit au calcul
des poids intra-composante ω
i
k
comme décrit dans le point 2.(b)i. de l’algorithme MRPF.
Dans les deux cas, pour obtenir la densité a posteriori globale p(xk|y0:k), il faut calculer les
coefficients {αl,k}
M
l=1 en fonction de {αl,k−1}
M
l=1. L’expression correspondante est :
αj,k =
αj,k−1βj,k
PM
l=1 αl,k−1βl,k
(4.92)
avec
βj,k =
X
i∈Ij,k−1
ω
i
k−1
p(yk|x
i
k
) si δj,k < δmax
1
Nj
X
i∈Ij,k−1
p(yk|x
i
k
)qj (x
i
k
)
q˜j (x
i
k
)
sinon
(4.93)
Alternativement, on peut utiliser la taille effective de l’échantillon (4.33) comme indicateur
d’incohérence entre la fonction de vraisemblance et la densité prédite. Le choix d’utiliser la densité
d’importance q˜j s’opère lorsque la taille effective de la loi empirique pˆj =
P
i∈Ij,k ω
i
k
δx
i
k
, notée
N
j
ef f , descend en dessous d’un seuil Nth,MAP inférieur ou égal au seuil de ré-échantillonnage.
Nous proposons de définir ce seuil comme une fraction ζ ∈ [0, 1] du seuil de ré-échantillonnage :
Nth,MAP = ζNth (4.94)
L’idée est que, le ré-échantillonnage et la régularisation peuvent suffire à ramener les particules
dans la zone d’intéret lorsque N
j
ef f est juste légèrement en dessous du seuil de ré-échantillonnage.
Le coefficient ζ < 1 permet alors d’ajuster le degré de dégénérescence toléré : des valeurs petites
de ζ < 1 signifient que l’échantillonnage selon q˜j est effectué uniquement lorsque les particules
appartenant à la composante d’indice j sont très dégénérées.
En résumé, si N
j
ef f <
Nth,MAP
N Nj
, l’échantillonnage se fait selon q˜j
, et dans le cas contraire selon
le noyau de transition.
Nous résumons ci-après l’algorithme fusionnant le MRPF et l’utilisation des modes locaux pour
la phase de d’échantillonnage d’importance, que nous appellerons MRPF-MAP.
Dans la partie consacrée à l’évaluation des performances, nous distinguerons deux variantes
du MRPF-MAP :
− le MRPF-MAP 1 : la densité instrumentale a pour covariance la covariance prédite,
− le MRPF-MAP 2 : la densité instrumentale a pour covariance la covariance Prot définie
par l’équation (4.64).116 4. Développement de filtres particulaires adaptés aux multimodalités
Algorithme 7 : MRPF-MAP
1. [Initialisation]
− Tirer N particules selon la loi initiale x
i
0 ∼ µ0
− poser ω
i
0 ∝ p(y0|x
i
0
)
− Normaliser les ω
i
0
2. Pour k ≥ 1
(a) [Prédiction] Tirer N particules x
i
k ∼ p(xk|x
i
k−1
)
(b) [Correction]
i. Pour j = 1, . . . , Mk−1
− calculer N
j
ef f selon (4.33)
− Si N
j
ef f ≤ Nth,MAP /Nj
– Calculer x¯j,k|k−1 et Pˆ
j,k|k−1 selon (4.80) et (4.79).
Poser qj = ϕ(.|x¯j,k|k−1, Pˆ
j,k|k−1).
– Calculer xˆ
∗
j = arg maxx p(yk|x)qj (x) selon la méthode de la section 4.5.2.
– Poser q˜j (x) = ϕ(x|xˆ
∗
j
, Σ
∗
j
) avec Σ
∗
j = Pˆ
j,k|k−1 ou Σ
∗
j = Prot
– Tirer Nj échantillons i.i.d. x
i
k ∼ q˜j avec i ∈ Ij,k−1 et Nj = Card(Ij,k−1)
– Calculer ω˜
i
k
et ω
i
k
selon (4.82) et (4.83)
– Poser βj,k =
1
Nj
P
i∈Ij,k−1
ω˜
i
k
− Sinon
– Calculer les poids non normalisés ω˜
i
k
et les poids normalisés ω
i
k de la j-ème
composante selon (4.37) et (4.38)
– Poser βj,k =
P
i∈Ij,k−1
ω˜
i
k
ii. Pour j = 1, . . . , Mk−1, calculer αj,k en fonction des {αj,k−1}1≤j≤Mk−1
et des
{βj,k−1}1≤j≤Mk−1
en utilisant l’équation (4.92)
(c) [Clustering] Décomposer le nuage de particules en Mk clusters Cj,k.
[C
0
j,k, I0
j,k] = meanshiftClustering({x
i
k
}
N
i=1, {ω
i
k
}
N
i=1, K, hMS, Rm, nitermax, εMS)
(d) Mettre à jour les coefficients de mélange αj,k et les poids des particules intra-cluster
ω
i
k pour la nouvelle partition C
0
j,k en utilisant les équations (2.84) et (2.85).
3. Poser j = 1. Tant que j ≤ Mk
− Si αj,k < αmin supprimer le cluster Cj,k et échantillonner Nj nouvelles particules selon
la procédure décrite dans la section 4.3
− Sinon
– Calculer N
j
ef f selon (4.33)
– Si N
j
eff
Nj
est inférieur au seuil de ré-échantillonnage, ré-échantillonner et régulariser les
particules du cluster Cj,k selon l’algorithme décrit dans la section 4.2
– j = j + 1
4. Mettre à jour la fenêtre de lissage h
MS de l’algorithme de clustering mean-shift117
4.5.4 Extension au filtre particulaire Rao-Blackwellisé : algorithme MRBPFMAP
L’algorithme précédent s’étend naturellement au RBPF (cf. section 2.4.1). L’avantage du
RBPF par rapport au RPF est que l’échantillonnage des particules est restreint à la partie nonlinéaire
du vecteur d’état (composantes de la position horizontale dans le cas du recalage altimétrique).
De plus, nous avons observé dans les simulations que les ambiguïtés de terrain sont
résolues plus rapidement par le RBPF que par le RPF : cela permet en principe d’appliquer la
recherche des modes locaux du RBPF pour un coût de calcul moindre puisque le nombre de
modes dans le RBPF est en pratique plus faible que celui du RPF.
Rappellons que le MRBPF est l’extension du MRPF où le RPF est remplacé par le RBPF en
conservant l’étape de régularisation lors du ré-échantillonnage. De même, le MRBPF-MAP est
l’extension du MRPF-MAP. Deux adaptations sont nécessaires afin d’obtenir cet algorithme :
− le calcul de la matrice de covariance de la densité prédite correspondant à chaque cluster se
fait en considérant la décomposition du vecteur d’état en la partie linéaire et non-linéaire
− la correction de Kalman au niveau d’un cluster donné est effectuée différemment selon que
l’échantillonnage d’importance fondée sur les modes locaux est appliquée ou non.
Algorithme 8 : MRBPF-MAP
si k = 1
− tirer x
n,i
k ∼ p(x
n
0
), i = 1, . . . , N
− poser x
l,i
0|0 = ¯x
l
0
et P
l
0|0 = P¯
0
fin si
si k = 2, . . . , n,
− [Prédiction particulaire] Générer un échantillon x
n,i
k|k−1 ∼ p(x
n
k
|x
n
0:k−1
, y0:k−1) (cf. (2.39)),
i = 1, . . . , N. Poser ω
i
k|k−1 = ω
i
k−1
, i = 1, . . . , N.
− [Prédiction de Kalman] Pour i = 1, . . . , N, calculer xˆ
l,i
k|k−1
et P
l
k|k−1
d’après (2.34).
− [Clustering] Décomposer le nuage de particules en Mk clusters Cj,k.
[C
0
j,k, I0
j,k] = meanshiftClustering({x
i
k
}
N
i=1, {ω
i
k
}
N
i=1, K, hMS, Rm, nitermax, εMS)
− [Correction particulaire] Calculer les poids non-normalisés omega ˜
i
k = ω
i
k−1
p(yk|x
n,i
k
, y0:k−1),
i = 1, . . . , N où la vraisemblance p(yk|x
n,i
k
, y0:k−1) est donnée d’après (2.40).
− [Echantillonnage d’importance selon critère de dégénérescence] Pour j = 1, . . . , Mk
– βj =
P
i∈Ij,k ω˜
i
k
– ω
i
k =
ω˜
i
k
βj
, i ∈ Ij,k
– Calculer N
j
ef f ≤ Nth,MAP /Nj selon (4.33)
– indexMAPj = 0
– Si N
j
ef f ≥ Nth,MAP /Nj
– Poser x¯
n
k|k−1,j =
P
i∈Ij,k ω
i
k|k−1x
n,i
k|k−1
– Poser x¯
l
k|k−1,j =
P
i∈Ij,k ω
i
k|k−1x
l,i
k|k−1
– Poser Pˆn
j,k|k−1 =
P
i∈Ij,k ω
i
k|k−1
(x
n,i
k|k−1 − x¯
n
k|k−1,j )(x
n,i
k|k−1 − x¯
n
k|k−1,j )
T118 4. Développement de filtres particulaires adaptés aux multimodalités
– Poser Pˆl
j,k|k−1 = P
l
k|k−1 +
P
i∈Ij,k ω
i
k|k−1
(x
l,i
k|k−1 − x¯
l
k|k−1,j )(x
l,i
k|k−1 − x¯
l
k|k−1,j )
T
– Poser Pˆnl
j,k|k−1 =
P
i∈Ij,k ω
i
k|k−1
(x
n,i
k|k−1 − x¯
n
k|k−1,j )(x
l,i
k|k−1 − x¯
l
k|k−1,j )
T
– Poser
Pˆ
j,k|k−1 =
Pˆn
j,k|k−1 Pˆnl
j,k|k−1
Pˆnl
j,k|k−1
T
Pˆl
j,k|k−1
et x¯j,k|k−1 =
x¯
n
k|k−1,jT
x¯
l
k|k−1,jT
T
.
– Poser qj = ϕ(.|x¯j,k|k−1, Pˆ
j,k|k−1).
– Calculer xˆ
∗
j = arg maxx p(yk|x)qj (x) selon la méthode de la section 4.5.2.
– Poser q˜j (x) = ϕ(x|xˆ
∗
j
, Σ
∗
j
) avec Σ
∗
j = Pˆ
j,k|k−1 ou Σ
∗
j = Prot
– Tirer Nj échantillons i.i.d. ξ
i ∼ q˜j avec i ∈ Ij,k−1 et Nj = Card(Ij,k−1)
– Poser x
n,i
k = ξ
n,i et x
l,i
k = ξ
l,i avec ξ
i =
ξ
n,i
ξ
l,i
.
– Calculer ω˜
i
k
et ω
i
k
selon (4.82) et (4.83)
– Poser βj,k =
1
Nj
P
i∈Ij,k−1
ω˜
i
k
– indexMAPj = 1
− Pour j = 1, . . . , Mk, calculer αj,k en fonction des {αj,k−1}1≤j≤Mk−1
et des {βj,k−1}1≤j≤Mk−1
en utilisant l’équation (4.92)
− Calculer la moyenne pondérée partie non-linéaire xˆ
n
k =
PMk
j=1
P
i∈Ij,k ω
i
kx
n,i
k
.
− [Ré-échantillonnage] Poser j = 1. Tant que j ≤ Mk
– Si αj,k < αmin supprimer le cluster Cj,k et échantillonner Nj nouvelles particules selon
la procédure décrite dans la section 4.3
– Sinon
– Calculer N
j
ef f selon (4.33)
– Si N
j
eff
Nj
est inférieur au seuil de ré-échantillonnage, ré-échantillonner et régulariser les
particules du cluster Cj,k selon l’algorithme décrit dans la section 4.2
– j = j + 1
− Mettre à jour la fenêtre de lissage h
MS de l’algorithme de clustering mean-shift
− [Correction de Kalman]
− Calculer P
l
k
selon (2.36).
– Pour j = 1, . . . , Mk
– si indexMAPj = 0, calculer xˆ
l,i
k
, i ∈ Ij,k−1 d’après (2.35)
− calculer la moyenne a posteriori de la partie linéaire xˆ
l
k =
PMk
j=1
P
i∈Ij,k ω
i
kx
l,i
k
fin pour
Les performances de cet algorithme seront illustrées dans la section suivante et comparées
avec le RBPF standard.119
4.6 Evaluation des performances du MRPF, du MRPFMAP
et du MRBPF-MAP
Nous présentons dans cette section les performances des filtres développés sur la base de trois
simulations :
− Simulations A : comparaison du MRPF avec le RPF et le RBPF dans un cas nominal
d’intensité de bruit de mesure,
− Simulations B : comparaison du MRPF avec le MRPF-MAP dans un cas où la variance du
bruit de mesure est petite,
− Simulations C : comparaison du MRBPF-MAP avec le MRBPF et le RBPF dans les mêmes
conditions que les simulations B.
Pour chaque simulation, les résultats numériques issus des tirages Monte Carlo sont rapportés,
ceci pour trois types de terrain.
Dans un premier temps, nous introduisons les scénarios de référence (terrain et trajectoire associée)
qui serviront de base aux simulations. Ensuite, nous rappelons le modèle d’état et d’observation.
Enfin, nous présentons les performances en termes d’erreur quadratique moyenne et de
taux de convergence.
4.6.1 Profils de terrain pour le recalage radio-altimétrique
Afin d’évaluer les performances des algorithmes de recalage, nous nous appuyerons sur trois
scénarios de navigation qui diffèrent essentiellement par le niveau d’ambigüité et/ou de dureté du
profil de terrain. La dureté d’un terrain est une caractéristique locale du relief utilisée pour évaluer
son degré de rugosité. Plus celle ci est grande, plus l’information contenue dans le terrain est
importante. Il existe diverses définitions du facteur f de dureté, selon les industriels, la suivante
est couramment utilisée en navigation par corrélation de terrain :
f =
rσT σp
2π
(4.95)
où
− σT désigne l’écart-type de l’altitude locale
− σp désigne l’écart-type de la pente locale
Une valeur de f faible suggère que le terrain est localement plat tandis qu’une valeur de f élevée
indique que le terrain est localement accidenté. On peut montrer que f ∝
σT
XT
, où XT est la
longueur de corrélation du terrain et le rapport σT
XT
caractérise la rugosité de terrain d’après [27].
En pratique, la dureté f en un point de la carte est évaluée en moyennant la dureté nord fn et la
dureté est fe. Afin de calculer fn et fe, les termes σT et σp sont calculées sur une croix nord-est
de 5 km centrée sur le point d’intérêt.
Type de terrain plat vallonné accidenté très accidenté extrêmement accidenté
f 0 à 0.35 0.35 à 0.75 0.75 à 2 2 à 3.6 > 3.6
L’ambiguïté de terrain désigne la présence de portions de terrain dont les profils en altitude
sont semblables. En terme de filtrage, plus un terrain est ambigu, plus l’intervalle de temps
pendant lequel le filtre est multimodal est grand.120 4. Développement de filtres particulaires adaptés aux multimodalités
Lors de l’évaluation et la comparaison des différents filtres de navigations, nous considérons
des trajectoires rectilignes. Le radio-altimètre fournit une mesure à la fréquence de 10 Hz Les
scénarios de navigation que nous considérons ont les caractéristiques suivantes :
− Scénario 1 : Terrain peu ambigu, présentant une dureté moyenne.
− Scénario 2 : Terrain ambigu en début de recalage, avec une dureté élevée.
− Scénario 3 : Terrain très ambigu sur la première moitié de la trajectoire, moyennement
ambigu sur la deuxième moitié de la trajectoire. La dureté le long de la trajectoire considérée
est faible (f < 0.35).
4.6.2 Modèle d’état et d’observation
Nous souhaitons estimer à chaque instant k ≥ 0, le vecteur d’erreur inertielle
xk =
h
xk,1 xk,2 xk,3 xk,4 xk,5 xk,6
iT
défini par
xk =
δx
δv
k
(4.96)
où
δxk =
δxn
δxe
δxd
k
(4.97)
désigne le vecteur d’erreur en position horizontale dans le repère TGL (n, e, d) défini au chapitre
3, section 3.1.1. De même,
δvk =
δvn
δve
δvd
k
(4.98)
est le vecteur d’erreur en vitesse horizontale dans ce même repère.
La dynamique que nous considérons est un modèle double intégrateur défini par
xk+1 = F xk + Gkwk (4.99)
avec
F =
I3 ∆I3
03 I3
Gk =
∆2
2
I3
∆I3
(4.100)
− I3 est la matrice identité de taille
− 03 est la matrice nulle de taille 3 × 3
− ∆ est la période d’échantillonnage.
− wk est un bruit blanc gaussien de covariance Q121
(a) Profil de terrain et trajectoire (trait rouge)
0 10 20 30 40 50 60 70 80 90
1200
1300
1400
1500
1600
1700
1800
1900
temps (s)
m
(b) Hauteur de terrain le long de la trajectoire
0 10 20 30 40 50 60 70 80 90
1.4
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4
dureté
temps (s)
(c) Dureté du terrain le long de la trajectoire122 4. Développement de filtres particulaires adaptés aux multimodalités
(a) Profil de terrain et trajectoire (trait rouge)
0 20 40 60 80 100 120
400
500
600
700
800
900
1000
1100
1200
temps (s)
m
(b) Hauteur de terrain le long de la trajectoire
0 20 40 60 80 100 120
0.8
1
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
dureté
temps (s)
(c) Dureté du terrain le long de la trajectoire123
(a) Profil de terrain et trajectoire (trait rouge)
0 20 40 60 80 100
600
650
700
750
800
850
900
950
temps (s)
m
(b) Hauteur de terrain le long de la trajectoire
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
dureté
temps (s)
(c) Dureté du terrain sous la trajectoire124 4. Développement de filtres particulaires adaptés aux multimodalités
Notons que dans cette étude, nous n’estimons pas les angles d’attitude étant donné que
les trajectoires considérées sont assez courtes et ne permettent pas aux erreurs d’estimation
d’attitude de converger suffisamment.
Le modèle d’observation que nous considérons est celui d’une mesure altimétrique correspondant
à la hauteur-sol bruitée par un bruit blanc additif gaussien v de variance σ
2
v
. Soit λ˜, φ˜ et z˜, la
latitude, longitude et altitude inertielle de l’aéronef. On introduit également le modèle numérique
de terrain hMNT qui à une latitude λ et une longitude φ, fait correspondre la hauteur du relief
hMNT (λ, φ). La mesure altimétrique y correspond à la différence entre l’altitude z du mobile et la
hauteur du MNT correspond à la position horizontale (λ, φ) du mobile, à laquelle vient s’ajouter
un bruit d’observation v ∼ N (0, σ2
v
).
y = z − hMNT (λ, φ) + v (4.101)
Compte tenu de l’orientation de l’axe d du TGL, l’altitude réelle z du mobile est reliée à l’altitude
inertielle z˜ selon
z = ˜z − δxd
De même, la latitude réelle λ et la longitude réelle φ de l’aéronef s’obtiennent en fonction de
leurs équivalents inertiels d’après les expressions suivantes :
λ =λ˜ +
δxn
Rλ˜ + ˜z
φ =φ˜ +
δxe
Rφ˜ + ˜z
cos φ˜
(4.102)
Finalement, l’équation d’observation est
yk = ˜zk − xk,3 − hMNT
λ˜ +
xk,1
Rλ˜ + ˜zk
, φ˜
k +
xk,2
Rφ˜ + ˜zk
cos φ˜
k
+ vk (4.103)
où Rλ˜ et Rφ˜ sont respectivement les rayons nord et est défini par les équations (3.9) et (3.10).
4.6.3 Critères de performances
Pour chaque scénario nous calculons l’erreur quadratique moyenne (MSE), le taux de non
divergence ainsi que la vitesse de convergence des algorithmes.
Etant donné un estimateur xˆk de xk issu d’un algorithme particulaire, nous définissons momentanément
ici l’erreur quadratique moyenne comme
MSE(ˆxk) = Ep(xk,y0:k)
h
(ˆxk − xk)(ˆxk − xk)
T
i
(4.104)
Cette définition diffère légèrement de celle donnée dans le chapitre 1 et nous permet d’estimer
l’erreur quadratique moyenne commise sur chacun des axes nord, est et down en position et
vitesse. Dans les trois algorithmes considérés l’estimateur xˆk est la moyenne pondérée
xˆk =
X
N
i=1
ω
i
kx
i
k125
Géoïde
z
Figure 4.14 – Mesure altimétrique
La vraie densité jointe p(xk, y0:k) étant inconnue, nous approchons le MSE sur la base de
NMC = 200 réalisations du filtre :
MSE(ˆxk) ≈
1
NMC
N
XMC
j=1
(ˆx
j
k − x
j
k
)(ˆx
j
k − x
j
k
)
T
(4.105)
où les termes xˆ
j
k
et x
j
k
représentent respectivement l’estimée du filtre et l’état vrai pour la j-ème
réalisation du filtre. L’état vrai correspond à la vraie erreur inertielle simulée sur la bases des
paramètres données dans la section 4.6.4.1.
Afin d’évaluer l’efficacité des algorithmes en terme d’erreur, le MSE est comparé à la borne de
Cramer-Rao a posteriori (BCR) qui correspond à une borne inférieure sur l’erreur quadratique du
filtre optimal. Pour les modèles à espace d’état de type (2.6), l’erreur quadratique moyenne d’un
estimateur xˆ0:k de x0:k est minorée par l’inverse de la matrice d’information de Fisher du modèle
i.e.
MSE(ˆx0:k) = E
h
(ˆx0:k − x0:k)(ˆx0:k − x0:k)
T
i
≥ J
−1
0:k
(4.106)
où la matrice d’information de Fisher J0:k est définie de la manière suivante :
J0:k = −Ep(x0:k,y0:k)
"
∂
2
∂x2
0:k
log p(x0:k, y0:k)
#
(4.107)
En ce qui concerne cette étude, nous souhaitons plutôt une borne sur MSE(ˆxk). En décomposant
J0:k en blocs Ak, Bk et Ck de taille respectives kd × kd, kd × d et d × d
J0:k =
Ak Bk
BT
k Ck
(4.108)126 4. Développement de filtres particulaires adaptés aux multimodalités
on a [114]
MSE(ˆxk) ≥ J
−1
k
(4.109)
Jk = Ck − BT
k AkBk est la matrice d’information de Fisher associée à l’estimation de xk.
En pratique, l’algorithme de Tichavsky et al. [114] qui permet de calculer Jk récursivement hors
ligne.
Enfin, nous estimons pour chaque filtre le taux de non-divergence qui est calculé comme le
rapport du nombre de réalisations non-divergentes sur le nombre total de réalisations du filtre.
On considère qu’il y a divergence d’une réalisation d’un filtre lorsque l’erreur entre l’état xk
et l’estimée xˆk est grande devant la covariance de l’estimation. Plus précisément, si n désigne
l’instant final de la trajectoire, une divergence est déclarée lorsque xn se trouve en dehors de
l’ellipsoïde de confiance au seuil α associée à la distribution gaussienne centrée en xˆn et de
covariance Pˆ
n où Pˆ
n désigne la covariance empirique du filtre. Autrement dit, une réalisation sera
considérée divergente si
(ˆxn − xn)
TPˆ−1
n
(ˆxn − xn) > χ2
d,1−α
(4.110)
où χ
2
2,1−α
est le quantile d’ordre 1 − α de la distribution du khi-deux à d degrés de libertés. Dans
les simulations, nous avons pris la valeur α = 0.001 pour le niveau de confiance.
Ce critère est motivé par l’utilisation d’une approximation gaussienne de la distribution empirique
pˆn =
PN
i=1 ω
i
n
δxi
n
: en cas de non-divergence, l’état vrai xk doit se trouver dans l’ellipsoïde
de confiance associée à la distribution gaussienne dont les moments sont ceux de pˆn. Nous
reviendrons sur la divergence du filtre particulaire au chapitre 5, dans le cadre de sa détection en
ligne.
4.6.4 Simulations A : évaluation des performances du MRPF
Le MRPF est ici comparé à deux algorithmes particulaires classiques :
− le filtre particulaire régularisé (RPF) présenté au chapitre 2, section 2.3
− le filtre particulaire Rao-Blackwellisé (RBPF) exposé au chapitre 2, section 2.4.1
4.6.4.1 Conditions de simulations
Simulation de trajectoires inertielles Les trajectoires inertielles sont simulées en prenant les
paramètres accélérométriques et gyrométriques suivants :
− écart-type du biais accélérométrique : σa = 3.10−5 m.s−2
− période de corrélation du biais accélérométrique : τa = 60 s
− écart-type du biais gyrométrique : σa = 10−6
rad.s−1
− période de corrélation du biais gyrométrique : τg = 60 s
L’erreur initiale en position, vitesse et attitude suit une distribution gaussienne centrée de matrice
de covariance
P
INS
0 = diag(σ
2
0,xn
, σ2
0,xe
, σ2
0,xd
, σ2
0,vn
, σ2
0,ve
, σ2
0,vd
, σ2
0,ϕ, σ2
0,θ, σ2
0,ψ)
avec :127
− σ0,xn = 1000 m (écart-type en position Nord)
− σ0,xe = 1000 m (écart-type en position Est)
− σ0,xd = 100 m (écart-type en position Verticale)
− σ0,vn = 3 m.s−1
(écart-type en vitesse Nord)
− σ0,ve = 3 m.s−1
(écart-type en vitesse Est)
− σ0,vd = 1 m.s−1
(écart-type en vitesse Verticale)
− σ0,ϕ = σ0,θ = σ0,ψ = 0.05 π
180
◦
(écarts-type en roulis, tangage et lacet)
Paramètres du modèle de dynamique et de mesure
− covariance du bruit de dynamique Q = diag
1
2 1
2 0.012
− écart-type du bruit de mesure du radio-altimètre σv = 15 m
− période d’échantillonnage ∆ = 0.1 s
Paramètres propres aux filtres
RPF
B NRP F = 5000 particules
B seuil de ré-échantilonnnage : Nth =
NRP F
2
MRPF
B NMRP F = 5000 particules
B Paramètres de l’algorithme mean-shift clustering :
• rayon de fusion Rm = 100 m
• nombre d’itérations maximum par procédure mean-shift : nitermax = 50
• seuil de convergence ε
MS = 1 m
B seuil de suppression de cluster αmin = 10−8
L’algorithme de clustering est appliqué toutes les 5 itérations afin de limiter le surcoût algorithmique
RBPF
B NRBP F = 5000 particules
B seuil de ré-échantillonnage : Nth =
NRBP F
2128 4. Développement de filtres particulaires adaptés aux multimodalités
4.6.4.2 Résultats numériques
Scénario 1
0 20 40 60 80 100
100
101
102
103
104
temps (s)
RMSE position nord (m)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100
100
101
102
103
104
temps (s)
RMSE position est (m)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100
100
101
102
103
temps (s)
RMSE position down (m)
MRPF
RBPF
RPF
BCR
Figure 4.15 – RMSE en position ; noir : MRPF, vert : RBPF, bleu : RPF129
0 20 40 60 80 100
1
1.5
2
2.5
3
3.5
4
4.5
temps (s)
RMSE vitesse nord (m.s−1
)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
4
temps (s)
RMSE vitesse est (m.s−1
)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
temps (s)
RMSE vitesse down (m.s−1
)
MRPF
RBPF
RPF
BCR
Figure 4.16 – RMSE en vitesse ; noir : MRPF, vert : RBPF, bleu : RPF130 4. Développement de filtres particulaires adaptés aux multimodalités
Scénario 2
0 20 40 60 80 100 120
100
101
102
103
104
temps (s)
RMSE position nord (m)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100 120
100
101
102
103
104
temps (s)
RMSE position est (m)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100 120
100
101
102
103
temps (s)
RMSE position down (m)
MRPF
RBPF
RPF
BCR
Figure 4.17 – RMSE en position ; noir : MRPF, vert : RBPF, bleu : RPF131
0 20 40 60 80 100 120
1
1.5
2
2.5
3
3.5
4
temps (s)
RMSE vitesse nord (m.s−1
)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100 120
1
1.5
2
2.5
3
3.5
4
4.5
temps (s)
RMSE vitesse est (m.s−1
)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100 120
0
0.5
1
1.5
2
2.5
temps (s)
RMSE vitesse down (m.s−1
)
MRPF
RBPF
RPF
BCR
Figure 4.18 – RMSE en vitesse ; noir : MRPF, vert : RBPF, bleu : RPF132 4. Développement de filtres particulaires adaptés aux multimodalités
Scénario 3
0 20 40 60 80 100
101
102
103
104
temps (s)
RMSE position nord (m)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100
101
102
103
104
temps (s)
RMSE position est (m)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100
100
101
102
103
temps (s)
RMSE position down (m)
MRPF
RBPF
RPF
BCR
Figure 4.19 – RMSE en position ; noir : MRPF, vert : RBPF, bleu : RPF133
0 20 40 60 80 100
1
1.5
2
2.5
3
3.5
4
4.5
5
temps (s)
RMSE vitesse nord (m.s−1
)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
temps (s)
RMSE vitesse est (m.s−1
)
MRPF
RBPF
RPF
BCR
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
temps (s)
RMSE vitesse down (m.s−1
)
MRPF
RBPF
RPF
BCR
Figure 4.20 – RMSE en vitesse ; noir : MRPF, vert : RBPF, bleu : RPF134 4. Développement de filtres particulaires adaptés aux multimodalités
MRPF RBPF RPF
scénario 1 94 93 73
scénario 2 93 97 60
scénario 3 90 94 50
Table 4.2 – Simulations A : Taux de non divergence (%)
Figure 4.21 – Conservation des modes du MRPF dans le scénario 3 : chaque mode est représenté
par un nuage de point de couleur différente
Analyse des résultats
B scénario 1 : L’analyse du RMSE fait apparaître une précision légèrement meilleure en
position du MRPF par rapport au RPF sur la partie centrale de la trajectoire, les erreurs
de vitesse étant comparables. De plus, on constate que le MRPF est plus robuste aux
divergences que RPF (21% de cas non divergents en plus pour le MRPF).
B scénario 2 : ce terrain cumule deux types de difficultés pour le filtre particulaire : la présence
d’ambiguïtés en début de recalage et l’apparition d’un dénivelé abrupt (canyon) sur la
première portion du terrain, qui en terme de filtrage, correspond à un pic d’information
élevé dont on a vu qu’il pouvait provoquer la divergence du filtre lorsque peu de particules
tombent dans la zone d’intérêt. Ici le gain en robustesse du MRPF par rapport au RPF
est bien plus marqué (33% de divergences en moins). L’erreur quadratique moyenne de
la position pour les réalisations convergentes est la plus faible dans le RBPF en début de
trajectoire ; sur la deuxième moitié de la trajectoire, le MRPF a un avantage en terme de
précision sur le RPF et son RMSE est comparable à celui du RBPF.
B Ce scénario est le plus ambigu des trois : le MRPF converge à une fréquence plus élevée135
que le RPF. On peut néanmoins constater une moindre précision du MRPF sur l’estimation
des composantes de précision sur la la première moitié de la trajectoire. Ceci correspond
au fait que l’algorithme maintient les modes plus longtemps que le RPF et le RBPF et que
l’ambiguité persiste jusqu’à 45 secondes environ après le début du vol (cf. figure 4.21).
Il se trouve que sur la portion de terrain considérée, les modes maintenus peuvent être
relativement éloignés ce qui explique que l’estimation du MRPF (la moyenne pondérée)
est moins précise sur la première moitié de la trajectoire.
Nous observons sur les figures 4.15, 4.17 et 4.19 que le RMSE est éloigné de la BCR dans les
phases multimodales, la BCR étant un critère de performance locale. En outre, le RMSE n’est
pas le critère de performance le plus pertinent dans les phases multimodales car il est calculé avec
l’état vrai et non avec l’espérance conditionnelle exacte qui est inconnue.
Enfin, le temps de calcul du MRPF est de 1.8 fois supérieur à celui du RPF et 1.4 fois supérieur
à celui du RBPF.
4.6.5 Simulations B : évaluation des performances du MRPF-MAP
Afin d’illustrer les performances du MRPF-MAP, nous avons considéré un cas où la dynamique
de l’aéronef est faiblement bruitée avec un radio-altimètre délivrant des mesures précises. Comme
nous l’avons évoqué dans la section 4.5.1, les méthodes particulaires où la prédiction se fait selon
le noyau de transition sont souvent peu efficaces, puisque beaucoup de particules sont propagées
dans des zones de faible vraisemblance.
Nous comparons ici le MRPF-MAP au MRPF en terme d’erreur quadratique moyenne et de robustesse
aux divergences. 2 versions du MRPF-MAP utilisant deux densités d’importance légèrement
différentes sont présentées-ci après :
− MRPF-MAP 1 : utilise une loi d’importance locale q˜ = N (ˆx
∗
j
, Pj ) (cf. 4.5.3.1) en cas
d’incohérence entre la densité prédite et la fonction de vraisemblance. xˆ
∗
j
et Pj désigne le
MAP local et la covariance prédite du cluster d’indice j
− MRPF-MAP 2 : utilise une loi d’importance locale q˜ = N (ˆx
∗
j
, Prot) en cas d’incohérence
entre la densité prédite et la fonction de vraisemblance où Prot est défini par (4.64).
Les performances du RPF standard étant peu satisfaisantes dans le cas qui nous intéressent, elles
ne sont pas exposées dans les résultats numériques.
Afin de caractériser les performances du MRPF-MAP, nous distinguons deux situations :
Cas faiblement multimodal Nous établissons les performances du MRPF-MAP lorsque le nombre
de modes de la densité a posteriori est petit (inférieur à 10). L’objectif est d’évaluer l’apport
de l’échantillonnage d’importance, lorsque le coût lié à la recherche des maxima locaux est
modeste.
Cette situation est simulée en considérant les paramètres suivants :
− écart-type du bruit de mesure du radio-altimètre σv = 1 m
− L’état initial x0 suit une distribution gaussienne centrée de covariance
P
INS
0 = diag((100m)
2
, (100m)
2
, (100m)
2
, (3m/s)
2
, (3m/s)
2
, (1m/s)
2
)136 4. Développement de filtres particulaires adaptés aux multimodalités
Cas fortement multimodal Cette situation est caractérisée par la présence d’un nombre important
de modes en début de recalage de sorte que l’échantillonnage d’importance basé
sur les maxima locaux occasionne un coût de calcul non-négligeable s’il est appliqué brutalement.
Afin de limiter ce surcoût algorithmique, l’échantillonnage d’importance de densité
q˜ n’est activé uniquement que lorsque le filtre présente moins de 30 modes. Ce cas est
simulé en prenant les paramètres suivants :
− écart-type du bruit de mesure du radio-altimètre σv = 5 m
− L’état initial x0 suit une distribution gaussienne centrée de covariance
P
INS
0 = diag((1000m)
2
, (1000m)
2
, (100m)
2
, (3m/s)
2
, (3m/s)
2
, (1m/s)
2
)
4.6.5.1 Conditions de simulations
Paramètres propres aux filtres
MRPF
B NMRP F = 4000 particules
B seuil de ré-échantilonnage : Nth =
NMRP F
2
MRPF-MAP
B NMRP F −MAP = 3000 particules
B seuil de déclenchement de l’échantillonnage selon la loi d’importance centrée sur le MAP :
Nth,MAP =
3
4Nth
B Algorithme d’optimisation : BFGS [10]
B Paramètres de l’algorithme mean-shift clustering :
• rayon de fusion Rm = 25 m
• nombre d’itérations maximum par procédure mean-shift : nitermax = 50
• seuil de convergence ε
MS = 1 m
B seuil de suppression de cluster αmin = 10−10137
4.6.5.2 Résultats numériques
Cas faiblement multimodal (scénario 2)
0 10 20 30 40 50
10−1
100
101
102
103
temps(s)
RMSE position nord (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 10 20 30 40 50
10−1
100
101
102
103
temps(s)
RMSE position est (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 10 20 30 40 50
10−1
100
101
102
temps(s)
RMSE position down (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
Figure 4.22 – RMSE en position138 4. Développement de filtres particulaires adaptés aux multimodalités
0 10 20 30 40 50
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
temps(s)
RMSE vitesse nord (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 10 20 30 40 50
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
temps(s)
RMSE vitesse est (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 10 20 30 40 50
0
0.5
1
1.5
2
2.5
temps(s)
RMSE vitesse down (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
Figure 4.23 – RMSE en vitesse139
Analyse des résultats
Les taux de non-divergence sont de 92% pour le MRPF-MAP 1 et le MRPF-MAP 2 et de 78%
pour le MRPF standard. Les courbes d’erreur quadratique moyenne de la figure 4.22 montrent
que la borne de Cramer-Rao a posteriori sur l’erreur de postition est atteinte plus rapidement
dans le cas de l’utilisation du MRPF. En revanche, le RMSE est plus élevé en début de recalage,
ce qui peut s’expliquer par le fait que le MRPF-MAP maintient plus longtemps des clusters dont
le recouvrement avec la fonction de vraisemblance est initialement faible mais augmente petit
à petit. Les choix différents de la covariance de la densité d’importance ne semblent pas avoir
d’incidence sur la robustesse ou la précision du MRPF-MAP.140 4. Développement de filtres particulaires adaptés aux multimodalités
Cas fortement multimodal
Scénario 1
0 20 40 60 80 100
100
101
102
103
temps(s)
RMSE position nord (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100
100
101
102
103
temps(s)
RMSE position est (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100
10−1
100
101
102
temps(s)
RMSE position down (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
Figure 4.24 – RMSE en position141
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
temps(s)
RMSE vitesse nord (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
temps(s)
RMSE vitesse est (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
temps(s)
RMSE vitesse down (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
Figure 4.25 – RMSE en vitesse142 4. Développement de filtres particulaires adaptés aux multimodalités
Scénario 2
0 20 40 60 80 100 120
100
101
102
103
104
temps(s)
RMSE position nord (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100 120
100
101
102
103
104
temps(s)
RMSE position est (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100 120
10−1
100
101
102
temps(s)
RMSE position down (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
Figure 4.26 – RMSE en position143
0 20 40 60 80 100 120
0.5
1
1.5
2
2.5
3
3.5
4
4.5
temps(s)
RMSE vitesse nord (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100 120
0.5
1
1.5
2
2.5
3
3.5
4
4.5
temps(s)
RMSE vitesse est (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100 120
0
0.5
1
1.5
2
2.5
temps(s)
RMSE vitesse down (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
Figure 4.27 – RMSE en vitesse144 4. Développement de filtres particulaires adaptés aux multimodalités
Scénario 3
0 20 40 60 80 100
100
101
102
103
temps(s)
RMSE position nord (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100
100
101
102
103
temps(s)
RMSE position est (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100
10−1
100
101
102
103
temps(s)
RMSE position down (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
Figure 4.28 – RMSE en position145
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
temps(s)
RMSE vitesse nord (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
temps(s)
RMSE vitesse est (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
temps(s)
RMSE vitesse down (m)
MRPF−MAP 1
MRPF−MAP 2
MRPF
BCR
Figure 4.29 – RMSE en vitesse146 4. Développement de filtres particulaires adaptés aux multimodalités
MRPF-MAP 1 MRPF-MAP 2 MRPF
scénario 1 78 78 72
scénario 2 80 82 73
scénario 3 78 76 73
Table 4.3 – Simulations B : Taux de non divergence (%)
Analyse des résultats
B scénario 1 : les deux versions du MRPF-MAP sont plus précises en termes de RMSE
comparativement au MRPF sur une bonne partie de la trajectoire. En revanche, il semble
que l’utilisation de la densité d’importance q˜2 ne permet pas de gagner en précision sur
l’estimation de la position et de la vitesse de l’aéronef par rapport à q˜1 (voir la figure 4.24).
Les deux versions du MRPF-MAP sont également plus robustes aux divergences (6% de
cas convergents supplémentaires) que le MRPF standard.
B scénario 2 : même constat ici ; les deux versions du MRPF-MAP permettent de gagner
jusqu’à 10 mètres de précision supplémentaire en position nord et est dans la phase monomodale,
et 3 mètres en erreur verticale (cf. figure 4.26). Le MRPF-MAP 1 et le MRPF-MAP
2 présentent ici des gains en taux de non-divergence de 7% et 9% respectivement relativement
au MRPF. L’utilisation de la densité d’importance q˜2 dans le MRPF-MAP permet
d’obtenir une modeste augmentation des cas convergents par rapport à q˜1.
B scénario 3 : Le MRPF apporte un gain modéré en terme de robustesse (5% de cas convergents
en plus pour le MRPF-MAP 1, 3% pour le MRPF-MAP 2).
4.6.6 Simulations C : évaluation des performances du MRBPF-MAP
Le MRBPF-MAP est l’extension du MRPF-MAP obtenu en considérant un filtre particulaire
Rao-Blackwellisé à la place du RPF standard. Dans l’algorithme MRBPF-MAP que nous avons
implémenté, la procédure de régularisation a été conservé afin d’assurer la robustesse au petit
bruit d’état. L’extension au RBPF est justifié expérimentalement par le fait que le filtre RaoBlackwellisé
élimine plus rapidement les modes non-pertinents de la densité a posteriori. Dans
ce cas, on peut espérer utiliser l’échantillonnage d’importance fondé sur les modes locaux dès
les premiers instants de filtrage, là où il faut attendre quelques itérations dans le cas du MRPFMAP.
Dans les simulations suivantes, l’échantillonnage selon la densité d’importance q˜ = ˜q2 n’est
enclenché que lorsque le filtre comporte moins de 20 modes afin de limiter le temps de calcul lié
à la recherche des modes. Les paramètres du modèles sont les suivants :
B écart-type du bruit de mesure du radio-altimètre : σv = 5 m
B l’état initial x0 suit une distribution gaussienne centrée de covariance
P
INS
0 = diag((1000m)
2
, (1000m)
2
, (100m)
2
, (3m/s)
2
, (3m/s)
2
, (1m/s)
2
)147
Paramètres propres aux filtres
RBPF
B NRBP F = 4000 particules
B seuil de ré-échantilonnage : Nth =
NRBP F
3
MRBPF et MRBPF-MAP
B NMRBP F = 4000 particules
B NMRBP F −MAP = 3000 particules
B seuil de déclenchement de l’échantillonnage selon la loi d’importance centrée sur le MAP :
Nth,MAP =
3
4Nth
B seuil de suppression de cluster αmin = 10−20148 4. Développement de filtres particulaires adaptés aux multimodalités
4.6.6.1 Résultats numériques
Scénario 1
0 20 40 60 80 100
100
101
102
103
temps (s)
RMSE position nord (m)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100
100
101
102
103
temps (s)
RMSE position est (m)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100
10−1
100
101
102
103
temps (s)
RMSE position down (m)
MRBPF−MAP
MRBPF
RBPF
BCR
Figure 4.30 – RMSE en position149
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
temps (s)
RMSE vitesse nord (m.s−1
)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
temps (s)
RMSE vitesse est (m.s−1
)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100
0
0.5
1
1.5
2
2.5
3
3.5
4
MRBPF−MAP
MRBPF
RBPF
BCR
Figure 4.31 – RMSE en vitesse150 4. Développement de filtres particulaires adaptés aux multimodalités
Scénario 2
0 20 40 60 80 100 120
100
101
102
103
temps (s)
RMSE position nord (m)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100 120
100
101
102
103
104
temps (s)
RMSE position est (m)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100 120
10−1
100
101
102
temps (s)
RMSE position down (m)
MRBPF−MAP
MRBPF
RBPF
BCR
Figure 4.32 – RMSE en position151
0 20 40 60 80 100 120
0.5
1
1.5
2
2.5
3
3.5
4
temps (s)
RMSE vitesse nord (m.s−1
)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100 120
0.5
1
1.5
2
2.5
3
3.5
4
4.5
temps (s)
RMSE vitesse est (m.s−1
)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100 120
0
1
2
3
4
5
6
7
8
9
temps (s)
RMSE vitesse down (m.s−1
)
MRBPF−MAP
MRBPF
RBPF
BCR
Figure 4.33 – RMSE en vitesse152 4. Développement de filtres particulaires adaptés aux multimodalités
Scénario 3
0 20 40 60 80 100
100
101
102
103
temps (s)
RMSE position nord (m)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100
100
101
102
103
104
temps (s)
RMSE position est (m)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100
10−1
100
101
102
103
temps (s)
RMSE position down (m)
MRBPF−MAP
MRBPF
RBPF
BCR
Figure 4.34 – RMSE en position153
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
temps (s)
RMSE vitesse nord (m.s−1
)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
temps (s)
RMSE vitesse est (m.s−1
)
MRBPF−MAP
MRBPF
RBPF
BCR
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
temps (s)
RMSE vitesse down (m.s−1
)
MRBPF−MAP
MRBPF
RBPF
BCR
Figure 4.35 – RMSE en vitesse154 4. Développement de filtres particulaires adaptés aux multimodalités
RBPF MRBPF MRBPF-MAP
scénario 1 71 74 86
scénario 2 83 79 93
scénario 3 71 73 84
Table 4.4 – Simulations C : Taux de non divergence (%)
Analyse des résultats
B scénario 1 : de la 30ème à la 60ème seconde de la trajectoire, le RMSE des composantes
de position du MRBPF-MAP est significativement inférieur à celui du RBPF et du MRBPF
comme le montre la figure 4.30. Le gain en précision sur les composantes de vitesse est peu
significatif excepté pour la composante de vitesse verticale. Enfin, le gain du MRBPF-MAP
en terme de taux non-divergence est de 12% comparé au MRBPF et de 15% par rapport
au RBPF standard.
B scénario 2 : Ici, on remarque également que le RMSE en position du MRBPF-MAP est
inférieur à celui du RBPF et du MRBPF à partir de la 20ème seconde (fig. 4.32). L’analyse
de la figure 4.33 révèle que les composantes de vitesses ne sont pas estimées avec plus de
précision par le MRBPF-MAP. Le taux de non-divergence du MRBPF-MAP est supérieur
de 14% par rapport au MRBPF et 10% par rapport au RBPF.
B scénario 3 : La figure 4.34 ne montre pas d’amélioration appréciable en précision pour le
MRBPF-MAP pour les composantes de position. Le RMSE du MRBPF-MAP est légèrement
plus élevé pour les composantes de vitesse horizontale (cf. fig. 4.35). En revanche le
MRBPF-MAP converge à 84% contre 73% pour le MRBPF et 71% pour le RBPF.
Pour le choix de paramètres précédent, le temps de calcul du MRBPF-MAP est environ 2.3 fois
celui du RBPF.155
Conclusion du Chapitre 4
Nous avons développé dans ce chapitre un nouvel algorithme, le MRPF, permettant de gérer
le caractère fortement multimodal de la loi a posteriori en début de recalage. Cet algorithme
est étendu au filtre Rao-Blackwellisé et donne lieu au MRBPF. L’un des apports du MRPF est
l’identification des modes de la loi empirique du filtre particulaire grâce à l’algorithme mean-shift.
La formulation du MRPF sous forme de mélange de densités permet la régularisation locale du
nuage de particules qui est plus robuste que l’implémentation classique de la régularisation qui
suppose implicitement une loi a posteriori monomodale. Enfin, nous avons introduit une procédure
d’échantillonnage d’importance fondée sur les modes locaux de la densité a posteriori.
Chaque mode local est calculé en approximant la densité prédite de chaque composante du mé-
lange par une densité gaussienne dont les moments sont calculés empiriquement. La matrice de
covariance de la densité d’importance est orientée suivant les axes principaux de la loi a posteriori,
ce qui permet de générer le nuage de particules dans les zones d’intérêt. Le déclenchement de
cette procédure d’échantillonnage d’importance est fait adaptativement en contrôlant la taille
effective de l’échantillon au niveau de chaque cluster. L’algorithme résultant, le MRPF-MAP, a
été comparé au MRPF dans un cas où les techniques d’échantillonnage classiques sont mises en
difficulté, par exemple lorsque la variance du bruit de mesure est petite. Des gains en robustesse
et en précision des filtres proposés ont été observés sur ces scénarios. L’extension du MRPF-MAP
au filtre Rao-Blackwellisé, notée MRBPF-MAP, a également été implémentée. Les simulations
ont montré que l’utilisation de la procédure d’échantillonnage d’importance précédente permet
d’obtenir des gains en terme de taux non-divergence encore plus significatifs que ceux obtenus
avec le MRPF-MAP.156 4. Développement de filtres particulaires adaptés aux multimodalités157
Chapitre 5
Test d’intégrité pour le filtrage
particulaire : application au recalage
radio-altimétrique
5.1 Introduction
Les algorithmes de filtrage particulaire permettent d’obtenir une estimation sur l’état d’un
système donné avec une confiance associée. Cette estimation peut servir d’entrée à une architecture
dont la fonction est potentiellement critique : il est donc nécessaire de contrôler tout au
long de la procédure d’estimation la fiabilité de l’estimée particulaire. L’objectif de ce chapitre est
de proposer un cadre de détection séquentielle de divergence du filtre particulaire. En première
approximation, nous définirons la divergence du filtre comme un état tel que l’erreur d’estimation
est grande devant le domaine de confiance représenté par le système de particules et tel que la
succession des étapes de prédiction, de correction et de ré-échantillonnage ne permet pas au filtre
de converger vers l’état vrai.
Nous ouvrons ce chapitre avec un aperçu rapide des méthodes statistiques pour la détection de
changement. Après avoir rappelé quelques résultats sur les détecteurs de divergence en filtrage de
Kalman, nous formulons un test d’hypothèse pour la détection de divergence adapté aux filtres
particulaires, que nous mettons en oeuvre grâce à l’algorithme CUSUM [98]. Nous illustrons ensuite
les performances du détecteur de divergence sur la problématique du recalage altimétrique
par filtrage particulaire et nous évaluons l’apport de la ré-initialisation du filtre en cas de détection
de divergence.
5.2 Outils statistiques pour la détection de changement
5.2.1 Test d’hypothèses
Dans les applications de détection de pannes ou de contrôle d’intégrité, on s’intéresse à une
suite de données suivant un modèle paramétrique dont les paramètres subissent des changements158
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
brusques à des instants inconnus [4] : ces changements indiquent typiquement un évènement
anormal (panne, . . . ). L’objectif est alors de déterminer au plus tôt si un changement a eu lieu
et éventuellement à quel instant il est survenu.
Formellement, c’est un problème de test d’hypothèse qui peut être séquentiel ou non. Soit
(uk)k≥1 une suite variables aléatoires de R
r
, caractéristiques du système que l’on souhaite contrô-
ler. On suppose que les uk sont indépendants et distribués selon une loi paramétrique de densité
pθ, θ ∈ Θ où Θ est un sous-ensemble de R. Soit Θ0 et Θ1 deux sous-ensembles disjoints de
l’espace des paramètres Θ. On souhaite décider entre les hypothèses H0 et H1 définis par
H0 : θ ∈ Θ0
H1 : θ ∈ Θ1
(5.1)
Deux cas peuvent se produire :
1. Θ0 = {θ0} et Θ1 = {θ1} avec θ0, θ1 ∈ R. C’est un cas de test d’hypothèses simple.
2. Au moins l’un des ensembles Θi
, i = 1, 2 contient plus d’un élément : c’est un test
d’hypothèses composites
Définition 1. Etant donné un n-échantillon u1, . . . , un, un test statistique entre deux hypothèses
H0 et H1 est une application D : R
r×n
7→ {0, 1} qui à (u1, . . . , un)
4
= U
n
1
associe
D(U
n
1
) =
0 si on accepte H0
1 si on accepte H1
D(U
n
1
) est une variable aléatoire appelée règle (ou fonction) de décision.
La qualité d’un test d’hypothèses est habituellement évaluée grâce aux erreurs de première
et deuxièmes espèces. L’erreur de première espèce α0(θ) est la probabilité de rejeter H0 sachant
que H0 est vrai tandis que l’erreur de deuxième espèce α1(θ) est la probabilité de rejeter H1 à
tort, i.e.
α0 = P(D(U
n
1
) 6= 0|H0)
α1 = P(D(U
n
1
) 6= 1|H1)
Enfin la puissance d’un test β est définie comme la probabilité d’accepter H1 lorsque θ ∈ Θ1,
càd β = 1 − α1.
Lorsque l’hypothèse est composite α0 dépend de la valeur inconnue du paramètre θ ∈ Θ0. On
définit alors le niveau α du test comme α = supθ∈Θ0
α0(θ).
5.2.2 Test séquentiel entre hypothèses simples
L’analyse séquentielle consiste à déterminer un test entre deux hypothèses H0 et H1, lorsque
les données (uk)k≥1 sont observées les unes après les autres [119, 4].159
Définition 2. Un test séquentiel entre H0 et H1 est un couple (D, T) où T est un temps d’arrêt
et D(U
T
1
) une règle de décision.
En général, les test séquentiels exigent une taille de données moindre pour des risques α0 et
α1 donnés par rapport aux tests non-séquentiels.
Définition 3. Etant donné deux hypothèses simples H0 : θ = θ0 et H1 : θ = θ1, on définit le
rapport de vraisemblance Sk = ln pθ1
(U
k
1
)
pθ0
(U
k
1
)
. (D, T) est un test séquentiel du rapport de probabilités
(ou SPRT pour Sequential Probability Ratio Test) entre H0 et H1 lorsque les données (uk)k≥1
sont observées séquentiellement et qu’à l’instant k :
− on accepte H0 lorsque Sk ≤ −a
− on accepte H1 lorsque Sk ≥ h
− on recueille les données et on teste tant que −a < Sk < h
où a et h sont des seuils finis.
La règle de décision correspondante est
D(U
T
1
) =
0 si ST ≤ −a
1 si ST ≥ h
(5.2)
où T = min {n ≥ 1 | {Sn ≤ −a} ou {Sk ≥ h}} est le temps d’arrêt.
5.2.3 Algorithme CUSUM pour la détection de changement en ligne
L’algorithme CUSUM (CUmulative SUM) de Page [98] est un cas particulier de SPRT pour le
test de changement de moyenne d’une distribution gaussienne univarié très utilisé en détection de
changement. Dans sa version originale, on suppose que la suite de v.a. (uk)k suit une distribution
gaussienne de densité pθ où θ est la moyenne et σ
2
la variance. De plus, on suppose qu’à un
instant t0 inconnu, le paramètre θ change de valeur,
θ = θ0 si t < t0
θ = θ1 si t ≥ t0
(5.3)
L’objectif étant de détecter la présence d’un changement de paramètre, le principe du CUSUM
est de tester de manière répétée entre H0 : θ = θ0 et H1 : θ = θ1 en utilisant le SPRT. L’idée
de Page est alors de réinitialiser le CUSUM tant que la décision est 0. Dès que la décision vaut
1, la procédure s’arrête et l’instant ta correspondant est le temps d’alarme. Le SPRT nécessite
de préciser deux seuils −a et h : Page a montré de manière intuitive que le seuil a optimal est
a = 0, ce qui fut démontré de manière plus rigoureuse par Shiryaev [111].
En notant Dk = D(U
k
1
) la règle de décision, celle-ci peut s’exprimer de manière récursive pour
une distribution de densité pθ quelconque, comme :
Dk =
Dk−1 + ln pθ1
(uk)
pθ0
(uk)
si Dk−1 + ln pθ1
(uk)
pθ0
(uk) > 0
0 sinon
(5.4)160
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
Le temps d’arrêt ta est alors défini par
ta = inf {k ≥ 1 | Dk ≥ h} (5.5)
Dans le cas où pθ est une densité gaussienne de moyenne θ, la fonction de décision se ré-écrit de
la manière suivante :
Dk =
"
Dk−1 +
θ1 − θ0
σ
2
uk −
θ1 + θ0
2
!#+
(5.6)
où pour x ∈ R, (x)
+ = max(0, x).
Supposons que le temps de changement t0 soit inconnu mais déterministe.
Définition 4 (Temps moyen entre deux fausses alarmes). Le temps moyen T¯ entre deux fausses
alarmes est défini par la quantité suivante :
T¯ = Eθ0
(ta) (5.7)
Définition 5 (Essentiel supremum). Soit (Yi)i∈I , une famille de v.a réelles sur (Ω, F, P), bornée
par une autre variable. On dit que Y est l’essentiel supremum et on écrit Y = ess supi∈I Yi si
− ∀i ∈ I, P(Yi ≤ Y ) = 1
− pour toute v.a. réelle Z, P(Yi ≤ Y ) = 1 ⇔ P(Y ≤ Z) = 1
Définition 6 (Délai moyen de détection conditionnel). Le délai moyen de détection conditionnel
est défini par
Et0
(ta − t0 + 1|ta ≥ t0, U
t0−1
1
) (5.8)
où Et0
est l’espérance mathématique découlant de P
1
t0
, la distribution des observations u1,. . . ,ut0−1,
ut0
,. . . , uta
, lorsque t0 = 1, 2 . . . .
Le délai moyen de détection conditionnel permet de donner un sens au pire retard moyen. Le
pire retard moyen correspond à une combinaison d’un temps de changement t0 et d’une trajectoire
d’observations qui maximisent le délai moyen de détection conditionnel.
Définition 7 (Pire retard moyen [78]). Le pire retard moyen τ
∗
est défini par
τ
∗ = sup
t0≥1
ess sup Et0
h
ta − t0 + 1|ta ≥ t0, U
t0−1
1
i
(5.9)
En détection de changement en-ligne, l’analogue de la puissance du test est la fonction ARL
(Average Run Length).
Définition 8 (Fonction ARL). On définit la fonction ARL comme
ARL(θ) = Eθ(ta) (5.10)
La fonction ARL est directement liée à deux indicateurs de performances de l’algorithme de
détection :161
− Lorsque θ = θ0, ARL(θ0) = Eθ0
(ta) et la fonction ARL indique le temps moyen entre
deux fausses alarmes. Idéalement, cette quantité doit être la plus grande possible.
− Lorsque θ = θ1, ARL(θ1) = Eθ1
(ta) et la fonction ARL indique le délai moyen de détection,
que l’on souhaite le plus petit possible.
L’algorithme CUSUM est asymptotiquement optimal au sens où il minimise le pire retard
moyen τ
∗
lorsque le temps moyen entre deux fausses alarmes tend vers l’infini [78]. Un résultat
non asymptotique de Moustakides [87] montre que le CUSUM minimise le pire retard moyen
parmi les algorithmes dont le temps moyen T¯ entre deux fausses alarmes vérifie T >¯ T¯
0 où T¯
0
est petit dans la plupart des cas.
5.3 Un aperçu sur les tests d’intégrité pour les filtres de
Kalman
Rappelons que le filtre de Kalman est le filtre optimal pour le modèle linéaire gaussien défini
par :
xk = Fkxk−1 + wk
yk = Hkxk + vk
(5.11)
où wk et vk sont des v.a. décrivant les bruits de dynamique et de mesure, wk et vk sont des bruits
blanc centrés de matrices de covariance respectives Qk et Rk, indépendante de la condition initiale
x0. Enfin, Fk, Bk, Hk et Dk sont des matrices déterministes et connues. Le filtre de Kalman
consiste à calculer récursivement le couple moyenne/covariance prédite (ˆxk|k−1, Pk|k−1) ainsi que
la moyenne et covariance corrigée (ˆxk, Pk), pour k ≥ 1 (voir le chapitre 1, section 1.3.1.1).
5.3.1 Définition et causes de divergences pour le filtre de Kalman et
ses variantes
Dans la littérature sur le filtre de Kalman, la divergence du filtre correspond au fait que la
matrice de covariance de l’erreur d’estimation calculée par le filtre devient trop petite par rapport
à la vraie matrice de covariance [40, 8]. Pour un modèle effectivement linéaire gaussien, le filtre
de Kalman est le filtre optimal. Pour autant, la divergence peut survenir à cause :
− d’une méconnaissance des paramètres du modèle (statistiques des bruits de dynamique et
de mesure erronées par exemple)
− d’erreurs numériques (inversion de matrices mal conditionnées, arrondis, troncature,. . . )
Les deux types d’erreurs peuvent faire que la matrice de covariance calculée par le filtre devient
exagérément petite de sorte que les mesures reçues par le filtre n’influencent que marginalement
l’estimation du filtre lors de l’étape de correction de Kalman.
Les études sur la divergence du filtre de Kalman distinguent la divergence apparente (apparent
divergence) et la vraie divergence (true divergence) [40]. La divergence apparente correspond
à un filtre dont la matrice de covariance estimée reste bornée mais dont l’erreur associée est
très grande. La vraie divergence correspond à une matrice de covariance calculée par le filtre qui162
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
augmente infiniment en norme [40].
Le filtre de Kalman étendu (EKF) et le filtre de Kalman sans parfum (UKF) sont des filtres qui
procèdent pour le premier, par une linéarisation des équations du modèle et pour le second, par
une approximation des moments a posteriori fondée sur une quadrature de Gauss. Dans le cas
où les non-linéarités du système sont importantes au voisinage des états prédits et corrigés, les
termes d’ordre 2 et plus ne sont pas toujours négligeables et l’EKF est susceptible de diverger.
L’approximation de la moyenne et de la covariance a posteriori fournie par l’UKF est correcte
à l’ordre 3 [63], mais cela ne garantit aucunement la stabilité du filtre lorsque la fonction est
fortement non-linéaire.
5.3.2 Tests de détection de divergence en filtrage de Kalman
Les tests de détection de divergence utilisés pour les filtres de Kalman reposent essentiellement
sur les propriétés statistiques du processus d’innovation (k)k≥1 défini comme la différence entre
la mesure reçue à l’instant k et la mesure prédite par le filtre yˆk|k−1 :
k = yk − yˆk|k−1 (5.12)
ce qui peut être ré-écrit sous la forme
k = yk − Hkxˆk|k−1 (5.13)
L’innovation quantifie l’information apportée par l’observation yk sur l’estimation de xˆk. En théorie,
k est un bruit blanc gaussien de matrice de covariance Σk = HkPk|k−1HT
k +Rk. Ceci permet
de définir des tests d’hypothèses basés sur la distribution de k.
L’un des tests les plus couramment utilisés est basé sur le fait que la v.a. rk =
T
k Σ
−1
k
k suit une
distribution du khi-deux à m degrés de libertés [8] où m est taille du vecteur des observations :
une divergence peut être déclarée lorsque rk dépasse un seuil qα correspondant au quantile d’ordre
α = 0.95, 0.99, . . . de la loi du khi-deux à m degrés de libertés.
Des tests d’hypothèse vérifiant le caractère "blanc" de l’innovation ont également été proposés
[84] : en effet, k est théoriquement un bruit blanc gaussien. Ces tests de blancheur sont
basés sur la fonction d’autocorrélation empirique de k.
D’un point de vue pratique, les test de divergence précédents ont été largement appliqués, notamment
en hybridation GPS/INS par filtrage de Kalman [82, 2, 86, 61].
Un critère similaire relatif à l’EKF a été proposé par [109]. Dans ce critère la mesure prédite yˆk|k−1
est essentiellement approchée par hk(ˆxk|k−1) où hk est la fonction d’observation non-linéaire. [109]
définit alors le processus normalisé ηk comme
ηk =
yk − hk(ˆxk|k−1
T
S
−1
k
yk − hk(ˆxk|k−1
, (5.14)
où Sk est la matrice approchée de l’innovation obtenue par linéarisation autour de l’état prédit.
Sk = ∇T hk(ˆxk|k−1)Pk|k−1∇hk(ˆxk|k−1) + Rk (5.15)
La divergence peut alors être détectée de la même manière que pour un filtre de Kalman standard
en comparant ηk à un seuil.163
5.4 Détection de divergence en filtrage particulaire
Etat de l’art
Contrairement au filtre de Kalman, la problématique de détection de divergence en filtrage
particulaire n’a pas fait l’objet de beaucoup d’études publiées. Une recherche bibliographique
fait apparaitre les travaux de Giremus [49] et Turgut [116]. Les premiers portent sur le filtrage
particulaire dans le cadre d’hybridation serrée GPS/INS et les seconds sur la localisation indoor
à partir de signaux radio.
Dans [49], l’auteur propose en réalité un critère de dégénérescence du filtre basé sur la somme
des poids non-normalisés qui permet d’enclencher une procédure de régularisation. Ce n’est donc
pas à strictement parler un critère permettant de détecter la divergence du filtre au sens d’une
incohérence irrémédiable entre le nuage de particules et l’état vrai. Il est avancé que la taille
effective de l’échantillon Nef f est un indicateur peu fiable de la dégénérescence du nuage de
particule lorsque toutes les particules ont un poids non normalisé proche d’une valeur commune
très faible. Ceci arrive par exemple lorsque le bruit de dynamique est petit, de sorte que les
particules occupent une région étroite de l’espace. Ainsi, les vraisemblances sont comparables et
par ricochet les poids normalisés aussi. Nef f peut alors être proche du nombre total de particules
N, indiquant (à tort) que l’ensemble des particules n’est pas dégénéré. Etant donné l’ensemble
des poids non normalisés {ω˜
i
k}
N
i=1, la statistique de test proposée dans [49] est la somme des
poids non normalisés Lk :
Lk =
X
N
k=1
ω˜
i
k
(5.16)
Lk représente en fait une approximation de la vraisemblance prédite p(yk|y0:k−1) (voir l’équation
(2.72), section 2.6.2). Sur la base de simulations, Giremus montre que le processus Lk oscille
autour d’une moyenne < Lk > en cas de fonctionnement normal et est soumis à une brusque
décroissance lorsque le filtre devient dégénéré. Ce changement de moyenne est détecté au moyen
de l’algorithme CUSUM présenté précédemment. La particularité de ce test est qu’il nécessite
d’estimer la moyenne en fonctionnement normal (hypothèse H0) en ligne : ceci au fait en prenant
la moyenne de Lk sur une fenêtre glissante. A ce stade, nous notons que cette méthode a été
utilisée dans [49] comme critère de ré-échantillonnage et régularisation et non pas de divergence
au sens où le nuage de particules s’est éloigné irrémédiablement de l’état vrai. Par ailleurs, la statistique
proposée n’est pas normalisée ce qui peut rendre son application dans un autre contexte
difficile, notamment pour ce qui est du réglage des seuils intervenant dans le test.
Dans [116], la méthode de détection proposée repose sur une évaluation de la divergence
de Kullback-Leibler (2.21) DKL(p, pˆ) entre la distribution empirique pˆ donnée par le système
de particules pondérées et la loi conditionnelle inconnue de densité p. Le cadre d’application
étant celui de la localisation indoor d’une cible, l’état à estimer est de dimension deux (position
horizontale). Pour évaluer DKL(p, pˆ), les auteurs cherchent une approximation de p, indépendante
du filtre. La loi conditionnelle inconnue est exprimée selon la loi de Bayes, comme le produit de la
loi a priori et de la fonction de vraisemblance. La loi a priori est représentée par une loi uniforme
sur la surface admissible (par exemple, les corridors du bâtiment), tandis que la fonction de164
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
vraisemblance est représentée par une somme pondérée de fonctions constantes sur un domaine
rectangulaire. Finalement, la constante de normalisation peut être calculée étant donné que le
produit de la loi a priori et de la vraisemblance est « constant par morceaux », les morceaux
étant des rectangles du plan. La densité a posteriori p est donc représentée par un histogramme
bi-dimensionnel, dans lequel les rectangles sont de taille variable. Afin d’obtenir la divergence
de Kullback-Leibler DKL(p, pˆ), les auteurs utilisent une technique analogue à l’intégration de
Riemann en deux dimensions. La divergence est détectée lorsque DKL(p, pˆ) dépasse un seuil.
L’objectif final est de réinitialiser le filtre une fois que la divergence est détectée. Les auteurs
reportent des gains en erreur lorsque le détecteur de divergence est couplée au filtre particulaire,
mais affirment que le seuil sur DKL(p, pˆ) doit être réglé précautionneusement de manière à ne
ré-initialiser le filtre que lorsque le filtre ne peut plus se recaler lui même. De plus cette méthode
n’est applicable que pour un vecteur d’état de dimension inférieure ou égale à 2, étant donné la
nature de l’approximation de la divergence de Kullback-Leibler, ce qui restreint son utilisation au
recalage altimétrique au cas où l’altitude est supposée connue.
5.5 Formulation d’un test d’hypothèse pour la détection
de divergence d’un filtre particulaire
Dans cette section, nous définissons un nouveau test d’hypothèse pour la détection de la
divergence d’un filtre particulaire quelconque. Comme d’habitude nous considérons le système
non-linéaire suivant :
xk = f(xk−1) + wk
yk = h(xk) + vk
(5.17)
avec les hypothèses habituelles présentées au chapitre 2, section 2.2, auxquelles nous rajoutons
les hypothèses suivantes :
− la densité p(xk|xk−1) du noyau de transition est continue par rapport à xk et xk−1
− la fonction d’observation h est continue et bornée sur R
d
.
Ces hypothèses ne sont pas très restrictives et sont vérifiées dans l’application qui nous inté-
resse, puisque la densité du noyau de transition est gaussienne et la fonction h correspond à la
hauteur-sol qui est bien sûr bornée. Dans la suite de cette section, sauf mention contraire, nous
supposerons par souci de simplicité que les observations (yk)k≥0 sont scalaires et que (vk)k est
une suite de v.a. gaussiennes indépendantes de variance σ
2
v
.
Enfin, l’hypothèse nulle H0 sera celle du fonctionnement normal du filtre, tandis que l’hypothèse
alternative de divergence du filtre sera notée H1.
En s’inspirant des résultats énoncés précédemment sur le filtre de Kalman, nous allons définir
un test statistique basé sur la suite des innovations. L’innovation du filtre particulaire est ici
définie comme
N
k = yk − yˆ
N
k|k−1
(5.18)165
où yˆ
N
k|k−1 =
X
N
i=1
ω
i
k−1h(x
i
k
) est la mesure prédite par le filtre.
Déterminer la loi de l’innovation pour une fonction d’observation h quelconque semble dif-
ficile dans le cas général. Afin de définir le test, nous proposons de calculer la moyenne et la
variance de l’innovation
N
k
sous l’hypothèse de fonctionnement nominal H0 du filtre particulaire
et conditionnellement aux mesures passées y0, . . . , yk−1, en approchant ces deux quantités par
leur limite lorsque le nombre de particules est infiniment grand.
5.5.1 Approximation de la moyenne de l’innovation particulaire sous
l’hypothèse de fonctionnement normal du filtre
L’objectif de cette section est de déterminer une valeur approchée de la moyenne conditionnelle
de l’innovation particulaire sous l’hypothèse de non-divergence H0, que l’on notera
EH0
N
k
|y0:k−1
.
Décomposons l’innovation
N
k
comme :
N
k = yk − yˆ
N
k|k−1
= yk − yˆk|k−1 + ˆyk|k−1 − yˆ
N
k|k−1
= k + ˆyk|k−1 − yˆ
N
k|k−1
(5.19)
où yˆk|k−1 = E (yk|y0:k−1) = Z
h(xk)p(xk|y0:k−1) dxk est l’observation prédite par le filtre optimal
et k = yk − yˆk|k−1 est l’innovation correspondante. On a,
E (k|y0:k−1) = 0 (5.20)
Soit ζ
N
k
la différence entre la mesure prédite par le filtre optimal et celle prédite par le filtre
particulaire.
ζ
N
k = ˆyk|k−1 − yˆ
N
k|k−1
(5.21)
On a :
yˆk|k−1 =
Z
h(xk)p(xk|y0:k−1) dxk
=
ZZ h(xk)p(xk|xk−1)p(xk−1|y0:k−1) dxkdxk−1
=
Z
ψk−1 (xk−1) p(xk−1|y0:k−1) dxk−1 (5.22)
où la fonction ψk−1 est définie par ψk−1 (x) = Z
h(xk)p(xk|xk−1 = x) dxk
ζ
N
k
se ré-écrit donc sous la forme
ζ
N
k =
Z
h(xk) [p(xk|y0:k−1) − pˆ(xk|y0:k−1)] dxk (5.23)
=
Z
ψk−1 (xk−1) [p(xk−1|y0:k−1) − pˆ(xk−1|y0:k−1)] dxk−1 (5.24)
= hψk−1, pk−1 − pˆk−1i (5.25)166
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
où pˆk−1 =
PN
i=1 ωk−1δx
i
k−1
est l’approximation particulaire de pk−1 = p(xk−1|y0:k−1).
ψk−1 est continue d’après le théorème de continuité sous le signe somme étant donné que par
hypothèse, l’intégrande xk−1 7→ h(xk)p(xk|xk−1) est continue. ψk−1 est également bornée car
ψk−1 (x) = Z
h(xk)p(xk|xk−1 = x) dxk
≤ khk∞
Z
p(xk|xk−1 = x) dxk = khk∞
D’après le théorème 1 de convergence faible,
ζ
N
k = hψk−1, pk−1 − pˆk−1i −−−−−→ N→+∞
0 p.s. (5.26)
Finalement, comme
N
k = k + ζ
N
k
, il vient
E
N
k
|y0:k
= E(k|y0:k−1) + E(ζ
N
k
|y0:k−1)
= 0 + ζ
N
k
−−−−−→ N→+∞
0 p.s.
où l’égalité E(ζ
N
k
|y0:k−1) = ζ
N
k
vient du fait que ζ
N
k
est la différence de deux espérances conditionnellement
à y0:k−1.
En résumé, comme nous sommes sous l’hypothèse de fonctionnement normal du filtre, nous
proposons d’approcher la moyenne conditionnelle de l’innovation du filtre par sa limite lorsque le
nombre de particules est infiniment grand, c’est-à-dire,
EH0
N
k
|y0:k−1
≈ 0 (5.27)
5.5.2 Approximation de la variance de l’innovation particulaire sous
l’hypothèse de fonctionnement normal du filtre
Le calcul de la variance de
N
k
, conditionnellement à y0:k−1, se fait en reprenant la décomposition
de l’innovation sous la forme
N
k = k + ζ
N
k
. On a donc
σ
2
(k) = Var
N
k
|y0:k−1
(5.28)
= Var
k + ζ
N
k
|y0:k−1
= Var (k|y0:k−1) + Var
ζ
N
k
|y0:k−1
(5.29)
Puisque k ne dépend que de yk et ζ
N
k ne dépend que des particules prédites, k et ζ
N
k
sont
indépendantes conditionnellement à y0:k−1. En effet, vk est supposée indépendante de xk et de
y0:k−1.
Cherchons à présent une approximation pour Var
ζ
N
k
|y0:k−1
. D’après (5.25), on a
ζ
N
k =
Z
ψk−1 (xk−1) p(xk−1|y0:k−1) dxk−1 −
X
N
i=1
ω
i
k−1ψk−1
x
i
k−1
(5.30)
Le théorème suivant [31] est utile pour calculer la variance de ζ
N
k
.167
Théorème 5 (Théorème central limite (TCL) pour l’algorithme SIS)). Soit {x
i
k
, ωi
k
i = 1, . . . , N}k
la suite de particules et poids obtenus avec l’algorithme SIS. Alors pour toute fonction continue
bornée φ, la variable
√
N
Z
φ (xk) p(xk|y0:k) dxk −
X
N
i=1
ω
i
kφ
x
i
k
!
converge en loi vers une loi gaussienne N (0, vk (φ)) lorsque N → ∞ La variance asymptotique
Vk (φ) s’exprime comme
Vk (φ) =
Z
φ (xk) − φ¯
k
2
g
2
0:k
(x0:k)p(x0:k) dx0:k
Z
g0:k(x0:k)p(x0:k) dxk
2
(5.31)
où g0:k(x0:k) = Qk
p=0 gp(xp), gk étant la fonction de vraisemblance à l’instant k, et φ¯
k = Z
φ (xk) p(xk|y0:k) dxk.
Sous l’hypothèse H0, pour N suffisamment grand, Var
ζ
N
k
peut être approchée en considérant
φ = ψk−1 dans le TCL :
VarH0
ζ
N
k
|y0:k−1
≈
Vk−1(ψk−1)
N
(5.32)
Le calcul du terme Vk−1(ψk−1) peut s’effectuer au moyen du système de particules comme
dans [90]. En raison du ré-échantillonnage, Vk−1(ψk−1) ne peut pas être obtenu directement par
l’application du TCL. Cependant, le SIR peut être vu comme un SIS entre 2 instants successifs
de ré-échantillonnage. Par conséquent, Vk−1(ψk−1) peut être calculé via l’équation (5.31) en
accumulant les observations entre 2 instants de ré-échantillonnage.
Ainsi avant la première étape de ré-échantillonnage,
Vk−1(ψk−1) ≈
N
X
N
i=1
(ψk−1(x
i
k−1
) − ψ¯
k−1)
2
g
2
0:k−1
(x
i
0:k−1
)
X
N
i=1
g0:k−1(x
i
0:k−1
)
!2
avec ψk−1(x
i
k−1
) = Z
h(xk)p(xk|x
i
k−1
) dxk et ψ¯
k−1 =
Z
ψk−1 (xk−1) p(xk−1|y0:k−1) dxk−1. On a
ψ¯
k−1 ≈
X
N
i=1
ω
i
k−1ψk−1
x
i
k−1
.
Posons hˆ
k|k−1 =
X
N
i=1
ω
i
k−1h(x
i
k
). D’après (5.22), PN
i=1 ω
i
k−1ψk−1
x
i
k−1
= hˆ
k|k−1. La variance168
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
asymptotique Vk−1(ψk−1) s’exprime donc comme suit :
Vk−1(ψk−1) ≈
N
X
N
i=1
(h(x
i
k
) − hˆ
k|k−1)
2
g
2
0:k−1
(x
i
0:k−1
)
X
N
i=1
g0:k−1(x
i
0:k−1
)
!2
(5.33)
Notons k0 le dernier instant de ré-échantillonnage avant l’instant k. Alors Vk−1(ψk−1) s’écrit :
Vk−1(ψk−1) ≈
N
X
N
i=1
(h(x
i
k
) − hˆ
k|k−1)
2
g
2
k0:k−1
(x
i
k0:k−1
)
X
N
i=1
gk0:k−1(x
i
k0:k−1
)
!2
(5.34)
On a donc
σ
2
(k) ≈ Var (k|y0:k−1) + Vk−1(ψk−1)
N
(5.35)
Dans la variance conditionnelle de l’innovation k intervient également le terme Var (h(xk)|y0:k−1).
Etant donné la nature du modèle (5.17),
Var (k|y0:k−1) = Var (vk + h(xk) − E (h(xk)|y0:k−1)|y0:k−1)
= σ
2
v + Var (h(xk) − E (h(xk)|y0:k−1)|y0:k−1)
= σ
2
v + Var (h(xk)|y0:k−1)
Sous l’hypothèse H0 de fonctionnement nominal, le système poids-particules permet d’approcher
la quantité Var (h(xk)|y0:k−1).
Var (h(xk)|y0:k−1) ≈
X
N
i=1
w
i
k−1
h(x
i
k
) − hˆ
k|k−1
2
En effet,
Var (h(xk)|y0:k−1) −
X
N
i=1
w
i
k−1
h(x
i
k
) − hˆ
k|k−1
2
= hh
2
, pk|k−1i − hh, pk|k−1i
2 + hh
2
, pˆk|k−1i − hh, pˆk|k−1i
2
= hh
2
, pk|k−1 − pˆk|k−1i +
h
hh, pk|k−1i − hh, pˆk|k−1i
i hhh, pk|k−1i + hh, pˆk|k−1i
i
= hh
2
, pk|k−1 − pˆk|k−1i + hh, pk|k−1 − pˆk|k−1ihh, pk|k−1 + ˆpk|k−1i
h étant continue bornée, les quantités hh
2
, pk|k−1 − pˆk|k−1i et hh, pk|k−1 − pˆk|k−1i convergent
presque sûrement vers 0 lorsque N tend vers +∞ en vertu de 1, et donc PN
i=1 w
i
k−1
h(x
i
k
) − hˆ
k|k−1
2169
tend p.s. vers Var (h(xk)|y0:k−1).
Finalement, de même que pour la moyenne conditionnelle, nous proposons d’approcher la variance
conditionnelle de l’innovation du filtre particulaire sous H0 par une approximation obtenue
lorsque le nombre de particule tend vers +∞ :
VarH0
N
k
|y0:k−1
4
= σ
2
(k) ≈ σ
2
v +
X
N
i=1
w
i
k−1
h(x
i
k
) − hˆ
k|k−1
2
+
Vk−1(ψk−1)
N
(5.36)
5.5.3 Cas d’un vecteur de mesure multidimensionnel
Les calculs précédents se généralisent au cas où y est de dimension m ≥ 2
EH0
N
k
|y0:k−1
= 0 (5.37)
CovH0
N
k
|y0:k−1
4
= Σ,k ≈ Rk +
X
N
i=1
w
i
k−1
h(x
i
k
) − hˆ
k|k−1
h(x
i
k
) − hˆ
k|k−1
T
(5.38)
+
Vk−1(ψk−1)
N
(5.39)
Une application de la détection de divergence dans le cas où la mesure est multidimensionnelle
est donné en annexe D.1.
5.5.4 Définition du test d’hypothèse
Sur la base des résultats précédents, on peut définir l’hypothèse nulle comme
EH0
N
k
|y0:k−1
= 0
VarH0
N
k
|y0:k−1
= σ
2
(k)
(5.40)
La première étape est de considérer le processus d’innovation normalisé défini par :
rk =
N
k
σ(k)
(5.41)
qui, conditionnellement à y0:k−1, est de moyenne nulle et de variance unité sous l’hypothèse H0.
Posons θ = E (rk|y0:k−1). Le test proposé consiste à tester H0 : θ = 0 contre H1 : θ 6= 0.
Etant donné que nous n’avons pas accès à toute la distribution du résidu rk mais seulement à une
approximation des deux premiers moments, le test du rapport de vraisemblance généralisé [4, p.
121] est exclu. Nous proposons plutôt de définir l’hypothèse alternative comme un changement
minimum dans la moyenne du résidu rk, i.e.,
EH1
rk|Yk−1
≥ ν
VarH1
rk|Yk−1
= 1
(5.42)170
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
0 10 20 30 40 50
−5
−4
−3
−2
−1
0
1
2
3
4
5
(a) Cas convergent
0 10 20 30 40 50 60
−5
−4
−3
−2
−1
0
1
2
3
4
5
(b) Cas divergent
Figure 5.1 – Comportement de l’innovation normalisée d’un filtre particulaire
En toute rigueur, la variance VarH1
rk|Yk−1
est inconnue et dépend du type de dysfonctionnement
de l’algorithme particulaire, mais on supposera qu’elle reste unitaire après divergence. Cette
formulation nous permet entre autre d’utiliser le test CUSUM introduit précédemment.
5.6 Mise en oeuvre d’un test séquentiel pour la détection
de divergence
5.6.1 Détection en ligne du changement de moyenne du processus
d’innovation normalisé
Etant donné la formulation précédente du test d’hypothèse, nous devons détecter au plus tôt
l’instant de changement t0 qui vérifie
E (rk|y0:k−1) = 0 si k < t0
|E (rk|y0:k−1)| ≥ ν si k ≥ t0
(5.43)
où rk est le du processus d’innovation normalisé.
Ce problème est analogue à la détection séquentielle d’une déviation de la moyenne dans une
suite de variables aléatoires gaussiennes i.i.d u1, u2, . . . , uk vérifiant :
Var(uk) = σ
2 ∀k
m
4
= E(uk) = 0 for k ≤ t0
|m| = ν for k ≥ t0
(5.44)171
Afin de détecter une éventuelle divergence du filtre, nous utilisons un test CUSUM bilatéral
(two-sided CUSUM) [4] pour détecter à la fois les augmentations et les diminutions de la moyenne
de rk d’amplitude supérieure ou égale à ν. Pour la séquence u1, u2, . . . , uk, le temps d’arrêt du
CUSUM bilatéral est défini par :
t
T S
a = inf n
k ≥ 1 : (D
+
k ≥ h)ou (D
−
k ≥ h)
o
(5.45)
où D
+
k
est la fonction de décision correspondant au test d’une augmentation de la moyenne, D
−
k
est la fonction de décision correspondant au test d’une diminution de la moyenne et h est un
seuil de détection.
D
+
k =
D
+
k−1 +
ν
σ
2
uk −
ν
2
+
(5.46)
D
−
k =
D
−
k−1 +
ν
σ
2
−uk −
ν
2
+
(5.47)
avec D
+
0 = D
−
0 = 0.
D’après [78], le CUSUM est optimal pour le critère du pire délai moyen τ
∗
. Le choix des
paramètres h et ν influence fortement τ
∗
et le temps moyen entre deux fausses alarmes T¯. Nous
avons rappelé (5.2.3) que le pire délai moyen de détection τ
∗
et le temps moyen entre deux fausses
alarmes T¯ pouvaient tous les deux s’exprimer au moyen de la fonction m 7→ ARL(m) = Em(ta) :
T¯ = ARL(0) (5.48)
τ
∗ = ARL(ν) (5.49)
Pour un test CUSUM bilatéral symétrique, la fonction ARL, notée ARLT S, peut s’exprimer
grâce aux fonctions ARL des tests CUSUM unilatéraux dont les fonctions de décisions sont D
+
k
et D
−
k
.
1
ARLT S(θ)
=
1
ARL−(θ)
+
1
ARL+(θ)
, (5.50)
où ARL+(θ) (resp. ARL−(θ)) est la fonction ARL du test CUSUM de fonction de décision D
+
k
(resp. D
−
k
) défini par (5.46) (resp. (5.47)).
La fonction ARL d’un test CUSUM unilatéral vérifie [4] :
ARL(θ) = Nθ(0)
1 − Pθ(0), (5.51)
où θ est le paramètre définissant la densité de probabilité du logarithme du rapport de vraisemblance
zk correspondant à une observation. Les uk étant supposés gaussiens,
zk =
ν
σ
2
uk −
ν
2
172
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
Les fonctions z 7→ Nθ(z) et z 7→ Pθ(z) sont définies par les intégrales de Fredholm de deuxième
espèce [4] :
Pθ(z) = Z −z
−∞
fθ(x)dx +
Z h
0
Pθ(x)fθ(x − z)dx (5.52)
Nθ(z) = 1 + Z h
0
Nθ(x)fθ(x − z)dx (5.53)
avec 0 ≤ z ≤ h, et où la fonction fθ est appelée noyau de l’équation intégrale. Dans le cadre de
la détection de changement fθ correspond à la densité de probabilité du logarithme du rapport de
vraisemblance zk. Etant donné que zk est gaussien, fθ sera une densité gaussienne de paramètre
θ = (E(zk), Var(zk))T
E(zk) = ν
σ
2
(m −
ν
2
)
Var(zk) = ν
2
σ
2
.
La méthode couramment utilisée pour résoudre numériquement (5.52) et (5.53) consiste à remplacer
les équations intégrales par un système d’équations algébriques en approchant les intégrales
par quadrature de Gauss.
En guise d’illustration, nous avons étudié l’influence du seuil h sur τ
∗
et T¯ pour le test défini
par (5.45). Les valeurs considérées ici sont σ
2 = 1 et ν = 3. Pour un seuil h fixé, nous notons
m 7→ ARL(m; h) la fonction ARL correspondante. Les valeurs ARL(−3 + i
2
; h) ont été calculées
pour i = 0, 1, . . . , 6. Les résultats sont illustrés sur la figure 5.2. Comme on peut s’y attendre,
le temps moyen entre deux fausses alarmes T¯
h = ARL(0; h) dépend fortement du seuil h ; il
est d’autant plus important que h est grand. Le délai moyen de détection h 7→ ARL(m; h) for
|m| ≥ ν croit également avec h mais à une vitesse plus lente. Nous confirmerons ce dernier point
lors des simulations expérimentales.
5.6.2 Choix des paramètres
Jusqu’ici, nous avons supposé que les paramètres ν (saut de moyenne de l’innovation normalisée
rk) et σ
2
(variance de rk) étaient entièrement connus. Nous avons vu que σ
2 ≈ 1 sous
l’hypothèse H0 de non-divergence. La véritable variance après divergence étant inconnue, nous
l’avons supposée égale à 1 sous H1. De même, le saut ν n’est pas connu a priori mais dépend du
problème de détection auquel on est confronté. On peut par exemple choisir ν = 3σ en partant
du fait que si rk était gaussien et centré P(|rk| < 3σ) = 0.997 : l’objectif est alors de détecter
un changement de moyenne situé en dehors de l’intervalle de confiance à 99.7% [−3σ, 3σ]. Une
fois le paramètre ν, le seuil h peut être choisi grâce à la fonction ARL : on choisit le seuil h tel
que le temps moyen entre deux fausses alarmes T¯min = ARL(0; h) vérifie ARL(0; h) ≥ T¯min où
T¯min est défini par l’utilisateur.
Sensibilité du CUSUM à une erreur sur les paramètres
Un aspect important en détection de changement est la sensibilité de l’algorithme de détection173
-5 -4 -3 -2 -1 0 1 2 3 4 5
100
101
102
103
104
105
106
m
Two-sided CUSUM ARL(m)
h=3
h=7
h=12
Figure 5.2 – Famille de fonctions ARL m 7→ ARL(m; h) pour h = {3, 4, . . . , 12}.
à une erreur sur l’un des paramètres. En l’occurence, le test de divergence s’appuie sur les valeurs
nominales de la moyenne m = 0 et de la variance σ
2 = 1 du processus d’innovation normalisé
rk en l’absence de divergence. Ces valeurs ont été obtenues en remplaçant toutes les quantités
faisant intervenir le filtre optimal et incalculables directement, par leurs équivalents particulaires,
dont on suppose qu’ils fournissent de bonnes approximations dans l’hypothèse de fonctionnement
normal du filtre. Or, nous avons fait comme si les valeurs exactes étaient utilisées dans le test
de détection. A titre d’exemple, étudions l’influence d’une erreur sur σ en examinant la fonction
ARL. On défini le ratio R =
σ
2
t
σ2 entre la vraie valeur σ
2
t de la variance de r et sa valeur supposée.
Les fonctions ARL m 7→ ARL(m; R) sont calculées pour R = 0.5, 0.6, . . . , 1.5 et h = 6 (cf.
figure 5.3). On constate que le temps moyen avant une fausse alarme est très sensible à la valeur
de R. En revanche, le retard moyen de détection est peu sensible à R.
5.6.3 Evaluation des performances du détecteur de divergence dans le
cadre du recalage radio-altimétrique
L’objectif de cette section est d’évaluer la capacité de l’algorithme de détection présenté
précédemment à repérer au plus tôt la divergence d’un filtre de navigation. Notons que le surcoût
algorithmique de la module de détection est très modeste étant donné que le calcul le plus174
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
-5 -4 -3 -2 -1 0 1 2 3 4 5
100
102
104
106
108
1010
1012
Two-sided CUSUM ARL( )
R=1.5
R=0.5
R=1
m
m
Figure 5.3 – Fonctions m 7→ ARL(m) pour différents ratios R = {0.5, 0.6, . . . , 1.5}.175
complexe est celui de Var(h(xk)|y0:k−1) qui se fait avec le système poids-particules n
ω
i
k−1
, xi
k
oN
i=1
dont dispose le filtre à l’instant k.
Notre étude se base sur trois principaux indicateurs de performances :
− Le taux de fausses alarmes TFA : il est défini comme la fréquence à laquelle le test
CUSUM bilatéral déclenche une alarme à un instant t
T S
a < t0, où t0 est le vrai instant
d’une éventuelle divergence, avec la convention t0 = ∞ lorsque le filtre n’a pas divergé
sur toute la durée de la simulation.
− le taux de non-détection TND : il s’agit de la fréquence avec laquelle l’algorithme de
détection ne déclenche aucune alarme pendant toute la durée de la simulation alors que le
filtre a réellement divergé.
− le délai de détection moyen τ = Et0
(t
T S
a − t0 + 1 | t
T S
a ≥ t0)
Les trois indicateurs seront évalués sur les trois scénarios de navigation définis au chapitre
4, section 4.6.1. La démarche consiste tout d’abord à simuler un nombre NMC de trajectoires
réelles de durée finie n. Pour chaque trajectoire, on simule également la suite d’observations
correspondante selon l’équation de mesure du radio-altimètre. Enfin, un algorithme particulaire
doté du détecteur de divergence est enclenché pour chaque couple trajectoire/observation : ceci
donne lieu aux instants d’alarmes t
T S
a,i , i = 1, . . . , NMC et aux vrais instants de divergences t0,i,
i = 1, . . . , NMC.
On note NF A le nombre total de fausses alarmes et NND le nombre de divergences non
détectées. Les taux de fausses alarmes et de non-détection s’expriment alors simplement comme :
TFA = NF A
NMC
(5.54)
TND =NND
NT D
(5.55)
où NT D désigne le nombre total de divergences réelles.
Le délai de détection moyen est calculé selon :
τ =
PNMC
i=1 (t
T S
a,i − t0,i + 1)✶{t
T S
a,i ≥t0,i}
PNMC
i=1 ✶{t
T S
a,i ≥t0,i}
(5.56)
Afin de calculer ces quantités efficacement, le vrai instant de divergence t0 doit être identi-
fié automatiquement. Pour cela, nous avons utilisé le MRPF car il permet d’identifier aisément
l’instant de décrochage du filtre pour les raisons qui sont exposée ci-après.
On suppose qu’à l’instant k, la densité a posteriori empirique pˆk|k se décompose en Mk composantes
unimodales
pˆk|k =
X
Mk
j=1
αj,kpˆj (xk|y0:k) (5.57)
Rappelons que chaque composante pˆj (xk|y0:k) est représenté par un cluster de particules, pour
lequel nous pouvons calculer la moyenne conditionnelle intra-cluster xˆ
j
k ≈
R
xkpj (xk|y0:k)dxk et
la matrice de covariance empirique Σˆj
k ≈
R
(xk − xˆ
j
k
)(xk − xˆ
j
k
)
T pj (xk|y0:k)dxk. Nous dirons alors
que le filtre a divergé à l’instant t0 si : pour j = 1, . . . , Mk aucune des ellipsoïdes de confiance de176
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
niveau β, associée à la distribution gaussienne de moyenne xˆ
j
k
et de covariance Σˆj
k
, ne contient
l’état vrai xk, ceci pendant L instants consécutifs, i.e. pour tout k = t0, t0 + 1, . . . , t0 + L − 1.
L’introduction d’une fenêtre temporelle de taille L permet d’avoir un critère représentatif d’une
"vraie" divergence dans la mesure où il est possible qu’aucune ellipse ne contienne l’état vrai à un
instant t donné sans pour autant que cela signifie qu’il y ait une dérive irrémédiable de l’estimée
particulaire. Dans les simulations numériques, nous avons fixé L = 5 et un niveau de confiance
β = 0.999. Enfin le nombre de réalisations Monte Carlo a été fixé à NMC = 250.
Paramètres du modèle
− covariance du bruit de dynamique Q = diag
1 1 0.012
− écart-type du bruit de mesure du radio-altimètre σv = 10 m
− période d’échantillonnage ∆ = 0.1 s
− Loi initiale : x0 ∼ N (06×1, P0), avec P0 = diag(10002
, 10002
, 1002
, 3
2
, 3
2
, 1
2
)
Le filtre utilisé est le MRPF avec NMRP F = 3000 particules. Afin d’obtenir un nombre
comparable de trajectoires convergentes et divergentes, le seuil de suppression de cluster αmin
(cf. 4.3) a été fixé à une valeur artificiellement élevée αmin = 10−2
, augmentant la probabilité de
suppression du cluster correspondant au mode vrai.
Figure 5.4 – Clusters et ellipsoïdes de confiance dans le MRPF
Analyse des résultats On rappelle que les trajectoires des scénarios 1,2 et 3 sont de durées
respectives 901, 1001 et 1001 unités de temps (1 unité de temps = 0.1 s).
L’analyse des performances de l’algorithme de détection s’est faite en prenant en compte l’ambiguïté
du terrain survolé. Afin de calculer les trois indicateurs TFA, τ et TND, nous avons fixé le177
saut de moyenne à ν = 3 et fait varier le seuil de détection h du CUSUM bilatéral entre 8 et 13.
Les résultats sont présentés sur les tableaux 5.1, 5.2 et 5.3.
Lorsque le terrain est peu ambigu (scénario 1), la différence entre la mesure actuelle yk et la
mesure prédite yˆk|k−1 augmente rapidement en cas de divergence. On s’attend alors à ce que
le détecteur CUSUM détecte rapidement le dysfonctionnement du filtre : ceci est illustré par la
figure 5.5a. En revanche lorsque le terrain est ambigu (scénario 3), les similarités de profil sont
telles que la mesure prédite yˆk|k−1 par le filtre peut être proche de yk pendant un certain temps
bien que le filtre ait divergé : un cas extrême est présenté dans la figure 5.5b (scénario 3) où le
résidu oscille autour de zéro pendant une longue période même après l’instant de divergence. La
détection ne peut alors se faire qu’une fois l’ambiguïté levée. Ceci se vérifie par simulation : en
effet, on observe dans le tableau 5.2 que plus l’ambiguïté est grande, plus le délai de détection
est important. En particulier pour le scénario 3, le délai de détection est 5 à 10 fois plus important
que celui observé pour les scénarios 1 et 2. Ceci peut être pénalisant dans l’optique d’une
ré-initialisation du filtre.
Nous avons également étudié l’influence du seuil de détection sur les indicateurs TFA, τ et TND.
On observe qu’il est possible qu’il est possible d’atteindre des taux de fausses alarmes en dessous
de 1% en prenant h ≥ 12. De plus, l’évolution du taux de fausses alarmes TFA et du délai de
détection en fonction de h est cohérente avec l’analyse faite sur le modèle de changement de
moyenne dans une suite de variables aléatoires gaussiennes (section 5.6.1). En effet, le taux de
fausses alarmes est plus sensible aux variations de h que le taux de non détection. Enfin le taux
de non-détection (tableau 5.3) est également moins sensible à h que le taux de fausses alarmes.178
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
0 1 2 3 4 5 6 7
−12
−10
−8
−6
−4
−2
0
2
4
temps (s)
t0 ta
(a) Terrain peu ambigu
0 10 20 30 40 50 60
−12
−10
−8
−6
−4
−2
0
2
4
temps (s)
t0 ta
(b) Terrain très ambigu
Figure 5.5 – Innovation normalisée d’un filtre de recalage : cas favorable (a)/défavorable (b) à
la détection rapide de divergence179
seuil CUSUM scénario 1 scénario 2 scénario 3
h = 8 6 5.2 6.8
h = 9 3.6 2.4 1.6
h = 10 2 1.2 0.4
h = 11 1.2 0.8 0.4
h = 12 0.8 0.4 0
h = 13 0.4 0.4 0
Table 5.1 – Taux de fausses alarmes TFA (%)
seuil CUSUM scénario 1 scénario 2 scénario 3
h = 8 1.9 4.1 14
h = 9 1.9 4.3 16.6
h = 10 2 4.3 18.9
h = 11 2.1 4.3 19.3
h = 12 2.2 4.3 20.5
h = 13 2.2 4.4 22.3
Table 5.2 – Délai moyen de détection τ (en secondes, mesures délivrées à 10 Hz) ; Durée des
trajectoires : 100 s
seuil CUSUM scénario 1 scénario 2 scénario 3
h = 8 2.4 3.2 3.2
h = 9 2.8 3.6 4.4
h = 10 3.6 5.2 4.4
h = 11 4 5.6 5.2
h = 12 4.4 6.8 5.6
h = 13 5.2 6.8 6.8
Table 5.3 – Taux de non-détection TND (%)180
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
5.7 Ré-initialisation du filtre particulaire après divergence
L’algorithme de détection de divergence présenté précédemment présente un intérêt évident :
la possibilité de déclencher la ré-initialisation du filtre une fois la divergence détectée. Nous
proposons d’ajouter une étape de ré-initialisation prenant en compte l’incertitude courante de la
centrale inertielle ainsi que la ou les dernières observations altimétriques accumulées. Le modèle
de dérive inertielle considéré est donné par (4.99).
5.7.1 Choix de la loi a priori pour la ré-initialisation du filtre
L’option la plus directe consiste à ré-initialiser le filtre à partir de l’état courant donné par
la centrale inertielle. Supposons qu’une divergence soit détectée à l’instant ta. L’erreur inertielle
initiale x0 est modélisée comme une variable aléatoire gaussienne centrée et de covariance P0.
Etant donné la nature linéaire du modèle d’état (4.99), l’erreur inertielle xk à un instant k
quelconque est également une distribution gaussienne de moyenne nulle et de covariance donnée
par :
P
x
k
4
= Cov(xk) = F
kP0(F
k
)
T +
k
X−1
j=0
F
jGk−j+1QGT
k−j+1(F
j
)
T
(5.58)
En effet, on montre par récurrence que
xk = F
kx0 +
X
k
j=1
F
j−1Gk−jwk−j
d’où E(xk) = 0 puisque E(x0) = 0 et E(wp) = 0 pour tout p ≤ k. De plus,
P
x
k = E
F
kx0 +
X
k
j=1
F
j−1Gk−jwk−j
F
kx0 +
X
k
l=1
F
l−1Gk−lwk−l
!T
= F
kE(x0x
T
0
)(F
k
)
T + E
F
kx0
X
k
l=1
F
l−1Gk−lwk−l
!T
+ E
X
k
j=1
F
j−1Gk−jwk−j
(F
kx0)
T
+ E
X
k
j=1
F
j−1Gk−jwk−j
X
k
l=1
F
l−1Gk−lwk−l
!T
= F
kP0(F
k
)
T + 0 + 0 + X
1≤j≤l≤k
F
j−1Gk−jE(wk−jw
T
k−l
)G
T
k−l
(F
l−1
)
T
= F
kP0(F
k
)
T +
X
1≤j≤l≤k
F
j−1Gk−jδj,lQGT
k−l
(F
l−1
)
T
= F
kP0(F
k
)
T +
X
k
j=1
F
j−1Gk−jQGT
k−j
(F
j−1
)
T
= F
kP0(F
k
)
T +
k
X−1
j=0
F
jGk−j+1QGT
k−j+1(F
j
)
T181
Le terme E
F
kx0
Pk
l=1 F
l−1Gk−lwk−l
T
de la seconde ligne se décompose comme
F
kE(x0)E
X
k
l=1
F
l−1Gk−lwk−l
!T
= 0
étant donné l’indépendance de la condition initiale x0 et du processus de bruit (wk)k. Enfin, le
caractère i.i.d. gaussien de w0, . . . , wk de bruit donne E(wk−jw
T
k−l
) = δj,lQ.
La procédure de ré-initialisation peut se faire en tirant N particules x
i
ta
en prenant comme loi
a priori
1. la loi de densité p(xta
), gaussienne centrée et de covariance Pta
2. la loi conditionnelle de densité p(xta
|yta−m+1:ta) qui prend en compte les m dernières mesures
accumulées par le filtre
La première méthode est une ré-initialisation complètement aveugle puisqu’elle ne prend pas en
compte les mesures reçues par le radio-altimètre. Elle est donc potentiellement pénalisante lorsque
le délai de détection est grand, puisque dans ce cas la matrice de covariance Pta de la loi a priori
est très grande ce qui veut dire que le filtre peut mettre un certain temps avant de reconverger.
La seconde méthode permet de diminuer l’incertitude d’autant plus que le terrain varie fortement
au voisinage de la position inertielle à l’instant ta et que le nombre m de mesures est important.
Pour la mettre en oeuvre il faut néanmoins échantillonner efficacement p(xta
|yta−m+1:ta) ou une
approximation de cette de cette densité.
Soit Y
4
=
yta yta−1 · · · yta−m+1T
. Dans le cas d’un véhicule dont le déplacement entre les instants
ta − m + 1 et ta autorise la linéarisation du profil de terrain hMNT entre ces instants, on
peut montrer que (cf. annexe D)
Y = Z˜ + H1x
(2)
ta −
hMNT (λ(xta,1), φ(xta,2))
.
.
.
hMNT (λ(xta,1), φ(xta,2))
+ V (5.59)
où Z˜ =
z˜ta
z˜ta−1 · · · z˜ta−m+1T
est le vecteur des m dernières altitudes inertielles. x
(2)
ta
est la
partie linéaire de xta
et H1 est défini par
H1 =
−1 (m − 1)∇h
T
MNT (λ(xta,1), φ(xta,2)) (m − 1)
.
.
.
.
.
.
.
.
.
−1 (m − 1)∇h
T
MNT (λ(xta,1), φ(xta,2)) 1
−1 0 0
Le terme hMNT (λ(xta,1), φ(xta,2)) désigne la hauteur du terrain à la position courante dont la
latitude et longitude s’exprime en fonction de la latitude et longitude inertielle (λ, ˜ φ˜) et de l’écart182
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
métrique nord-est (xta,1, xta,2) selon (4.102). Enfin V est un bruit additif décrit par :
V =
vta−m+1 +
Pm
l=2(l − 1)[Wta−m+l,3 − W
(1)
ta−m+l∇h
T
MNT (λ(xta,1), φ(xta,2))]
.
.
.
vta−1 + [Wta,3 − W
(1)
ta ∇h
T
MNT (λ(xta,1), φ(xta,2))]
vta
avec Wk = Gkwk, wk étant le vecteur du bruit de dynamique du modèle (4.99) et W
(1)
l =
[Wl,1 Wl,2]
T
, ∀l.
L’objectif est de tirer un échantillon x
i
ta
, i = 1, . . . , N issu de p(xta
|yta−m+1:ta) = p(xta
|Y ).
Pour cela, on partitionne xta
sous la forme
xta =
x
(1)
ta
x
(2)
ta
T
et la covariance Pta
selon
Pta =
P
(11)
ta P
(12)
ta
P
(21)
ta P
(22)
ta
l’équation de mesure (5.59) se ré-écrit comme
Y = H1x
(2)
ta − h1(x
(1)
ta
) + V (5.60)
Soit x 7→ ϕ(x|µ, Σ) la densité gaussienne de moyenne µ et covariance Σ. D’après [28], l’échantillon
x
i
ta
, i = 1, . . . , N peut être généré en deux étapes
(i) On tire
x
(1),i
ta ∼ p(x
(1)
ta
|Y ) ∝ ϕ(x
(1)
ta
|P
(11)
ta
)ϕ(Y −h1(x
(1)
ta
)−H1P
(21)
ta
(P
(11)
ta
)
−1x
(1)
ta
|R1+H1P
(22|1)
ta H
T
1
)
selon une méthode d’acceptation-rejet ou une méthode approchée, avec
P
(22|1)
ta = P
(22)
ta − P
(21)
ta
(P
(11)
ta
)
−1P
(12)
ta
La matrice de covariance R1 a pour terme i, j
R1,ij = δi,jσ
2
v+
Xm
l=max(i,j)+1
(l − i)(l − j)
h
Q3,3 − ∇h
T
MNT (λ(xta,1), φ(xta,2))Q
(11)∇hMNT (λ(xta,1), φ(xta,2))i
(ii) On complète le tirage en échantillonnant les parties linéaires x
(2),i
ta ∼ N (ˆx
(2)
ta
(Y, x(1),i
ta
), C(22|1)
ta
)
où
xˆ
(2)
ta
(Y, x(1),i
ta
) = C
(22|1)
ta H
T
1 R1[Y1 − h1(x
(1),i
ta
)] + (P
(22|1)
ta
)
−1P
(21)
ta
(P
(11)
ta
)
−1x
(1),i
ta
et
C
(22|1)
ta =
H
T
1 R
−1
1 H1 + P
(22|1)−1
ta
−1183
Le principal inconvénient de cette méthode est son coût de calcul élevé, du notamment à la
boucle d’acceptation-rejet dans la première étape. Pour cette raison, on préfèrera le choix de la
loi a priori gaussienne centrée et de covariance Pta
.
5.7.2 Simulations
Nous allons à présent combiner l’algorithme de ré-initialisation du filtre avec celui de détection
de divergence et le comparer à un filtre sans module de ré-initialisation. Le filtre considéré ici est
le MRPF mais il est tout à fait possible d’utiliser un autre filtre. Comme dans le chapitre 4, nous
évaluons le RMSE sur les trajectoires non-divergentes des deux algorithmes ainsi que leur taux
de non divergence. Les résultats des simulations sont évalués sur les même scénarios décrits dans
la section 4.6.1. Pour chacun d’entre eux, 150 réalisations Monte Carlo ont été effectuées avec
un paramétrage artificiel favorisant les divergences de l’algorithme (cf. 5.6.3).
Conditions de simulations Nous appellerons MRPF-R l’algorithme avec ré-initialisation. Nous
reprenons les conditions de simulations de la section 4.6.4.1 avec les modifications suivantes :
B écart-type du bruit de mesure du radio-altimètre σv = 10 m
B nombre de particules MRPF : NMRP F = 3000
B nombre de particules MRPF-R : NMRP F −R = 3000
Dans l’algorithme MRPF-R, une seule ré-initialisation est effectuée au maximum étant donné
que la trajectoire a une durée finie et que l’on souhaite accorder au filtre le temps nécessaire pour
se recaler. Enfin, conformément au chapitre 4, un filtre sera dit non-divergent si l’état estimé
final est dans l’ellipsoïde à 99.9% associée à la distribution gaussienne centrée sur l’état final vrai
et de covariance la covariance empirique donnée par le filtre particulaire.
Analyse des résultats Les figures 5.6 à 5.11 représentent le RMSE de chaque algorithme
obtenu par tirage Monte Carlo. Le RMSE est calculé sur les réalisations convergentes. On observe
nombre de
ré-initialisations
nombre de
ré-initialisations
convergentes
scénario 1 59 36
scénario 2 83 63
scénario 3 67 35
Table 5.4 – Performance de la ré-initialisation dans le MRPF-R
que l’utilisation du module de détection de divergence permet au filtre de gagner en robustesse
(voir tableau 5.5) : sur chacun des scénarios, on note une augmentation significative du taux
de non divergence. L’erreur quadratique moyenne est naturellement plus élevée pour le MRPF-R
dans la phase multimodale puisqu’il inclut les ré-initialisations. Pour les scénarios 1 et 2, cette184
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
dégradation est peu pénalisante étant donné que la phase multimodale est relativement courte
devant la durée de la trajectoire vu le caractère peu ambigu (scénario 1) et moyennement ambigu
(scénario 2) des terrains survolés. En revanche, pour le scénario 3, l’ambiguïté pénalise le RMSE
de l’algorithme avec ré-initialisation étant donné que le délai de détection est non négligeable et
que la phase multimodale après ré-initialisation est plus longue.
MRPF MRPF-R
scénario 1 78 85
scénario 2 74 87
scénario 3 63 78
Table 5.5 – Taux de non divergence (%)185
Scénario 1
0 20 40 60 80 100
100
101
102
103
104
temps (s)
RMSE position nord (m)
MRPF
MRPF−R
BCR
0 20 40 60 80 100
100
101
102
103
temps (s)
RMSE position est (m)
MRPF
MRPF−R
BCR
0 20 40 60 80 100
100
101
102
temps (s)
RMSE position down (m)
MRPF
MRPF−R
BCR
Figure 5.6 – RMSE en position ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge :
Borne de Cramer-Rao a posteriori186
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
4
temps (s)
RMSE vitesse nord (m.s−1
)
MRPF
MRPF−R
BCR
0 20 40 60 80 100
0.5
1
1.5
2
2.5
3
3.5
temps (s)
RMSE vitesse est (m.s−1
)
MRPF
MRPF−R
BCR
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
temps (s)
RMSE vitesse down (m.s−1
)
MRPF
MRPF−R
BCR
Figure 5.7 – RMSE en vitesse ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge :
Borne de Cramer-Rao a posteriori187
Scénario 2
0 20 40 60 80 100 120
100
101
102
103
temps (s)
RMSE position nord (m)
MRPF
MRPF−R
BCR
0 20 40 60 80 100 120
100
101
102
103
104
temps (s)
RMSE position est (m)
MRPF
MRPF−R
BCR
0 20 40 60 80 100 120
100
101
102
103
temps (s)
RMSE position down (m)
MRPF
MRPF−R
BCR
Figure 5.8 – RMSE en position ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge :
Borne de Cramer-Rao a posteriori188
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
0 20 40 60 80 100 120
1
1.5
2
2.5
3
3.5
4
4.5
temps (s)
RMSE vitesse nord (m.s−1
)
MRPF
MRPF−R
BCR
0 20 40 60 80 100 120
0.5
1
1.5
2
2.5
3
3.5
4
4.5
temps (s)
RMSE vitesse est (m.s−1
)
MRPF
MRPF−R
BCR
0 20 40 60 80 100 120
0
0.5
1
1.5
temps (s)
RMSE vitesse down (m.s−1
)
MRPF
MRPF−R
BCR
Figure 5.9 – RMSE en vitesse ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge :
Borne de Cramer-Rao a posteriori189
Scénario 3
0 20 40 60 80 100
101
102
103
temps (s)
RMSE position nord (m)
MRPF
MRPF−R
BCR
0 20 40 60 80 100
101
102
103
temps (s)
RMSE position est (m)
MRPF
MRPF−R
BCR
0 20 40 60 80 100
100
101
102
temps (s)
RMSE position down (m)
MRPF
MRPF−R
BCR
Figure 5.10 – RMSE en position ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge :
Borne de Cramer-Rao a posteriori190
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique
0 20 40 60 80 100
1
1.5
2
2.5
3
3.5
4
4.5
5
temps (s)
RMSE vitesse nord (m.s−1
)
MRPF
MRPF−R
BCR
0 20 40 60 80 100
1
1.5
2
2.5
3
3.5
4
4.5
5
temps (s)
RMSE vitesse est (m.s−1
)
MRPF
MRPF−R
BCR
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
temps (s)
RMSE vitesse down (m.s−1
)
MRPF
MRPF−R
BCR
Figure 5.11 – RMSE en vitesse ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge :
Borne de Cramer-Rao a posteriori191
Conclusion du Chapitre 5
Nous avons vu au cours des chapitres précédents que les algorithmes de filtrage particulaire
d’hybridation pour le recalage peuvent diverger pour de multiples raisons liées à l’utilisation successives
d’approximations Monte Carlo. Il est intéressant pour l’ingénieur de disposer d’un outil
de diagnostic permettant d’estimer automatiquement et en ligne la fiabilité de la solution particulaire.
Nous avons donc introduit et étudié une méthodologie pour la détection de divergence
dans un filtre particulaire quelconque, avec l’hypothèse d’une observation scalaire. La méthode
développée s’appuie sur la détection de changement de moyenne dans l’innovation du filtre particulaire
grâce à l’algorithme CUSUM.
Le détecteur ainsi construit s’intègre facilement dans n’importe quelle routine de filtrage particulaire
avec un coût additionnel relativement faible. Les performances de l’algorithme de détection
sont étudiées sur la problématique de la navigation inertielle par mesures altimétriques, en considérant
trois terrains de caractéristiques différentes. Sur la base de simulations, on montre qu’il
est possible d’atteindre des taux de fausses alarmes inférieurs à 1%, avec un délai de détection
acceptable devant la durée de la trajectoire. Le délai de détection moyen reste alors petit devant
la durée de la trajectoire lorsque le niveau d’ambiguïté du relief survolé est faible à modéré. Pour
des scénarios ambigus, la définition du test d’hypothèse s’avère moins efficace, puisque la divergence
ne se traduit pas forcément par un changement significatif de la moyenne de l’innovation
du filtre particulaire. En pratique cela signifie que les délais de détection sont bien plus importants
et dépendent de la vitesse à laquelle l’ambiguïté est levée.
Enfin, nous avons illustré une application possible de l’algorithme de détection qui est celle de
la ré-initialisation du filtre particulaire lorsqu’un dysfonctionnement a été détecté. Les résultats
préliminaires suggèrent que l’on peut atteindre des taux de non-divergence plus élevés.192
5. Test d’intégrité pour le filtrage particulaire : application au recalage
radio-altimétrique193
Conclusion générale
Le développement du filtrage particulaire dans les années 90 a ouvert des nouvelles possibilités
dans le domaine du filtrage non-linéaire avec des applications diverses (pistage, surveillance vidéo,
finance de marché, économétrie,. . . ). En aéronautique, la mise au point de filtres particulaires
pour le recalage de la navigation inertielle devrait permettre de s’affranchir de certaines hypothèses
limitant l’utilisation d’algorithmes traditionnels (systèmes TERCOM, SITAN). Pour autant,
ces méthodes soulèvent un certain nombre de difficultés. Dans cette thèse, nous nous sommes
principalement intéressés à deux limitations rencontrées en recalage par mesures altimétriques :
− les similarités de terrain font que la densité a posteriori est multimodale en début de
recalage. Les étapes de ré-échantillonnage successives peuvent provoquer la perte du mode
correspondant à la position vraie.
− lorsque le terrain présente localement un gradient prononcé, ou bien lorsque la variance
du bruit de mesure est faible, l’étape de prédiction des filtres standards (bootstrap filter,
RPF) tend à échantillonner les particules dans des zones de faible vraisemblance ce qui
augmente le risque de divergence du filtre.
Afin de limiter les divergences dues à une perte de mode prématurée, nous avons proposé une
approche algorithmique formulant la densité conditionnelle cible sous forme de mélange fini. Les
filtres développés au cours de cette thèse (MRPF, MRBPF) sont des extensions du MPF de
Vermaak et al. [118]. Dans le MPF, chaque composante du mélange est supposée unimodale et
est approchée par un cluster de particules qui peut être vu comme un sous-filtre dont la contribution
est quantifée par le poids de mélange associé. Cette formulation permet de ré-échantillonner
localement chaque cluster dans l’optique de maintenir la multimodalité autant que nécessaire.
La première nouveauté dans le MRPF et le MRBPF par rapport au MPF est l’utilisation d’un
algorithme de mean-shift clustering optimisé, pour l’identification automatique des clusters du
nuage de particules. Une attention particulière a été accordée à la sélection de la fenêtre de
lissage qui conditionne la bonne identification des clusters. Nous avons également suggéré une
méthode permettant de supprimer les clusters devenus peu vraisemblables et de ré-allouer un
nombre équivalent de particules aux clusters restants. Enfin, nous avons proposé une étape de
régularisation locale pour conserver la forme de la distribution conditionnelle. Le MRPF a été
comparé au RPF et s’est montré plus robuste aux divergences que ce dernier, notamment en cas
de forte ambiguïté de terrain.
Dans un second temps, nous avons introduit un méthode d’échantillonnage d’importance permettant
de générer les particules selon une densité différente de la densité de transition. Cette
méthode est efficace lorsqu’il y a un faible recouvrement entre la densité prédite et la fonction194 Conclusion
de vraisemblance. Cette situation survient par exemple lorsque la variance de bruit de mesure ou
d’état est faible, ou lorsque la fonction d’observation varie brusquement. L’objectif de la méthode
d’échantillonnage d’importance est de générer les particules dans les zones de forte probabilité.
Dans cette thèse, l’échantillonnage des particules est effectuée selon une série de densités d’importances
gaussiennes centrées sur les modes de la densité a posteriori. Ces modes ne sont pas
connus explicitement mais sont calculés de manière approchée, en exploitant la structure partiellement
linéaire de l’équation d’observation qui permet de se ramener à un problème d’optimisation
en deux-dimensions. Nous avons également exploré différentes formulations de la matrice de covariance
des densités d’importances gaussiennes afin d’approcher au mieux l’orientation et la
dispersion locale de la densité a posteriori.
L’utilisation de cette méthode d’échantillonnage d’importance a donné lieu aux algorithmes
MRPF-MAP et MRBPF-MAP. Le MRPF-MAP a été comparé au MRPF dans des contextes où les
étapes de prédiction/correction classiques sont moins efficaces. Le MRPF-MAP améliore le taux
de convergence par rapport au MRPF. De plus, on observe que l’erreur quadratique moyenne
est plus faible sur une bonne portion des trajectoires tests. Cette méthode d’échantillonnage
d’importance permet d’obtenir des améliorations encore plus significatives dans le MRBPF-MAP,
notamment en terme de taux de non-divergence, lorsque la variance du bruit de mesure est faible.
Dans un troisième temps, nous avons abordé la problématique du contrôle d’intégrité du
filtre particulaire. L’objectif est d’évaluer en ligne la cohérence de l’estimation particulaire afin de
détecter une éventuelle divergence du filtre. En filtrage de Kalman standard, plusieurs tests fondés
sur l’innovation ont été proposés afin de contrôler le bon fonctionnement de l’architecture de
filtrage. Cependant, l’extension au filtrage particulaire est à notre connaissance très peu abordée.
Nous avons formulé le problème de détection de la divergence du filtre particulaire sous forme
d’un test d’hypothèse portant sur la moyenne de l’innovation normalisée du filtre, qui est définie
de manière analogue à l’innovation du filtre de Kalman. Dans le cas d’une innovation scalaire,
l’algorithme de détection adapté au problème de détection de changement de moyenne est le
CUSUM bilatéral. Les paramètres influents de cet algorithme sont le saut de la moyenne de
l’innovation normalisée sous l’hypothèse de divergence et le seuil sur la fonction de décision. Le
détecteur de divergence a été intégré dans le MRPF et ses performances ont été établies sur trois
scénarios de recalage de faible, moyenne et forte ambigüité de terrain. Sur chacun des scénarios
les simulations ont fait apparaître un paramétrage du CUSUM permettant d’obtenir des taux de
détection supérieur à 93% pour des taux de fausses alarmes inférieur à 1%. Lorsque le vecteur de
mesure est multi-dimensionnel, nous avons proposé quelques formulations simples du problème
de détection de divergence issues de la théorie de détection de changement et illustré la capacité
des algorithmes de détection issus de la littérature à détecter la divergence du filtre particulaire.
Enfin, nous avons réalisé une étude préliminaire sur l’apport de la ré-initialisation du filtre en
cas de détection d’un faux recalage. L’algorithme de ré-initialisation est basée sur l’utilisation
d’une loi a priori correspondant à la distribution de la dérivé inertielle à l’instant de détection.
Les résultats expérimentaux montrent que cette méthode permet de diminuer le taux de faux
recalage.195
Perspectives
Au terme de ces travaux, nous avons envisagé plusieurs pistes d’études complémentaires.
B La stratégie de clustering pourrait être adaptée au KPKF avec l’avantage que ce dernier
nécessite généralement moins de particules que les filtres particulaires standards pour des
performances identiques.
B Dans le MRPF ou le MRBPF, lorsqu’il reste peu de modes, on peut étudier la possibilité
de supprimer les clusters très peu vraisemblables sans ré-allouer un nombre équivalents de
particules aux clusters restants. Cela permettrait de créer un algorithme dont le nombre
de particules est adaptatif.
B Les algorithmes proposés mettent en jeu de nombreux paramètres qui ont été réglés empiriquement.
Un apprentissage statistique peut permettre d’adapter ces paramètres en
fonction du type de terrain survolé et des conditions initiales.
B Dans le test de divergence développé, l’hypothèse de non-divergence est caractérisée par
une approximation de la moyenne de l’innovation normalisée (supposée nulle en fonctionnement
normal). Il peut être intéressant de disposer d’un intervalle de confiance (ou d’une
zone de confiance dans le cas non scalaire) sur cette approximation de manière à définir
un test présentant moins de fausses alarmes.
B L’algorithme de ré-initialisation du filtre proposé ne prend pas en compte l’historique du
filtre. La construction d’une loi a priori prenant en compte non seulement l’incertitude de
la centrale inertielle, mais également les zones du relief incompatibles avec les mesures
radio-altimétriques passées, doit permettre au filtre ré-initialisé de converger plus vite avec
un meilleur taux de bon recalage.196 Conclusion197
Annexe A
Compléments au chapitre 1
A.1 Lemme 1
Soit A, B, C et D 4 matrices telles que les inverses (A + BCD)
−1
, A−1
et C
−1
existent.
Alors,
(A + BCD)
−1 = A
−1 − A
−1B(C
−1 + DA−1B)
−1DA−1
(A.1)
A.2 Lemme 2
Soit Q et R deux matrices symétriques définies positives, de dimensions respectives d × d et
m × m. Soit H une matrice m × d. Alors,
(H
TR
−1H + Q
−1
)
−1 = Q − QHT
(HQHT + R)
−1HQ (A.2)
et
(H
TR
−1H + Q
−1
)
−1H
T = QHT
(HQHT + R)
−1R (A.3)198 A. Compléments au chapitre 1199
Annexe B
Complément au chapitre 2
Variance du temps moyen d’absorption
L’objectif de cette section est d’établir une expression asymptotique de la variance du temps
moyen d’absorption dans le modèle de pistage stationnaire présenté au chapitre 2, section 2.5.
Rappelons que dans ce contexte, le temps moyen d’absorption correspond à la perte de l’un des
deux modes de la densité a posteriori p(xk|y0:k) = 0.5δ1(xk) + 0.5δ−1(xk). La démarche utilisée
pour obtenir l’approximation asymptotique de la variance est largement inspirée de [39].
Rappelons d’abord quelques notations. On désigne par An le nombre de particules associées
au premier mode (x = 1) où N la taille de l’échantillon. (An)n≥0 est une chaîne de Markov
homogène à valeur dans {0, 1, . . . , N}, dont la matrice de transition P = (pmj )0≤m,j≤N est
donnée par
pmj = P(Ak = j|Ak−1 = m) =
N
j
! m
N
j
1 −
m
N
N−j
(B.1)
Le temps d’absorption T est défini par
T = inf {n ≥ 0 | An ∈ {0, N}} (B.2)
De même, pour i = 1 . . . N, ti = E(T|A0 = i) est le temps moyen d’absorption, sachant que
l’on dispose initialement de i particules sur le mode x = 1.
En notant u =
i
N
la proportion initiale de particules associée au mode x = 1, on a l’équivalent
suivant lorsque N est grand [39] :
t(u)
4
= E(T | A0 = bNuc) ∼ −2N(u ln u + (1 − u) ln(1 − u)) (B.3)
Le calcul de la variance du temps moyen d’absorption peut se faire de manière similaire Ãă
[39]. Notons V (u) cette variance pour une proportion initiale de u particules associées au mode
1.
V (u)
4
= Var(T | A0 = bNuc) (B.4)
On a :
T = 1 + inf {n ≥ 0|An+1 = 0, N} = 1 + T1200 B. Complément au chapitre 2
avec T1 = inf {n ≥ 0|An+1 = 0, N}. D’où
E(T
2
|A0 = i) = 1 + 2E(T1|A0 = i) + E(T
2
1
|A0 = i) (B.5)
= 1 + 2E(T − 1|A0 = i) + E(T
2
1
|A0 = i) (B.6)
= −1 + 2E(T|A0 = i) + E(T
2
1
|A0 = i) (B.7)
On peut alors exprimer (B.7) en fonction des vi et ti
:
E(T
2
1
|A0 = i) = X∞
t=0
t
2P(T1 = t|A0 = i) (B.8)
=
X∞
t=0
t
2 X
N
j=0
P(T1 = t|A1 = j, A0 = i)pij (B.9)
=
X
N
j=0
X∞
t=0
t
2P(T1 = t|A1 = j)pij (B.10)
=
X
N
j=0
X∞
t=0
t
2P(T = t|A0 = j)pij (B.11)
=
X
N
j=0
E(T
2
|A0 = j)pij (B.12)
d’où :
E(T
2
|A0 = i) = −1 + 2E(T|A0 = i) + X
N
j=0
E(T
2
|A0 = j)pij
Enfin,
vi = E(T
2
|A0 = i) − E
2
(T|A0 = i)
= −1 + 2E(T|A0 = i) + X
N
j=0
E(T
2
|A0 = j)pij − [E(T|A0 = i)]2
= −1 + 2ti +
X
N
j=0
h
E(T
2
|A0 = j) − E
2
(T|A0 = j) + E
2
(T|A0 = j)
i
pij − E
2
(T|A0 = i)
= −1 + 2ti +
X
N
j=0
h
E(T
2
|A0 = j) − E
2
(T
2
|A0 = j)
i
pij +
X
N
j=0
E
2
(T
2
|A0 = j)pij − [E(T|A0 = i)]2
= −1 + 2ti +
X
N
j=0
vjpij +
X
N
j=0
t
2
j
pij − t
2
i
(B.13)
En supposant que t0, . . . , tN soient donnés, on peut déterminer les variances conditionnelles
v1, . . . , vN en résolvant le système d’équations
vi −
X
N
j=0
vjpij = −1 + 2ti +
X
N
j=0
t
2
j
pij − t
2
i
i = 0, . . . , N (B.14)201
Les ti sont eux-mêmes solutions d’une équation d’un système linéaire. En effet, un calcul
similaire à (B.12) donne
ti = E(T|A0 = i) = 1 + E(T1|A0 = i) (B.15)
= 1 + X
N
j=0
E(T|A0 = j)pij (B.16)
= 1 + X
N
j=0
pij tj (B.17)
En posant t =
t0 . . . tN
T
, on a t = (IN+1 − P)
−11 , où 1 =
1 1 . . . 1
T
. Malheureusement
les formules (B.14) ne permettent pas d’étudier aisément les moments asymptotiques du
temps d’absorption T.
On peut toutefois tenter d’utiliser une approximation en temps continu comme dans [39]
pour trouver un équivalent de la variance asymptotique de T. Si on note Zn = An/N, le temps
d’absorption de (An)n≥0 correspond au temps d’atteinte de Z dans {0, 1}. On a donc t(u) =
E(T|Z0 = u) et v(u) = Var(T | Z0 = u).
De plus, si Z0 = u alors Z1 = u + U où N(U − u) ∼ B(N, u). On peut réécrire (B.7) sous la
forme suivante
φ(u) = 1 + 2E(t(u + U)) + E(φ(u + U))
avec φ(u) = E(T
2
|A0 = bNuc)
En supposant φ continument dérivable 2 fois, on a :
φ(u + U) = φ(u) + Uφ0
(u) + U
2
2
φ
00(u) + O(|U|
3
)
De plus E(U) = 0 et E(U
2
) = u(1−u)
N
car N(U − u) ∼ B(N, u). Comme √
NU converge en loi
vers N (0, u(1 − u)) lorsque N → ∞, on a E(U
2p
) = O(N −2
).
φ(u) = 1 + 2(t(u) − 1) + φ(u) + u(1 − u)
2N
φ
00(u) + O(N
−3/2
)
φ est donc proche de la solution de l’équation différentielle
φ
00(u) = 2N
u(1 − u)
+ 8N
2
ln u
1 − u
+
ln(1 − u)
u
!
(B.18)
avec les conditions limites φ(0) = φ(1) = 0. La solution de (B.18) est
φ(u) = 8N
2u dilog(u) + 8N
2u ln(u) − 8N
2
dilog(u) − 8N
2u dilog(1 − u)
+ 8N
2
ln(1 − u) − 8N
2u ln(1 − u) − 8N
2 + (4
3
π
2 + 8)N
2202 B. Complément au chapitre 2
où u 7→ dilog(u) = Z u
1
ln t
1 − t
dt est la fonction dilogarithme. Dans ce cas, la variance s’écrit :
v(u) = Var(T | A0 = Nu) = E(T
2
|A0 = bNuc) − E
2
(T|A0 = bNuc)
=φ(u) − t
2
(u)
= − 2N [u ln u + (1 − u) ln(1 − u)] + 8N
2u dilog u + 8N
2u ln u
− 8N
2
dilog u − 8N
2u dilog(1 − u) + 8N
2
ln(1 − u) − 8N
2u ln(1 − u)
− 4N
2
[u ln u + (1 − u) ln(1 − u)]2 +
4
3
π
2N
2
(B.19)203
Annexe C
Complément au chapitre 4
Proposition 2. Soit A et B deux matrices d × d symétriques avec B définie positive et A
inversible. Alors A−1 − B−1 < 0 si et seulement si A − B > 0 (la notation M > 0 signifie que
M est définie positive).
Démonstration. Supposons A − B > 0. En utilisant le lemme d’inversion matricielle, on a
(B
−1 − A
−1
)
−1 = B + B(A − B)
−1B
et donc pour tout vecteur X de R
d non nul,
X
T
(B
−1 − A
−1
)
−1X = X
TBX + X
TB(A − B)
−1BX
= X
TBX + (BX)
T
(A − B)
−1BX
Le terme XTBX est strictement positif car B est définie positive. Comme A − B > 0, alors
(A − B)
−1 > 0 et XTB(A − B)
−1BX > 0 car le vecteur BX est non nul. Finalement,
XT
(B−1 −A−1
)
−1X > 0, pour tout vecteur X non nul d’où (B−1 −A−1
)
−1 > 0 ce qui implique
que B−1 − A−1 > 0.
La réciproque se démontre en remplaçant A par A−1
et B par B−1
.204 C. Complément au chapitre 4205
Annexe D
Compléments au chapitre 5
D.1 Détection de divergence dans le cas d’un vecteur de
mesure multidimensionnel
Dans ce complément, nous nous intéressons au problème de la détection de divergence lorsque
la mesure est de dimension m ≥ 2. A titre d’illustration, nous considérons l’application du filtrage
particulaire au problème du pistage d’une cible dans le plan par mesures de distance et d’azimuth,
abordée dans le chapitre 4, section 4.5.3.2.
Rappelons que le capteur est supposé fixe à la position (0, 0) et la cible suit une trajectoire
rectiligne uniforme. Le vecteur d’état contient les coordonnées de position et vitesse xk =
[xk,1, xk,2, x˙ k,1, x˙ k,2]
T
. L’état initial de la cible est xcible,0 =
10000 10000 40 −40T
.
Le vecteur de mesure yk comprend la distance de la cible et l’azimuth entâchés d’un bruit additif
gaussien.
yk =
q
x
2
k,1 + x
2
k,2
arctan( xk,2
xk,1
)
+ vk (D.1)
avec vk ∼ N
02×1, diag(22
, (
π
180 )
2
)
.
Un filtre particulaire régularisé (RPF) avec N = 10000 particules, est utilisé pour le suivi de
la cible. La précision du capteur fait que, si l’on utilise la densité de transition comme densité
d’importance, le RPF diverge fréquemment : le taux de divergence est de 89% pour le choix de
paramètres ci-dessus.
Dans la méthode de détection de divergence que nous avons suggérée dans le chapitre 5, la
moyenne et la covariance de l’innovation sous l’hypothèse de non-divergence du filtre sont approximées
de la même façon quelque soit la dimension du vecteur de mesure 5.39.
En revanche la définition d’un test de détection de changement de moyenne dans le cas multidimensionnel
diffère du cas scalaire. En effet, dans ce cas, en supposant la suite d’innovation
N
k
,
k ≥ 1 gaussienne de moyenne θ, le problème consiste à tester :
H0 :
N
k ∼ N (0, Σ,k) contre H1 :
N
k ∼ N (θ1, Σ,k)206 D. Compléments au chapitre 5
où θ1 désigne la moyenne de l’innovation sous l’hypothèse de divergence.
Les algorithmes de détection de changement de moyenne se formulent différemment selon le type
d’information que l’on dispose sur la moyenne θ1 [4] :
− θ1 est entièrement connu,
− on connait la norme de θ1 mais pas sa direction,
− on connait la direction de θ1 mais pas sa norme,
− on connait une borne inférieure sur kθ1k mais pas la direction de θ1.
Dans le cas qui nous intéresse, quelques simulations nous indiquent que lorsque le RPF diverge,
l’innovation n’a pas de direction privilégiée dans le plan cartésien. En revanche, selon [4], on peut
tenter définir θ1 à partir de la divergence de Kullback entre N (0, Σ,k) et N (θ1, Σ,k). Dans ce
cas, θ1 est défini comme appartenant à l’ensemble
Θ1 =
n
θ | θ
TΣ
−1
,k θ = b
2
o
où b > 0.
La constante b peut être définie par exemple à partir de l’ellipsoïde de confiance correspondant à
la distribution gaussienne sous l’hypothèse H0 : on cherche b tel que
PH0
((
N
k
)
TΣ
−1
,k
N
k ≤ b
2
) = 0.99
Comme sous H0,
N
k ∼ N (0, Σ,k), (
N
k
)
TΣ
−1
,k
N
k
suit une loi du khi-deux à deux degrés de libertés
et b
2 = F
−1
χ
2
2
(0.99) ≈ 9.2103, Fχ
2
2
étant la fonction de répartition du khi-deux à deux degrés de
liberté.
Le problème de détection devient alors :
θ =
0 si k < t0
θ : θ
TΣ
−1
,k θ = b
2
si k ≥ t0
(D.2)
L’algorithme de détection adapté est celui du χ
2
-CUSUM [4, p.219]. Celui-ci ne s’écrit pas
de manière récursive, ce qui rend son implémentation couteuse en temps de calcul. Cependant
un algorithme proche, appelé χ
2
-CUSUM récursif [91, 92] bien que n’étant pas strictement
équivalent au χ
2
-CUSUM, peut-être utilisé. Il est défini par son temps d’arrêt ta et une statistique
de test Sk selon :
ta = inf {k ≥ 1 | Sk ≥ h} (D.3)
Sk = −nk
a
2
2
+ log G
m
2
,
b
2V
T
k Σ
−1
,kVk
4
!
(D.4)
Vk = ✶{Sk−1>0}Vk−1 +
N
k
(D.5)
nk = ✶{Sk−1>0}nk−1 + 1 (D.6)
où G(d, x) = P∞
n=0
x
n
d(d+1)...(d+n−1)n!
est la fonction hypergéométrique 0Fd et m désigne la dimension
du vecteur de mesure (ici m = 2). Le test est initialisé avec S0 = 0, n0 = 0 et V0 = 0.
Nous avons intégré cet algorithme dans l’algorithme du RPF afin de détecter une éventuelle divergence.
L’innovation
N
k
et sa covariance Σ,k sont calculées selon (5.39). Les taux de fausses207
alarmes (T F A), de non-détection (T ND) ainsi que le délai moyen de détection (τ ) ont été
établis sous la base de 1000 simulations Monte Carlo. Ces quantités sont définis plus précisément
dans la section 5.6.3 et nécessitent d’estimer, s’il a lieu, l’instant réel de divergence t0. Dans
l’application du pistage, la détermination de t0 s’est faite en considérant que le filtre a réellement
divergé à l’instant t0 si l’état vrai sort de l’ellipsoide de confiance associée à la Borne de CramerRao
a posteriori au seuil 99.99%, centrée sur l’état estimé, ceci pendant 5 instants successifs
t0, . . . , t0 + 4. Un grand nombre de simulations a été nécessaire pour établir ce critère et vérifier
qu’il décrit précisément l’occurrence de la divergence. Les résultats sont présentés dans la figure
D.1. Par exemple si l’on privilégie un faible taux de fausses alarmes (< 1%), on peut constater
que pour un seuil de détection h = 8.15, le taux de fausses alarmes est de 0.8% tandis que le
taux de non-détection correspondant est de 8.4%.208 D. Compléments au chapitre 5
0 2 4 6 8 10 12 14
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
T F A
h
(a) Taux de fausses alarmes (%)
0 2 4 6 8 10 12 14
0
0.02
0.04
0.06
0.08
0.1
0.12
T ND
h
(b) Taux de non-détection (%)
0 2 4 6 8 10 12 14
2
4
6
8
10
12
14
16
h
τ
(c) Délai moyen de détection (nombre de mesures)
Figure D.1 – Performances de l’algorithme χ
2
-CUSUM récursif pour la détection de divergence209
D.2 Initialisation à partir d’une série de mesures
Le but de cette section est de rappeler une technique d’initialisation du filtre particulaire basée
sur les m premières mesures. Cette technique est due à D.T. Pham (document technique non
publié) et est partiellement rappelée dans [28]. Par souci de simplicité, on considère la dynamique
suivante :
xk = xk−1 + dk−1, dk = dk−1 + ak (D.7)
zk = zk−1 + ek−1, ek = ek−1 + bk (D.8)
où xk est la position horizontale et zk la position verticale du mobile, dk et ek les vecteurs vitesse
associés multipliés par période d’échantillonnage ∆ et ak et bk les erreurs accélérométriques
cumulées entre deux mesures (on suppose un mouvement uniforme). Ré-écrivons l’équation de
mesure du radio-altimètre comme :
yk = zk − h(xk) + vk
On considère les m premières mesures concaténées dans le vecteur d’observation Y =
y1 · · · , ym
T
.
On a
xm = xk +
mX−1
j=k
dj dm = dk +
Xm
j=k+1
aj
Puis,
xk = xm −
mX−1
j=k
dm −
Xm
l=j+1
al
= xm − (m − k)dm +
Xm
l=k+1
(l − k)al
De même,
zk = zm − (m − k)em +
Xm
l=k+1
(l − k)bl
D’où
yk = zm − (m − k)em − h
xm − (m − k)dm +
Xm
l=k+1
(l − k)al
+
Xm
l=k+1
(l − k)bl + vk
On suppose que le déplacement du mobile pendant les m premières mesures est faible, c’est-à-dire
que (m − k)dm −
Pm
l=k+1(l − k)al est petit. Cela permet de linéariser h autour de la m-ème
position horizontale
h
xm − (m − k)dm +
Xm
l=k+1
(l − k)al
≈ h(xm) − ∇h
T
(xm)
m − k)dm −
Xm
l=k+1
(l − k)al
∇h étant le gradient de h. Il vient
yk = zm − h(xm) + (m − k)
h
∇h
T
(xm)dm − em
i
+
Xm
l=k+1
[bm − ∇h
T
(xm)al
] + vk210 D. Compléments au chapitre 5
Ceci donne l’équation d’observation reliant le vecteur des m premières observations avec l’état
xm :
Y = H1
zm
dm
em
−
h(xm)
.
.
.
h(xm)
+ V (D.9)
où H1 est la matrice
−1 (m − 1)∇h
T
(xm) (m − 1)
.
.
.
.
.
.
.
.
.
−1 (m − 1)∇h
T
(xm) 1
−1 0 0
et V le vecteur
V =
v1 +
Pm
l=2(l − 1)[bl − al∇h
T
(xl)]
.
.
.
vm−1 + [bm − am∇h
T
(xm)]
vm
211
Bibliographie
[1] Global Positioning System. Standard Positioning Service performance standard, September
2008.
[2] A. Almagbile, J. Wang, and W. Ding, Evaluating the performance of adaptive Kalman filter
methods in GPS/INS integration, CPGPS 9 (2010), 33Ű40.
[3] D. Alspach and H. Sorenson, Nonlinear Bayesian estimation using Gaussian sum approximation,
IEEE Transactions on Automatic Control 17 (1972), 439–448.
[4] M. Basseville and I.V. Nikiforov, Detection of abrupt changes : Theory and application,
Prentice Hall, 1993.
[5] D.O. Benson, A comparison of two approaches to pure-inertial and doppler-inertial error
analysis, IEEE Transactions on Aerospace and Electronic Systems AES-11 (1975), no. 4,
447–455.
[6] N. Bergman, Recursive Bayesian Estimation : Navigation and Tracking Applications, Thèse
de doctorat, Linköping University, 1999.
[7] N. Bergman and L. Ljung, Point-mass filter and cramer-rao bound for terrain-aided navigation,
Proceedings of the 36th IEEE Conference on Decision and Control, vol. 1, 1997,
pp. 565–570.
[8] F.M. Boland and H. Nicholson, Control of divergence in Kalman filters, Electronics Letters
12 (1976), no. 15, 367–369.
[9] L. Breiman, W. Meisel, and E. Purcell, Variable Kernel Estimates of Multivariate Densities,
Technometrics 19 (1977), no. 2, 135–144.
[10] C. G. Broyden, The convergence of a class of double-rank minimization algorithms, Journal
of the Institute of Mathematics and Its Applications 6 (1970), 76–90.
[11] R.S. Bucy and K.D. Senne, Digital synthesis of non-linear filters, Automatica 7 (1971),
no. 3, 287–298.
[12] A. Bugeau and P. Pérez, Bandwidth selection for kernel estimation in mixed multidimensional
spaces, Tech. report, IRISA, 2007.
[13] K. P. Burnham and D. R. Anderson, Model selection and multimodel inference : a practical
information-theoretic approach, 2 ed., Springer, 2002.
[14] Z. Cai, F. Le Gland, and H. Zhang, An adaptive local grid refinement method for nonlinear
filtering, Rapport de recherche RR-2679, INRIA, 1995.212 BIBLIOGRAPHIE
[15] C. P. Casella, G.and Robert, Rao-Blackwellisation of Sampling Schemes, Biometrika 83
(1996), no. 1, 81–94.
[16] G. Celeux, F. Forbes, and N. Peyrard, EM procedures using mean field-like approximations
for Markov model-based image segmentation, Pattern Recognition 36 (2003), no. 1, 131–
144.
[17] R. Chen and J.S. Liu, Mixture Kalman filters, J. R. Statist. Soc. B 62 (2000), 493–508.
[18] Z. Chen, Bayesian Filtering : From Kalman Filters to Particle Filters, and Beyond, Tech.
report, McMaster University, 2003.
[19] Y. Cheng, Mean shift, mode seeking, and clustering, IEEE Transactions on Pattern Analysis
and Machine Intelligence 17 (1995), no. 8, 790 –799.
[20] D. Comaniciu, An algorithm for data-driven bandwidth selection, IEEE Transactions on
Pattern Analysis and Machine Intelligence 25 (2003), no. 2, 281–288.
[21] D. Comaniciu and P. Meer, Mean shift : a robust approach toward feature space analysis,
IEEE Transactions on Pattern Analysis and Machine Intelligence 24 (2002), no. 5, 603–619.
[22] D. Comaniciu, V. Ramesh, and P. Meer, The variable bandwidth mean shift and data-driven
scale selection, in Proceedings of the 8th International Conference on Computer Vision,
2001, pp. 438–445.
[23] J. Cornebise, E. Moulines, and J. Olsson, Adaptive methods for sequential importance
sampling with application to state space models, Statistics and Computing 18 (2008),
no. 4, 461 – 480 (English).
[24] D. Crisan, Exact rates of convergence for a branching particle approximation to the solution
of the zakai equation, Annals of Probability 32 (2003), 819 – 838.
[25] D. Crisan, P. Del Moral, and T. J. Lyons, Interacting particle systems approximations of
the Kushner Stratonovitch equation, Advances in Applied Probability (1999), 819 – 838.
[26] D. Crisan and A. Doucet, A survey of convergence results on particle filtering methods for
practitioners, IEEE Transactions on Signal Processing 50 (2002), no. 3, 736 – 746.
[27] E.P. Cunningham, Single-parameter terrain classification for terrain following, Journal of
Aircraft 17 (1980), 909 – 914.
[28] K. Dahia, Nouvelles méthodes en filtrage particulaire. Application au recalage de navigation
inertielle par mesures altimétriques, Thèse de doctorat, Université Joseph Fourier, 2005.
[29] M. H. DeGroot, Optimal statistical decisions, Wiley, 2005.
[30] P. Del Moral, Non-linear filtering using random particles, Theo. Prob. App. 40 (1995),
690–701.
[31] , Feynman-Kac formulae : genealogical and interacting particle systems with applications,
Springer, 2004.
[32] P. Del Moral and L. Miclo, Branching and interacting particle systems approximations of
Feynman-Kac formulae with applications to non-linear filtering, Séminaire de Probabilités
XXXIV, Lecture Notes in Mathematics, vol. 1729, Springer, 2000, pp. 1–145.213
[33] P. Del Moral, G. Rigal, and Salut G., Estimation et commande optimale non-linéaire, Tech.
report, LAAS/CNRS, 1992.
[34] L. Devroye, Non-uniform random variate generation, Springer-Verlag, 1986.
[35] R. Douc and O. Cappe, Comparison of resampling schemes for particle filtering, Proceedings
of the 4th International Symposium on Image and Signal Processing and Analysis (ISPA
2005), 2005, pp. 64–69.
[36] A. Doucet, S. Godsill, and C. Andrieu, On sequential Monte Carlo sampling methods for
Bayesian filtering, Statistics and Computing 10 (2000), no. 3, 197–208.
[37] A. Doucet, De Freitas N., and N. Gordon, Sequential Monte Carlo methods in practice,
ch. Improving Regularized Particle Filters, pp. 247–271, Springer, 2001.
[38] R. Durrett, Stochastic calculus : a practical introduction, vol. 6, CRC press, 1996.
[39] W. J. Ewens, Mathematical population genetics, Springer-Verlag, 1979.
[40] R. Fitzgerald, Divergence of the Kalman filter, IEEE Transactions on Automatic Control
16 (1971), no. 6, 736 – 747.
[41] M. Flament, Apport du filtrage particulaire au recalage altimétrique dans un contexte de
navigation hybridée, Thèse de doctorat, Université Paris-Sud 11, 2009.
[42] D. Fox, S. Thrun, F. Dellaert, and W. Burgard, Particle filters for mobile robot localization,
Sequential Monte Carlo Methods in Practice, Springer Verlag, 2001.
[43] D. Freedman and P. Kisilev, KDE paring and a faster mean shift algorithm, SIAM J Imaging
Sciences 3 (2010), no. 4, 878–903.
[44] K. Fukunaga, Introduction to statistical pattern recognition (2nd ed.), Academic Press
Professional, Inc., 1990.
[45] K. Fukunaga and L. Hostetler, The estimation of the gradient of a density function, with
applications in pattern recognition, IEEE Transactions on Information Theory 21 (1975),
no. 1, 32 – 40.
[46] B. Georgescu, I. Shimshoni, and P. Meer, Mean shift based clustering in high dimensions :
a texture classification example, Proceedings of the 9th IEEE International Conference on
Computer Vision 1 (2003), no. Iccv, 456–463.
[47] J. Georgy, A. Noureldin, and G.R. Mellema, Clustered mixture particle filter for underwater
multitarget tracking in multistatic active sonobuoy systems, IEEE Transactions on Systems,
Man, and Cybernetics, Part C : Applications and Reviews 42 (2012), no. 4, 547–560.
[48] J. Geweke, Bayesian inference in econometric models using Monte Carlo integration, Econometrica
57 (1989), no. 6, 1317–39.
[49] Audrey Giremus, Apport des méthodes de filtrage particulaire pour la navigation GPS,
Thèse de doctorat, Ecole Nationale Supérieure de l’Aéronautique et de l’Espace, Toulouse,
France, décembre 2005.
[50] N.J. Gordon, D.J. Salmond, and A.F.M. Smith, Novel approach to nonlinear/non-Gaussian
Bayesian state estimation, IEE Proceedings F Radar and Signal Processing 140 (1993),
no. 2, 107 –113.214 BIBLIOGRAPHIE
[51] F. Gustafsson, Particle filter theory and practice with positioning applications, IEEE Aerospace
and Electronic Systems Magazine 25 (2010), no. 7, 53–82.
[52] J. E. Handschin and D. Q. Mayne, Monte Carlo techniques to estimate the conditional
expectation in multi-stage non-linear filtering, International Journal of Control 9 (1969),
no. 5, 547– 559.
[53] J.E. Handschin, Monte Carlo techniques for prediction and filtering of non-linear stochastic
processes, Automatica 6 (1970), no. 4, 555 – 563.
[54] M.R. Hestenes and E. Stiefel, Methods of Conjugate Gradients for Solving Linear Systems,
Journal of Research of the National Bureau of Standards 49 (1952), no. 6, 409–436.
[55] N. J. Higham, Computing a nearest symmetric positive semidefinite matrix, Linear Algebra
and Its Applications 103 (1988), 103–118.
[56] J. Hollowell, Heli/SITAN : a terrain referenced navigation algorithm for helicopters, Position
Location and Navigation Symposium, 1990, pp. 616–625.
[57] L. D. Hostetler, Optimal terrain-aided navigation systems, AIAA Guidance and Control
Conference, 1978.
[58] C. Hue, J.-P. Le Cadre, and P. Pérez, Tracking multiple objects with particle filtering, 2000.
[59] M. Isard and J. MacCormick, Bramble : a Bayesian multiple-blob tracker, Proceedings of
the 8h IEEE International Conference on Computer Vision, vol. 2, 2001, pp. 34–41 vol.2.
[60] A. K. Jain, M. N. Murty, and P. J. Flynn, Data clustering : a review, ACM Computing
Surveys 31 (1999), no. 3, 264–323.
[61] M. Joerger and B. Pervan, Kalman filter-based integrity monitoring against sensor faults,
Journal of Guidance, Control and Dynamics 36 (2013), 349–361.
[62] S. Julier, J. Uhlmann, and H.F. Durrant-Whyte, A new method for the nonlinear transformation
of means and covariances in filters and estimators, IEEE Transactions on Automatic
Control 45 (2000), no. 3, 477–482.
[63] S.J. Julier and J.K. Uhlmann, A new extension of the Kalman filter to nonlinear systems,
Proceedings of AeroSense : The 11th International Symposium on Aerospace/Defense Sensing,
Simulations and Controls, 1997.
[64] A. Kallapur, S. Anavatti, and M. Garratt, Extended and unscented Kalman filters for attitude
estimation of an unmanned aerial vehicle, Proceedings of the 27th IASTED International
Conference on Modelling, Identification and Control, MIC ’08, ACTA Press, 2008,
pp. 498–502.
[65] R. E. Kalman, A new approach to linear filtering and prediction problems, Transactions of
the ASME–Journal of Basic Engineering 82 (1960), no. Series D, 35–45.
[66] R. E. Kass, L. Tierney, and J. B. Kadane, Asymptotics in Bayesian Computation, Bayesian
Statistics 3, Oxford University Press, 1988, pp. 261–278.
[67] O. King and D.A. Forsyth, How does condensation behave with a finite number of samples ?,
Computer Vision - ECCV 2000, Lecture Notes in Computer Science, vol. 1842, Springer
Berlin Heidelberg, 2000, pp. 695–709 (English).215
[68] G. Kitagawa, Monte Carlo Filter and Smoother for Non-Gaussian Nonlinear State Space
Models, Journal of Computational and Graphical Statistics 5 (1996), no. 1, 1–25.
[69] A. Kong, J. S. Liu, and W.H. Wong, Sequential imputations and Bayesian missing data
problems, Journal of the American Statistical Association 89 (1994), 278–288.
[70] S. Kotz and S. Nadarajah, Multivariate t distributions and their applications, Cambridge
University Press, 2004.
[71] H.J. Kushner and P. Dupuis, Numerical methods for stochastic control problems in continuous
time, Springer Verlag, 1992.
[72] F. Le Gland, C. Musso, and N. Oudjane, An analysis of regularized interacting particle methods
for nonlinear filtering, Proceedings of the 3rd IEEE European Workshop on ComputerIntensive
Methods in Control and Signal Processing, 1998, pp. 167–174.
[73] E. L. Lehmann and George Casella, Theory of Point Estimation (Springer Texts in Statistics),
2nd ed., Springer, August 1998.
[74] J.J. Leonard and H.F. Durrant-Whyte, Mobile robot localization by tracking geometric
beacons, IEEE Transactions on Robotics and Automation 7 (1991), no. 3, 376–382.
[75] J. Lin, Divergence measures based on the shannon entropy, IEEE Transactions on Information
Theory 37 (1991), no. 1, 145–151.
[76] J.S. Liu and R. Chen, Sequential Monte Carlo methods for dynamic systems, Journal of
the American Statistical Association 93 (1998), 1032–1044.
[77] Z. Liu, Z.and Shi, M. Zhao, and W. Xu, Adaptive dynamic clustered particle filtering for
mobile robots global localization, Journal of Intelligent and Robotic Systems 53 (2008),
no. 1, 57–85 (English).
[78] G Lorden, Procedures for reacting to a change in distribution, The Annals of Mathematical
Statistics 42 (1971), no. 6, 1897–1908.
[79] J. MacCormick and A. Blake, A probabilistic exclusion principle for tracking multiple objects,
Proceedings of the Seventh IEEE International Conference on Computer Vision, vol. 1,
1999, pp. 572–578 vol.1.
[80] J. MacQueen, Some methods for classification and analysis of multivariate observations,
Proceedings of the 5th Berkeley Symposium on Mathematical Statistics and Probability -
Vol. 1 (L. M. Le Cam and J. Neyman, eds.), University of California Press, Berkeley, CA,
USA, 1967, pp. 281–297.
[81] A. Maier and G. F. Trommer, Comparison of centralized and decentralized Kalman filter
for sar/trn/gps/ins integration, Proceedings of the 2010 International Technical Meeting
of The Institute of Navigation, 2010, pp. 74–80.
[82] P.W. McBurney, A robust approach to reliable real-time Kalman filtering, IEEE Position
Location and Navigation Symposium - A Decade of Excellence in the Navigation Sciences,
1990, pp. 549–556.
[83] G. McLachlan and D. Peel, Finite mixture models, Wiley series in probability and statistics.
Applied probability and statistics section, Wiley, 2004.216 BIBLIOGRAPHIE
[84] R.K. Mehra and J. Peschon, An innovations approach to fault detection and diagnosis in
dynamic systems, Automatica 7 (1971), no. 5, 637 – 640.
[85] A. Milstein, J. N. Sánchez, and E. T. Williamson, Robust global localization using clustered
particle filtering, 18th National Conference on Artificial Intelligence (Menlo Park, CA, USA),
American Association for Artificial Intelligence, 2002, pp. 581–586.
[86] A. H. Mohamed and K. P. Schwarz, Adaptive Kalman filtering for INS/GPS, Journal of
Geodesy 73 (1999), 193–203.
[87] G. V. Moustakides, Optimal stopping times for detecting changes in distributions, The
Annals of Statistics 14 (1986), 1379–1387.
[88] A. Murangira, C. Musso, K. Dahia, and J. Allard, Robust regularized particle filter for
terrain navigation, Proceedings of the 14th International Conference on Information Fusion
(FUSION), july 2011, pp. 1 –8.
[89] C. Musso and N. Oudjane, Regularization schemes for branching particle systems as a
numerical solving method of the nonlinear filtering problem, Proceedings of the Irish Signals
Systems Conference, 1998.
[90] C. Musso, P.B. Quang, and F. Le Gland, Introducing the laplace approximation in particle
filtering, Proceedings of the 14th International Conference on Information Fusion, july 2011,
pp. 1 –8.
[91] I. V. Nikiforov, On the first-order optimality of an algorithm for detection of a fault in the
vector case, Automation and Remote Control 55 (1994), 66–82.
[92] , A suboptimal quadratic change detection scheme, IEEE Transactions on Information
Theory 46 (2000), 2095–2107.
[93] P. J. Nordlund, Efficient Estimation and Detection Methods for Airborne Applications,
Thèse de doctorat, Linköping University, 2009.
[94] P.-J. Nordlund and F. Gustafsson, Marginalized particle filter for accurate and reliable
terrain-aided navigation, IEEE Transactions on Aerospace and Electronic Systems 45
(2009), no. 4, 1385 –1399.
[95] K. Okuma, A. Taleghani, N. Freitas, J.J. Little, and D.G. Lowe, A boosted particle filter :
Multitarget detection and tracking, European Conference on Computer Vision 3021 (2004),
28 – 39.
[96] N. Oudjane, Stabilité et approximations particulaires en filtrage non linéaire. Application
au pistage, Thèse de doctorat, Université de Rennes 1, 2000.
[97] N. Oudjane and C. Musso, Progressive correction for regularized particle filters, Proceedings
of the Third International Conference on Information Fusion, vol. 2, 2000, pp. THB2/10–
THB2/17 vol.2.
[98] E.S. Page, Continuous inspection schemes, Biometrika 41 (1954), no. 1/2, 100–115.
[99] E.J. Pauwels and G. Frederix, Finding salient regions in images : Nonparametric clustering
for image segmentation and grouping, Computer Vision and Image Understanding 75
(1999), 73 – 85.217
[100] N. Peach, Bearings-only tracking using a set of range-parameterised extended Kalman
filters, IEE Proceedings on Control Theory and Applications 142 (1995), no. 1, 73–80.
[101] H. Permuter, J. Francos, and I. Jermyn, A study of Gaussian mixture models of color and
texture features for image classification and segmentation, Pattern Recognition 39 (2006),
no. 4, 695 – 706.
[102] D. T. Pham, Stochastic methods for sequential data assimilation in strongly nonlinear
systems, Monthly Weather Review 129 (2001), no. 5, 1194–1207.
[103] D.-T. Pham, K. Dahia, and C. Musso, A kalman-particle kernel filter and its application
to terrain navigation, Proceedings of the Sixth International Conference on Information
Fusion, vol. 2, 2003, pp. 1172–1179.
[104] J. Picard, Approximation of nonlinear filtering problems and order of convergence, Filtering
and Control of Random Processes, Lecture Notes in Control and Information Sciences,
vol. 61, Springer, 1984, pp. 219–236.
[105] M. K. Pitt and N. Shephard, Filtering via Simulation : Auxiliary Particle Filters, Journal of
the American Statistical Association 94 (1999), no. 446, 590–599.
[106] J.-C. Radix, La navigation par inertie, Presses Universitaires de France, 1967.
[107] D. B. Rubin, Using the SIR algorithm to simulate posterior distributions, Bayesian Statistics
3, Oxford University Press, 1988.
[108] M. Rudemo, Empirical choice of histograms and kernel density estmators, Scandinavian
Journal of Statistics 9 (1982), 65 – 78.
[109] N. Ruixin, P.K. Varshney, M. Alford, A. Bubalo, E. Jones, and M. Scalzo, Curvature nonlinearity
measure and filter divergence detector for nonlinear tracking problems, 11th International
Conference on Information Fusion, 2008.
[110] T. Schon, F. Gustafsson, and P.-J. Nordlund, Marginalized particle filters for mixed linear/nonlinear
state-space models, IEEE Transactions on Signal Processing 53 (2005),
no. 7, 2279–2289.
[111] A.N. Shiryaev, The problem of the most rapid detection of a disturbance in a stationary
process, Soviet Math. Dokl. 2 (1961), 795–799.
[112] B. W. Silverman, Density estimation for statistics and data analysis, Monographs on Statistics
and Applied Probability, vol. 26, Chapman and Hall, 1986.
[113] I. Smal, K. Draegestein, N. Galjart, W. Niessen, and E. Meijering, Particle filtering for
multiple object tracking in dynamic fluorescence microscopy images : Application to microtubule
growth analysis, IEEE Transactions on Medical Imaging 27 (2008), no. 6, 789–804.
[114] P. Tichavsky, C.H. Muravchik, and A. Nehorai, Posterior cramer-rao bounds for discretetime
nonlinear filtering, IEEE Transactions on Signal Processing 46 (1998), no. 5, 1386–
1396.
[115] L. Tierney, R. E. Kass, and J. B. Kadane, Fully Exponential Laplace Approximations to
Expectations and Variances of Nonpositive Functions, Journal of the American Statistical
Association 84 (1989), no. 407, 710–716.218 BIBLIOGRAPHIE
[116] B. Turgut and R.P. Martin, Restarting particle filters : An approach to improve the performance
of dynamic indoor localization, IEEE Global Telecommunications Conference, 2009,
pp. 5753–5759.
[117] R. Van der Merwe, N. de Freitas, and E. Doucet, A.and Wan, The Unscented Particle
Filter, Advances in Neural Information Processing Systems 13, November 2000.
[118] J. Vermaak, A. Doucet, and P. Perez, Maintaining multimodality through mixture tracking,
Proceedings of the Ninth IEEE International Conference on Computer Vision, oct. 2003,
pp. 1110 –1116 vol.2.
[119] A. Wald, Sequential Analysis, Wiley, 1947.
[120] M. P. Wand and M. C. Jones, Kernel Smoothing, 1 ed., Monographs on Statistics & Applied
Probability, Chapman and Hall/CRC, December 1994.
[121] N. Whiteley and A. M. Johansen, Auxiliary particle filtering : recent developments, Bayesian
time series models, Cambridge University Press, Cambridge, 2011.
[122] M. Woodrofe, On choosing a delta-sequence, Ann. Math. Statist. 41 (1970), 1665 – 1671.
[123] Chunxia Xiao and Meng Liu, Efficient mean-shift clustering using Gaussian kd-tree, Computer
Graphics Forum 29 (2010), no. 7, 2065–2073.
[124] R. Xu and D. Wunsch, Survey of clustering algorithms, IEEE Transactions on Neural Networks
16 (2005), no. 3, 645–678.
[125] M. Zakai, On the optimal filtering of diffusion processes, Zeitschrift fur Wahrscheinlichkeitstheorie
und Verwandte Gebiete 11 (1969), no. 3, 230–243.
[126] L. Zhibin, S. Zongying, Z. Mingguo, and X. Wenli, Mobile robots global localization using
adaptive dynamic clustered particle filters, IEEE/RSJ International Conference on Intelligent
Robots and Systems, 2007, pp. 1059–1064.Nouvelles approches en filtrage particulaire. Application au recalage de la
navigation inertielle
Les travaux présentés dans ce mémoire de thèse concernent le développement et la mise en œuvre
d’un algorithme de filtrage particulaire pour le recalage de la navigation inertielle par mesures
altimétriques. Le filtre développé, le MRPF (Mixture Regularized Particle Filter), s’appuie à la fois sur
la modélisation de la densité a posteriori sous forme de mélange fini, sur le filtre particulaire régularisé
ainsi que sur l’algorithme mean-shiftclustering. Nous proposons également une extension du MRPF
au filtre particulaire Rao-Blackwellisé appelée MRBPF (Mixture Rao-Blackwellized ParticleFilter).
L’objectif est de proposer un filtre adapté à la gestion des multimodalités dues aux ambiguïtés de
terrain. L’utilisation des modèles de mélange fini permet d’introduire un algorithme d’échantillonnage
d’importance afin de générer les particules dans les zones d’intérêt. Un second axe de recherche
concerne la mise au point d’outils de contrôle d’intégrité de la solution particulaire. En nous appuyant
sur la théorie de la détection de changement, nous proposons un algorithme de détection séquentielle
de la divergence du filtre. Les performances du MRPF, MRBPF, et du test d’intégrité sont évaluées
sur plusieurs scénarios de recalage altimétrique.
Mots-clés : FILTRAGE PARTICULAIRE ; RECALAGE ALTIMETRIQUE ; MODELE MELANGE ; MEAN-SHIFT
CLUSTERING ; ECHANTILLONNAGE IMPORTANCE ; MAXIMUM POSTERIORI ; TEST
INTEGRITE ; DETECTION CHANGEMENT ; ALGORITHME CUCUM
New particle filtering methods. Application to terrain-aided inertial navigation
This thesis deals with the development of a mixture particle filtering algorithm for inertial navigation
update via radar-altimeter measurements. This particle filter, the so-called MRPF (Mixture Regularized
Particle Filter), combines mixture modelling of the posterior density, the regularized particle filter and
the mean-shift clustering algorithm. A version adapted to the Rao-Blackwellized particle filter, the
MRBPF (Mixture Rao-Blackwellized Particle Filter), is also presented. The main goal is to design a
filter well suited to multimodal densities caused by terrain amibiguity. The use of mixture models
enables us to introduce an alternative importance sampling procedure aimed at proposing samples in
the high likelihood regions of the state space. A second research axis is concerned with the
development of particle filtering integrity monitoring tools. A novel particle filter divergence sequential
detector, based on change detection theory, is presented. The performances of the MRPF, MRBPF
and the divergence detector are reported on several terrain navigation scenarios.
Keywords : PARTICLE FILTERING ; TERRAIN NAVIGATION ; MIXTURE MODELS ; MEAN-SHIFT
CLUSTERING ; IMPORTANCE SAMPLING ; MAXIMUM A POSTERIORI ; INTEGRITY
MONITORING ; CHANGE DETECTION ; CUSUM ALGORITHM
Office National d'Études et de Recherches Aérospatiales
BP 72 - 29 avenue de la Division Leclerc
92322 CHATILLON CEDEX
Tél. : +33 1 46 73 40 40 - Fax : +33 1 46 73 41 41
http://www.onera.fr
Méthode de game design pour la cr´eation d’un profil
psychologique du joueur.
Emmanuel Guardiola
To cite this version:
Emmanuel Guardiola. M´ethode de game design pour la cr´eation d’un profil psychologique du
joueur.. Computers and Society. Conservatoire national des arts et metiers - CNAM, 2014.
French. .
HAL Id: tel-00978531
https://tel.archives-ouvertes.fr/tel-00978531
Submitted on 14 Apr 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.Ecole Doctorale Informatique, Télécommunication et Electronique
Centre d’’étude et de recherche en informatique et communication (EA 4529)
THÈSE DE DOCTORAT
présentée par : Emmanuel GUARDIOLA
soutenue le : 22 janvier 2014
pour obtenir le grade de : Docteur du Conservatoire National des Arts et Métiers
Discipline/ Spécialité : Informatique
Méthode de game design pour la création d’un profil
psychologique du joueur
THÈSE dirigée par :
M. Stéphane NATKIN – Professeur – Directeur de l’ENJMIN et responsable de l’équipe MIM du CEDRIC – CNAM
RAPPORTEURS :
M. Pascal ESTRAILLER – Professeur – Laboratoire Informatique Image Interaction (L3i) – Université de La
Rochelle
M. Charles TIJUS – Professeur – Directeur du LUTIN - Université de Paris 8
JURY :
M. Jean Marc LABAT – Professeur à l’université de Paris 6 – UPMC, Lip6 – Président du jury
Mme Caroline JEANTEUR – Directrice du stratégic research Lab, Ubisoft – Examinatrice
Mme Armelle PRIGENT – Maître de conférences à l'université de La Rochelle – Laboratoire Informatique Image
Interaction – Examinatrice
M. Nicolas SZILAS – Maître d'Enseignement et de Recherche – Université de Genève – Examinateur2 3 4 5
Remerciements
A Stéphane Natkin, pour la flamme de la curiosité qu’il sait insuffler, pour son soutien
continuel dans cette aventure, pour avoir imaginé JEU SERAI,
A l’équipe du CNAM, et en particulier : aux doctorants Delphine Soriano et Guillaume
Levieux pour les échanges, à Pierre Cubaud et Clement Pillias pour leurs retours, et à
Stéphanie Mader pour son apport au game design de JEU SERAI,
A Pierre Vrignaud pour tout le temps et l’expertise accordés, dont j’ai sans doute abusé lors
de l’effervescence des analyses,
A l’équipe de Wizarbox ayant donné vie à JEU SERAI, et particulièrement Perrine Corre et
Sophie Michel pour leur professionnalisme et disponibilité tout au long de cette première
étape,
Aux l’équipes de l’ARCNAM Poitou-Charentes, Christine Leblanc-Sitaud, Françoise Le
Vezu et Sylvie Rideau, et de l’UPOND, Lara Cuvillier, pour avoir mené à bien les passations
dans des conditions parfois complexes,
A l’équipe de l’INETOP, Thierry Boy, Odile Dosnon et Even Loarer, pour nous avoir
accueillis et initiés aux enjeux de l’orientation professionnelle, pour leurs contributions à
l’existence de JEU SERAI,
A Caroline Jeanteur et Serge Hascoet pour le challenge intellectuel quotidien de nos
collaborations, terreau fertile de ce travail de recherche,
A l’équipe de Mimesis Republic, dont Cyrill Fontaine et Nicolas Gaume qui ont permis ce
travail passionnant sur le profil gameplay du joueur,
A mes enfants Emma et Bastien pour leur compréhension lorsque je n’étais pas disponible et à
qui je souhaite dire que l’école peut, parfois, avoir du bon,
A Véronique Vilmant-Guardiola : pour m’avoir permis de me plonger dans ce travail
passionnant et accaparant,
Enfin, à Bach, pour l’intégralité de son œuvre qui a constitué mon environnement sonore
exclusif lors de la rédaction finale. 6 7
Résumé
Générer du gameplay est un incontournable objectif de la réalisation d’un jeu. Nous le
recherchons lorsque nous nous rentrons dans la bulle ludique. Pourtant, les éléments produits
par les game designer sont des systèmes de jeu, des règles, une simulation, etc. Pour que ce
système permette la naissance du gameplay, les game designers doivent nécessairement tenter
de modéliser le joueur. Empiriquement ils manipulent des modèles psychologiques et
sociologiques du joueur : Courbe d’apprentissage, gestion de la difficulté, degré d’efficience
(etc.). Au cœur de la session de jeu industriel et chercheur ont besoin de moyens pour mieux
cerner le joueur.
La question que nous nous posons est celle de la détection des traits psychologiques,
d’éléments caractérisant du joueur, au travers du gameplay ou, pour le moins, engagé dans
une expérience ludique. Nous proposons une méthode de game design dédiée à la création
d’un profil psychologique du joueur. Nous avons pu l’expérimenter lors d’un travail de
collaboration avec INETOP et Paris Ouest sur la question des tests d’orientation
professionnelle. Il s’agit du serious game JEU SERAI, développé en partenariat avec
l’industriel Wizarbox. Cette première expérimentation nous permet d’envisager un
développement de ce champ de recherche à la croisée des sciences de l’informatique, de la
psychologie et des sciences cognitives.
Mots clef : modèle du joueur, profil du joueur, game design, gameplay, test d’orientation
professionnelle, modèle de Holland 8 9
Résumé en anglais
Abstract: Can we track psychological player’s traits or profile through gameplay or, at least,
when the player is engaged in a ludic experience? We propose a game design methodology
dedicated to the generation of psychological profile of the player. The main experimentation,
a vocational guidance game, was created with academic experts and industrial game
developpers. The first results set the basis of the exploration of a field at the crossover of
computer sciences, in particular game design, psychology and cognitive sciences..
Keywords: Game design – player profiling – player model - psychological profile –
vocational guidance – Holland model 10 11
Table des matières
Remerciements ........................................................................................................................... 5
Résumé....................................................................................................................................... 7
Résumé en anglais...................................................................................................................... 9
Table des matières.................................................................................................................... 11
Liste des tableaux ..................................................................................................................... 17
Liste des figures ....................................................................................................................... 19
Liste des annexes...................................................................................................................... 23
Introduction .............................................................................................................................. 29
Quelques concepts importants du jeu vidéo......................................................................... 29
Engagement et Gameplay..................................................................................................... 31
Définition du Gameplay................................................................................................... 31
La boucle de gameplay..................................................................................................... 32
Les règles en tant qu’objets : le système de jeu ............................................................... 33
Mise en scène de l’expérience de jeu ............................................................................... 34
Structure motivationnelle ................................................................................................. 35
Contexte narratif............................................................................................................... 35
Empirisme des méthodes de game design........................................................................ 35
Engagement et serious game ................................................................................................ 36
Definition du serious game .............................................................................................. 36
Problèmes soulevés par les professionnels....................................................................... 39
Le modèle du joueur............................................................................................................. 43
Nature de notre recherche .................................................................................................... 45
Plan de la thèse................................................................................................................ 4612
2. Etat de l’art du modèle du joueur dans le gameplay ........................................................ 51
Le joueur dans la boucle d’interaction ................................................................................. 51
Joueur comme acteur de l’ « Objectif-Défi-Récompense» .................................................. 53
Le joueur somme de compétences ....................................................................................... 55
Le joueur apprenant.............................................................................................................. 57
Modélisation de la performance........................................................................................... 59
Intelligence artificielle.......................................................................................................... 60
Le joueur et la difficulté ....................................................................................................... 61
Autres cas d’adaptation du contenu au profil du joueur....................................................... 62
Le degré de complétion ........................................................................................................ 64
Théorie de la décision et modèle du joueur modif ............................................................... 65
Théorie de la motivation ...................................................................................................... 67
La théorie des jeux ............................................................................................................... 69
Serious game et profil de joueur .......................................................................................... 70
Autres relations empiriques entre game design et profil psychologique ............................. 71
Mesure des intérêts professionnels....................................................................................... 73
Biais des questionnaires déclaratifs.................................................................................. 77
Conclusion de l’état de l’art ................................................................................................. 77
Utilité annexe de cet état de l’art...................................................................................... 78
3. Méthode proposée et contexte d’expérimentation ........................................................... 87
Pourquoi évaluer le profil du joueur ?.................................................................................. 87
Evaluer le profil psychologique d’un joueur........................................................................ 89
Méthode de conception proposée......................................................................................... 91
Mise en application sur JEU SERAI.................................................................................... 94
Conclusion sur la méthode ................................................................................................... 96
4. Méthode appliquée au prototype JEU SERAI................................................................ 10113
Choix du modèle ................................................................................................................ 101
Le modèle de Holland .................................................................................................... 101
Questionnaires d’intérêts et modèle de Holland ............................................................ 103
Passations traditionnelles et informatiques .................................................................... 104
Conclusion sur le choix du modèle ................................................................................ 106
Identification du faisceau de contraintes lié à la cible ....................................................... 106
Organisation du travail entre game designers et experts.................................................... 107
Choix du type de jeu........................................................................................................... 108
Mesurer une préférence dans le gameplay ..................................................................... 109
Experience de jeu, thème et genre.................................................................................. 111
Boucle de gameplay et items.............................................................................................. 113
Développement de la boucle de gameplay..................................................................... 113
Bilan des items choisis ................................................................................................... 119
Méthode d’évaluation rationnelle des contenus en conception.......................................... 120
Système de jeu.................................................................................................................... 122
Conception des Mini-jeux, ............................................................................................. 122
Formalisation dans le document de game design........................................................... 124
Choix des mini-jeux et problématiques.......................................................................... 126
Challenge et type de Holland ......................................................................................... 128
Mode de calcul des scores et problématiques ................................................................ 128
Elements de gameplay des mini-jeux et RIASEC.......................................................... 135
L’Item rejouer inégal selon les mini-jeux ...................................................................... 138
Les activités récurrentes ................................................................................................. 138
Design des systèmes de notation par le joueur............................................................... 140
Quizz ........................................................................................................................ 140
Création d’avatar ............................................................................................................ 14214
Mise en scène de l’interaction............................................................................................ 143
Navigation dans le village.............................................................................................. 144
Mini-jeux146
Structure motivationnelle ................................................................................................... 151
Structure du jeu .............................................................................................................. 152
Système de récompense ................................................................................................. 152
Un village stimulant ....................................................................................................... 154
Progression de la difficulté et de la variété .................................................................... 156
Comparaison au type de régulations de Deci et Ryan................................................... 156
Contexte narratif................................................................................................................. 156
Contexte général............................................................................................................. 157
Maisons et personnages non joueurs.............................................................................. 158
Scénarisation du déclenchement de mini-jeux ............................................................... 159
Outils de collecte de données ............................................................................................. 160
Entrées ........................................................................................................................ 161
Restitutions brutes.......................................................................................................... 162
Présentation des résultats pour le joueur ........................................................................ 169
Conclusion sur la mise en pratique de la méthode en conception...................................... 170
5. Tests d’évaluation .......................................................................................................... 177
Protocole d’expérimentation .............................................................................................. 178
Profil des participants..................................................................................................... 178
Modalités des passations ................................................................................................ 179
Etat du prototype au moment des tests........................................................................... 179
Commentaires des participants........................................................................................... 180
Analyse des résultats .......................................................................................................... 180
Tableau de correlation activités récurrentes : « Nombre de clics »/IRMR .................... 18115
Tableaux de corrélation Quizz/IRMR............................................................................ 184
Tableau de corrélation mini-jeux : « joué »/IRMR ........................................................ 187
Tableau de corrélation mini-jeu: « 1er score »/IRMR..................................................... 191
Tableau de correlation mini-jeux : « Meilleur Score »/IRMR ....................................... 193
Tableau de corrélation mini-jeux : « Classement » / IRMR .......................................... 196
Tableau de corrélation mini-jeux : « Note »/IRMR ....................................................... 198
Tableau de corrélation « tenue initiale »/IRMR............................................................. 199
Conclusion sur la méthode d’évaluation ............................................................................ 200
6. Conclusion générale ....................................................................................................... 209
Glossaire................................................................................................................................. 219
Bibliographie.......................................................................................................................... 223
Annexes.................................................................................................................................. 232
Résumé................................................................................................................................... 245
Résumé en anglais.................................................................................................................. 24516 17
Liste des tableaux
Tableau des typologies comportementales extrait de le thèse de Chen Yan, CNAM 2007....... 1
Tableau extrait de "Motivations of Play in online games ". Yee, N. ......................................... 1
Tableau énumérant les 6 mini-jeux par jour/theme................................................................ 113
Tableau listant les « quizz » proposés au joueur dans le village............................................ 115
Tableau des données des activités récurrentes tel qu’il est présenté dans le fichier final.......... 1
Tableau des données des mini-jeux tel qu’il est présenté dans le fichier final .......................... 1
Tableau des données quizz tel qu’il est présenté dans le fichier final........................................ 1
Tableaux des données : ordre des mini-jeux, type de tenue, temps de jeu ainsi que les cellules
réservées aux métiers et commentaires liés au profil global.............................................. 1
Tableau des données des scores RIASEC cumulés.................................................................... 1
Tableau récapitulatif de la pertinence RIASEC des mini-jeux .................................................. 118 19
Liste des figures
Serious game Pulse [BreakAway 2006] simulant un patient virtuel ......................................... 1
Typologie de Bartle.................................................................................................................... 1
The Game Feel model of interactivity extrait de Game Feel, Steve Swink............................... 1
Extrait de [Conroy 2011], modélisation des actions du joueur préalable à la réalisation d’une
IA d’adversaire................................................................................................................... 1
Les sept phases de l’action d’après [Norman 2002] .................................................................. 1
Heuristic circle of gameplay, extrait de Video game reader 2 ................................................... 1
Captures d’écran d’une video montrant un joueur expert de Tetris jouant au mode normal (à
gauche) puis au mode invisible (à droite) .......................................................................... 1
Différents comportements de joueur face à des patterns (segments de circuit) mesurés dans
Forza Motorsport ............................................................................................................... 1
Ecran de score du jeu Defender et écran de fin de mission de IL2 ............................................ 1
Synthèse des changements de contenu destinés à chaque type du DGD ................................... 1
Traduction du continuum de motivation de Deci et Ryan par Guillaume Denis ....................... 1
Exemple de matrice permettant de tracer les décisions du joueur ............................................. 1
Extrait de l’exposé : Les 3 figures de l’orientation par Thierry Boy de l’INETOP basé sur
[Boy 2005],......................................................................................................................... 1
Environnement et personnages de Mamba Nation..................................................................... 1
Matérialisation de la sphère d’influence de l’avatar pendant qu’il joue une animation ............ 1
Schéma synthétisant la méthode de conception proposée.......................................................... 1
Hexagone du modèle RIASEC de Holland................................................................................ 1
Extrait de rapport du test IRMR3............................................................................................... 120
Processus idéal de validation du contenu................................................................................... 1
Boucle de gameplay 1 –boucle principale contextualisée, avec localisation des items servant à
la mesure du profil.............................................................................................................. 1
Boucle de gameplay 2 –boucle complétée des quizz et activités récurrentes, et leurs items
complémentaires................................................................................................................. 1
Boucle de gameplay 3 – intégrant le journal et les activités liées à la maison........................... 1
Boucle de gameplay 4 – boucle finale ....................................................................................... 1
Synthèse des items dans la boucle de gameplay et leurs propriétés........................................... 1
Exemple du système de légende utilisé pour la lecture des tableaux de vérification
d’appartenance des éléments conçus à un type RIASEC. Ici pour le type Réaliste.......... 1
Exemple de tableau d’évaluation d’appartenance des éléments à un type RIASEC. ................ 1
Fiche type de formalisation d’un mini-jeu dans le document de game design ......................... 1
Extrait des documents supports au test d’évaluation : Page présentant la thématique d’un
jour ; page présentant une des activités de la journée et tableau de classification dans le
questionnaire ...................................................................................................................... 1
Ecran de jeu et écran de score du mini-jeu La Tuile.................................................................. 1
Ecran de jeu et écran de score du mini-jeu Les courses de madame Petitpas............................ 1
Ecran de jeu et écran de score du mini-jeu Création d’automne................................................ 1
A gauche l’écran de notation des mini-jeux après y avoir joué, à droite l’écran de
classification des mini-jeux à la fin de chaque journée...................................................... 1
A gauche la signalétique d’un personnage proposant un Quizz, à droite, l’écran de parcours
des solutions et de validation ............................................................................................. 1
Bandeau d’illustration du site de l’éditeur de tests d’orientation professionnelle PAR............. 1
Ecran de customisation de l’avatar en début de partie ............................................................... 1
Interface principale de navigation dans le village...................................................................... 1
Superposition du trajet estimé du joueur suivant la boussole et les positions d’une des activités
récurrentes .......................................................................................................................... 1
Schématisation de la structure du jeu......................................................................................... 121
Boite de dialogue valorisant la récompense et l’écran de customisation de la maison mettant
en avant les récompenses ................................................................................................... 1
Ecran du journal de quête........................................................................................................... 1
Exemple d’un point de vue particulièrement chargé en stimulations gameplay. Mini-jeu,
Quizz et cinq activités récurrentes peuvent y être déclenchées ......................................... 1
Les 3 jours de l’aventure avec leurs ambiances contrastées ...................................................... 1
Affiliation RIASEC des PNJ...................................................................................................... 1
Ecran de restitution du profil pour le joueur .............................................................................. 122 23
Liste des annexes
Annexe 1 - Contexte général du projet Jeu Serai
Annexe 2 - Fiche de conception de mini-jeu
Annexe 3 - Découpage des éléments constitutifs d’un gameplay
Annexe 4 - Profils des participants aux tests d’évaluation 24 25 26 27
CHAPITRE 1 - INTRODUCTION28 29
1 - Introduction
Quelques concepts importants du jeu vidéo
Qu’est-ce qu’un jeu vidéo ? C’est une question assez complexe, car le terme recouvre par
exemple : des jeux d’adresse et d’aventures solitaires comme les les First Person Shooter1
ou
FPS ; des jeux en ligne ou plusieurs milliers de joueur cohabitent en temps réel comme les
Massively Multiplayer Online Role Playing Games ou MMORPG ; des jeux sociaux
asynchrones permettant de partager son expérience via les réseaux sociaux, ou des jeux
colocalisés permettant de simuler un concert de rock ou de s’affronter dans un karaoké
électronique.
Les points communs entre toutes ces activités, dénommées jeux vidéo, d’abord ce sont toutes
des jeux : Elles nécessitent un engagement fort des joueurs dans une activité basée sur un défi.
Ces activités sont soumises à des règles strictes, leurs issues sont imprévisibles et les
conséquences du résultat ne dépendent que de l’importance que le joueur lui donne.
Pourquoi ces jeux sont-ils qualifiés de vidéo ? Les jeux vidéo n’ont pratiquement plus
d’autres rapports avec la vidéo que la nature du signal qui relie la console de jeu au téléviseur.
Il serait plus opportun de parler de jeux informatiques, traduction du terme anglais computer
game. Car c’est l’ordinateur ou la console qui gère l’univers et les règles du jeu et qui,
parfois, est l’adversaire du joueur.
Cette définition nous permet de mettre en évidence un certain nombre de concepts qui sont au
cœur de notre thèse.
La notion d’engagement du joueur qui caractérise le jeu montre en quoi un jeu vidéo se
distingue d’un autre media. Concevoir un jeu c’est créer cette sensation d’engagement et
1
De nombreuses expressions du domaine du jeu, parfois acronymes, souvent anglophones, sont
explicités dans le glossaire en fin de thèse.30
donc se préoccuper à chaque instant de ce que peut ressentir et comment va réagir le joueur.
Au cœur de tout jeu il y a un modèle implicite ou explicite du joueur.
Cet engagement repose en grande partie sur une boucle de rétroaction (feedback) entre
l’évolution du jeu, la perception qu’en a le joueur et la façon dont il réagit, modifiant ainsi
l’état du jeu. Créer cette boucle c’est ce que l’on appelle créer un gameplay.
La formalisation des mécanismes de gameplay et le développement du jeu se traduisent dans
les règles. Les règles du jeu sont apprises dynamiquement par le joueur en expérimentant le
jeu. Le système de règles qui régit la simulation et la relation des joueurs au jeu est appelé
système de jeu et décrit sous forme d’objets du jeu.
La sensation d’engagement est également liée à un contexte narratif. Il peut être explicitement
essentiel au jeu dans un jeu d’aventure ou nécessaire pour permettre au joueur de s’exprimer :
se prendre pour Van Halen en appuyant sur les boutons de couleurs d’une guitare en plastique
ou pour un super capitaliste en lançant les dés du Monopoly.
Ces principes sont mis en œuvres par les concepteurs de jeu, les Game Designers, selon un
processus qui s’est établi dans les quarante dernières années et qui se fonde sur le modèle du
joueur.
Le modèle du joueur peut avoir un usage qui va au-delà du gameplay. Dans les jeux sérieux
(serious game) ayant une utilité d’évaluation ou de thérapie d’un joueur en particulier,
l’utilisation d’un modèle explicite du joueur est indispensable.
Dans la suite de ce chapitre nous détaillons ces différents concepts pour préciser l’objet de
notre thèse 31
Engagement et Gameplay
Définition du Gameplay
Lorsque des joueurs et critiques parlent du gameplay, ils évoquent un jeu en train d’être joué.
Nous pouvons en voir des illustrations sur les sites dédiés aux revues de jeu. Ils comportent
de nombreuses « vidéo de gameplay »2
.
Dans la littérature le gameplay est fréquemment défini comme la relation du joueur au monde
du jeu.
How the player is able to interact with the game-world and how that game-world
reacts to the choices the player makes [Rouse 2004]3
D’un côté nous avons un système de jeu, ou système de règles, élaboré par des game
designers et embarqué dans l’application. Ce système de jeu existe grâce à une simulation
développée par une équipe. De l’autre nous avons des joueurs se représentant mentalement les
situations transmises par la simulation et décidant des actions nécessaires à les transformer.
Créant le lien, un espace d’interaction composé de contrôleurs, capteurs et modes de
perception réciproques.
Les situations que le joueur se représente sont des situations de jeu, parfois définies comme
des patterns [Koster 2005]. Elles comportent un objectif (parfois à l’appréciation du joueur)
une forme d’épreuve pour l’atteindre et une résolution incertaine influencée par les actions du
joueur [Guardiola 2000]. L’expression Objective/challenge/reward4
sert empiriquement à
définir ce cadre.
L’objet qui nous intéresse semble donc être: un système de jeu devenant une représentation
mentale d’une situation jeu et sur laquelle le joueur agit. Rollings et Morris [Rollings 2004]
axent d’ailleurs leur définition du gameplay sur les actes du joueur et ses conséquences.
2
Vous pouvez consulter certaines de ces vidéos sur www.jeuxvideo.fr et www.gametrailers.com/gameplay.php
3
Trad : La manière dont le joueur est capable d’interagir avec le monde du jeu et comment ce monde réagit aux
choix que le joueur fait
4
Trad : Objectif/Défi/Récompense32
A decision has gameplay value when it has an upside and a downside and when
the overall payoff depends on other factors. 5
Les décisions du joueur deviennent des entrées ou inputs ; et une manifestation métaphorique
dans le jeu. Jesse Schell [Schell 2008] parle des mécaniques de gameplay de Space Invader
[Taito 1978] en usant de verbes d’action, décrivant l’ensemble des options offertes au joueur :
se cacher derrière les blocs de protection, tirer sur les aliens avançant ou sur la soucoupe
volante bonus.
A la lumière de ces approches, nous avons établi la définition du gameplay qui nous sert de
cadre pour lui rapprocher des modèles psychosociologiques:
L’ensemble des actions (cognitives ou physiques, performances et stratégies) que
le joueur déploie et qui influencent positivement ou négativement la résolution de la
situation de jeu incertaine dans laquelle il est engagé.
La boucle de gameplay
Ce terme définit la manière dont le game designer formalise la place du joueur dans le
système de jeu. Représentée sous forme de schéma ou de séquence illustrée, elle met en avant
l’activité projetée du joueur. Chaque jeu comporte un nombre limité de gameplay, parfois un
seul. Ce gameplay doit être clairement cerné au travers d’une boucle d’interaction qui se
rapporte au cycle Objectif/Défi/Récompense que le joueur traverse. Un gameplay, une fois
défini, se décline en une multitude de variations, des briques de gameplay, qui vont constituer
un parcours potentiel, et comporte un aspect itératif du point de vue du joueur. Cette boucle a
une propriété quasi fractale. Nous pouvons représenter l’activité du joueur à différentes
échelles : micro, par exemple je tente de positionner le curseur de tir sur un ennemi se
déplaçant ; ou plus macro, par exemple je dois parcourir ce niveau rempli d’ennemis à la
recherche de la sortie. La boucle de gameplay matérialise aussi la nature des conditions
d’échec ou de victoire. Nous pourrions par exemple pour un jeu d’infiltration, matérialiser
par une cellule du schéma « l’avancée précautionneuse » vers un ennemi, qui en cas d’échec,
déplacerait le joueur vers une boucle secondaire « échapper au regard de l’ennemi ». Nous
voyons ici que le cœur de la conception d’un jeu passe par une schématisation de l’activité et
des décisions du joueur.
5
Trad : Les décisions ont une valeur gameplay quant elles ont un inconvénient et un avantage et 33
Caillois suggère que :
Le jeu repose sans doute sur le plaisir de vaincre l’obstacle ; mais un obstacle
fictif, fait à la mesure du joueur et accepté par lui [Caillois 67].
Nous pouvons y voir la référence à l’engagement du joueur mais aussi au défi (Challenge).
L’une des tâches liée à la définition d’un gameplay consiste à expliciter la manière dont les
compétences du joueur vont être confrontées à des situations de jeu, dont les paramètres de
difficultés seront contrôlés par les game designers.
Les règles en tant qu’objets : le système de jeu
On appelle système de jeu l’ensemble des règles qui régissent la statique et la dynamique du
jeu. Il existe plusieurs niveaux de règles [Salen 2004]. En général le Game Design s’intéresse
aux règles opérationnelles : celles qui décrivent le fonctionnement du jeu dans son contexte
d’usage. Dans un jeu de cartes ou de plateau ces règles sont explicitées dans un « mode
d’emploi ». Mais un jeu vidéo est un système à auto apprentissage. Dans la grande majorité
les règles ne sont donc pas écrites pour le joueur, qui va les comprendre en jouant. Les règles
sont formalisées pour les programmeurs, graphistes, concepteurs sonores qui vont développer
le jeu et donc matérialiser le système de jeu. Elles définissent le fonctionnement de tous les
éléments constitutifs de la simulation dans laquelle le joueur sera plongé. Une des approches
les plus répandues consiste à analyser la boucle de gameplay et d’établir la liste des objets à
réaliser pour qu’elle fonctionne. La notion d’objet dans les jeux vidéo est directement inspirée
de la notion d’objet que l’on rencontre dans le génie logiciel. Natkin distingue trois types
d’objets : les objets existant explicitement dans le jeu (un dragon, l’avatar du joueur..), les
objets de mise en scène (une caméra, etc.) et les objets d’ambiance (éclairage et ambiance
sonore lié à la temporalité et ou à la météorologie par exemple). Un objet est une entité qui a
une représentation, qui peut produire des actions, méthodes en termes de programmation, qui
agissent sur d’autres objets et qui évolue en fonction des actions produites par les autres
objets. La description comportementale d’un objet se présente comme un automate à état fini
communiquant avec les automates des autres objets. Notons cependant que la transcription
des systèmes de jeu dans un document de game design prend parfois la forme d’un simple
descriptif fonctionnel.
quand le bénéfice dépend d’autres facteurs34
Mise en scène de l’expérience de jeu
La description de ces objets intègre la manière dont leur état et l’évolution de cet état est
communiqué au joueur. Cet aspect est essentiel puisque c’est la seule façon de lui faire
comprendre les règles. Mais c’est aussi au cœur de tout bon gameplay : la sensation
d’engagement d’un joueur nait de la compréhension des relations de cause à effet entre ses
actions et l’état du jeu. Si le projectile de mon arme permet de détruire un ennemi, il faudra
que cet ennemi comporte un état « touché » particulièrement explicite ou que l’interaction
entre les objets « projectile » et « ennemi » soit souligné, par exemple par un effet spécial
clairement perceptible. L’un des enjeux de la formalisation du système de jeu est donc la
compréhension de la situation de jeu par le joueur. C’est la notion de règle discernable
soulignée par Salen et Zimmerman [Salen 2004]. La notion de communication entre le
système de jeu et le joueur est critique dans les tâches qui reviennent au game designer. Des
stimuli sont envoyés par le système de jeu, provoquant une représentation de la situation de
jeu par le joueur, qui agit, cela modifie l’état du système de jeu, qui lui renvoie des feedbacks.
L’objet de conception le plus marquant de cet échange entre représentation de la situation de
jeu et état du système est la relation étroite entre les contrôles, la caméra et les réactions de
l’objet contrôlé. Il ne s’agit pas tant de définir quel bouton fait quoi, quel type de caméra est
utilisé et ce que contrôle le joueur que de designer ce que va sentir le joueur, le Game Feel de
Swink [Swink 2009]. Dans un genre donné, le jeu de plateforme en deux dimensions, les
sensations que nous éprouvons en contrôlant Sonic ou Mario sont radicalement différentes.
Pourtant nous contrôlons un petit avatar, avec un type de caméra et des boutons aux fonctions
relativement similaires. La définition et l’équilibrage entre eux de ces trois éléments, parfois
ramenés à l’expression les 3C, camera, control, character, vient parfois se compléter d’autres
objets, comme par exemple la nature des collisions. Nous touchons ici au cœur de
l’expérience de jeu pour de nombreux genres et la conception de cet élément clef est
fondamentalement lié la présence d’une modélisation du joueur vu comme presse bouton et
réceptacle de stimuli par le concepteur.
Cette mise en scène couvre aussi des aspects d’ordre psychologique. Le game designer joue
avec les émotions du joueur et ses attentes. Lors d’une conférence [Meier 2010], Sid Meier
citait des exemples typiques de cette prise en compte de la psychologie du joueur. Dans
Civilization V [Firaxis 2010] lorsqu’un joueur souhaite attaquer des unités adverses avec ses
propres unités, une aide contextuelle lui annonce ses chances de l’emporter, admettons une 35
chance sur trois. Le joueur pourrait constamment perdre en tentant des batailles identiques.
Alors qu’en réalité, il considère qu’il peut gagner une fois sur trois. Les designers ont donc
modifié le système pour qu’il colle avec les attentes du joueur. Ce n’est pas une simulation
stricte, mais un jeu qui veut faire vivre une expérience.
Structure motivationnelle
Pour garder le joueur engagé, les game designers déploient un panel d’éléments permettant de
le motiver. Cette structure motivationnelle incontournable peut varier grandement dans sa
nature d’un game design à l’autre. Score à atteindre, récompenses disposées à un bon rythme,
entretient de l’expérience optimale ou flow de Milahy Csikszentmihalyi [Csikszentmihalyi
1991] par le réglage de la variété et de la difficulté des situations, par l’évolution des
potentiels d’interaction, le développement ou la customisation progressive d’un objet… Les
outils sont nombreux et dépendent parfois du genre du jeu réalisé. L’élaboration du level
design et sa fabrication concrète avec les outils de production a, entre autre, pour but
d’entretenir cette motivation d’ordre ludique. Nous parlons encore de tout un pan du game
design orienté vers la manipulation du joueur qui passe par sa modélisation, parfois
complètement intuitive, mais soutenue par des procédés rationnels tel que les sessions de tests
de la difficulté en fin de production.
Contexte narratif
En terme de pratique, de nombreux jeux ne comportent pas de narration au sens d’autres
medium (structurés linéairement, avec des personnages non pas à incarner mais dont nous
suivons les péripéties…). A minima, les game designers doivent établir le contexte narratif de
leur jeu. Où cela se passe ? Le cas échéant, quels sont les personnages clef de cet
environnement ? Quel sont les éventuels grands événements qui vont s’y produire ? Il s’agit
de voir ces éléments avec le point de vue du joueur. Nous nous demandons quel rôle il va
jouer, comment il va influer sur ce monde et en quoi cela l’intéressera.
Empirisme des méthodes de game design
La littérature sur le game design s’est particulièrement développée depuis 2000, période qui
correspond aussi à la création des formations universitaires dédiées à cette discipline. Damien
Djaouti, Julian Alvarez et Jean-Pierre Jessel ont répertoriés les modèles de processus de
conception proposés au travers d’une grande partie de ces ouvrages [Djaouti 2010], 36 au 36
total. La plupart d’entre eux ont été écris par des game designers en activités et sont fondés
sur des pratiques empiriques.
A la lecture des différents ouvrages de game design, un lecteur pourrait parfois se sentir perdu
tant la variété des méthodes de travail semble importante. Cependant, un certain nombre de
principes reviennent fréquemment dans leurs propositions : l’itération, le prototypage, le test
et l’affinage. L’itération est centrale et place le joueur au cœur du processus. Il s’agit
d’évaluer un contenu. Soit cela se passe tôt dans le processus de production, et les game
designers projettent leurs idées en se représentant un joueur y jouant et modifient l’objet de
cette évaluation; Soit la production est relativement avancée et les prototypes sont testés, en
premier lieu par l’équipe elle-même qui évalue les modifications à faire pour atteindre
l’expérience qu’elle souhaite; Soit, enfin, ce sont des tests organisés avec des panels de
joueurs et dont les retours permettrons l’aménagement du contenu pour une expérience
optimale. A chacune des étapes, la conception du contenu itère jusqu’à obtenir un résultat
satisfaisant, ou que les contraintes économiques fassent cesser le processus.
Il est intéressant de souligner qu’au cœur des méthodologies de game design, les points
communs soient éminemment liés à une projection du joueur type.
Engagement et serious game
Branche particulière du jeu, le Serious Game6
pose des problématiques relatives à la place du
joueur dans le processus de création ainsi que sur les méthodologies de game design.
Definition du serious game
La définition exposée ici a été développée dans l’article Du jeu utile au jeu sérieux : un
exemple le projet JEU SERAI publié par la revue Hermès d’avril 2012 [Natkin 2012] et
exposant notre travail de recherche.
Si nous cherchons à définir le serious game en couvrant tous les objets et applications qui s’en
réclament, nous tombons sur une profusion de produits ou projets aux natures extrêmement
variées. Cela irait du simulateur d’entrainement hyper réaliste pour médecin au petit jeu 37
d’arcade en ligne faisant la promotion d’une marque de gâteau apéritif. En prenant en compte
l’ensemble des objets s’en réclamant nous serions contraint à une définition relativement
vague: « Tout objet relevant du numérique qui n’est pas destiné aux loisirs et qui utilise soit
une technologie soit des principes de conception développés à l’origine pour le jeu vidéo ».
Tomberait dans cette définition, l’utilisation d’un processeur graphique (initialement
développé pour permettre de jouer) pour un usage médical, utiliser un moteur de jeu pour
faire de l’animation, un moteur de MMORPG pour créer une université virtuelle ou un
système de points pour fidéliser la clientèle d’un site commercial. Cette définition trop vaste
ne permet de cibler ni un marché, ni un domaine, ni une industrie productrice, il n’est plus
possible d’en dire grand-chose, mis à part sur les avantages d’échelle de marché apportés par
le jeu : les processeurs graphiques précités couteraient cinq à dix fois leur prix si ils n’avaient
été développés que pour leurs « usages sérieux ». Mais si l’on désire aller plus loin dans ce
domaine et comprendre, par exemple, ce qui distingue le ludo éducatif d’il y a vingt ans des
meilleurs jeux de formation actuels, il faut restreindre la définition du terme « Serious
Game ».
Le terme est utilisé pour la première fois en 1970 dans le cadre de jeux non vidéo
pédagogiques. Sa définition est progressivement développée par plusieurs chercheurs,
notamment Benjamin Sawyer et Michael Zyda, l’ancrant dans le domaine du numérique.
6
La traduction française « jeu sérieux » n’est communément pas adoptée, que ce soit dans l’industrie,
l’évènementiel ou la recherche. Nous utiliserons indifféremment les termes Serious game et jeu sérieux dans ce
texte.
Serious game Pulse [BreakAway 2006] simulant un patient 38
Dans leur Introduction au serious game [Alvarez 2010] Alvarez et Djaouti proposent une
définition s’appuyant sur cet historique.
Application informatique, dont l’intention initiale est de combiner, avec
cohérence, à la fois des aspects sérieux (serious) tels, de manière non exhaustive et
non exclusive, l’enseignement, l’apprentissage, la communication, ou encore
l’information, avec des ressorts ludiques issus du jeu vidéo (Game). Une telle
association, qui s’opère par l’implémentation d’un scénario utilitaire, qui, sur le plan
informatique correspond à implémenter un habillage (sonore et graphique), une
histoire et des règles idoines, a donc pour but de s’écarter du simple divertissement.
Les dimensions sérieuses et vidéoludiques sont donc combinées. Cette définition permet déjà
d’exclure les applications pures (par exemple d’e-learning) et les simulations pures (par
exemple le simulateur d’entrainement pour pilotes de rafales). Si elle crée le lien entre les
deux aspects, nous avons souhaité proposer un cadre se fondant sur des définitions éprouvées
du jeu vidéo dit d’Entertainment.
Jesper Juul mène dans Half Real [Juul 2005] une analyse en profondeur des définitions du jeu
et en assemble les dénominateurs communs fondamentaux :
Un jeu est un système dynamique formel dont le comportement, délimité par des
règles, produit des conséquences variables et ayant des effets quantifiables. Le joueur
doit avoir la sensation que ses actions influencent de façon contrôlée le comportement
du jeu. Il doit être émotionnellement attaché aux résultats observés, mais il est seul à
définir quelle est l’importance des résultats dans la vie réelle
Cette définition permet d’analyser les mécanismes basés sur la sensation d’engagement et de
responsabilité du joueur.
Quand l’on considère des jeux sérieux destinés à la communication (politique, publicitaire…),
à l’éducation ou à la formation, aux applications thérapeutiques et qui ont marqués les dix
dernières années, ils ont cherché et réussi à exploiter les principes de conception qui
gouvernent le gameplay et la narration dans les jeux vidéo : L’utilisateur a la sensation que
ses actions influencent de façon contrôlée le comportement du jeu sérieux et est
émotionnellement attaché aux résultats observés.
C’est donc ce principe qui semble lier jeu pas sérieux et jeu sérieux. La différence avec un jeu
sérieux se tient dans la nature dirigiste du résultat souhaité dans la vie réelle : Un jeu politique 39
comme September 12 [Frasca 2003]7
de Gonzalo Frasca tente de vous convaincre que la
solution militaire ne résout pas le problème du terrorisme, America’s Army [U.S.Army 2002]
va pousser le joueur à s’engager dans la dite armée, Supercharged [The Eduction Arcade
2003] vous aide à comprendre les lois de l’électromagnétisme… Tous ces jeux ont
explicitement une utilité autre que le divertissement. Le créateur du jeu a pour objectif de
contrôler une partie des résultats du jeu dans la vie réelle.
Nous pouvons donc proposer une définition, non pas du jeu sérieux, mais du jeu utile :
Un « jeu utile » est un système dynamique formel dont le comportement, délimité
par des règles, produit des conséquences variables et ayant des effets quantifiables.
Le joueur doit avoir la sensation que ses actions influencent de façon contrôlée le
comportement du jeu. Il doit être émotionnellement attaché aux résultats observés.
Mais le « jeu utile » est associé à un objectif défini de «la vie réelle ».
Un jeu utile doit donc pouvoir être évalué selon deux critères : il doit remplir sa fonction de
jeu (Le joueur doit avoir la sensation que ses actions influencent de façon contrôlée le
comportement du jeu. Il doit être émotionnellement attaché aux résultats observés) et il doit
être possible d’en mesurer l’utilité d’usage dans la vie réelle par rapport à l’objectif défini.
Problèmes soulevés par les professionnels
Cette confrontation entre utilité et engagement ludique soulève un certain nombre de
problémes. Les points cités ci-dessous ont été mis à jour lors des ateliers game design
organisés en 2010 et 2011 dans le cadre du Serious Game Lab et accueillis par Universcience.
Ils regroupaient de nombreux acteurs industriels et chercheurs impliqués dans ce domaine.
Nous avons mis en forme et communiqué les résultats de ces ateliers lors d’un masterclass
dédié à la conception de serious game aux eVirtuose 2011 de Valenciennes [Guardiola 2011].
Le choix de jouer
Le premier enjeu auquel sont confrontés les game designers de serious game est un des
ressorts clef du jeu au sens « play »8
. Il s’agit de l’engagement du joueur dans le cercle
magique. Son premier choix consiste à bien vouloir s’engager dans le jeu. S’il y est forcé par
7
Jeu accessible en ligne : http://www.newsgaming.com/games/index12.htm
8
En français le terme jeu peut représenter tant l’objet jeu que l’activité de jouer. L’utilisation du terme
anglais « play » différent du « game » permet de pouvoir faire la distinction.40
son métier (par exemple le joueur de football professionnel gagnant sa vie), ou par d’autres
contraintes, nous sortons du cadre traditionnel du « play ». Or de nombreux serious games ne
sont pas des options pour leurs utilisateurs. Il peut s’agir de jeux visant à tester des candidats
à des recrutements ou à former des employés. Comment arriver à conserver un engagement
ludique malgré cette contrainte?
Hector Rodiguez [Rodriguez 2006] suggère une piste en explorant Homo Ludens [Huizinga
1951].
… de nombreuses manifestions de la culture dite sérieuses possèdent
intrinsèquement des aspects ludiques. (…) Jouer peut faire partie du processus
d’apprentissage parce que le sujet qu’on apprend est, du moins sous certains aspects,
essentiellement ludique. Le rôle des jeux sérieux dans le processus d’apprentissage
consiste donc à mettre en lumière la nature fondamentalement ludique du sujet
enseigné. 9
Pour compenser l’aspect forcé de la pratique de certains jeux sérieux, en particulier
pédagogiques, les game designers se devraient donc de révéler le ludique qui sommeille dans
l’objet de l’apprentissage. Cette solution, mise en pratique empiriquement dans de nombreux
serious game semble fonctionner, si ce n’est pour l’utilisateur, au moins pour le client du
serious game.
Dans le cadre d’un jeu d’Entertainment, le client est le joueur. C’est lui qui au final choisit et
souvent achète les jeux qu’il souhaite expérimenter. Nous pourrions considérer cet acte
comme le premier choix manifestant sa volonté d’engagement. Dans le cadre du serious
game, ce cas est très rare. Le client est généralement une entreprise ou une institution
souhaitant financer un mode d’apprentissage moins coûteux que le panel d’outils qu’il a déjà
à sa disposition. Ou encore souhaitant créer un outil de sensibilisation ou de communication
sur un sujet particulier avec des retombées mesurables. Cela induit parfois un biais potentiel
de conception : le jeu est fait pour convenir au client financeur plus qu’au joueur utilisateur
final. Nous pouvons donc trouver sur le marché des serious games capables de remplir leur
objectif pour le client mais qui n’auraient aucune chance d’être choisis par un joueur. Ce
dernier subirait le jeu plus qu’il n’y jouerait.
9
Traduction Rémi Sussan, Prendre le jeu au sérieux LEMONDE.FR 29.01.10,
http://www.lemonde.fr/technologies/article/2010/01/29/prendre-le-jeu-au-serieux_1298691_651865.html 41
Une approche existe cependant pour garantir le ludique de l’expérience. Nous pouvons en
trouver la source dans les relations croissantes entre games studies et l’industrie du jeu. Il
s’agit d’appuyer la conception d’un serious game sur des propriétés démontrées du jeu. Par
exemple le projet SGCogR [Tekneo 2012], ou Le Village aux oiseaux, n’est pas né du besoin
de répondre à un marché. Des publications sur le jeu, et en particulier celle de Green et
Bavelier [Green 2003], tendaient à démontrer que la pratique des FPS permet d’entrainer
l’attention visuelle de leurs pratiquants. La question s’est alors posée d’un type population
qui pourrait avoir besoin d’un tel entrainement. L’audience choisie fut celle des patients
souffrants d’Alzheimer. L’enjeu du projet consistait donc à réaliser un véritable FPS à
destination des seniors et grands seniors.
Cette approche basée sur les propriétés du jeu n’est certes pas simple à mettre en place
systématiquement. Par contre elle garantit que pour que l’effet escompté soit perceptible, le
jeu se doit être un véritable jeu, engageant pour l’utilisateur final.
Simulation versus métaphore
Nous pouvons constater que de nombreux serious games tentent de reproduire la situation à
laquelle le joueur doit être entrainé. Cette tendance au réalisme ne fait, en théorie, pas bon
ménage avec le jeu par nature métaphorique. Dans sa définition du jeu Costykian [Costikyan
1994] évoque littéralement la manipulation de pions. Qu’il s’agisse d’un pion en bois pour
symboliser un cheval aux petits chevaux ou votre avatar dans World of Warcraft [Blizzard
2004] nous interagissons dans le système de jeu et ses ressources via des pions qui vont
altérer l’état du système. Brougère évoque la nature second degré du jeu qui explique qu’on
l’oppose fréquemment au réel, au sérieux [Brougère 2005]. Il semble donc que nous perdions
un élément clef du jeu si son expérience tend à plonger le joueur dans une reproduction fidèle
de la réalité. L’argument du réalisme est souvent évoqué pour des problématiques très
sérieuses, par exemple entrainer les futurs manipulateurs de nos centrales nucléaires.
Comment ne pas leur proposer un cadre fidèle à leurs futures conditions de travail ? Et
pourtant il existe des contre-exemples à cette tendance. Grentel games, studio hollandais,
développe Laparo Wii en collaboration avec des établissements hospitaliers
10. C’est un jeu
10 La présentation public du procédé au Next Level organisé par Swissnex San Francisco le 13 octobre 2011 :
http://fora.tv/2011/10/13/Next_Level_How_Games_Improve_Health_and_Healthcare#fullprogram 42
destiné à l’entrainement les chirurgiens pratiquant la laparoscopie11. Il ne représente pas de
véritables opérations simulées mais un puzzle game où le joueur doit résoudre les énigmes en
manipulant ses instruments de laparoscopie. Peut-être que le meilleur moyen d’entrainer les
futurs agents de centrales nucléaires est de le mettre aux commandes d’un vaisseau spatial
dans le cadre d’un jeu.
Rapport gameplay/expertise
Les serious game portent des propos ou touchent à des sujets dont souvent les game designers
ne peuvent pas se prétendre experts. De leur côté les experts du domaine sont rarement au fait
des nécessités de la conception d’une bonne expérience de jeu. Il est nécessaire de mettre en
place un processus dans la conception et la production du jeu pour que chacun remplisse son
rôle. Le risque est que l’un ou l’autre prenne l’ascendant sur le contenu et de voir naître un jeu
absolument pas ludique ou un serious game qui ne remplit pas son objectif utile.
Audience et contraintes
Nous l’avons vu, le client n’est pas toujours l’utilisateur. D’autres contraintes viennent
s’ajouter à la conception de serious games. Certains jeux nécessitent d’intégrer deux types
d’utilisateurs. Par exemple dans les jeux thérapeutiques, il y a le patient, mais aussi le
praticien qui parfois paramètre le jeu et doit être pris en compte comme utilisateur non joueur.
D’autre part, le public cible, joueur, est parfois aux antipodes du public traditionnel du jeu.
En reprenant le projet Le Village aux oiseaux, l’utilisateur type est un senior, voire grand
senior, souffrant d’Alzheimer à un degré plus ou moins avancé. Un faisceau de contraintes
nait de cet état de fait. Il se voit parfois complexifié par le contexte d’utilisation du jeu.
Toujours pour le même exemple, la première utilisation visée est dans un cadre médicalisé,
dans l’espace commun où se tiennent les activités de groupe. Le joueur et son environnement
sont des données clefs du mandat initial.
Evaluation de l’impact dans la vie réelle
La nature « utile » du serious game doit d’une manière ou d’une autre être démontrée. Est-ce
que l’apprenant a bien acquis ce que ce jeu est sensé lui apprendre ? Est-ce que ce jeu
11 Permet l’examen et d’éventuelles opérations des organes de l’abdomen en passant un instrument
par une petite incision sous le nombril43
thérapeutique génère une amélioration chez ces patients ? La mise en place de tests pour
l’évaluation de l’utilité du serious game représente parfois un investissement supérieur à son
développement. En termes de conception, le game design, le système de jeu en particulier,
doit permettre de réaliser cette validation. Il peut s’agir de suivre et d’analyser, par exemple,
les performances du joueur dans un entrainement ou au cours d’un apprentissage. La qualité
des modèles utilisés et la manière dont ils sont intégrés au système de jeu sont deux enjeux
critiques pour permettre la réalisation de cette évaluation.
Le modèle du joueur
Générer du gameplay est un incontournable objectif de la réalisation d’un jeu. En tant que
joueurs nous le recherchons lorsque nous nous immergeons dans la bulle ludique. Pourtant,
les éléments produits par les game designers sont des systèmes de jeu, des règles, une
simulation… Pour que ce système donne naissance au gameplay, le game designer doit
nécessairement modéliser le joueur. Si cette modélisation reste encore intuitive et empirique,
les tentatives de formalisation se multiplient.
En 199612 Bartle [Bartle 1996] fut le premier game designer à tenter d’analyser le
comportement du joueur d’un point de vue gameplay. Sa classification des joueurs
dans les MUD (Multi User Dungeon) est toujours une référence discutée par les
designers et les sociologistes. Il a mené une étude sur plusieurs centaines de joueurs,
les questionnant sur leurs habitudes de jeu, et a pu les classer en 4 grandes catégories :
Les killers, socializers, explorers et achievers13
.
12 Nous excluons ici le domaine de la modélisation de l’utilisateur, antérieure à Bartle, car elle ne prend pas en
compte les aspects ludiques.
Typologie de Bartle 44
L’une des critiques principale faite à ce modèle est relative au contexte d’évaluation : il ne
révèlerait que des profils de joueurs de MUD pour un jeu donné, à une période donnée.
D’autres ont été proposées depuis, vous pouvez voir un résumé de certaines de ces typologies
synthétisées par Chen Yan [Yan 2007].
Outre le fait que ces typologies soient associées à un genre particulier, les MMORPG
(massively multiplayer online role playing games), il y a une faille méthodologique
potentielle dans ces approches: les données sont collectées hors du cercle magique, hors du
moment où le joueur est engagé dans le jeu [Huizinga 1951]. Il s’agit généralement de
questionnaires post jeu14. Nous pensons que toute mesure d’un profil gameplay doit se faire
pendant le temps de jeu, lorsque le joueur se sent impliqué [Juul 2005] et perçoit sa posture
comme un joueur actif [Henriot 1989]. Ces prérequis sont nécessaires à générer le jeu (au sens
play), dont le gameplay est lui-même une sous-catégorie [Salen 2004]. Nous devrons
clairement délimiter le territoire de notre investigation, le gameplay.
La modélisation empirique du joueur par les game designers trouve de nombreux échos dans
différents domaines de recherche. D’une part de plus en plus de liens sont explicités entre le
game design et des modèles existants, en particulier en psychologie. D’autre part le gameplay
lui-même tend à être modélisé. La multiplication de la littérature sur le game design, menée
surtout par des développeurs, et la naissance des cursus universitaires sur cette discipline
tendent à proposer des bases plus concrètes à notre approche.
Mais il existe une autre approche intéressante relative à la combinaison d’un modèle
psychologique et d’un modèle du joueur. Depuis les années 1980, certains créateurs de jeu
13 Fréquemment traduit par : Tueur, social, explorateur, collectionneur
14 Vous pouvez essayer une version du test de Bartle sur http://www.gamerdna.com/quizzes/bartle-test-of-gamer-psychology
Tableau des typologies comportementales extrait de le thèse de Chen Yan, CNAM 2007 45
tentent d’implémenter des modèles comportementaux dans leurs game design. Certains titres
vont jusqu’à proposer de mesurer des profils psychologiques aux travers du gameplay. Bien
qu’éminemment empirique et avec pour objectif de générer du plaisir de jeu, il est important
de voir que cette problématique n’est pas récente.
La question que nous nous posons est donc celle de la détection des traits psychologiques,
d’éléments caractérisants du joueur, au travers du gameplay ou, pour le moins, engagé dans
une expérience ludique.
Nature de notre recherche
Développer le game design semble complètement lié à une forme représentation du joueur par
le game designer. Cette pratique empirique est fortement présente dans les processus de
création ou dans les tâches à réaliser et est profondément ancrée dans les éléments
fondamentaux nécessaires à faire exister le gameplay. L’objectif de notre travail est de croiser
pratique du game design et modèles psychologiques pour participer à un éclairage plus
scientifique de cette relation.
Les relations entre comportement du joueur dans un jeu et traits psychologiques persistants
au-delà de la session de jeu sont pauvrement illustrés par la littérature scientifique. Le « Dismoi
comment tu joues et je te dirai qui tu es » n’est pour l’instant pas un fait avéré et
documenté. S’il y a eu des essais pour modéliser le comportement du joueur, à l’exemple de
Bartle, nous avons aussi vu qu’ils avaient leurs limites : les questionnaires servant à dresser
ces profils se faisant après jeu. Il ne s’agit pas de véritables profils gameplay puisque les
données recueillies le sont hors du moment où le joueur est engagé dans le jeu. La mesure
d’un profil « gameplay » du joueur devrait se tenir au sein même de l’expérience de jeu.
La première étape de notre travail de recherche consiste à proposer une méthode de
conception pour réaliser des jeux mesurant un profil psychologique. Ce profil doit être fondé
sur un modèle éprouvé et de s’accompagner d’une démarche permettant d’évaluer la qualité
du profil généré. Il s’agit donc de concevoir et expérimenter une méthode de game design.
Nous supposons que la méthode devrait se baser sur une identification la plus rationnelle
possible des liens entre éléments de contenu et dimensions du modèle servant à la création du
profil psychologique. La définition des items servant à la création du profil et leur évaluation
est au cœur de la problématique. 46
Plan de la thèse
Dans un premier temps, nous allons dresser un état de l’art des modèles du joueur liés à sa
pratique du gameplay. Qu’il s’agisse de mesure de la performance ou de réglage de la
difficulté, il existe plusieurs exemples de modélisations pratiquées. Nous chercherons à
savoir si des liens ont été identifiés entre gameplay et modèle psychologique.
Nous discuterons ensuite la méthode de conception proposée et le contexte d’expérimentation
choisi. JEU SERAI, dont la conception est notre expérimentation, a pour ambition de créer
un lien entre l’activité du joueur engagé dans un jeu et un modèle issu de l’orientation
professionnelle : le modèle de Holland mesurant les intérêts professionnels du sujet.
Nous rapporterons le processus de création de JEU SERAI, s’appuyant sur cette méthode.
Nous nous focaliserons bien entendu sur la manière dont le lien entre game design et mesure
du profil psychologique a pu être élaboré. La nature utile du projet impliquera aussi que nous
abordions la manière dont nous pouvons doter le jeu de tous les éléments nécessaires à la
mesure de l’efficacité des items.
Les premiers tests psychométriques sur des utilisateurs seront alors exposés et nous tenterons
de voir si la méthode retenue permet une bonne analyse des résultats.
En conclusion, nous synthétiserons les enseignements de la mise en pratique de la méthode
proposée et évoquerons les développements possibles qu’elle offre. 47 48 49
CHAPITRE 2 - ETAT DE L’ART
DU MODELE DU JOUEUR DANS LE GAMEPLAY50 51
2 - Etat de l’art du modèle du joueur dans le gameplay
Le modèle du joueur peut être abordé de plusieurs points de vue, académiques comme
empiriques. Nous restreignons cette exploration aux modèles du joueur en train de jouer,
excluant par exemple les références comme Bartle évoquées en introduction, qui créent leurs
typologies sur la base de questionnaires après jeu. Ce panorama des modèles est grandement
empirique, issu de méthode de conception ou de la littérature pratique écrite par des game
designers et développeurs. Certaines disciplines scientifiques ont cependant exploré ce
domaine, comme l’intelligence artificielle.
Cet état de l’art a été réalisé avec pour but non seulement de lister les différents types de
modélisation du joueur jouant mais aussi d’identifier les critères permettant de créer un profil
gameplay du joueur. En conclusion de ce chapitre, nous commenterons la grille d’analyse
issue de ce travail. Elle a été réalisée dans le cadre d’une convention recherche avec la
société Mimesis Republic, réalisant des jeux en ligne et souhaitant se doter d’outils pour
définir des typologies de comportements du joueur.
Le joueur dans la boucle d’interaction
Sans joueur, pas d’entrées pour faire évoluer la situation de jeu. La première des manières de
le percevoir est certainement sous l’angle d’un presse-bouton. Le joueur va modifier l’état du
contrôleur, (ou de tout autre interface matérielle servant aux inputs) pour altérer l’état du
monde du jeu. Cette interaction peut être d’ordre purement métaphorique, je presse un bouton
et cela fait bondir mon personnage, ou intégrer une dose de mimétisme, je fais un revers avec
ma wiimote et mon avatar joueur de tennis fait un revers.
Les game designers anticipent une activité du joueur et l’encourage à « presser le bouton ».
L’introduction de Super Mario Bros [Nintendo 1985] en est un exemple parlant : l’avatar du 52
joueur est statique, un ennemi avance lentement vers lui. S’il ne presse pas sur le
bouton servant à sauter, Mario meurt et il perd une vie.
Le joueur existe sous forme de sujet réagissant à des stimuli. Son temps de réaction, le
processus mental et moteur qui lui est associé, fait l’objet de modélisation et de mesures. Ces
données sont souvent critiques dans les jeux sollicitant les réflexes du joueur. Steve Swink
[Swink 2009] compile ce modèle, et l’ensemble des temps de réactions moyens, dans son
Game Feel model of interactivity, à l’exemple d’une pression de bouton : 240ms temps
moyen de réaction intégrant la perception des stimuli, le traitement cognitif et la réponse
motrice.
Au-delà de la pression de bouton, nous intégrons donc le joueur dans une boucle où il reçoit
des formes de stimuli, des signes attirant son attention sur des potentiels d’interaction, et des
feedback répondant à ses inputs. Le monde virtuel produit des métaphores cohérentes d’après
ses inputs. Je presse le bouton A et mon avatar saute ; Je presse la gâchette de ma manette et
ma voiture accélère ; J’appuie sur le bouton gauche de ma souris et mon arme tire, provoquant
un impact dans l’environnement. Le monde virtuel est bordé par un ensemble de règles (par
exemple le fonctionnement de la physique) qui donnent à croire à ce que je fais. Swink
évoque une extension de notre identité impliquant la chaîne interface matérielle et perception
de ce que nous contrôlons dans le monde virtuel. Au même titre que le conducteur de voiture
The Game Feel model of interactivity extrait de Game Feel, Steve Swink53
hurlant « vous m’êtes rentré dedans » plutôt que « vous avez percuté ma voiture », le joueur
étend sa perception de lui-même jusqu’aux outils qu’il contrôle dans le jeu.
La modélisation du joueur dans le gameplay vu au travers de la boucle d’interactivité répond
en partie à la notion amenée par Janet Murray d’ Active creation of bielief [Murray 1997].
Au cinéma le spectateur est confronté au Suspension of disbielief : le procédé et le contenu
tendent à nous faire oublier que nous sommes face à une illusion. Alors que lorsque nous
jouons : nous croyons en ce que nous faisons et au monde virtuel avec lequel nous
interagissons, car nous y voyons les conséquences de nos actes.
Nous voyons que la perception du joueur comme élément d’une boucle d’interaction est
critique pour réussir à l’impliquer. Ce modèle, pratiqué empiriquement depuis longtemps, est
fondamental pour la réussite de l’expérience de jeu. Le game designer fait percevoir au
joueur, tente de lui faire se représenter une situation, la comprendre, puis planifier et exécuter
des réponses. A la lumière de ce processus, des notions telles que l’affordance prennent
complètement leur sens dans un jeu vidéo.
Joueur comme acteur de l’ « Objectif-Défi-Récompense»
Lorsque Costikyan [Costikyan 1994], game designer, tente de définir le jeu (au sens game)
avec un point de vue de praticien, il se confronte à la problématique de la pluralité des formes.
Malgré cela il en fait ressortir un schéma commun : il s’agit toujours de confronter un joueur à
des choix décisionnels, de lui faire gérer des ressources dans la poursuite d’un but.
La conception d’un gameplay suppose l’implication du joueur dans la boucle itérative
« Objectif-Défi-Récompense». Le joueur est alors une entité interagissant avec le système de
jeu qui lui fournit un objectif (ou le moyen de s’en construire lui-même) et dont la résolution
implique une épreuve. Ces épreuves sont la confrontation entre la somme de compétences
sollicitées chez le joueur et une situation de jeu paramétrée qui comporte l’obstacle dans sa
progression. A l’issue de cette confrontation, le joueur reçoit une récompense pouvant parfois
être simplement le droit de continuer à jouer, de rentrer dans une nouvelle itération de cette
boucle.
Le contenu de cet « Objectif-Défi-Récompense» est propre à chaque jeu et se rapporte à la
conception de la boucle de gameplay explicitée plus tôt. Elle se formalise souvent par un 54
schéma où les activités du joueur sont décrites par des verbes d’action, créant un modèle
unique de sa relation au système de jeu.
Cette modélisation du joueur au travers de ses actions gameplay a été utilisée en recherche en
intelligence artificielle pour réaliser des adversaires aux comportements crédibles [Conroy
2011].
Les actions du joueur sont ramenées à un schéma similaire aux boucles de gameplay réalisées
par les game designers. Son contenu est complètement dédié à un jeu précis, en l’occurrence
Quake 2 [ID 1997] en mode Deathmatch .
Dans ce cas précis, les auteurs se sont servis des travaux en sciences cognitives de Donald A.
Norman sur les sept phases de l’action [Norman 2002] pour justifier leur approche. Ce
modèle d’action éclaire la partie cognitive de la boucle d’interaction joueur/jeu proposée par
Swink.
Extrait de [Conroy 2011], modélisation des actions du joueur préalable à la réalisation
d’une IA d’adversaire55
Le joueur somme de compétences
La pratique d’un jeu sollicite les capacités du joueur. Arsenault et Perron [Arsenault 2008]
synthétisent le processus de sollicitation dans un modèle impliquant les capacités analytiques
ou sensorimotrices du joueur. D’un jeu à l’autre, il est possible d’établir avec plus de
précision ce qui est mis à l’épreuve. Le game designer peut identifier ce qu’il demande
comme « travail » au joueur pour venir à bout des obstacles qui lui sont opposés. Le sens de
l’observation, la capacité de différencier une forme d’une autre, sa coordination, la capacité à
planifier, à anticiper des conséquences, la logique, etc… Tout au long du déroulement d’un
jeu, les gameplay sollicitent de manière de plus en plus poussée une capacité ou demande à
en combiner plusieurs.
Dans son ouvrage sur le game design, Marc Albinet [Albinet 2011] nous propose la notion de
virtuosité. Le joueur s’améliore dans un jeu en le pratiquant, sollicitant de mieux en mieux
les capacités relatives au gameplay concerné. Cette progression est souhaitée et fréquemment
prise en compte dans plusieurs aspects du game design. Un joueur peut traverser un niveau de
Super Mario Bros en s’arrêtant devant chaque obstacle et préparant son prochain saut. S’il y
joue depuis un certain temps sa maîtrise des propriétés de son avatar, des contrôles et sa
connaissance de la disposition des éléments du parcours lui permettrons de faire un rush,
terme consacré décrivant le fait de traverser un niveau ou un jeu le plus vite possible15
.
15 Un exemple de rush, la vidéo d’un rush d’une demi-heure pour finir l’intégralité du jeu Half Life [Valve
1998] http://video.kamaz.fr/rush-de-half-life-en-30min-v2206.html
Les sept phases de l’action d’après [Norman 2002] 56
Cette démonstration de virtuosité est possible parce que le level design le permet et que les
game designers ont intégré dans leur processus de conception la nature des capacités
sollicitées. Il s’agit d’une pratique souvent intuitive. Une vidéo d’un expert de la version
arcade de Tetris [Akira 2005]16 illustre parfaitement cette prise en compte de la progression
des capacités du joueur. L’écran montre la partie en cours et les mains du joueur sur les
contrôles. Sur les deux images ci-dessous tirées de cette vidéo il est possible de voir deux
niveaux différents du jeu. A gauche le dernier niveau « normal » où le joueur visualise les
pièces s’empilant. A ce stade du visionnage on constate la rapidité impressionnante avec
laquelle le joueur expert exécute les manipulations. A droite, le niveau d’après, où le jeu
n’affiche plus les pièces s’empilant. Le joueur n’a pour information que : les pièces à venir
dans la partie haute de l’interface et la pièce qu’il manipule. Dès que cette pièce est posée
quelque part, elle devient invisible. Bien qu’handicapé par ce manque de visibilité sur l’état
de l’empilement, le joueur ne semble pas du tout perturbé et continue de compléter des lignes
(leur destruction est signalée par un feedback discret).
16 http://www.youtube.com/watch?v=AmClMVIr0XU
Heuristic circle of gameplay, extrait de Video game reader 2 57
Pour arriver au stade de maîtrise du dernier niveau normal, où l’empilement est encore
visible, le joueur semble avoir dû développé une capacité à se représenter mentalement l’état
de l’empilement sans le regarder, concentrant son attention sur les pièces à venir et
l’exécution du positionnement de la pièce en cours, rendant possible la performance dans le
niveau invisible. Les game designers de cette version de Tetris ont bien identifié les capacités
sollicités par leur gameplay pour arriver à ce stade de progression dans le jeu.
Le joueur apprenant
Jesper Juul [Juul 2005] suggère une autre manière de modéliser le joueur, par son bagage
stratégique. Lorsqu’il trouve une solution à une situation de jeu donnée, il se dote d’une
stratégie. Cette situation, parfois appelée pattern, risque de lui être représentée plus tard dans
son parcours, parfois avec des variations. En progressant, le joueur accumule des réponses à
des patterns différentes, construit son bagage stratégique. Nous pouvons percevoir ces
stratégies comme des outils indépendants de situations gameplay bien précise : une série de
potentiels d’interaction acquis et à acquérir.
Cet apprentissage progressif est la courbe d’apprentissage d’un jeu. Il s’agit d’une
préoccupation majeure des game designers. Elle est explicitée et documentée, par exemple,
lors de la création du level design d’un jeu de parcours. Le level designer en charge de la
conception d’une portion du parcours doit pouvoir savoir ce que le joueur a traversé, ce qu’il
doit rencontrer et apprendre à faire dans le niveau à concevoir, et le préparer à la
confrontation aux situations de niveaux à venir. Dans les jeux de parcours, cette répartition
progressive d’apprentissages est parfois formalisée en tableau résumant niveau par niveau les
nouvelles situations présentées au joueur. Le joueur apprenant ne doit pas être noyé sous une
Captures d’écran d’une video montrant un joueur expert de Tetris jouant au mode
normal (à gauche) puis au mode invisible (à droite)58
accumulation de nouvelles manipulations à maîtriser, nouvelles stratégies à mettre en place à
un temps donné, tout comme il est nécessaire de lui proposer de la variété dans la succession
de patterns auxquelles il est confronté. Ce mode de représentation des apprentissages a pour
fonction première de consolider la qualité de l’expérience de jeu. Les jeux se dotent parfois
d’outils embarqués ou d’astuces de level design pour s’assurer que le joueur maîtrise une
manipulation ou la mise en place d’une stratégie avant de passer à l’étape suivante.
L’autre aspect intéressant de ce bagage stratégique réside dans la possibilité de mesure des
préférences stratégiques d’un joueur. Ramenée à des données pragmatiques telles que les
inputs du joueur, cette notion de préférence stratégique couvre tous les genres possibles, d’un
jeu de réflexion jusqu’à des gameplay sollicitant des réflexes et de la rapidité. La
modélisation des stratégies du joueur est parfois embarquée. Forza Motorsport [MGS 2005]
en est un exemple remarquable. Le procédé a été développé par le laboratoire de Microsoft à
Cambridge. Ce jeu de course a une fonctionnalité particulière: le Drivatar. Le joueur peut
entrainer une Intelligence Artificielle qu’il peut laisser jouer à sa place. Il doit jouer plusieurs
circuits d’entrainement présentant un ensemble très variés de virages, les patterns gameplay
de ce jeu. Des critères sont enregistrés tandis qu’il conduit : La régularité de la conduite, la
ligne dessinée par le parcours la voiture, les entrées de virages et points de freinage, la
position et la vitesse à l’apex du virage, la vitesse en sortie de virage et le point d’accélération.
Les données collectées alimentent progressivement le profil permettent de générer un double
du joueur, son Drivatar, qui pourra jouer à sa place certaines compétitions [Herbrich 2008]17
.
La création d’un modèle stratégique du joueur avoisine la mesure de ses performances, autre
type de modélisation gameplay, et certaines recherches en intelligence artificielle.
Différents comportements de joueur face à des patterns
(segments de circuit) mesurés dans Forza Motorsport59
Modélisation de la performance
Connaître la performance d’un joueur, le classifier selon un barème est au cœur de nombreux
jeux vidéo. La notion de performance est liée au type de challenge offert par un jeu ou un
gameplay précis. On ne mesurera pas la même chose dans un FPS que dans un jeu de course.
Considéré comme un retour fondamental à donner au joueur dans le gameplay, la restitution
de la mesure de la performance est aussi un levier motivationnel clef.
Cette modélisation des performances est parfois ramenée à un simple score, à l’image des
premiers jeux vidéo en arcade tels que le « Hall of fame » de Defender [Williams 1980]. Elle
peut se déployer sous des formes plus élaborées à l’exemple de IL2 [Maddox 2001] jeu de
combat aérien où le joueur peut accéder à des statistiques plus concrètes, constituées
d’éléments de gameplay identifiables (nombre d’ennemis abattus…). Elles prennent parfois
l’allure de véritables profils comportant des pourcentages de réussite par type d’action
entreprise.
Ces types de modèles ont un rôle critique pour les jeux compétitifs en ligne. Ils servent à la
réalisation d’outils de matchmaking permettant aux joueurs d’être confrontés à des adversaires
de même niveau. Un joueur de Starcraft [Blizzard 2010] souhaitant jouer contre un inconnu
en ligne, voit son profil comparé à celui des adversaires potentiels pour créer un match
équilibré. Les systèmes de mesure des adversaires ont des approches comparables au
17 Outre le document référencé, vous trouverez une description des recherches sur le Drivatar en ligne :
http://research.microsoft.com/en-us/projects/drivatar/theory.aspx
Ecran de score du jeu Defender et écran de fin de mission de IL260
GLICKO18 servant au classement des joueurs d’échec. Le MMR (matchmaking rating) de
Blizzard ou le Microsoft TrueSkill [Herbrich 2007] procèdent de manières relativement
similaires. Au-delà de la mesure d’un profil de performance, ils confrontent des probabilités
de performance pour déterminer l’équilibre idéal entre deux adversaires19
.
Deux critères de la modélisation de la performance peuvent aider à la mesure de la relation
entre le but du joueur et le résultat effectif de ses actions. L’efficience, efficiency, du joueur
se mesure aux ressources dépensées pour arriver au résultat (combien de munitions ont été
dépensées pour venir à bout de ces ennemis ?). L’effectivité, effectiveness, mesure si le
joueur est arrivé à atteindre le but. L’effectivité peut être plus délicate à évaluer dans les jeux
laissant la liberté au joueur de se créer ses propres objectifs, comme par exemple dans un
Minecraft [Mojang 2011] ou un Sims [Maxis 2000].
Intelligence artificielle
Les recherches en intelligence artificielles ont proposé plusieurs approches pour modéliser le
joueur. D’un point de vue pratique, le but a souvent été de pouvoir lui offrir des challenges
adaptés. Maria-Virginia Aponte, Guillaume Levieux et Stéphane Natkin [Aponte 2009] ont
par exemple utilisé un modèle du joueur en intelligence artificielle pour automatiser la mesure
de la difficulté d’un jeu. Mais la majeure partie de ces recherches ont pour but de confronter
au joueur des adversaires virtuels de bonne qualité.
Historiquement, l’intelligence artificielle aborde la problématique de la modélisation du
joueur dans les échecs ou le Go pour tenter de créer des joueurs virtuels capables de trouver la
solution optimale à une situation de jeu. Les recherches sur la solution optimum ont pour
inconvénient de limiter à une unique facette l’expérience de jeu. Le joueur ne cherche pas
toujours à avoir la plus performante des décisions. Il peut, par exemple, seulement chercher à
passer une épreuve, même si c’est de justesse et loin de la performance optimum [Cowley 07].
18 Amélioration du classique ELO proposée par Mark Glickman et prenant en compte la mesure de la
fiabilité du classement
19 Les caractéristiques du Microsoft TrueSkill sont aussi consultables en ligne : http://research.microsoft.com/enus/projects/trueskill/details.aspx61
Une autre approche consiste à créer un historique de l’utilisation de stratégies associées à
leurs contextes puis d’en retirer un modèle d’action. Cela demande de gérer l’ensemble des
variables gameplay d’un jeu. Cette approche est fonctionnelle sur des jeux comme Pacman
[Namco 79] ou Space invader ayant peu de variables gameplay, mais devient plus complexe à
manipuler sur les simulations et systèmes de jeu plus élaborés. Nous avons peu d’exemples
tangibles de son application à des jeux complexes. Ronan Le Hy [Le Hy 2003] a élaboré une
méthode d’entrainement d’un avatar virtuel basé sur la reproduction du comportement de
joueurs, sur ses micro-choix dans des situations gameplay. Le résultat permet de réaliser des
comportements convaincants, comme pour l’exemple de Forza Motorsport évoqué plus haut.
Ces processus, souvent basés sur l’historicité et un grand nombre de paramètres contextuels,
permettent difficilement d’imaginer le comportement du joueur dans de nouvelles situations,
face à de nouveaux patterns. Or un jeu est une situation se renouvelant sans cesse.
Le joueur et la difficulté
Les créateurs de jeu déploient parfois des moyens considérables en tests et en ajustements du
contenu pour que le joueur soit toujours confronté à un défi intéressant. L’énergie déployée
autour de cette modélisation des performances du joueur est légitime et éclairée par les
théories de l’expérience optimale décrites par Milahy Csikszentmihalyi [Csikszentmihalyi
91]. Pour que l’expérience ludique soit optimale, il faut que les défis proposés au joueur ne
soient ni trop durs, car il serait frustré, ni trop faciles, car il s’ennuierait.
Les game designers intègrent la gestion de ce modèle dans leurs modalités de création. Lors
de l’élaboration du système de jeu, ils identifient les variables clefs qui vont servir à régler la
difficulté du gameplay. Dans bien des cas, fabriquer cette expérience optimale se fait par une
itération : l’équipe réalise des niveaux de jeux avec des variables de difficultés estimées ; des
tests utilisateurs sont mis en place pour vérifier la valeur de difficulté perçue par les joueurs et
l’équipe effectue des corrections pour ajuster les passages trop durs ou trop faciles. Ces
sessions de test construisent un modèle du joueur fondé sur des aspects pragmatiques du
gameplay. On mesurera le temps qu’il met à finir un niveau, le nombre de fois où il est en
situation de game over ou de blocage, le nombre d’items qu’il collecte sur le nombre qu’il est
supposé collecter… De ces données et de leurs corrections, les variables clefs du jeu sont
aménagées, cernant une sorte de joueur générique pour qui l’expérience de jeu est construite.
Plusieurs niveaux de difficultés peuvent être réalisés pour correspondre à plusieurs profils. 62
Du point de vue de la recherche, Guillaume Levieux [Levieux 2011] propose une méthode de
mesure de la difficulté embarqué. Un modèle du joueur est construit en temps réel sous forme
d’une probabilité d’échec face à un challenge donné en tenant compte autant des paramètres
de la situation de jeu que des capacités du joueur. Ce modèle n’est pas lié à un titre ou un
genre mais peut s’adapter au jeu visé. Cette méthode de rationalisation de la mesure de la
difficulté est un exemple réussi d’explicitation d’une pratique de l’industrie.
Il existe aussi des cas de modélisation embarquée de la difficulté. A titre d’exemple, la
difficulté des monstres à vaincre dans Elder Scroll Oblivion [Bethesda 2006] est dynamique.
Le joueur se déplace dans un monde ouvert et les game designers ne contrôlent pas l’ordre
dans lequel il va accomplir ses quêtes ou être confronté aux différentes situations de conflit.
Pour contrôler l’expérience optimale, les monstres générés sur son parcours s’adaptent à la
puissance du joueur clairement mesurée en variables gameplay. Ce procédé lui assure
théoriquement qu’il sera toujours confronté à des monstres lui procurent un défi intéressant.
Il est à noter que frustrer le joueur ou lui rendre la vie facile ne sont pas des expériences
complètement bannies par les game designers. Nous pouvons décider de lui faire éprouver un
sentiment de puissance en lui laissant exercer un pouvoir sur des ennemis un peu trop faibles
pour lui. A l’inverse le joueur peut être mis dans une situation d’impuissance pour lui faire
éprouver une grande peur ponctuelle ou le désarçonner. La mise en scène peut donc utiliser
ce modèle pour construire des situations émotionnellement intéressantes bien que contredisant
le principe de l’expérience optimale.
Autres cas d’adaptation du contenu au profil du joueur
Outre les cas décrits dans les sections précédentes, de nombreuses recherches sont menées
actuellement pour tenter d’établir des méthodes d’adaptation du contenu d’un jeu au joueur en
activité. Voici quelques exemples complémentaires.
Chen Yan [Yan 2007] développe un moteur de narration adaptative pour les jeux multijoueurs
ubiquitaires. Le modèle du joueur doit ici servir à lui adapter les prochaines propositions de
quêtes en fonction de son profil et de sa géolocalisation. Avant de commencer sa partie, le
joueur est invité à remplir un questionnaire permettant de réaliser le profil initial, fondé sur les
Five Factor Model de Costa et McCrae [Costa 1992], et qui sert à initialiser le moteur
adaptatif générant les premières propositions de quêtes. La méthode de conception de jeu 63
ubiquitaire, résultat de son travail, s’appuie sur le lien entre la mesure d’un modèle
psychologique du joueur et une proposition de contenu sensé lui convenir.
Rodrigo Dias et Carlos Martinho [Dias 2010] ont utilisé le « Demographic Game Design
Model » (Ou DGD) pour mesurer si le joueur se sent plus engagé dans le jeu quand le contenu
lui est adapté. Le DGD a été développé par Bateman et Boon dans 21st Century Game
Design [Bateman 2005], et se veut un outil de classification des comportements de joueurs
basé sur la typologie de Myers-Briggs ramené à quatre grands types : Conqueror, Manager,
Wanderer et Participant. C’est à base de questionnaires sur des préférences d’activités dans
un jeu que la classification des joueurs s’opère. A chaque type, un contenu optimal est
proposé pour plusieurs catégories d’éléments (tableau de synthèse ci-dessous). Un second
questionnaire à l’issue de la partie évalue la perception qu’on les joueurs de la difficulté, du
rythme, du nombre d’objectif et de la manière dont ils utilisent les contrôle. Ce questionnaire
se veut une une évaluation de leur immersion. La conclusion de leur expérimentation met en
avant une meilleure perception de l’immersion, que les auteurs voulaient comme
représentative de l’engagement, lorsque le jeu est adapté au profil DGD du joueur.
Si ce type de recherches tend à légitimer l’importance de l’adaptation du contenu à une
typologie de comportement gameplay, elle n’en reste pas moins basée sur des questionnaires
pour ce qui est de l’établissement du profil comportemental du joueur.
Autre méthode d’adaptation du contenu, le PADS, ou « Profile-Based Adaptative Difficulty
System » a été développé par une équipe de l’Université de Houston [Yun 2010].
L’expérimentation principale consiste à faire jouer un jeu à différents niveaux de difficulté
(très facile, très dur, puis à des niveaux s’ajustant de minutes en minutes au joueur). Le profil
de difficulté idéale du joueur est créé selon des données gameplay pragmatiques : nombre
d’ennemis tués ou nombre d’ennemis rencontrés. A chaque minute de jeu un questionnaire
Synthèse des changements de contenu destinés à chaque type du DGD 64
est proposé pour évaluer la difficulté ressentie. Poser des questions brèves au sein même de la
partie est en soit un point intéressant. L’autre aspect que nous retenons de leur travail est le
fait d’avoir voulu créer, non pas un modèle de performance, mais un profil de l’expérience
optimale du joueur auquel ils adaptent progressivement les paramètres de difficulté.
Le degré de complétion
De nombreux jeux offrent plusieurs manières de les expérimenter pour satisfaire différents
types de joueurs, dont certains ont été nommés dans les catégorisations telles que celle de
Bartle.
Par exemple, dans un jeu de course comme Mario Kart DS [Intelligent Systems 2005], nous
pouvons remporter une course et la qualité de notre victoire évaluée par un système d’étoiles.
Certains se contentent de gagner la course pour passer à la suivante, d’autres veulent obtenir
toutes les étoiles.
Dans les jeux solo d’action aventure, il existe fréquemment un chemin critique, ou critical
path, permettant de traverser l’ensemble des niveaux, vivre une majorité des expériences
conçues par les game designers, et de terminer rapidement le jeu. Mais ce faisant, nous
passons à côté de nombreux bonus, d’objets particuliers, de lieux parfois cachés, voire de
niveaux entiers dissimulés. Certains joueurs se contentent de ce chemin critique, d’autres
passeront le temps nécessaire à explorer et débloquer 100% du contenu. Il n’est pas rare de
voir ce pourcentage de complétion dans les écrans de score ou de statistiques auxquels le
joueur a accès.
Cette quête d’achèvement est au cœur du système des Achievement Points développé par
Microsoft pour sa console la Xbox 360. Les exploits possibles dans un jeu donné sont
clairement explicités aux joueurs. Chaque exploit est récompensé en Achievement Points qui
n’ont à cette heure pas d’autre fonction que d’être exposé aux autres, comme des trophées.
Ce simple mécanisme suffit à générer des comportements acharnés pour l’obtention
d’Achievement particulièrement tortueux. Certains réclament de recommencer intégralement
un jeu et le jouer d’une manière spécifique, à l’exemple du très long Mass Effect [Bioware
2008]. Ce procédé est désormais rependu sur l’ensemble des plateformes, par exemple sur PC
vous trouverez des « Succès », sur Battle.net des hauts-faits.65
Ce paramètre de volonté d’achèvement est un critère de mesure du comportement du joueur
ayant déjà démontré son utilité dans nombre de titres. Il peut, à minima, se restituer sous
forme d’un pourcentage du fait sur le possible.
Critère voisin, la persévérance est mesurée lors des tests de la difficulté de jeux solos.
Demander à un joueur de recommencer plusieurs fois quelque chose pour y arriver peut
pénaliser un titre. Mais inversement, savoir combien de fois un joueur est prêt à
recommencer une action peut s’avérer un éclairage intéressant sur sa manière de jouer.
Théorie de la décision et modèle du joueur modif
La théorie de la décision semble pourvoir éclairer un aspect fondamental du gameplay, le
choix, souligné par célèbre créateur de jeu Sid Meyer. Cité dans [rollings 2004] il nous dit :
A [good] game is a series of interesting choices 20
Dans les théories de la décision, nous nous sommes particulièrement intéressés à la théorie
des perspectives (prospect theory) de Tversky et Kahneman [Tversky 1992] relative à la prise
de décision dans un contexte incertain. Le modèle proposé est un candidat particulièrement
pertinent à l’analyse du comportement gameplay, car le gameplay est une série de choix dans
l’incertitude.
Nous pouvons distinguer quatre types de comportements face au risque, résumé dans le
« Fourfold pattern ».
Ce tableau se superpose étonnamment à un mode de classification adopté par les joueurs de
poker pour estimer le comportement de leurs adversaires.
20 Trad : Un bon jeu est série de choix intéressants
De Gain De Perte
probabilité faible Risquophile par rapport aux gains Risquophobe par rapport aux pertes
probabilité élevée Risquophobe par rapport aux gains Risquophile par rapport aux pertes 66
Le comportement d’un joueur face au risque peut être représenté comme une aire à deux
dimensions : Un axe des probabilités de réussite se calculant par la confrontation les moyens
choisis par le joueur à une série de variables de la situation ; Le second axe échelonnant la
qualité du rapport entre les ressources engagées et celles qu’il est supposé gagner. Chaque
décision d’engagement dans une situation de jeu pourrait être représentée par un point dans
cette aire. Dans une situation classique de FPS l’axe de probabilité de réussite se baserait sur
l’arme choisie par le joueur versus le nombre d’ennemis, leur puissance de feu, leur réactivité,
etc. Celui des ressources engagées devrait prendre en compte l’exposition de l’avatar plus ou
moins importante aux perceptions et aux tirs ennemis. La création d’un tel outil de mesure
embarqué est rendue complexe par l’analyse préalable à sa mise en place. Elle nécessite une
connaissance exhaustive du système de jeu, mais elle offrirait une manière inédite de
classifier le comportement un joueur de jeu vidéo.
La théorie de la décision amène d’autres notions pertinentes pour le jeu vidéo comme celle
d’Utilité. Synthétiquement : cinq euros n’ont pas la même valeur que l’on soit clochard ou
millionnaire. Le joueur va évaluer subjectivement la valeur des ressources dont il dispose et
les récompenses possibles liées à ses choix gameplay. Lui promettre un canif en récompense
alors que son avatar possède déjà une gigantesque épée magique semble peu approprié. Dans
la pratique, l’utilité est intuitivement prise en compte pour l’élaboration de la progression de
l’avatar et la qualité des récompenses parsemant son parcours. Il s’agit la encore d’un levier
motivationnel, particulièrement présent dans des genres tels que le jeu de rôle.
Autre notion pertinente, celle d’Ambigüité : nous prenons une décision engageante en ayant
ou non cerné l’ensemble des facteurs probabilistes liés à son résultat. Quels stimuli le joueur
a reçu et/ou perçu quand il prend sa décision ? Sait-il tout ? Notre rapport à la connaissance
de la situation dans laquelle nous nous engageons est un critère de comportement ludique
potentiel mais il peut s’avérer difficile d’élaborer le modèle de la connaissance que le joueur a
du jeu.
De Gain De Perte
probabilité faible Loose / Agressive Tight / Passive
probabilité élevée Tight / Agressive Loose / Passive 67
Théorie de la motivation
Les théories de la motivation étudient les phénomènes motivationnels tels que les besoins
physiologiques et psychologiques, l’implication, l’intérêt, le sentiment de compétence [Denis
2006]. Elles explorent le domaine du jeu vidéo depuis les années 1980. Lepper et Malone
[Lepper 1987] ont par exemple étudié les motivations liées à l’usage de l’ordinateur dans
l’éducation et par extension le jeu vidéo, tenant d’en identifier les leviers motivationnels.
A l’image de la typologie de motivation de Yee [Yee 2007], la plupart des études
comportementales liées à la motivation ont pour cadre les MMORPG21. Or la forme du jeu
est variée. La recherche d’une méthode d’évaluation de la motivation assez souple pour
s’adapter à plusieurs types de gameplay serait en soit un domaine de recherche à explorer.
Propice à la création d’un modèle de comportement ou à la mesure d’un état psychologique,
Guillaume Denis utilise le continuum de Deci et Ryan [Deci 2000] dans le contexte du jeu
vidéo. Ce continuum identifie les étapes du parcours d’un joueur de l’amotivation vers
l’autodétermination.
Les types de motivation
• l’amotivation indique l’absence de motivation ;
• la motivation extrinsèque caractérise un engagement incité par des facteurs
externes à l’activité elle-même, comme les récompenses, la pression sociale, la
compétition, etc.
• la motivation intrinsèque caractérise un engagement libre de l’individu pour ce
qu’une activité lui apporte en elle-même : plaisir, satisfaction, détente, etc.
21 Et comme nous les soulignions en introduction, la plupart de ces typologies sont fondées sur des
questionnaires après jeu, hors du gameplay
Tableau extrait de "Motivations of Play in online games ". Yee, N.68
Les types de régularisation ou profils motivationnels:
• la régulation externe qui désigne une action dirigée vers l’obtention d’une
récompense ou l’évitement d’une punition
• la régulation introjectée qui apparaît en réaction à une pression sociale :
sentiment de culpabilité ou de honte, attente de compliments, etc.
• la régulation identifiée qui conduit l’individu vers des activités que lui-même
juge importantes pour son développement
• la régulation intégrée qui concerne les activités liées à l’estime de soi ou qui
sont en accord avec une philosophie de vie
Pourrions-nous situer le profil motivationnel d’un joueur à un temps T sur ce continuum en
utilisant le type de régulation comme instrument d’évaluation de son comportement ?
Prenons l’exemple de World of Warcraft. L’introduction progressive des différents systèmes
de jeux au joueur se calque étonnamment aux différents types de régulation extrinsèques.
• la régulation externe : or à gagner, à collecter ; les drop des ennemis vaincus ;
les points d’expériences… des récompenses immédiates perçues comme
accumulation d’un score.
• la régulation introjectée : le système de quête ; la montée d’un niveau à l’autre ;
la progression des caractéristiques et des compétences… La manifestation
positive du jeu en réponse à nos actions.
• la régulation identifiée : la possibilité de créer des objets complexes
nécessitants une succession de taches élaborées, ou celle de projeter des
stratégies de développement des compétences de son avatar. Ces systèmes
Traduction du continuum de motivation de Deci et Ryan par Guillaume Denis 69
supposent une distance entre le but à atteindre et la série d’actions nécessaires
à leur réalisation.
• la régulation intégrée : les systèmes de guildes, de socialisation dans le jeu, les
arènes permettant le combat joueur contre joueur, la taille du monde, son
volume important de quêtes (…) sont les supports à l’épanouissement de ce
type élevé de motivation. Ils permettent l’émergence de comportement comme
vouloir explorer le monde entier, devenir le meilleur combattant d’une arène,
faire respecter les principes d’une guilde ou encore devenir pacifiste22
.
Nous pouvons constater que les types de comportements décrits par Bartle se rapportent au
plus haut degré de motivation extrinsèque, régulation intégrée et locus de causalité interne.
Si théoriquement nous devrions pouvoir placer le joueur sur ce continuum et élaborer un
profil motivationnel, il semble délicat de donner un sens à ses inputs pour catégoriser avec
précision son type de régulation.
La théorie des jeux
La théorie des jeux appliquée au jeu vidéo permet d’éprouver une portion de système de jeu.
Rollings et Morris explicitent cette utilisation en mettant en confrontation des types d’unités
dans un jeu de stratégie et évaluant l’équilibrage des pay-off.
Dans un travail précédent [Guardiola 2005] nous avons explicité un moyen de mesurer les
choix d’un joueur en utilisant la théorie de jeux. L’expérimentation s’est faite sur le jeu Ninja
Gaiden [Team Ninja 2004]. La confrontation des stratégies était représentée sous forme de
matrices modélisant les prises de décision possibles du joueur et leurs pay-off,. Chaque
matrice représentant l’ensemble exhaustif des choix du joueur dans un état donné du jeu, une
situation de jeu étant composée de plusieurs états. Les entrées étaient les inputs sur les
contrôles et leurs traductions en effets sur l’avatar, versus un état du système de jeu. Chacun
des résultats, les pay off, est mesuré grâce aux ressources risquées ou gagnées par le joueur
pour ce cas précis. Le barème de calcul des pay-off a pu être élaboré rationnellement grâce
aux propriétés du système jeu, permettant de ramener n’importe quel bénéfice ou perte (vie,
munitions, argent…) en une seule variable.
22 Les pacifistes font progresser leurs avatars sans tuer aucun ennemi. Il s’agit d’un comportement
émergeant dans world of warcraft et commenté par la presse spécialisée (exemple :
http://boingboing.net/2008/01/08/pacifist-warcraft-pl.html)70
Par cette méthode, un jeu peut être ramené à un nombre fini de matrices illustrant l’ensemble
des situations de jeu que le joueur traverse. Nous avions relevé qu’un joueur prend rarement
des décisions pour obtenir un résultat optimum dans la matrice dans laquelle il se trouve. Son
pay-off est souvent projeté plusieurs matrices plus loin. Ce procédé, certes lourd à mettre en
place, permettrait, par exemple, de savoir si un joueur prend des décisions avec une vision des
bénéfices à court, moyen ou long terme.
Serious game et profil de joueur
Suite à l’essor du serious game, des jeux sont développés avec pour but utile de dresser des
profils destinés au recrutement.
Matrix 2 : Avatar on ground in Protected Zone Game system player
A – The close combat oriented enemy
try to reach the player
B – The close combat oriented enemy
make an attack
Human player Control Effect on avatar
2 do not shot
1 prepares
close combat
1 shots
1 doesn’t
shot
1 prepares
close
combat
2 shot
1 prepares
close combat
2 do not
shot
1 makes a
close
combat
attack
1 shots
1 doesn’t
shot
1 makes
close combat
attack
2 shot 1
makes a
close combat
attack
no input standing 0 -20 -40 -60 -80 -100
L Stick Move to the next zone, n
the same zone, in the
previous zone
0 -15 -30 -60 -75 -90
A Jump 0 -2,5 -2,5 -60 -62,5 -65
A + L Stick Jump and move 0 -2,5 -2,5 -60 -62,5 -65
Hold R trigger Block -300 -300 -300 0 0 0
Hold R trigger + L
Stick
Roll 0 -0,1 -0,2 0 -0,1 -0,2
X Sword attack +25* +20* +15* +25* +20* +15*
B Range attack with bow +50 +45 +40 -10 -15 -20
B+Y Spell (fire shield) -1950* -1950* -1950* -1950* -1950* -1950*
Human player
Exemple de matrice permettant de tracer les décisions du joueur 71
Précurseur du genre America’s Army, est un jeu produit par l’armée américaine pour faire la
promotion des carrières militaires. Ce titre a connu plusieurs versions, dont une commerciale
grand public [Secret Level 2006]. Le site officiel23 d’America’s Army explique aux joueurs
que les données collectées dans le jeu, telles que le type de rôle ou de mission que l’on
choisit, servent de support à l’élaboration de l’éventuelle proposition de carrière ou de
formation que peut leur offrir le bureau de recrutement. Si ces données sont relativement
sommaires, la méthode dénote déjà de la volonté d’établir une adéquation entre un
comportement dans le jeu et un environnement socio-professionnel.
Le projet PEPco (Programmes d'Evaluation du Potentiel Cognitif) MISIVIAS développé par
les sociétés SBT, Daesign et ArnavA est emblématique du type de jeux actuellement proposés
en assessment. Il a pour ambition d’élaborer le profil des candidats à des postes de manager.
Le joueur est plongé dans un jeu simulant un environnement de travail où il a des décisions à
prendre. Des mesures sont effectuées pour, en théorie24, mesurer des capacités telles que la
prise de risque, le temps de réaction ou encore la conscience stratégique. La méthodologie
précise employée pour réaliser ce profiling n’est pas renseignée, elle porte le nom de
référentiel ArnavA, du nom d’une des entités commerciales impliquées.
S’il existe bien une volonté de dresser un profil du joueur dans plusieurs catégories de serious
game, il est difficile d’évaluer la fiabilité des méthodes mises en place, soit parce qu’elles ne
sont pas communiquées, soit parce que nous n’avons pas de visibilité sur d’éventuels tests de
validation.
Autres relations empiriques entre game design et profil psychologique
Nous abordons dans cette section plusieurs jeux références faisant une utilisation notable de
modèles psychologiques.
Des jeux commerciaux confrontent le joueur à des choix moraux simulés ou poussent à
l’adoption d’un comportement typé au sein du monde virtuel. L’exemple le plus ancien est le
système d’alignements proposés par Donjons et Dragons [TSR 1974] dans sa version papier
et reprise dans ses versions numériques comme Baldur‘s gate [Bioware 1999]. Le joueur
23 http://www.americasarmy.com/aa/support/faqs.php?t=9&z=80#qa80
24 Voir le site du serious game de recrutement PEPCo MISIVIAS : http://www.pepco.fr/misivias.aspx 72
choisit si son personnage est bon, mauvais, loyal, chaotique…et doit par la suite traduire ce
choix par ses actions gameplay. Cet alignement influence aussi sur les missions qui peuvent
lui être confiées dans le jeu ou la nature des relations qu’il aura avec telle ou telle faction
représentée dans le monde virtuel.
Les sociétés de développement de jeu comme Bioware ont bâti une partie de leur identité sur
la possibilité offerte au joueur de prendre des décisions morales impactant sur l’univers du jeu
et sur la destinée de leur avatar : dois-je aider ces enfants des rues à se soustraire à ce truand
les raquettant, ou à l’inverse donner un coup de main au truand pour qu’il récupère l’argent
que lui doivent ces enfants ! La conception de ces choix moraux sont matérialisés dans le jeu
par des jauges vous faisant progressivement pencher d’un côté au l’autre d’un axe
fréquemment ramener au bien ou au mal, même s’il prend parfois d’autres noms. Jade
Empire [Bioware 2005] ou Mass effect en sont des exemples. Dans un autre genre de
gameplay Black and White [Lionhead 2001] mesure la manière dont vous élevez une déité et
génère pour elle un comportement bon ou mauvais à l’égard de la population qui la vénère.
La plupart de ces jeux ne s’appuient pas sur des modèles psychologiques scientifiquement
renseignés et les game designers semblent en avoir élaboré les systèmes de manière intuitive.
Silent Hill Shaterred memories [Climax 2009] propose quant à lui de mener un test
psychologique au sein même de l’expérience de jeu de manière à adapter le contenu au profil
du joueur. Le but visé est de provoquer plus d’émotions. Gwaredd Mountain [Mountain
2010], directeur technique de Climax Studios, a explicité leur méthode lors des Paris AI
conférence 2010. Au début du jeu et à échéance régulière le joueur se voit en consultation
chez un psychanalyste lui demandant de répondre à des questions. Les réponses servent à
aménager le contenu du jeu (interaction avec les personnages non joueurs, apparence des
environnements ou personnages, scène de fin…). L’histoire est vécue comme un flashback.
La typologie servant à créer le profil, nommée Personality inventory, est inspirée des Big
Five, définis comme les cinq grands traits centraux de la personnalité en psychologie.
Aucune étude probante sur l’impact réel sur les joueurs n’a été communiquée.
Dans un genre complètement différent, l’explosion des jeux en ligne, et en particulier sur les
réseaux sociaux, a nécessité la mise en place d’une analyse des comportements du joueur
s’imbriquant dans un modèle économique. Zynga, société leader des jeux sur le réseau social
Facebook, construit ses revenus sur le fait que le joueur achète, s’il le veut bien, des biens
virtuels pour agrémenter son expérience de jeu. Les développeurs ajoutent continuellement 73
du contenu, animent ces univers virtuels, pour que les joueurs reviennent et soient poussés à
acheter. Les méthodes de traçabilité du joueur ne sont pas renseignées.
Mesure des intérêts professionnels
Le serious game servant à l’expérimentation de notre méthodologie a pour objet la mesure des
intérêts professionnels. JEU SERAI s’inscrit dans le développement du panel d’outils
permettant aux conseillers d’orientation d’assister leurs consultants ou sujets dans leur
démarche individuelle d’orientation.
Dans cette section, nous allons brièvement exposer les enjeux de l’orientation professionnelle
et situer la discipline cadrant l’expérimentation.
Contexte de l’orientation professionnelle
En France, pendant la première moitié du XXème siècle, l’orientation professionnelle vise les
élèves sortant de l’école primaire et devant entamer une formation professionnelle de type
CAP [Blanchard 2004]. Cette période est marquée par la création en 1928 de l’INETOP,
initialement nommée INOP Institut national de l’orientation professionnelle, sous l’impulsion
d’Henri Piéron, Henri Laugier et Julien Fontègne. Cet institut forme les conseillers
d’orientation, dont le diplôme est créé en 1931, et accueille des recherches dans ce domaine.
L’ambition était de rationnaliser l’orientation professionnelle par des batteries de tests
considérés comme plus fiables que les résultats scolaires. L’approche initiale consistait d’une
part à mesurer objectivement les aptitudes des élèves et d’autre part d’évaluer les aptitudes
nécessaires à l’exercice de chaque métier, principalement de l’industrie et du commerce.
Dans la seconde moitié du XXème siècle, plusieurs changements importants se produisent.
L’objectivité des tests d’évaluation des aptitudes est remise en cause. La notion d’hérédité
des aptitudes est délaissée au profit du principe de capacités. Suite à plusieurs réformes et
décrets, par exemple la réforme de l’enseignement de 1959, ou encore pour s’adapter aux
contextes sociaux et économiques, par exemple la montée du chômage, le public visé vieillit
progressivement. De l’élève sortant de l’élémentaire, le sujet type intègre progressivement le
collégien, le lycéen, l’étudiant puis finalement l’adulte se réorientant. Le conseiller
d’orientation développe son rôle d’évaluateur des intérêts, goûts et désirs du sujet. 74
L’évaluation a évolué : le consultant est plus actif dans le processus par le choix des tests, la
sollicitation initiale, etc.; le rôle du conseiller d’orientation n’est plus celui d’un expert mais
plutôt d’un accompagnateur du consultant ; l’évaluation est menée dans un objectif de
formation ; enfin, un bon nombre de procédures, dont la mesure des intérêts, sont axées sur
l’autoexploration et l’autoévaluation assistées par le conseiller [Huteau 94].
C’est dans la continuité de cette évolution que le projet JEU SERAI se situe, comme un outil
d’évaluation des types d’intérêts du consultant.
Aperçu des pratiques actuelles pour le conseil en orientation
Au cours du processus de conception de JEU SERAI, l’équipe de développement a été initiée
par des membres de l’INETOP et de l’Université Paris Ouest aux enjeux de l’orientation
professionnelle : Odile Dosnon, Pierre Vrignaux, Even Loarer et Thierry Boy. Cette section
synthétise les connaissances qu’ils nous ont transmises.
Le conseil en orientation vient en réponse à plusieurs problématiques. Pour le consultant,
comment anticiper ma vie personnelle et professionnelle en fonction de ce que je suis
aujourd’hui ? Pour les proches du consultant : quelle recommandation pour l’orientation, par
exemple, de mon enfant ? Pour les institutions publiques et acteurs économiques : Comment
inciter les jeunes à s’orienter vers des secteurs en tension ? Comment répartir les élèves entre
les différentes filières de formation en respectant l’égalité des chances?
La réponse explicitée par Franck Parsons en 1909 tient en trois points et définissent les
facteurs clefs d’un choix sage en orientation professionnelle.
A clear understanding of yourself, your aptitudes, abilities, interests, ambitions,
resources, limitations and their causes; A knowledge of the requirements and
conditions of success, advantages and disadvantages, compensation, opportunities,
and prospects in different lines of work; True reasoning on the relations of these two
groups of facts.[Parsons 1909] 75
Avoir une bonne compréhension de soi-même ; connaître les perspectives dans les différents
types d’emplois, d’études et de formation ; appliquer un raisonnement correct à leur mise
ensemble. Ces trois facteurs résument les enjeux des services de l’orientation professionnelle.
L’évaluation des intérêts professionnels appartient à la première catégorie de services,
l’autoexploration et l’autoévaluation amenant le consultant à mieux se connaître.
Parmi les méthodes utilisées en psychologie de l’orientation, l’approche de l’évaluation à
partir de questionnaires psychométriques permet d’établir le profil des consultants sur des
variables telles que les intérêts, les styles de prises de décisions, les valeurs. Les intérêts
professionnels sont des variables expliquant les différences interindividuelles dans le choix
pour des activités en général, en particulier, les formations et les professions.
L’évaluation des intérêts professionnels
Des intérêts seraient :
… des activités pour lesquelles nous éprouvons du goût ou du dégoût et vers
lesquelles nous allons ou desquelles nous nous éloignons, ou concernant lesquelles à
tout le moins nous maintenons ou discontinuons le statu quo; de plus, ils peuvent ou
non être préférés à d’autres intérêts et ils peuvent persister selon des intervalles de
temps variables. Ou un intérêt peut être défini comme un état d’esprit de goût/dégoût
qui accompagne une activité, ou la pensée de faire cette activité. [Strong 1955]
traduction [Tétreau 2005]
L’évaluation des intérêts peut se réaliser de plusieurs manières. Le sujet dit ce qui l’intéresse :
J’aime la musique, il s’agit des intérêts exprimés. Nous observons le comportement du sujet
Extrait de l’exposé : Les 3 figures de l’orientation par Thierry Boy de l’INETOP
basé sur [Boy 2005], 76
au quotidien exprimant ses intérêts, ce sont les intérêts manifestés. Le sujet passe une série de
questionnaires aux réponses subjectives mais dont la notation est objective, ou les intérêts
inventoriés. Cette dernière méthode s’est développée sous la forme de nombreux types
d’inventaires basés sur quatre grands modèles jalonnant l’histoire de la discipline [Vrignaud
2005].
Les travaux sur la mesure des intérêts professionnels ont commencé il y a plus de 80 ans
menés en particulier par Edward Strong, pionnier du domaine. L’approche de Strong, dite des
échelles professionnelles, consiste à comparer des résultats de questionnaires sur des
préférences pour des activités, dans le sens métier. D’un côté nous avons les résultats du
sujet, de l’autre les réponses d’un vaste panel de professionnels. Des réponses du sujet
similaires à un échantillon donné de professionnels indiqueraient un intérêt pour cette
profession. Le système repose sur la qualité des échelles professionnelles permettant la
comparaison avec le résultat du sujet.
J.F. Kuder apporte un éclairage différent sur la méthode, considérant que si le questionnaire
pour consultant porte sur les professions, nous le questionnons sur le sujet que justement il
n’est pas censé connaître : ses préférences professionnelles. Il oriente donc ses questionnaires
sur des réactions à des activités loisirs ou para professionnelles. D’autre part, les échelles de
comparaison sont remplacées par la création d’un profil pour dix catégories d’intérêts (plein
air, mécaniques, numériques, scientifiques, persuasifs, artistiques, littéraires, musicaux, pour
le travail social, pour le travail de bureau).
Rothwer et Miller augmentent la liste des intérêts de deux catégories, Intérêts techniques et
intérêts médicaux. Ils proposent surtout un nouveau type de questionnaires. A neuf reprises le
sujet doit placer dans l’ordre de ses préférences douze métiers représentant chacun l’une des
catégories d’intérêts. Le processus assume que les sujets n’aient pas forcement la
connaissance des métiers cités et n’en aient qu’une représentation stéréotypée. L’IRM
(Inventaire de Rothwer et Miller) et sa version révisée, l’IRMR, est l’un des questionnaires
les plus utilisé en France.
Par la suite, John Lewis Holland s’inscrit dans une tendance à la réduction des variables
d’intérêts. Il porte aussi l’idée que les intérêts permettent de cerner un ensemble plus large de
traits que les seules préférences pour des activités professionnelles. Relation
interpersonnelles, aptitudes et variables de personnalités peuvent être expliqués par un profil
mesuré sur un ensemble restreint de variables. Autre aspect clef de son modèle, il met en
avant la relation entre personnes et environnements. 77
Les personnes sont attirées par des environnements correspondant à leur type et
les environnements sont majoritairement peuplés par des personnes du type
correspondant. [Vrignaud 2005]
Biais des questionnaires déclaratifs
L’aspect déclaratif de la plupart des questionnaires mesurant les intérêts professionnels
implique que les réponses des consultants peuvent manquer de fiabilité [Vrignaud 2008].
Selon l’auteur : l’analyse des questionnaires auto évaluatifs peut être biaisée par le manque de
lucidité ou d’objectivité sur soi, ou autoduperie. Autre source d’erreur, la désirabilité sociale
ou le désir de montrer à autrui une image aussi favorable que possible, ou hétéroduperie: Si
l’on vous pose la question de savoir ce que vous faites le dimanche, du jogging ou passer
votre journée devant la télévision, vous pourriez être tenté de répondre « jogging » par soucis
de l’image que cela donne de vous alors que ce n’est peut-être pas du tout le cas. La
désirabilité sociale est d’autant plus impactant sur les résultats que l’enjeu du test est grand.
La comparaison entre les résultats de tests identiques passés dans le cadre d’un recrutement
ou non ont démontré ce dernier point.
Malgré de nombreuses recherches sur des protocoles de tests et différentes formalisations des
questionnaires aucune solution n’a permis de contourner ce biais. Il ne peut qu’être pris en
compte dans l’analyse des résultats.
Nous supposons que la transformation de questionnaire en situations de jeu devrait permettre
de contourner ce biais. C’est une des motivations de ce projet pour les partenaires issus de la
recherche en orientation professionnelle. Le second degré du jeu, sa nature métaphorique, le
fait de mesurer le comportement sur des critères non explicités au joueur sont autant d’atouts
que JEU SERAI offrirait en réponse potentielle à cette problématique.
Conclusion de l’état de l’art
Le game design de jeu est une discipline profondément liée à la manipulation psychologique.
L’essence même de la conception d’un système de jeu et d’un gameplay nécessite une quasi
permanente modélisation du joueur. Nous avons pu énumérer les types modèles empiriques
utilisés par les concepteurs même si ceux-ci le sont parfois de manière intuitive. 78
Des recherches scientifiques en intelligence artificielle ont abordé le modèle du joueur dans le
gameplay. Les modèles élaborés ont le mérite de se baser sur les inputs, traces pragmatiques
de l’activité ou des stratégies du joueur. L’objectif des expérimentations consiste la plupart
du temps à fournir des outils permettant d’augmenter la qualité de jeu, comme l’adaptation du
contenu au profil gameplay du joueur ou la génération d’adversaires challengeants. Cette
dernière ambition, la quête de ce stratège optimum, n’est pas forcement compatible avec une
recherche de modélisation psychologique du joueur.
Au regard de la définition du gameplay des domaines légitimes comme la théorie des jeux, la
théorie de la motivation ou celle de la décision ont pu permettre un éclairage sur des méthodes
potentielles de mesure et de création de typologies comportementales adaptées au jeu vidéo.
Les expérimentations sont malheureusement encore marginales et visiblement complexes à
mettre en œuvre.
L’implémentation de modèles psychologiques dans des jeux existants n’est pas rependue. Si
certains titres tendent à s’appuyer sur des références en psychologie, leurs méthodes sont peu
documentées et n’ont pas été réalisées dans un souci de rigueur scientifique mais pour
supporter une expérience émotionnelle.
Reste les serious game de recrutement, créant des profils de candidats. Encore une fois, les
méthodes utilisées pour créer les typologies ne sont pas publiées et leurs descriptifs relèvent
de l’argumentaire commercial.
Le champ des recherches visant à créer un modèle psychologique du joueur au travers de son
expérience de jeu est vierge de démonstration argumentée. Ce manque nous conforte dans
l’idée que l’élaboration d’une méthode probante et explicite permettant de créer le lien entre
activité du joueur et un modèle psychologique éprouvé scientifiquement.
La mesure des intérêts professionnels offre plusieurs modèles psychologiques éprouvés pour
la mise en pratique d’une méthodologie de conception axée sur l’élaboration d’un profil
psychologique du joueur. Ce jeu pourrait peut-être contourner certains biais des
questionnaires déclaratifs habituels.
Utilité annexe de cet état de l’art
Pour conclure ce chapitre et répondre à son introduction, nous exposons ici au lecteur un
travail mené lors de l’établissement de cet état de l’art. L’objectif ne consistait pas seulement 79
à répertorier les références sur le modèle du joueur mais aussi à identifier les éventuels
critères d’une grille d’analyse de son comportement gameplay. Ce travail de recherche a été
réalisé en collaboration avec la société Mimesis Republic spécialisée dans le développement
et l’exploitation de jeux en ligne. L’établissement de cette grille d’analyse a fait l’objet d’une
publication dans les actes de l’ICEC 2010 [Guardiola 2010]
Des modèles du joueur empiriques ou liés à des théories pertinentes, un ensemble de 11
critères intéressants ont été choisis. Ils constituent le socle d’une fiche gameplay permettant
d’identifier le style de jeu d’un joueur.
Performance Quelle est la performance du joueur dans ce gameplay particulier?
Efficience Est-il dépensier en ressources pour atteindre ses objectifs?
Effectivité Est-ce qu’il atteint ses objectifs ?
Préférences stratégiques Quelles stratégies le joueur connait, utilise, maîtrise ? quelle
association pattern/stratégie reproduit-il ?
Complétion Quel % du possible accomplit-il ?
Persévérance A quel point réessaie-t-il après avoir échoué ?
Type de rapport au risque Où se situe-t-il dans l’aire de comportement face au risque ?
Utilité Qu’est-ce qui a de la valeur pour lui ?
Degré d’Ambiguïté dans la prise
de décision
Quel degré d’information sur une situation lui convient lorsqu’il prend
un risque ?
Profil motivationnel Quel type de régulation caractérise sa motivation à jouer?
Préférence en terme de pay-off Est-il court, moyen ou long terme dans la prévision de ses pay-off ?
Si la trace la plus pragmatique des décisions du joueur est l’input, cette information doit être
interprétée au filtre du système de jeu pour en comprendre pleinement le sens. Nous avons
confronté ces critères à de véritables données collectées dans deux jeux développés par
Mimesis Republic : Mission Equitation Online [Mindscape 2009], jeu d’équitation dans un
monde ouvert, et Mamba Nation [Mimesis 2011], un espace de jeu et de rencontre pour
adolescents, ce dernier étant encore en développement au moment de la collaboration. Pour
être efficaces, les critères devaient être transformés en dimensions clairement liées aux inputs
du joueur. 80
La première étape du travail consistait à analyser en profondeur le système de jeu et
d’identifier les variables qui allaient permettre la mesure de chaque critère. Puis ensuite de
créer des algorithmes sur la base des données concrètement mesurables dans le jeu. A titre
d’exemple dans Mamba nation, dont le contenu a évolué depuis ces tests, le joueur tentait de
gagner du Fame. Schématiquement, il accomplissait des actions en lançant des animations
sur son avatar dans un espace public. Ces points de Fame étaient gagnés si d’autres joueurs
présents votaient pour son avatar, manifestant leur approbation pour le petit spectacle dont ils
avaient été témoins. Les animations que le joueur lançait sur son avatar avaient un coût, en
Vibes ou en Blinks, les monnaies de Mamba nation. Pour établir l’efficience du joueur nous
pouvions donc créer un ratio entre le montant dépensés par le montant de Fame collecté. Pour
mesurer le rapport au risque, nous pouvions mesurer si le joueur choisissait d’utiliser ses
animations en présence de personnes qu’il connaissait. Nous pouvions savoir si le joueur était
dans la sphère d’influence de l’avatar de quelqu’un étant sur sa liste d’ami, cette sphère étant
concrètement représentée dans le jeu.
Matérialisation de la sphère d’influence de l’avatar pendant qu’il joue une
animation
Environnement et personnages de Mamba Nation81
Ou à l’inverse s’il tentait plutôt le coup avec des inconnus. Nous pouvions aussi évaluer la
valeur des animations qu’il lançait et reconstituer l’aire des rapports au risque évoquée plus
haut.
A la lumière de cette confrontation entre les critères estimés pour la création du profil et les
données concrètement mesurables dans un jeu, nous avons pu constater la faisabilité de
l’implémentation, mais elle relève d’une certaine complexité.
La Performance, les préférences stratégiques et le type rapport au risque se mesurent pour
chaque jeu, plus encore, pour chaque gameplay d’une manière donnée. Un jeu comporte
fréquemment plusieurs gameplay. Ces trois critères demandent donc une analyse en
profondeur du système de jeu. C’est un préalable à toute définition des moyens à mettre en
œuvre pour les observer. D’autre part la granularité des observations doit être définie.
L’échelle de mesure est la brique de gameplay ou, selon les game designers, situation de
gameplay, bloc de gameplay, pattern, etc. Cette brique doit être délimitée dans le temps
voire l’espace. Efficience et effectivité nécessitent de clarifier l’objectif du joueur. La
définition de la brique de gameplay peut être interprétée comme l’objectif micro du joueur. A
une échelle plus large, dans un monde ouvert par exemple, la connaissance de l’objectif que
se donne le joueur nécessite un couche d’interprétation potentiellement ouverte à des biais.
La complétion se mesure sur l’ensemble des éléments atteignables du jeu. Par exemple, à un
temps donné, le joueur n’a accès qu’à 60% du contenu. C’est le % d’expérimentation de ces
60% qui nous donnera le degré de recherche de l’achèvement. L’interprétation de
l’achèvement peut varier d’un jeu à l’autre. Nous posons une première définition générique
permettant sa mise en place dans un jeu donné: il s’agit des potentiels d’interactions à la
disposition du joueur. Un décor à fouler, une arme à utiliser, un ennemi à affronter, un objet à
collecter, un personnage avec lequel interagir, une quête à activer…
L’ambiguité demande à connaitre ce que le joueur sait du challenge dans lequel il s’engage.
La difficulté réside dans la mesure de ce que le joueur perçoit comme information. Nous
pouvons évaluer les éléments critiques qui lui sont communiqués par le son, l’image ou
encore les vibrations de la manette, mais même ce faisant, nous ne serions pas sûr qu’il ait
perçu ou compris l’information. Ce degré d’ambiguïté ne peut à priori être qu’une
approximation.
Le profil motivationnel se mesure sur un grand nombre d’éléments du système de jeu. Il faut
parfois en chercher la trace par des événements liés à plusieurs gameplay différents, voire 82
même dans des actions sans rapport direct avec un gameplay. Par exemple, le fait de regarder
un objet désiré dans les onglets d’une boutique peut être significatif si l’on revient l’acheter
après les quelques missions qui ont permis de gagner de quoi se l’offrir. Une complexité, et
peut-être un biais, vient de l’interprétation des différents états motivationnels en événements
mesurables. La manière dont cette interprétation est réalisée doit donc être systématiquement
documentée pour les utilisateurs de ce profil, de manière à ce qu’ils puissent interpréter les
résultats en connaissance de cause.
La préférence en terme de pay-off pose le même genre de problème que la motivation. Nous
devons interpréter les notions de court, moyen ou long terme en suite d’événements
mesurables. La notion clef semble être la mesure du temps de jeu entre début d’une série
d’actions et leur finalité en termes de bénéfices. Il y a un risque d’interprétation moins
pragmatique que la mesure de la notion de performance, par exemple.
Si le travail s’est borné à confronter les critères du profil aux données effectivement
mesurables dans des jeux, aucun ne semblait impossible à mettre en place. La condition
fondamentale est l’accès aux spécifications du système de jeu et leur traduction en code.
Cette grille d’analyse est donc le premier jet de la définition d’un profil gameplay du joueur.
A la lumière du test sur deux jeux, elle semble pouvoir s’adapter à plusieurs types de jeu.
Cette plasticité est une évolution comparée aux approches comportementales préalables, très
orientées MMORPG. Nous n’imposons pas de typologie, la création de données sur une
population doit justement permettre d’identifier la typologie de comportements spécifique à
un jeu donné. Une autre exploitation possible de cette méthode est de permettre une mesure
des comportements à différents moments et d’en étudier l’évolution. Nous ne prenons peut-
être pas des risques de la même manière après quatre heures de jeu, ou nous ne choisissons
peut-être pas les mêmes stratégies à midi qu’à deux heures du matin. 83 84 85
CHAPITRE 3 – METHODE PROPOSEE
ET CONTEXTE D’EXPERIMENTATION86 87
3 - Méthode proposée et contexte d’expérimentation
A la lecture de l’état de l’art et de la synthèse des pratiques en conception de jeu, nous
constatons, d’une part, que le game design semble entretenir une relation fondamentale avec
la création de modèles comportementaux du joueur, et ,d’autres part, que nous manquons de
connaissances sur les liens qu’entretiennent modèle psychologique et modèle du joueur.
Nous pouvons présumer qu’il existe bel et bien un lien entre trait psychologique du joueur et
le profil que nous pouvons dresser de lui pendant qu’il joue. Cependant nous sommes, par
exemple, incapables de répondre à la question : Est-ce que le profil que nous pourrions
dresser du joueur au sein du gameplay reflète des traits perdurant au-delà de la session de
jeu ?
A ce jour aucune méthode documentée ne permet de réaliser des jeux dont la vocation est la
création de profils psychologiques fondés sur un modèle éprouvé. Nous souhaitons donc
proposer une méthode de conception de jeu vidéo, en particulier de game design, permettant
d’évaluer les paramètres d’un modèle psychologique du joueur par son activité ludique.
Dans un premier temps, nous exposerons le problème de l’évaluation d’un profil
psychologique par l’activité ludique d’un joueur. Puis nous proposerons une méthode de
conception de jeu adaptée à cet enjeu spécifique. Nous décrirons enfin le contexte de
développement du projet JEU SERAI ayant servi d’expérimentation à cette méthode.
Pourquoi évaluer le profil du joueur ?
Pourquoi construire des jeux qui observent le joueur et en construisent un modèle ? Data
mining, profiling, tracking sont des termes désormais courants dans le domaine du jeu vidéo.
Les développeurs de jeu déploient des moyens de plus en plus importants pour tenter de
cerner leurs clients. 88
Dès 1984 Sherry Turkle [Turkle 2005] nous affirme que le jeu vidéo peut servir de test de
projection. Les psychanalystes vont utiliser le jeu en médiation thérapeutique jusqu’aux
récents travaux, par exemple, de Geoffroy Willo [Willo 2012] ou Michael Stora [Stora 2006].
Des titres de pur Entertainment tels les Sims [Maxis 2000] ou ICO [ICO team 2002]
deviennent des outils au service de la mise en lumière de fonctionnements psychologiques.
Dans le cas de Michael Stora, il relate l’utilisation d’ICO pour extérioriser des affects
réprimés par des sujets.
Depuis longtemps des outils d’évaluation du joueur sont embarqués dans des jeux du marché
avec pour ambition la mise en œuvre d’une expérience, d’un comportement du contenu dédié
à un profil donné. Notons comme exemple remarquable Left 4 dead [Valve 2008], jeu de tir à
la première personne se jouant en coopération, disposant d’un metteur en scène virtuel, l’AI
director. Pour maintenir la tension et le rythme, Il traque dynamiquement les performances de
chaque joueur et leur efficacité en tant que groupe pour leur adapter les paramètres des vagues
d’ennemis. Dans l’exemple de l’utilisation des Big Five ou Five Factor Model dans Silent
Hill Shaterred memories, décrit dans l’état de l’art, le jeu tente de manipuler les émotions du
joueur en exploitant les données collectées lors d’une séance virtuelle chez le psychiatre. Le
modèle embarqué sert explicitement à faire plus peur, à créer des sentiments d’étrangeté.
D’autres motivations sont éthiquement plus discutables, comme espionner le comportement
du joueur pour lui adapter un marketing plus efficace. Sur des supports comme Facebook, les
jeux communément appelés free to play se jouent gratuitement et ont un modèle économique
basé sur la connaissance des habitudes du joueur. La société Zynga a développé de nombreux
free to play pour les réseaux sociaux, comme par exemple leur hit Farmville [Zynga 2009]
ayant dépassé les 150 millions de joueurs. Ce sont des jeux gratuits. Les joueurs y achètent
avec de l’argent réel, s’ils le souhaitent, des éléments de personnalisation de leur
environnement virtuel (un drapeau, un arbre) ou des objets altérant leur potentiel de jeu (un
tracteur qui accélère le labour, une poule qui produira des œufs). Pour être rentable, le
développeur doit optimiser la production des objets proposés à la vente. La collecte de
données et la définition de profil du joueur/acheteur, sont au cœur du processus. Notons que
les créateurs de Zynga sont des anciens de la société Amazon, rompus aux pratiques et outils
de l’e-commerce. Des modèles du consommateur, plus que du joueur, sont d’ores et déjà
utilisés pour faire fonctionner tout un pan de l’économie du jeu.
Pour leur part, les jeux thérapeutiques ont parfois la nécessité de construire un profil du joueur
pour que les effets utiles soient les plus efficaces possibles. SGCogR, ou le Village aux 89
oiseaux, tend à mesurer l’attention du joueur par les caractéristiques des trajectoires de son
curseur, permettant de lui adapter le contenu et réduire l’éventuelle pénibilité des sessions.
Plus proches de nos considérations d’un modèle psychologique, des serious games du
domaine des ressources humaines ont pour objet l’établissement de profils de compétences,
par exemple dans le cadre d’un recrutement. C’est l’ambition des projets America’s Army et
PEPco (Programmes d'Evaluation du Potentiel Cognitif) cités dans l’état de l’art. C’est dans
un registre voisin que se situe l’objectif de notre projet expérimental JEU SERAI: l’aide à
l’orientation professionnelle par la création d’un profil d’intérêts du joueur.
Nous constatons au travers de ces exemples qu’il existe une tendance à la création du profil
du joueur. Et qu’il semble exister un rapport entre trait de psychologie et profil du joueur.
Malheureusement, les méthodes permettant le lien entre profil et modèle psychologique sont
très empiriques. Notre but est de proposer une méthode scientifique de conception de jeu
permettant la création de profil psychologique du joueur.
Evaluer le profil psychologique d’un joueur
Si la collecte de donnée sur le joueur destinée à la création d’un profil se justifie et se
développe, nous nous questionnons sur la validité scientifique des approches misent en œuvre.
Depuis Bartle nous pouvons lever les mêmes réserves sur les méthodes employées.
Reprenons la proposition originale de Bartle. Il a fait passer un questionnaire sur leurs
habitudes de jeu à des joueurs de MUD, ancêtre des MMORPG. A partir des réponses à ce
questionnaire il classe leurs résultats pour établir une répartition de leurs comportements en 4
grandes catégories : Les killers, socializers, explorers et achievers. (voir figure extraite de la
publication originale en 1.4 - Le modèle du joueur).
Nous voyons trois biais handicapant cette méthode :
• Elle ne s’appuie pas sur un modèle existant. Les questions et la classification
se font selon des échelles et un modèle créés pour les besoins. Nous n’avons
aucune référence, et donc aucun moyen de vérifier la qualité de la mesure, du
modèle et de la typologie.
• Les questions sont administrées après jeu, hors du cercle magique, hors de
l’engagement dans le gameplay. Le joueur parle de lui en train de jouer, avec
tous les biais que cela peut comporter (Autoduperie et hétéroduperie décrites
en 2.15.2 - Biais des questionnaires déclaratifs). 90
• La typologie proposée est orienté vers un genre particulier, le MUD, devenus
les MMORPG terrain d’étude favoris des successeurs de Bartle. Le type
socializer, par exemple, n’a aucun sens dans Tetris [Pajitnov 1987] ou Half
Life [Valve 1998], respectivement jeu d’arcade et jeu de tir à la première
personne.
Nous pouvons retrouver tout ou partie de ces biais dans les typologies ayant suivi celle de
Bartle, et les tentatives de création d’un modèle unifié n’ont pas pour autant rendu plus sûr.
Nous souhaitons que notre méthode soit basée sur des modèles éprouvés, que les données soit
collectées pendant la session de jeu et qu’elle puisse être utilisé sans considération de genre.
Prenons maintenant le cas des jeux sérieux d’aide au recrutement, proposant de faire un lien
entre des actions du joueur et un profil de compétence. Les sociétés qui les développent
laissent dans la plus grande opacité la manière dont ils créent le lien entre action effectuée par
le joueur et mesure du profil de compétence. Nous n’avons aucune documentation ou
garantie sur la validité scientifique des méthodes.
Et lorsque certains développeurs utilisent des modèles psychologiques documentés, ils s’en
servent à autre chose que la mesure de traits psychologique. Dans le cas du Five Factor
Model (FFM) utilisés dans Silent Hill Shaterred memories, les concepteurs souhaitaient
adapter l’arborescence narrative aux réponses du joueur, dans le but de générer plus
d’émotion. Nous ne disposons d’aucune documentation sur la qualité de l’intégration de la
mesure du FFM dans le système de jeu, d’aucune trace d’expérimentation validant la qualité
de la mesure du profil, encore moins la moindre idée de la validité du lien entre profil FFM et
modification du contenu. Il faut une adéquation du modèle avec l’observation à mener,
comme notre choix du modèle de Holland dans le cadre de JEU SERAI : nous mesurons bien
des intérêts professionnels.
Pour qu’un serious game fonctionne, il est nécessaire de définir un objectif clair et mesurable
(voir la section 1.3.2.e Evaluation de l’impact dans la vie réelle). Nous avons besoin d’un
système évaluant la qualité de la mesure. Prenons l’exemple d’un jeu faisant la promotion
d’un produit, l’augmentation des ventes est en soit un retour suffisant, et le marketing dispose
d’outils de mesure éprouvés de connaissance des marques par le public. Pour un jeu
thérapeutique rééduquant un patient, la progression de ses performances par des moyens
extérieurs au jeu lui-même permet d’en évaluer l’efficacité. Dans le cadre de la création d’un
profil psychologique nous devons pouvoir comparer les résultats obtenus par le jeu à des
moyens plus classiques et éprouvés. Dans le cadre de notre projet expérimental, il existe 91
plusieurs tests papiers extrêmement utilisés et documentés depuis des décennies, comme
l’IRMR pour la mesure des intérêts professionnels (explicité en 4.1.2)
Il faut donc imaginer une manière de concevoir, une méthode de game design,
scientifiquement recevable pour le cas des jeux mesurant un profil psychologique du joueur.
Nous savons que le gameplay est une série de décisions du joueur, et que nous pouvons
mesurer des profils psychologiques par une analyse des décisions. Les décisions gameplay,
ou les input du joueur peuvent être transformés en items de psychométrie.
Assurer l’engagement du joueur dans le gameplay, sa motivation tout au long de l’expérience
de jeu, ou encore garantir l’accessibilité du contenu au public cible sont autant de problèmes à
résoudre pour pouvoir établir un contexte propice à la recherche de réponses. Le jeu
expérimentation doit être un véritable jeu, et non, par exemple, une simulation ou une
application d’e-learning gamifiée.
Enfin, nous devons intégrer le médiateur dans notre réflexion. Un jeu thérapeutique comme
Le village aux oiseaux, doit prévoir des interfaces dédiées aux praticiens qui vont utiliser le
jeu dans le cadre médical. Dans un jeu sur les intérêts professionnels, nous devons pouvoir
aider un conseiller d’orientation à accéder aux résultats et à les interpréter en toute
transparence.
Méthode de conception proposée
La méthode que nous proposons se résume en neuf points.
1 - Identifier un modèle psychologique éprouvé
C’est particulièrement nécessaire alors que nous entamons cette exploration des liens entre
activité du joueur et modèle psychologique. Le modèle doit être documenté et proposer une
forme de test d’évaluation éprouvé par des expérimentations. Les tests existants permettent
de pouvoir réaliser une évaluation comparative des résultats obtenus par le jeu et par les
méthodes traditionnelles. Dans le cadre de JEU SERA, nous avons opté pour l’inventaire
d’intérêts de Holland répondant à ses deux critères. Il est exposé dans le chapitre suivant.
2 - Identifier le faisceau de contraintes lié au public visé et au propos utile du jeu 92
Par sa nature utile, générer un profil psychologique, le jeu doit répondre aux problèmes
inhérents aux serious games évoqué en 0. L’un d’entre eux consiste à définir avec précision
le type de public visé et le contexte d’utilisation.
3 - Mettre en place une chaine de validation des contenus avec les experts
La chaine de conception et de production doit permettre la collaboration entre les game
designers et les experts du domaine d’appartenance du modèle. Sous la forme, par exemple,
d’étapes de validation ou de sessions de travail communes. Cette collaboration étroite et
régulière est indispensable à la validation scientifique du projet.
4 - Choix du type de jeu
Il s’agit d’élaborer un premier jet du concept, ciblant en particulier le type de gameplay.
Avant d’investir des efforts de production, il faut évaluer la compatibilité de l’experience de
jeu visée avec le modèle choisi, du public et identifier les biais potentiels.
5 - Définir des items aux propriétés variées dans la boucle de gameplay
Nous ignorons quelles données issues de l’activité du joueur sont les plus à même de corréler
au mieux avec les dimensions du modèle retenu. Si nous pouvons parfois intuitivement établir
des liens entre certaines activités et dimensions, nous devons adopter une démarche prudente
et déterminer un large panel d’items, en particulier dans leur degré d’appartenance au
gameplay. Ce travail ce fait donc en parallèle d’un des chantiers fondamentaux du game
design, la définition de la boucle de gameplay.
6 - Adopter une méthode de rationalisation des contenus pour les autres taches fondamentales
du game design
Lors de la phase de conception, la relation entre éléments de game design et dimensions à
mesurer doit être la plus claire possible. Il faut adopter une méthode rationnelle d’évaluation
de ces éléments dans les quatre autres chantiers identifiés : système de jeu, mise en scène de
l’interaction, structure motivationnelle et contexte narratif. Par exemple, si le choix de l’objet
avec lequel le joueur interagit est un item pris en compte pour l’établissement du profil à
plusieurs dimensions : nous devons pouvoir évaluer la pertinence de la relation objet
choisi/dimension incrémentée durant la conception du jeu.
7 - Construire une interface documentée de restitution et d’analyse des mesures
La manière dont le lien est fait entre élément de gameplay et calcul des valeurs des items dans
la génération du profil est un aspect critique de l’évaluation de la validité du jeu. La 93
transparence de ce lien est une nécessité pour pouvoir adopter d’éventuels aménagements et
« régler » l’outil de mesure. Les psychométriciens qui mènent les tests comme, au final, les
praticiens souhaitant utiliser le jeu doivent pouvoir comprendre et interpréter les résultats en
toute connaissance de cause. Le médiateur doit pouvoir bénéficier d’une documentation
claire voire d’une interface spécifique d’analyse des mesures.
8 - Adopter un protocole de test et d’analyse permettant d’évaluer la pertinence des items
Le protocole idéal semble consister à comparer le profil psychologique obtenu via une
méthode traditionnelle (souvent des réponses à un questionnaire) et celui obtenu par le biais
du jeu. Comme nous évaluons la qualité des items et leur mode de transformation en
dimension du modèle, les analyses doivent nous permettre une perception détaillée de la
pertinence de chaque item. La source des défaillances potentielles doit pouvoir être identifiée
pour proposer des aménagements tant au niveau du contenu game design que dans le mode de
calcul du profil.
9 - Itérer en revenant à la définition des items(5) ou la nature des contenus (6) jusqu’à obtenir
une corrélation satisfaisante entre profil obtenu par la méthode traditionnelle et celui créé par
le jeu
Schéma synthétisant la méthode de conception proposée 94
Mise en application sur JEU SERAI
JEU SERAI a pour ambition d’aider à l’orientation professionnelle des adultes et des
étudiants. Il propose d’utiliser les mécanismes fondamentaux du jeu vidéo pour évaluer les
centres d’intérêts et de motivation de l’utilisateur, ainsi que la façon dont il réalise des choix
afin l’aider dans sa démarche individuelle d’orientation.
Le but de JEU SERAI n’est pas de remplacer le conseiller d’orientation. Il vise à faciliter un
travail personnel d’identification des principales caractéristiques individuelles sur lesquelles
se fondent les choix d’orientation pour les intégrer dans le travail réalisé avec le conseiller.
Voici idéalement la manière dont la méthode devrait s’appliquer à la création de JEU SERAI.
1 - Identifier un modèle psychologique éprouvé
Nous devons prendre connaissance des modèles utilisés en autoévaluation dans l’orientation
professionnelle, les questionnaires et modes de restitution existants. L’enjeu consiste à
pouvoir donner notre accord sur sa portabilité en gameplay. Le consensus avec les experts
s’est fait sur le modèle de Holland explicité en section 4.1.
2 - Identifier le faisceau de contraintes lié au public visé et au propos utile du jeu
Il nous faut identifier en quoi le public visé, la mesure des intérêts, les lieux et supports de
déploiement contraignent la conception de JEU SERAI. La formalisation de ce cadre bordera
tout le travail de game design.
3 - Mettre en place une chaine de validation des contenus avec les experts
Nous devons initier nos experts aux enjeux du game design et ils doivent nous initier à ceux
de l’orientation professionnelle, et en particulier aux méthodes d’évaluation des intérêts
professionnels. D’autre part, nous devons mettre au point avec les développeurs une chaine
de production intégrant les retours des experts.
4 - Choix du type de jeu
Nous devons évaluer les systèmes de jeu et métaphores ludiques semblant les plus adaptés
aux contraintes de JEU SERAI. A partir de références, de nos connaissances du modèle du
joueur et en les confrontant aux modèle de Holland, nous devrions voir émerger une solution
optimale. Cela donnera lieu au premier concept du jeu. 95
5 - Définir des items aux propriétés variées dans la boucle de gameplay
Nous devons définir la boucle de gameplay et les moments où nous collectons des
informations. C’est le cœur de la relation décision du joueur/analyse psychologique de la
décision. Comme ce terrain est vierge en termes d’expérimentation, nous savons que nous
allons devoir nous appuyer sur un spectre large de décisions, aux propriétés différentes.
6 - Adopter une méthode de rationalisation des contenus pour les autres taches fondamentales
du game design
Le modèle de Holland identifié et compris, ses modes de mesure analysés, nous devons établir
un lien clair entre éléments de contenu et dimensions à mesurer. Par exemple, entre un
curseur en flèche et un curseur en forme de marteau, lequel est le plus adéquat pour appuyer
une action de type Réaliste ? Ce travail fastidieux nous demande d’établir une liste
exhaustive des éléments composant le jeu et de leur attribuer un degré de contribution au
mode de mesure.
7 - Construire une interface documentée de restitution et d’analyse des mesures
Nous devons créer et documenter la manière dont les décisions du joueur deviennent des
valeurs dans des dimensions du modèle de Holland. Dans ce cadre de ce projet, il faut
penser à deux modes de restitution, l’un à destination du sujet, l’autre pour les experts de
l’orientation professionnel susceptibles d’utiliser JEU SERAI.
8 - Adopter un protocole de test et d’analyse permettant d’évaluer la pertinence des items
Dans le cadre de JEU SERAI , nous pouvons créer des tests de corrélation entre résultats
obtenus par un même joueur dans le jeu et dans un questionnaire papier éprouvé. Nous
devons ensuite comprendre les réussites et les échecs. Pour nous aider, nous pouvons nous
référer aux propriétés des items utilisés dans le calcul (établis en 5) ou encore à la qualité du
rapport éléments de conception/dimension à mesurer (établis en 6)
9 - Itérer en revenant à la définition des items(5) ou la nature des contenus (6)
Idéalement, il nous faut pouvoir mener nos analyses et définir des modifications du contenu
jusqu’à ce que résultats du test papier et ceux du jeu aient des corrélations satisfaisantes aux
yeux des experts en psychométrie.
La mise en application de la méthode dans le cadre d’une production réelle nous réserve bien
entendu les surprises inhérentes à l’expérimentation. Ces problèmes sont évoqués dans le
chapitre suivant. 96
Conclusion sur la méthode
La méthode de conception proposée souhaite, aux différentes étapes d’un projet, sécuriser la
qualité du profil psychologique du joueur recherché, des critères nécessaires à la sélection du
modèle psychologique de référence aux nécessités de documentation explicitant la relation
entre éléments de game design et item mesuré.
Au regard du contexte de l’orientation professionnelle actuel, JEU SERAI se propose, dans un
premier temps, d’intervenir dans le processus d’autoévaluation du consultant en établissant
une manière innovante de créer un profil d’intérêts basé sur le modèle de Holland. Ce test
sous forme de jeu pourrait être administré en ligne et venir compléter les outils permettant la
communication entre conseiller d’orientation et consultant.
La relation à la création qu’induisent les phases de game design est la limite majeure du
processus. Tout comme le metteur en scène définit les moyens à mettre en œuvre pour
transcrire une intention, le game design doit ici contraindre son attention créative aux
ambitions utile du jeu. Or la qualité de la création dans ce cadre parait difficilement
rationalisable. La phase six recèle donc une difficulté peu commune dans le domaine du game
design.
Cette méthodologie de conception a en soi le mérite d’être la première à imbriquer autant
gameplay et psychologie. Nous devrions non seulement évaluer son efficacité mais aussi
permettre la création d’un nouveau pont, pragmatique, entre informatique et science humaine. 97 98 99
CHAPITRE 4 – METHODE APPLIQUEE
AU PROTOTYPE JEU SERAI 100 101
4 - Méthode appliquée au prototype JEU SERAI
Dans ce chapitre, nous allons rapporter les différentes étapes de la mise en pratique de la
méthode proposée. Les cinq premières étapes (choix du modèle ; mise en place du travail
collaboratif entre experts et game designers ; identification des contraintes liées à la cible ;
choix du type de jeu ; choix des items et gameplay) font l’objet d’une section chacune. La
méthode de rationalisation des contenus (étape 6) est ensuite exposée et déployée en plusieurs
parties relatives à l’élaboration des quatre autres fondamentaux du game design (Système de
jeu, mise en scène de l’interaction, structure motivationnelle et contexte narratif). Du choix
des items au contexte narratif, nous considèrerons les problématiques rencontrées pour les
faire servir la construction du modèle psychologique et les solutions adoptées. Nous y verrons
que les modèles du joueur ont pu apporter certaines solutions mais aussi créer des conflits
avec la mesure des intérêts. La méthode est aussi confrontée aux réalités d’une production
dans un cadre industriel.
En conclusion de ce chapitre, une section explicite l’ensemble des outils de mesure mis en
place pour l’évaluation des items et leurs restitutions, et devant par la suite servir à la
réalisation des profils du joueur. La phase huit, protocole de test et l’analyse des résultats, fait
l’objet du prochain chapitre.
Choix du modèle
Le modèle de Holland
Le modèle du psychologue américain John Holland considère que six types (RIASEC :
Réaliste, Investigateur, Artiste, Social, Entreprenant, Conventionnel) sont suffisants pour
rendre compte des différents intérêts [Holland 1966]. Ces types ne sont pas indépendants et
leurs relations (ressemblances et dissimilarités) peuvent être représentées par un hexagone.
Les six types sont positionnés sur chacun des sommets de l’hexagone. A partir de ce modèle 102
nous pouvons représenter les intérêts du sujet en positionnant ses scores au questionnaire sur
les six branches de l’hexagone.
L’encart ci-dessous, extrait de Demangeon [Demangeon 1984], définit les 6 types de Holland
ou RIASEC.
Le type Réaliste est caractérisé par une préférence pour des activités de type technique ou de
plein air qui supposent la manipulation d'objets, d'outils, de machines ou le contact avec des
animaux et par les compétences correspondantes, techniques ou physiques. L'individu réaliste
est peu sociable, émotionnellement stable, matérialiste, sincère, tourné vers le présent. Il
attribue de la valeur aux choses concrètes ou aux caractéristiques personnelles tangibles,
argent, puissance, statut.
Le type Intellectuel ou investigatif correspond à des préférences et des aptitudes pour une
activité de recherche dans le domaine physique, biologique ou culturel. L'individu intellectuel
attribue une grande valeur à la science. Il préfère la réflexion à l'action et se montre
analytique, rationnel indépendant, réservé, curieux, introverti.
Le type Artistique se définit par des préférences, des aptitudes et des valeurs dans le domaine
artistique, domaine de l'activité libre, mal définie, non systématique où le sujet, à partir
d'éléments physiques, verbaux ou humains réalise une création où il exprime ses sentiments et
ses émotions. Il est émotif, idéaliste, introverti, indépendant, original.
Le type Social préfère les activités où il peut avoir de l'action sur les autres, mais dans leur
intérêt propre : enseignement, soin, information, conseil. Il est doué pour les relations
humaines et ses valeurs sont d'ordre social et moral ; il présente des traits tels que l'amabilité,
la compréhension, la générosité, le sens des responsabilités.
Le type Entreprenant aime les activités où il peut manipuler les autres, mais à l'inverse du
type social, il le fait dans son propre intérêt, pour en obtenir des services ou un profit : c'est
Hexagone du modèle RIASEC de Holland 103
l'homme politique, l'homme d'affaires, le commerçant. Il valorise la réussite économique ou
politique. Il a l'esprit d'aventure et de domination, une grande confiance en lui, il est
ambitieux, énergique, impulsif, bavard sociable, optimiste et extraverti.
Le type Conventionnel correspond aux emplois de bureau : ses préférences vont à la
manipulation explicite, ordonnée et systématique de données, et il excelle à effectuer des
relevés, des classements, des calculs. Il attribue de la valeur à la réussite matérielle et sociale,
Il est conformiste, consciencieux actif, obéissant, ordonné, calme et il a peu d'imagination.
L’un des intérêts de ce modèle réside dans la profondeur du profil mesuré. L’analyse
psychométrique des résultats du questionnaire peut être interprétée en prenant en compte les
deux ou trois scores les plus élevés. En considérant les deux variables les plus hautes et en
prenant en compte l’ordre de leurs valeurs, la typologie comporte 30 combinaisons
différentes. Si nous ordonnons les trois variables les plus fortes, la typologie s’étend à 120
combinaisons différentes. Les profils dont les types obtenant les meilleurs scores sont
proches, c’est-à-dire voisins sur l’hexagone, sont considérés comme consistants. A l’inverse,
si le profil est constitué de types opposés, il est considéré comme inconsistant. Cette
propriété du modèle permet une relative validation du profil car la grande majorité des sujets
ont leurs types forts voisins.
Le modèle de Holland a aussi pour qualité de faciliter la perception de la congruence entre
sujet et environnement (professionnel, formation, loisir, etc.). Les personnes appartenant à un
profil donné sont attirées par l’environnement professionnel affilié ce profil. La
détermination des profils des professions fait donc partie intégrante du processus
d’orientation. Les conseillers d’orientation peuvent par exemple se référer à des listes de
professions et d’activités classées selon un code Holland pour réaliser ce rapprochement. Un
large panel de professionnels a répondu à un questionnaire permettant l’établissement de cette
base de données.
Questionnaires d’intérêts et modèle de Holland
Le modèle de Holland sert dans de nombreux tests d’orientation professionnelle sous des
formes différentes. La méthode classique consiste à répondre à une série de questions sur
papier mais des versions informatiques puis celles en ligne ont fait leur apparition. Le
protocole peut consister à classer des listes de métiers ou d’activités dans un ordre de 104
préférence, indiquer le métier/activité préféré ou le préféré et le moins apprécié. Les
différents tests adressent une population large ou une tranche d’âge spécifique, allant du
collégien à l’adulte en reconversion. Le passage du test peut avoir pour cadre l’école, la
rencontre avec un conseiller ou un coach, un test de recrutement ou une démarche
personnelle.
Passations traditionnelles et informatiques
L’IRMR3 est un exemple de questionnaire qui peut être administré de manière classique
(papier/crayon). Neuf séries de 12 métiers sont présentés au consultant. Il doit pour chaque
métier spécifier s’il l’attire, s’il lui est indifférent ou fait partie de ses préférés. Le rapport
comporte des scores détaillés hiérarchisant les types, des commentaires par type, une
évaluation de la consistance du profil et le compte rendu de l’ensemble des observations.
Certains types sont différenciés en sous-types, douze au total, se rapportant à la typologie de
Rothwer et Miller. On identifiera, par exemple, un réaliste si le consultant a donné des
réponses plus marquées pour le sous-type plein air, pratiques ou techniques.
Le questionnaire peut être passé en ligne sur des sites commerciaux ou même parfois
gratuitement comme sur Kledou.fr25. Dans ce cas précis le résultat est restitué
immédiatement et établit une liste de propositions d’orientation liées à des métiers
correspondant au profil RIASEC.
25 Site proposant un questionnaire d’auto-évaluation des intérêts professionnels : http://www.kledou.fr/index.htm
Extrait de rapport du test IRMR3 105
La création du lien entre profil et métier dans ces résultats automatisés reste cependant
approximative pour un individu précis. Les tests documentés comme l’HEXA 3D ou l’IRMR
nécessitent une formation pour pouvoir être administrés correctement et surtout pour que les
résultats soient interprétés de manière pertinente26. Si JEU SERAI peut proposer une
interprétation embarquée des résultats, elle ne pourra pas rivaliser avec le rôle d’un expert de
l’orientation professionnelle ou des ressources humaines. Le jeu devra être documenté et
restituer les résultats de manière détaillée, voire brute, pour permettre une interprétation
adaptée au consultant et certainement complémentaires d’autres types d’évaluations.
La passation informatique des tests a révélé avantages et inconvénients [Bigot 2011].
L’homogénéisation des passations et la réduction de la pression sociale rendent plus fiable des
mesures. L’automatisation de la collecte de données et leurs transferts dans les outils
d’analyse réduisent les risques d’erreurs de transcription, comparativement à la saisie des
résultats papier. D’un autre côté, les passations informatiques en ligne pose le problème des
consignes. En cas d’incompréhension le consultant n’a pas de réponse en temps réél. La
solution adoptée est de faire pré-tester les consignes pour en valider la compréhension. La
fiabilité des résultats à distance peut être remise en cause et il est nécessaire de proposer un
accès unique, un loggin, à chaque consultant. Le matériel informatique est faillible et peut
engendrer des pertes de données. Il est donc nécessaire de s’assurer une sauvegarde sécurisée
des profils et de faciliter leur impression papier.
26 Site décrivant la formation nécessaire à l’utilisation des outils Hexa3D et IRMR : http://www.ecpa.fr/ressourceshumaines/formation-detail.asp?id_for=18
106
Conclusion sur le choix du modèle
Choisir ce cadre pour notre expérimentation présente un avantage clef dans notre tentative
pour expliciter les relations entre game design et psychologie du joueur. Les modèles
psychologiques servant à l’auto-évaluation, comme celui de Holland, sont éprouvés par de
nombreuses expérimentations et mis en pratique sous forme de questionnaires à de larges
échelles depuis des décennies. Cette fiabilité du modèle choisi et l’existence de tests sur
d’autres supports nous permettront d’évaluer plus facilement l’efficacité du propos utile de
JEU SERAI. D’autre part, le fait que le modèle de Holland ait pour fonction de mesurer un
intérêt pour un environnement au sens large semble pourvoir permettre la conception d’un
univers de jeu (activités, personnages, décors).
L’autre intérêt, cette fois-ci du point de vue du domaine de l’orientation professionnelle, est
de pouvoir apporter une réponse aux problématiques de la désirabilité sociale, biais identifié
dans l’autoévaluation.
Identification du faisceau de contraintes lié à la cible
L’une des problématiques liée à la passation informatique de test est certainement la fracture
numérique. Le public visé par les tests d’orientation professionnelle est très hétérogène, du
collégien à l’adulte en reconversion, de personnes tout à fait à l’aise avec l’outil informatique
à d’autres qui le découvrent à l’occasion des tests. JEU SERAI doit pouvoir adresser
l’ensemble de ce panel. Les choix de conception de l’interaction, du thème du jeu et de la
navigation doivent y répondre.
Le contexte d’utilisation de JEU SERAI est très large. Il faut permettre une diffusion sur des
supports accessibles et ne nécessitant pas un matériel sophistiqué. JEU SERAI est prévu pour
fonctionner en ligne et sur des téléphones mobiles. Cette contrainte a dicté une partie des
choix technologiques, par exemple l’utilisation d’Unity3d, et a orienté le game design : les
gameplay doivent pourvoir être compatibles avec un PC équipé d’une souris ou avec un écran
tactile de téléphone.
107
Organisation du travail entre game designers et experts
L’un des risques du serious game est qu’il puisse être conçu par des game designers ne
maîtrisant pas le domaine de la fonction utile du jeu ou à l’inverse par des experts ignorant les
enjeux de conception d’un gameplay motivant. Pour assurer une collaboration continue entre
les deux expertises nous avons mis en place un processus de validation tout au long de la
conception et du développement de JEU SERAI.
Avant de nous lancer dans la conception, des sessions de formations réciproques sont
organisées. Les experts de l’orientation exposent les enjeux de l’orientation professionnelle et
initient aux différents modèles utilisés dans la mesure des intérêts professionnels, du type de
prise de décision et des valeurs du consultant. Les concepteurs de jeux vidéo exposent les
fondamentaux du game design, la nature du gameplay et les modèles du joueur identifiés.
Après avoir clarifié les contraintes, des réunions de conception mêlant experts et concepteurs
sont organisées régulièrement pour cadrer les intentions de réalisation et la boucle de
gameplay principale. Les propositions suivent un processus de validation par les game
designers, les experts et les développeurs.
Si nous avons pu respecter ce processus lors de la phase de conception, il a été plus difficile à
maintenir lors de la production. Lors de la rédaction du game design et la production du
prototype le processus devait idéalement s’étoffer : lorsqu’un principe de jeu est formalisé
Processus idéal de validation du contenu 108
dans le document de game design il doit passer par la validation des développeurs évaluant sa
faisabilité et les experts de l’orientation avant d’être intégré au prototype. Ces éléments sont
testés par l’équipe et exposés aux experts dans le contexte du jeu. Les éventuels retours sont
alors intégrés pour obtenir la validation finale.
Dans les faits, ce processus est lourd à mettre en place et à maintenir, surtout lorsque les
décisions doivent être prises rapidement. L’équipe de développement soulèvent fréquemment
des questions qui nécessitent des réponses immédiates pour ne pas bloquer la chaîne de
production. Nous avons parfois faits des choix destinés à l’implémentation sans suivre la
boucle de validation. Ce manque de fluidité dans le processus tient en partie à la difficulté de
communiquer en temps réel entre différents participants, les experts étant distants de l’équipe
de développement. Cela dit, la majeure partie des décisions de contenu ont été validées en
conception ou ont fait l’objet de commentaires puis de corrections suites aux revues de projets
régulières.
Des éléments de game design critiques ont parfois demandé la mise en place de méthodes de
validation plus élaborés avant leur production. Nous verrons plus tard l’exemple du choix des
mini-jeux qui a nécessité la réalisation d’un test papier sous forme de questionnaire RIASEC
traditionnel.
Choix du type de jeu
Dans l’évaluation des intérêts les items sont normalement des réponses à des questions. Nous
passons de la réponse à l’input du joueur dans une boucle d’interaction voir dans un
gameplay. L’utilisation d’un jeu vidéo amène plusieurs options pour leur implémentation.
Si nous avions été dans le domaine de la simulation pure, nous aurions pu nous contenter de
réaliser un conseiller virtuel, donnant les consignes, posant les questions et tenter de
reproduire la situation réelle d’un entretien ou d’une passation. Ce serait passer à côté des
avantages en terme d’engagement que peut procurer le jeu, et éventuellement permettre de
contourner le biais de la désirabilité sociale.
Le jeu offre la possibilité de tenter de relever dans les inputs, et leur sens dans la métaphore
ludique, la marque d’un intérêt. Contrairement à un questionnaire où la marque d’intérêt est
volontaire, consciente, nous avons à notre disposons un support où certaines données peuvent 109
être collectées à l’insu du participant. Nous avons fait le choix de tester plusieurs niveaux de
perceptibilité des items par le joueur et d’évaluer leurs efficacités respectives.
La réalisation d’une boucle de gameplay a lieu durant la phase de conception et est liée à de
nombreux choix critiques dans les intentions de réalisation. Dans notre cas, il s’agissait de la
définition du genre d’appartenance, du thème général du jeu et les grands types d’interactions
que le joueur aura à disposition. Sa mise au point est une succession de brainstorms, de
formalisation de concept, de mise à l’épreuve des idées lors des réunions de conception.
Experts de l’orientation professionnelles et du game design y ont collaborés étroitement.
Nous nous sommes immédiatement confrontés à une première problématique clef qui a
influencée l’ensemble du développement.
Mesurer une préférence dans le gameplay
Nous souhaitions trouver une manière efficace de lier le cœur même du gameplay à la mesure
des intérêts professionnels du joueur.
Les toutes premières idées consistaient à confronter le joueur à des situations de jeu, des
challenges, qu’il pourrait résoudre de multiples façons. Une situation type pourrait être: le
joueur doit rentrer dans un bâtiment. Il peut s’y prendre de trois manières différentes :
• Tenter de convaincre un vigile, choix qualifié de Social dans la typologie
d’Holland
• Craquer le système d’une porte à code, choix Investigateur
• Passer par le toit, Choix qualifié de Réaliste
Ce rapport entre préférence stratégique du joueur, qui est un élément mesurable dans les
modèles possibles du joueur, et préférence d’Intérêt est cependant faussé par un autre aspect.
Un joueur apprend et améliore un set de stratégies, impliquant parfois une maitrise
particulière de manipulations. Il cherche à franchir l’obstacle en utilisant ce qu’il maîtrise et
tend à optimiser son gameplay. Ce principe est même constatable dans les pratiques
d’achats : un joueur qui a pratiqué le gameplay de type FPS aura tendance à en racheter car il
maîtrise déjà une partie de l’instrument, ce type de gameplay et ses modalités d’interaction.
En game design, nous allons même parfois jusqu’à considérer le joueur comme partisan du
moindre effort et envisager qu’il choisisse systématiquement la facilité.
Ce que nous aurions mesuré aurait été une éventuellement préférence stratégique liée au
besoin d’optimisation gameplay du joueur, pas la marque tangible d’un intérêt pour une 110
activité ou un type d’activité. Nous devions éviter de confronter entre eux plusieurs gameplay
explicitement renseignés aux yeux du joueur, ou de proposer plusieurs fois le même type de
gameplay qui aurait orienté son choix.
La deuxième solution étudiée consistait à proposer à plusieurs reprises au joueur de choisir
parmi six activités, une par type de Holland. Au moment du choix, il n’a devant lui que des
descriptifs de la métaphore ludique. Ce n’est qu’après l’engagement dans l’activité que nous
lui exposons la nature exacte du gameplay. Par exemple, le joueur peut soit :
• Cueillir des pommes (R),
• Découvrir l’emplacement d’une fourmilière (I),
• Créer un motif pour un T-Shirt (A),
• Aider une personne âgée à faire ses courses (S),
• Prendre en main une équipe dans un atelier (E)
• Classer une collection de timbres (C)
Le joueur choisit une activité, se retrouve alors face à un tutorial où il prend connaissance du
gameplay et joue le mini-jeu. Une fois le jeu terminé, une nouvelle série d’activités lui est
proposée.
Cette solution avait deux défauts majeurs : elle est lourde en termes de production et elle
ramène finalement la mesure à un choix identique à un questionnaire papier. Cependant, la
notion de mini-jeux nous a paru intéressante.
Un mini-jeu implique plusieurs choses. Il doit être extrêmement rapide à prendre en main, ce
qui correspond à une de nos contraintes initiales liée à l’audience. Ils doivent être nombreux
et variés, ce qui évite un principe d’accoutumance et de maîtrise progressive d’un type de
gameplay. Ce deuxième aspect ouvre des possibilités de mesures valides avec l’évaluation des
intérêts. Nous pouvons établir un système de score pour chaque mini-jeu. Cette performance
mesurable (voir dans l’état de l’art, 2.5 modèle de performance du joueur) et montrée au
joueur lui indique que, s’il le souhaite, il peut tenter de faire mieux. Nous pouvons alors
mesurer le nombre fois où il rejoue un jeu donné. Pour que cela fonctionne, chaque mini-jeu
doit être très accessible, solliciter le moins de pré-requis possible, avoir une durée et une
sollicitation pour le joueur proche des autres mini-jeux et comporter une métaphore explicite
de l’activité (par exemple je ne joue pas à un mini-jeu d’arcade, je cueille des pommes),
puisque cet attrait pour l’activité qui nous intéresse. 111
Pour disposer d’un type d’item plus traditionnel, un système de notation des mini-jeux a aussi
été intégré à la boucle de gameplay. A chaque fois que le joueur termine un mini-jeu, il peut
le noter avec un système d’étoiles. Il reste dans l’univers du jeu au moment où il le fait et
enchaîne immédiatement avec d’autres activités.
Le système final, mini-jeux avec mesure du score, de la jouabilité et sa notation, présentait
l’avantage d’envisager de multiple manière de structurer l’expérience de jeu.
Experience de jeu, thème et genre
Le type d’audience a grandement orienté le choix du thème et du genre. JEU SERAI doit être
grand public puisqu’il sera utilisé par des joueurs aux âges et profils socio-culturels très
variés. Des succès tels que les Sims [Maxis 2000] ou Farmville [Zynga 2009] sont de bonnes
références de jeux au spectre large. Ils impliquent un environnement écologique, qui
n’implique pas la compréhension d’un monde ou d’un gameplay trop éloigné du quotidien ou
d’un univers référentiel répandu. Par exemple, dans un jeu de rôle se situant dans un univers
d’heroic fantasy, il vous faudra apprendre et maîtriser que si vous combinez une pierre de
lune avec une épée de corail, elle permettra de battre plus facilement un esprit de feu. Dans
les Sims, avoir une bonne cafetière permet à vos personnages de mieux se réveiller le matin.
Cet aspect écologique a aussi été souligné par les experts de l’orientation professionnelle. Il
paraît plus évident de pouvoir véhiculer des métaphores stéréotypées des activités en lien avec
des types d’intérêts dans un univers proche du quotidien du consultant. JEU SERAI doit se
dérouler dans un univers virtuel proche du notre. Cela dit, le jeu n’a pas à être réaliste. La
manifestation de l’environnement (au sens Holland, activité, milieu professionnels, personnes
exerçant l’activité) peut se traduire par des métaphores ludiques intégrées au gameplay et
tendant vers les stéréotypes de cet environnement.
Le fait que le jeu soit composé d’une multitude de mini-jeux peut le rapprocher d’une
catégorie de titres, les « sim life », ou simulateurs de vie. Sous cette appellation il ne faut pas
voir des simulations réalistes, mais des jeux dont le système simule certains aspects de notre
environnement ou de nos vies quotidiennes. Animal Crossing [Nintendo 2008] ou My sims
[Electronic Arts 2007] sur wii en sont des exemples. Tant par leurs aspects graphiques que
par la nature des interactions, ce genre conserve l’aspect second degré fondamental au jeu.
Enfin, nous devions prendre en compte que JEU SERAI, au-delà de ce prototype sur les
intérêts de Holland, souhaite pouvoir intégrer dans le futur d’autres évaluations telles que
celles des valeurs ou du type de prise de décision du consultant. 112
La multiplicité des activités, ou de mini-jeux, dans une métaphore du quotidien, positionne
l’expérience de jeu dans le cadre des simulations de vie. Nous tenions le premier concept issu
de cette phase de travail en collaboration avec les experts de l’orientation. Le joueur, via son
avatar, est immergé dans la vie d’un petit village. Il peut y participer à de nombreuses
activités structurées sous formes de journées avec des thématiques permettant de renouveler la
nature des mini-jeux accessibles. Par exemple, un jour de tempête, ou les 6 types de Holland
sont transformés en mini-jeux cohérents avec le thème comme la construction d’une digue, la
mise à l’abri des habitants…
Type RIASEC Nom du mini-jeu Activité simulée
Jour 1 : Thème « Arrivée du village »
R La bonne pomme Récolte de pomme
I L'invasion des fourmis Observation des fourmis
A Création d'automne Design de t-shirt
S Les courses de Mme
Petitpas Accompagner une personne âgée
E Omelette Diriger une équipe en atelier
C Classe! Classement de timbres
Jour 2 : Thème « La tempête »
R La tuile Réparer un toit
I Lumière Chercher la source de pannes électriques
A Photos Réaliser un reportage photo
Animal Crossing, un jeu de genre simulateur de vie, 113
Type RIASEC Nom du mini-jeu Activité simulée
S Aux abris Mettre les habitants à l’abri
E Du sable et de la sueur Diriger une équipe de porteurs
C Stock Faire un état des stocks
Jour 3 : Thème « Fête au village »
R Assemblage Montage de décor
I Le petit chimiste Manipulation d’un kit de chimiste
A Déco Conception d’un décor de théâtre
S Accueil Assurer l’accueil à un point d’information
E Promotion Diriger une équipe de vente de tickets
C Chacun sa place Faire le placement dans une salle de spectacle
Tableau énumérant les 6 mini-jeux par jour/theme
Ce choix de genre a aussi déterminé l’orientation de la direction artistique du jeu. Les
inspirations très grand public comme les mii27 de Nintendo ou les avatars28 de Microsoft ont
servi de support la création des personnages. Les environnements sont conçus dans un esprit
cartoon (couleurs vives, bâtiments déformés…) à la manière des références du genre.
Boucle de gameplay et items
Développement de la boucle de gameplay
Nous allons voir comment la boucle de gameplay principale s’est progressivement complétée
des différentes activités proposées au joueur, en cohérence avec le thème et le genre du jeu, et
où sont collectés les différents items nécessaires à la création du profil RIASEC.
Formalisation de la boucle principale
Voici la première boucle de gameplay formalisée. Elle permet de situer le joueur dans son
expérience de jeu et sa relation au système de jeu. Elle reprend les éléments de conception
27 Avatars que les joueurs peuvent se créer sur la Wii
28 Avatars que les joueurs peuvent se créer sur la Xbox 360 114
choisis pour assurer une mesure des intérêts (jouer au mini-jeu, la possibilité de rejouer et de
noter l’activité).
Cette boucle est contextualisée dans le village qui sert de cadre au jeu. Nous y avons ajouté le
fait que le joueur puisse s’y déplacer et rencontrer des personnages non joueurs (PNJ)
déclenchant les mini-jeux. Dans les typologies de boucles de gameplay, celle-ci est
relativement macro, car elle ne décrit pas le challenge dans le détail. La nature des challenges
est très variable car complètement liée au contenu de chaque mini-jeu.
Boucle de gameplay étoffée de mesures complémentaires
D’un point de vue de production, confronter le joueur à 6 mini-jeux de manière répétée et en
renouvelant à chaque fois leur contenu s’avérait très lourd à réaliser. Nous pouvions tout au
plus en réaliser 18, soit plonger le joueur dans 3 sessions de collectes de données, ce qui est
relativement peu pour réaliser un profil de Holland viable. Nous devions d’une part assurer
un niveau élevé de fiabilité des items liés à ces 18 mini-jeux mais aussi confronter le joueur à
d’autres choix mesurables complémentaires.
Le contexte de village et de simulation de vie ouvre les portes à la conception d’autres modes
de mesure peu couteuses en terme de production. Deux types d’activités ont été retenus car
elles présentent des variations intéressantes de présentation des choix au joueur.
Boucle de gameplay 1 –boucle principale contextualisée, avec localisation des
items servant à la mesure du profil 115
Le premier consiste à disséminer dans le village des PNJ qui se posent des questions et avec
lesquels le joueur peut dialoguer. Par exemple, l’instituteur se demandant quelle sortie
scolaire faire avec les élèves. Les choix possibles sont teintés par les types RIASEC :
exposition (Artiste), barrage (Réaliste)… Cette activité, que nous avons nommée « Quizz »,
est optionnelle pour le joueur. Il sait qu’il peut pratiquer cette activité, une liste des quizz est
accessible, mais leur résolution n’est pas une obligation pour avancer dans le jeu.
Nom du Quizz Domaine
Lâcher d'élèves Choisissez la prochaine sortie scolaire
La maison abandonnée A quoi devra servir la maison à réhabiliter ?
La statue De qui devrions-nous faire la statue pour le parC ?
Le village des Hobby A quelle association voulez-vous participer
Les commissions du maire A quelle commission municipale souhaitez-vous participer ?
Un projet pour le lac Quelle activité privilégier au bord du lac ?
Tableau listant les « quizz » proposés au joueur dans le village 116
Le second est plus subtil. Dans le village, il est possible d’interagir avec de nombreux
éléments, chacune de ces interactions étant aussi rattachée à un type RIASEC. Certaines
plantes peuvent être arrosées (Réaliste), des bouteilles en plastique vide trainant au sol
peuvent être ramassées (Conventionnel)… Cependant, il n’est nul part précisé au joueur que
ces activités existent. Il les découvre lors de sa navigation dans le village et les fait s’il en a
envie. Il n’en retirera aucune récompense ou bonus. Nous les avons appelées les « Activités
récurrentes ». Nous mesurons la fréquence avec laquelle il pratique chacune de ces activités.
Activités récurrentes RIASEC associé
Découvrir les variétés de champignons I
Donner de l’argent à la croix rouge S
Arroser les Plantes R
Ramasser les détritus C
Donner une forme aux buissons A
Boucle de gameplay 2 –boucle complétée des quizz et activités récurrentes, et
leurs items complémentaires 117
Activités récurrentes RIASEC associé
Jongler avec un ballon de Football R
Dessiner à la craie sur le sol de l’école A
Déplacer des habitants E
Consoler/Calmer des habitants S
Résoudre l’Enigme de la mairie I
Boucle intégrant la maison du joueur et le passage des jours
Le principe structurel de JEU SERAI consiste à plonger le joueur dans des journées virtuelles,
chacune d’entre elle ayant un thème et six mini-jeux à accomplir. Les 18 mini-jeux offrent au
joueur de vivre trois journées. Il nous faut faire apparaître la mécanique de passage de jour
dans l’expérience du joueur.
Le projet global JEU SERAI prévoit d’intégrer un journal de vie que le consultant peut
progressivement remplir. Si le prototype réalisé n’intègre pas cette fonctionnalité, nous
avions dès le départ prévu que sa présence soit anticipée dans les activités du joueur. Ainsi, à
la fin de chaque journée, le joueur peut consulter un journal de ses activités du jour, qu’il peut
s’il le souhaite commenter. Les experts ont souligné que nous pouvions ici implémenter un
autre mode de mesure. Dans son journal, le joueur peut classer les mini-jeux de la journée par
ordre de préférence. 118
Il a fallu mettre en place un mode de récompense pour motiver l’avancée du joueur. Le
principe retenu : lui donner de nouveaux objets pour décorer sa maison. Le joueur a aussi la
possibilité de pouvoir changer la tenue de son avatar. L’aménagement de l’intérieur et le
changement de tenue sont à intégrer dans la boucle. La maison de l’avatar est le point central
de l’ensemble de ces nouvelles activités.
Boucle finale
Le principe d’avatar personnalisable nous a offert un dernier moyen de collecter une
information. Lors de son début de partie, le joueur peut choisir la tenue initiale de son avatar.
Toutes les tenues proposées sont composée sur des stéréotypes liés aux types de Holland.
La boucle de gameplay obtenue permet de couvrir l’ensemble des états possibles du joueur
dans JEU SERAI. Elle met en avant tous les moments où nous mesurons ses intérêts.
Boucle de gameplay 3 – intégrant le journal et les activités
liées à la maison 119
Bilan des items choisis
Au travers de ce travail de conception nous avons intégré un panel de mesures de natures
différentes. Elles peuvent toutes être prises en compte pour la création d’un profil de Holland
ou se concentrer sur un panel réduit d’items aux propriétés différentes.
Certaines activités sont obligatoires d’autres optionnelles. Certaines activités sont révélées au
joueur au travers d’une interface lui indiquant ce qu’il a à disposition, d’autres non. Les
notations et classements permettent une auto-évaluation explicite pour le joueur, les autres
activités « masquent » leur mode de mesure. Certaines sont d’ordre gameplay (Score,
rejouer), d’autres de l’ordre de l’activité simulée (activités récurrentes, choix de la tenue),
d’autres se rapproche de certaines formes de questionnaires de Holland (notation, classement)
ou sont des mises en situation dans un contexte narratif (Quizz). Le tableau ci-dessous
résume la répartition des items.
Boucle de gameplay 4 – boucle finale 120
Gameplay Notation et classement
Questionnaire
mis en
situation
Activités simulées
Items envisagés
Propriétés
Mini-jeu :
Score
Minijeu
: Nb
rejoue
Mini-jeu :
Note
Mini-jeu :
Classement
journal
Quizz par les
PNJ
Activités
récurrentes
Choix initial
tenue avatar
Activité Obligatoire et
indiquée au joueur X X X X X
Activité optionnelle et
indiquée au joueur X
Activité optionnelle
non indiquée au
joueur
X
Notation volontaire X
Classement volontaire X
Mesure cachée au
joueur X X X X X
Chacun de ces items est l’objet d’une restitution destinée à l’évaluer, rapportée en fin de
chapitre.
Méthode d’évaluation rationnelle des contenus en conception
La méthode de game design principale consiste à identifier la relation entre un élément de jeu
produit et sa fonction dans la mesure du profil psychologique.
Le modèle de Holland a cette intéressante propriété de pouvoir mesurer un intérêt
professionnel par l’attrait pour un environnement. Ce terme « Environnement » couvrant un
large panel d’éléments : il peut s’agir d’une activité, de personnes liées à cette activité, le lieu
où elle se déroule, allant même jusqu’aux stéréotypes qui peuvent lui être associés.
A titre d’exemple nous pouvons évoquer l’article de Pierre Vrignaud et Bruno Cuvillier sur
l’HEXA3D, questionnaire de mesure des intérêts [Vrignaud 2006]. Dans la synthèse des
types de Holland nous pouvons y retrouver des métiers, des caractéristiques associées mais
aussi des activités et des exemples d’environnements. Pour le type Réaliste nous trouvons
Synthèse des items dans la boucle de gameplay et leurs propriétés 121
comme exemples d’activités : réparer, utiliser des outils, conduire des machines, travailler
avec ses mains, se dépenser physiquement ; et comme exemples d’environnement : atelier,
usine, plein air, extérieur, camion, ferme, forêt. Les verbes d’actions illustrant les activités du
type sont de précieux supports à l’élaboration de gameplay. Les environnements donnent
quant à eux des guides pour la conception des éléments visuels. Ce type de synthèse ouvre
une piste potentielle pour pouvoir associer l’ensemble des éléments composant le jeu à des
types RIASEC.
Tous les objets, lieux, personnages ou activités proposés au joueur et devant véhiculer un type
RIASEC donné ont fait l’objet d’une évaluation systématique de leur appartenance au type.
Pour synthétiser cette méthode dans le cadre de cette thèse, nous l’avons formalisé par
système de couleur qui permet d’en avoir une interprétation rapide. Il est basé sur l’hexagone
du modèle de Holland. Dans les sections suivantes, décrivant la conception de contenus,
plusieurs tableaux énumèrent des éléments de jeu et adoptent cette formalisation.
Prenons l’exemple d’une activité virtuelle de type Réaliste, si des éléments décrits dans une
cellule sont en adéquation avec le ce type, la cellule est coloriée en vert. S’ils sont de types
voisins (Conventionnel ou Investigateur) c’est vert clair. S’ils sont d’un type distant de deux
pointes sur l’hexagone (Entreprenant ou Artistique) c’est orange. S’ils sont du type opposé
(Social) c’est rouge. Enfin, si la cellule ne comporte pas de couleur c’est que les éléments y
figurant sont trop génériques pour être affiliés à un type RIASEC. Ce mode de représentation
est utilisé dans plusieurs tableaux de synthèse tout au long de ce chapitre
Exemple du système de légende utilisé pour la lecture des tableaux de
vérification d’appartenance des éléments conçus à un type RIASEC. Ici
pour le type Réaliste. 122
type Nom du mini-jeu Curseur Eléments manipulés ou
cibles de l’interaction
Feedback des
interactions
R La bonne pomme Sécateur Pommes Feuilles
I L'invasion des
fourmis Loupe Fourmis avec et sans
nourriture Coche verte
Système de jeu
A partir d’une boucle de gameplay nous pouvons défricher l’ensemble des fonctionnalités et
éléments nécessaires à la production concrète du jeu. Nous ne retranscrirons pas l’ensemble
des éléments de game design réalisés, seuls les éléments ayant générés des problématiques
relatives à l’implémentation du modèle de Holland sont explicitées.
D’un point de vue de leur mise en forme dans les documents de game design : Si les éléments
composant le système de jeu sont bien pensés comme des objets en interaction, la méthode de
production a ici demandé une formalisation basée sur des descriptifs de leur fonctionnement
accompagnés de la liste des variables clefs nécessaires à leur réglage et des ressources
nécessaires à leur existence visuelle (le prototype réalisé ne comporte pas de son).
Conception des Mini-jeux,
Avant d’évoquer les problématiques liées au game design des mini-jeux, voici un aperçu de la
manière dont le joueur les aborde dans le jeu. Cette chronologie des étapes est la même pour
tous les mini-jeux.
1 – Le joueur doit interagir avec le
personnage qui permet de
déclencher le mini-jeu. Ces
personnages sont signalés dans le
village avec un icone « ! » audessus
de la tête.
Le joueur clique sur le personnage
=>
Exemple de tableau d’évaluation d’appartenance des éléments à un type RIASEC. 123
2 – Un écran présente l’activité (et
non le gameplay). Ici : Le
personnage non joueur lui explique
que les pommes vont pourrir et
qu’elle a besoin d’aide pour les
collecter. Le joueur peut décliner
(mais sera obligé à un moment ou
un autre de revenir faire ce minijeu)
ou commencer.
Le joueur clique sur
« Commençons » =>
3 – Un nouvel écran donne les
instructions. Il s’agit ici de cliquer
sur les pommes qui mûrissent
rapidement sur les arbres. Ce sont
des instructions gameplay. Le
joueur peut aussi voir une capture
d’écran de jeu. A ce stade, le joueur
ne peut pas revenir en arrière.
Le joueur clique sur « C’est parti ! »
=>
4 – Le joueur est maintenant dans le
jeu. Ici, un sécateur se substitue au
curseur de la souris, et il doit cliquer
sur les pommes mures qui changent
rapidement d’état. Il doit remplir
trois paniers pour finir.
Il remplit ses trois paniers => 124
5 – Ecran de résultat. Le joueur
peut voir son score. Ici, les pommes
mûres, vertes ou pourries sont
comptabilisées. Une remarque du
personnage non joueur accompagne
le résultat, son contenu varie selon
la qualité du score. Le joueur peut
soit « rejouer » soit « Quitter » le
jeu.
Il clique sur « Quitter » =>
6 – Ecran de notation du jeu. Le
journal du joueur s’ouvre sur une
page dédiée au mini-jeu qu’il vient
de faire. A la manière de la notation
d’un livre sur Amazon, il peut lui
attribuer un nombre d’étoiles sur
cinq.
Puis il clique sur « continuer » =>
7 – Le joueur se retrouve dans son
écran de navigation par défaut, dans
le village. Un message temporaire
apparait pour lui signifier qu’il vient
de gagner de nouveaux objets pour
la décoration de sa maison.
Il peut à nouveau naviguer dans le
village et chercher une autre
activité.
Formalisation dans le document de game design
Chaque mini-jeu conçu est formalisé sous forme d’une fiche dans un document dédié. Le
contenu peut grandement changer d’un mini-jeu à l’autre. 125
Il est critique d’identifier les variables clefs permettant de régler le gameplay, en particulier en
termes de difficulté. Elles sont présentes dans ce document : éléments surlignés dans le texte
de description gameplay et points de la liste « Variables importantes ».
Un tableau complète les données nécessaires à la réalisation des mini-jeux. Il contient les
textes à afficher et le mode de calcul du score. Pour le jeu des pommes, la phrase type du
personnage non joueur varie selon un % de pommes mûres cueillies. 0% lance un « J’oserai
même pas en faire des confitures » tandis qu’un score supérieur à 86% donne « Parfait ! C’est
parfait ! ». Nous verrons que l’établissement des systèmes de scores a soulevé des
problématiques relatives à certains types de Holland.
Cette fiche de conception de mini-jeu est un modèle réutilisable. Elle fait ressortir la
description du gameplay, les variables clefs et l’ensemble d’assets à produire. Elle cadre le
livrable du game designer et ne fait pas référence au modèle psychologique utilisé à
l’exception du titre de la fiche.
Fiche type de formalisation d’un mini-jeu dans le document de game design126
Choix des mini-jeux et problématiques
Contenu des mini-jeu et RIASEC
L’objectif consistait à créer six mini-jeux par journée simulée dans l’univers du jeu. chacun de
ces six jeux correspondant à un des types RIASEC. La nature des activités proposées a
constitué une bonne part des réunions de conception entre game designers et experts de
l’orientation professionnelle.
D’un point de vue game design, ces mini-jeux devaient remplir plusieurs critères : être
accessibles, rapides à prendre en main, ne pas nécessiter plus de quelques phrases en guise de
tutorial, rapides à finir et surtout ne pas devenir de simples tâches à accomplir. Chacun
d’entre eux devait contenir une forme de challenge ludique ou offrir un plaisir comparable à la
manipulation de jouets
Pour qu’ils soient des objets affiliés à un type RIASEC nous avons évalué plusieurs critères
en les confrontant aux stéréotypes du type visé : le rôle du joueur (son but, la manière dont il
est sollicité) ; l’environnement du mini-jeu ; les interactions concrètes et leurs feedbacks ; le
gameplay (le challenge qui lui est proposé) ; les éventuels personnages non joueurs présent
(ceux qui le sollicitent ou ceux qui sont présents dans le mini-jeu). Nous pouvions comparer
ces éléments aux profils décrits par Demangeon et aux autres descriptifs des types de Holland.
Pour poursuivre sur l’exemple du jeu « La bonne pomme ». Le joueur est dans le rôle de
quelqu’un travaillant au contact de la nature (réaliste). L’environnement est extérieur, un
verger, et correspond aussi au type réaliste. Il manipule un outil, le sécateur, et le gameplay
consiste à cueillir des pommes rapidement, deux autres points qui vont dans le sens de ce
type. La majeure partie des éléments constituant ce jeu semblent donc en concordance.
La collaboration avec les experts de l’orientation professionnelle fut ici critique. Si nous
avions pu être initiés aux enjeux du modèle de Holland, nous n’avions pas une expérience
étendue des relations que chaque activité entretient potentiellement avec un type donné. Nous
pouvions tout au plus en avoir une intuition. La validation s’est faite systématiquement avec
les experts.
Certains types étaient plus propices que d’autres à la conception de mini-jeux. Le type
Réaliste offre un panel étendu d’activités dans le réel qui pouvaient nous inspirer : le sport, la 127
mécanique, l’agriculture… autant de thèmes sur lesquels il est aisé de faire « ressortir le
ludique ». Le type Conventionnel par contre, offre un cadre plus délicat. Pour reprendre la
description de Demangeon : « ses préférences vont à la manipulation explicite, ordonnée et
systématique de données, et il excelle à effectuer des relevés, des classements, des calculs ».
Si nous avons trouvé des solutions autour de jeux de tri et de classification, nous soulevons
simplement qu’ils ont donné plus de fil à retordre lors des brainstormings de conception.
Réalisation de tests pour la validation des concepts de mini-jeux
Au cours des réunions de conception et de la formalisation des idées proposées, nous avons
établi une première liste de 30 activités susceptibles de devenir des mini-jeux : cinq fois les
six types RIASEC. Les contraintes de production en limitaient le nombre final à 18. Le
choix s’est fait au travers d’un test d’évaluation. L’objectif était d’orienter la sélection des
activités qui allaient servir de cadre au design des mini-jeux. 37 sujets ont participé à ce test,
tous étudiants. Cette homogénéité des profils a été prise en compte dans l’analyse des
résultats par les experts de l’INETOP et de Paris Ouest.
Le test était présenté sous la forme d’un document powerpoint. Nous avions pris le parti de
contextualiser la présentation de manière à se rapprocher de l’environnement du jeu vidéo. Le
sujet se voyait présenter le thème d’une journée sous forme d’une petite narration, puis
pouvait consulter les activités proposées. Chaque activité était introduite par un personnage
du jeu et le texte présenté comme un dialogue avec ce dernier. Ces textes ambitionnaient
d’être ceux véritablement implémentés dans le jeu final et étaient par là même soumis à une
évaluation de leur efficacité. Sur un questionnaire à part, les sujets devaient classer les six
activités du jour dans l’ordre de leur préférence en leur attribuant un rang de 1 (l’activité que
vous préféreriez faire parmi celles qui sont proposées dans ce thème) à 6 (l’activité que vous
aimeriez le moins faire parmi celles qui sont proposées dans ce thème). Les scores obtenus
par les participants étaient comparés à un test de référence.
Extrait des documents supports au test d’évaluation : Page présentant la thématique d’un jour ; page présentant une des activités de la
journée et tableau de classification dans le questionnaire 128
Les résultats ont permis de confirmer que l’ensemble des activités envisagées correspondaient
aux types auxquels elles se rapportaient. Nous avons pu établir un classement des trois
meilleures représentantes par type et obtenir nos 18 concepts de mini-jeux.
Challenge et type de Holland
Un gameplay s’appuie sur un challenge, une épreuve confrontant situation de jeu et
compétences du joueur. Ces compétences peuvent être d’ordres très variés, planification
stratégique, sens de l’observation, faculté de manipulation d’un certain type d’interface…
Une question légitime s’est posée : Pouvions-nous créer des gameplay mesurant des
performances dues à des compétences associées à des Types des Holland? Cette question est
délicate.
Nous n’avions pas de référence claire permettant de nous assurer qu’une mécanique de jeu
donnée et que les compétences sollicitées puissent appartenir à tel ou tel type. Nous pouvions
tout au plus le supposer. Par contre, l’aspect stéroptypal de l’activité, lui, était une base plus
fiable. Le modèle de Holland permet de mesurer une attirance pour l’environnement d’un
type, environnement au sens large. Nous avons donc centré nos efforts sur la conception de
contexte, rôle métaphorique et outils manipulés relativement stéréotypés pour traduire son
type RIASEC.
Cependant, lors des réunions de conception, nous avons, pour chaque mini-jeu, évoqué les
compétences sollicités pour évaluer si elles n’étaient pas un obstacle au type RIASEC sensé
être représenté. Par exemple pour le type artiste, un contexte de musée et la manipulation de
toiles auraient pu se traduire par un gameplay de rangement par date d’acquisition dans un
temps limité. Nous aurions alors sollicité la faculté d’organiser des nombres et la rapidité
d’exécution du classement à la souris. Cela aurait eu bien peu de rapport avec un intérêt pour
le type Artistique de Holland.
Mode de calcul des scores et problématiques
Chaque mini-jeu ayant son propre gameplay, il a fallu établir un système de score unique à
chacun d’entre eux. Cependant, nous devions ramener cette grande variété à un type d’items
comparables pour les besoin de la création du profil de Holland. Il y a donc deux types de
scores : ceux qui sont liées aux éléments manipulés par le joueur (le nombre de pommes 129
mûres ramassées…) et ceux qui transforment ces données en une note sur 3 se manifestant
dans l’appréciation du personnage non joueur qui a commandité le mini-jeu. Cette note
devient l’item mesuré pour la création du profil RIASEC, 1 étant le meilleur score, 3 le moins
bon.
Nous allons passer au travers de trois exemples permettant de mesurer la variété des situations
de mesure du score.
Dans « Tuiles », mini-jeu du type Réaliste du deuxième jour virtuel, le joueur doit raccrocher
des tuiles avant qu’elles ne soient arrachées par le vent. Il interagit à l’aide d’un marteau et
doit cliquer sur les tuiles pour qu’elles résistent à la tempête. Les tuiles possèdent plusieurs
états : normal : la tuile est bien posée sur le toit ; décollée : la tuile se relève un peu, stimuli
indiquant qu’elle va se décrocher ; très décollée : la tuile tient à peine au toit et signale au
joueur qu’elle va très bientôt s’envoler ; envolée : trop tard, le joueur n’a pas pu la fixer à
temps ; fixée : le joueur a pu cliquer dessus deux fois et la fixer solidement ; cassée : le joueur
a cliqué (tapé) dessus plus de deux fois. Un système semi aléatoire décroche progressivement
et de plus en plus rapidement les tuiles sur le toit poussant le joueur à être de plus en plus
réactif. Le jeu s’arrête lorsqu’il ne reste sur le toit que des tuiles fixées, cassées ou envolées.
Dans ce jeu, le score peut se mesurer très simplement sur le nombre de tuiles fixées. Le
tableau de score final comporte donc, le nombre de tuiles fixées, le nombre de tuiles envolées
et celles qu’il a cassées. Ce score est aussi ramené à une note sur trois traduit par la phrase du
PNJ commanditaire dans l’écran de score. La mesure s’établit comme suit : tuile fixées <60%
score de type 3 " Je crois que je vais être obligée de refaire mon toit." ; Entre 60 et 90% de
tuiles fixées score de type 2: "Merci, cela aurait pu être pire" ; tuiles fixées >90% score de
type 1: "Bravo! Le toit pourra résister à la tempête." Ci-dessous, implémentée dans le code, la
transformation du résultat à la fois en retour sous forme de phrase donnée au joueur et comme
item score pour le type RIASEC. 130
Pour « Les courses de Mme Petitpas », mini-jeu du type Social au premier jour virtuel, le
joueur doit accompagner une retraitée faire ses courses. La dame effectue un trajet dans le
village pour atteindre l’épicerie et l’avatar du joueur la tient par le bras. Le joueur ne contrôle
pas les mouvements, il doit juste faire la conversation avec Mme Petitpas. Par les boites de
dialogues, elle lui raconte des histoires de familles, la nature des courses qu’elle doit faire, des
ragots sur le village et de temps en temps s’arrête pour poser une question au joueur relative à
la discussion passée. Le joueur peut alors répondre. S’il n’a pas été attentif lors de la
conversation, il risque de commettre un impair. En arrivant à l’épicerie, Mme Petitpas ne se
souvient pas tout à fait de la liste de course, mais si le joueur a suivi les conversations, il peut
la reconstituer. L’écran de résultat affiche les bonnes réponses données aux questions de
madame Petitpas et le nombre de bons choix sur les choses à acheter à l’épicerie, six éléments
de réponse en tout. Le score item est lui mesuré comme suit, avec la phrase de commentaire
dite par le PNJ, en l’occurrence Mme Petitpas : type 3 si les bonnes réponses sont inférieures
à 3: "Vous êtes un peu tête en l'air vous non? " ; Type 2 si il y a de trois à cinq bonnes
réponses: "Vous savez être à l'écoute, c'est une grande qualité!" ; Type 1 s’il y a six bonnes
réponses : "Je suis ravie que nous ayons fait connaissance. Passez quand vous voulez!".
Il est possible de constater dans les deux exemples précédents que si la nature des éléments du
système de jeu servant à mesurer le score sont très différents et sollicitent des compétences
Ecran de jeu et écran de score du mini-jeu La Tuile
Ecran de jeu et écran de score du mini-jeu Les courses de madame Petitpas 131
variées, ils semblent que nous puissions systématiquement les transformer en un item
comparable.
Le troisième exemple est lui plus problématique. Dans « Création d’automne », mini-jeu de
type Artiste au premier jour virtuel, le joueur doit créer le design d’un T-shirt pour l’artiste du
village. Il s’agit d’une activité créative comme nous pouvons la retrouver dans des catégories
de jouets dans les magasins spécialisés (faire des colliers des perles…). Comment évaluer la
performance artistique du joueur et en faire un score? Les critères gameplay objectifs sont
relativement limités. Nous avons le nombre de clics, traces des manipulations aux différentes
étapes de conception du T-shirt (choix de la forme, couleur de fond, dessins, placement de
sticker). Ils ne sont pas forcément pertinents quant à la mesure d’une qualité/score. Le temps
passé à concevoir le T-shrit ? Idem, il peut contenir des biais : je m’absente pour boire un café
et revient terminer le T-Shirt ; ou à l’inverse, je peux savoir exactement ce que je veux et
réaliser très rapidement un T-shirt valable. Nous avons choisi ce deuxième critère en toute
connaissance de cause des biais potentiels. Nous nous appuierons sur les premiers tests
d’évaluation de l’efficacité de JEU SERAI pour pondérer éventuellement cet item particulier.
Le résultat est basé sur une temporisation et donne lieu à deux niveaux de score seulement,
dépendant du fait que le joueur ait passé un temps supérieur à trois minutes ou non pour créer
son t-shirt.
n autre cas de figure se présente pour le mini-jeu « L’invasion des fourmis ». Le joueur doit
trouver et suivre des fourmis cachées dans l’herbe à l’aide d’une loupe. Le but étant de
retrouver leurs fourmilières, de les voir y entrer. Les fourmis ont un comportement aléatoire
et le joueur peut, par le fait du hasard autant que ses performances, mettre plus ou moins de
temps à retrouver les trois entrées de fourmilières. Or la variable retenue retenu initialement
pour la génération du score et de sa transformation en item commun était le temps qu’il
Ecran de jeu et écran de score du mini-jeu Création d’automne 132
mettrait à les retrouver. La trop grande part d’aléatoire dans le résultat nous a fait renoncer à
classer la performance en résultats de type 1, 2 ou 3 comme dans les autres mini-jeux. Le
joueur obtiendra toujours un résultat de type 1.
Comme pour les variables gameplay, les modalités de mesure des scores et la manière dont
elles sont transformées en items comptant pour la mesure du profil psychologique doivent être
documentées avec précision car potentiellement soumises à des modérations dans le calcul
final. Ci-dessous la liste des mini-jeux avec leur synthèse gameplay, système de score et
méthode de transformation en item pour la mesure.
Titre et type
RIASEC Synthèse gameplay Eléments affichés sur
l’écran de résultat
Transformation en note pour mesure
RIASEC
JOUR 1
La bonne pomme
REALISTE
Des pommes apparaissent dans des
arbres et murissent rapidement jusqu’à
devenir pourries. Le joueur doit
rapidement cliquer sur les pommes
mûres pour remplir des paniers.
Récolte
Pommes vertes Nb
Pommes mûres Nb
Pommes pourries Nb
TYPE 1 : pommes mûres >86%
TYPE 2 : pommes mûres 51 à 85%
TYPE 3 : pommes mûres <50%
L'invasion des
fourmis
INVESTIGATEUR
Le joueur utilise une loupe pour tenter
de suivre des fourmis se déplaçant
rapidement dans l’herbe et doit trouver
les entrées de fourmilières.
Fourmilières trouvées
en timing TYPE 1 : Tout timing
Création d'automne
ARTISTE
Le joueur crée un T-shirt : choix des
couleurs, dessins, motifs…
Votre T-shirt : image du
T-shirt
TYPE 1 : durée activité>3mn
TYPE 2 : durée activité <3mn
Les courses de
Mme Petitpas
SOCIAL
Le joueur doit prêter attention aux
dialogues de Mme Petitpas tandis qu’il
la conduit aux courses. Elle pose
parfois des questions pour savoir s’il a
suivi la conversation.
Vous avez répondu
correctement Nb/3
questions
Vous avez acheté les
bonnes provisions NB/3
Vous avez acheté des
provisions en trop
TYPE 1 : 6 bonnes réponses
TYPE 2 : 3 à 5 bonnes réponses
TYPE 3 : bonnes réponses <3 133
Titre et type
RIASEC Synthèse gameplay Eléments affichés sur
l’écran de résultat
Transformation en note pour mesure
RIASEC
Omelette
ENTREPRENEUR
Plusieurs tapis-roulants amènent les
œufs dans un atelier qui manque de
main d’œuvre. Le joueur doit
efficacement allouer les ouvriers aux
tapis-roulants sous peine de voir des
œufs se casser.
Œufs cassés Nb
Œufs emballés Nb
TYPE 1: œufs emballés > 86%
TYPE 2 : de 50 à 85 % d'œufs emballés
TYPE 3 : œufs emballés<50%
Classe!
CONVENTIONNEL
Le joueur doit trier les timbres ayant
différents thèmes dans les bons
classeurs. Il est en compétition avec
M. Simon triant lui aussi.
Timbres triés par Mr
Simon : nb
Timbres triés par vous :
nb
Dans le bon classeur nb
Dans le mauvais
classeur nb
TYPE 1 ; 100% de timbres bien triés +
nb timbres bien triés > à 2x nb de
timbres de Mr Simon
TYPE 2 : nb bien triés > nb de timbres
de Mr Simon
TYPE 3 : nb timbre bien triés < nb de
timbres de Mr Simon
JOUR 2
La tuile
REALISTE
Il faut fixer les tuiles qui s’envolent de
plus en plus rapidement du toit de
l’épicerie en cliquant dessus
nombre de tuiles fixées
nb
nombre de tuiles
envolées nb
Nombre de tuiles
cassées nb
TYPE 1 : tuiles fixées >90%
TYPE 2 : entre 60 et 90% de tuiles
fixées
TYPE 3 : tuile fixées <60%
Lumière
INVESTIGATEUR
Il faut réparer trois lampadaires
défectueux dans le village. A l’aide
d’une lampe de poche, il faut
reconnaitre le bon circuit à connecter
dans un petit labyrinthe de connexions
possibles.
Nombre de lampadaires
réparés x/3
Temps mis pour les
réparer/ lampadaire
Basé sur le temps cumulé de réparation
des lampadaires (donc sans
déplacement dans le village)
TYPE 1 : timing <3mn
TYPE 2 : entre 3 et 5 mn
TYPE 3 : timing > 5mn
Photos
ARTISTE
A la première personne, le joueur doit
prendre des photos tandis qu’il exécute
un parcours dans le village en pleine
tempête. Il doit photographier des
choses intéressantes en relation avec
la tempête. Le joueur a 14 photos à
faire.
les 4 photos affichées +
Evènements
intéressants
photographiés NB/14
TYPE 1 : 12 à 14 photos avec
événement intéressant
TYPE 2 : 7 à 11 photos avec événement
intéressant
TYPE 3 : 0 à 6 photos avec événement
intéressant 134
Titre et type
RIASEC Synthèse gameplay Eléments affichés sur
l’écran de résultat
Transformation en note pour mesure
RIASEC
Aux abris
SOCIAL
Madame Petitpas, L'agriculteur et
Monsieur Simon ne veulent pas se
mettre à l’abri. Il faut dialoguer avec
eux et choisir les bons arguments
parmi plusieurs pour les convaincre de
venir.
Nombre de personnes
convaincues x/3
Nombre d'essais pour
les convaincre : nb de
fois que le joueur a
lancé un dialogue avec
un des 3 PNJ
Basé sur nb de fois que le joueur a
lancé un dialogue avec les 3pnj et le
nombre de personnes convaincues
TYPE 1 : 3 tentatives pour convaincre ;
toutes personnes convaincues
TYPE 2 : entre 4 et 5 tentatives pour
convaincre ; toutes personnes
convaincues
TYPE 3 : 0 à 2 personnes convaincues
OU nb de tentatives
pour convaincre > à 6 fois
Du sable et de la
sueur
ENTREPRENEUR
Il faut tracer les chemins que doivent
emprunter des porteurs de sacs de
sable de manière à ce qu’ils ne se
percutent pas pendant leurs trajets et
alors qu’ils sont de plus en plus
nombreux.
Nombre de sacs
acheminés: nb
TYPE 1 : nb de sacs amenés >20
TYPE 2 : entre 10 et 20 sacs amenés
TYPE 3 : nb de sacs amenés <10
Stock
CONVENTIONNEL
Des aliments, des outils et des
vêtements arrivent dans un entrepôt
par plusieurs tapis-roulants. Le joueur
doit compter combien d’éléments de
chaque type sont stockés.
Vêtement chiffre
joueur/chiffre réel
Nourriture chiffre
joueur/chiffre réel
Outils chiffre
joueur/chiffre réel
Basé sur la comparaison entre nombres
donnés par le joueur et nombres réels
d’objets ayant été stockés.
TYPE 1 : 3 nombres justes
TYPE 2 : 2 nombres justes
TYPE 3 : 0 ou 1 nombre juste
JOUR 3
Assemblage
REALISTE
Le joueur doit recomposer des
éléments de décor de théâtre à la
manière d’un Tangram.
Eléments de décor
correctement assemblés
: nb/7
TYPE 1 : 7 éléments correctement
assemblés: "Parfait! "
TYPE 2 : 4 à 6 éléments correctement
assemblés
TYPE 3 : 0 à 3 éléments correctement
assemblés
Le petit chimiste
INVESTIGATEUR
Le joueur doit mélanger des composés
chimiques en manipulant des
éprouvettes. Il doit retrouver 6
composés provoquant des réactions
spectaculaires. Un genre de
Mastermind [Hasbro 1972]simplifié
Nombre de réactions
trouvées: nb / 6
TYPE 1 : 6 réactions trouvées
TYPE 2 : 3 à 4 réactions trouvées
TYPE 3 : 0 à 2 réactions trouvées
Déco
ARTISTE
Le joueur doit créer plusieurs décors
pour une pièce en choisissant les
éléments, le fond, le sol, l’éclairage
adéquates.
Screenshot des deux
décors
TYPE 1 : durée activité>3mn
TYPE 2 : durée activité <3mn 135
Titre et type
RIASEC Synthèse gameplay Eléments affichés sur
l’écran de résultat
Transformation en note pour mesure
RIASEC
Accueil
SOCIAL
Des visiteurs font la queue à l’accueil
de la fête et expliquent leurs goûts. Le
joueur doit les orienter vers un des six
spectacles en fonction de ce qui leur
correspond le mieux. Les visiteurs ne
sont pas très patients et ont plusieurs
niveaux de satisfaction.
Visiteurs très satisfaits
Nb
Visiteurs satisfaits Nb
Visiteurs mécontents Nb
TYPE 1 : nb de visiteurs satisfaits et très
satisfaits >85%
TYPE 2 : Entre 50 et 85%de satisfaits et
très satisfaits
TYPE 3 : nb de visiteurs satisfaits et très
satisfaits <50%
Promotion
ENTREPRENEUR
Le joueur organise la vente des tickets
pour les différents événements de la
fête du village. Il choisit les vendeurs,
le type de tickets qu’ils doivent vendre
et où ils les vendent. Le rendement
des ventes dépend de l’adéquation
entre ces trois facteurs.
Place vendues Nb
TYPE 1 : nb tickets vendus >1200
TYPE 2 : entre 800 et 1200 tickets
vendus
TYPE 3 : nb de tickets vendus <800
Chacun sa place
CONVENTIONNEL
Ce dérivé de Tetris demande au joueur
de placer des groupes de spectateurs
dans la salle de théâtre en évitant que
de grandes personnes se retrouvent
devant de plus petites.
Spectateurs bien placés
par Séance Nb
Score Total Nb
TYPE 1 : nb de spectateurs bien placés
>85%
TYPE 2 : entre 50 et 85% de
spectateurs bien placés
TYPE 3 : nb de spectateurs bien placés
<50%
Cette méthode, ramener les items à une variable d’un type commun, a des limites que la mise
en place et l’analyse des premiers tests d’évaluation ont révélé et que nous discuterons.
Elements de gameplay des mini-jeux et RIASEC
Nous évaluons ici la pertinence RIASEC du gameplay de chaque mini-jeu par le biais
d’éléments clefs : la nature de l’activité simulée, les verbes d’action du gameplay matérialisés
par une activité perceptible dans le jeu (input traduit en feedback visuel) ou non (aspect
cognitif des choix stratégiques du joueur), et l’objectif à atteindre. Dans le tableau suivant,
nous synthétisons cette pertinence en le formalisant par le procédé évoqué en section 0.
D’autres éléments du gameplay seront explicités dans la section dédiée à la mise en scène de
l’interaction (mode de représentation du curseur, objet de l’interaction, feedback visuels)
type Nom du minijeu
Activité simulée
(validée par test
papier)
Verbe d’action et
gameplay Objectif
Jour 1 136
type Nom du minijeu
Activité simulée
(validée par test
papier)
Verbe d’action et
gameplay Objectif
R La bonne
pomme
Récolte de
pomme
Cueillir au bon moment
les pommes mûres
Remplir trois paniers
de pommes
I
L'invasion
des fourmis
Observation des
fourmis
Suivre les fourmis à la
loupe; déduire (que les
fourmis qui portent de la
nourriture vont aux
fourmilières) ;
Localiser les trois
fourmilières
A Création
d'automne Design de t-shirt Peindre ; choisir des
couleurs et motifs
Achever le design du
T-shirt
S Les courses
de Mme
Petitpas
Accompagner une
personne âgée
Ecouter (lire)
attentivement et répondre
(choix de dialogue)
Donner les bonnes
réponses
E
Omelette Diriger une équipe
en atelier
Placer les employés en
face de tapis roulant ;
optimiser le rapport
employés/débit d’œufs
Avoir un maximum
d’œufs emballés
C
Classe! Classement de
timbres
Trier en associant
thèmes des timbres et
thèmes des classeurs
Avoir un maximum de
timbres dans les bons
classeurs
Jour 2
R La tuile Réparer un toit Sceller les tuiles en
luttant contre le vent
Avoir un maximum de
tuiles scellées
I
Lumière
Chercher la
source de pannes
électriques
Explorer le village ;
observer et trouver les
bons circuits, activer les
connections.
Remettre en route
tous les lampadaires
A
Photos Réaliser un
reportage photo
Prendre en photo ; choisir
les sujets ; choisir les
photos
Avoir un maximum de
photos ayant pour
sujet la tempête
S
Aux abris Mettre les
habitants à l’abri
Choisir les bonnes
répliques en fonction du
profil perceptible du PNJ
Convaincre trois
récalcitrants à venir
s’abriter.
E
Du sable et
de la sueur
Diriger une équipe
de porteurs
Décider et tracer les
trajets qu’empruntent les
porteurs ; anticiper les
collisions
Eviter les collisions
pour avoir un
maximum de sac
C Stock Faire un état des
stocks Compter Avoir des comptes
justes
Jour 3 137
type Nom du minijeu
Activité simulée
(validée par test
papier)
Verbe d’action et
gameplay Objectif
R
Assemblage Montage de décor
reproduire une forme
donnée ; Choisir des
éléments de décor ;
rechercher les bonnes
combinaisons
Avoir un maximum
d’éléments de décors
assemblés
correctement
I
Le petit
chimiste
Manipulation d’un
kit de chimiste
Choisir des fioles ;
essayer des
combinaisons
Obtenir un maximum
de mélanges
provocant des
réactions
A
Déco Conception d’un
décor de théâtre
Choisir les sols, fonds,
éléments de décors et
éclairages ; peindre
Achever deux décors
complets
S
Accueil
Assurer l’accueil à
un point
d’information
Ecouter (lire) les souhaits
des visiteurs ; déduire et
choisir le spectacle
approprié
Avoir un maximum de
visiteurs satisfaits
E
Promotion
Diriger une équipe
de vente de
tickets
Choisir les vendeurs et
les types de tickets à
vendre ; lire les profils
des vendeurs ; optimiser
l’association lieu de
vente/vendeur/type de
tickets. Déduire les
meilleurs associations.
Vendre un maximum
de tickets
C
Chacun sa
place
Faire le
placement dans
une salle de
spectacle
Choisir la rangée de
placement des groupes
de spectateurs; permuter
l’ordre dans un groupe
Avoir un maximum de
spectateurs bien
placés
Notre estimation du type de « travail » gameplay que nous demandons au joueur dans les
mini-jeux n’a pas toujours été pertinente. Il y a parfois eu un écart entre ce que nous
estimions sur la base du game design papier et le prototype réalisé. C’est particulièrement
vrai lorsque que le temps imparti à la production arrive à son terme et où l’on manque de
recul pour corriger le tir. « Promotion » et « Assemblage » ont été dans ce cas. Ils ont non
seulement posé des difficultés de conception, en particulier trouver de véritables gameplay
rapides et simple à prendre en main, et n’ont pas bénéficié d’assez de recul du fait des
contraintes de temps. Le travail d’expérimentation et de déduction nécessaire à la découverte
des stratégies gagnantes a été sous-estimé dans ces deux mini-jeux. 138
L’Item rejouer inégal selon les mini-jeux
Les mini-jeux de JEU SERAI peuvent être rejoués et le nombre de fois qu’un joueur le fait, il
incrémente un item devant permettre de marquer sa préférence. Certains types d’activités
sont moins susceptibles d’être en accord avec cette rejouabilité, en particulier celles associées
au type Social.
Prenons l’exemple du mini-jeu « Les courses de Mme Petitpas » décrit plus haut. Son
gameplay est biaisé si l’on y joue une deuxième fois. Une fois que le joueur a parcouru le
trajet avec Mme Petitpas et qu’elle lui aura posé toutes les questions pièges, il saura sur quels
éléments il doit porter son attention dans les dialogues pour pouvoir y répondre. Il aura donc
toutes les chances d’avoir le score maximum dès la deuxième tentative. Au maximum, il y
jouera donc deux fois. Comparativement au mini-jeu des Tuiles qui peut voir la performance
du joueur augmenter de tentative en tentative, nous ne pouvons pas considérer le que les
« rejouer » ont tous le même poids dans la mesure de l’item. Cette constatation a pu être
confirmée par l’analyse des premières passations.
Les activités récurrentes
Ce que nous nommons les activités récurrentes regroupe des activités ou des jeux disséminées
dans le décor du village, que le joueur n’est pas obligé de faire pour progresser et qui ne sont
pas initialement portés à sa connaissance. Il les découvre au hasard de ses déplacements.
Elles se manifestent par un simple changement d’allure du curseur s’il décide de déplacer sa
souris au-dessus d’un objet interactif (en roll over). Réaliser ces activités ne donne lieu à
aucune récompense particulière. Il s’agit de petites activités bonus, que le joueur peut faire
par pur plaisir, entièrement libre de son engagement. Nous supposons que répéter ces activités
peut signifier un intérêt pour leur nature.
Le tableau ci-dessous résume les activités récurrentes disponibles par type RIASEC.
Type RIASEC Activités disponibles dans le village
Réaliste
Arroser les plantes pour les faire pousser. Plusieurs points dans le
village
Activité sport, jeu de jongle avec un ballon de football sur le terrain de
sport
Investigateur
Avoir des informations réalistes sur les champignons du village.
Plusieurs points dans le village.
Enigme de la semaine, le joueur peut résoudre une énigme sur le 139
tableau d’affichage de la mairie
Artiste
Dessiner à la craie sur le sol de la cours de l’école, le dessin reste
affiché toute la journée.
Buissons à tailler pour leur donner des formes sculptées prédéfinies,
plusieurs points dans le village
Social
Discuter avec des personnages tristes ou en colère. 1 de chaque type
par jour.
Discuter avec une représentante de la Croix-Rouge faisant une
collecte sur la place principale du village
Entrepreneur Inviter à un groupe de PNJ à suivre l’avatar dans ses déplacements. 2
groupes dans le village par jour.
Conventionnel
Il y a des détritus sur le sol dans le village, cannettes ou papier. Le
joueur peut cliquer dessus pour les faire disparaître. Plusieurs points
dans le village.
Nous avions pour recommandation de la part des experts de l’INTEOP et de Paris Ouest que
le joueur puisse être confronté avec la même fréquence à des activités de chaque type
RIASEC. Nous n’avons pas pu la respecter. Des difficultés de conception et de production
font, qu’en l’état, dans le prototype livré pour les tests d’évaluation en juillet 2011, il existe
un certain déséquilibre entre les différents types RIASEC.
Les objets de types Réaliste, Investigateur, Artiste et Conventionnel sont nombreux: toujours
6 à 13 objets présents en même temps dans le village. Ceux de type Social le sont beaucoup
moins : Trois objets présents dans le village en même temps. Le type Entrepreneur : deux
objets présents dans le village par jour. Pour ce dernier type, la probabilité de rencontrer le
groupe de PNJ qui sert de déclencheur est donc beaucoup plus faible que les autres activités
récurrentes. Nous n’avons pu multiplier la présence de cet objet (2 PNJ) car il est couteux en
termes de CPU. Nous avons imaginé un système permettant de contourner le problème : faire
spawner le groupe de PNJ sur le chemin du joueur à plusieurs reprises dans chaque journée
virtuelle. Mais le système n’a pas pu être implémenté à temps. Les résultats d’analyse
doivent donc tenir en compte cette faiblesse.
Pour le type Social, faiblement présent, nous pouvons à minima pondérer la mesure. Le
joueur a la possibilité d’écouter les PNJ qui racontent leurs problèmes ou leurs causes
jusqu’au bout ou quitter la conversation avant terme. Le poids de l’item dépend de la volonté
du joueur d’aller au bout. 140
Design des systèmes de notation par le joueur
Le joueur dispose de deux moyens de noter les mini-jeux auxquels il a joués. Lorsqu’il quitte
un mini-jeu après y avoir joué, il peut noter ce dernier par un système proche des notations
communément répandues sur internet29
.
Lorsqu’il a fini tous les mini-jeux d’une journée, le joueur doit les classer par ordre de
préférence pour pouvoir passer à la suivante, un mode de réponse dit ipsatif. Le système
s’apparente à la manipulation de médailles, notées de un à six, qu’il attribue aux activités.
Ces deux procédés de notation transparents, proche de questionnaires traditionnels, permettent
deux types de présentations au joueur. Les étoiles sont un « j’aime plus ou moins » l’activité
ciblée, le classement permet de créer un rapport des items les uns par rapport aux autres.
Quizz
La création des Quizz avait pour but d’alléger la production de mini-jeux tout en fournissant
un autre moyen de collecter des informations sur les intérêts du joueur. Leurs formes et
contenus ont été imaginés et validés en réunion de conception avec les experts de l’orientation
professionnelle.
29 du type notification des livres par les visiteurs du site Amazon.com
A gauche l’écran de notation des mini-jeux après y avoir joué, à droite l’écran
de classification des mini-jeux à la fin de chaque journée 141
En parcourant le village, le joueur croise des PNJ ayant des problèmes à résoudre ou lui
posant des questions. Ils se contentent d’exposer le problème et les solutions possibles. Le
joueur, dans la position d’un conseiller, donne son avis et peut choisir l’une des solutions.
Chaque réponse est un item potentiel pour la création du profil du joueur. Bien qu’indiqués
dans le journal des quêtes (voir dans la section sur la structure motivationnelle), ces Quizz ne
sont pas obligatoires pour que l’on puisse progresser de jour en jour jusqu’à la fin du jeu.
Malgré le nom qui leur a été donné durant la production, ces Quizz n’ont donc rien à voir avec
un challenge sur un quelconque champ de connaissance.
Du fait de sa forme proche des questionnaires traditionnels de Holland, nous n’étions pas sûrs
d’avoir totalement besoin de ce type de mesure dans le cadre de ce projet. Ils présentaient
cependant l’avantage de proposer un nombre d’items relativement simple à analyser et
pouvant confirmer des tendances liées aux autres moyens mis en place relevant plus de notre
propos (score, rejouer, activités récurrentes). D’un point de vue mise en scène et contexte
narratif ils permettaient aussi de nourrir le village d’activités, qui pourrait paraître
relativement vide sinon.
Comme cela a été évoqué plus tôt, JEU SERAI devra a terme mesurer d’autres types de
profils. En particulier les valeurs du consultant. S’il s’avère que les autres items sont fiables
pour la mesure des types d’intérêts, cet espace pourrait être aménagé et servir à la mesure des
valeurs.
A gauche la signalétique d’un personnage proposant un Quizz, à droite, l’écran de
parcours des solutions et de validation 142
Création d’avatar
Dans un but d’appropriation plus intime du jeu par le joueur et complètement en phase avec
les références du genre d’appartenance (les sim life tel qu’Animal Crossing ou My Sims) nous
avions très tôt décidé d’intégrer un système de customisation de l’avatar par le joueur.
Sans le nier, c’est par opportunisme que nous nous sommes demandés s’il n’y avait pas là
matière à créer un nouvel item. Si le sexe la couleur de peau ou de cheveux de l’avatar n’y
étaient pas propices, la typologie de Holland semblait pouvoir se décrire par des tenues
vestimentaires.
A titre indicatif, ci-dessous vous pouvez voir une illustration extraite du site d’une société
offrant de passer des tests basés sur le modèle de Holland30. Elle présente justement des
archétypes vestimentaires associés à chaque type RIASEC.
Nous avons créé six tenues pour homme et six pour femme basées sur des stéréotypes
évoqués dans les descriptifs RIASEC. Certains types auraient mérité plusieurs choix, le type
Réaliste, par exemple, ne se résume pas aux amateurs de sport ou de sportwear. Les
contraintes de production nous ont obligés à ne proposer qu’un choix par type et par sexe dans
la version prototype.
30 Site de l’éditeur de test d’orientation PAR, http://www.self-directed-search.com/default.aspx
Bandeau d’illustration du site de l’éditeur de tests d’orientation professionnelle PAR143
Lorsque le joueur commence une partie, il doit choisir le sexe, la couleur de peau, la coupe et
couleur de cheveux et la première tenue de son avatar. C’est à ce moment que nous prenons
en compte son choix, bien qu’il puisse plus tard changer de tenue dans la maison de son
avatar.
Nous pensons que dans la version finale de JEU SERAI cet item pèsera faiblement dans la
création du profil du joueur. Il pourrait éventuellement confirmer une tendance révélée par
des items d’autres natures.
Mise en scène de l’interaction
Deux enjeux ressortent dans les tâches de mise en scène de l’interaction sur JEU SERAI :
l’accessibilité des interactions pour l’audience très large et appuyer la qualité des items.
Le jeu est intégralement jouable à la souris, les seuls moments où le joueur doit se servir d’un
clavier correspondent à de l’écriture (rentrer son nom, commenter une activité dans son
journal…). Il n’aura par exemple jamais besoin d’utiliser les flèches directionnelles pour
s’orienter ou déplacer un objet. Cette contrainte de conception nous permet de pouvoir
faciliter l’accessibilité et envisager des portages sur des supports tactiles.
De la même manière, nous souhaitons éviter de solliciter les facultés de spatialisation de
l’utilisateur, qui peuvent poser des problèmes d’accessibilité pour les personnes peu
familières avec l’univers du jeu. La caméra doit garder un angle constant sur la scène, que
cela soit dans les mini-jeux ou la navigation dans le village.
Ecran de customisation de l’avatar en début de partie 144
Après une description du fonctionnement de la navigation dans le village nous focaliserons
notre propos sur les mini-jeux présentant des enjeux majeurs de mise en scène de l’interaction
pour renforcer la qualité de leur appartenance à leurs types RIASEC respectifs.
Navigation dans le village
Le joueur passe près de la moitié de JEU SERAI à naviguer dans le village : pour y chercher
les différentes activités, pratiquer les activités récurrentes ou pour résoudre certains mini-jeux.
Caméra contrôle et déplacement de l’avatar
La vue par défaut est une caméra à la 3ème personne ciblant l’avatar du joueur dans la scène.
La caméra suit le personnage lorsque le joueur le fait se déplacer. Elle garde toujours la
même orientation. Pour éviter des mouvements trop secs de caméra, les démarrages et arrêts
sont progressifs. Le joueur a la possibilité de zoomer légèrement en se servant de la molette
de la souris. C’est un usage courant sur PC qui aurait pu surprendre par son absence.
Pour déplacer son avatar, il y a deux possibilités. Le joueur clique sur un espace dégagé
visible dans son interface et le personnage s’y rend. Ce mode de déplacement est orienté vers
les personnes découvrant les contrôles d’un avatar dans un univers virtuel. Il peut être
fastidieux par la répétition constante des clics et saccadant l’avancée de l’avatar et de la
caméra. Le deuxième mode de déplacement consiste à laisser le bouton gauche de la souris
enfoncé et de déplacer le curseur. L’avatar va continuellement dans la direction du curseur.
Ce mode de contrôle vise pour les joueurs plus à l’aise, soit par leur pratique antérieur de jeux
à la troisième personne, soit par l’acquisition d’une aisance de manipulation au sein même de
JEU SERAI.
Interface principale 145
L’interface principale de navigation dans le village est relativement épurée pour ne pas noyer
le joueur. Elle est composée de la vue à la 3ème personne de l’avatar complétée de : trois
boutons dans l’angle haut/droit pour ouvrir la carte du village, le journal des quêtes (indiquant
les mini-jeux et quizz faits et à faire) ou les options (sauvegarde, génération du profil,
quitter) ; une boussole dans l’angle haut/gauche pour aider le joueur à s’orienter vers un minijeu
à faire ; un espace en bas de l’écran servant aux affichages temporaires des boites de
dialogue ou pour communiquer des informations.
Fonction de la boussole
Immerger le joueur dans le contexte d’un village s’apparente aux jeux dits « bac à sable ». Il
y est libre de s’y déplacer et de faire des activités dans l’ordre qu’il veut. Cette liberté amène
des inconvénients. Un joueur peut s’y sentir perdu. La boussole a pour fonction de palier à
ce problème et permettre une expérience plus dirigée. Elle indique la direction d’un mini-jeu
non encore accompli ou, si les 6 mini-jeux sont faits, la direction de la maison du joueur
déclenchant le passage à la journée suivante. Libre au joueur de se servir de ces informations.
Interface principale de navigation dans le village 146
L’ordre dans lequel sont proposés les mini-jeux permet d’estimer les déplacements dans le
village et d’inciter à croiser le chemin d’activités récurrentes. Dans l’exemple illustré cidessous
vous pouvez voir les points indiqués successivement par la boussole (ronds bleus), le
parcours estimé du joueur (en rouge, sur la base d’une optimisation du trajet) et les positions
d’objets relatifs à une des activités récurrentes, les champignons (les « C » rouges). Vous
pouvez noter que le parcours incité par la boussole passe près de cinq champignons.
Si ce procédé n’a pas été optimisé pour l’ensemble des activités récurrentes (pour
l’entrepreneur et le social en particulier), il est un levier potentiel d’équilibrage de la
fréquence de leur présentation au joueur.
Mini-jeux
Outre les problématiques évoquées dans la section précédentes (accessibilité, caméra figée
dans un axe…) les mini-jeux ont aussi deux enjeux notables pour la mise en scène de
l’interaction. Le premier est commun à n’importe quel game design : la compréhension de la
situation de jeu dans laquelle le joueur se trouve. Cela passe par une bonne gestion des
feedback renvoyés au joueur lorsqu’il fait une action. Le second enjeu est spécifique à JEU
SERAI : appuyer la qualité des items.
Notons qu’il y a une exception à la règle que nous nous étions fixés en conception de caméra.
Dans tous les mini-jeux soit elle est fixe, soit elle est identique à celle de la navigation dans le
Superposition du trajet estimé du joueur suivant la boussole et les positions d’une des
activités récurrentes 147
village. L’exception est le mini-jeu « Photos », de type Artistique pour la deuxième journée.
Le joueur voit au travers de l’objectif d’un appareil photo, à la première personne de son
avatar circulant dans le village. Son objectif est de prendre en photo des éléments ou
événements illustrant la tempête qui fait rage. Pour simplifier les manipulations, nous avons
utilisé un gameplay proche de certains jeux de tir sur rail ou de safari tels que Pokemon Snaps
[Nintendo 2000]. C’est-à-dire que le joueur ne contrôle pas ses déplacements, il avance sur
un rail virtuel prédéterminé. Il ne se focalise que sur l’orientation de son point de vue à l’aide
de la souris, observe l’environnement et détermine quand prendre une photo en cliquant.
Nous avons testé ce mode de manipulation auprès d’employés de Wizarbox ne pratiquant pas
ou peu le jeu vidéo pour nous assurer de son accessibilité, mais il n’y a pas eu de tests
ergonomiques sur un panel représentatifs du public cible.
Lisibilité du gameplay
Nous ne pouvons créer l’Active creation of belief que si le jeu nous renvoie des feedbacks
explicites des conséquences de nos actions.
Lorsque le joueur clique pour accomplir une action (cueillir des pommes), des feedbacks
visuels ou une réaction immédiate doit se produire (le sécateur se ferme et se rouvre, une
pomme tombe dans un panier, un effet spécial composé de feuilles est déclenché à l’endroit
visée). Cette accumulation de moyens marquant un petit clic est nécessaire pour la lisibilité
de la situation et confirmer au joueur que son action a bien porté. C’est d’autant plus
nécessaire dans les mini-jeux basés sur la réactivité. Cette communication avec le joueur doit
autant que possible lui révéler s’il est en train de gagner ou de perdre. Nous n’avons pas hésité
à utiliser des icônes très répandus tels que les coches vertes et croix rouge par exemple dans
« Classe ! », tout droit inspiré de l’Entrainement cérébral du docteur kawashima [Nintendo
2006] visant lui aussi une audience très large.
Renforcement de l’appartenance des mini-jeux à un type RIASEC par les éléments de la
boucle d’interaction
Les modes d’interaction et les feedbacks sont au cœur du gameplay. Il fallait que les éléments
de cette boucle, à l’échelle micro, véhiculent pour chaque mini-jeu le type RIASEC qu’il est
censé représenter. 148
L’un des vecteurs potentiels est le curseur lui-même. Dans certains mini-jeux, le curseur
prend la forme d’un outil relatif à l’activité simulée à l’image de l’exemple du sécateur
servant à collecter les pommes. L’objet visé par l’interaction et la nature des feedbacks
peuvent parfois aussi être rapprochés de types RIASEC.
Le tableau ci-après énumère les curseurs, les cibles de l’interaction et la nature des feedbacks
perçus par le joueur pour chaque mini-jeu. Pour rappel vous pouvez trouver l’explication du
fonctionnement de la légende colorée en section 0
type Nom du mini-jeu Curseur Eléments manipulés ou
cibles de l’interaction
Feedback des interactions
Jour 1
R La bonne pomme Sécateur Pommes, Feuilles
I L'invasion des
fourmis Loupe Fourmis avec et sans
nourriture Coche verte
A Création d'automne Par défaut Pinceau, couleur, stickers Réalisation en temps réel
de la création
S Les courses de Mme
Petitpas Par défaut Choix de réponse, liste de
course
Enchainement dialogué de
Mme Petitpas
E
Omelette Par défaut
Bouton métaphore d’un
ordre aux employés de
l’atelier
Les employés suivent les
indications, les œufs sont
collectés ou non, Nb
d’œufs
C
Classe! Pince à timbre Timbres
NB de timbres, Effets de
déplacement des timbres,
coche verte et croix rouge
Jour 2
R
La tuile Marteau Tuiles
Tuile tenue par des
attaches, tuiles
manquantes, tuiles
cassées
I
Lumière
Par défaut /
Tournevis, halo
d’une lampe de
poche
Lampadaire défaillant /
Interrupteurs sur un
labyrinthe de circuits
Le faisceau de la lampe
parcourant le circuit en
temps réel, l’interrupteur
se refermant, électricité
parcourant le circuit en
cas de réussite
A
Photos
Viseur appareil
photo/puis par
défaut dans la
chambre noire
Orientation du cadre/ les
photos tirées
Effet visuel de la photo
prise. Les photos se
déplaçant dans la
sélection finale, décompte
photos
S Aux abris Par défaut PNJ, Choix de Dialogues Réactions dialoguées des
PNJ 149
type Nom du mini-jeu Curseur Eléments manipulés ou
cibles de l’interaction
Feedback des interactions
E Du sable et de la
sueur
Par défaut Tracé de parcours au sol
pour les porteurs
Mouvement en temps réel
des porteurs, collision
entre eux, dépôt des sacs
C Stock Par défaut Boutons d’outil de
comptage
Retour du bouton, chiffre
s’incrémentant
Jour 3
R Assemblage Par défaut Eléments de décor et
support d’assemblage
Les éléments
s’assemblant
I
Le petit chimiste Par défaut Fioles
Mélange et réaction
chimique se réalisant,
coches vertes et croix
rouges
A
Déco Par défaut
Eléments de décors,
couleur, pinceaux,
lumières.
Création en temps réel du
décor
S Accueil Par défaut Titres des spectacles Réaction des spectateurs
mécontents
E
Promotion Par défaut
Pions représentant les
vendeurs, liste de choix
des tickets à vendre
Feedback croissant en
fonction du rendement des
ventes de tickets
C
Chacun sa place Par défaut
Groupe de spectateurs,
bouton permettant de les
permuter, emplacements
dans la salle
Les spectateurs
s’assoient, contours verts
ou rouges apparaissant
s’ils sont bien placés ou
non
Décors des mini-jeux et RIASEC
L’environnement dans lequel se déroule le mini-jeu, rôle, décors, personnages, animations
peuvent être évalués de la même manière. Certains de ces éléments, mêmes s’ils ne sont pas
interactifs, peuvent cependant avoir un rôle gameplay important. A titre d’exemple dans
« Stock », les objets circulant sur les tapis-roulant ne sont pas interactifs, mais l’objectif est
de les compter et occupe donc l’attention du joueur durant toute la durée du mini-jeu.
type Nom du mini-jeu Décor Eléments animés hors curseurs, cibles
d’interactions et feedbacks
Jour 1
R La bonne pomme Verger Panier, PNJ récoltant des pommes 150
type Nom du mini-jeu Décor Eléments animés hors curseurs, cibles
d’interactions et feedbacks
I L'invasion des
fourmis Herbe et sol
A Création d'automne Evocation d’un atelier ou d’un
outil de design graphique
S Les courses de
Mme Petitpas Village, boites de dialogues Avatar soutenant Mme Petitpas durant
son parcours
E
Omelette Atelier d’emballage des œufs
Une équipe d’employés, avatar du
joueur donnant des indications et
motivant les employés
C Classe! Table avec classeurs de
timbres Monsieur Simon triant avec nous
Jour 2
R La tuile Toit de l’épicerie Background de tempête
I Lumière Village / tableau électrique en
forme de labyrinthe
A Photos Village Les habitants pris dans la tempête
S Aux abris Village
E Du sable et de la
sueur
Lieu de stockage des sacs de
sable proche de la rivière
Avatar du joueur donnant des
indications aux porteurs
C Stock Entrepôt Tapis roulant et trois types d’objets
transportés
Jour 3
R Assemblage Scène de théâtre
I Le petit chimiste Salle de chimie
A Déco Scène de théâtre
S Accueil Stand d’accueil des visiteurs Queue des visiteurs
E Promotion Carte d’une ville et pions à
l’effigie de PNJ
C Chacun sa place Salle de spectacle, rangées de
sièges vues depuis la scène Rideaux de théâtre
Dans cette section sur la mise en scène de l’interaction, nous avons pu faire le point sur les
moyens utilisés pour faciliter l’accès au jeu à une large audience et évaluer les éléments
pouvant potentiellement soutenir le rapprochement entre un mini-jeu et un type de Holland.
Certains choix de contenu sont parfois distants de l’objectif visé. 151
Structure motivationnelle
Par sa thématique JEU SERAI peut peut-être motiver certains publics : en apprendre plus sur
soi, s’aider volontairement dans sa démarche d’orientation, etc. Cependant, le game design
part du principe qu’il doit fournir les leviers motivationnels permettant d’entretenir
l’engagement du joueur par ses propres mécanismes.
La structure motivationnelle d’un jeu couvre plusieurs éléments de conception, à titre
d’exemples :
• Le découpage du jeu en segment : niveau, missions etc.
• La manière dont le joueur a connaissance de sa progression
• Les systèmes de récompenses : bonus, points, etc.
• Les systèmes d’évolution ou d’amélioration : faire monter de niveau mon
personnage, faire progresser mes moyens d’interaction, etc.
La notion de récompense est problématique dans JEU SERAI. Nous allons voir qu’elle induit
un obstacle potentiel à une bonne mesure RIASEC. A une échelle plus immédiate,
l’environnement perceptible par le joueur doit pouvoir par lui-même stimuler l’interaction.
Pour que le parcours personnel d’un joueur garde une fraîcheur tout au long de l’expérience,
le jeu doit aussi gérer adéquatement la difficulté et la variété dans la succession de situations
de jeu. 152
Structure du jeu
D’un point de vue structurel, le jeu est relativement classique. Après avoir créé un nouveau
profil ou chargé une partie sauvegardée le joueur prend le contrôle de son avatar dans le
village. Sa quête consiste à aider six habitants du village lui proposant six mini-jeux. Une
fois ces six jeux terminés, une journée se termine, il doit remplir son journal et une nouvelle
journée commence. Ce cycle ce produit trois fois avant que nous puissions générer le profil
RIASEC final. Chaque journée propose une thématique renouvelant la nature des mini-jeux
disponibles.
Système de récompense
La grande majorité des jeux vidéo récompensent le joueur pour son engagement dans le
système de jeu. Les récompenses sont associées à une réussite, à une prise de risque ou
simplement au fait que le joueur agisse. Leur nature est variable, il peut s’agir du simple droit
de poursuivre l’aventure, du déblocage de nouveaux lieux, nouveaux objets ou pouvoirs de
l’avatar modifiant la nature de l’interaction, de gagner des points axés sur une compétition de
scores, d’accumuler des niveaux d’expérience permettant de faire évoluer son avatar, de
gagner des vies supplémentaires, de collecter des éléments servant à la résolution d’un
objectif… Pour que la boucle objective challenge reward reste engageante, ces récompenses
sont pour la plupart liées au gameplay lui-même : lui offrir de nouvelles situations de jeu ou
des moyens de lui faciliter certaines épreuves. Nous pouvons facilement comprendre que si
Schématisation de la structure du jeu 153
l’on fait miroiter à un joueur de jeu de tir une arme plus efficace, il sera motivé pour l’obtenir
et sera ravi de l’acquérir. Il s’agit là d’une dimension très pragmatique du joueur. Tout ce qui
peut l’aider dans ses épreuves est le bienvenu. Il tend à se faciliter la vie dans ses épreuves31
.
Dans le cas de JEU SERAI, si nous mettions en place un système de récompense impactant
sur la manière de réussir les épreuves nous risquerions de biaiser la mesure de l’intérêt. Il
déciderait de s’engager dans certaines activités optionnelles ou rejouerait les mini-jeux en
quête de ces moyens facilitateurs, et non par une marque d’intérêt pour l’activité. Le système
de récompense retenu est donc plus cosmétique que gameplay.
A la fin de chaque mini-jeu, le joueur gagne des éléments de personnalisation de sa maison.
S’il n’est pas intéressé par l’aménagement en lui-même, il aura au moins le retour lui
indiquant qu’il a gagné quelque chose par le biais d’un message explicite après le mini-jeu.
13 éléments de customisation de sa maison sont disponibles dès le début du jeu, 36 autres se
gagnent par les mini-jeux. A chaque fois qu’il en termine un pour la première fois il gagne
deux éléments et aucun autre ne lui est donné s’il rejoue. Car si nous récompensions le
31 Il existe cependant des cas où les joueurs refusent la facilité pour mettre en valeur leur performance ou leur virtuosité. Ce
comportement est visible par exemple chez une catégorie de joueurs de Counter-Strike [Valve 2000], jeu de tir à la première
personne très compétitif, où certains d’entre eux décident d’utiliser que des armes blanches face à d’autres équipés d’armes à
feu. Ils s’handicapent et valorisent leurs réussites dans la difficulté.
Boite de dialogue valorisant la récompense et l’écran de
customisation de la maison mettant en avant les récompenses 154
« Rejouer », cela risquerait de fausser cet item, certains joueurs ne rejouant que par volonté de
faire tous ce qu’il y a à faire dans le jeu (voir le principe de complétion évoqué dans l’état de
l’art 2.9), ou poussés par le levier motivationnel de la collectionnite.
Ce système de récompense cosmétique existe dans de nombreux titres, comme par exemple
les jeux grand public sur réseaux sociaux tels que Farmville. Mais il vient en complément de
points, de niveaux, de déblocage d’objets impactant sur le gameplay.
Pour compléter ce système JEU SERAI offre un levier classique, le sens de la progression, la
promesse de pouvoir poursuivre ou étendre son expérience de jeu par l’accès à de nouveaux
contenus (lieux, quêtes, missions). Il est ici véhiculé par ce cycle des jours et par la prise de
connaissance des choses à accomplir. Le cycle des jours est un repère net de progression. Il
est soutenu par le journal des quêtes qui peut s’ouvrir depuis l’écran de navigation par défaut.
Nous pouvons y voir les mini-jeux accomplis, cochés au fur et à mesure, et ceux restants. Les
activités optionnelles de type Quizz y sont aussi répertoriées.
La mise en place du système de récompense souleve donc une faiblesse potentielle du jeu car
il n’impacte pas sur le gameplay.
Un village stimulant
Par village stimulant, nous voulons ici parler de l’accumulation de moyens mis en place pour
que ce soit un endroit vivant en termes de gameplay. Dans sa relation immédiate avec le jeu,
le joueur doit être entretenu dans une forme de stimulation permanente. Ce principe peut être
éclairé par un exemple simple. Imaginez que l’environnement de jeu qui se présente à vous
soit un couloir d’hôpital, plutôt triste, avec des néons, ses portes identiques se succédant
Ecran du journal de quête155
entrecoupées de croisement avec d’autres couloirs. En soi, ce décor ne présente pas d’intérêt
gameplay. Si le jeu en question est un jeu d’infiltration où vous pouvez regarder sous les
portes, les ouvrir précautionneusement, vous plaquer contre les murs, mettre hors d’état les
lumières pour évoluer dans le noir… Alors ce même couloir cumule un grand nombre de
sollicitations : des interactions potentielles. Il sera un environnement stimulant d’un point de
vue gameplay. Un jeu peut bien entendu faire varier le volume de stimulations. C’est une
forme de rythme a gérer.
Dans JEU SERAI, la caméra pointe en quasi permanence des potentiels d’interaction.
Quelques rares points de vue offre des pauses.
Les stimuli sont parfois explicites. Des bulles au-dessus de PNJ contiennent des points
d’interrogation pour ceux qui offrent des Quizz ou des points d’exclamation pour ceux qui
déclenchent les mini-jeux. Cette signalétique est inspirée d’un code répandue dans de
nombreux jeux de rôle. D’autres stimuli sont suggérés, à l’image de l’ardoise géante servant
de cour à l’école. Le but est d’inciter le joueur à y promener son curseur et découvrir qu’elle
peut déclencher une activité..
En dehors des enjeux purement gameplay, la mise en scène contribue à rendre le village
vivant et changeant. L’habillage des différentes journées par le changement d’éclairage et de
météo, ou encore les passants, joggers ou habitants affairés sont en soi des éléments aidant à
crédibiliser le contexte et le rendre plus attrayant.
Exemple d’un point de vue particulièrement chargé en stimulations
gameplay. Mini-jeu, Quizz et cinq activités récurrentes peuvent y
être déclenchées 156
Progression de la difficulté et de la variété
JEU SERAI entretient l’intérêt du joueur par la grande variété des situations de jeu proposée,
en grande partie due à la présence des mini-jeux successifs. Il n’y a pas de système de
progression de la difficulté à l’échelle globale car il n’y a pas de continuité dans le gameplay.
En d’autres termes, nous ne proposons pas une succession de niveaux ou de missions reposant
sur un gameplay central dont certaines variables varient pour offrir un renouvellement du
contenu. Certains mini-jeux ont cependant été conçus pour proposer une complexification de
leur challenge, à une échelle de quelques minutes tout au plus.
Des mini-jeux comme « Du sable et de la sueur » ou « La tuile » n’ont qu’un seul niveau
mais les éléments challengeant le joueur sont déclenchés continuellement. L’algorithme
générant ces éléments module progressivement leur déclenchement et complexifie le
gameplay. Des jeux comme « Lumière » ou « Assemblage » sont eux composés de plusieurs
niveaux de difficultés croissantes.
Comparaison au type de régulations de Deci et Ryan
Essayons de comparer nos leviers motivationnel avec le modèle des types de régulation de la
motivation de Deci et Ryan [Deci 2000] et mis en corrélation avec le jeu vidéo en section 2.11
de l’état de l’art.
• la régulation externe : Les feedbacks permanents, la stimulation de
l’interaction, les cadeaux donnés à chaque mini-jeu.
• la régulation introjectée : Le journal de quête, le passage d’un jour à l’autre.
• la régulation identifiée : demande une distance temporelle entre l’état actuel du
joueur et son but. Inadapté à notre jeu du fait de sa courte durée de vie.
• la régulation intégrée : Le joueur sait qu’il est là pour en savoir plus sur luimême.
C’est une des régulations clefs pour les utilisateurs qui n’ont pas
l’habitude de jouer.
Contexte narratif
Le travail sur le contexte narratif a pour objectif de cadrer les éléments tels que le rôle du
joueur dans le monde virtuel, la description des composants et articulations narratives du
monde. Pour JEU SERAI le contexte global est né de contraintes d’accessibilité au grand 157
public et de la nécessité de permettre une intégration cohérente des mini-jeux. La conception
du village et de ses habitants, la structure en jours thématiques, la scénarisation des missions
du joueur, les textes et dialogues sont les principaux chantiers de ce volet. Les types RIASEC
ont donnés un cadre à la conception de plusieurs de ces éléments.
Contexte général
Le joueur est mis dans le rôle d’une personne arrivant pour la première fois dans un petit
village. Il y découvre progressivement la disposition des lieux et ses habitants. Trois journées
vont s’écouler, offrant chacune un thème permettant de varier le type d’activités proposées.
Décors, lumières, effets spéciaux, comportement des habitants, ton et nature des dialogues
changent d’un jour à l’autre pour donner de la crédibilité au thème.
Le premier jour est la prise de contact avec la vie normale du village et de ses habitants.
Accueilli à la descente du bus, le joueur passe un court tutoriel lui permettant de naviguer
jusqu’à sa nouvelle maison et apprendre à dialoguer avec des personnages. Les habitants
vaquent à leurs occupations normales servant de cadre aux activités que le joueur peut faire.
Le second jour, forme de montée de la tension dramatique, est dédié à une tempête amenant
des désagréments pour les habitants. Les passants courent, s’abritent de la pluie. Les maisons
sont protégées, des murs de sacs de sable bordent la rivière, des arbres sont tombésetc. Les
habitants sont ici impliqués dans la lutte contre cette tempête et sollicitent l’aide du joueur.
Le troisième jour a pour thème la grande fête annuelle. La lumière chaleureuse baigne le
village qui s’est rempli de décorations et chapiteaux. Les passants flânent ballon à la main Et
le joueur peut participer activement à l’organisation de cette journée festive.
Les 3 jours de l’aventure avec leurs ambiances contrastées 158
Maisons et personnages non joueurs
Lors de la production du prototype, le document de game design explicite les personnages et
lieux composant le village. Puis les graphistes réalisent les modèles sur ces
recommandations. La conception des personnages et des lieux clefs a été réalisée en tentant de
les affilier à des types RIASEC.
Le village est peuplé de deux catégories de personnages, les habitants clefs permettant de
lancer des activités, et les autres dont le rôle est surtout lié à la mise en scène crédibilisant le
cadre (passants, personnages affairés…).
Les bâtiments ont pour la plupart un type RIASEC, les autres servent à une contextualisation
de QUIZZ ou à habiller l’espace.
Exemples de bâtiments typés RIASEC.
Maison de l’inventeur avec son observatoire (Investigateur), cabinet médical (Social), maison de l’artiste (Artiste)
Affiliation RIASEC des PNJ 159
Scénarisation du déclenchement de mini-jeux
Nous avons tenté de lier autant que possible le personnage et lieu de déclenchement d’un
mini-jeu au type RIASEC visé, l’objectif étant de toujours renforcer la qualité de l’item.
Cependant, d’autres contraintes ont bouleversés ce travail d’affiliation. Nous tentions de ne
pas regrouper les activités en un même lieu de manière à pousser le joueur à naviguer dans le
village et être confronté aux activités récurrentes et Quizz optionnels. D’autres part, en
particulier le deuxième jour, certains mini-jeux sont gourmants en PNJ. « Aux abris » par
exemple sollicite trois PNJ clefs dont nous ne pouvons pas nous servir comme déclencheurs
de mini-jeu. Le nombre de personnages clefs produits étant limités nous avons été forcés
d’utiliser ceux restants et ils n’étaient parfois pas optimums pour le type RIASEC visé. Le
tableau ci-dessous résume les lieux et personnages de déclenchement des min-jeux avec leur
degré de pertinence RIASEC.
type Nom du mini-jeu Décor PNJ déclencheur
Jour 1
R La bonne pomme Devant le Verger Marchande
I L'invasion des
fourmis Pelouse près de l’école Inventeur
A Création d'automne Devant Maison de l’artiste L’artiste peintre
S Les courses de
Mme Petitpas
Devant Maison de Mme
Petitpas Mme Petitpas
E Omelette Devant la ferme L’agriculteur
C Classe! Devant la maison de monsieur
Simon Monsieur Simon
Jour 2
R La tuile Devant l’épicerie Marchande
I Lumière Sous un abri Inventeur
A Photos Près du pont Est Maire
S Aux abris Devant le cabinet médical Médecin
E Du sable et de la
sueur
Près du pont Ouest Instituteur
C Stock Devant le restaurant Restaurateur
Jour 3 160
type Nom du mini-jeu Décor PNJ déclencheur
R Assemblage Devant la ferme Agriculteur
I Le petit chimiste Devant la maison de l’inventeur Inventeur
A Déco Devant la maison de l’artiste Artiste peintre
S Accueil Devant l’épicerie Marchande
E Promotion Devant la mairie Maire
C Chacun sa place Devant la maison de monsieur
Simon Monsieur Simon
Si ces éléments sont moins critiques que le contenu du mini-jeu lui-même, nous les prenons
en compte dans notre bilan de conception. Ils peuvent avoir une influence par effet de
présentation sur la perception de l’activité par le joueur. Nous supposons que leur impact
n’est pas énorme mais nous nous devons de les répertorier pour analyser d’éventuels retours
négatifs suite aux tests d’évaluation.
Outils de collecte de données
JEU SERAI intègre un outil de collecte et de transmission de données à destination des
experts en charge des tests. Le but premier est de pouvoir évaluer les différentes catégories
d’items que nous avons élaborées. Nous allons les expliciter et détailler leurs modes de
restitution.
A chaque sauvegarde du jeu automatique ou volontaire, JEU SERAI complète une base de
données d’items associée au profil du joueur dans un fichier XML constamment mis à jour.
Dans un premier temps, l’objectif est de fournir des données brutes. Un système par défaut de
calcul de profil est implémenté mais dont la pertinence est douteuse du fait, par exemple, des
déséquilibres de fréquence de présentation au joueur des activités récurrentes, ou encore par la
nature des gameplay parfois difficile à aligner sur un même mode de mesure (voir la
problématique des scores plus haut). 161
Entrées
Le prototype de JEU SERAI collecte des données pour chaque joueur. Nous listons et
décrivons ici toutes les variables qui vont constituer les données brutes. Les intitulés sont
ceux utilisés dans le tableau XLM final.
Pour chacun des 18 mini-jeux :
• Joué : un chiffre indiquant le nombre de fois que le joueur y a joué
• Premier score : un chiffre de 1 à 3. 1 étant meilleur score, 3 le moins bon. Il
s’agit du score obtenu la première fois que le joueur finit ce mini-jeu.
Rappelons que chaque mini-jeu a un système de transformation de la
performance en cette variable chiffrée commune. Trois jeux ont moins de trois
niveaux de score : « L’invasion des fourmis » toujours score 1, « Création
d’automne » et « Décor » où les scores sont de type 1 ou 2.
• Meilleur score : même type de données que la précédente mais elle concerne
le meilleur score obtenu sur toutes les parties effectuées de ce mini-jeu.
• Classement journal : le numéro du classement de 1 à 6 donné par le joueur à
ce mini-jeu parmi les 6 qui composent la journée où il se situe. Dans le jeu, ce
classement se traduit par le déplacement de médailles numérotées de 1 à 6 sur
de photos des mini-jeux.
• Note : Un chiffre de 0 à 5 traduisant la note donnée par le joueur au mini-jeu. Il
donne une note juste après y avoir joué et peut la modifier en fin de journée
dans son journal. Visuellement cette notation est traduite pour le joueur en un
système d’attribution d’étoiles.
• Temps passé: en minutes et secondes. La durée cumulée de toutes les parties
faites de ce mini-jeu.
Pour les 10 activités récurrentes
• Nombre de clics : un chiffre représentant le nombre de fois qu’un joueur
clique sur un déclencheur de l’activité récurrente en question. Par exemple
pour « Football » seul le clic de lancement de l’activité est comptabilisé, pas
tous ceux qui servent à jongler avec la balle. Dans le cas d’ « Ardoise » seuls
les clics de lancement de l’activité et de validation d’un nouveau dessin sont
pris en compte, pas tous les clics maintenus permettant de dessiner.
• Complétion : le nombre de fois que l’activité a été réalisée sur le total des
objets permettant de la déclencher disponibles. Pour les activités pouvant être
reproduite à l’infinie, cette valeur représente le nombre de fois où l’activité a 162
été déclenchée. Pour l’activité « Enigme » la valeur True indique si le joueur
est a inscrit une réponse et est allé consulter la réponse ; False dans tous les
autres cas.
Pour les 6 Quizz
• Propositions vues avant de faire le choix : un chiffre représentant le nombre
de fois que le joueur passe d’une proposition de réponse à une autre. Une seule
apparait à la fois à l’écran, le joueur peut passer de l’une à l’autre avec des
flèches de navigation. Cet item n’a pas d’impact sur le profil RIASEC mais a
été intégré en prévision des futures mesures du profil de prise de décision du
joueur fondé sur le modèle de Harren32
.
• RIASEC : un chiffre représentant le numéro de la proposition proposé dans le
quizz. Si la valeur est -1 cela indique que le joueur n’a pas fait cette activité
(les quizz sont optionnels). 0 indique qu’il a validé le choix présenté par
défaut, sans consulté les autres.
• Valeur dans la mesure : une lettre (R, I, A, S, E ou C) traduisant le type de la
réponse choisie par le joueur.
Autres éléments complémentaires mesurés
• Type de tenue choisie : le type RIASEC de la tenue choisie par le joueur lors
de la création de son avatar
• Ordre suivi par le joueur : suite des noms de mini-jeux dans l’ordre où le
joueur les a réalisés. Cette liste est comparée à l’ordre suggéré par la boussole.
Il n’y a pas de lien avec le modèle de Holland. Encore une fois, c’est un outil
potentiel de mesure du type de prise de décision non finalisé.
• Temps de jeu total : en minutes et secondes.
Restitutions brutes
Le fichier XML des données brutes peut être converti en tableaux par le tableur
d’OpenOffice. Les tableaux concernant les mini-jeux et activités récurrentes proposent par
défaut un score RIASEC provisoire. Les valeurs de ce score sont calculées selon un procédé
32 JEU SERAI devra à terme mesurer intérêts professionnels, les types de prise de décision et les valeurs du
consultant. Ces autres mesures sont l’objet de développement futurs mais certains éléments identifiés en
conception et facile à produire ont été intégrés dès la production de ce prototype. 163
expliqué cas par cas. Ce mode de calcul est ouvert à modification et sera l’objet de règles de
pondération.
Tableau des activités récurrentes
En plus des données évoquées dans la section précédente nous pouvons trouver en colonne
deux autres informations : La valeur de « RIASEC » indique le type d’appartenance de
l’activité. La variable « Score RIASEC » est calculée selon des règles adaptées à chacun
activité. Certains types sont plus présents que d’autres dans le village. Ce système de
transformation en points pour le « Score RIASEC » tend à équilibrer le résultat. Le tableau
ci-dessous explicite les modalités provisoires de calcul de ces points.
Activité récurrente Riasec Attribution des points pour le Score Riasec des activités récurrentes
Champignons I 1 pt pour deux champignons cliqués (regardés) pour la première fois
Collecte (don à la
croix rouge)
S 1 pt pour avoir cliqué sur le PNJ et validé la succession de dialogues jusqu’au
bout = avoir écouté le PNJ de l’armée du salut jusqu’à la fin. Uniquement la
première fois.
Plante (arroser
les plantes)
R 1pt pour deux clics (arroser) effectués sur les plantes desséchées
Tableau des données des activités récurrentes tel qu’il est présenté dans le fichier final 164
Détritus C 1 pt par clic (recycler) sur un détritus
Buisson (tailler les
bosquets)
A 1 pt par série de clics rapprochés sur un bosquet = défilement des motifs
possibles et choix
Football R 1 pt pour deux clics sur le ballon lançant une partie (les clics pour rattraper et
jongler avec le ballon ne sont pas pris en compte) = 1pt pour deux parties
Ardoise (dessiner
dans la cour de
l’école)
A 1 pt par clic sur l’ardoise pour lancer l’activité ou sur le bouton « annuler »
(effacer) = par nouveau dessin. A partir du deuxième clic.
Suivre (Siffler des
groupes de PNJ)
E 1 pt par clic (Siffler) sur un groupe de PNJ
Consoler/calmer S 1 pt pour avoir cliqué sur un PNJ énervé et avoir validé la succession de
dialogues jusqu’au bout = avoir écouté le PNJ jusqu’à la fin.
Enigme du jour I 1 pt pour cliquer sur une réponse + avoir cliqué sur le tableau de la mairie le
troisième jour (pour voir la solution) 165
Tableau des min-jeux
Les mini-jeux génèrent aussi un « Score RIASEC » provisoirement calculé comme suit :
Score RIASEC = Joué + Meilleur score + classement dans journal + Note
Les transformations de variables en points du « Score RIASEC » pour chaque mini-jeu sont
réalisées selon les règles suivantes :
Joué : valeur de « joué » - 1. Ou 1 point par lancement du mini-jeu après le premier.
Meilleur score : Valeur 1 = 2 points (Type 1, meilleur score possible)
Valeur 2 = 1 point (Type 2, score intermédiaire)
Valeur 3 = 0 point (Type 3, score le moins bon)
Classement dans journal : Valeur 1 = 4 points (Première place dans le classement
Valeur 2 = 3 points (Deuxième place dans le classement)
Valeur 3 = 2 points (Troisième place dans le classement)
Valeur 4 =1 point (Quatrième place dans le classement)
Tableau des données des mini-jeux tel qu’il est présenté dans le fichier final 166
Valeurs 5 ou 6 = 0 points (Cinquième et sixième places)
Note : Valeurs 0, 1 ou 2 = 0 point (de 0 à 2 étoiles attribuées)
Valeur 3 = 1 points (3 étoiles attribuées)
Valeur 4 = 2 points (4 étoiles attribuées)
Valeur 5 = 3 points (5 étoiles attribuées) 167
Tableaux des quizz
Si « Valeur dans la mesure » est une lettre (R, I, A, S, E ou C), 1 point est ajouté au type
indiqué dans le tableau de synthèse des scores par type.
Tableau de la boussole et autres données
Nous l’avons vu, le tableau « Ordre » et la variable temps de jeu total n’interfère pas avec le
score total.
« Type de tenue choisi » ajoute 1 point au type RIASEC indiqué par sa valeur.
« Métiers » et « Commentaires » ont pour valeur des textes décrivant les profils mesurés.
Tableau des données quizz tel qu’il est présenté dans le fichier final
Tableaux des données : ordre des mini-jeux, type de
tenue, temps de jeu ainsi que les cellules réservées
aux métiers et commentaires liés au profil global 168
Tableau synthèse des scores par type
Un tableau cumule tous les scores RIASEC de l’ensemble des items. Les valeurs de la ligne
« Brutes » se calculent différemment pour chaque type.
Activité récurrentes
Valeurs des Scores
RIASEC de :
Mini-jeux
Valeurs des Scores
RIASEC de :
Quizz Tenue
R = Football
Plantes
+ La bonne pomme
Tuile
Assemblage
+ 1 point par valeur R
pour « Valeur dans
la mesure »
+ 1 point si la valeur
est « Réaliste »
I = Champignons
Enigme
+ L’invasion des fourmis
Lumière
Le petit chimiste
+ 1 point par valeur I
pour « Valeur dans
la mesure »
+ 1 point si la valeur
est
« Investigateur »
A = Buisson
Ardoise
+ Création d’automne
Photo
Décor
+ 1 point par valeur A
pour « Valeur dans
la mesure »
+ 1 point si la valeur
est « Artiste »
S = Collecte
Consoler/calmer
+ Les courses de Mme
Petitpas
Aux abris
Accueil
+ 1 point par valeur S
pour « Valeur dans
la mesure »
+ 1 point si la valeur
est « Social »
E = Suivre + Omelette
Du sable et de la sueur
Promotion
+ 1 point par valeur E
pour « Valeur dans
la mesure »
+ 1 point si la valeur
est
« Entrepreneur»
C = Détritus + Classe ! + 1 point par valeur C
pour « Valeur dans
la mesure »
+ 1 point si la valeur
est
« Conventionnel »
Tableau des données des scores RIASEC cumulés 169
Stock
Chacun sa place
La ligne « Pondérées » est pour l’instant identique aux valeurs brutes.
Présentation des résultats pour le joueur
Une première restitution des résultats s’opère au sein même du jeu. Elle est à destination du
joueur une fois qu’il a complété le jeu, passé les trois journées. Ce profil d’intérêts est
accompagné d’une première analyse succincte qui n’a pas pour ambition de concurrencer
l’analyse individuelle que pourrait faire un conseiller d’orientation.
L’élément principal de cette restitution est l’hexagone du modèle de Holland où les scores de
toutes les dimensions sont représentés. Ce graphique en radar permet de pouvoir vérifier en
particulier la consistance du profil (voir la notion de consistante dans la section dédiée au
modèle de Holland).
De manière plus ludique, les trois types ayant les scores les plus élevés sont représentés dans
un encart « Centre d’intérêts » sous la forme d’un podium.
L’analyse succincte est traduite par un commentaire et quelques exemples de métiers. Le
choix du contenu de ces deux éléments se fait sur la base des deux premiers types ressortant
du profil, en prenant en compte leur ordre. Il y a donc 30 profils différents possibles. Les
listes de métiers et textes de ces commentaires ont été conçus par les experts de l’INETOP,
Even Loarer et Thierry Boy.
Ecran de restitution du profil pour le joueur 170
JEU SERAI devra à terme servir de support à d’éventuelles rencontres avec des conseillers
d’orientation. Les modalités de restitutions détaillées et une analyse plus poussée devront être
intégrées. Pour l’heure, le mode de restitution brute, le fichier XLM et son rendu sous
tableur, permettent la mise en place des tests d’évaluation destinés à la mise au point de
l’outil.
Conclusion sur la mise en pratique de la méthode en conception
JEU SERAI comportait de grandes contraintes initiales, la mesure du profil RIASEC du
joueur et l’accessibilité du jeu pour un grand public. Il devait aussi se doter d’un système de
mesure lié à la validation de sa nature utile. Nous avons parcouru les cinq grands chantiers du
game design en pointant les efforts fournis pour adresser ces besoins lors de sa conception.
Dans ce chapitre nous n’avons pas abordé de manière détaillée les aspects ayant peu d’impact
sur la génération du profil, comme par exemple le tutoriel intégré.
Mener une expérimentation en parallèle d’une production de jeu limitée dans le temps pose
bien entendu des difficultés. Le processus de validation idéal des éléments de contenu en a
parfois pâti et des décisions ont dû être prises rapidement pour alimenter la chaîne de
production. L’une des conséquences regrettables est le manque de recul sur des choix de
conception gameplay, à l’image du mini-jeu « Promotion » dont nous n’avons pas pu
optimiser son appartenance au type RIASEC souhaité.
L’angle adopté pour JEU SERAI est donc de plonger le joueur dans un environnement où les
multiples mini-jeux disponibles sont liés aux différentes dimensions du modèle de Holland et
où nous mesurons son attrait pour chacune d’entre elles. Le contexte de cette expérience de
jeu, la simulation de la vie d’un village attrayant, intègre aussi un mode de mesure plus
traditionnel : des personnages posent des questions dont les différentes réponses reflètent des
types RIASEC. L’ensemble est complété par une multitude d’activités optionnelles que le
joueur découvre librement et qui sont elles aussi teintées par des types RIASEC..
L’une des découvertes importantes de ce travail est la difficulté de faire coexister la mesure
d’un profil psychologique d’après un modèle extérieur au jeu, ici la typologie de Holland, et
les modèles du joueur induits par la conception des différents aspects du game design. Il
existe des conflits d’intérêts entre les deux domaines. 171
Dans l’approche choisie, le bagage stratégique du joueur et son désir d’optimisation gameplay
peuvent s’opposer aux choix liés à un intérêt pour une activité que nous tentons de mesurer.
La nature des récompenses et la structure motivationnelle doivent prendre garde à ne pas
jouer sur un désir de complétion ou impacter sur le gameplay. Dans le cas de la typologie de
Holland, des solutions ont pu être apportées qui ne mettent pas en péril le gameplay mais
contraignent la conception. A une échelle globale, adopter le genre simulation de vie, un
monde ouvert rempli d’activités, permet de contourner la problématique des choix
stratégiques qui dans d’autres circonstance pourrait se révéler comme une manière
éminemment ludique de mesurer un profil. Le système de récompense quant à lui met
l’emphase sur des aspects cosmétiques et l’avancée dans la structure narrative.
Nous présumons que cette problématique des conflits entre modèles pourrait se reproduire
dans la mise en place d’autres types de mesures. D’ailleurs, bien qu’ébauchée et non
implémentée actuellement, les modalités de mesure du type de prise de décision et du système
de valeurs du consultant semblent présenter le même type de caractéristiques conflictuelles.
A une échelle plus réduite la mesure des scores et des « rejouer » pose des problèmes de
conception pour des types particuliers. Comment mesurer une performance pour le type
dialogues en restant dans un coût de production raisonnable ? Si des choix ont été faits, ils
présentent de potentielles faiblesses. Ils sont clairement documentés et devront être pris en
compte dans l’analyse des résultats.
La méthode de rationalisation du contenu que nous souhaitions éprouver consistait à clarifier
systématiquement le lien entre un élément du jeu et son appartenance à un type RIASEC. Cidessous
vous trouverez un tableau résumant la pertinence d’appartenance des éléments de
game design au le type RIASEC que le mini-jeu doit représenter.
Nous pouvons voir que ce tableau de contrôle fait nettement ressortir les qualités RIASEC des
différents éléments. Certaines faiblesses en orange (éléments distants de deux types RIASEC
du type visé) apparaissent, mais elles sont majoritairement liées au lieu de déclenchement et
au PNJ commanditaire, pas au contenu du mini-jeu lui-même. Du ressort de la présentation,
ces éléments pourraient bien entendu être modifiés s’ils s’avéraient impliqués dans une faille
identifiée par les tests. 172
Le bilan final tend cependant à démontrer une nette orientation de chaque mini-jeu au type
qu’il est supposé illustrer. Du point de vue de la méthode de rationalisation de la conception
adoptée, seul « assemblage » et « Promotion » présentent des faiblesses d’association au type
visé sur les éléments critiques.
Ce modèle de découpage des éléments constitutifs d’un gameplay pourrait être réutilisé pour
la création d’autres jeux de profilage psychologique. Vous en trouverez une version vierge en
annexe.
Les autres activités présentes dans le village, quizz et activités récurrentes, comportent moins
d’éléments et ne semblaient pas nécessiter une telle formalisation pour pouvoir en évaluer la
pertinence. Nous verrons que pour le cas des activités récurrentes cette présomption était une
erreur.
Plusieurs types d’item composent au final la mesure : des activités obligatoires ou
optionnelles, des mesures explicites pour le joueur telles que les notations ou masquées telle
que la répétition des activités récurrentes. Les premiers tests auront pour but d’évaluer la
manière dont chacun d’entre eux se comportent. La distinction claire entre les types d’items
présents doit permettre d’explorer les meilleurs candidats à l’évaluation d’un profil RIASEC.
S’il est pressenti que les items liés aux mini-jeux permettent d’identifier une tendance forte
d’un profil et que les autres puissent la confirmer, la souplesse de l’outil mis en place permet
plusieurs les scénarii pour le mode de calcul final.
Tableau récapitulatif de la pertinence
RIASEC des mini-jeux 173
Dernier point notable de ce travail de game design : dans le développement d’un jeu de pur
Entertainment il arrive que des systèmes de jeu cessent d’être documentés à partir du moment
où l’on peut travailler directement sur le prototype. Dans le cas de JEU SERAI nous avons
pour impératif de pouvoir accéder aux documents spécifiant des systèmes clefs de la mesure
des profils. Le système de score, par exemple, est un levier potentiel de réglage identifié pour
la réalisation de la version finale dont les fonctionnements doivent être tenus à jour. Ces
documents serviront de support à la conception des modifications qui seront suggérées par les
premiers tests d’évaluation et la mise en place de pondérateurs, mais aussi, ils sont critiques
pour que les utilisateurs professionnels, conseillers d’orientation ou autres, puissent en saisir
le fonctionnement.
Nous retenons qu’il est possible d’orienter un travail de game design selon les contraintes
d’un modèle psychologique choisi. Qu’il existe, tout au moins dans cette expérimentation,
des moyens de relier rationnellement les éléments du gameplay et les besoins de mesure sur
des dimensions particulières du modèle psychologique utilisé. Malgré quelques conflits
d’intérêts entre modèle psychologique et modèle du joueur, nous arrivons à créer un lien
tangible entre décision du joueur et décision analysable. Ce travail, à la frontière de
l’informatique et des sciences humaines, peut en soi servir de référence dans de futurs travaux
d’analyse du comportement du joueur. 174 175
CHAPITRE 5 – TESTS D’EVALUATION176 177
5 - Tests d’évaluation
Ce chapitre est consacré à la huitième phase de la méthode proposée, à savoir la mise en place
de tests et d’analyses évaluant le processus de création du profil psychologique par le biais
d’un jeu. Il nous faut évaluer scientifiquement que le principe de game design proposé
permet bien d’atteindre l’objectif utile et que le jeu possède bien des qualités ludiques. Si les
résultats soulèvent des défaillances il nous faut pouvoir identifier la source dans les éléments
de conception et proposer des solutions, permettre l’itération.
Lors de la création d’un nouveau questionnaire d’intérêts, une méthodologie est
traditionnellement utilisée pour en évaluer la qualité. Des passations sont organisées dans
lesquelles les sujets utilisent le questionnaire à évaluer et un autre dont la validité a déjà été
démontrée, par exemple l’IRMR. Bien entendu, plus le nombre de passations est grand, plus
l’évaluation est fiable. Après analyse, des aménagements peuvent être pratiqués dans le
questionnaire avant de relancer une série de passations. Cette itération peut continuer jusqu’à
l’obtention d’un résultat validant.
Plusieurs types d’analyse sont traditionnellement menés. L’analyse de consistance interne
permet de savoir si les items censés mesurer un même type RIASEC appartiennent bien à ce
même type. Les propriétés statistiques du modèle de Holland permettent aussi une analyse
des coefficients de corrélation et comparer des scores de types différents (agrégation d’items).
Par exemple nous pouvons évaluer le lien entre les scores d’un item d’un type RIASEC donné
du nouveau questionnaire avec les scores par dimension obtenus par les sujets dans le
questionnaire de référence.
Notre analyse portera principalement sur la relation entre résultats et éléments de contenus :
est-ce que les différents items envisagés en conception permettraient bien d’établir un profil
RIASEC du joueur ? Lesquels se montrent les plus efficaces ? Quelles sont les causes des
défaillances ? 178
L’évaluation de JEU SERAI en tant que tests d’intérêts demandera un échantillon beaucoup
plus large que celui que nous utilisons ici.
Protocole d’expérimentation
Les passations ont eu lieu entre septembre 2011 et janvier 2012.
Profil des participants
Les tableaux détaillés des profils de participant sont consultable en annexe.
Nous souhaitions avoir un panel le plus représentatif possible du public final de JEU SERAI,
un échantillon hétérogène des utilisateurs potentiels : Etudiants, adultes en formation
professionnelle, une grande variabilité dans les niveaux d’étude et les types de formations ou
de professions. Plusieurs sessions ont été organisées par les deux organismes en charge de
leur réalisation. L’Université de Paris Ouest Nanterre la Défense, ou UPOND, a réuni 103
sujets, des étudiants. L’ARCNAM Poitou-Charentes a réuni 37 sujets, des adultes en
reconversion professionnelle et en activité. Nous verrons à l’analyse des profils de
participants que le panel ne répond pas tout à fait aux besoins initiaux.
L’UPOND comporte une grande proportion de profils en formation en sciences humaines, et
les secteurs d’activités les plus représentés par les participants de l’ARCNAM sont aussi
affiliés au type Social (12 personnes en social, communication, formation, insertion). Les
deux panels manquent de métiers ou formations associées aux types Réaliste et
Conventionnel. Ces déséquilibres peuvent pénaliser l’évaluation des items associés aux types
les moins représentés. Les 37 participants de l’ARCNAM diversifient cependant le panel par
la bonne répartition des niveaux d’études et une moyenne d’âge plus élevée (38 ans) qu’à
l’UPOND (21 ans).
De manière globale le manque de variabilité des profils gène l’obtention de résultat solides
pour l’évaluation de JEU SERAI par les experts en psychométrie. La réalisation d’autres
passations avec des participants aux profils plus variés est une étape incontournable du
processus.179
Modalités des passations
Le protocole prévoyait de jouer à l’intégralité de JEU SERAI et de passer le test de référence,
ici l’IRMR.
Les participants de l’UPOND ont été recrutés par le biais d’un site internet, de réseaux
sociaux et d’une affiche diffusée sur les campus. Un bon d’achat d’une valeur de 20 euros
était offert aux volontaires. A l’ARCNAM ils ont été recrutés par des annonces sur les sites de
l’ARCNAM et ARFTLV33. Les passations se sont déroulées dans les locaux de l’université et
de l’ARCNAM (pas de passations à distance), encadrées par une personne familiarisée à JEU
SERAI.
Le temps de passation total (jeu + IRMR) était estimé à 2h30 et pouvait se faire en plusieurs
fois. Il s’avère que dans de nombreux cas le temps nécessaire à achever JEU SERAI était
plus important que prévu. Cette durée est pénalisante pour le déploiement futur du test et a
déjà donné lieu à des recommandations pour les versions ultérieures.
A l’issue de la passation, les participants recevaient leur profil d’intérêts de l’IRMR et de JEU
SERAI. Ils étaient aussi invités à commenter leur expérience.
Etat du prototype au moment des tests
Lors des premiers tests un bug important s’est révélé et a perturbé une partie de la collecte des
données. Le classement des mini-jeux dans le journal de fin de chaque journée virtuelle ne
fonctionnait pas correctement. Si une personne quittait le jeu et reprenait sa partie, elle ne
pouvait pas effectuer le classement demandé. Le bug a depuis été identifié et sera corrigé dans
les prochaines versions du jeu.
Les items « Type de tenue choisi » et « note » (nombre d’étoiles attribué à un mini-jeu)
n’apparaissent pas dans la version du tableau de restitution xml fournie lors de ces premiers
tests. La valeur est par contre bien prise en compte dans le score RIASEC global non
pondéré, mais que nous n’utilisons pas dans l’analyse des résultats. Ces bugs ont été corrigés
durant les passations.
Le score du mini-jeu « Classe !» est faussé. Il est basé sur la mauvaise variable gameplay et à
tendance à donner une meilleure valeur aux variables « Premier Score » et « Meilleur Score ».
33 Agence régionale de la formation tout au long de la vie, Poitou-Charentes180
Nous sommes aussi conscients des problèmes signalés tout au long du chapitre précédent.
Tels que le déséquilibre des activités récurrentes (entrepreneur peu représenté) ou le fait que
« L’invasion des fourmis » ne peut fournir qu’un seul type de score.
Commentaires des participants
Les commentaires émis par les participants du panel de l’ARCNAM éclairent sur un certain
nombre de ressentis et, à la manière d’un focus groupe ou d’une passation de tests gameplay,
aident à identifier des problèmes d’accessibilité.
13 des 37 personnes ayant joué ont utilisés les termes « Ludique », « prenant », « amusant »,
« agréable » ou signalent leur satisfaction de manière spontanée dans leurs retours de 200
caractères maximum. Certaines allant jusqu’à marquer que JEU SERAI est moins prévisible
qu’un test « ennuyeux », comprendre l’IRMR, auquel «on peut (lui) faire dire ce que l'on
veut ». Les commentaires étant libres, tous n’ont pas abordé cet aspect dans leurs
verbalisations.
Quatre d’entre eux ont souligné la durée excessive de JEU SERAI, que nous avions déjà
soulevé en observant les durées totales des sessions accessibles dans les restitutions brutes.
Durant les passations, qui étaient aussi notre premier test d’évaluation de la difficulté, nous
avons eu des retours sur des mini-jeux plus complexes ou plus difficiles à jouer que d’autres.
A L’ARCNAM cinq retours des joueurs font état de la difficulté de certains mini-jeux ou le
manque de clarté de leurs consignes. Croisé avec les observations et retours collectés par les
encadrats, nous avons pu identifier que le mini-jeu « Lumière », « Stock », « omelette », « le
petit chimiste » et « Assemblage » posaient de sérieux problèmes de compréhension ou de
difficulté. D’autres comme « Classe ! » semblaient trop facile, le score maximum etant
fréquemment obtenu.
Analyse des résultats
Au vu du petit nombre des données recueillies, il est prématuré de faire des analyses de type
interne (évaluant que les items d’un même type mesurent bien ce type). La méthode
d’analyse principale est la corrélation externe, confrontant des agrégations d’items de JEU
SERAI aux résultats obtenus par les sujets aux questionnaires IRMR. Le coefficient de 181
corrélation de Bravais Pearson ( r ) permet d’exprimer l’intensité et le sens (positif ou négatif)
de la relation linéaire entre deux variables quantitatives. La valeur de r se situe entre -1 et 1.
Plus r est proche de 1 et plus la corrélation est forte. Une corrélation de 0.00 à 0.20 est
généralement considérée comme négligeable, de 0.20 à 0.40 comme moyenne et au-delà de
0.4 comme importante.
Nous allons observer les résultats au travers d’une série de tableaux synthétisant la corrélation
d’un type d’item particulier avec les résultats du questionnaire IRMR de référence. Des
cellules sont colorisées pour en faciliter la lecture. La légende :
• Vert indique que la corrélation la plus forte entre item JEU SERAI et IRMR est
bien celle du type attendu
• Jaune localise la corrélation attendue pour l’item quand elle n’est pas la plus
forte.
• Orange, que la corrélation la plus forte est voisine (au sens Holland) du type
attendu, si les écarts sont négligeables plusieurs résultats peuvent être oranges.
• Rouge, que la corrélation la plus forte est associée à un type distant du type
attendu
Le cas échéant les dernières lignes des tableaux indiquent le nombre de participants ayant
fourni un score valide pour l’item considéré et ayant rempli de manière valide le questionnaire
IRMR. Certains items, en particulier dans les activités optionnelles, Activités récurrentes et
Quizz, ne sont hélas pas assez renseignés pour pouvoir à l’heure actuelle tirer des conclusions
définitives.
Tableau de correlation activités récurrentes : « Nombre de clics »/IRMR
Nous rappelons que les activités récurrentes sont optionnelles pour le joueur. Pour chaque
activité récurrente nous avons utilisé les valeurs de l’item « Nombre de clics » sans prendre en
compte les scores de 0, le joueur n’a pas du tout essayé, et de 1, considérant que c’était un
essaie par curiosité et non une marque d’intérêt pour l’activité.
Le tableau ci-dessous synthétise les corrélations de toutes les activités récurrentes avec les
scores du questionnaire IRMR par type.
Champign
ons
Investigate
ur
Collecte
Social
Plantes
Réaliste
Détritus
Conventio
nel
Buissons
Artiste
Football
Réaliste
Ardoise
Artiste
Suivre
Entrepren
ant
Consoler
Calmer
Social
Enigme
Investigate
ur
R_IR
Realiste
-,016 ,002 -,170 -,141 ,171 ,093 -,069 ,263 ,086 -,352182
I_IR
Investigateur
,171 -,059 ,388 -,097 -,082 ,182 ,129 -,062 ,040 -,101
A_IR
Artistique
-,241 ,107 -,408 -,076 -,041 -,001 ,107 -,040 -,239 ,019
S_IR Social ,101 -,235 -,140 ,000 -,081 -,136 ,031 -,052 -,013 ,260
E_IR
Entreprenant
-,024 -,290 ,242 ,102 -,136 -,096 -,200 -,075 -,019 ,223
C_IR
Conventionnel
,030 ,075 ,100 -,006 -,038 ,010 -,228 ,026 ,098 ,084
Les participants ne sont pas obligés de faire ces activités et cela pose le problème du volume
d’observations. Nous n’avons par exemple que 20 des participants considérés pour
« Plantes ». Nous devrons attendre un volume beaucoup plus important de passations pour
pouvoir mener l’évaluation solide cet item. Vous pouvez aussi constater que les coefficients
de corrélation obtenus sont dans l’ensemble relativement faibles. Seules cinq sont comprises
en 0.20 et 0.40, donc dites de corrélation moyenne. C’est en toute connaissance de cause que
nous menons les observations suivantes.
Si nous nous focalisons sur la corrélation la plus forte d’une activité par rapport aux scores de
l’IRMR, seule « Champignon » semble correspondre au type visé par l’activité. « Collecte »,
« Plantes », « Détritus », « Football » et « Ardoise » corrèlent avec des types voisins.
« Buissons », « Consoler Calmer », « Suivre » et « Enigme » sont, elles, liées à des types
distants. Ce résultat peut sembler peu probant quant à l’efficacité des activités récurrentes.
Observons les cas critiques. « Buissons » avait été choisie comme activité liée à la dimension
Artiste. Il se trouve que l’objet manipulé est un sécateur et que la cible de l’interaction est
une plante. Or ces deux éléments peuvent être associés à l’activité au type Réaliste, qui ressort
comme la plus forte corrélation. Pour « Suivre », nous pouvons aussi nous poser la question
de la manière dont cette activité a été réalisée : le curseur se transforme en sifflet lorsqu’il
passe sur un groupe de PNJ déclenchant cette activité ; les PNJ se mettent à courir derrière
notre avatar dans le village. Ces deux éléments peuvent s’apparenter à une forme d’activité
sportive et sont peut-être une des causes d’une trop grande affiliation de cette activité au type
Réaliste. Nous n’avions pas appliqué la grille de conception les éléments interactifs sur le
détail des composants game design des activités récurrentes et nous pouvons supposer que
cela soit la source de ces écarts entre types visés et types corrélant effectivement.
« Enigme » peut difficilement être analysée au travers du nombre de clics. La variable
importante de cette activité est la complétion, ayant pour valeur « True » « False », et 183
indiquant si le joueur a répondu à l’énigme et qu’il est venu consulter le résultat. Elle
n’apparaît pas ici.
Dans le cas de « Consoler Calmer » nous n’avons pas encore identifié la source de la
défaillance. L’activité est fondée sur des dialogues et des rapports humains, 94 joueurs l’ont
pratiquée avec plus ou moins de fréquence avec une grande représentation de profils à priori
orienté Social.
Lorsqu’une activité s’adresse à un type donné, la corrélation la plus faible devrait
théoriquement se faire avec son type opposé. Nous avons passé en vert les chiffres des
coefficients des corrélations négatives effectivement associés au type opposé, en rouge
lorsque ce n’est pas le cas. Seules deux activités « Football » et « Ardoise » ont effectivement
leurs coefficients les plus faibles liés au type opposé. La plupart des coefficients les plus
faibles sont voisins du type visé. Le pire des résultats revient à « Suivre » dont le coefficient
le plus faible est associé au type visé (Entrepreneur) et le plus fort à un type très distant
(Réaliste).
Ce panel fait donc ressortir de nombreuses dissociations entre type visé et type associé par la
corrélation avec le questionnaire IRMR mais pour la plupart des cas des causes pressenties et
corrigeables ont été identifiées.
Des dénombrements nous pouvons retirer quelques informations. « Champignon »
« Consolé » « Ardoise » et « Détritus » sont les activités les plus pratiquées, entre 250 et 300
fois, alors que leurs taux de représentation dans le village, ou fréquences de présentation au
joueur, sont très différents : il n’y a qu’une seule ardoise mais 12 champignons. A l’inverse
« Plante », très présent dans le jeu, n’a été en tout cliqué que 69 fois. La taille de la
représentation visuelle de l’activité, qui détermine aussi la zone où le curseur change et
indique au joueur qu’il peut activer quelque chose, ne semble pas être un facteur déterminant
sur le nombre de clics : les détritus, petits objets, sont beaucoup plus activés que les plantes à
arroser pourtant plus grandes. Nous voyons que « Suivre », seule activité récurrente du type
Entrepreneur, et que nous considérions comme sous représentée, est dans la moyenne, 181
clics, comparativement aux autres. Mais étant la seule de sa catégorie, le type Entrepreneur est
très en dessous de la moyenne dans le cumul des clics par type RIASEC. 184
Tableaux de corrélation Quizz/IRMR
Chacun des 6 quizz du jeu est ici représenté par un tableau de corrélation entre réponses
données par les joueurs et les scores par types du questionnaire IRMR.
Lâcher d'élèves quiz1_R quiz1_I quiz1_A quiz1_S quiz1_E quiz1_C
R_IR Realiste 0,47 -0,23 -0,09 -0,15 0,14 -0,15
I_IR Investigateur 0,13 -0,01 -0,24 0,09 -0,04 0,06
A_IR Artistique -0,45 -0,11 0,39 0,28 0,02 -0,03
S_IR Social -0,06 0,20 -0,17 -0,11 -0,02 0,15
E_IR Entreprenant 0,16 0,08 0,05 -0,20 -0,17 -0,05
C_IR Conventionnel 0,28 0,15 -0,27 -0,20 -0,02 -0,14
41 41 41 41 41 41
La maison
abandonnée quiz2_R quiz2_I quiz2_A quiz2_S quiz2_E quiz2_C
R_IR Realiste ,434 -,145 -,121 -,095 ,029 .a
I_IR Investigateur ,151 ,145 -,233 ,029 -,085 .a
A_IR Artistique -,199 ,071 ,374 -,220 -,187 .a
S_IR Social -,059 -,047 -,115 ,304 -,082 .a
E_IR Entreprenant -,171 -,141 ,003 ,101 ,310 .a
C_IR Conventionnel -,118 -,002 -,096 ,078 ,206 .a
50 50 50 50 50 50
La statue quiz3_R quiz3_I quiz3_A quiz3_S quiz3_E quiz3_C
R_IR Realiste 0,22 -0,15 0,05 0,07 -0,20 .a
I_IR Investigateur 0,03 0,05 0,08 -0,10 -0,08 .a
A_IR Artistique -0,33 0,10 0,08 0,05 0,19 .a
S_IR Social 0,26 -0,06 -0,07 0,10 -0,32 .a 185
E_IR Entreprenant 0,13 -0,15 0,03 -0,16 0,21 .a
C_IR Conventionnel 0,12 -0,11 0,02 -0,04 0,03 .a
40 40 40 40 40 40
Le village des hobbies quiz4_R quiz4_I quiz4_A quiz4_S quiz4_E quiz4_C
R_IR Realiste 0,34 -0,36 -0,21 0,31 -0,24 0,22
I_IR Investigateur 0,14 -0,24 -0,28 0,31 -0,07 0,30
A_IR Artistique -0,36 0,47 0,26 -0,16 -0,05 -0,21
S_IR Social -0,32 0,37 0,05 -0,23 0,24 -0,21
E_IR Entreprenant 0,11 -0,16 -0,08 0,05 -0,04 0,22
C_IR Conventionnel 0,16 -0,27 -0,23 0,06 0,11 0,21
32 32 32 32 32 32
Les commissions du
maire quiz5_R quiz5_I quiz5_A quiz5_S quiz5_E quiz5_C
R_IR Realiste 0,28 -0,01 -0,12 -0,09 -0,03 -0,14
I_IR Investigateur 0,23 0,13 -0,05 -0,14 -0,16 -0,14
A_IR Artistique -0,25 0,15 0,40 -0,18 -0,21 0,01
S_IR Social 0,09 0,15 -0,34 0,19 0,11 -0,32
E_IR Entreprenant 0,03 -0,34 -0,18 0,32 0,11 0,10
C_IR Conventionnel 0,06 -0,32 -0,21 0,22 0,19 0,24
45 45 45 45 45 45
Un projet pour le lac quiz6_R quiz6_I quiz6_A quiz6_S quiz6_E quiz6_C
R_IR Realiste 0,43 -0,48 -0,12 -0,11 0,23 0,12
I_IR Investigateur 0,08 -0,16 -0,01 -0,07 -0,01 0,19
A_IR Artistique -0,41 0,36 0,24 0,07 -0,32 0,07 186
S_IR Social 0,05 -0,08 0,08 0,18 -0,23 -0,01
E_IR Entreprenant 0,09 0,00 -0,06 -0,09 -0,12 0,08
C_IR Conventionnel 0,29 -0,15 -0,15 -0,17 0,22 -0,09
34 34 34 34 34 34
Les corrélations les plus fortes en phase avec le type visé sont ici proportionnellement plus
nombreuses que pour les activités récurrentes, 16 sur 36, et 12 autres se font avec des types
voisins ou avec des écarts insignifiants. La forme du Quizz, bien que contextualisé dans la
simulation de la vie du village et la narration, reste une manière relativement traditionnelle de
marquer son intérêt. En ce sens que l’item est un choix du joueur dans un panel de réponses
possibles. Notons aussi que les corrélations les plus faibles ne se font que rarement avec le
type opposé du type visé.
Nous remarquons que dans plusieurs cas, les réponses de type Conventionnel ne sont pas
sélectionnées par les joueurs. Cela semble confirmer le manque de diversité du panel.
Ces quizz n’avaient fait l’objet d’aucun test préalable à leur implémentation dans JEU
SERAI. Ces premiers résultats, bien qu’insuffisants, donnent à penser qu’ils pourraient
proposer des items fiables. 187
Tableau de corrélation mini-jeux : « joué »/IRMR
Mini-jeux
Jour 1
Labonnepomm
e_1 Réaliste
Linvasiondesfou
rmis_1
Investigateur
Créationdautomn
e_1 Artiste
LescoursesdeM
mePetitpas_1
Social
Omelette_1
Entreprenant
Timbrés34_1
Conventionnel
R_IR 0,13 0,14 0,03 0,15 -0,03 0,02
I_IR 0,11 0,06 0,16 0,00 0,11 0,20
A_IR 0,11 -0,02 0,07 -0,05 -0,03 0,15
S_IR -0,25 -0,17 -0,06 -0,14 0,01 -0,10
E_IR -0,18 -0,12 -0,18 0,03 -0,02 -0,30
C_IR -0,10 0,06 -0,11 0,10 0,07 -0,14
89 90 90 90 90 90
Mini-jeux
Jour 2
Latuile_1
Réaliste
Lumière_1
Investigateur Photos_1 Artiste Auxabris_1
Social
Dusableetdelasu
eur_1
Entreprenant
Stock_1
Conventionnel
R_IR 0,05 .a 0,07 0,04 0,18 0,15
I_IR 0,07 .a 0,04 0,09 0,13 0,18
A_IR 0,02 .a 0,07 0,11 -0,06 -0,11
S_IR -0,11 .a -0,08 -0,04 -0,12 -0,08
E_IR -0,04 .a -0,05 -0,16 -0,23 -0,11
C_IR 0,08 .a -0,03 -0,07 0,00 -0,03
90 90 90 90 90 90
Mini-jeux
Jour 3
Assemblage_1
Réaliste
Lepetitchimiste_
1 Investigateur
Décoration_1
Artiste
Accueil_1
Social
Promotion_1
Entreprenant
Chacunsaplace_
1 Conventionnel
R_IR 0,23 0,16 0,22 0,14 0,15 0,24
I_IR -0,03 -0,11 0,05 0,16 0,17 0,18
A_IR -0,04 -0,23 0,02 -0,11 -0,02 -0,08
S_IR -0,23 0,10 -0,24 -0,06 -0,18 -0,11
E_IR -0,02 0,06 0,11 -0,13 -0,14 -0,16
C_IR 0,03 0,05 -0,06 -0,02 0,05 -0,05
88 90 89 90 90 90 188
Les trois tableaux ci-dessus, un par journée virtuelle, évaluent la corrélation entre l’item
« Joué » (nombre de fois où le joueur rejoue à un min-jeu) avec scores IRMR par type. Les
valeurs de « Joué » ont été recalculées : 1 pour avoir joué une fois, 2 pour deux fois, 3 pour
tous les autres fois
Les corrélations positives ou même voisines du type visé sont rares et souvent peu marquées.
Les problématiques de consignes sur plusieurs mini-jeux ont pu biaiser les
valeurs (voir section Commentaire des participants 5.2): on rejoue parfois un mini-jeu parce
que l’on a pu appréhender son gameplay qu’au terme de la première partie. Des tests
spécifiques devraient leur être consacrés.
Peut-être qu’une autre manière de présenter la rejouabilité des mini-jeux est nécessaire. Par
exemple, en proposant au joueur un accès libre aux mini-jeux en fin de journée virtuelle, au
travers de son journal. Cela renforcerait sans doute la viabilité d’une marque d’intérêt.
Bien que cela ne fasse pas partie de l’utilisation traditionnelle des tableaux de corrélation,
nous constatons, avec toutes les réserves nécessaires, que le type IRMR Réaliste corrèle de
manière la plus forte 10 fois sur 18. Ce qui peut nous amener à nous poser une question de
fond sur l’item « joué », dont la valeur peut être liée à une recherche de la performance. Estce
que ce type de comportement ne serait pas un indicateur du type Réaliste ? Nous avons
donc fait une moyenne des parties rejoué par participants et avons testé sa corrélation avec les
types issus IRMR.
Corrélation des moyennes de nombre de mini-jeux rejoué par type IRMR
R_IR I_IR A_IR S_IR E_IR C_IR
rejoue_sans1 0,22 0,16 -0,03 -0,26 -0,18 0,00
79 79 79 79 79 79
Il s’avère effectivement que le type Réaliste, suivit de près par l’Investigateur, corrèle
significativement plus que les autres types. Cela ouvre une autre manière d’interpréter cet
item dans le calcul final des profils RIASEC.
Le tri à plats de l’ensemble des données recueillies pour « Joué » confirme des problèmes
pressentis dès la conception. 189
Labonnepomme_1 Réaliste Latuile_1 Réaliste Assemblage_1 Réaliste
valeur Effectifs % valeur Effectifs % valeur Effectifs %
Valide 1 70 49,3 Valide 1 66 46,5 Valide 0 2 1,4
2 35 24,6 2 38 26,8 1 92 64,8
3 8 5,6 3 11 7,7 2 17 12
4 1 0,7 4 2 1,4 3 3 2,1
6 1 0,7 Total 117 82,4 4 1 0,7
Total 115 81 Manquante Syst. manquant 25 17,6 Total 115 81
Manquante Syst. manquant 27 19 Total 142 100 Manquante Syst. manquant 27 19
Total 142 100 Total 142 100
Linvasiondesfourmis_1 Investigateur Lumière_1 Investigateur Lepetitchimiste_1 Investigateur
valeur Effectifs % valeur Effectifs % valeur Effectifs %
Valide 1 97 68,3 Valide 0 1 0,7 Valide 0 1 0,7
2 15 10,6 1 116 81,7 1 106 74,6
3 4 2,8 Total 117 82,4 2 8 5,6
4 1 0,7 Manquante Syst. manquant 25 17,6 3 1 0,7
Total 117 82,4 Total 142 100 5 1 0,7
Manquante Syst.manquant 25 17,6 Total 117 82,4
Total 142 100 Manquante Syst. manquant 25 17,6
Total 142 100
Créationdautomne_1 Artiste Photos_1 Artiste Décoration_1 Artiste
valeur Effectifs % valeur Effectifs % valeur Effectifs %
Valide 1 98 69 Valide 0 1 0,7 Valide 0 2 1,4
2 17 12 1 104 73,2 1 110 77,5
3 2 1,4 2 8 5,6 2 5 3,5
Total 117 82,4 3 4 2,8 Total 117 82,4
Manquante Syst. manquant 25 17,6 Total 117 82,4 Manquante Syst. manquant 25 17,6
Total 142 100 Manquante Syst. manquant 25 17,6 Total 142 100
Total 142 100
LescoursesdeMmePetitpas_1 Social Auxabris_1 Social Accueil_1 Social
valeur Effectifs % valeur Effectifs % valeur Effectifs %
Valide 1 107 75,4 Valide 1 108 76,1 Valide 0 3 2,1
2 9 6,3 2 9 6,3 1 83 58,5 190
3 1 0,7 Total 117 82,4 2 28 19,7
Total 117 82,4 Manquante Syst. manquant 25 17,6 3 3 2,1
Manquante Syst. manquant 25 17,6 Total 142 100 Total 117 82,4
Total 142 100 Manquante Syst. manquant 25 17,6
Total 142 100
Omelette_1 Entreprenant Dusableetdelasueur_1 Entreprenant Promotion_1 Entreprenant
valeur Effectifs % valeur Effectifs % valeur Effectifs %
Valide 1 77 54,2 Valide 1 76 53,5 Valide 0 1 0,7
2 33 23,2 2 33 23,2 1 70 49,3
3 5 3,5 3 6 4,2 2 41 28,9
4 1 0,7 4 2 1,4 3 5 3,5
6 1 0,7 Total 117 82,4 Total 117 82,4
Total 117 82,4 Manquante Syst. manquant 25 17,6 Manquante Syst. manquant 25 17,6
Manquante Syst. manquant 25 17,6 Total 142 100 Total 142 100
Total 142 100
Timbrés_1 Conventionnel Stock_1 Conventionnel Chacunsaplace_1 Conventionnel
valeur Effectifs % valeur Effectifs % valeur Effectifs %
Valide 1 104 73,2 Valide 1 65 45,8 Valide 0 1 0,7
2 13 9,2 2 39 27,5 1 101 71,1
Total 117 82,4 3 10 7 2 12 8,5
Manquante Syst. manquant 25 17,6 4 1 0,7 3 3 2,1
Total 142 100 5 2 1,4 Total 117 82,4
Total 117 82,4 Manquante
Système
manquant 25 17,6
Manquante
Système
manquant 25 17,6 Total 142 100
Total 142 100
Le cas des jeux de type Social « Les courses de Mme Petitpas » et « Aux abris » est
intéressant. Le premier est basé sur un nombre restreints de réponses liées aux dialogues que
nous avons avec Mme Petitpas, le second sur le fait de découvrir le bon chemin dans une
arborescence dialoguée. Ces deux mécanismes proches des gameplay de jeux d’aventure ne
se prêtent pas à une grande rejouabiliité. Les scores semblent le confirmer : 10 fois rejoué
pour l’un, 9 pour l’autre, contre une moyenne générale de 22.7. Ils ont aussi une durée
relativement longue, ce qui peut freiner un second engagement. Les items « Joué » de ces 191
gameplay corrèlent mal avec leur type visé. Il ne devrait sans doute pas être pris en compte
pour le calcul du score Social global de JEU SERAI.
Les jeux ayant été les plus rejoués, au-dessus de la moyenne, ont des points en commun dans
leur game design. Ils ont des gameplay que nous pourrions qualifier d’arcade et où l’élément
temps est très présent. Ce temps représente un challenge et est parfois explicitement
communiqué au joueur. Ils ont été rejoués :« La bonne pomme » 45 fois, « Tuile » 51,
«Omelette » 40, « Accueil » 31, « Du sable et de la sueur » 41, « Promotion » 46 et « Stock »
52, soit largement au-dessus de la moyenne. Le seul autre mini-jeu comportant une pression
par le temps est « Classe ! » mais considéré comme trop facile par les participants. La nature
des mécaniques de jeu semble donc jouer un grand rôle dans la volonté de rejouer.
Si nous faisons le total des « joué » supérieur à 1, ou mini-jeux effectivement rejoué, nous
obtenons jour1 : 147, jour 2 : 165, jour 3 : 128. Le jour 2 comporte plus de jeu de type arcade
et la durée trop importante de JEU SERAI a peut-être incité les joueurs à ne pas prolonger
leur expérience.
Dernier constat : « Lumière » (Investigateur), identifié comme étant le jeu le plus compliqué
par les participants et les encadrants, n’a jamais été rejoué (les valeurs sont toujours de 1) et
ne permet aucun calcul de corrélation
Tableau de corrélation mini-jeu: « 1er score »/IRMR
L’utilisation des scores que les joueurs obtiennent aux mini-jeux pour déceler une marque
d’intérêt est sans doute l’approche la plus délicate du point de vue de l’orientation
professionnelle. Ces items semblent plus relatifs aux compétences du joueur qu’à une marque
d’intérêt.
Les trois tableaux suivants présentent les items « 1
er score » des mini-jeux (score obtenu la
première fois que l’on joue à un mini-jeu) par les résultats IRMR. Notez que les scores des
mini-jeux n’ont pour valeur que 1(meilleur) 2(moyen) ou 3(pire) et ont été recalculés. Une
valeur brute de 1 est devenue 3 et 3 est devenue 1, de manière à pouvoir faire une lecture
normale du tableau de restitution.
Minijeux
Jour 1
Labonnepomme
_2 Réaliste
Linvasiondesfou
rmis_2
Investigateur
Créationdautom
ne_2 Artiste
LescoursesdeM
mePetitpas_2
Social
Omelette_2
Entreprenant
Timbrés_2
Conventionnel 192
R_IR 0,12 .a -0,12 0,07 -0,02 0,15
I_IR -0,06 .a -0,01 -0,03 0,00 0,03
A_IR 0,02 .a 0,02 -0,16 -0,10 0,03
S_IR -0,17 .a 0,06 0,00 0,21 0,03
E_IR 0,00 .a 0,04 -0,02 0,01 -0,16
C_IR 0,05 .a 0,06 0,01 0,08 -0,07
89 90 90 90 90 90
Minijjeux
Jour 2
Latuile_2
Réaliste
Lumière_2
Investigateur Photos_2 Artiste Auxabris_2
Social
Dusableetdelasu
eur_2
Entreprenant
Stock_2
Conventionnel
R_IR 0,00 -0,17 0,24 -0,03 0,14 0,01
I_IR -0,08 0,02 0,03 -0,20 0,23 0,19
A_IR -0,11 0,20 -0,20 -0,09 -0,06 0,00
S_IR -0,04 -0,01 -0,08 -0,06 0,21 0,00
E_IR 0,07 -0,01 0,10 0,29 -0,15 -0,11
C_IR 0,13 -0,18 0,18 0,26 -0,11 -0,07
90 90 90 90 65 90
Minijeux
Jour 3
Assemblage_2
Réaliste
Lepetitchimiste_
2 Investigateur
Décoration_2
Artiste Accueil_2 Social Promotion_2
Entreprenant
Chacunsaplace_
2 Conventionnel
R_IR 0,13 0,25 -0,21 0,09 0,15 .a
I_IR -0,06 0,02 -0,02 -0,12 0,08 .a
A_IR -0,04 -0,17 0,17 -0,05 0,12 .a
S_IR 0,09 0,00 -0,06 -0,12 -0,13 .a
E_IR 0,05 0,06 0,20 0,09 -0,19 .a
C_IR -0,10 0,08 -0,09 0,04 -0,01 .a
89 90 89 90 90 90 193
A la lecture du tableau, seuls « Assemblage » et « La bonne pomme », tous deux de type
réaliste, corrèlent avec leur type. De nombreux cas d’égalité ou d’écart insignifiant sont
perceptibles. Une autre manière de traiter les scores est à envisager. Notons que « L’invasion
des fourmis » ne fournit volontairement qu’un type de score au moment des tests.
Tableau de correlation mini-jeux : « Meilleur Score »/IRMR
Deuxième type d’item relatif aux scores des mini-jeux : les meilleurs scores obtenus par minijeux
sur toutes les parties qu’a pu en faire le joueur. Nous avons extrait deux analyses
différentes de cet item.
Série 1 : Sur ensemble du panel
La première série prend en compte tous les participants, UPOND et ARCNAM. Ici encore les
valeurs brutes ont été inversées pour permettre une lecture normale du tableau (1 est devenu
3, etc…).
Mini-jeux
Jour 1 Labonnepomme
_3 Réaliste
Linvasiondesfou
rmis_3
Investigateur
Créationdautom
ne_3 Artiste
LescoursesdeM
mePetitpas_3
Social
Omelette_3
Entreprenant
Timbrés_3
Conventionnel
R_IR -0,10 .a 0,12 -0,07 0,05 -0,15
I_IR 0,09 .a 0,00 0,03 -0,02 -0,03
A_IR -0,05 .a 0,01 0,16 0,13 -0,03
S_IR 0,16 .a -0,07 0,00 -0,26 -0,03
E_IR 0,01 .a 0,00 0,02 0,00 0,16
C_IR -0,04 .a -0,07 -0,01 -0,08 0,07
90 90 90 90 90 90
Mini-jeux
Jour 2 Latuile_3
Réaliste
Lumière_3
Investigateur Photos_3 Artiste
Auxabris_3
Social
Dusableetdelasu
eur_3
Entreprenant
Stock_3
Conventionnel
R_IR 0,03 0,17 -0,24 0,03 -0,07 -0,01
I_IR 0,10 -0,02 -0,03 0,20 -0,15 -0,19
A_IR 0,12 -0,20 0,20 0,09 0,02 0,00
S_IR 0,01 0,01 0,08 0,06 -0,12 0,00 194
E_IR -0,09 0,01 -0,10 -0,29 0,16 0,11
C_IR -0,16 0,18 -0,18 -0,26 0,05 0,07
90 90 90 90 90 90
Mini-jeux
Jour 3
Assemblage_3
Réaliste
Lepetitchimiste_
3 Investigateur
Décoration_3
Artiste Accueil_3 Social
Promotion_3
Entreprenant
Chacunsaplace_
3 Conventionnel
R_IR -0,12 -0,25 0,21 -0,15 -0,15 .a
I_IR 0,10 -0,02 0,02 0,06 -0,08 .a
A_IR 0,03 0,17 -0,17 0,12 -0,12 .a
S_IR -0,08 0,00 0,06 0,12 0,13 .a
E_IR -0,06 -0,06 -0,20 -0,12 0,19 .a
C_IR 0,11 -0,08 0,09 -0,05 0,01 .a
89 90 89 90 90 90
Comme dans les cas précédents, les coefficients sont faibles à moyens et « Meilleur Score »
ne corrèlent que peu avec le type qu’il vise.
La faible variabilité des valeurs de ces items semblent aussi provoquer de nombreux cas de
proximité des coefficients, ex aequo, ou dans une fourchette insignifiante. Une des leçons à
retenir des deux items « 1er Score » et « Meilleur score » tient à la nature de la variable que
nous utilisons. Nous avions adopté un système mettant sur un même niveau tous des minijeux
(les scores ramenés à trois types). Or il s’avère que ce procédé n’est pas suffisant pour
établir des différenciations significatives à l’établissement du coefficient de Bravais-Pearson.
Nous envisageons d’intégrer les données brutes des scores, quelles que soient leurs formes,
dans les prochaines séries de passations.
Série 2 : Sur le panel de l’UPOND
Nous avons souhaité présenté un second tableau de corrélation « Meilleur score »/IRMR. Il
ne prend en compte que les participants de l’UPOND. Attention, nous considérons ici le
score (1, 2, 3) non recalculé. Une bonne corrélation y apparait en négatif car la valeur 1est le
meilleur score et 3 le pire. 195
Minijeux
Jour 1
Labonnepomme
_3 Réaliste
Linvasiondesfou
rmis_3
Investigateur
Créationdautom
ne_3 Artiste
LescoursesdeM
mePetitpas_3
Social
Omelette_3
Entreprenant
Timbrés_3
Conventionnel
R_IR 0,19 .a -0,06 0,03 -0,16 0,10
I_IR 0,01 .a 0,04 -0,12 0,01 0,02
A_IR 0,18 .a -0,16 -0,15 -0,05 -0,01
S_IR -0,19 .a 0,06 -0,03 0,31 0,03
E_IR -0,08 .a 0,04 0,08 -0,04 -0,17
C_IR -0,11 .a 0,17 0,07 0,02 -0,05
65 65 65 65 65 65
Mini-jeux
Jour 2
Latuile_3
Réaliste
Lumière_3
Investigateur Photos_3 Artiste Accueil_3 Social
Dusableetdelasu
eur_3
Entreprenant
Stock_3
Conventionnel
R_IR -0,14 -0,14 0,31 0,09 0,13 0,06
I_IR -0,12 0,03 -0,01 -0,12 0,27 0,19
A_IR -0,01 0,20 -0,19 0,08 -0,05 -0,07
S_IR 0,01 -0,04 -0,09 -0,19 0,22 -0,02
E_IR -0,04 0,00 0,11 0,12 -0,19 -0,14
C_IR 0,06 -0,19 0,20 -0,03 -0,12 0,09
65 65 65 65 65 65
Mini-jeux
Jour 3
Assemblage_3
Réaliste
Lepetitchimiste_
3 Investigateur
Décoration_3
Artiste
Auxabris_3
Social
Promotion_3
Entreprenant
Chacunsaplace_
3 Conventionnel
R_IR 0,18 0,02 -0,21 -0,12 0,15 .a
I_IR -0,07 0,07 -0,03 -0,28 0,05 .a
A_IR 0,05 0,03 0,12 0,08 0,14 .a
S_IR 0,03 -0,08 -0,10 -0,12 -0,10 .a
E_IR 0,03 -0,01 0,20 0,21 -0,17 .a
C_IR -0,16 0,02 -0,06 0,27 -0,01 .a 196
65 65 65 65 65 65
Nous constatons un bien meilleur comportement des items. Sept mini-jeux voient leur
meilleur score corréler avec le type visé, dont ceux déjà positifs dans en prenant le panel
complet. Quatre autres sont de types voisins. Pourquoi un tel écart de résultat ? Cela reste de
l’ordre de la supposition, mais nous pouvons peut-être nous reporter aux profils des
participants des deux groupes. Celui de l’UPOND, au profil universitaire, est plus jeune, sans
doute plus en phase avec la manipulation de l’outil informatique et avec certitude dans la
population ayant pratiqué le jeu plus activement que les générations précédentes.
Tableau de corrélation mini-jeux : « Classement » / IRMR
Rappelons que l’item « Classement » a été pénalisé lors des passations par un bug qui
empêchaient de le collecter. Alors que cette activité est obligatoire pour avancer dans le jeu,
seul 75 participants ont pu le faire correctement sur les 142.
Les valeurs ont été recodé pour une lecture normale des corrélations.
Minijeux
Jour 1
Labonnepomme
_4 Réaliste
Linvasiondesfou
rmis_4
Investigateur
Créationdautom
ne_4 Artiste
LescoursesdeM
mePetitpas_4
Social
Omelette_4
Entreprenant
Timbrés_4
Conventionnel
R_IR 0,28 0,18 -0,11 -0,29 0,01 -0,03
I_IR 0,33 0,00 -0,11 -0,33 0,15 0,00
A_IR -0,13 -0,03 0,26 0,16 -0,13 -0,21
S_IR -0,25 -0,02 0,03 0,24 -0,16 0,15
E_IR -0,08 -0,08 -0,06 0,04 0,14 0,05
C_IR -0,04 -0,06 -0,03 -0,10 0,09 0,16
75 75 75 75 75 75
Minijeux
Jour 2
Latuile_4
Réaliste
Lumière_4
Investigateur Photos_4 Artiste
Auxabris_4
Social
Dusableetdelasu
eur_4
Entreprenant
Stock_4
Conventionnel
R_IR 0,16 0,23 -0,19 -0,14 -0,02 -0,01
I_IR -0,03 0,36 -0,18 -0,01 -0,02 -0,13
A_IR -0,12 -0,09 0,27 0,10 -0,14 -0,07 197
S_IR 0,03 -0,08 0,05 0,13 0,00 -0,14
E_IR 0,07 -0,14 0,05 -0,13 0,13 0,05
C_IR 0,05 -0,07 -0,15 -0,21 0,14 0,28
75 75 75 75 75 75
Minijeux
Jour 3
Assemblage_4
Réaliste
Lepetitchimiste_
4 Investigateur
Décoration_4
Artiste Accueil_4 Social
Promotion_4
Entreprenant
Chacunsaplace_
4 Conventionnel
R_IR -0,02 0,06 -0,02 -0,18 -0,02 0,16
I_IR 0,02 -0,04 -0,14 -0,11 0,14 0,12
A_IR 0,05 -0,10 0,14 0,05 0,01 -0,13
S_IR 0,01 0,05 -0,01 0,16 -0,02 -0,19
E_IR -0,17 -0,01 0,03 0,22 0,04 -0,12
C_IR 0,02 0,06 0,00 -0,03 -0,04 0,00
75 75 75 75 75 75
Nous pouvons constater un bon comportement global des items. 13 d’entre eux corrèlent bien
avec le type visé, ou quasiment à ex aequo avec le fort coefficient. Trois autres sont associés à
des types voisins. La forme en escalier des colorations est symptomatique de ce bon résultat,
qu’il faut cependant modérer par le manque de corrélations fortes, supérieures à 0.40.
Notons aussi, dans les aspects positifs, que les plus mauvaises corrélations se produisent six
fois avec le type RIASEC opposés et à sept reprises avec un type très distant.
Le cas véritablement critique en tout point est « Promotion » (Entrepreneur), corrélant avec le
type opposé (Investigateur). Nous y reviendrons après la lecture des corrélations de l’item
« Note ».
« Assemblage » (Réaliste) est problématique. La plupart des coefficients se situent dans une
fourchette de 0.07 de différence. Nous devrons attendre l’intégration d’autres passations,
avec des profils plus variés pour espérer une bonne différenciation.
L’item « Classement » semble être prometteur. Bien que la réalisation du classement se fasse
d’une manière proche de questionnaires papiers, c’est la première fois que des sujets
marquent leur intérêt sur la base d’une comparaison de gameplay ou d’expériences ludiques. 198
Tableau de corrélation mini-jeux : « Note »/IRMR
L’item « Note » est relatif aux étoiles qu’attribue le joueur à un mini-jeu. Cette variable
n’avait pas été intégrée aux tableaux de restitution XLM lors des premières passations. Seul
le panel de l’ARCNAM a pu fournir des données, au final 25 participants valides, ce qui
explique le nombre important de quasi ex aequo.
Minijeux
Jour 1
Labonnepomme
_note Réaliste
Linvasiondesfou
rmis__note
Investigateur
Créationdautom
ne__note Artiste
LescoursesdeM
mePetitpas__not
e Social
Omelette__note
Entreprenant
Timbrés_note
Conventionnel
R_IR 0,10 0,35 -0,12 -0,07 0,10 0,21
I_IR 0,13 0,30 0,21 -0,28 0,62 -0,15
A_IR -0,27 -0,19 0,15 0,22 0,06 -0,38
S_IR -0,29 0,11 -0,16 0,37 -0,07 -0,25
E_IR 0,15 -0,32 0,14 -0,06 -0,27 0,37
C_IR 0,02 -0,18 -0,11 -0,32 -0,33 0,35
25 25 25 25 25 25
Minijeux
Jour 2
Latuile__note
Réaliste
Lumière__note
Investigateur
Photos__note
Artiste
Auxabris__note
Social
Dusableetdelasu
eur__note
Entreprenant
Stock__note
Conventionnel
R_IR 0,42 0,30 -0,30 -0,12 0,24 0,17
I_IR 0,29 0,35 -0,07 0,02 0,20 -0,16
A_IR -0,15 -0,19 0,51 0,03 -0,08 -0,31
S_IR -0,05 -0,11 -0,04 0,43 0,01 -0,28
E_IR -0,16 0,01 -0,29 -0,20 -0,37 0,16
C_IR -0,03 0,18 -0,47 -0,32 -0,08 0,44
25 24 25 25 24 25
Minijeux
Jour 3
Assemblage__n
ote Réaliste
Lepetitchimiste_
_note
Investigateur
Décoration__not
e Artiste
Accueil__note
Social
Promotion__not
e Entreprenant
Chacunsaplace_
_note
Conventionnel 199
R_IR 0,22 0,08 -0,05 -0,14 -0,03 0,05
I_IR 0,27 0,14 0,33 0,25 0,25 0,32
A_IR -0,10 -0,20 0,21 0,17 0,32 0,02
S_IR -0,26 -0,17 -0,21 0,26 -0,26 -0,30
E_IR 0,25 0,16 0,06 0,16 0,03 0,11
C_IR 0,09 0,15 -0,29 -0,16 -0,05 0,04
21 22 24 25 25 25
Nous retrouvons à nouveau cette forme d’escalier et un nombre important de corrélations
correctes. D’autres passations sont nécessaires pour évaluer « Note » mais ces premiers
résultats incitent à l’optimisme. Comme « Classement », cela semble confirmer que des jeux
peuvent servir de supports à la manifestation volontaire d’un intérêt.
Retrouvons le cas de « Promotion », normalement adressé au type Entrepreneur. Il corrèle de
manière encore plus marqué avec le type opposé (Investigateur). Nous pouvons sans doute
faire le lien entre ce défaut de corrélation et la difficulté d’estimation de son gameplay
identifié en conception.
Tableau de corrélation « tenue initiale »/IRMR
L’item « Tenue intitiale » avait été intégré par opportunisme : un système de création d’avatar
était prévu à des fin d’appropriation de l’avatar par le joueur. Nous y avions vu une autre
manière de collecter de l’information. Comme pour « Note », seul le panel de l’ARCNAM a
pu fournir des données et la corrélation est malheureusement basée sur un faible nombre de
scores valides. Nous communiquons malgré tout l’analyse, bien qu’il soit difficile d’en tirer
des conclusions sur le comportement de l’item.
tenue_R
Réaliste
tenue_I
Investigateur
tenue_A
Artiste
tenue_S
Social
tenue_E
Entreprenant
tenue_C
Conventionnel
R_IR -0,05 -0,13 -0,15 0,30 0,07 0,14
I_IR 0,20 -0,25 -0,13 -0,05 0,29 0,13
A_IR 0,03 0,11 -0,13 -0,20 -0,10 0,09
S_IR -0,21 -0,26 0,27 0,00 -0,09 0,22
E_IR -0,05 -0,15 0,06 0,24 -0,11 -0,15 200
C_IR -0,02 0,06 0,15 0,15 0,09 -0,27
28 28 28 28 28 28
Notons juste qu’aucune corrélation positive n’en ressort mais que la promiscuité des
coefficients les plus forts avec des types voisins des types visés nous incite à recueillir plus de
données.
Conclusion sur la méthode d’évaluation
La méthode d’analyse proposée et mise en place, la comparaison des résultats obtenus par
item corrélé avec les types issus d’un questionnaire de référence, permet bien de hiérarchiser
l’efficacité des items. Cependant, nous voyons qu’elle n’est peut-être pas l’unique méthode
pour évaluer relations entre comportement du joueur et profil psychologique. Dans le cas de
JEU SERAI, si les tableaux de corrélations de Bravais-Pearson permettent d’analyser le
comportement des items (est-ce que les corrélations se font bien avec les types RIASEC
visés ?), les dénombrements ont permis d’obtenir d’autres informations sur la relation du
joueur aux éléments de gameplay.
Premier constat important : l’analyse des résultats révèle que l’utilisation du jeu vidéo comme
support à une marque d’intérêt est valide. Les items « note » ou « classement » ont des
résultats de corrélations en grande majorité positifs.
S’ils revêtent la forme adoptée par certains questionnaires traditionnels (classer, noter), ils
permettent d’avancer que l’utilisation de jeux vidéo comme support (à la place de noms de
métiers dans une liste) semble valide. Néanmoins d’autres tests sont nécessaires car les
analyses ont fait ressortir que le mini-jeu « Promotion » ne corrèle pas du tout avec le type
visé (Entrepreneur) mais avec son type opposé (Investigateur). « Assemblage » demandent
aussi des modifications pour tenter d’obtenir de meilleurs corrélations avec les tests de
références. Nous avons pu croiser ces résultats avec le tableau récapitulatif de la pertinence
RIASEC des mini-jeux. et constater l’origine de ces défaillances.
Les quizz, eux aussi proches de questionnaires RIASEC par leur forme (choisir parmi des
listes de choix illustrés visuellement), incitent à l’optimisme. Ils restent proches des modes
traditionnels de collecte de données, des marques de préférences contrôlées par le joueur, 201
mais revêtent l’originalité d’être contextualisées dans l’univers narratif du jeu. Bien
qu’envisagés comme une solution appelée à disparaître au profit de tests sur les valeurs du
consultant, ces items semblent importants à l’heure actuelle pour l’établissement d’un profil
RIASEC. Ils devraient devenir obligatoires dans la progression du joueur dans les prochaines
versions de JEU SERAI.
Les variables des mini-jeux relevant moins de la marque d’intérêt traditionnelle, comme le
fait de rejouer et les scores obtenus, sont moins performantes dans l’approche que nous en
avions initialement. Elles ouvrent par contre des pistes intéressantes quant à leur utilisation.
L’item « Joué » semblait un bon candidat à la marque d’une préférence. Le tableau de
corrélation n’est cependant pas très positif. Nous envisageons de nouvelles manières de le
présenter au joueur pour renforcer son association à une marque de préférence.
Nous avançons que l’item « Joué », ou nombre de fois qu’un mini-jeu est rejoué, devrait être
dissocié du type visé par le mini-jeu. « Joué », en lien avec une forme de recherche de la
performance chez le joueur, corrèle significativement plus avec les types Réaliste, en tête, et
Investigateur, en second. « Joué » pourrait être le signe d’appartenance à un type par le fait
même de vouloir rejouer, et non par le type pour lequel le mini-jeu rejoué a été conçu. Cet
item devrait donc être dédié à la mesure de ces dimensions dans le mode de calcul final du
profil RIASEC. Une autre approche de la mesure des intérêts se profile, et semble corroborée
par la constatation suivante.
L’analyse des données de « Joué » permet aussi de souligner le rôle important des composants
du système de jeu et du challenge. Il existe un lien fort entre la volonté de rejouer et la nature
du gameplay du mini-jeu. Ces mécanismes, connus des concepteurs de jeux d’Entertainment,
doivent être pris en compte dans la manière d’utiliser cet item. Les mini-jeux au gameplay
comportant une présence marquée du temps dans la mécanique de jeu sont plus rejoués que
les autres ; ceux dont la nature du gameplay repose sur l’exploration d’arborescences
dialoguées le sont beaucoup moins. Par exemple pour le type social, dont les gameplay sont
proches des jeux d’aventures (arborescences dialoguées…), le score de « Joué » ne devrait
pas être pris en compte.
Cela conforte l’idée que cet item doit être traité littéralement au cas par cas, en analysant avec
le plus de précision possible les composants du gameplay. Nous l’avions anticipé sur les minijeux
Artiste « Création d’automne » et « Déco », ne comportant pas de challenge mesuré.
Nous ne l’avions pas assez discerné pour ces mécaniques de temps ou d’arborescence. Notre 202
tableau de synthèse des éléments de game-design par types RIASEC visé mériterait de
s’affiner pour inclure une notion de pattern gameplay.
Ces deux dernières constatations nous amènent au second résultat important de cette
expérimentation. Il rejaillit sur la suite du développement de JEU SERAI mais surtout sur les
voies de recherches pour de futures expérimentations. L’item « Joué » confirme que nous
pouvons élaborer une autre manière de créer l’association entre type RIASEC et gameplay :
par la nature des systèmes de jeu mis en œuvre et les mécaniques du challenge. La notion de
préférence stratégique du joueur avait été écartée au début de la conception de JEU SERAI
car pouvait être biaisée par le principe d’optimisation : j’utilise une stratégie que je maîtrise,
plutôt qu’une nouvelle, même si cette nouvelle pourrait me plaire. Dans le cadre de JEU
SERAI plusieurs solutions sont envisageables. Par exemple donner le choix au joueur pour
résoudre un problème de : refaire une activité challengeante, avec un réglage plus difficile, ce
qui renforcerait la tendance Réaliste ou Investigateur du profil, ou de choisir une autre
activité, qui marquerait une préférence pour un autre type.
D’un point de vue de la recherche de méthodologie, la découverte associée à l’item « Joué »
cela nous indique clairement qu’il ne faut pas seulement s’appuyer sur association dimension /
métaphore de l’activité. Il existe une relation plus subtile entre comportement du joueur, ce
que nous pourrions appeler profil gameplay, et dimension psychologique.
Les « activités récurrentes » étaient une tentative dans cette direction. Nous avions supposé
que le fait de laisser des activités optionnelles accessibles dans le village en les associant aux
types de Holland et de mesurer la fréquence avec laquelle les joueurs les pratiques permettrait
de manière cachée d’évaluer une préférence. Le « Nombre de clics » des activités récurrentes,
utilisés de manière brute, n’ont pas données de résultats très concluant mais propose peu de
gameplay à proprement parler. Nous devrions poursuivre leur analyse en intégrant un panel
plus large et plus diversifié. L’analyse des résultats des activités récurrentes et la recherche
de la cause de leur défaillance a aussi soulevé le manque d’attention porté à leur conception.
Elles auraient mérité une approche aussi rigoureuse que les mini-jeux, une évaluation de leurs
éléments constitutifs, réutilisant le tableau de rationalisation.
Les items « 1er Score » et « Meilleur score » ne semblaient pas être les meilleurs moyens de
mesurer une préférence. Des problèmes de consignes difficiles à comprendre et de manque de
variabilité des scores recalculés doivent être réglés avant de pouvoir véritablement se
prononcer. L’item « Meilleur score » a cependant soulevé un point important. En confrontant
les résultats des deux panels de participants (étudiants à l’UPOND, adultes actifs à 203
l’ARCNAM) nous avons pu constater que l’item corrélait avec les types visés
significativement mieux chez le panel d’étudiants. Nous supposons qu’il s’agit d’un effet
générationnel lié à la familiarité avec les jeux vidéo (moyenne d’âge ARCNAM 38 ans,
UPOND 21 ans). Il semblerait pertinent de réaliser d’autres analyses dédiées à ce phénomène
sur la base d’un panel global plus important, avec une représentation équilibrée des tranches
d’âge.
D’un point de vue purement gameplay, le dénombrement de l’item « Joué » a permis
d’identifier la relation entre difficulté ressentie par le joueur et le fait qu’il rejoue. Les minijeux
signalés comme étant les plus durs ou les plus faciles par les participants et encadrants
sont aussi les jeux les moins joués : « Lumière » le plus dur, jamais rejoué, et « Classe », trop
facile, très peu rejoué. Une passe d’équilibrage est nécessaire. Pointe aussi le problème de
clarté des consignes signalé lors des passations. Il pourrait être réglé par des tests dédiés.
De manière croisée, « Note », « classement » et « Meilleurs score » (panel UPOND) affichent
de meilleures corrélations avec les mini-jeux de la deuxième journée virtuelle. Ces mini-jeux
n’ont pas été significativement plus marqués que les autres en conception (voir Tableau
récapitulatif de la pertinence RIASEC des mini-jeux en conclusion du chapitre 4). C’est aussi
dans cette journée que les joueurs ont le plus rejoué.
JEU SERAI est bien perçu comme une expérience ludique et prenante par les participants.
L’un des problèmes majeur de JEU SERAI pour son déploiement à venir est sa durée.
Comparativement à un test traditionnel d’intérêt prenant moins de 30mn, nous avons des
passations excédant fréquemment les deux heures. Plusieurs solutions sont envisageables
pour baisser drastiquement cette durée dont une permettrait de relever une marque de
préférence en phase avec nos constations : Permettre au joueur de quitter un mini-jeu en cours
à tout moment.
Du point de vue de la production de JEU SERAI malgré les problèmes relatifs à la variabilité
des profils des participants et au manque de données valides sur certains items, nous avons
pur tirer une première série de conclusions et de recommandations pour l’aménagement du
prototype. Une itération de production a été complété, la version actuelle ayant pris les
enseignements de ses tests.
Du point de vue méthodologique, nous retenons que les tests de comparaison entre scores des
items et scores dans un test traditionnel ne sont pas suffisants pour bien évaluer la bonne
élaboration d’un profil. Il semble fondamental de se doter d’outils permettant de comprendre 204
l’adhésion des joueurs aux items. Ici, les dénombrements ont permis la mise en évidence de
la relation entre type de gameplay et certains items. L’analyse par ces procédés peut révéler
des approches plus adaptés au modèle utilisé.
Replacer dans le contexte plus global de connaissance de la psychologie du joueur, ces
premiers résultats pointent déjà des éléments très prometteurs pour nos futurs travaux. La
relation entre préférence des mini-jeux et trait psychologique semble se dessiner. Nous
pouvons aussi émettre l’hypothèse que la mise en scène de l’interaction, le type de gameplay
joue sur les décisions du joueur selon un type psychologique, et que nous pouvons le voir au
travers de ses décisions et performances. Cela appelle bien sûr d’autres expérimentations
permettant d’expliciter plus solidement les relations entre gameplay et psychologie du joueur. 205 206 207
CHAPITRE 6 – CONCLUSION GENERALE208 209
6 - Conclusion générale
Le game design, la conception d’un gameplay, est empiriquement lié à la manipulation de
modèles du joueur. Notre travail de recherche se positionne à la rencontre des modèles du
joueur et modèles psychologiques, et ce au cœur même de l’expérience de jeu. La question
que nous nous posons est celle de la détection des traits psychologiques, d’éléments
caractérisant un joueur, au travers du gameplay ou, pour le moins, engagé dans une
expérience ludique. Nous souhaitons par cette approche éviter les biais potentiels relatifs aux
questionnaires après jeu, répandus dans l’élaboration de typologies comportementales par le
passé.
L’état de l’art souligne bien plusieurs formes de modélisation du joueur en œuvre dans le
processus de conception d’un jeu. Des outils tels que les théories des jeux, de la motivation et
de la décision permettent même un éclairage sur des mécanismes intuitivement mis en œuvre
par le game designer. Des domaines comme l’intelligence artificielle proposent des modèles
efficaces pour la mesure de la performance ou la création de joueurs virtuels. Mais les
recherches visant à créer un modèle psychologique du joueur au travers de son expérience de
jeu est vierge de démonstration argumentée. Notre travail vise à se doter d’une méthode de
conception permettant d’expliciter cette relation.
La méthode que nous avons expérimentée se résume en neuf points :
1 - Identifier un modèle psychologique éprouvé
2 - Identifier le faisceau de contraintes lié au public visé et au propos utile du
jeu
3 - Mettre en place une chaine de validation des contenus avec les experts
4 - Choix du type de jeu
5 - Définir des items aux propriétés variées dans la boucle de gameplay 210
6 - Adopter une méthode de rationalisation des contenus pour les autres taches
fondamentales du game design
7 - Construire un mode de restitution documenté
8 - Adopter un protocole de test et d’analyse permettant d’évaluer la pertinence
des items et constituer des recommandations d’aménagements
9 - Itérer en revenant à la définition des items (4) ou la nature des contenus (5)
jusqu’à obtenir une corrélation satisfaisante
Les besoins avérés d’outils facilitant l’accès à l’orientation professionnelle nous ont donné
l’opportunité de mettre en place une expérimentation fondée sur des modèles psychologiques
éprouvés. Le projet JEU SERAI a pour ambition de se substituer aux tests d’autoévaluation
par questionnaires pour les remplacer par la pratique d’un jeu vidéo. Il doit être accessible et
faciliter le dialogue avec le conseiller d’orientation. La passation du test par ce support est
aussi supposée contourner le biais de la désirabilité sociale inhérent aux passations
traditionnelles.
Le modèle retenu est celui de de Holland, mesurant les intérêts d’une personne sur six
dimensions : Réaliste, Investigateur, Artiste, Social, Entreprenant, Conventionnel, ou
RIASEC. Outre le fait qu’il soit largement utilisé depuis des années, il comporte une
propriété qui en fait un candidat idéal à une intégration à un jeu vidéo. Les intérêts d’un sujet
peuvent être évalués par son attraction pour un environnement, au sens large (métiers mais
aussi lieux, personnes, activités…). Des tests éprouvés comme l’IRMR permettent d’évaluer
la création de profil par le jeu.
Le type de public visé et le contexte d’utilisation de JEU SERAI ont orienté sa conception.
La contrainte majeure réside dans l’accessibilité à une audience très hétérogène. Le thème du
jeu et son genre contribuent à y remédier. Le joueur est plongé dans un univers écologique,
ne nécessitant pas de références particulières : un petit village attrayant proposant une
multitude d’activités. Les gameplay proposés sont travaillés pour permettre une prise en main
quasi instantanée.
Une chaîne de validation des contenus et de co-conception avec les experts a été mise en
place. Lors de la phase de conception initiale le processus a été bien respecté. Les contraintes
liées à la production ont par contre amené à implémenter quelques éléments qui n’ont pu
passer par la chaîne de validation complète. Certains mini-jeux ont, par exemple, vu leurs
contenus commentés après coup. D’autres éléments, comme les fréquences de présentation 211
des activités récurrentes, n’ont pu être équilibrés du fait du manque de temps et de ressources.
Même si cette collaboration avec les experts a pu souffrir en fin de production, nous avons pu
mettre en place rapidement des tests sur un petit panel pour évaluer la direction prise lors de la
phase de conception. Les activités simulées par des gameplay dans le village ont pu être
validées avant de rentrer en production.
Le point critique de la conception est la définition des items destinés à remplacer les réponses
à des questionnaires. L’un des points importants de la méthodologie proposée consiste à
établir un panel d’items aux propriétés différentes. Certains d’entre eux reposent sur du
classement ou des notations proches des protocoles traditionnels mais dont les objets supports
de la marque d’intérêt ne sont plus des listes de métiers ou d’activités mais des mini-jeux
contextualisés dans le village. C’est en soi une innovation. D’autres items, comme les
scores, le fait de rejouer à un mini-jeu ou la fréquence de pratiques d’activités récurrentes
disposées dans le village sont des données classiques du jeu vidéo. Ils sont liés à des modèles
du joueur et des types de comportements observables (performance, recherche de la
complétion). Ces types d’items ne sont pas des marques d’intérêts volontaires du participant
et sont mesurés à son insu. Cette définition des items s’est menée de pair avec l’établissement
de la boucle de gameplay principale. Sa profonde relation à l’expérience de jeu amène à se
doter d’une méthode la plus rationnelle possible d’évaluation des éléments de game design
associés aux dimensions à mesurer.
La spécification du game design de JEU SERAI comprend les cinq tâches fondamentales de
la réalisation d’un jeu vidéo : boucle de gameplay, système de jeu, mise en scène de
l’interaction, structure motivationnelle et contexte narratif. Nous avons pu constater au cours
de ce travail une difficulté à faire cohabiter la nature du profil psychologique à réaliser et les
modèles du joueur empiriques. Rappelons par exemple que les choix stratégiques du joueur et
son désir d’optimisation gameplay peuvent s’opposer aux choix liés à un intérêt pour une
activité que nous tentons de mesurer. La nature des items et l’ensemble des éléments concrets
qui en permettent la mesure via le système de jeu doivent veiller à ne pas créer des biais en
lien avec les comportements ou modèles connus du joueur. Nous avons pu apporter des
solutions à ces problématiques dans le cas du modèle de Holland. Nous supposons que ce
type de conflit peut être inhérent à la volonté de faire coexister la mesure d’un comportement
ludique et une typologie de comportement sans rapport initial avec des modèles du joueur.
Les ébauches que nous avons réalisées sur le modèle de Harren, sur les types de prise de
décision, et sur le système de valeur du joueur semblent le confirmer. 212
Les éléments portant le plus d’items pour les analyses sont les mini-jeux. Ils devaient refléter
systématiquement une dimension du modèle de Holland, un des types RIASEC. Nous avons
catégorisé les éléments composants chacun des mini-jeux et en particulier ceux relatifs à leur
gameplay (objectifs, cible des interactions, feedback…). Ce travail permet de comparer
chaque élément conçu au type RIASEC visé en se basant sur la littérature décrivant la
typologie. Des catégories d’éléments sont relativement simple à évaluer (décors, cibles des
interactions…) car représentées explicitement dans l’univers du jeu. D’autres sont plus
délicates à classer, comme la catégorie gameplay ramenée à des verbes d’action du joueur.
S’il est simple de lier une action traduite métaphoriquement dans le jeu (cueillir des pommes
avec un sécateur, clairement associé au type Réaliste), il est plus difficile d’estimer ceux qui
sont de l’ordre de l’activité cognitive. Cette estimation reste de l’ordre de la supposition. Par
exemple nous avons pu voir pour le jeu « Promotion » que nous avions oublié une dimension
déductive dans le gameplay, qui ne s’adresse pas forcément au type visé. Elle ressort dans les
analyses de résultats. Toujours est-il que cette méthode, inédite, offre une première manière
de visualiser la qualité des éléments devant véhiculer des dimensions du profil psychologique
à implémenter. Le tableau récapitulatif de la pertinence RIASEC des mini-jeux en conclusion
du quatrième chapitre synthétise cette approche de conception.
L’outil de collecte de données et de restitution implémenté est documenté de manière
exhaustive. Il permet la mise en place des premières passations et leur analyse. Le panel de
142 premiers participants comporte un déficit de certains types RIASEC (Réaliste et
Conventionnel).
L’analyse des résultats a permis de hiérarchiser les items par performance et, croisé avec les
outils rationnels de conception, d’identifier la source de certaines défaillances. Nous avons pu
aussi soulever une corrélation intéressante entre nature du gameplay ou des activités
proposées et certains types RIASEC, amenant un questionnement de fond sur l’approche pour
le cas précis de JEU SERAI.
D’un point de vue de la recherche de méthodologie les conclusions associées à l’item
« Joué » nous indique clairement qu’il ne faut pas seulement s’appuyer sur association
dimension / métaphore de l’activité. Il existe une relation plus subtile entre comportement du
joueur, ce que nous pourrions appeler profil gameplay, et dimension psychologique.
La suite à très court terme de nos travaux consiste à terminer la réalisation de JEU SERAI. Il
s’agit d’intégrer une série d’optimisations et d’aménagements dictés par la première série de 213
passations. L’objectif premier est de consolider la mesure des intérêts. Le profil généré doit à
terme être complété par le type de prise de décision et les valeurs du consultant, dont nous
avons dès la conception ébauché des pistes d’implémentation. Il faut ensuite déployer cet outil
dans les centres de formation.
Il nous semble que le principal apport du travail présenté dans cette thèse est de proposer une
approche scientifique et une méthode pour intégrer un modèle psychologique dans la
conception d’un jeu. Notre problématique s’inscrit sans doute dans la suite des nombreux
travaux de psychologie et de sociologie qui tente de définir ce qu’est un joueur et, en
particulier, un joueur de jeux vidéo. Cependant à l’instar de Bartle qui fut un pionnier dans ce
domaine, nous nous somme placé en tant que Designer : si nous cherchons à comprendre le
joueur c’est pour en tirer des principes et des méthodes pour faire de meilleurs jeux. D’autre
part nous travaillons dans le cadre d’une évaluation opérationnelle qui est intégrée au jeu et
non pas d’une analyse réalisée à postériori.
Dans ce cadre il est possible de développer nos travaux en visant essentiellement une
approche purement ludique ou dans le cadre de jeux utiles.
Comprendre mieux les joueurs et, de façon plus générale, les communautés de joueur est un
objectif visé par une grande partie des concepteurs et des industriels du jeu. A l’heure où les
jeux tendent à devenir des services plus que des produits en boite, la définition du profil des
joueurs devient un enjeu commercial. Comment définir le contenu à produire pour garder une
communauté active de joueurs ? La détermination de typologies comportementales et la
mesure du profil de la communauté peut aider à orienter la production de manière très
concrète, si l’on peut associer le modèle psychologique utilisé et le contenu gameplay de
manière rationnelle. Le modèle utilisé doit sans doute combiner des techniques statistiques
issues du marketing et des modèles psychologiques et sociologiques.
L’usage du modèle du joueur peut aller au-delà de l’aspect purement ludique. Il peut être au
cœur de l’utilité d’un jeu « utile ». C’est le cas de JEU SERAI dans la recherche de
caractéristiques pour l’orientation professionnelle. Les jeux de formations supposent en
général un modèle de l’apprenant qui pilote la progression du contenu pédagogique. Ceci doit
être combiné à un modèle motivationnel issu des techniques de Game Design. Tout le monde
semble s’accorder sur ces points et la théorie du flow est souvent citée comme le point de
convergence entre le jeu vidéo et les outils de formation. Cependant une mise en œuvre de 214
cette idée relève encore beaucoup plus de l’artisanat que de la science. Les jeux
thérapeutiques [Mader 2012] tentent de combiner le modèle d’un processus de guérisons et
une mécanique de jeu. Les jeux utiles, à messages politiques, humanitaires, globalement les
jeux qui tendent à avoir un impact social, retireraient des avantages à profiler leurs utilisateurs
d’un point de vue psychologique, et à définir la présentation du message en fonction de
chaque individu.
L’apport de cette méthodologie et les voies de développement qu’elle suggère rejoignent un
constat dans les sciences humaines. Des recherches récentes en informatique et sciences
cognitives nous éclairent sur le principe d’engagement du joueur [Soriano 2013] Les travaux
en psychologie de Thomas Gaon [Gaon 2010] mettent en avant les liens étroits entre game
design et ressorts de l’angoisse. Pour avancer dans la l’étude du joueur, premier
consommateur de biens culturels, et les éventuelles manipulations dont il peut être la cible,
nous avons besoin de nous équiper de moyens au croisement des sciences informatiques et
sciences humaines 215 216 217
GLOSSAIRE ET BIBLIOGRAPHIE218 219
Glossaire
3C: De l’expression anglaise Camera Control Character. Définit la relation étroite entre le
comportement de la caméra, les inputs du joueur et les réactions de l’objet contrôlé.
Brainstorm: Travail de recherche d’idées en groupe.
Cercle magique: Métaphore de l’engagement du joueur dans le jeu, il franchit le cercle
magique, où les règles sont différentes.
Contrôleur: Mode d’interaction du joueur avec le jeu video. Il peut prendre plusieurs
formes : une manette comme le DualShock de Sony, un outil de pointage comme la Wiimote
de Nintendo.
Death match: Mode multijoueur compétitif où chaque joueur joue pour soi.
Drop: Se dit du contenu des monstres, ennemis et animaux dans un jeu. Par exemple, dans la
plupart des MMORPG, les loups contiennent de l’or et des armes.
e.Learning: apprentissage ou formation en ligne
Five Factor model: Ou Big Five, est un modèle en psychologie créé par Costa et McCrae.
Ils ramènent nos traits caractérisants à cinq dimensions mesurables : ouverture à
l'expérience ; caractère consciencieux ; extraversion ; agréabilité ; névrosisme.
FPS: First person shooter, jeu de tir à la première personne. La caméra est en vue subjective
d’un personnage virtuel. Par exemple Half Life.
Free to play: Jeu ne nécessitant pas de payer pour jouer mais basé sur un modèle économique
où le joueur est libre d’acheter des éléments complémentaires pour agrémenter son
expérience. Par exemple Farmville
Game: Ici, se rapporte au cadre du jeu, les règles, l’objet jeu.
Game designer: Poste dans une équipe de développement. Personne dédiée à la conception
et au réglage des systèmes de jeu ou des mécaniques de jeu.
Game Studies: Recherches académiques sur le jeu vidéo 220
Gamifié: Du principe de « Gamification », terme couvrant l’adjonction de mécanismes
ludiques à une activité originalement sans rapport avec le jeu. Par exemple, faire gagner des
points à chaque fois que l’on fait le plein de sa voiture.
Guilde: « Association pérenne de joueurs réunis par un intérêt commun sous une même
bannière. Les guildes peuvent avoir un but commercial, militaire, politique, social ou autre
selon les MMOG. » http://www.jeuxonline.info/lexique/mot/Guilde
Input: Consiste généralement en une pression sur un bouton. Les inputs sont les décisions du
joueur ramenés à des signaux compréhensible par le système de jeu informatique.
Item: En psychométrie il s’agit généralement d’un élément d’un questionnaire de test.
Jeu colocalisé: Jeu nécessitant que les joueurs soient réunis dans un même espace. Par
exemple les jeux musicaux comme Sing Star.
Jeu compétitif en ligne: Jeu où les joueurs sont connectés à un réseau, et sont les uns contre
les autres, seuls ou en équipes. Par exemple Counter Strike.
Jeu de course: simule la conduite de véhicules sur des circuits.
Jeu de parcours: Le joueur déroule le jeu dans un ordre préétabli, comme par exemple dans
Super Mario. S’oppose aux mondes ouverts, où le joueur est libre d’explorer l’espace et la
narration dans l’ordre qu’il souhaite.
Jeu ubiquitaire: Expérience de jeu combinant des éléments virtuels et réels. Par exemple,
une chasse au trésor avec un téléphone géolocalisé.
Jeux sociaux asynchrones: Jeux développés sur les réseaux sociaux. Bien que fondé sur les
mécaniques collaboratives, les joueurs n’ont pas besoin d’être connectés en même temps pour
interagir entre eux. Par exemple Farmville.
Level Design: Tâche du game design consistant à créer un niveau de jeu (modélisation du
décors, disposition et paramétrages des objets)
MMORPG: Massively Multiplayer Online Role Playing Games, jeu de role massivement
multijoueur en ligne. Par exemple World of Warcraft.
Pattern: Se dit parfois d’une situation de jeu associée à un ensemble de stratégies fini pour le
joueur. Par exemple un type d’obstacle à franchir dans un jeu de plateforme.
Pay off: Dans le sens de la Théorie des Jeux, signifie le résultat de la confrontation entre les
stratégies des différents joueurs, exprimé en gain et perte pour les participants. 221
Play: Ici, signifie l’expérience de jouer.
Réalisme: Nous évoquons le réalisme de la simulation, du comportement des composants de
l’univers virtuel.
Simulation: Ce que simule la métaphore ludique. Une voiture sur un circuit, des cubes
soumis à la gravité, Un guerrier luttant contre des armées maléfiques. N’implique pas le
réalisme mais une forme de crédibilité des comportements et feedbacks.
Spawner: Initialiser un objet en un point donné de l’environnement sous des conditions
particulières. Par exemple, faire apparaitre un monstre dans une pièce alors que le joueur s’en
approche.
Stimuli: Ici au sens gameplay. Signe visuel ou sonore relié à un potentiel d’interaction. 222 223
Bibliographie
[Albinet 2011] ALBINET M. Concevoir un jeu video, Limoges, Editions fyp, 2011
[Alvarez 2010] ALVAREZ J. & DJAOUTI, D. Introduction au Serious Game, Paris,
Question Théoriques, 2010
[Aponte 2009] APONTE M-V., LEVIEUX G. & NATKIN S. Scaling the Level of Difficulty
in Single Player Video Games, actes de l’ICEC Paris 2009, Berlin Heidelberg, Springer,
2009
[Arsenault 2008] ARSENAULT D. & PERRON B. In the frame of the magic cycle: the
circle(s) of gameplay, dans The video game theory reader 2, B. Perron & M.J.P. Wolf (Eds.),
Routledge, 2008
[Bartle 1996] BARTLE R.A. Hearts, Clubs, Diamonds, Spades: Players who suit MUDs,
Journal of MUD research n°1, 1996, réédité dans The Game Design Reader, K. Salen & E.
Zimmerman (Eds.), Cambridge, MIT Press, 2006
[Bateman 2005] BATEMAN C. & BOON R. 21st Century Game Design, Boston, Charles
River Media, 2005.
[Bigot 2011] BIGOT O. Passation papier/crayon et informatisées : quelle influence sur les
stratégies d’autoreprésentation, thèse en psychologie sociale, Université Rennes 2, 2011
[Blanchart 2004] BLANCHARD S. & SONTAG J.-C. Les pratiques d’orientation
professionnelle : éclairages théoriques et témoignages d’acteurs, Revue Formation &
Territoire numéro 9, juillet 2004
[Boy 2005] BOY T. De l’orientation au projet personnel: pertinence de l’examen
psychologique, Le journal des psychologues n° 230, p. 33-36
[Brougère 2005] BROUGERE G. jouer/apprendre, Paris, Economia Anthropos 2005
[Caillois 1967] CAILLOIS R. Les jeux et les hommes, Paris, Folio essais, 1967
[Conroy 2011] CONROY D., WYETH P. & JHONSON D. Modeling player-like behavior for
game AI design, actes de l’ ACE '11, Lisbonne novembre 2011 224
[Consortium 2009] CORE P., NATKIN S., LEBLANC SITHAU C., VRIGNAUD P.,
LOARER E. & GUARDIOLA E. Annexe Technique du projet JEU SERAI, Appel à projet
serious game de la DGCIS 2009
[Costa 1992] COSTA P.T. & McCRAE R.R. NEO PI-R professional manual. Odessa,
Psychological Assessment Resources, 1992
[Costikyan 1994] COSTIKYAN G. I have no word but i must design, Interactive Fantasy n°2,
1994. Réédité dans Game Design Reader, K. Salen & E. Zimmerman (Eds.), Cambridge, MIT
press, 2006
[Cowley 07] COWLEY B., CHARLES D., BLACK M. & KICKET R. Data-Driven
Decision Theory fir player analysis in Pacman, in Technical report of the AIIDE workshop
2007, Optimizing Player Satisfaction, Menlo Park, AAAI press, 2007
[Csikszentmihalyi 91] CSIKSZENTMIHALYI M. Flow: The Psychology of Optimal
Experience, New York, Harper Perennial, 1991
[Deci 2000] DECI E.L.ci & RYAN R.M. The “What” and “Why” of Goal Pursuits: Human
Needs and the Self-Determination of Behavior, Psychological Inquiry, volume 11, 2000
[Demangeon 1984] DEMANGEON M., Intérêts, valeurs, personnalité en classe Terminale.
Paris, INETOP, 1984
[Denis 2006] DENIS G. Jeux vidéo éducatifs et motivation : application à l’enseignement du
jazz, Thèse à l’Ecole des mines de Paris, 2006
[Dias 2010] DIAS R. & MARTINHO C. Adapting content presentation and control to player
personality in videogames, Actes de la conference ACE '11, Lisbonne novembre 2011
[Djaouti 2010] DJAOUTI D., ALVAREZ J. & JESSEL J-P. Concevoir l'interactivité ludique
: une vue d'ensemble des méthodologies de "Game Design"; Actes du colloque Ludovia 2010,
Ax-les-Thermes 2010
[Gaon 2010] GAON T. Le ressort de l’angoisse dans les jeux vidéo, in Les jeux vidéo au
croisement du social, de l’art et de la culture. Questions de communication. série acte 8.
Presses universitaires de Nancy, 2010
[Green 2003] GREEN C.S Green & BAVELIER D. Action video game modifies visual
selective attention, Nature, volume 423, mai 2003
[Guardiola 2000] GUARDIOLA E. Ecrire pour le jeu, Paris, Dixit, 2000 225
[Guardiola 2005] GUARDIOLA E. & NATKIN S. Game Theory and video game, a new
approach of game theory to analyze and conceive game systems, actes de CGAMES’05,
Angouleme 2005
[Guardiola 2010] GUARDIOLA E. & NATKIN S. Player’s Model: Criteria for a Gameplay
Profile Measure, Actes de l’ICEC 2010, Seoul, Berlin Heidelberg, Springer, 2010
[Guardiola 2011] GUARDIOLA E. Master class game design of serious game: a list of
problems to solve, eVirtuoses, 2011, Valenciennes
[Guardiola 2012] NATKIN S., GUARDIOLA E., VRIGNAUD P., SORIANO D. &
LOARER E. Du jeu utile au jeu sérieux : un exemple le projet JEU SERAI, Revue Hermès
n
o
62. Les jeux vidéo : quand jouer, c’est communiquer, avril 2012
[Henriot 1989] HENRIOT J. Sous couleur de jouer, Paris, Jose Corti, 1989.
[Herbrich 2007] HERBRICH R., MINKA T. & GRAEPEL T. TrueSkill, A Bayesian Skill
Rating System, dans Advances in Neural Information Processing Systems, volume 20, MIT
Press, janvier 2007
[Herbrich 2008] HERBRICH R. & GRAEPEL T Playing Machines: Machine Learning
Applications in Computer Games ICML 2008 Tutorial, Helsinki, 5 July 2008
[Holland 1966] HOLLAND J. L. The psychology of vocational choice. A theory of personality
types and model environments, MA: Blaisdel, Waltham, 1966
[Huizinga 1951] HUIZINGA J. Homo ludens, Essai sur la fonction sociale du jeu, Paris,
Gallimard, 1951
[Huteau 1994] HUTTEAU M. L’évaluation psychologique des personnes : problèmes et
enjeux, L’Orientation Scolaire et professionnelle, volume 23/1, p. 5-13.
[Juul 2005] JUUL J. Half-real, Cambridge, MIT press, 2005
[Klimm 2009] KLIMMT C., BLAKE C., HEFNER D., VORDERER P. & ROTH C. Player
Performance, Satisfaction, and Video Game Enjoyment, Actes de l’ICEC 2009, Berlin
Heidelberg, Springer, 2009
[Koster 2005] KOSTER R. Theory of fun for game design, Scottsdale, Paraglyph Press, 2005
[Le Hy 2001] LE HY R., ARRIGONI A., BESSIERE P. & LEBELTEL O. Teaching
Bayesian Behaviours to Videogame Characters; actes de l’IEEE-RSJ International
Conference on Intelligent Robots and Systems (IROS), Las Vegas, 2003 226
[Lepper 1987] LEPPER M.R. & MALONE T.W. Intrinsic motivation and instructional
effectiveness in computer-based education. Dans Aptitude, learning, and instruction: III.
Conative and affective process analysis, R.E. Snow & M.J. Farr (Eds.), Hillsdale, 2007
[Levieux 2011] LEVIEUX G. Mesure de la difficulté dans les jeux vidéo, Thèse en
informatique, CNAM, Paris, 2011
[Mader.2012] MADER S., NATKIN S. & LEVIEUX G. How to analyse therapeutic games:
the player/game/therapy model, Acte de la conference Entertainment Computing-ICEC 2012,
Bremen 2012, Berlin Heidelberg, Springer, 2009
[Meier 2010] MEIER S. Everything You Know is Wrong, Keynote GDC, San Francisco, 2010
[Mountain 2010] MOUNTAIN G. Psychology profiling in Silent Hill Shattered memories,
Paris game AI conference 2010, Paris, 2010
[Murray 1997] MURRAY J.H. Hamlet on the hollodeck, the future of narrative in
cyberspace, Cambrigde, MIT press, 1997
[Norman 2002] NORMAN D. A. The Design of Everyday Things, Réédition, New York,
Basic books, 2002
[Parsons 1909] PARSONS F. Choosing a vocation, Boston, Houghton Mifflin, 1909
[Rodriguez 2006] RODRIGUEZ H. The Playful and the Serious: An approximation to
Huizinga's Homo Ludens, The international journal of computer game research, volume 6
issue 1, décembre 2006
[Rollings 2004] ROLLINGS A. & MORRIS D. Game architecture and design A new edition,
Indianapolis, New riders, 2004
[Rouse 2004] HOUSE R. III, Game design :Theory & Practice, Jones & Bartlett Learning;
2ème edition, Sudbury, 2004
[Salen 2004] SALEN K. & ZIMMERMAN E. Rule of Play : Game Design Fundamentals,
Londres, MIT press, 2004.
[Schell 2008] SCHELL. J. The art of game design, A book of lenses, Burlington, Morgan
Kaufmann, 2008
[Soriano 2013], SORIANO D., ERJAVEC G., NATKIN S. & DURAND M. Could the
Player's Engagement in a Video Game Increase His/Her Interest in Science?, Actes de la 227
conférence ACE 2013 - Making New Knowledge, Nertherland, Berlin Heidelberg, Springer,
2013
[Stora 2006] STORA M. Ico, conte de fée interactif : histoire d’un atelier jeu vidéo, revue
L’autre, vol.7, n°2, 2006
[Strong 1955] STRONG E.K., Vocational interests 18 years after college. Minneapolis,
University of Minnesota Press, 1955
[Swink 2009] SWINK S. Game feel, a game designer’s guide to virtual sensation, Burlington,
Morgan Kaufmann, 2009
[Tétreau 2005] TETREAU B. L’essor d’une psychologie des intérêts professionnels,
Carriérologie, vol. 10, no
1-2, p. 75-118.
[Turkle 2005] TURKLE S. The Second Self: Computers And The Human Spirit, 20th
Anniversary edition, Cambridge, MIT Press, 2005
[Tversky 1992] TVERSKY A. & KANHEMAN D. Advances in Prospect Theory:
Cumulative Representation of Uncertainty, Journal of Risk and Uncertainty volume 5, 1992
[Vrignaud 2005] VRIGNAUD P. & BERNAUD J-L. L’évaluation des intérêts professionnel,
Wavre, Editions Mardaga, 2005
[Vrignaud 2006] VRIGNAUD P. & CUVILLIER B. HEXA3D. Questionnaire d’évaluation
des intérêts, Paris, Editions du centre de psychologie appliquée, 2006
[Vrignaud 2008] VRIGNAUD P. & LOARER E. Méthode des tests et recrutement, dans
Psychologie sociales et ressources humaines in, M. Brombert & A. Trognon (Eds.],
Collection Nouveaux cours de psychologie, Paris, PUF, 2008
[Willo 2012] WILLO G. Le « surgissement » cybernétique, un opérateur du transfert dans la
psychose, Adolescence 2012/1, n° 79, 2012
[Yan 2007] YAN C. Jeux Vidéo Multijoueurs ubiquitaires adaptatifs : principes de
conception et architecture d’exécution, Thèse en informatique, CNAM, Paris 2007
[Yee 2007] YEE N. Motivations of Play in online games, Journal of CyberPsychology and
Behavior, volume 9, 2007
[Yun 2010] YUN C., TREVINO P., HOLTKAMP W. & DEND Z. PADS: enhancing gaming
experience using profile-based adaptive difficulty system, Actes du Sandbox’10, 5th ACM
SIGGRAPH Symposium on Video Games, Los Angeles, juillet 2010 228 229
Liste des jeux cités
Nous avons adopté la nomenclature suivante : Nom du jeu, support de la version citée, nom du
studio de développement s’il est disponible, nom de l’éditeur, année de sortie.
[Akira 2005] Tetris: the grand master 3 – Terror-instinct, arcade, Akira, 2005
[Bethesda 2006] The Elder Scrolls IV Oblivion, Microsoft Xbox 360, Bethesda, 2K Games
Publisher, 2006
[Bioware 1999] Baldur’s Gate, PC, Black Isle Studio/Bioware, Interplay, 1999
[Bioware 2005] Jade Empire, Microsoft Xbox, Bioware, Microsoft, 2005
[Bioware 2008]Mass Effect , Microsoft Xbox 360, Bioware/pandemic studio, Microsoft game
studio, 2008
[Blizzard 2004] World of Warcraft, PC en ligne, Blizzard entertainment, 2004
[Blizzard 2010] Starcraft 2, PC en ligne, Blizzard entertainment, 2010
[Climax 2009] Silent Hill Shaterred memories, Nintendo Wii, Climax Studios, Konami, 2009
[Electronic Arts 2007] My Sims, Nintendo Wii, Electronic Arts, 2007
[Firaxis 2010] Civilization V, PC, Firaxis, EK games, 2010
[Frasca 2003] September 12, jeu flash en ligne, Gonzalo Frasca, 2003
[Hasbro 1972] Mastermind, jeu de société, Mordecai Meirowitz, Hasbro, 1972
[ICO team 2002] ICO, Sony Playstation, ICO team SCE Japan Studio, SCE, 2002
[ID 1997] Quake II, PC, ID Software, Activision, 1997
[Intelligent Systems 2005] Mario Kart DS, Nintendo DS, Intelligent Systems, Nintendo, 2005
[BreakAway 2006] Pulse, BreakAway, 2006
[Lionhead 2001] Black and White, PC, Lionhead Studios, Electronic Arts, 2001
[Maddox 2001] IL2 Sturmovik, PC, Maddox Games, Ubisoft, 2001 230
[Maxis 2000] Les Sims, PC, Maxis, Electronic Arts, 2000
[MGS 2005]: Forza Motorsport, Microsoft Xbox, Microsoft Game Studios, 2005
[Mimesis 2011] Mamba Nation, PC en ligne, Mimesis Republic, 2011
[Mindscrape 2009] Mission Equitation Online, PC en ligne, Mimesis Republic, Mindscape,
2009
[Mojang 2011] Minecraft, PC en ligne, Mojang
[Namco 1979] Pacman, arcade, Namco, 1979
[Nintendo 1985] Super Mario bros, Nintendo Entertainment System, 1985
[Nintendo 2000] Pokemen snap, Nintendo 64, Nintendo, 2000
[Nintendo 2006] Entrainement cerebral du docteur Kawashima : quel âge a votre cerveau ?,
Nintendo DS, Nintendo, 2006
[Nintendo 2008] Animal Crossing let’s go to the city, Nintendo Wii, Nintendo, 2008
[Pajitnov 1987] Tetris, ZX Spectrum, Alexis Pajitnov, Mirrorsoft 1987
[Secret Level 2006] America’s Army Rise of a soldier, Microsoft Xbox, Secret Level,
Ubisoft, 2006
[Taito 1978] Space Invader, version arcade, Taito, 1978
[Team Ninja 2004] Ninja gaiden, Microsoft Xbox, Team Ninja, Tecmo, 2004
[Tekneo 2012] SGCogR, PC, consortium Tekneo, Seaside Agency, Cnam, Neo Factory,
Spirops, Inserm, 2012
[The Education Arcade] Supercharged, PC, The Education Arcade, 2003
[TSR 1974] Dungeons and Dragons, jeu de rôle papier, TSR, 1974
[U.S.Army 2002] America’s Army, PC, U.S. Army
[Valve 1998] Half-life, PC, Valve, Sierra, 1998
[Valve 2000] Counter Strike, PC, Valve, Sierra, 2000
[Turtle Rock Studios 2008] Left 4 Dead, PC, Turtle Rock Studios, Valve, 2008
[Williams 1980] Defender, Atari 2600, Williams inc., 1980
[Zynga 2009] Farmville, PC en ligne sur Facebook, Zynga, 2009 231 232
Annexes 233
Annexe 1 Contexte général du projet Jeu Serai
Nous citons ici quelques éléments du dossier de présentation que nous avons réalisé pour la
DGCIS35 en 2009 [Consortium 2009]. Ce serious game est réalisé par un consortium
composé du CNAM (CEDRIC et INETOP), de l’association ARCNAM Poitou-Charentes, de
l’université Paris Ouest, des sociétés Wizarbox et Seaside Agency.
JEU SERAI a été présenté à l’appel à projet serious game de la DGCIS en 2009. Lauréat de
ce concours, le projet a pu démarrer en Janvier 2010. Le prototype a aussi obtenu le prix
Game For Change aux eVirtuose awards 2011 décerné par un jury de chercheurs et de
professionnels du domaine des jeux à impact social.
Ce projet répond à un besoin croisant lié à l’orientation ou la réorientation professionnelle.
Deux entités sont particulièrement touchées par la problématique de l’orientation
professionnelle. L’ARCNAM Poitou-Charentes qui reçoit chaque année, en entretien conseil
préalable à une entrée en formation ou en VAE, plus de 1200 personnes, actifs salariés,
demandeurs d’emploi jeunes ou adultes et particuliers d’origines sociales (milieu, activité,…)
et géographiques (rural, urbain) diverses. Leur engagement sur une formation au CNAM
suppose au préalable que leur projet personnel et professionnel soit formulé à défaut d’être
finalisé. D’autre part l’Université de paris Ouest dont les publics étudiants sont significatifs
d’une population en formation initiale : plus de 30 000 étudiants inscrits. Pour éviter les taux
important de désinscription (40% des premières années) et s’adresser à des publics importants
il leur semble nécessaire de disposer d’outils d’aide à l’orientation efficaces et attractifs. La
situation de paris Ouest n’est en aucun cas exceptionnelle et la plupart des universités
françaises ont identifié les mêmes besoins et les mêmes manques.
Dans ce contexte la question de l’orientation active et de l’accompagnement des parcours
professionnels est un enjeu de premier ordre pour l’ensemble des acteurs : individu,
prescripteurs, centre de formation, centre de bilans, service RH des entreprises, pouvoirs
publics…
JEU SERAI se propose de faciliter le processus d’orientation et le travail du conseiller en
fournissant grâce à des informations prélevées en situation de jeu une évaluation de certaines
caractéristiques de la personne utiles pour mieux gérer son orientation. Il s’agit d’une forme 234
de médiation à distance qui ne remplace pas l’action du conseiller mais la facilite. Nous
faisons également l’hypothèse que la forme ludique de l’outil encouragera certains publics
traditionnellement à l’écart des services et démarches d’orientation à mieux s’y engager et
limitera les abandons en cours de processus, du fait de l’engagement du joueur dans le jeu
proposé.
En termes d’usage, les effets attendus concernent donc la sécurisation du processus
d’orientation en améliorant son efficacité (processus plus valide, plus rapide, engagement plus
actif de la personne, moins d’abandons ou de choix prématurés ou non pertinents) et son
extension (l’aspect ludique amenant plus de personnes à s’y engager, y compris celles que les
formes plus classiques sur support papier rebutent et qui sont trop fréquemment éloignés des
services d’orientation).
Cinq entités aux rôles complémentaires ont collaboré à la réalisation de JEU SERAI.
• Wizarbox, société de développement de jeu vidéo, a piloté la production et
fourni les ressources en programmation et graphisme.
• Seaside Agency, société de game design, assure la conception et le game
design tout au long de la production.
• Le CNAM, au travers de l’INETOP36 et de l’ENJMIN37 : l’INETOP apporte
son expertise en orientation professionnelle et l’ENJMIN son expertise dans le
domaine du jeu vidéo.
• Université Paris Ouest Nanterre La Défense fournit de l’expertise en
orientation professionnelle et psychométrie pour la mise en place des tests
d’évaluation.
• L’ARCNAM38 Poitou-Charentes permet de réaliser des tests sur le public
adulte.
Originellement la réalisation du prototype et les tests d’évaluation devaient durer deux ans, de
décembre 2009 à décembre 2011. Les tests ont cependant demandé plus de temps que prévu
et ont repoussé de trois mois la fin du projet.
Les partenaires ont souhaité établir un comité scientifique composé de personnes extérieures
au consortium, expertes dans les domaines traités, et à qui l’avancée des travaux est présentée
afin de recueillir leurs impressions. La périodicité des réunions de ce comité est fixée à six
mois. Il est composé des personnes suivantes : Jean-Marc Labat (Université Pierre et Marie 235
Curie, Pédagogie par le jeu/Serious Game) ; Benoit Schyns (Forem Belgique, équivalent de
l’AFPA) ; Todd Lubart (Université Paris Descartes, Professeur de Psychologie Différentielle).
Tout au long du projet, des réunions de travail ont été régulièrement organisées entre Seaside
Agency, le Cnam Inetop et l’Université Paris Ouest Nanterre la Défense. Ces réunions de
travail ont notamment permis de cibler les modèles d’orientations à mettre en scène dans
l’application ainsi que les mesures à réaliser. Choix technologiques et chaîne de production
Le moteur a été développé sous
Unity, middleware dédié à la
création de jeux vidéo. Le choix de
cette technologie a été dicté par sa
capacité de portage facilité entre les
différents supports que vise JEU
SERAI : être disponible en ligne
via navigateur sur PC, mais aussi
jouable sur téléphone mobiles et sur tablettes tactiles. Unity intègre des composants
préconfigurés (physique…) et son interface d’intégration des objets et de scripts est très
accessible.
La production graphique a été réalisée sur 3DS max, les textures sur Photoshop, et les objets
ont été directement importés et placés dans les scènes sous Unity.
Aucun outil spécifique n’a été développé, mais plusieurs modules complémentaires ont été
ajoutés à Unity (pathfinding, outils de dialogue, outil de création d’avatar…).
Environnement de travail sous Unity 236
Annexe 2 Fiche de conception de mini-jeu
Titre
Déclencheur
• Comment/où se déclenche le jeu
Intention
• Quelle activité est simulée
Caméra et contexte
• Type de vue, métaphore générale
Gameplay
• Objectif
• Règles de fonctionnement
• Valeurs par défaut des paramètres
Ecran de fin
• Comment les résultats sont communiqués au joueur
Critère d’implication du joueur
• Comment le joueur peut savoir s’il est performant ?
Variables importantes pour le réglage du gameplay
• Doivent pouvoir se retrouver dans le code
Principaux éléments à produire
• Graphique, sonore…
Ecran de jeu esquissé 237
Annexe 3 – Découpage des éléments constitutifs d’un
gameplay
Aide à l’évaluation du rapport entre contenu gameplay et dimension psychologique 238
Annexe 4 – Profils des participants aux tests d’évaluation
Profils des participants de l’UPOND39 :
Formation suivie Effectifs Pourcentage % valide
Non précisé 42 40,78 40,78
BAC ES, Deug arts plastiques, BTS communication visuelle 1 0,97 0,97
Bi-licence économie et gestion-anglais à PARIS X. 1 0,97 0,97
BPJEPS escrime 1 0,97 0,97
BTS communication + 2 ans de Licence de Psychologie 1 0,97 0,97
BTS ROC (REALISATION D'OUVRAGE CHAUDRONNEE) 1 0,97 0,97
carrieres sanitaires et sociales 1 0,97 0,97
Controle de gestion 1 0,97 0,97
Droit 6 5,83 5,83
DU éducation et enseignement 1 0,97 0,97
DUT Chimie 1 0,97 0,97
DUT GEA 1 0,97 0,97
Ecole d'éducateur spécialisé 1 0,97 0,97
Ecole de commerce 1 0,97 0,97
ESC 1 0,97 0,97
Humanités & Arts du spectacle 1 0,97 0,97
L1 SEGMI 1 0,97 0,97
L3 Ethnologie 1 0,97 0,97
LCE 1 0,97 0,97
licence (non précisée) 2 1,94 1,94
Licence Art du Spectacle - Cinema / Master Cinema 1 0,97 0,97
Licence d'art /archéologie à Paris I Panthéon-Sorbonne 1 0,97 0,97
Licence d'Histoire 1 0,97 0,97
Valide
Licence d'histoire sociologie 1 0,97 0,97 239
Formation suivie Effectifs Pourcentage % valide
Licence droit economie gestion 1 0,97 0,97
licence droit français / droit allemand 1 0,97 0,97
Licence Histoire de l'art et archéologie 1 0,97 0,97
Humanité 5 4,85 4,85
Licence LCE Anglais 1 0,97 0,97
Licence MIAGE 1 0,97 0,97
licence science de l'éducation 1 0,97 0,97
LLCE Espagnol 1 0,97 0,97
Master 1 Droit privé et sciences criminelles, mention
professions judiciaires
1 0,97
0,97
Master 1 Information et Communication, option DEFI 1 0,97 0,97
Master enseignement 1 0,97 0,97
master information et communication 1 0,97 0,97
Master Linguistique Générale Appliquée 1 0,97 0,97
master staps 1 0,97 0,97
Psychologie 9 8,74 8,74
Science du Langage 1 0,97 0,97
Sociologie 1 0,97 0,97
STAPS 1 0,97 0,97
Cinéma audiovisuel 1 0,97 0,97
Master ergonomie 1 0,97 0,97
Total 103 100,00 100,00
Sexe
Effectifs Pourcentage
Pourcentage
valide
Pourcentage
cumulé
14 13,6 13,6 13,6
F 58 56,3 56,3 69,9
Valide
M 31 30,1 30,1 100,0 240
Total 103 100,0 100,0
Statistiques descriptives
N Minimum Maximum Moyenne Ecart type
Age 85 17 36 21,11 2,928
N valide
(listwise)
85
241
Profils des participants de l’ARCNAM :
ident date Sexe Age Diplôme /
Niveau d'étude Secteur D'activité
Situation :
A en activité,
F en formation, DE
Demandeur
d'emploi
Avez-vous déjà
passé un test
d'orientation
JEUSERAI1 02/12/2011 F 39 BAC+2 SOCIAL DE oui
JEUSERAI6 02/12/2011 F 52 BAC SECRETAIRE DE non
JEUSERAI8 07/12/2011 F 24 BAC COMMERCE DE oui HOLLAND
JEUSERAI9 07/12/2011 M 36 BAC+4 INGENIEUR INDUSTRIE A OUI MBI
JEUSERAI10 07/12/2011 M 29 LICENCE SOCIAL DE OUI IRMR
JEUSERAI11 07/12/2011 F 24 MASTER COMMUNICATION A non
JEUSERAI12 07/12/2011 F 32 LICENCE SOCIAL A OUI IRMR
JEUSERAI13 07/12/2011 F 31 DESS SOCIAL A IRMR
JEUSERAI14 07/12/2011 F 29 BAC+4 TOURISME DE non
JEUSERAI15 07/12/2011 M 35 BAC+4 INFORMATIQUE A non
JEUSERAI15 07/12/2011 M 56 MASTER Fonctionnaire A non
JEUSERAI16 07/12/2011 F 33 LICENCE FORMATRICE INSERTION A Oui
JEUSERAI17 07/12/2011 F 27 BAC+2 TOURISME A OUI
JEUSERAI18 07/12/2011 F 41 LICENCE SOCIAL A non
JEUSERAI19 07/12/2011 F 41 BAC COMPTABILITE DE non
JEUSERAI20 07/12/2011 M 53 DEFA SOCIAL A non
JEUSERAI21 07/12/2011 M 30 BEP OPTICIEN DE non
JEUSERAI21 07/12/2011 F 39 BAC ADMINISTRATIF A non
JEUSERAI22 07/12/2011 F 52 BAC COMMERCE DE non
JEUSERAI23 07/12/2011 F 28 BAC+5 CULTURE/PATRIMOINE DE OUI
JEUSERAI24 07/12/2011 F 38 BP PEINTRE DE non
JEUSERAI25 07/12/2011 F 50 BAC COMPTABILITE DE non
JEUSERAI26 08/12/2011 M 62 BAC+5 LANGUES ETRANGERES A OUI
JEUSERAI27 08/12/2011 F 44 BAC+2 COMPTABILITE DE non
JEUSERAI28 08/12/2011 M 33 BAC+2 TECHNIQUE A non
JEUSERAI30 08/12/2011 F 42 BAC SECRETAIRE DE non 242
ident date Sexe Age Diplôme /
Niveau d'étude Secteur D'activité
Situation :
A en activité,
F en formation, DE
Demandeur
d'emploi
Avez-vous déjà
passé un test
d'orientation
JEUSERAI31 08/12/2011 F 22 INGENIEUR PRODUCTIQUE F non
JEUSERAI32 08/12/2011 F 32 BAC+5 INSERTION A OUI
JEUSERAI33 08/12/2011 F 32 BAC+4 INSERTION A non
JEUSERAI34 08/12/2011 M 40 BTS INFORMATIQUE A non
JEUSERAI35 08/12/2011 F 47 BAC+5 MULTIMEDIA A non
JEUSERAI36 08/12/2011 F 44 BAC+5 MULTIMEDIA A non
JEUSERAI37 08/12/2011 F 30 DUT GEA COMPTABILITE A non
JEUSERAI38 08/12/2011 F 44 BAC+3 FORMATRICE DE OUI
JEUSERAI39 08/12/2011 F 56 BAC+4 COMMUNICATION A OUI
JEUSERAI40 08/12/2011 F 31 MASTER ENSEIGNEMENT F OUI
JEUSERAI42 13/12/2011 F 24 BP ESTHETIQUE A non
Sexe Age Situation Niveau d'étude
28 femmes 10 / 37 - 30 ans et moins 14/37 - Demandeur d'emploi 10/37 - niveau BAC et moins
9 hommes 12 / 37 - 40 ans et moins 2/37 - en Formation 10/37 - niveau BAC+2
7 /37 - 50 ans et moins 21/37 - en Activité 17/37 - BAC+3 et plus
8/37 + de 51 ans
Analyse profil
Sur 37
participants
moyenne d'age : 38 ans 243 244 245
Emmanuel Guardiola
Méthode de game design pour la création
d’un profil psychologique du joueur
Résumé
Générer du gameplay est un incontournable objectif de la réalisation d’un jeu. Nous le recherchons lorsque
nous nous rentrons dans la bulle ludique. Pourtant, les éléments produits par les game designer sont des
systèmes de jeu, des règles, une simulation, etc. Pour que ce système permette la naissance du gameplay, les
game designers doivent nécessairement tenter de modéliser le joueur. Empiriquement ils manipulent des
modèles psychologiques et sociologiques du joueur : Courbe d’apprentissage, gestion de la difficulté, degré
d’efficience (etc.). Au cœur de la session de jeu industriel et chercheur ont besoin de moyens pour mieux
cerner le joueur.
La question que nous nous posons est celle de la détection des traits psychologiques, d’éléments caractérisant
du joueur, au travers du gameplay ou, pour le moins, engagé dans une expérience ludique. Nous proposons
une méthode de game design dédiée à la création d’un profil psychologique du joueur. Nous avons pu
l’expérimenter lors d’un travail de collaboration avec INETOP et Paris Ouest sur la question des tests
d’orientation professionnelle. Il s’agit du serious game JEU SERAI, développé en partenariat avec l’industriel
Wizarbox. Cette première expérimentation nous permet d’envisager un développement de ce champ de
recherche à la croisée des sciences de l’informatique, de la psychologie et des sciences cognitives.
Mot clef : modèle du joueur, profil du joueur, game design, gameplay, test d’orientation professionnelle,
modèle de Holland
Résumé en anglais
Abstract: Can we track psychological player’s traits or profile through gameplay or, at least, when the player is
engaged in a ludic experience? We propose a game design methodology dedicated to the generation of
psychological profile of the player. The main experimentation, a vocational guidance game, was created with
academic experts and industrial game developpers. The first results set the basis of the exploration of a field at
the crossover of computer sciences, in particular game design, psychology and cognitive sciences..
Keywords: Game design – player profiling – player model - psychological profile – vocational guidance –
Holland model
Modéle et exp´eriences pour la visite des mus´ees en
r´ealit´e augment´ee sonore.
Fatima-Zahra Azough
To cite this version:
Fatima-Zahra Azough. Mod`ele et exp´eriences pour la visite des mus´ees en r´ealit´e augment´ee
sonore.. Signal and Image Processing. Conservatoire national des arts et metiers - CNAM,
2014. French. .
HAL Id: tel-01087127
https://tel.archives-ouvertes.fr/tel-01087127
Submitted on 25 Nov 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.École Doctorale
Informatique, Télécommunications et Électronique de Paris
Laboratoire Cedric, Equipe ILJ
THÈSE DE DOCTORAT
présentée par : Fatima Zahra KAGHAT
soutenue le : 16 Mai 2014
pour obtenir le grade de : Docteur du Conservatoire National des Arts et Métiers
Discipline/ Spécialité : Informatique
Modèle et expériences pour la visite de
musées en réalité augmentée sonore
THÈSE dirigée par :
M CUBAUD Pierre Professeur des universités, Cnam Paris
RAPPORTEURS :
M LEMORDANT Jacques HDR, INRIA Rhône-Alpes
M ZREIK Khaldoun Professeur des universités, Université Paris 8
EXAMINATEURS :
M BOISSARIE Xavier CEO, Orbe
M GRESSIER Eric Professeur des universités, CNAM Paris
M NATKIN Stéphane Professeur des universités, CNAM Parisi
Remerciements
Cette thèse doit beaucoup aux nombreuses personnes qui m’ont encouragé, soutenu
et conforté au long de toutes ces années. Qu’elles trouvent dans ce travail l’expression
de mes plus sincères remerciements.
Je souhaite tout d’abord remercier Pierre Cubaud pour avoir proposé, accepté et encadré
cette thèse. J’aimerai le remercier pour la confiance qu’il m’a accordée du début à
la fin du travail, pour sa disponibilité, sans oublier son soutien scientifique et psychologique
qui m’a aidé à remonter le pont dans plusieurs reprises. Je n’oublie pas enfin son
aide précieuse dans la relecture et la correction de ma thèse. La justesse de ses critiques
a été très constructive et utile. Sincèrement, j’ai beaucoup appris à ses côtés et je suis
chanceuse d’avoir eu l’occasion de travailler sous sa supervision.
Je tiens à remercier également tous les membres de mon jury Jacques Lemordant et
Khaldoun Zreik d’avoir accepté de rapporter ma thèse et de l’intérêt qu’ils ont manifesté
à mon travail. Ainsi que Stephane Natkin, Eric Gressier et Xavier Boissarie pour
avoir honoré ma soutenance par leur participations à mon jury en tant qu’examinateurs.
Heureusement que mes parents, ma famille et mes amis ont tous étaient là. Ils ont
tous cru en moi et maintenant, j’y suis ! Je dois beaucoup à mes parents Najia Berrada
et Noureddine Kaghat qui m’ont donné un amour et une confiance indicibles. Ils m’ont
éduqué sur l’amour du savoir et le goût de la lecture et de la recherche.
Je ne remercierai jamais assez mon époux Ahmed Azough, qui m’avait promis dès
le début de notre union un soutien sans faille pour réussir une thèse de doctorat. Je lui
dis qu’il a parfaitement tenu sa promesse. Je le remercie pour son soutien au quotidien,
sa présence, sa patience, sa compréhension, sa confiance et sa capacité à me faciliter la
vie durant ces années de thèse.
Je n’oublierai pas non plus le soutien de mes beaux-parents Hayat Hamidi et Ibrahim
Azough qui m’ont toujours offert affection et compréhension, mais aussi mon frère
Redouane, mes surs Asmae et Firdaous, mes beaux-frères et belles-surs et mes amis.
Je suis également reconnaissante à tous ceux qui m’ont aidé pendant l’évaluation
de mes travaux : Zacharia Agedach, Cécile Leprado, Christophe Pietry, Stephane Rodovski,
ainsi que le personnel du Musée des Arts et Métiers. Sans oublier mes amis du
laboratoire Cedric avec qui j’ai passé des agréables moments qui resteront inoubliables :
Amélie Lambert, Sourour Layouni, Daniel Enselme, Sami Tak Tak, Viviane Gal, Aréti
Damala, Guillaume Levieux et toute l’équipe ILJ.
J’en oublie certainement d’autres et je m’en excuse. Encore un grand merci à tous
pour m’avoir conduit à ce jour mémorable.
Enfin, à mon petit Yacine qui m’a posé une sérieuse date limite, je lui dédie cette
thèse.ii
Résumé
Cette thèse consiste à explorer l’usage de la réalité augmenté sonore pour la visite de musées.
Notre objectif est de proposer un audioguide permettant d’immerger le visiteur dans une
scène sonore constituée de sons ambiants et de commentaires associés aux objets exposés, et
de minimiser ses efforts pour découvrir ces objets et interagir avec cet environnement sonore.
La première contribution de cette thèse concerne la mise en place d’une preuve de concept de
SARIM (Sound Augmented Reality Interface for visiting Museum). Cette preuve de concept
a été développée en utilisant des capteurs de position et d’orientation filaire et non filaire. La
deuxième contribution concerne la modélisation de la visite augmentée par la dimension sonore.
Après une étude des modèles existants, l’objectif est de concevoir un modèle comprenant
une représentation du visiteur, du paysage sonore et de la navigation et offrant une grande flexibilité
pour créer l’environnement sonore. Ce modèle a comme finalité de faciliter la conception
de différents types de scénarios de visite sur la base de la notion de zone d’audibilité. La troisième
contribution de cette thèse est le travail d’évaluation mené dans un environnement réel
qu’est le musée des arts et métiers de Paris, et qui a permis de confirmer l’utilisabilité, ainsi que
l’apport didactique et ludique que procure la réalité augmentée sonore en général et le système
SARIM en particulier pour prolonger et enrichir la visite de musées.
Mots clés : Réalité augmentée, visite musée, captation de mouvement, personnalisation,
modélisation, spatialisation sonore, audioguide
Abstract
The goal of this thesis is to explore the use of sound to increase the museum visits. We aim to
provide an audioguide to immerse the visitor in a soundstage consisting of ambient sounds and
comments associated with the exhibits, and minimize its efforts to discover these objects and
interact with the sound environment. The first contribution of this thesis is the implementation
of a proof of concept of SARIM (Sound Augmented Reality Interface for visiting Museum). This
proof of concept was developed using position sensors and guidance wired and wirelessly. The
second contribution concerns the modeling of the augmented visit by the sound dimension. After
a review of existing models, the objective is to design a model that includes a representation
of the visitor, the soundscape and navigation, offering the flexibility to create the sound environment.
This model has the purpose of facilitating the design of different types of scenarios
based on the concept of audibility area. The Third contribution of this thesis is the evaluation
conducted in a real enrironnement what the Museum of Arts and Crafts in Paris, which confirmed
the usability, as well as providing educational and ludic apport of the audio augmented
reality in general and the SARIM in particular to extend and enrich the museum visits.
Keywords : Augmented reality, museum visit, motion tracking, context aware, adaptive
sytem, user modeling, sound spatialization, audioguideTable des matières
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
1 Introduction 1
1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Chronologie des travaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Organisation de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 État de l’art 7
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 La réalité augmentée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Le son, un outil d’augmentation de la réalité . . . . . . . . . . . . . . . . 11
2.4 La spatialisation sonore pour la réalité augmentée . . . . . . . . . . . . . 17
2.5 Cas d’étude : la visite et la médiation dans les lieux culturels . . . . . . . 22
2.6 La visite augmentée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3 Dispositif du visiteur 41
3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 Expérimentations initiales . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3 Captation de mouvement . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4 Dispositif expérimental final . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4 Modélisation de la visite augmentée 59
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2 Scénarios de visite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Personnalisation du contenu . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.4 Description du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.5 Scène sonore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68iv TABLE DES MATIÈRES
4.6 Visiteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.7 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.8 Exemple développé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.9 Extension du modèle pour les visiteurs malvoyants . . . . . . . . . . . . 99
4.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5 Evaluation de la visite augmentée 105
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.2 Évaluation des dispositifs de réalité augmentée . . . . . . . . . . . . . . . 106
5.3 Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.4 Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6 Conclusion et travaux futurs 143
6.1 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
A Annexe 153
A.1 Calcul de l’orientation avec Sparkfun IMU-6DOF-V4 . . . . . . . . . . . 153
A.2 Consignes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
A.3 Formulaire de recrutement . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
A.4 Questionnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Bibliographie 1851
Introduction
1.1 Contexte
La réalité augmentée permet de mélanger les objets réels et virtuels en utilisant les
dispositifs d’interaction 3D de la réalité virtuelle dans un espace réel. La réalité augmentée
dans sa dimension visuelle a été depuis longtemps la plus explorée pour amé-
liorer la perception. Bien qu’elle ait permis, en l’appliquant à différents domaines, d’enrichir
l’environnement visuel de l’utilisateur, elle a cependant le défaut de contraindre
ce dernier à regarder constamment un écran mobile qui va superposer des éléments fictifs
sur l’environnement observé, et ainsi restreindre le champs de vue de l’utilisateur.
Ce travail a pour objectif d’explorer la réalité augmentée, non pas dans sa dimension
visuelle, mais auditive, en ajoutant numériquement des sons virtuels à l’espace physique.
Par ce procédé, nous faisons profiter l’utilisateur des informations sonores qui
accompagnent les objets présentés tout en assurant une interaction fluide entre l’utilisateur
et les informations associées aux objets. Une interaction qui a comme objectif de
diminuer au maximum la quantité d’attention demandée à l’utilisateur pour interagir
avec son environnement.
Dans cette thèse, nous décrivons SARIM, un système de réalité augmentée sonore
appliqué à la visite du musée des arts et métiers de Paris (MAM) 1
. Le MAM a la particularité
d’abriter de nombreuses machines mécaniques, électriques, musicales et autre,
qui en cas de marche produisent des sons qui contribuent pleinement à créer leurs identité.
Malheureusement, de nombreuses contraintes empêchent la mise en marche de ces
1. http ://www.arts-et-metiers.net/2 Chapitre 1. Introduction
machines au sein du musée, ce qui prive les visiteurs d’informations pertinentes sur
leur fonctionnement. L’incorporation des sons et des bruits de fonctionnement des machines
participera à transformer le musée en une usine en marche, d’éveiller la curiosité
des visiteurs et ainsi de les faire voyager dans le temps.
L’objectif de ce travail est de proposer, aux visiteurs des musées, une visite à la fois
agréable et instructive, en augmentant les œuvres du musée par des sons virtuels. Bien
qu’il n’est pas destiné à se restreindre au seul domaine applicatif des musées, SARIM
s’inscrit dans la continuité des systèmes de réalité augmentée sonore appliquées à la visite
de musée, tels que ec(h)o [Wakkary07, Hatala04], Listen [Zimmermann08, Eckel01a,
Eckel01b, Delerue02, GoBmann02], et Sound Delta [Mariette09]. SARIM a été conçu et
développé avec le souci de minimiser au maximum le degré d’attention requise de la
part de l’utilisateur pour interagir avec son environnement, tout en lui procurant des
moyens intuitives d’interaction avec ce dernier. En effet, à la différence des audioguides
usuels pour la visite des musée, SARIM ne propose pas de dispositifs manuels pour sé-
lectionner et contrôler le paysage sonore. SARIM assure toutefois une interaction fluide
et continue en se basant sur la captation de la position et de l’orientation du visiteur.
En plus de transmettre au visiteur le contenu audio compatible à son emplacement et
son orientation au sein de l’espace sonore, SARIM permet également de détecter essentiellement
les gestes des utilisateurs, qui une fois interprétés permettent de contrôler la
scène sonore. L’autre objectif du travail est de concevoir un système, sensible aux inté-
rêts des visiteurs, capable de les capter au cours de la visite, et pouvant adapter la scène
sonore en temps réel pour s’accorder au mieux avec les préférences des visiteurs. Sur
le plan architectural, le modèle du système SARIM est conçu d’une manière modulaire
qui décompose le système en différente parties disjointes. Chaque partie, est elle même
structurée en plusieurs couches. Ceci permet une gestion indépendante des différentes
parties, et facilite la paramétrisation du système.
La problématique de ce travail est donc dans la croisée de plusieurs domaines : la
réalité augmentée, le son et la spatialisation sonore, l’IHM, la géolocalisation, ainsi que
la médiation culturelle (figure3.2).
1.2 Chronologie des travaux
Notre travail a été mené dans plusieurs directions et a été organisé d’une manière
itérative (figure 1.2). En effet, chaque axe est développé selon plusieurs dimensions
analytique, théorique, pratique et expérimentale.
Le premier axe du travail était la problématique de la captation du mouvement.
Nous avons commencé dès le début de l’année 2009 par étudier un module de captation
de mouvement filaire, puis nous avons développé un modèle de captation de
mouvement basé sur ce module. Ensuite nous avons opté, dès le deuxième semestre
2009, pour les micro-capteurs sans fils de type MEMS (chapitre 3). Nous avons conçuSection 1.2. Chronologie des travaux 3
FIGURE 1.1 – Disciplines concernées par ce travail
en premier lieu un modèle de captation de mouvement utilisant les mesures magné-
tiques d’un capteur inertiel, puis nous avons conçu et développé des algorithmes de
détection de mouvement permettant de combiner les mesures magnétiques et gyroscopiques.
Les différents développements des solutions de captation de mouvement ont
tous été suivis de phases d’expérimentations.
L’axe de l’édition de la scène sonore a pris une part importante dans le travail de
thèse, pour ainsi permettre au concepteur de scène sonore de la visualiser et de la
contrôler via une interface de rendu visuel 2D ou 3D. Afin d’avoir un retour visuel,
nous avons commencé à développer, à partir de 2010, plusieurs versions d’interfaces
de visualisation de la scènes sonore, comprenant une interface d’édition et une interface
de démonstration. Nous avons également développé une interface de suivi de la
navigation du visiteur lors de sa visite au musée. Cette interface à été utilisée dans la
phase d’expérimentation qui a été réalisée à partir du deuxième semestre 2012. Un travail
d’étude et de conception a été ensuite entrepris avec le but de concevoir une interface
homme-machine pour l’édition des scènes sonores adaptées à la visite augmentée
de musées basé sur notre modèle de visite.
En parallèle, l’axe de la modélisation de la visite augmentée était étudié. Cet axe,
développé courant 2011, a permis, après une étude des modèles existants, de concevoir
un modèle comprenant une représentation du visiteur, du paysage sonore et de la na-4 Chapitre 1. Introduction
vigation du visiteur dans le paysage sonore, suivant plusieurs niveaux d’abstraction.
Le développement et l’évaluation d’une partie de ce modèle ont été ensuite réalisés
pendant l’année 2012.
1.3 Organisation de la thèse
Ce mémoire est composé de cinq autres chapitres. Outre ce chapitre d’introduction,
le chapitre suivant décrit un état de l’art (chapitre 2) qui porte sur la notion de réalité
augmentée en se concentrant sur l’augmentation sonore. Nous décrivons ensuite
les principaux systèmes de réalité augmentée sonore conçus pour le domaine de la visite
du musée. Cette partie évoque aussi la problématique de la visite du musée, et les
systèmes de guidage et de médiation.
Le chapitre 3 présente l’idée de base qui a été le fil conducteur de cette thèse : celle
de rajouter numériquement la dimension sonore à la visite de musées. Nous présentons
l’architecture matérielle et logicielle d’un premier prototype, du dispositif du visiteur et
des expérimentations préliminaires que nous avons menées pour examiner la faisabilité
du projet.
Le chapitre 4 concerne la modélisation de la visite augmentée, qui repose sur la modélisation
des différentes entités qui la composent. Dans ce chapitre, nous commençons
par illustrer notre objectif à travers des scénarios types qui ont motivé la modélisation.
Puis nous enchaînons avec la description du modèle lui-même. Nous présentons la
structure du paysage sonore adoptée, composée de trois couches physique, virtuelle et
sémantique. Nous modélisons ensuite le visiteur à travers ses informations d’emplacement
et ses gestes mais également à travers ses préférences et ses intérêts (section
4.6), et finalement nous décrivons le modèle de navigation du visiteur dans le paysage
sonore (section 4.7).
Après avoir proposé une conception du dispositif, des scénarios interactifs, et un
modèle de visite, le chapitre 5 décrit la partie expérimentale de notre travail. Elle a pour
objectif la mise en application du modèle, des scénarios et du dispositif de l’utilisateur
en situation réelle, celle de la visite du MAM. Cette étape d’expérimentation a été nécessaire
pour valider nos hypothèses théoriques, et pour pouvoir mesurer l’acceptabilité
de notre système (SARIM), jusqu’alors peu connu par les visiteurs du musée.
Ce document se termine par une conclusion et un aperçu sur les travaux futurs
(chapitre 6). Nous pouvons citer parmi ces travaux futurs l’outil auteur pour lequel
nous avons commencé la conception. Il permettra de concevoir les scènes sonores et de
tester virtuellement la mise en place de SARIM.Section 1.3. Organisation de la thèse 5
FIGURE 1.2 – Chronologie des travaux de recherche6 Chapitre 1. Introduction
1.4 Publications
Plusieurs parties de cette thèse ont été publiées dans quelques articles scientifiques
dont voici un résumé. D’autres parties sont ne sont néanmoins pas encore publiées.
Année Article
2009
[KlD09] F. Kaghat , C. le Prado , A. Damala , P. Cubaud -
Experimenting with Sound Immersion in an Arts and Crafts Museum,
ICEC 09, 8th Int. Conf. on Entertainment Computing,Paris-France,
September 2009, pp.173-178, Series LNCS 5709.
2010
[KC10] F. Kaghat , P. Cubaud -
Fluid interaction in audio-guided museum visit : Authoring tool and
visitor device, VAST’10, Virtual Reality, Archaeology and Cultural
Heritage, The 8th EUROGRAPHICS Workshop on Graphics and
Cultural Heritage, Full Papers, Paris, France, September 21-24, 2010,
September 2010, September 2010.
2012
[KSC12] F. Kaghat , F. Sailhan , P. Cubaud -
Application de la réalité augmentée sonore pour les visites de musées
par les malvoyants, Handicap 2012, 7ème congrès sur les aides
techniques pour les personnes handicapées., July 2012, pp.50, Paris,
France.2
État de l’art
2.1 Introduction
La réalité augmentée occupe de plus en plus de place dans la visite de lieux culturels.
Elle permet de mélanger les objets réels et virtuels en utilisant les dispositifs d’interaction
3D de la réalité virtuelle dans un espace réel. Elle offre une expérimentation
du monument et une notion de temporalité jusqu’alors imperceptible, sans dénaturer
le lieu. Elle permet ainsi de visiter un même lieu de patrimoine à la fois tel qu’il est
dans son environnement actuel et, par l’intermédiaire de la réalité augmentée, tel qu’il
a été par le passé ou qu’il peut être dans le futur [Durand11]. Cependant, la dimension
visuelle a été depuis longtemps la plus explorée en réalité augmentée pour améliorer
la perception plus que la dimension sonore.
Le son fait partie intégrante de notre perception du monde. Il est en effet très rare de
se trouver dans un environnement dénué de toute stimulation sonore. Lorsqu’un évé-
nement sonore se produit, par exemple en montagne ou dans le désert, une sensation
étrange presque inquiétante est ressentie [Bouvier09]. En règle générale, le son rassure,
on se sent moins seul. Ceci constitue une des raisons qui militent pour que la stimulation
sonore soit présente dans un environnement virtuel. Deuxièmement, ne pas percevoir
de stimulation sonore peut provoquer un effet de manque chez l’utilisateur qui
peut être préjudiciable à l’expérience et donc à l’émergence du sentiment de présence.
Troisièmement, le son fournit des informations qui, croisées avec les autres perceptions
(visuelles notamment) permettent une bonne compréhension de l’environnement.8 Chapitre 2. État de l’art
L’objectif de ce chapitre est d’étudier quelques systèmes de réalité augmentée sonore
existants dans le domaine de la visite de musées. Ce chapitre est divisé en trois
sections principales. La première section aborde la notion de réalité augmentée (Section
1.2), et met l’accent sur la dimension sonore dans l’augmentation de la réalité, une
dimension qui est souvent négligée (Section 1.3), en terminant par la réalité augmentée
sonore utilisant les techniques de la spatialisation sonore pour orienter et immerger les
utilisateurs (Section 1.4). La deuxième section se concentre sur la problématique de la
visite, le guidage et les systèmes d’aide à la visite ou audioguides, tout en évoquant
la problématique de la géolocalisation dans la visite du musée et la personnalisation
des contenus. Nous soulignons également dans cette section le manque constaté dans
le développement des outils auteurs pour la visite des musées (Section 1.5). La dernière
section s’intéresse elle à la croisée des deux sections précédentes ; celle d’étudier
les expériences existantes qui visent à augmenter la visite de musées par la dimension
visuelle et sonore (Section 1.6).
2.2 La réalité augmentée
La naissance de la réalité augmentée se situerait au milieu des années 1960, avant
même que les termes de réalité virtuelle (RV) ou augmentée (RA) aient été envisagés.
Elle est survenue au moment où Sutherland [Sutherland68] inventa le premier casque
qui combinait la vue de la réalité et une image de synthèse. L’affichage était effectué
par des tubes cathodiques miniatures et le suivi des mouvements de la tête de l’utilisateur
était assuré par un bras mécanique lié au casque. Un intérêt soudain pour la réalité
augmentée s’est révélé. Ainsi, la réalité augmentée est rendue possible par un système
capable de faire coexister spatialement et temporellement un monde virtuel avec l’environnement
réel. Cette coexistence a pour objectif l’enrichissement de la perception
qu’a l’utilisateur de son environnement réel par des augmentations visuelles, sonores
ou haptiques [Mallem08].
Quelques définitions
Trouver une définition précise et consensuelle de la RA n’est pas une tâche facile.
Cela dépend de la provenance des chercheurs qui la définissent et de l’angle d’étude de
leurs travaux. En effet la notion de RA couvre plusieurs définitions traduisant différents
courants de recherche menés en parallèle dès les années 90.
Wendy Mackay [Mackay93] définit la RA comme une manière de réintégrer "l information
électronique dans le monde physique". Il s’agit de "permettre aux gens de tirer parti de
leurs compétences dans l interaction avec le monde de tous les jours, tout en pro tant de la puissance
des réseaux informatiques". Cette définition s’appuie résolument sur la conservation
et l’amplification du réel, par exemple, la feuille de papier physique, objet familier, est
augmentée de capacités de traitement de l’information [Mackay93, Mackay96]Section 2.2. La réalité augmentée 9
Pour Azuma [Azuma01] un système de RA complète le monde réel avec des objets
virtuels qui semblent coexister dans le même espace que le monde réel. Un système de
RA a les propriétés suivants :
– Il combine des objets réels et virtuels dans un environnement réel,
– Il fonctionne de manière interactive en temps réel,
– Il fait coïncider des objets réels avec des objets virtuels.
La réalité augmentée est alors un moyen d’augmenter les sens de l’utilisateur, de
transformer des événements imperceptibles en phénomènes visibles audibles ou touchables,
c’est vu comme une symbiose entre l’homme et la machine comme jamais auparavant.
De son côté Milgram [Milgram99, Milgram94b, Milgram94a] définit la RA
comme l’ensemble des cas où un environnement réel est augmenté au moyen d’objets
virtuels.
La réalité virtuelle et la réalité augmentée
Depuis le début des années 1990, l’évolution des technologies de la réalité virtuelle
permet d’immerger complètement l’utilisateur dans un environnement virtuel. Toutefois,
cette immersion ne permet pas à l’utilisateur de percevoir et d’interagir avec son
environnement réel [Mallem08]. La réalité augmentée est donc parfois définie comme
prenant le contre-pied de cette approche immersive, et au lieu d’enfermer les personnes
dans un monde artificiel, se propose d’utiliser l’ordinateur pour simplement augmenter
le monde réel des utilisateurs [Wellner93]. Ainsi, la réalité augmentée permet justement
la perception et l’interaction de l’utilisateur avec les deux environnements. Par
conséquent, la réalité augmentée complète la réalité et n’a pas vocation à la remplacer
complètement [Azuma97] comme dans le cas de la réalité virtuelle.
Afin de clarifier les concepts, Paul Milgram a proposé une unification de ces
concepts en considérant un "continuum réel-virtuel" qui va du monde réel jusqu’aux
environnements entièrement virtuels tels que proposés par la RV [Milgram94a,
Milgram94b, Milgram99]. Ainsi le concept d’environnement de réalité augmentée peut
être placé quelque part le long de ce continuum. Les auteurs définissent ainsi le terme
plus générique de ”réalité mixte”, qui sous-entend différents degrés de fusion des
mondes réels et virtuels. La réalité mixte se décline en deux sous cas : la Réalité Augmentée
(RA) et la Virtualité Augmentée (VA) selon la proposition d’objets réels ou
virtuels (Figure 2.1). Dubois [Dubois01a] a une approche différente car il distingue
la RA et la VA selon deux concepts distincts (Figure 2.2), en considérant l’objet de la
tâche qui est soit réel (interaction homme-monde réel) ou virtuel (interaction homme
machine) :
Le continuum de la Réalité Augmentée : l’interaction se passe dans le monde réel et
elle est augmentée par l’ordinateur.
Le continuum de la Virtualité Augmentée : l’interaction avec l’ordinateur est augmentée
par des objets et des actions dans le monde réel.10 Chapitre 2. État de l’art
FIGURE 2.1 – Le continuum réel-virtuel [Milgram94a]
FIGURE 2.2 – Triangle de la Réalité Augmentée et la Réalité virtuelle [Dubois01b]
Le concept de l’augmentation
Une augmentation consiste en la synthèse par ordinateur d’un élément virtuel destiné
à l’un des sens de l’utilisateur. Ce virtuel peut être visuel, haptique, sonore, voire
olfactif. Par exemple, la réalité augmentée permet la perception d’indices dans l’environnement
que l’utilisateur ne pourrait pas percevoir avec ses propres sens, d’où le
terme augmentation. Cette assistance permet alors à l’utilisateur de réaliser des tâches
complexes qu’il ne pourrait mener à bien autrement [Mallem08].
De son côté Wendy Mackay distingue trois types d’augmentation.
Augmentation de l’utilisateur : grâce au dispositif porté par l’utilisateur généralement
sur la tête ou sur la main.
Augmentation des objets physiques : l’objet physique est modifié en incorporant des
périphériques d’entrée ou de sorties dessus.
Augmentation de l’environnement des utilisateurs et des objets : ni l’utilisateur ni
les objets ne sont directement affectés. A la place, des périphériques indépendants
fournissent et collectent de l’information de l’environnement, en affichant
l’information sur les objets et en capturant l’information sur l’interaction de l’utilisateur
avec ceux-ci.Section 2.3. Le son, un outil d’augmentation de la réalité 11
Thomas Baudel [Baudel95], quant à lui définit ce concept d’augmentation comme
visant à augmenter les propriétés des objets de notre entourage de capacité de traitement
d’informations. En plus de leurs fonctions matérielles, ils acquièrent une fonction
informatique, par leur capacité de réagir non pas aux seuls phénomènes physiques
auxquels ils sont soumis, mais aussi aux informations qu’ils captent sur l’état de leur
entourage (personnes, environnements, autres objets augmentés...).
Gonot [Gonot08] définit l’augmentation comme étant la superposition d’un modèle
virtuel 3D ou 2D à la perception (visuelle, auditive, etc.) que nous avons naturellement
de la réalité et ceci en temps réel.
Nous avons vu que la définition de la notion de l’augmentation n’est pas fixe et
dépend des auteurs, de leur communauté scientifique et de leurs intentions. En Graphique,
la RA dérive par exemple de vrais pixels d’origine vidéo qui sont fusionnés à
des pixels de synthèse [Azuma97]. En interaction homme-machine, la RA, en réaction
à l’immersion virtuelle, s’appuie résolument sur la conservation et l’amplification du
réel [Chalon04].
Le concept de l’augmentation de la réalité nous paraît encore plus complexe que
l’on peut penser, parce qu’il peut s’agir aussi de diminution de la réalité. En effet, si
les développeurs de réalité augmentée ont pour but de rajouter de l’information aux
objets qui nous entourent. En revanche, les développeurs de la réalité diminuée visent
à éliminer les parties du monde qui nous entoure. Même si la réalité diminuée semble
être le contraire de la réalité augmentée, elle est souvent considérée comme étant un
type de réalité augmentée [Rolim12].
Même si la modalité sensorielle privilégiée par la réalité augmentée est la vision, elle
est applicable aux autres sens de l’utilisateur incluant l’audition, le toucher, et l’odorat
[Azuma01]. Nous nous focalisons dans cette thèse sur l’audition pour augmenter la réalité
en posant les questions suivantes : comment l’audition peut amplifier et augmenter
notre perception ? Qu’entendons-nous pas réalité augmenté sonore ? Quel est l’apport
du son pour la réalité augmentée ? Et quelle technique de restitution sonore peut-on
utiliser pour amplifier la réalité ?
2.3 Le son, un outil d’augmentation de la réalité
Un système de réalité augmentée, comme nous avons vu, permet de mixer le virtuel
et le réel. Il met en correspondance ces derniers en cas de mobilité de l’utilisateur
ou de l’environnement et permet à l’utilisateur d’interagir en temps réel, avec le système.
Le concept de réalité augmentée sonore caractérise les techniques qui permettent
d’étendre le son d’un composant réel par un environnement sonore virtuel et par des
scénarios de communication. La réalité augmentée sonore permet donc d’augmenter
la perception sonore, en associant des objets virtuels (notamment des sons) aux objets
réels. La différence fondamentale entre un environnement audio réel et virtuel, est que12 Chapitre 2. État de l’art
les sons virtuels sont originaires d’un autre environnement où ils sont créés artificiellement.
Ainsi, la réalité augmentée sonore combine ces aspects d’une manière que les
scènes sonores réelles et virtuelles sont mélangées afin que les sons virtuels soient per-
çus comme une extension des sons réels.
Il convient de signaler que les premiers travaux sur l’augmentation audio n’utilisaient
pas le recalage au sens visuel mais plutôt du son localisé dans l’espace. Il s’agissait
de son localisé avec l’utilisateur que celui-ci pouvait déclencher par sa présence à
proximité d’un lieu en utilisant des systèmes de radio fréquences dont les descendants
sont aujourd’hui le RFID [Lyons00]. Néanmoins, des travaux plus récents tendent à
apporter une augmentation audio spatialisée (et donc avec recalage) à l’utilisateur.
Dans un premier temps, nous présentons brièvement les phénomènes physiques
et physiologiques qui interviennent lors de la perception humaine du son. Ensuite
nous allons identifier les multiples apports du son pour la réalité augmentée, en citant
quelques systèmes de RA sonores.
2.3.1 De l’audition à la perception
L’audition avec la vision sont deux sens humains très utilisés pour s’informer. L’audition
est omnidirectionnelle et par là, elle capte tous les sons de l’environnement qu’ils
soient utiles ou non. En contrepartie, elle nous permet de réagir extrêmement efficacement
à tout événement sonore, y compris lorsque l’origine du son n’est pas directement
visible, qu’elle soit derrière nous, ou cachée derrière un obstacle. L’aspect perceptif de
l’audition est un facteur de premier plan dans les applications d’acoustique virtuelle,
puisqu’elles s’adressent en premier lieu à des auditeurs humains. L’oreille est donc un
récepteur exceptionnel qui n’a rien de commun avec les autres récepteurs artificiels
comme les microphones. En combinaison avec notre système auditif, elle nous permet
d’analyser d’une manière fine tant du point de vue fréquentiel que directionnel, les
ondes sonores qui nous atteignent.
Le système auditif : anatomie et physiologie
Pour mieux comprendre le fonctionnement de notre système auditif, jetons un coup
d’œil sur l’anatomie et la physiologie de notre système auditif, afin de comprendre
comment une variation de pression est transformée en impulsion électrique compré-
hensible par le cerveau. Cette transformation se déroule dans les trois régions anatomiques
distinctes qui composent l’oreille : l’oreille externe, l’oreille moyenne et l’oreille
interne. L’organisation globale de l’oreille est visible sur la figure (Figure 2.3). Selon
[Bourdot06], le processus est traité comme suit :
L’oreille externe : l’oreille externe se compose du pavillon et du conduit auditif. Elle
fonctionne comme un résonateur qui permet d’amplifier les vibrations qui sontSection 2.3. Le son, un outil d’augmentation de la réalité 13
comprises entre 1500 et 7000 Hz. La forme du pavillon en entonnoir permet une
captation du son plus efficace puis concentre l’onde en direction du conduit ou canal
auditif. Le pavillon a une configuration particulière faite de bosses et de creux
qui est propre à chaque auditeur. Ces reliefs provoquent de multiples réflexions
et diffractions qui modifient le spectre du son. Ces modifications du spectre sont
exploitées par la suite pour localiser une source sonore. L’onde se propage alors
dans le canal auditif jusqu’à rencontrer le tympan.
L’oreille moyenne : suite à la rencontre entre l’onde sonore et le tympan, celui-ci va
osciller à son tour. Les oscillations du tympan propagent les variations de pression
jusqu’à l’oreille interne par l’intermédiaire de trois osselets : le marteau, l’enclume
et l’étrier. Jusqu’ici les ondes se propagent dans un milieu d’impédance faible, or
dans l’oreille interne se situe l’organe de l’audition appelé cochlée. Celle-ci est un
organe creux rempli d’un liquide dont l’impédance est forte. Le tympan transmet
donc les vibrations aux osselets dont le rôle est de transmettre et d’amplifier les
vibrations sonores afin de contrebalancer l’impédance forte de la cochlée.
L’oreille interne : l’oreille interne est composée de la cochlée et du vestibule. La cochlée
appelée aussi colimaçon, est un tunnel osseux qui est rempli d’un liquide
appelé endolymphe. Elle a la forme d’une spirale tapissée de cils. Ces cils sont mis
en mouvement par les vibrations acoustiques transmises par l’oreille moyenne.
Chaque cil oscille plus particulièrement pour une fréquence donnée puis transmet
une impulsion électrique au cerveau par l’intermédiaire du nerf auditif. La
spécialisation d’un cil pour répondre à une fréquence donnée permet par la suite
au cerveau de distinguer la hauteur des sons.
La perception auditive
Il convient de noter qu’il y a une différence entre ce qu’on entend et ce que notre
cerveau interprète. Pour traiter cette différence, la psycho-acoustique est née afin d’étudier
les sensations auditives chez l’humain. Elle étudie comment les ondes sonores sont
captées par le système auditif et la manière dont elles sont interprétées par le cerveau.
Il existe des méthodes de quantification de la perception du son chez l’être humain,
telle que l’intensité perçue appelée aussi sonie. Elle n’est pas uniquement liée à l’amplitude
de la pression acoustique mesurée mais aussi à la fréquence. D’un autre côté,
la sensibilité en fréquence varie beaucoup suivant les individus, chez l’enfant le seuil
supérieur d’audition se situe autour de 20 kHz. Chez l’adulte, il tombe considérablement
jusqu’au-dessus de 15 kHz. L’oreille est particulièrement sensible aux variations
de fréquence dans une zone précise entre 1 kHz et 3 kHz, ce sont les fréquences rencontrées
dans la voix humaine. Nous rappelons qu’un auditeur moyen peut distinguer
environ 2000 changements de hauteur fréquentielle. Comme deuxième méthode
de quantification de la perception humaine du son, il y a la sensation de "hauteur"
subjective d’un son, appelé aussi tonie, elle évolue en fonction de l’intensité de l’onde
sonore [Bourdot06].14 Chapitre 2. État de l’art
FIGURE 2.3 – Anatomie de l’oreille humaine [Dubois01b]
2.3.2 L’apport de la modalité sonore pour la réalité augmentée
Par rapport à la vision, l’audition possède les caractéristiques suivantes : elle est
omnidirectionnelle, ne peut être suspendue (les oreilles n’ont pas de paupières) et il
est même possible d’entendre dans l’obscurité. Ainsi, le son contribue pleinement à
augmenter notre perception de l’environnement, et ceci est visible à travers le nombre
de domaines qui s’appuient sur la dimension auditive pour augmenter la réalité, que
ç¸a soit pour la communication, la représentation des données, la compréhension, ou
pour favoriser l’immersion, l’émotion ou alors la décoration ou l’effet de surprise. Des
exemples d’utilisation du son dans ces différents domaines sont cités dans ce qui suit.
La communication
Parmi les fonctions du son, nous trouvons la possibilité de communiquer avec des
agents (humains ou non) par la voix. Si ces agents sont des machines, la tâche devient
alors plus ardue car il faut mettre en place un système de synthèse et/ou de reconnaissance
vocale efficace. De plus, si le dialogue est ouvert, une intelligence artificielle
performante est nécessaire. La voix de l’utilisateur peut aussi être utilisée comme outil
d’interaction. C’est-à-dire que l’utilisateur peut communiquer de l’information au
système par l’intermédiaire de sa voix pour indiquer un déplacement par exemple ou
manipuler un objet. A priori ce schéma d’interaction ne permet pas d’assumer les affordances
perçues. Toutefois, dans certaines conditions une interface à commande vo-Section 2.3. Le son, un outil d’augmentation de la réalité 15
cale peut se révéler utile. La voix peut communiquer une information au système par
l’intermédiaire d’un ordre, mais elle peut aussi en communiquer par les intonations
présentes. Si le système est capable de détecter les émotions portées par la voix on peut
alors imaginer adapter l’environnement virtuel ou les événements à celles-ci. Enfin, le
son peut être utilisé comme canal pour communiquer, de façon non parlée, de l’information.
C’est par exemple le cas pour signaler des situations d’urgence. La réalité
augmentée sonore dans cette utilisation a touché plusieurs domaines, notamment le
domaine militaire, la maintenance ou alors des applications de bibliothèques augmentées.
La représentation des données
Le son comme facteur d’augmentation de la réalité peut être considéré comme une
dimension supplémentaire pour représenter des données. Cette fonctionnalité à été testée
dans plusieurs domaines comme l’architecture et la bureautique. Dans le domaine
de l’architecture : l’application Ariel [Mackay98] est destinée à assister des responsables
de chantier qui manipulent des plans d’architecture sur une table à dessin. Les utilisateurs
manipulent une tablette tactile pour capturer les annotations et les commandes
de l’utilisateur et un vidéoprojecteur pour l’affichage sur la table à dessin. L’utilisateur
peut faire des annotations textuelles, audio ou vidéo.
La compréhension et la mémorisation
Le son est très efficace pour indiquer ou décrire un lieu ou une situation, Deux cas
de figure se proposent alors. Soit une perception visuelle est disponible. Il est alors possible
de se contenter de sons approximatifs car l’essentiel des informations servant à la
compréhension de la situation est fourni par l’image. Soit, du fait du caractère omnidirectionnel
de l’audition, l’événement à l’origine du son n’est pas visible, il faut alors
proposer des sons parfaitement identifiables par l’utilisateur [Chueng02]. Le fait d’entendre
un son en plus de l’image favorise aussi la mémorisation de l’objet en question.
La partie sonore fournit des informations supplémentaires qui, combinées ou non avec
les autres informations sensorielles reçues par l’utilisateur permettent une meilleure
compréhension de l’environnement [Burr06].
L’immersion
Lors des visites culturelles, et sans simulation sonore, l’utilisateur risque se ressentir
un manque [Gilkey95] qui est préjudiciable à l’immersion [Bouvier09]. Par ailleurs,
l’immersion dans un environnement sonore évite (avec un bon matériel de rendu) à
l’utilisateur d’entendre les sons inutiles provenant de l’environnement physique. Ceci
permet d’augmenter plus efficacement l’environnement réel avec des éléments virtuels
plus appropriés.16 Chapitre 2. État de l’art
La décoration
D’après Crawford [Crawford03], il est assez fréquent que les concepteurs de jeux
fassent le choix de privilégier la forme (typiquement, le design graphique et éventuellement
sonore) au détriment du fond (i.e. le gameplay). En effet, il semblerait, que les
technologies de réalité virtuelle, telles que les synthèses d’image et de son 3D, soient
employées dans leur usage le plus commun à des fins essentiellement cosmétiques.
Cela n’est pas nécessairement dû à une méconnaissance des capacités expressives et
fonctionnelles de la dimension spatiale du son, mais plutôt aux qualités supposées des
jeux eux-mêmes [Gonot08].
La surprise
Le son possède une forte capacité de suggestion qui laisse une plage de liberté à
l’imagination de l’utilisateur. Par exemple, il est courant que les attentes des auditeurs
associées à une situation particulière soient différentes des sons que l’on aurait pu enregistrer
dans une situation identique réelle. Ceci pointe encore une fois le rôle des
attentes que nous avons déjà mentionné. On peut alors s’intéresser au travail des bruiteurs
qui usent souvent de moyens détournés pour assurer une identification rapide
des sources sonores.
L’aide au déplacement
Le projet européen Autonomie [Lemordant11], vise à faciliter le déplacement de
piétons déficients visuels à l’intérieur et à l’extérieur des bâtiments en milieux urbain.
Pour guider les malvoyants, le projet se base sur l’établissement des cartes à l’intérieur
ou à l’extérieur des bâtiments, et sur une classification des points d’intérêts (POI). En
outre, le guidage des malvoyants est réalisé en utilisant les techniques de localisation de
la personne PDR (Pedestrian DeadReconning) basée sur la centrale inertielle disponible
sur les smart phones (gyroscope, accéléromètre et magnétomètre). Les auteurs du projet
prévoient aussi une synchronisation du système avec des informations de localisation
supplémentaires comme le GPS, des bornes BlueTooth ou une infrastructure de RTLS
(Real time Localisation System).
Le projet développé par Russell Davies, nommé SAP 1
(Situated Audio Platform)
[Davies09], repose sur la même finalité qu’est l’aide au déplacement en se basant sur
les techniques de réalité augmentée sonore. Il vise à utiliser le son pour guider et donner
des indices aux piétons au lieu d’avoir les informations marquées à l’écran. Les
auteurs prévoient également une utilisation particulière pour les non-voyants. Le projet
a pour but de reprendre toutes les application actuelles qui utilisent la boussole et le
1. http ://www.la-realite-augmentee.fr/videos/la-realite-augmentee-sonoreSection 2.4. La spatialisation sonore pour la réalité augmentée 17
GPS (Global Positioning System) du téléphone et d’y ajouter de la voix pour aiguiller
l’utilisateur.
Jusqu’à présent, nous nous sommes contentés d’étudier les applications de la modalité
sonore sans prendre en compte l’aspect spatial de la diffusion. Dans la section
suivante nous étudions la spatialisation sonore en répondant aux questions suivantes :
qu’est-ce que c’est que la spatialisation sonore ? À quoi sert-elle ? Comment peut-elle
contribuer à l’augmentation de la réalité ? Et quelle sont ses domaines d’application ?
2.4 La spatialisation sonore pour la réalité augmentée
La spatialisation du son occupe aujourd’hui une position similaire à celle que l’art
d’orchestration occupait au dix-neuvième siècle. Déployer l’espace ou spatialiser revient
à chorégraphier le son : positionner les sources sonores et animer le mouvement
[Roads07].
Selon les mêmes auteurs, la spatialisation du son possède deux aspects : le virtuel
et le physique. Dans la réalité virtuelle du studio, les compositeurs spatialisent le son
en imposant des retards, des filtres, des panoramisations et de la réverbération, ce qui
conduit à l’illusion du son émergeant d’environnements imaginaires. Dans le monde
physique des salles de concert, les sons peuvent être projetés par un système sonore à
partir de plusieurs positions : autour, au-dessus, en dessous, ou à l’intérieur du public
[Roads07]. Dans cette thèse, c’est plutôt le premier aspect qui nous intéresse en l’occurrence
le virtuel pour créer l’illusion que des sons proviennent de diverses directions de
l’espace et organiser ainsi des scènes sonores en trois dimensions.
Afin d’augmenter la réalité par du son spatialisé, le concepteur sonore ou le musicien
se trouve face à trois choix de conception : soit il opte pour une restitution fidèle de
la scène sonore d’origine d’une manière à ce qu’elle soit identique à la scène réelle, ou
il peut ajouter, en temps réel ou au moment du mixage, des effets artificiels de spatialisation
supplémentaires, par exemple pour donner plus de consistance aux instruments
et voix : réverbération, écho, chorus, etc. Il peut finalement procéder à une restitution
basée sur des sons qui ne sont pas reliés à la scène sonore réelle. La spatialisation résultera
ainsi entièrement des effets artificiels visant à synthétiser pour l’auditeur un espace
sonore virtuel.
2.4.1 Perception spatiale du son
Par perception spatiale d’un son, nous entendons la capacité de déterminer la provenance
d’un son. Cela signifie la perception de sa direction et de la distance qui nous
sépare de la source sonore. Percevoir la direction c’est connaître son azimut (angle dans
le plan horizontal) et son élévation (angle dans le plan vertical). Percevoir la distance
c’est connaître la distance qui nous sépare de la source sonore.18 Chapitre 2. État de l’art
2.4.1.1 Perception de la direction
Contrairement à notre vue doté d’un champs limité, notre audition nous permet
une localisation des sources sonores dans l’ensemble de l’espace. Cette localisation est
rendue possible par des mécanismes complexes de diffraction créée par notre tête et
notre torse ainsi que des résonances dans nos oreilles [Blauert83, Middlebrooks91]. Ces
indices dépendent de la direction d’incidence de l’onde sonore et nous permettent de
localiser les sons d’une manière très précise, en particulier dans le plan. En effet, dans
les conditions optimales, l’angle minimum audible entre deux directions voisines est
d’environ 1 degré. De nombreuses études ont ainsi montré que les deux principaux
indices utilisés pour la localisation auditive sont la différence de temps d’arrivé à nos
deux oreilles (interaural time difference, ITD), liée à leur écartement, ainsi que la diffé-
rence de niveau inter-aurale (interaural level difference ILD), liée à l’ombre acoustique
de la tête [Blauert83, Middlebrooks91, Faller04, Zahorik05].
En pratique, les variations d’ILD et d ’ITD ne sont pas liées à la direction de provenance
du son de manière simple. Elles dépendent également de la fréquence du son
en raison de l’interaction complexe des ondes sonores avec notre corps. Les études
[Loomis98, Middlebrooks91, Brungart99] ont montré que le pavillon de l’oreille joue
un rôle prépondérant dans notre perception spatiale des sons [Blauert83]. Ces effets se
traduisent donc par un filtrage du son émis par les sources suivant la direction d’incidence,
les filtres correspondants étant communément référencés dans la littérature sous
le nom de "Head Related Transfer Functions", ou HRTFs. Dans le cadre d’applications
de réalité virtuelle ou augmentée, les techniques de restitution sonore spatiale visent
donc, d’une manière plus ou moins précise, à reproduire aux oreilles de l’auditeur ces
indices de localisation fréquentiels pour des sources sonores virtuelles.
2.4.1.2 Perception de la distance
La perception de la distance est principalement guidée par deux facteurs : la dé-
croissance de l’amplitude de la pression sonore en fonction de la distance à la source
et l’atténuation des hautes fréquences due à l’absorption atmosphérique [Coleman68,
Loomis98]. D’autres facteurs peuvent venir s’y ajouter, dans le cas d’environnement ré-
verbérant. Un son lointain a donc une intensité plus faible et voit ses hautes fréquences
atténuées. Néanmoins, ces critères, bien que nécessaires, peuvent être insuffisants pour
donner une impression directe de la distance à la source, qui reste très variable suivant
les auditeurs [Middlebrooks91, Zahorik05]. En particulier, dans la plupart des cas, la
distance à la source tend à être sous-estimée, ce qui pourrait se traduire en pratique par
une plus grande marge de manœuvre pour éviter les obstacles potentiels dans notre
environnement [Wuestefeld92, Zahorik05].
Il convient de dire que la localisation d’une source sonore est influencée par d’autres
sens que l’audition [Murat08]. Par exemple, si la source sonore et le stimulus visuelSection 2.4. La spatialisation sonore pour la réalité augmentée 19
correspondant occupent des positions spatiales décalées, alors la source sonore semble
provenir de la position du stimulus visuel. Les stimuli visuels capturent les stimuli sonores.
On parle alors d’effet ventriloque [Alais04]. Les mouvements de la tête affinent la
localisation, l’homme tend L’oreille pour obtenir en quelque sorte une deuxième image
sonore de l’environnement. Les sensations vestibulaires et proprioceptives sont alors
combinées avec les différentes images sonores pour déduire une localisation plus pré-
cise.
2.4.2 L’apport du son spatialisé à la RA
Le son spatialisé ou communément appelé ”le son 3D” peut contribuer à favoriser
l’immersion dans un environnement 3D. Écouter le son localisé dans l’espace ressemble
au mappage de texture qui est utilisée pour améliorer la qualité des images ombrées.
Le son spatialisé offre également une forte capacité à s’orienter dans l’espace. Un calcul
de réverbération fournit des informations sur la nature et le volume de l’endroit où se
trouve l’utilisateur [Pontus07]. Une cathédrale n’a pas la même réverbération qu’une
bibliothèque ou qu’une scène en extérieur. Le son 3D peut également aider l’utilisateur
à estimer la position d’objets sonores dans l’espace tant pour la direction que la distance.
D’un autre côté, le son 3D offre un canal important de rétroaction (feedback) qui
soit peut être utilement redondant pour le cas de la déficience visuelle, et peut aussi
fournir une rétroaction pour les actions et les situations qui sont hors du champ de
vue de l’auditeur. Il s’agit d’une utilisation du son en 3D pour les domaines axées sur
la situation ou le contexte ”situational awarness ou context awarness”. De multiples
sources sonores virtuelles peuvent être synthétisées et peuvent se produire n’importe
où dans l’espace à 360 degrés autour d’un auditeur. Avec un retour audio, le centre de
l’attention entre les sources sonores virtuelles peut être commuté à volonté. Une vision,
en revanche, exige le mouvement des yeux ou la tête. Ceci est important en particulier
pour l’intelligibilité de la parole au sein de multiples canaux de communication. Enfin,
au-delà d’améliorer l’intelligibilité d’une mise en scène sonore complexe, cette spatialisation
virtuelle apporte une composante esthétique intégrée à l’œuvre elle-même.
2.4.3 Exemples de systèmes augmentés par le son spatialisé
L’histoire de la technologie de la spatialisation sonore est illustrée en détail dans la
thèse de Nils Peters [Peters10]. De nos jours, nous la trouvons dans beaucoup d’autres
domaines. Dans la téléconférence par exemple, le son spatialisé peut servir comme outil
de détection et de suivi des interlocuteurs [Fodróczi08]. Les systèmes virtuels de
téléconférence basés sur la spatialisation sonore ont été étudiés par de nombreux auteurs
[Virolainen01, Koizumi92]. Généralement, en téléconférence le positionnement
de chaque locuteur peut être fait librement, typiquement il est basé sur un "environnement
virtuel" prédéfinis [Koizumi92] ou une carte d’une salle de réunion virtuelle
[Kang96]. Le système de vidéoconférence de CAR/PE en est un exemple. Il comporte20 Chapitre 2. État de l’art
les flux vidéos des participants disposés autour d’une table virtuelle [Regenbrecht04],
et permet à trois participants de différents endroits de communiquer au travers d’un
réseau dans un environnement simulant une réunion traditionnelle comme si les participants
étaient assis autour d’une table réelle. Le son spatialisé est véhiculé à travers
des écouteurs stéréophoniques ou par les systèmes de reproduction phonique à huit
canaux.
En jeux vidéo, la spatialisation sonore permet d’enrichir l’information visuelle en
aidant les joueurs à localiser des endroits, des événements et des objets non-visuels,
mais également à estimer la distance des objets visuels. Sodnik [Sodnik05] a exploré
la capacité des utilisateurs à localiser un son virtuel spatialisé dans un environnement
de RA avec différentes configurations spatiales de la scène virtuelle. Afin de réaliser
l’expérimentation, une scène de RA a été créée et observée par un dispositif monté sur
la tête (HMD pour Head Mounted Device). L’utilisateur porte des écouteurs stéréo afin
d’entendre les sons spatialisés. Le logiciel fourni utilise la bibliothèque de la vision par
ordinateur ARToolKit. Thomas Gaudy [Gaudy08], quant à lui propose un jeu sonore
de labyrinthe accessible aux personnes aveugles, avec un système d’apprentissage non
langagier qui permet un démarrage rapide de la partie de jeu.
Childs et al [Childs03] exploitent la spatialisation sonore pour représenter des données
météorologiques, Taylor et al [Taylor07] utilisent le son 3D pour faciliter la compréhension
de la dynamique des fluides. D’autres recherches tentent de remplacer les
graphiques visuels par des graphiques sonores [Nees08]. Une façon classique de procé-
der est de faire correspondre l’axe des ordonnées à des variations de fréquence et l’axe
des abscisses à un décalage temporel.
Spatialisation sonore et géolocalisation
Outre les systèmes de spatialisation sonore où la position de l’utilisateur est manuellement
définie, d’autres travaux de recherche ont combiné les techniques de spatialisation
sonore avec celles de la captation du mouvement de l’utilisateur, permettant
de mettre à jour automatiquement le contenu sonore avec la position et l’orientation de
l’utilisateur à l’intérieur de l’environnement sonore.
Dans le projet Bristol CyberJacket [Carro06], un ensemble de sons virtuels sont projetés
dans un espace physique. L’utilisateur expérimente l’environnement sonore produit
par le biais d’un ensemble d’écouteurs attachés à un ordinateur portable. Une boussole
est fixée sur les écouteurs de l’utilisateur afin de fournir les informations sur l’orientation
de sa tête. L’ordinateur portable se rend également compte de l’endroit de l’utilisateur.
Il emploie le GPS pour les environnements extérieurs et un système de positionnement
ultrasonique pour les installations d’intérieur. Avec ces deux sources d’information
le dispositif portable peut déterminer où un son devrait être placé par rapport
à l’utilisateur.Section 2.4. La spatialisation sonore pour la réalité augmentée 21
RA audio pour les malvoyants
Dans l’objectif d’aide au déplacement pour les personnes malvoyantes, plusieurs
dispositifs sonores allient géolocalisation des personnes et personnalisation des contenus
audio envoyés [Roentgen08]. Un des premiers dispositifs sonores d’aide à la navigation,
qui utilise la spatialisation sonore est le système d’orientation personnelle
(PGS). Il se base sur un GPS, une boussole et du son spatialisé pour guider les utilisateurs
aveugles [Golledge91, Golledge98]. Par ailleurs, d’autres systèmes similaires
ont suivi, tels que Drishti [Ran04, Vazquez09] et MOBIC [Petrie96], bien qu’ils n’utilisent
pas le son spatialisé. Le projet SWAN [Wilson07] se poursuit dans la veine de
PGS, permettant d’expérimenter un rendu sonore qui change avec le déplacement de
l’utilisateur dans un monde réel. SWAN requière d’utiliser des périphériques externes
tels qu’un capteur monté sur la tête, un système inertiel, ou une boussole numérique
pour la détection de l’orientation.
Motivés par le besoin des gens d’utiliser leurs appareils électroniques, tout en se
promenant, Holland et al. [Holland02] proposent un prototype d’une interface utilisateur
audio spatialisée pour les mobile à GPS. Le système a été conçu pour répondre aux
besoins des personnes malvoyantes, mais aussi pour permettre aux autres utilisateurs
d’effectuer les tâches avec un minimum d’efforts tandis que leurs yeux, leurs mains et
leur attention sont engagés ailleurs.
Par ailleurs, et dans le but d’augmenter l’autonomie des déficients visuels dans la
navigation, le projet ANR NAVIG [Katz10] a été développé. Le projet vise à concevoir
un système permettant à des personnes visuellement déficientes de se déplacer plus
facilement en intérieur comme en extérieur, ainsi que de pouvoir localiser des objets
d’intérêt dans leur environnement. En plus de l’aide à la mobilité et à l’orientation, NAVIG
souhaite permettre aux déficients visuels de localiser et de saisir des objets environnants,
sans nécessité de marquer ces objets préalablement. Il repose sur la fusion de
données de géolocalisation (GNSS) et de vision artificielle en entrée, et sur la synthèse
de son spatialisé en sortie.
RA audio pour des jeux
La spatialisation sonore a également été expérimentée dans le domaine les jeux géolocalisés
proposés dans les téléphones mobiles intelligents. Cela permet d’offrir plus de
réalisme, d’immersion, et d’engagement émotionnel. Paterson et al. [Paterson10] pré-
sentent un prototype de jeu appelé Ghost Hunt Viking (VGH) permettant de localiser
et d’interagir avec les vikings virtuels autour des vieux sites de vikings de Dublin. Le
jeu s’exécute sur un mobile HTC équipé d’un casque stéréo et d’un GPS. Il offre diverses
interfaces visuelles et audio pour localiser les activités paranormales et recueillir
des preuves qui se manifestent visuellement ou auditivement. Malgré l’inexactitude
du GPS, les perturbations imprévisibles, et les limites de processeur mobile, des ex-22 Chapitre 2. État de l’art
périences ont montré l’importance de la spatialisation sonore dans le monde virtuel
comme outil à la fois instructif et riche en émotion.
D’autres projets se sont également intéressés à une application ludique de la spatialisation
sonore et la géolocalisation. Le projet Ambient Horn [Randell04] qui a exploré
le potentiel de la réalité augmentée sonore dans les environnements extérieurs, et plus
particulièrement lors d’une visite dans une région boisée. Les utilisateurs qui étaient
des enfants, se sont déplacés vers un emplacement dans lequel une balise locale RF a
été cachée. Un bruit a été déclenché et joué dans des enceintes sans fil à proximité, tandis
que d’autres modules mis en œuvre ont permis aux enfants de recueillir et échanger
les informations reçues.
Un autre système intéressant est le système audio-guide de la visite de zoo présenté
par Stahl [Stahl07]. C’est un repère auditif partagé, qui transmet des connaissances spatiales
et d’aide à la navigation. En utilisant la spatialisation sonore des enregistrements
correspondants aux sons et chants des animaux, l’auditeur est en mesure d’identifier
la distance et la direction de l’enclos des animaux. Le système présente également des
clips audio avec des informations détaillées sur chaque animal.
RA audio pour des applications artistiques
Certaines applications artistiques basées sur la réalité augmentée audio ont également
été développés. Certaines de ces recherches ont été menées pour la mise en œuvre
de la spatialisation du son sur les dispositifs mobiles équipés de systèmes de positionnement.
Strachan et al. [Strachan05], ont décrit la mise en œuvre du prototype gpsTunes.
C’est un système de navigation qui combine les fonctionnalités d’un lecteur MP3 et
d’un capteur GPS, dont la mission est de guider l’utilisateur vers sa destination tout en
écoutant la musique. Le dispositif change le volume et l’orientation de la musique avec
le déplacement des utilisateurs. Le volume de la musique augmente lorsque l’utilisateur
s’approche de sa destination. Les expériences montrent qu’une simple adaptation
du volume du son, avec des sources sonores fixes, permet aux gens de naviguer avec
succès le long d’une trajectoire spécifié. La nouvelle version du système [Strachan09]
vise à améliorer le suivi des orientations des utilisateurs en utilisant un système inertiel
combinant des accéléromètres, des magnétomètres et des gyroscopes.
2.5 Cas d’étude : la visite et la médiation dans les lieux culturels
La visite du musée permet de mettre les personnes en contact direct avec le passé et
le présent et permet également d’éveiller la sensibilité au domaine de l’art et de de l’histoire.
Pour les visiteurs, un bon musée ou plutôt une bonne visite de musée est celle qui
permet d’informer et de former, en offrant au visiteur les moyens de bien comprendre
lui-même l’œuvre exposée, ses mécanismes (comment il marche) et de situer son rôleSection 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 23
dans une dynamique historique, économique, sociologique et humaine. En plus de son
côté pédagogique indéniable, la visite de musée suscite un intérêt émotionnel, elle peut
porter une charge affective, manifestée par un sentiment de nostalgie que peut provoquer
certains artefacts ou certaines parties du musée. De nos jours, la visite de musée,
est devenue également une forme de distraction, grâce aux jeux qui sont proposés de
plus en plus pour les visiteurs de musées. En plus, la visite de musée est devenue pour
les concepteurs de visite, une occasion pour saisir l’intérêt du visiteur, pour lui proposer
du contenu personnalisé. C’est pour cela que la fonction de guidage est de plus
en plus présente dans presque tous les musées, et la majorité des musées tente de la
développer pour s’adapter aux exigences du public.
2.5.1 Guidage et médiation
Pour favoriser l’aspect didactique et pédagogique des visites, bon nombre de musées
proposent aujourd’hui des ”prestations” visant à faciliter l’accès des visiteurs
aux contenus exposés. On peut citer comme exemples la présence d’un animateur,
d’un guide conférencier, ou d’un démonstrateur ; la mise à disposition de cartels, de
guides papiers, de catalogues papiers ou numériques, d’ateliers, de réseaux sociaux, de
sites web, de guides audio, de guide multimédia, worksheets, de bornes multimédia
sur place, d’écran interactif, de feuille d’aide à la visite et la liste est longue. Fauche
[Fauche08] distingue deux types d’assistances directe et indirecte.
L’aide directe à la visite : incontournable dans la plupart des missions du musée, elle
implique la présence physique du guide appelé aussi médiateur. On parle aussi
de médiation orale, ou encore de médiation humaine. Pour le médiateur, ce qui s’y
joue se situe à la fois sur le plan des savoirs, et sur le plan de sa relation au public.
Quant à la relation qui se noue entre le savoir et le public : il s’agit d’abord pour
le médiateur d’accueillir l’autre tel qu’il se donne, à la fois en tant qu’individu et
en tant que membre d’un groupe qui a sa dynamique propre.
L’aide indirecte à la visite : consiste à élaborer divers documents, soit écrits (fiches
d’aide à la visite, dossier pédagogique), soit destinés à un autre support (audio
ou vidéo). En effet, à côté des visites traditionnelles guidées dispensées par des
conférenciers, d’autres programmes d’animation sont parfois mis en œuvre et assument
la dimension humaine de la relation. Il s’agit d’une palette de supports de
médiation qui visent l’autonomie du visiteur. L’audioguide vient ainsi compléter
et pallier d’autres types d’aide à la visite désormais courantes au musée ou en
voie de l’être dans les musées d’art rénovés [Deshays02] :
– Guides ou petits dépliants papier remis au visiteur à l’entrée.
– Dispositifs signalétiques plus ou moins aboutis, avec titres et sous-titres (parfois
assortis de courts textes introductifs).
– Documentation sélective : des fiches, ou feuillets ou "petit journal", disponibles
en salle, aux audiovisuels et aux bornes d’information multimédia.24 Chapitre 2. État de l’art
Si l’audioguide peut être proposé comme une aide possible parmi un éventail
d’aides, dans certains musées ou exposition il est devenu le principal outil d’assistance,
voir le seul [Deshays02]. Pour certains professionnels des musées, l’audioguide est un
substitut à la visite guidée.
2.5.2 L’audioguide, une alternative à la visite guidée
Au départ, l’introduction de l’audioguide a été liée à la question de l’accessibilité
des publics étrangers. Il s’agissait de leur proposer une visite accompagnée dans leur
langue. Si la fonction principale de l’audioguide était la traduction. Il est devenu aujourd’hui
un outil de médiation à part entière, à destination du grand public. D’après
[Vilatte07], l’audioguide peut aussi répondre au problème particulier des personnes
handicapées visuelles ou malentendantes.
Sophie Deshayes [Deshays02] constate que l’audioguide est perçu par le visiteur
comme une alternative à la visite guidée, cette dernière apparaissant comme une visite
contraignante et dis-qualifiante dans la mesure où elle situe le visiteur dans une logique
de dépendance. L’audioguide, quant à lui, permet une visite individuelle qui épargne
la visite en groupe (inscription préalable, heure fixe, problème de visibilité, rythme imposé,
etc.). Il permet également d’éviter l’inconfort de la visite guidée : problème de
stratégie de positionnement à toujours développer vis-à-vis des œuvres en fonction
du groupe, et le problème du rythme de la visite imposé par le guide. La liberté du
choix des contenus et le respect du rythme de visite propre à chacun sont des opportunités
fortement valorisées par les utilisateurs d’audioguide. Ils se plaisent à se sentir
accompagnés, guidés, bien renseignés mais non pas contraints par une visite formatée
imposant des arrêts obligés et un circuit prédéterminé.
Toutefois d’après l’étude sur les visiteurs menée par Bernard et Hélène Lefebvre
[Lefebvre91], deux aspects fondamentaux semblent convaincre les visiteurs des musées
des bénéfices de l’audioguide : l’aspect mobilité qui permet aux visiteurs d’écouter le
contenu tout en regardant l’œuvre exposée, et l’aspect individualisation du contenu qui
donne aux visiteurs le sentiment de solitude de calme et même de détente et qui permet
surtout aux visiteurs d’apprendre à leur rythme.
2.5.3 L’audioguide : fonctions et attentes
Loin de sa fonction de traduction, la fonction principale de l’audioguide à laquelle
les visiteurs s’attendent c’est ”d’apprendre des choses en contexte” [Deshays02,
Deshays04]. L’usage de l’audioguide s’affine pour devenir d’une simple aide à la visite,
à la contemplation intelligente des œuvres et des collections. Même si, le positionnement
de l’audioguide, tel qu’il est perçu par le public, est éminemment pédagogique,
les études conduites sur l’usage des audioguides [Lefebvre91], montrent que les visiteurs
s’attendent quand même à s’amuser en utilisant l’audioguide. En effet, les utili-Section 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 25
sateurs d’un audioguide attendent à ce qu’il transmette les savoirs d’une manière ludique,
et aussi à transmettre quelque chose d’insoupçonné et peu attendu, qu’il révèle
la face cachée des choses et qu’il permette au visiteur d’accéder au sens de l’artefact
exposé et donner du sens à sa visite. Pour cela, nous proposons de retenir cinq types de
contenus :
Contenu qui oriente : les visiteurs ne doivent pas se perdre en repérage. Les éléments
d’orientation doivent être définis en situation de visite et ancrés dans l’espace à
partir d’éléments de repères visuels susceptibles de structurer le parcours et de
guider précisément le regard, par des points cardinaux ou des éléments visuels
ou sonores.
Contenu qui informe : qui peut être le contexte historique, le sens d’une représentation
(une scène par ex, des symboles), l’usage d’un objet, la démarche d’un artiste,
l’intention conceptuelle s’il y a lieu, ou alors les hypothèses scientifiques et/ou les
sources de questionnement possibles.
Contenu qui surprend : le contenu doit toujours avoir une vocation de surprendre le
visiteur, en contenant des informations imprévisibles, ce qui épargne le visiteur
d’écouter du contenu redondant et prévisible, et qui l’encourage à écouter plus
pour en connaître d’avantage.
Contenu qui évoque : des extraits littéraires, autres références hors musée, citations,
musiques d’ambiance etc. Les extraits musicaux sont appréciés des visiteurs, ils
ménagent des pauses à l’écoute et qui peuvent être propices à la rêverie, certains
passages musicaux peuvent à l’occasion, réhabiliter la libre déambulation promenade
au musée ou au sein de certaines salles.
Contenu qui amuse : le contenu doit être de types différents, musique, sons ambiants,
voix, dialogues, etc., l’audioguide ne doit pas négliger son aspect ludique tant
pour le public jeune que pour les moins jeunes. Le visiteur ne doit pas sentir qu’il
est face à un contenu didactique qui le plonge à l’école, le contenu doit amuser le
visiteur et rendre sa visite plus agréable.
2.5.4 Types d’audioguides
Les systèmes d’audioguide proposés dans les musées sont multiples. Ils varient par
rapport au média utilisé, à la navigation, aux technologies de localisation des visiteurs,
au contenu délivré, au rôle de l’audioguide et au public ciblé. Nous proposons une classifications
des audioguides portables proposés dans les visites de musées. Cette classifi-
cation est basée sur le moyen de géolocalisation utilisé dans l’audioguide (manuelle ou
automatique), les technologies utilisées pour localiser les visiteurs, ainsi que l’existence
ou pas de personnalisation pour chaque visiteur. D’autres classifications d’audioguides
ont été proposés dans la littérature [Damala09] selon d’autres aspects non liés à notre
travail.26 Chapitre 2. État de l’art
2.5.4.1 La géolocalisation
La géolocalisation
Nous entendons par géolocalisation la manière avec laquelle le visiteur se déplace
dans le musée, communique sa position et interagit avec le contenu proposé. Le visiteur
du musée a besoin de savoir comment le contenu qu’il reçoit est lié avec l’objet physique
exposé dans le musée. Proctor [Proctor05] a défini le lien entre le contenu délivré et
l’objet exposé par trois méthodes, soit il est dans l’environnement physique du musée,
soit il est sur ou dans le dispositif d’interprétation (l’audioguide), soit il est présenté
dans les deux environnements.
Plusieurs techniques de géolocalisation sont utilisées dans la visite de musées, allant
des techniques de géolocalisation explicite où le visiteur muni d’un clavier doit saisir un
numéro correspondant au numéro affiché devant l’objet exposé, jusqu’aux techniques
de géolocalisation qui visent à localiser le visiteur pour lui envoyer automatiquement,
le contenu correspondant à son emplacement et éventuellement aussi à son orientation.
Géolocalisation explicite
De nombreux musées ont opté pour la géolocalisation explicite appelée aussi navigation
manuelle. Cette approche repose sur un système d’étiquetage, où les œuvres du
musée qui sont sujettes à un commentaire audio se voient munir une étiquette placé à
coté. L’étiquette porte un nombre, et pour écouter le contenu audio associé, le visiteur
doit saisir le nombre affiché sur l’étiquette à l’aide d’un baladeur fourni au début de
sa visite. Cette méthode est utilisée dans l’audioguide proposé par le musée des arts et
métiers de Paris 2
. Une autre méthode de navigation est utilisée dans le guide multimé-
dia que propose le musée de Louvre de Paris 3
. Elle consiste à associer aux étiquettes,
des photos pour aider le visiteur à identifier l’objet exposé. Une troisième méthode
utilisée dans ce contexte, consiste à fournir une carte ou un plan digital aux visiteurs
pour se repérer. Cette méthode est largement utilisée dans les systèmes d’aide à la visite
notamment, dans Tate Modern Gallery 4 qui propose cette méthode dans ses parcours
destinés aux adultes et aussi aux enfants.
Géolocalisation implicite
La géolocalisation implicite ou la navigation automatique est très utile autant pour
les visiteurs que pour le personnel du musée. En effet pour les visiteurs, cela permet aux
visiteurs de se localiser automatiquement dans le musée, et ainsi de recevoir les contenus
audio correspondant au œuvres qui les intéressent. Du point de vue du personnel
du musée, cela permet de créer des parcours et des expériences de visite individualisés,
sans empêcher de créer des applications pour le groupe. Elle permet aussi de localiser
chaque visiteur en temps réel et par conséquent de gérer le flux des visiteurs.
2. http ://www.arts-et-metiers.net/
3. http ://www.louvre.fr
4. http ://www.tate.org.uk/visit/tate-modernSection 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 27
Plusieurs technologies et techniques sont expérimentées pour localiser les visiteurs
de musée. Le GPS reste largement le plus utilisé pour la navigation en extérieur. Quant
à la navigation en intérieure, nous citons d’une manière non exhaustive quelques technologies
de localisation utilisées dans le cadre de la visite des lieux culturels.
Infrarouge Utilisée par la cité de la science et de l’industrie à Paris, le musée national
du cinéma à Turin en Italie 5
et le musée des instruments de musique à Bruxelles 6
.
Nécessitant un chemin clair entre le marqueur (émetteur) et le récepteur infrarouge
contenu dans le dispositif mobile (par exemple un PDA). Cette technologie est utilisée
surtout pour le déclenchement des contenus (stockés localement ou délivrés par un
serveur), et pour le transfert de données.
Bluetooth Développé comme un protocole à basse puissance et à petite bande
passante (1 Mb/s). Le Bluetooth est basé sur les signaux radio et présente plusieurs
avantages. Premièrement il n’exige pas de ligne de vue claires entre les outils communiquant.
Deuxièmement jusqu’à huit appareils peuvent être connectés simultanément
dans un rayon de 10 m. Dans les musées, il est utilisé comme une technologie de déclenchement
pour les petites portées. Cependant, Il est incapable de transférer des contenus
multimédias riches. C’est pourquoi il a été testé dans le contexte du musée une seule
fois (à notre connaissance) par le musée Madame Tussauds 7 à Londres pour déclencher
le PDA.
RFID C’est un terme générique désignant l’ensemble des technologies qui utilisent
les ondes radio pour l’identification automatique des objets. La puce RFID comprend
: une micro puce et une antenne minuscule qui transmet les données de la puce
au lecteur. La puce peut être attachée aux objets qui sont faciles à transporter notamment
un bracelet, une carte ou une montre. Cet item envoie alors son identificateur
au réseau par le biais du tranciever posé près de l’objet exposé. Deux types d’RFID
existent, les passifs qui nécessitent de rapprocher l’émetteur du récepteur pour qu’il y
ait communication, et les actives dotés d’une portée plus importante.
Si on utilise des RFID passifs, on est obligé de s’approcher beaucoup de l’objet, d’où
l’intérêt des RFID actifs. Quelques musées utilisent la technologie RFID pour la sécurité
et la maintenance de leurs objets. Les RFID sont utilisées aussi dans quelques musées
notamment au Danemark pour localiser les enfants perdus dans le parc. La puce RFID
est utilisée aussi pour garder trace de la visite. Elle a été utilisée aussi dans le musée
des arts et métiers en France 8 dans le cadre du projet PLUG [Damala10].
5. http ://www.museocinema.it/quick_info.php ?l=fr
6. http ://www.mim.be/fr
7. http ://www.madametussauds.com/London/
8. http ://www.arts-et-metiers.net/28 Chapitre 2. État de l’art
WIFI Cette technologie permet à un grand nombre de visiteurs de se connecter
à intranet et internet pour une large portée. Sa grande bande passante lui permet de
transférer des données et leur mise à jour depuis un serveur central. Le WIFI nécessite
un serveur central où les logiciels de positionnement sont installés, et où le calcul de
localisation est fait, ainsi que plusieurs points d’accès qui relient le signal radio entre
les visiteurs et le serveur. La détection de position du visiteur portant un terminal Wifi
passe par une triangulation en se basant sur les mesures d’au moins trois points d’accès.
Cependant la technologie souffre d’un manque de précision dans la mesure de localisation,
et d’une latence pour délivrer le contenu. Ces deux critères peuvent être améliorés
en augmentant le nombre de points d’accès. Le WIFI est déployé dans le musée Tate
Modern à Londres et au centre de la science à Singapour.
NFC (Pour Near Field Communication), est une technologie de communication
sans fil de courte portée qui commence à équiper la majorité des téléphones mobiles
intelligents. Avec NFC, la communication se produit entre deux appareils séparés de
quelques centimètres. La technologie NFC est basé sur la technologie d’identification
par radiofréquence (RFID). Elle peut fonctionner sous plusieurs modes, mode passif
ou émulation de carte dans lequel le terminal mobile se comporte comme une carte à
puce, mode active dans lequel le terminal mobile devient lecteur de carte, ou en mode
pair-à-pair où les terminaux peuvent échanger les informations.
Cette technologie est utilisée dans le musée national de Corée 9
, le musée Hecht 10
,
le musée national de Cracovie 11, etc. L’idée de base est d’orienter les utilisateurs de
téléphones mobiles NFC qui ont aussi une application de navigation intérieure embarqué.
Un utilisateur peut ainsi indiquer ou déterminer sa position actuelle à l’intérieur
d’un bâtiment en touchant son appareil mobile avec les balises réparties à l’intérieur de
bâtiment.
UWB La technologie UWB (pour ultra wideband) est une technique de modulation
radio qui est basée sur la transmission d’impulsions de très courte durée souvent
inférieure à la nanoseconde. Un consortium européen souhaite que cette technologie
soit utilisée pour chercher des personnes disparues ou des objets non identifiés. L’UWB
peut être utilisé pour le positionnement de mobiles : les récepteurs, qui sont répartis
dans l’environnement, peuvent évaluer la distance des balises UWB, situées sur les
mobiles, par mesure du temps de propagation des signaux émis par ces balises. Ceci
permet au système de calculer la position des mobiles par triangulation.
9. http ://www.museum.go.kr/main/index/index002.jsp
10. http ://mushecht.haifa.ac.il/Defaulteng.aspx
11. http ://www.muzeum.krakow.pl/Section 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 29
2.5.4.2 La personnalisation
La notion de personnalisation est utilisée pour faire référence à un système qui se
met à jour et modifie ses caractéristiques selon les besoins de l’utilisateur [Filippini03].
L’origine de la personnalisation du contenu remonte aux premiers jeux de rôles interactifs,
où les joueurs choisissent un personnage dont la puissance et les caractéristiques
se développent au fur et à mesure de l’avancement du jeu [Gee04]. La personnalisation
du contenu peut être statique ou dynamique (appelée aussi interactive). La personnalisation
statique signifie que le contenu va être adapté à une catégorie de visiteur, avant
ou après la visite. La personnalisation dynamique signifie que le contenu envoyé au
visiteur est adapté et est mis à jour durant la visite.
Personnalisation statique
Damala a répertorié neuf critères de personnalisation statique qui sont généralement
utilisés dans les pratiques des audioguides de musées [Damala09]. Nous en citons
quelque uns :
L’ âge : le contenu de l’audioguide peut être adapté aux différentes tranches d’âge de
visiteurs. Nombre de musées offrent ce genre de service en proposant des parcours
pour les enfants et des parcours pour les adultes. Le guide de Sycomore 12
présenté dans le grand palais à Paris, en est un exemple.
La langue : le contenu de l’audioguide doit s’adapter à la langue du visiteur. C’est
pour cette raison que le guide multimédia du musée de Louvre est disponible en
sept langues parlées et en langue des signes françaises.
La thématique : le contenu de l’audioguide doit proposer plusieurs parcours thématiques.
Les capacités spéciales des visiteurs : l’audioguide doit être adapté aux besoins et capacités
spéciales des visiteurs, comme dans le cas des visiteurs à déficience visuelles
ou auditives.
Le groupe de visiteurs/communauté : pour favoriser l’aspect social de la visite d’un
musée, certains audioguides sont destinés à être utilisés par plusieurs visiteurs à
la fois.
La plateforme de livraison de contenu : certains audioguides proposent aux visiteurs
d’utiliser leur propres terminaux (MP3, téléphone,...) pour accéder au contenu de
l’audioguide.
L’adaptation du contenu de l’audioguide aux besoins de visiteurs en amont de la
visite aide à personnaliser le contenu. Par exemple le projet HyperAudio [Petrelli99], qui
utilise un modèle de visiteur statique à l’aide d’un questionnaire rempli par le visiteur
au début de la visite. Cela reste insuffisant, dans la mesure où le visiteur peut changer
ses préférences et découvrir d’autres centres d’intérêts pendant sa visite.
12. http ://www.sycomore.eu/index.php/fr/30 Chapitre 2. État de l’art
Personnalisation dynamique
La personnalisation du contenu selon les intérêts de l’utilisateur est un sujet
d’études important qui est une largement étudié dans la littérature, notamment dans
la recherché sur internet [Mladenic96]. Nous trouvons également dans la littérature
les systèmes qui génèrent des suggestions personnalisées pour les touristes. Nous en
citons quelques exemples :
Le projet CyberGuide [Abowd97] produit une série de prototypes d’un guide mobile,
qui prend en compte le contexte des visiteurs d’un laboratoire de recherche. Les
systèmes prennent en compte seulement les informations concernent l’emplacement et
l’orientation actuelle de l’utilisateur en compte, et les applications qui nécessitent une
connaissance rudimentaire de l’utilisateur (par exemple les langues qu’il parle) sont
envisagées aussi.
Le système ILEX [Oberlander97, O’donnell01] produit les ”Étiquettes intelligentes”
pour les œuvres d’art qui peuvent être sous forme de pages web, dans une galerie
électronique, ou de la parole synthétisée dans une galerie physique. Le système prend
en compte les objets que l’utilisateur a visité ou qui étaient mentionné à l’avant, et se
réfère à eux lors de la génération des étiquettes.
GUIDE [Cheverst00, Cheverst02] est un guide touristique électronique portatif qui
crée des visites de la ville qui sont adaptés à chaque visiteur. Le système prend en
compte les données personnelles des visiteurs (par exemple, nom, âge, sexe) ainsi que
leurs intérêts (par exemple maritime, histoire, diététique), leur emplacement actuel, les
monuments qu’ils ont déjà visités, et les parcours de visites qu’ils ont emprunté. Le
système retrace le parcours de chaque visiteur et met à jour son profil d’intérêts en
conséquence.
Le projet ”Deep Map” [Fink02] du Laboratoire européen des médias à Heidelberg
en Allemagne vise à développer des guides touristiques mobiles et personnels. Afin
de permettre à Deep Map de fournir un comportement personnalisé, un modèle de
caractéristiques individuelles des utilisateurs (à savoir leurs intérêts et préférences individuels)
et des groupes d’utilisateurs est acquis et maintenu par le système de modé-
lisation de l’utilisateur. Les auteurs présentent un modèle d’utilisateur et d’adaptation.
L’adaptation est basée sur les intérêts explicite et les données d’usage, sans prendre en
compte le focus (l’orientation) de l’utilisateur. Les auteurs ne proposent pas de modèle
pour la scène sonore.
La personnalisation dynamique du contenu de la scène sonore dans le cadre de la
visite des musées sera mieux décrite dans la section 4.3.Section 2.6. La visite augmentée 31
2.6 La visite augmentée
La réalité augmentée occupe de plus en plus de place dans la visite des lieux culturels.
Elle permet par exemple de visiter un même lieu du patrimoine à la fois tel qu’il est
visible dans son environnement actuel et, par l’intermédiaire de la réalité augmentée,
tel qu’il a été par le passé [Durand11]. La RA peut être utilisée sur des objets réels pour
les définir et les compléter. Elle peut aussi être utilisée comme moyen de substitution
ou de remplacement des objets réels. Elle permet aux visiteurs de manipuler les objets
virtuellement sans avoir besoin de voir l’objet réel. Par conséquent, ils permettent dans
certaines applications de manipuler aussi les objets du musées qui ne sont pas exposés
[Damala09]. La visite des lieux culturels peut être augmentée par la modalité visuelle,
haptique, sonore, olfactive ou même affective. Nous allons citer, dans ce qui suit, des
exemples de visites augmentées par les modalités visuelles et sonores.
2.6.1 La visite augmentée par la modalité visuelle
La RA pour les visites de musée est encore à ce jour (2013), dans une phase expé-
rimentale. Toutefois, plusieurs prototypes ont été développés, dont les résultats sont
prometteurs.
Nous pouvons distinguer deux types de systèmes de réalité augmentée : les systèmes
de RA fixe et les systèmes de RA mobiles. Le qualificatif fixe signifie que le
système de RA est indépendant de l’emplacement de l’utilisateur et n’assure pas son
suivi. Ce dernier est plutôt assurée dans les systèmes de RA mobiles. La vitrine virtuelle
[Bimber03] est un exemple de systèmes de la RA fixes, conçu pour permettre
aux visiteurs du musée de visualiser les images stéréoscopiques des expositions augmentées.
Le scénario initial visait à montrer aux visiteurs les mesures prises par les
paléontologues dans la reconstitution des muscles, des tissus mous et les os du crâne
d’un dinosaure. Le concept de la RA fixe a été testé aussi par le centre Ename en Belgique
[Owen05]. Le système superpose une représentation 3D sur les objets réels exposés
dans le musée. L’inconvénient de cette approche est son caractère invasif et non
personnalisable. Ces systèmes nécessitent le déplacement récurant des visiteurs entre
le virtuel et le réel.
Parmi les système de RA mobiles, nous pouvons citer le projet Archeoguide
[Gleue01]. L’objectif de ce système est d’assister les visiteurs pendant leurs visites.
Le visiteur porte un HMD (Head Monted Display), des écouteurs, un capteur de position
qui détermine son emplacement. Le projet Lifeplus [Papagiannakis02] peut être
considéré comme le successeur de Archeoguide. Il permet aux visiteurs de visualiser
les aspects de la vie quotidienne des Romains. Le Musée américain d’histoire naturelle
à New York , quant à lui, utilise une application gratuite appelée Explorer 13. Cette
application permet de naviguer dans le musée, agissant comme un guide personnel
13. http ://www.amnh.org/apps/explorer.php32 Chapitre 2. État de l’art
pour une visite personnalisée, tout en permettant aux visiteurs du musée de choisir les
pièces qu’ils veulent voir. Au Musée d’Art Moderne de New York, les artistes médiatiques
utilisent la réalité augmentée pour créer un spectacle pour le festival Conflux en
Octobre 2010. Ils ont utilisé le navigateur de réalité augmentée Layar dans un smartphone,
pour montrer aux visiteurs les galeries du musée via la caméra du téléphone.
En Australie, le Powerhouse Museum a une application de réalité augmentée mobile
qui tire des images du musée provenant de Flickr et les montre à travers le navigateur
Layar 14
. Museum Lab s’efforce de trouver des solutions à la problématique de la visite
de musées avec une combinaison de panneaux imprimés et des animations projetées. Il
propose une visite de musée tout à fait novatrice, en superposant des images virtuelles
sur celles qui sont perçues par les visiteurs dans la zone de présentation [Mina10].
Une autre application intéressante est celle de l’institut néerlandais d’architecture
à Rotterdam, qui propose une visite de la ville par l’intermédiaire d’une application
de réalité augmentée et de la technologie Layar qui décrit l’histoire sur les divers monuments
de la ville. Elle utilise des images, des informations audio et des modèles 3D
de bâtiments futurs qui montrent à quoi ils peuvent ressembler à l’avenir. Les utilisateurs
ont trouvé que, bien que le guide humain était attentif, l’application de réalité
augmentée pouvait fournir plus d’informations, offrant plus de flexibilité en fonction
des préférences individuelles des visiteurs [Boulin10].
Le projet ARTSENSE (Augmented RealiTy Supported adaptive and personalized
Experience in a museum based oN processing real-time Sensor Events) vise quant à
lui à appliquer une augmentation visuelle, acoustique et affective à la visite de musée
[Stojanovic12, Damala13, Damala12]. Les auteurs introduisent de nouvelles technologies
portables pour détecter en continu et de manière non intrusive le contexte de l’utilisateur
afin de déterminer l’intérêt actuel de l’utilisateur. Afin de visualiser le contenu
augmenté, ils utilisent une paire de lunettes qui contiennent un capteur du mouvement
du visiteur. Les événements acoustiques sont captés en temps réel en utilisant
des microphones omnidirectionnels et une unité d’acquisition de données portée par le
visiteur. Les auteurs analysent aussi les réactions physiologiques des visiteurs en utilisant
des biocapteurs pour mesurer les battements du cœur, la conductance de la peau
et l’activité cérébrale.
2.6.2 La visite augmentée par la modalité auditive
Jacomy a été l’un des premiers à étudier profondément la question de la visite augmentée
par la modalité sonore dans le contexte muséographique [Jacomy02]. Il trouve
que les spécialistes du patrimoine ont principalement été les conservateurs des musées
chargés par la société de collecter, de conserver et de restituer les traces matérielles de
notre passé. On a donc avant tout conservé ce qui se voit et se touche. Jacomy estime
que la majorité des musées n’ont aucune préoccupation particulière en matière de la
14. http ://www.powerhousemuseum.com/layar/Section 2.6. La visite augmentée 33
dimension sonore et que peu de musées ont une véritable approche sonore des pré-
sentations. Cependant notre mémoire est également olfactive, gustative et auditive. En
prenant l’exemple des musées techniques, en l’occurrence le Musée des Arts et Métiers
(MAM) de Paris, ce musée comporte de grosses machines, par exemple la locomotive
à vapeur. Il dit ” il est essentiel que les générations puissent regarder et toucher les machines,
mais si les enfants qui les approchent ne peuvent sentir les odeurs de graisse chaude et du fumée,
ou entendre les sif ements et les grondements de la vapeur, ils n auront qu une perception partielle
d un objet qui a pourtant profondément marqué la vie de leurs ancêtres. Faute de pouvoir
appréhender ce patrimoine "total", nous pouvons déjà nous pencher sur l une de ses composantes,
importante et pourtant souvent négligée : notre environnement sonore”.
Dans cette section nous allons citer quelques tentatives de sonorisation des musées.
Nous allons commencer par les systèmes qui offrent le même contenu sonore à tous les
visiteurs du musée, et puis les systèmes audio basés sur l’utilisation de casque audio
pour une individualisation et une personnalisation du contenu pour chaque visiteur.
2.6.2.1 Vers un musée sonore
Comme dans le cas de l’augmentation visuelle, nous distinguons deux types de
systèmes augmentés par la modalité auditive : les RA sonores fixes et mobiles.
Parmi les systèmes de RA sonores fixes, [Jacomy02] cite quelques exemples d’installations
sonores qui ont été effectuées dans certains musées. Un exemple de ces systèmes
se trouve dans le musée de la Coutellerie de Thiers, où une salle du sous-sol dégageait
un bruit industriel intense. ”Dans cette salle les murs étaient recouverts de photos d ateliers
grandeur nature, quelques machines-outils ont été exposées et une bande sonore reconstituait
l ambiance de l atelier, avec un niveau acoustique proche du niveau réel. Il cite aussi le cas
du musée français du chemin de fer de Mulhouse. Une grosse locomotive à vapeur est
présentée avec une bande sonore qui reproduit, le bruit de la locomotive au démarrage.
Cette locomotive est montée sur un banc de roulement qui permet de faire tourner les
roues. Ces systèmes de RAS fixes souffrent des mêmes inconvénients qui sont l’aspect
intrusif et non personnalisable. Pour y remédier, les systèmes de RA sonores mobiles
ont été introduits. Ce sont des systèmes qui visent à localiser les visiteurs du musée,
et à personnaliser le contenu audio délivré à chaque visiteur en utilisant des casques
audio.
Bederson [Bederson95] a été parmi les premiers à développer un prototype de guide
électronique pour les musées se basant sur l’interaction implicite. Celui-ci permet aux
visiteurs de recevoir automatiquement les contenus audio appropriés en fonction de
leurs positions individuelles. Ce prototype se compose d’un certain nombre de dispositifs
que le visiteur emporte avec lui : une source audio numérique à accès aléatoire
(Sony MiniDiscTM), un microprocesseur (Motorola M68332) et un récepteur infrarouge
qui indique à l’ordinateur la position du visiteur. Un petit émetteur infrarouge est placé
dans le plafond au-dessus de chaque objet à décrire. Il transmet un nombre unique que34 Chapitre 2. État de l’art
le système emploie pour identifier l’endroit du visiteur. Ensuite, le système joue ou
arrête les sources audio sur le terminal du visiteur en fonction de sa position.
Dans le projet européen Hips [Benelli99], le visiteur est également localisé. La position
et l’orientation du visiteur sont calculées respectivement grâce à la technologie
infrarouge et une boussole électronique. Les données de localisation sont envoyées au
serveur central qui se charge de délivrer les informations appropriées aux visiteurs.
Dans le projet CyberJacket [Carro06], un ensemble de sons virtuels sont projetés dans
un espace physique. L’utilisateur expérimente l’environnement sonore produit par le
biais des écouteurs attachés à un ordinateur portable. Une boussole est fixée sur les
écouteurs de l’utilisateur afin de fournir les informations sur l’orientation de sa tête.
L’ordinateur portable se rend également compte de l’endroit de l’utilisateur. Le système
utilise un système GPS pour les environnements extérieurs et un système de positionnement
ultrasonique pour les environnements intérieurs. Avec ces deux sources
d’information, le dispositif portable peut déterminer où un son devrait être placé par
rapport à l’utilisateur.
L’un des prototypes que nous avons pu tester est Percepio. C’est un audioguide
Percipio (du latin ” percevoir par les sens ”) [Apeloig08] qui permet de déterminer la
position du visiteur et aussi ce qu’il regarde, sans intervention manuelle. Percipio (fi-
gure 2.4), se présente sous la forme d’un appareil audio relié à un boîtier pendu autour
du cou. A son arrivée, à l’accueil, le visiteur reçoit Percipio dans les mêmes conditions
qu’un audio guide classique. Il peut alors se promener librement dans le site, qu’il soit
intérieur ou extérieur. Ce système est conçu pour calculer le vecteur visuel de l’utilisateur
afin de lui envoyer les commentaires audio liés à l’exposition qu’il regarde. Il est
relié à une plateforme multimédia (PDA) et peut fournir un contenu personnalisé en
fonction de l’intérêt du visiteur. Le système utile la technologie infrarouge pour déterminer
la position du porteur dans des environnements intérieurs, et le GPS pour les
environnements extérieurs. Pour le calcul de l’orientation de la tête (le lacet), Percipio
utilise un compas magnétique.
Le Musée de Londres a lancé StreetMuseum [Farman12], une application iPhone
gratuite qui utilise ses collections de photos d’archives associées à la géolocalisation et
à la réalité augmentée. Cette application, consacrée à la capitale anglaise, permet de
retrouver les anciennes photos de lieux actuels, avec en plus un descriptif audio de la
photo prise à l’époque.
2.6.2.2 Spatialisation sonore pour la visite des musées
En plus de la localisation du visiteur dans le musée, notamment le suivi de sa position
et son orientation, quelques chercheurs ont pensé à augmenter la visite du musée
par du son spatialisé pour favoriser l’aspect immersif de la visite.
Le projet ec(h)o [Hatala05] est conçu comme un audioguide interactif pour le musée.Section 2.6. La visite augmentée 35
FIGURE 2.4 – Le casque PERCIPIO 15
Le système capte la position du visiteur qui se déplace dans le musée en utilisant la
technologie RFID et les caméras, et par conséquent, le contenu audio relatif à ce que
regarde le visiteur du musée lui est envoyé via le casque. En plus de la captation de
mouvement, le visiteur interagit avec le contenu audio à l’aide d’un cube en bois de
forme asymétrique qu’il manipule durant sa visite. En dépit de sa fiabilité, l’efficacité de
l’approche est discutable car l’utilisateur spécifie manuellement son orientation à l’aide
du cube. En outre, le système utilise des fonctionnalités limitées de la spatialisation
sonore, notamment l’effet stéréo. Par contre, l’effet binaural n’est pas offert.
Le projet Listen [Eckel01b, Delerue02, GoBmann02, Leprado07, Zimmermann08],
quant à lui a comme but d’explorer l’immersion dans les environnements augmentés
par l’audio, en superposant un environnement sonore virtuel à l’environnement réel.
Ce système a été installé au musée Kunstmuseum de Bonn dans le cadre d’une exposition
comprenant les œuvres du peintre August Macke. Le suivi du visiteur est effectué
en utilisant des caméras infrarouges afin de reconnaître l’objectif monté sur le casque
et sur les objets exposés. Une unité centrale recueille les données de chaque visiteur
correspondant à sa position absolue et à son orientation. Puis, le contenu auditif est
sélectionné, spatialisé en temps réel et envoyé à l’utilisateur à travers un casque d’une
manière binaurale. Néanmoins, Le dispositif de suivie ne permet de suivre que huit
visiteurs simultanément.
Le projet Sound Delta propose, de son coté, une architecture distribuée en combinant
deux architectures locale et centralisée. Il s’agit d’une installation artistique
pour l’interaction en temps réel et de l’exploration simultanée de paysage sonore
[Mariette09, Mariette10]. L’utilisateur porte un ordinateur utilisé comme récepteur au-36 Chapitre 2. État de l’art
dio et il est invité à une expérience d’écoute en se déplaçant dans un espace physique.
L’utilisateur a l’impression que les sources sont en mouvement grâce au changement
des paramètres des sources sonores musicales en fonction de la position et de l’orientation
de l’utilisateur. Le système mobile est constitué d’un ordinateur de poche ordinateur
(Sony Vaio VGN-UX1XN, Windows XP SP3), La localisation est assurée par le
GPS et l’orientation avec le capteur XSens MTi miniature. L’utilisateur porte un casque
ouvert (Sennheiser HD485). Le système distant se compose d’un point d’accès Ethernet
sans fil et un serveur (Apple PowerMac).
Plus récemment, le projet Corona 16 a proposé une visite culturelle en réalité augmentée
audio de l’hôtel de ville d’Aachen, en Allemagne. L’espace audio est composé
de plusieurs sources sonores virtuelles [Heller11, Heller09], correspondant à des monuments
historiques de la ville. Le processus du rendu sonore récupère la position et
l’orientation de l’auditeur ainsi que la position des sources sonores virtuelles pour émuler
une propagation naturelle du son. Les visiteurs découvrent cet espace virtuel audio
en continu uniquement en se déplaçant dans la salle du couronnement. Corona tourne
sur iPhone et son système iOS, à travers lequel l’utilisateur séléctionne l’œvre qu’elle
l’intéresse. Le tracking de la position et de l’orientation de l’auditeur est réalisé à l’aide
d’Ubisense. Il s’agit d’un système de tracking en temps réel qui trace la position de
l’auditeur avec des tags RF intégrés dans les écouteurs. Pour suivre l’orientation de sa
tête, une boussole numérique est également montée sur les écouteurs. Les informations
recueillies sont ensuite remis à un moteur de rendu audio. Apple iOS SDK est livré avec
une mise en œuvre d’OpenAL, qui assure l’effet stéréo, les auteurs ont ensuite étendu
ce rendu par l’ajout d’un filtre passe-bas pour assurer l’effet devant/derrière, et ajouter
des réverbérations.
En comparant les projets cité selon le moyen d’interaction avec le paysage sonore.
Nous trouvons que dans les projets ec(h)o et Corona le visiteur sélectionne les œuvres
dont il souhaite entendre le contenu grâce à une interface manuelle (cube en bois dans
ec(h)o et iphone dans Corona). Quant aux projets Listen et Sound Delta. Ils ont opté pour
une interaction avec le paysage sonore basée uniquement sur la déambulation des visiteurs
dans le musée. Si cette solution a l’avantage de libérer les mains des visiteurs et
de les immerger dans le paysage sonore. Elle a toutefois, l’inconvénient de ne pas donner
au visiteur le moyen de contrôler le contenu audio qu’il désire entendre (arrêter ou
jouer le contenu, augmenter ou diminuer le volume,etc).
2.7 Conclusion
Dans ce chapitre, nous avons commencé par définir le concept de la réalité augmentée,
qui possède un périmètre de définition très large et mouvant. Nous avons situé la
réalité augmentée par rapport à la réalité virtuelle, et nous avons défini le concept de
16. http ://hci.rwth-aachen.de/coronaSection 2.7. Conclusion 37
l’augmentation de la réalité qui peut se faire sur le plan visuel, haptique, sonore, voire
olfactif. Nous nous sommes plus particulièrement focalisés sur l’augmentation sonore.
Après avoir présenté les concepts de l’audition et de la perception humaine du son.
Nous avons présenté l’apport de la dimension sonore dans les systèmes de RA. Dans
un deuxième temps nous avons limité nos champs d’étude aux systèmes de RA sonore
dans le cas particulier de la visite des lieux culturels. Dans la visite de lieux culturels
force est de constater la prolifération d’outils de guidage. Parmi ces outils nous trouvons
les guides multimédias qui se chargent d’assurer cette médiation autrefois assurée
exclusivement par un médiateur humain. Il convient de noter que plusieurs taxonomies
d’audioguides se trouvent dans la littérature. Damala [Damala09] estime que l’on peut
avoir huit critères de classification des audioguides. Ils peuvent être classifiés selon le
média utilisé, la géolocalisation, le contenu stocké, la personnalisation, le contexte social,
la continuité de l’usage et le caractère ludo-éducatif. Nous nous sommes focalisés
dans cette étude de l’état de l’art sur les deux critères suivants : la géolocalisation et la
personnalisation.
Dans la dernière section nous avons fait le lien entre la réalité augmentée et la visite
du musée, nous avons vu, à travers des exemples, comment une visite de musée peut
être augmentée, que ça soit par la modalité visuelle ou sonore. Les tableaux 2.2, et 2.4
représentent un récapitulatif de quelques systèmes de RA étudiés dans ce chapitre.
– La première colonne donne le nom de l’application ou de son auteur principal.
– La deuxième colonne indique le domaine couvert par cette application.
– La troisième colonne précise la nature de l’augmentation du point de vue de la
perception par l’utilisateur. Nous distinguons principalement les augmentations
visuelles et sonores.
– La quatrième colonne indique les dispositifs utilisateur. Ce qui signifie, le moyen
d’interagir avec l’environnement augmenté et le type d’ordinateur pour traiter
les données.
– La cinquième colonne indique si l’application permet ou pas le suivi de la position
de l’utilisateur, et si oui par quelle technologie.
– La sixième colonne permet de préciser si l’application permet ou pas le suivi de
l’orientation de l’utilisateur et par quel type de capteurs.
– La septième colonne précise si la technique de la spatialisation sonore est utilisée
ou pas.
– Enfin la huitième colonne précise si l’application supporte la mobilité. Nous distinguons
: F (l’application est fixe), M (l’application est mobile).38 Chapitre 2. État de l’art
Nom de
l’application ou
de l’auteur
Domaine
d’application
Nature
de l’augmentation
Dispositif Suivi
position
Suivi
orientation
Spatialisation
Mobilité
Ariel
[Mackay98] Architecture Visuelle,
sonore
Table, localisateur
caméras Non Non F
Autonomie
[Lemordant11]
Aide à la
navigation Sonore Smartphone
GPS centrale
inertielle Non M
CARE/PE
[Regenbrecht04]
Télé-
conférence Sonore
Ecouteurs
stéréo, ordinateur
Non Non Stéréo M
Sodnik
[Sodnik06] Jeu vidéo Sonore
Ecouteur
stéréo,
HMD, PC
windows
caméras Non Binaural F
Labyrinthe
[Gaudy08] Jeu vidéo Sonore
Casque
stéréo, PC
standard
Non Non Binaural F
PGS
[Golledge98]
Aide à la
navigation Sonore
Casque,
tél mobile
Nokia
GPS Boussole Non M
Drishti
[Vazquez09]
Aide à la
navigation Sonore Casque GPS Boussole Non M
MOBIC
[Petrie96]
Aide à la
navigation Sonore Casque GPS Boussole Non M
SWAN
[Wilson07]
Aide à la
navigation Sonore
Casque ,
micro
PC(Sony
Vaio)
GPS Boussole Non M
GpsTunes
[Strachan09] Navigation Sonore,
visuelle
UMPC
Sumsung GPS Système
inertiel
stéréo,
panning M
VGH
[Paterson10] Jeu vidéo Sonore,
visuelle casque RFID Non Non M
Ambient Horn
[Randell04]
Promenade
ludique Sonore
Casque,
prototype
Ambient
Horn
Non Non Non F
CyberJacket
[Carro06] Navigation Sonore,
visuelle
carte
Gumstix GPS Boussole stéréo M
Sound Delta
[Mariette09]
Installation
sonore
Sonore
casque
stéréo,
micro
ordinateur(Sony
vaio),
serveur
GPS Boussole Stéréo M
TABLE 2.2 – Tableau de synthèse de la revue des applications de RA (Partie 1)Section 2.7. Conclusion 39
Nom de
l’application ou
de l’auteur
Domaine
d’application
Nature
de l’augmentation
Dispositif Suivi
position
Suivi
orientation
Spatialisation
Mobilité
Audio GPS
[Holland02]
Navigation,
aide à la visite Sonore
casque,
ordinateur
standard
GPS Boussole Stéréo M
Stahl [Stahl07] Visite de zoo Sonore casque GPS Boussole Stéréo M
Terracota
Warios
[Thian12]
Visite de
musée Visuelle iPhone GPS Boussole Non M
Life plus
[Papagiannakis02]
Visite de
musée
Sonore,
visuelle HMD Non Non Non M
Archeo-guide
[Gleue01]
Visite de
musée Visuelle visiocasque
Oui Non Non M
Emane
[Owen05]
Visite de
musée Visuelle - Non Non Non F
Street Museum
[Farman12]
Visite de la
ville
Visuelle,
sonore
iPhone GPS Boussole Oui M
Explorer
[AMNH]
Visite de la
ville Visuelle Ipod
touch GPS Non Non M
Museum Lab
[Mina10]
Visite de la
ville Visuelle Baladeur Non Non Non M
Bederson
[Bederson95]
Visite de la
ville Sonore PC
portable IR Non Non M
Percipio
[Apeloig08]
Visite du
musée
Visuelle,
sonore
PDA GPS , IR Boussole Non M
Hips
[Oppermann99]
Visite du
musée Sonore casque IR Boussole Non M
Ec(h)o
[Hatala05]
Visite du
musée Sonore
casque
stéréo, PC
fixe
RFID Cube,
cameras
Stéréo M
Listen
[Zimmermann08]
Visite du
musée Sonore
casque
stéréo, ordinateur
fixe
(serveur)
Caméras
IR Boussole Binaural M
Navig [Katz10] Aide à la
visite Sonore
casque
stéréo, PC
portable
GPS Boussole Binaural M
Corona
[Heller11]
Visite du
musée Sonore
casque
stéréo,
iphone
Ubisense
Boussole Stéréo M
Artsense
[Stojanovic12]
Visite du
musée
Sonore,
visuelle,
affective
Caméras,
HMD, eye
tracking
- - Binaural M
TABLE 2.4 – Tableau de synthèse de la revue des applications de RA (Partie 2)3
Dispositif du visiteur
3.1 Motivation
3.1.1 Contexte
Le Musée des Arts et Métiers (MAM) interpelle par la richesse fonctionnelle et technique
des œuvres qu’il abrite. En effet, le MAM de Paris, expose environ 4000 objets de
science et de technologie de différents domaines : communication, construction, transport,
mécanique et autres (Figure 3.2). Un ensemble d’objets exposés dans le musée
est présenté dans la figure 3.1. Des joyaux de technologie uniques aussi bien par leurs
formes étonnantes, à la fois les grands (le fardier de Cugnot, l’aéroplane de Clément
Ader, etc.) et les moins grands (les automates par exemple), que par les sons qu’ils
produisent quand ils se mettent en état de marche. Ces sons peuvent être complexes
ou simples, intenses ou légers, tellement caractérisants qu’ils contribuent pleinement à
créer l’identité des objets qui les émettent.
Bruno Jacomy a structuré les objets qui produisent des sons dans le MAM
[Jacomy02]. Il a développé une typologie d’objets sonores se trouvant dans le MAM en
les répartissant en quatre catégories :
Les objets conçus pour produire des sons agréables comme la musique. Comme
exemple nous pouvons citer la salle des automates qui contient plusieurs objets
qui produisent de la musique comme "La joueuse de tympanon".
Les objets qui produisent des sons fonctionnels (horloge, alarme, télévision, phonographe).42
Chapitre 3. Dispositif du visiteur
FIGURE 3.1 – Quelques objets des collections du musée des arts et métiers.Section 3.1. Motivation 43
FIGURE 3.2 – Plan des salles du musée des arts et métiers.44 Chapitre 3. Dispositif du visiteur
Les objets dont le fonctionnement produit des sons (moteurs, le métier à tisser,
outils, instruments scientifiques).
Éléments sonores liées à l’environnement du musée et à ses éléments architecturaux
(appareil multimédia, sol, murs d’écho).
De nombreuses raisons pratiques empêchent de mettre en marche ces machines, ce
qui privent les visiteurs du musée d’informations importantes concernant le fonctionnement
de ces machines. Activer les sons associés aux objets exposés par haut-parleurs
placé à coté de chaque machine serait également inapproprié. En effet, ceci priverait
le visiteur d’une expérience individuelle, et transformerait la visite du musée d’une
expérience personnelle vers une excursion en groupe.
L’idée est donc d’associer à travers de la RAS un ou plusieurs contenus sonores virtuels
aux objets réels exposés au musée, puis de renvoyer à chacun des visiteurs un
contenu audio personnalisé approprié à sa position et à son orientation. Le concepteur
du scénario de visite peut choisir des sons ambiants qui donnent une idée sur l’objet
visité, ou des sons de paroles présentant l’objet exposé, ou même des sons non familiers
pour susciter la curiosité des visiteurs et favoriser l’effet de surprise. Ce chapitre vise
à présenter la structure générale de SARIM, le système que nous avons conçu et développé
pour réaliser notre scénario de spatialisation sonore. Le chapitre commence par
décrire les premières conditions expérimentales qui ont motivé le choix du dispositif,
puis décrit les dispositifs de captation de mouvement utilisés tout au long de la thèse,
avant de finir par présenter le dispositif final retenu.
3.1.2 Choix de conception
SARIM est conçu pour permettre au visiteur du musée de naviguer dans un environnement
physique augmenté par une scène sonore virtuelle. Cette dernière comporte
plusieurs objets sonores liés chacun à une œuvre exposée dans le musée. Pour se faire,
le visiteur doit porter un casque audio sur lequel est fixé un capteur d’orientation et de
position, ce capteur transmet les informations sur la position et l’orientation du visiteur
au système de la spatialisation sonore. Ce dernier consulte les sons contenus dans sa
base de données, met à jour les paramètres de la spatialisation sonore, puis transmettre
le son spatialisé au moteur audio qui le renvoie à son tour d’une manière binaurale au
casque du visiteur.
Bien que le système SARIM s’inscrit dans la ligné de quelques systèmes similaires
de RAS appliqués à la visite de musées, tels que ec(h)o [Hatala05], Listen
[Zimmermann08], Sound Delta [Mariette09, Mariette10] et Corona [Heller11, Heller09],
cités dans le chapitre 2. L’approche suivie est différente par rapport aux approches
existantes. En effet SARIM se distingue de ces systèmes par quelques caractéristiques.
Premièrement, en le comparant à ec(h)o [Hatala05] ou à Corona [Heller11, Heller09] par
exemple, SARIM est un dispositif à utilisation main libre. Il est capable de capter l’orientation
de la tête du visiteur et de calculer son vecteur visuel, sans aucune action de ceSection 3.2. Expérimentations initiales 45
dernier à l’exception de son déplacement et se ses gestes. Deuxièmement, et en le comparant
cette fois à Listen [Zimmermann08] ou à Sound delta [Mariette09, Mariette10],
SARIM offre, en plus de l’adaptation de l’espace sonore aux intérêts du visiteur, un
moyen d’interaction intuitif basé sur les gestes. Celui ci permet à l’utilisateur de mieux
contrôler l’espace sonore. En plus de ça, SARIM est un système entièrement distribué,
ce qui signifie qu’il dispose d’un dispositif autonome pour chaque utilisateur, et que
la gestion du système est réalisée localement. Par conséquent, SARIM peut être utilisé
simultanément par un grand nombre de visiteurs.
3.2 Expérimentations initiales
3.2.1 Scénario : combinaison de l’immersion et la description
Les premières expérimentations informelles de notre prototype ont été réalisées en
utilisant le capteur de position et d’orientation Polhemus Patriot (voir section 3.3.1).
Au sein du laboratoire, dans une salle de 4x4 mètres, trois photos correspondant à des
œuvres du musée ont été disposées sur les murs, tandis que la même scène est reproduite
en temps réelle sur une interface visuelle 3D. Ces expérimentations ont été menées
auprès d’une dizaine de sujets, qui ont expérimenté notre prototype. Par la suite,
d’autres expérimentations informelles ont suivi, et ont été réalisées cette fois dans la
salle des automates du MAM en utilisant le capteur d’orientation Sparkfun IMU 6 DOF
(figure 3.6). L’auditeur porte un casque d’écoute stéréo, sur lequel le capteur de mouvement
est fixé. Son mouvement est analysé en permanence.
Le scénario de visite que nous avons proposé initialement est un scénario qui combine
l’immersion sonore dans le musée à travers des sons ambiants et de la parole dé-
crivant les objets. Lorsque le visiteur entre dans l’environnement sonore, sa position
et l’orientation de sa tête sont automatiquement envoyées au système de spatialisation
sonore. Celui-ci récupère le contenu audio approprié en fonction de la position de l’utilisateur
et de son orientation, puis envoie à l’utilisateur le contenu audio sous format
binaural via le casque. Les actions suivantes ont été expérimentées :
Action 1 : Quand l’utilisateur se dirige vers un objet exposé, il commence à entendre
le son ambiant correspondant à cet objet. Le son est envoyé au visiteur d’une
manière spatialisée. le volume et l’orientation du son, dépendent de la distance
qui sépare le visiteur de l’objet et de l’orientation de la tête du visiteur par rapport
à cet objet
Action 2 : Quand l’utilisateur se positionne entre deux ou plusieurs objets exposés, il
entend simultanément les sons ambiants de toutes les sources sonores correspondants
à ces objets, tandis que chaque son est envoyé au visiteur en fonction de sa
position et l’orientation de sa tête. Puisque des sons différents proviennent de dif-46 Chapitre 3. Dispositif du visiteur
férentes directions et positions, le visiteur doit être capable de localiser les objets
qui l’entourent et d’estimer la distance qui le sépare de ces objets.
Action 3 : Si l’utilisateur s’approche d’un objet exposé et le fixe durant un certain
nombre de secondes (spécifié par le concepteur en utilisant l’outil d’écriture de
scènes sonores), il commence à entendre uniquement la description de cet objet.
Tous les changements dans le contenu audio que le visiteur entend sont effectués
d’une manière fluide et progressive, de sorte que le visiteur ne sente pas de coupures
dans le paysage sonore. Lorsqu’on passe d’une action à l’autre et que le contenu sonore
doit être changé, le volume du dernier son est diminué progressivement au fur et à mesure
que le volume du nouveau son augmente jusqu’à ce que le nouveau son remplace
l’ancien. Cette phase de transition dure quelques seconde.
3.2.2 Rendu sonore
SARIM est conçu d’une manière modulaire qui exige l’utilisation d’un moteur de
rendu sonore binaural. Pour des raisons pratiques, le rendu ”binaural” réalisé dans
notre travail s’appuie sur l’API NativeFmodex 1
(la version native de FMOD). FMOD 2
est une API (Application Programming Interface) de programmation et un outil pour la
création et la lecture du son interactif. Pour créer ”l’effet binaural”, nous avons utilisé
l’HRTF statique de FMOD, à travers le mode FMOD_INIT_SOFTWARE_HRTF qui permet
l’initialisation du système sonore FMOD. Ce mode ajoute un effet filtre passe-bas
qui fait que le son paresse plus terne lorsque la source sonore se situe derrière l’auditeur.
3.2.3 Rendu visuel
Dès le début des développements, nous avons senti le besoin d’avoir un retour visuel
: une interface qui montre les conséquences des gestes du visiteur et le retour sonore
qu’ils produisent. Pour créer un retour visuel, nous avons commencé par concevoir
et réaliser une simulation virtuelle d’une visite du musée guidée par le son. Cela a
été réalisé en créant un mini musée virtuel dans le laboratoire. Chaque objet exposé est
associé à différents types de contenus audio : une description vocale de l’objet, un son
ambiant ou une représentation musicale correspondante à cet objet. Deux modes d’exé-
cution sont possibles dans ce système : Un mode "virtuel" où la position et l’orientation
du visiteur sont saisies manuellement à l’aide de la souris et du clavier. L’utilisateur
peut ainsi simuler un déplacement dans l’environnement virtuel, approcher les objets
et entendre le contenu audio qui leur sont liées. Le deuxième mode, est le mode "réel".
Il est utilisé pour surveiller et monitorer la visite. La position du visiteur et son orientation
sont récupérées à partir du capteur de mouvement. Cet interface n’est pas destinée
1. http ://jerome.jouvie.free.fr/nativefmod/index.php
2. http ://www.fmod.org/Section 3.2. Expérimentations initiales 47
à être utilisée par le visiteur qui aura lui les mains libres, mais plutôt par le concepteur
de scénarios de visite.
De même, deux interfaces graphiques ont été attachées au système : Une interface
3D et une interface 2D (figure 3.3). L’interface 3D, de vue subjective, reproduit en temps
réel le champ de vision du visiteur au même temps que son déplacement. Dans le cas
où le mode virtuel est sélectionné, le visiteur peut naviguer en utilisant un dispositif de
pointage connecté au système (souris, clavier). Dans l’interface 2D, de vue de dessus, le
système affiche la carte des objets sonores et la position et l’orientation du visiteur au
sein de l’environnement du musée. Les objets sont représentés sous forme d’icônes visuelles
tandis que le visiteur est dépeint par une icône et une flèche. L’interface permet
alors au responsable de la visite d’activer ou de désactiver l’émission des son particulier
en cliquant simplement sur l’icône associée. Le type du contenu est représenté par une
liste pour permettre au responsable de la visite de modifier le type de contenu sonore.
FIGURE 3.3 – Interfaces graphiques pour les expérimentations initiales
Une autre interface de vue panoramique a été également développée est utilisé dans
le cadre des expérimentation informelles réalisées au MAM (figure 3.4).
3.2.4 Perception simultanée des contenus sonores
Bien que l’architecture du système prend en charge un nombre illimité de contenus
audio, la question d’une perception optimale des sons est fondamentale pour notre sys-48 Chapitre 3. Dispositif du visiteur
FIGURE 3.4 – Vue panoramique des trois objets sonorisés
tème. Pour cette raison, nous avons effectué un test sur le nombre maximum de sons
différents qui peuvent être distingués, s’ils sont joués en même temps et dans la même
salle. Les participants devaient se mettre sur un point fixe et être acoustiquement entouré
par un nombre variable d’objets audio. Ils avaient le droit de tourner uniquement
leurs têtes. La plupart d’entre eux ont été en mesure de percevoir simultanément jusqu’à
à six sons à la fois. Au-delà de ce nombre, la localisation des objets audio et leur
distinction semblaient être difficile. Pour cette raison, lors de la conception du scénario,
le concepteur doit définir et ajuster le nombre maximum d’objets audio qui vont être
perçus simultanément.
3.2.5 Création de contenus sonores
La création du contenu sonore pour cette première phase a été effectuée par un
compositeur de son 3
, qui s’est chargé de préparer le contenu. La préparation repose
sur l’enregistrement des sons des objets de l’expérience, ou la création de sons similaires
en mixant plusieurs sons, ou en créant des ambiances sonores qui donnent une
idée sur l’objet. Dans cette expérience, nous avons choisi une petite salle du musée qui
comporte trois objets (figure 3.4) : une grande machine électrostatique du 18ème siècle,
un impressionnant moteur de bateau du 19ème siècle. Les deux objets sont placés l’un
devant l’autre à l’est et à l’ouest de l’entrée de la salle. Le troisième objet est l’entrée
dans une seconde grande salle dédiée aux médias. Elle est situé au nord de l’entrée
de la salle. Trois sons ambiants devraient être entendus dans la salle : deux sons provenant
des deux machines et un son composé en provenance de la salle des médias.
Aucune de ces deux machines ne peut être mise en marche, car elles sont très vielles,
3. Cécile LepradoSection 3.3. Captation de mouvement 49
de ce fait, nous ne pouvions pas enregistrer aucun son dans cette salle. L’ingénieur du
son s’est chargé par la suite de composer des sons artificiels correspondants à chaque
objet de la salle. Le son du moteur du navire a été créé en sur-échantillonnant, ralentissant,
et effectuant un filtrage passe-bas à un son d’un petit bateau contemporain. Le
son de la machine électrostatique a été, à son tour, créé en mélangeant un son illustrant
le frottement mécanique des disques de verre et de la manivelle, avec le son de certains
éclairs électriques. Le son provenant de la salle des médias a été créé par le mélange
des sons de certaines technologies des médias connus tels que des imprimantes et des
télégraphes. La création du contenu sonore reste tout de même une discipline à part
entière qui n’a pas été étudiée comme problématique de recherche dans cette thèse.
3.3 Captation de mouvement
De manière générale, la captation du mouvement est employée dans les environnements
virtuels pour enregistrer et suivre dans l’espace la position et l’orientation des
objets physiques. A la différence de quelques autres systèmes similaires de RAS, qui
ont consacré un large espace dans leurs travaux à la problématique de captation de
mouvement du visiteur (voir chapitre 2), nous n’avons pas étudié la captation entant
que problématique de recherche dans notre travail. Nous avons plutôt testé plusieurs
capteurs, en notre possession, tout en se concentrant sur la captation de l’orientation
plutôt que sur celle de la position.
3.3.1 Polhemus Patriot
Le premier capteur utilisé est le capteur PATRIOT 4 de la société Polhemus 5
, qui
permet le suivi de la position et de l’orientation. Bien qu’il s’agit d’un capteur filaire,
inadapté à une visite de musée, PATRIOT a été utilisé en premier lieu afin de valider,
dans une situation réelle de captation de mouvement, le système de spatialisation
sonore développé. PATRIOT comprend, un système d’unité électronique (SEU), une
source magnétique, un capteur et un boîtier de contrôle.
Lorsque PATRIOT est en fonction, la source émet successivement trois champs magnétiques
mutuellement perpendiculaires qui induisent un courant dans les trois bobines
du capteur. A partir de l’intensité de ces courants, qui dépend de la position relative
du récepteur par rapport à la source, le système calcule la position et l’orientation
du capteur. Le champ magnétique étant de faible intensité, il n’est pas possible d’utiliser
le système pour le suivi dans des grands espaces. Le PATRIOT, qui est caractérisé
par une portée utile (Useful Range) réduite à 60 inches, offre ainsi un espace de travail
de la forme d’une sphère de rayon égale à environ 152 mètres. PATRIOT est fournit
4. http ://www.polhemus.com/ ?page=motion_patriot
5. http ://www.Polhemus.com50 Chapitre 3. Dispositif du visiteur
avec un logiciel Polhemus PiMgrGUI qui permet la gestion et le transfert des mesures
de position et d’orientation du capteur. Ce logiciel est adapté uniquement aux systèmes
d’exploitation Windows 2000 et XP.
Pendant nos expérimentations informelles (figure 3.5), le temps de latence entre le
changement de position et de l’orientation de l’utilisateur et la mise à jour du contenu
audio est estimé à 17 millisecondes. Cette valeur est largement inférieure à la perception
auditive humaine estimé à 50 millisecondes. En outre, la vitesse du mouvement de
l’auditeur n’affecte pas la performance acoustique du système.
FIGURE 3.5 – Expérience informelle menée au laboratoire
Après avoir passé la première étape de validation de notre prototype avec le
PATRIOT, l’étape suivante est de choisir un capteur approprié qui va assurer l’autolocalisation.
Ce qui signifie, que le visiteur doit porter sur lui tout le système de localisation,
est ce dernier communiquera directement les mesures de localisation au
système de spatialisation sonore. Ceci va permettre à plusieurs visiteurs d’utiliser le
dispositif simultanément. Nous nous sommes ainsi orientés vers les capteurs inertiels.Section 3.3. Captation de mouvement 51
3.3.2 Centrale inertielle Sparkfun IMU 6 DOF
Les capteurs inertiels tirent leur intérêt de l’utilisation conjointe d’accéléromètres et
de gyroscopes. L’orientation de l’objet sur lequel le capteur est posé, est calculée en intégrant
conjointement les valeurs des gyroscopes, ces dernières étant proportionnelles
à la vitesse angulaire autour de chaque axe. Ces capteurs sont rapides, ne nécessitent
pas d’éléments extérieurs, et ne souffrent d’aucun problème d’occlusion par un autre
objet, ni d’interférences magnétiques, et occupent un espace très réduit. Cependant, ils
ne sont pas précis lorsque les changements de positions sont lents, et restent sensibles
à des phénomènes de dérives, puisque les erreurs s’accumulent en permanence.
Plusieurs modèles de centrales inertielles existent sur le marché. Nous pouvons citer
les produits des sociétés Xsens [B.V.09], Intersense [Inc.10], Sparkfun [Sparkfun07], etc.
Nous avons choisie la IMU-6DOF-V4 de Sparkfun (figure 3.6) vu qu’elle est peu encombrante,
légère, ouverte, documentée et moins onéreuse. En revanche, elle est vendue
sans logiciel de traitement de mesures.
FIGURE 3.6 – Sparkfun IMU-6DOF-V4 [Sparkfun07]
SparkfunIMU-6DOF-V4 combine différents capteurs inertiels. Elle comporte :
– Un accéléromètre à triple axe Freescale MMA7260Q,
– Deux Gyroscopes InvenSense IDG500,
– Deux capteurs magnétiques Honeywell HMC1052L et HMC1051Z.
La centrale inertielle délivre des données brutes en 3 dimensions : vitesse angulaire,
accélération et champ magnétique. En plus de la connexion filaire, elle supporte aussi
la connexion Bluetooth.52 Chapitre 3. Dispositif du visiteur
Nous avons utilisé SparkfunIMU-6DOF-V4 dans le cadre de nos expérimentations
informelles réalisées au MAM (figure 3.7). Cependant, la performance de la centrale
inertielle est limitée en terme de précision et de stabilité du biais sur les mesures, ce
qui est le principal facteur de dérive des techniques de navigation à guidage inertiel.
Plusieurs essais ont été effectués afin de réaliser le calibrage du capteur et la conversion
des mesures brutes vers des mesures fiables d’angles d’orientation (Voir Annexe A.1).
FIGURE 3.7 – Expérience informelle en utilisant Sparkfun IMU-6DOF-V4.
3.3.3 InertiaCube
Le dernier capteur d’orientation que nous avons utilisé est le InertiaCube BT 6 de
la société Intersense (figure 3.10). Il fournit en temps réel les données de l’orientation
via une interface Bluetooth standard. L’InertiaCube BT est un capteur à trois degrés de
liberté, permettant de mesurer les trois angles d’Euler : le lacet, l’élévation et le roulis,
avec une précision annoncée de 1 pour le lacet et 0,5 pour l’élévation et le roulis. La
latence moyenne du système serait de 40ms, mais cette dernière peut également varier
selon l’équipement sans fil utilisé, à l’OS et à la connexion Bluetooth. Le capteur a une
autonomie de 8 à 10 heures et a une connexion Bluetooth avec une porté allant jusqu’à
33m. Le capteur est livré avec un logiciel ISDemo permettant la gestion des mesures
du capteur. Il permet de diffuser les données de captation sur le réseau en utilisant le
protocole UDP. Il permet également de sauvegarder les données dans un fichier tampon
6. http ://www.intersense.com/pages/18/60/Section 3.4. Dispositif expérimental final 53
en local au fur est à mesure de leur réception. C’est cette dernière solution qui sera
utilisée et maintenu pour nos prochaines expérimentations formelles.
3.4 Dispositif expérimental final
Après avoir réalisé de multiples expériences informelles, et testé quelques capteurs
de mouvements, nous avons réalisé un dispositif du visiteur (logiciel et matériel) sur la
base de nos travaux théoriques décrits aux chapitre Model (chapitre 4). Ce même dispositif
a été évalué durant des expérimentations formelles décrites au chapitre Évaluation
(chapitre 5). L’architecture générale du dispositif est décrite par le schéma présenté par
la figure 3.8.
FIGURE 3.8 – Architecture générale du dispositif du visiteur de SARIM.54 Chapitre 3. Dispositif du visiteur
3.4.1 Localisation simulée (magicien d’Oz)
Puisque nous ne faisons pas de captation de position pour traquer la position des
participants, nous avons décidé de simuler l’action de la captation de position par la
technique du magicien d’Oz. Le magicien d’Oz est une technique expérimentale. Elle
est utilisée pour simuler les fonctionnalités absentes d’un système existant, ou dans un
système réel inexistant ou partiellement développé. Elle peut être utilisée également
quand la technique est difficile à mettre en place. Dans la technique du magicien d’Oz,
les participants sont mis en présence d’un système qu’ils croient réel, où une action
ou plusieurs actions sont effectuées par un "magicien" caché. Le comparse doit, tout
en restant à distance raisonnable du participant, à la fois observer l’interaction opérée
par celui-ci et jouer son rôle, sans pour autant interférer avec la tâche du participant.
L’utilisateur pense tester une interface réelle, alors que c’est une personne qui renvoie
à l’utilisateur les réponses de l’interface. Dans notre expérience, cette technique a été
utilisée pour simuler la captation de la position du participant. La simulation consiste
à ce que l’expérimentateur porte l’ordinateur sur lequel l’application de simulation est
installée. Il simule la navigation du visiteur en faisant déplacer un avatar qui représente
le visiteur, au même temps que celui-ci se déplace. Par conséquent, le visiteur entend
le son qui se déplace avec lui sans se rendre compte de ce que fait l’expérimentateur.
Pour le visiteur, sa position est traquée automatiquement par le capteur qu’il porte. A la
fin de l’expérience, une entrevue est menée par le responsable avec chaque participant
à l’expérimentation afin de déterminer si celui-ci s’est aperçu de la manipulation et à
quel moment. Il faut signaler qu’aucun participant à cette expérience n’a perçu que
l’interaction était simulée par le comparse.
3.4.2 Équipement matériel
Nous utilisons un casque 7
stéréo bluetooth de la marque Philips, modèle SHB9100,
de dimensions 14,9 x 17,8 x 7 cm et d’un poids de 0,15kg, avec une porté de 15m et
une autonomie de plus de 10h. Le format spatialisé du contenu audio qui est envoyé au
visiteur justifie le caractère stéréo du casque. Nous avons choisi un casque Bluetooth
pour ne pas encombrer les participants avec les fils. Le port du casque est confortable
grâce aux coussinets, et peut être porté durant toute la visite du musée. Ce modèle
de casque est aussi doté d’un arceau assez large permettant d’accueillir notre capteur
d’orientation InertiaCube.
Le traitement des données de géolocalisation est effectué par un logiciel installé sur
un ordinateur. L’ordinateur doit être porté par le visiteur au cours de sa visite. L’ordinateur
où est installé notre application doit être équipé de la technologie Bluetooth pour
pouvoir communiquer avec le casque et le capteur d’orientation, d’une carte graphique
7. http ://www.philips.fr/c/ecouteurs/supra-aural-noir-shb9100_00/prd/Section 3.4. Dispositif expérimental final 55
et d’une carte son, d’un processeur puissant, d’une autonomie raisonnable compatible
au besoins de l’application et doit être léger (de préférence un netbook).
FIGURE 3.9 – Dispositif SARIM
FIGURE 3.10 – Capteur
InertiaCube BT [Inc.10]
3.4.3 Architecture logicielle
Un logiciel a été conçu pour effectuer les tests de SARIM. Ces tests ont été réalisés
en se servant du capteur InertiaCube qui permet de capter l’orientation de son porteur
mais pas sa position. Il fallait intégrer au logiciel de test un outil permettant de simuler
la position suivant la méthode du magicien d’Oz. Le logiciel que nous avons développé
est composé de quatre modules principaux :
– La captation de mouvement.
– La spatialisation sonore.
– L’affichage graphique.
– La collecte d’informations.
– La lecture audio.
Le module de captation de mouvement est responsable de la récupération des données
de l’orientation de la tête transmises par le capteur InertiaCube. Notre module se
charge ainsi de récupérer ces données produits par ISDemo à partir de ce fichier tampon,
d’en extraire les trois angles d’Euler (le lacet, le tangage et le roulis) définissant
l’orientation du capteur, puis d’appliquer un filtre de Kalman sur chacune de ces trois
valeurs. Ce module s’exécute d’une manière parallèle aux autres modules à travers la
technique du multithreading. Ceci permet une communication plus efficace et évite le56 Chapitre 3. Dispositif du visiteur
blocage des autres modules dû aux latences imprévisibles susceptibles de se produire
pendant la récupération du signal.
Le module de spatialisation sonore s’occupe lui de la spatialisation du son transmis
à l’auditeur suivant sa position et son orientation. Le module se base sur la version
native de la bibliothèque FMOD conçue pour Java. Le module offre plusieurs modes de
spatialisation sonore :
La mode de spatialisation simple qui modifie la nature du son transmis à l’utilisateur
suivant sa position et son orientation.
La sonorisation par l’orientation dans ce scénario, l’auditeur écoute uniquement le
son de l’objet sonore vers lequel il est orienté.
Le mode de spatialisation composée dans ce cas, la spatialisation prend en compte la
dualité zone d’audibilité partagée/exclusive (voir la définition des zones d’audibilité
à la section 4.5.2). Elle permet d’arrêter les sons des zones partagées quand
l’auditeur est en train d’écouter le son d’une zone exclusive. Ce mode de spatialisation
a été utilisé pour l’expérimentation 1 (section 5.3).
La combinaison de la spatialisation et de la sonorisation par l’orientation ici l’auditeur
commence par écouter tous les contenus sonores suivant le scénario de la
spatialisation simple, puis dès que l’auditeur se focalise vers un objet sonore au
delà d’un certain seuil temporel (fixé à 3 secondes), il commence à entendre uniquement
le son provenant de cet objet. Puis passé un deuxième seuil temporel,
l’auditeur entend le contenu audio correspondant à la description de cet objet. Ce
mode de spatialisation a été utilisé pour l’expérimentation 2 (section 5.4).
De la même manière que le module précédent, ce module fait usage de la technique
de multithreading en faisant en sorte que chaque objet sonore soit géré par un processus
indépendant qui n’entrave pas l’exécution des autres traitements sur les autres objets
sonores.
Le module d’affichage graphique est responsable de la création du rendu visuel 2D
de la scène sonore, des zones d’audibilité exclusives et partagées liées à chacun des
objets, et de la position et de l’orientation du visiteur en temps réel. Le module récupère
l’orientation du visiteur à partir du module de captation de mouvement. Il offre
au meneur de l’exécution (dans notre cas l’expérimentateur) la possibilité de spécifier
manuellement la position du visiteur et ainsi simuler son déplacement au sein de l’environnement
sonore suivant la méthode du magicien d’Oz (Voir Image 5.1).
Le module offre deux méthodes pour spécifier la position du visiteur. La première
méthode fait usage des flèches directionnelles du clavier pour permettre à l’utilisateur
de simuler le déplacement continu du visiteur au sein de la scène sonore. La deuxième
méthode permet à travers un clic avec la souris de positionner directement le visiteur
sur un endroit particulier dans la scène sonore. Ce module est développé suivant le
patron de développement logiciel Modèle-vue-contrôleur (MVC) bien adapté pour ré-Section 3.5. Conclusion 57
pondre aux besoins des applications interactives en séparant les problématiques liées
aux trois composants.
Le quatrième module est le module de la collecte des informations de l’expérience.
Ce module, développé également suivant la technique du multithreading, traque en
temps réel l’accès du visiteur aux différentes zones d’audibilité. Il permet ainsi après
une visite de produire des fichiers de type tableur retraçant le parcours du visiteur au
sein de la scène sonore, et marquant les temps d’entrée et de sortie aux différentes zones
visitées.
Pour le programme que nous avons développé, nous avons utilisé le langage de
programmation java et la librairie NativeFmod pour le rendu sonore. le programme comporte
8966 lignes de code.
3.5 Conclusion
Ce chapitre décrit le dispositif du visiteur et les étapes par lesquelles nous sommes
passés afin de réaliser notre objectif de base qui concerne l’augmentation de la visite
du musée par la dimension sonore. Nous avons choisit la visite du musée des arts et
métiers comme cas d’étude pour les raisons suivantes :
– Le manque constaté de l’information sonore dans la présentation des œuvres du
musée.
– L’importance du son pour le type d’ œuvres exposées.
– La localisation du musée par rapport à notre lieu de travail, et la facilité d’expérimenter
dans ce musée (logistique).
– Le contenu sonore qui nous été délivré par le personnel du musée.
Nous avons présenté l’architecture matérielle et logicielle des premiers dispositifs
utilisés pour les premières expérimentations informelles que nous avons menées, puis
nous avons présenté le dispositif final adopté. Ce dispositif a été développé pour réaliser
le système de la modélisation de la visite augmentée décrit au chapitre Modèle (chapitre
4), il a servit également pour réaliser les expérimentations et évaluations décrites
au chapitre Évaluation (chapitre 5).4
Modélisation de la visite augmentée
4.1 Introduction
Modéliser une visite augmentée par la dimension sonore repose sur la description
de tous les composants qui entrent en jeu dans cette visite. Cela revient à modéliser la
scène sonore, le visiteur et sa navigation dans la scène sonore. Dans la première partie
du chapitre, nous illustrons notre objectif par des exemples de scénarios de visite
qui ont motivé ce travail. Nous avons choisi des scénarios libres et d’autres prédéfinis
à vocation ludo-éducatives. Comme scénario prédéfini, nous donnons l’exemple d’un
jeu didactique se déroulant dans la salle des automates ainsi qu’une expérience dans le
laboratoire de Lavoisier. Le parcours libre sera, illustré par une visite dans les salles de
communication qui abritent plusieurs catégories d’ouvres, une découverte du Fardier
de Cugnot, ainsi qu’une visite dans l’escalier d’honneur (section 4.2). Ces scénarios ont
pour but de guider la conception d’un modèle le plus général possible de scènes sonores
et de scénarios d’interaction pour les visites augmentées. La deuxième partie du chapitre
viendra traiter la problématique de la modélisation de la visite augmentée dans
le but de personnaliser le contenu envoyé à chaque visiteur du musée. Cette section
commence par présenter la problématique le la personnalisation du contenu en citant
quelques projets phares. Ensuite nous passons à la présentation des modèles que nous
proposons des différentes entités qui composent la visite : l’environnement de la scène
sonore sous trois couches : physique, virtuelle et sémantique (section 4.5), le visiteur
avec des informations sur son emplacement et ses gestes mais également sur ses pré-
férences et ses intérêts (section 4.6), et finalement le modèle de navigation du visiteur
dans le paysage sonore(section 4.7).60 Chapitre 4. Modélisation de la visite augmentée
4.2 Scénarios de visite
Plusieurs types de scénarios de visite peuvent être proposés. Les scénarios dé-
pendent du mode de la visite (visite libre ou prédéfinie) et de sa finalité (visite à vocation
ludique ou éducative). La visite libre signifie que le visiteur possède un "degré de
liberté" de navigation et qu’il peut choisir librement son parcours. La visite prédéfinie
signifie que le visiteur est invité à suivre un parcours guidé et défini par une chronologie
(un ordre). Toutefois, la visite prédéfinie peut avoir une part de liberté, comme la
visite libre qui peut avoir des indices de guidage. Il en est de même pour les finalités.
Une visite peut être à vocation éducative tout en offrant des éléments ou un environnement
ludique, et réciproquement. Avec les paramètres mode de la visite et finalité,
nous pouvons concevoir un nombre illimité de scénario de visite.
Nous illustrons des exemples de parcours libres et prédéfinis avec des vocations
ludo-éducatives. Comme parcours prédéfini, nous donnons l’exemple d’un jeu didactique
à la salle des automates ainsi qu’une expérience dans le laboratoire de Lavoisier.
Le parcours libre, sera illustré par une visite dans les salles de communication qui
abritent plusieurs catégories d’œuvres, et une découverte du Fardier de Cugnot, ainsi
qu’une visite à l’escalier d’honneur .
Ces scénarios de visite peuvent être classés en quatre catégories : visite prédéfinie
et éducative (didactique), visite prédéfinie et ludique, visite libre et éducative et visite
libre et ludique. Pour la première catégorie de visites : visite prédéfinie didactique, l’objectif
est de proposer un parcours où l’ordre de passage devant les œuvres est important
à des fins éducatifs. Pour cela on peut privilégier des contenus pédagogiques notamment
des enregistrements vocaux correspondant à des explications, des témoignages,
ou autre. Nous avons retenu l’exemple du laboratoire de Lavoisier. Pour le parcours
prédéfini ludique, nous proposons un jeu ludo-éducatif dans la salle des automates.
Jeu ludique parmi les automates
Le scénario proposé s’inscrit dans un parcours prédéfini à vocation ludo-éducative.
Il s’agit d’un jeu proposé au enfants qui visitent le musée, une occasion pour eux de
connaître les automates en jouant. L’expérience permet à l’enfant d’entendre toutes les
explications des automates incluses dans le parcours, et c’est également un moyen de
s’assurer qu’il n’est pas passé à cté d’un automate phare du musée. En pratique, il est
demandé à l’enfant d’identifier l’automate produisant une musique en s’en approchant.
Pour faciliter cette identification, la musique est spatialisée : le son s’adapte à la position
et à l’orientation de l’enfant. Ainsi, l’enfant est guidé par une musique localisée, ce qui
facilite la localisation et l’identification de l’automate qui la produit. Une fois l’automate
trouvé, l’enfant se voit décrire l’automate, puis, une autre musique se déclenche (un
autre automate devant être localisé).Section 4.2. Scénarios de visite 61
FIGURE 4.1 – Laboratoire de Lavoisier
Une expérience didactique dans le laboratoire de Lavoisier
Le laboratoire de Lavoisier (Figure 4.1) comporte des instruments scientifiques, notamment
deux calorimètres, deux gazomètres, deux balances de précision. Ces instruments
ont été utilisés par Antoine Lavoisier pour découvrir la composition de l’eau.
Le scénario vise à jouer l’expérience de la découverte de la composition de l’eau, par
le son, autrement dit, le visiteur reçoit des sons correspondent à chacune des étapes
de l’expérience en entendant le son produit par l’instrument qui est utilisé dans cette
étape.
Le scénario est une sorte de mise en scène sonore dédiée aux enfants, où des souris
font de la chimie pour fabriquer de l’eau. Ce scénario vise à faire connaître aux enfants
l’expérience de la découverte de la composition de l’eau menée par Antoine Lavoisier.
Dans cette mise en scène, l’enfant entendra différents types de sons : bouillonnement,
crépitement et gouttes d’eau ainsi que des commentaires audio. Les différentes étapes
de l’expérience sont illustrées par un ordre de déclenchement de son qui provient de
l’instrument utilisé dans cette étape. Le son est joué d’une manière spatialisée. Ainsi
pour illustrer par exemple l’étape de pesage de l’hydrogène, le visiteur entend un son
provenant du gazomètre se trouvant à sa droite, ce son est composé d’une séquence du
son produit si on pose une masse sur le fléau d’une balance, puis une voix dit : "on pèse
de l hydrogène". Ainsi de suite jusqu’à la fin de l’expérience. Le détail du scénario est
donné dans l’annexe.62 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.2 – Le fardier de Cugnot
Découvrir le Fardier de Cugnot
Le fardier de Cugnot (Figure 4.2) est une œuvre phare du musée, c’est une œuvre
complexe qui produit différents sons associés à chacun de ses composants 1. Par
exemple la chaudière produit un bruit, le piston et les roues aussi, l’idée est de faire
profiter le visiteur des sons produits par ses composants. Ainsi le visiteur entendra le
son produit par chaque partie du fardier comme s’il était en marche. En se rendant
près du fardier, le visiteur entendra un son mixé. Le mixage est fait à partir des sons
produits par les trois composants principaux du fardier : la chaudière, le piston, et les
deux grosses roues. Si le visiteur s’approche d’un composant particulier, il n’entendra
que le contenu sonore associé. S’il y reste pendant un certain temps, il entendra les
commentaires audio associés décrivant le composant en question. Si le visiteur est
entre deux ou plusieurs composants, il entendra le contenu audio du composant qu’il
regarde.
Jouer dans l’escalier d’honneur
L’escalier d’honneur (Figure 4.3) du MAM comporte l’aéroplane de Clément Ader
accroché au plafond, l’horloge de Constantin (première étage) ainsi que le moteur à vapeur
de l’aéroplane (deuxième étage). En bas des escaliers (rez de chaussée), se trouve
le fardier de Cugnot. Pour de nombreux visiteurs, cet escalier est un passage obligé
entre les étages plutôt qu’un lieu d’exposition. Pour valoriser ce lieu, nous proposons
le scénario suivant en associant des contenus sonores et des descriptions didactiques à
1. Une copie fonctionnelle du fardier de Cugnot a été réalisée par l’ENSAM et des entreprises
françaises en 2011 : http ://www.dailymotion.com/video/xilowlreconstruction du f ardier de
cugnottech.UXj7LL9DQ3hSection 4.3. Personnalisation du contenu 63
ces œuvres. Au pied de l’escalier, le visiteur entend le bruit de l’aéroplane lui provenant
par le haut. Lorsque le visiteur s’approche du premier étage (respectivement du
deuxième étage), il entend le bruit de l’horloge (respectivement du moteur à vapeur de
l’aéroplane) qui lui parvient de haut à gauche. S’il s’approche de l’œuvre, le volume
du bruit augmente, et s’il s’y arrête, il entend la description vocale de l’œuvre. Au bruit
des œuvres s’ajoute le pas d’une personne qui accompagne le visiteur selon qu’il monte
ou descende les escaliers. Le visiteur a la possibilité d’être accompagné : il rajoute une
personne en se plaçant à l’endroit où il l’imagine et en hochant sa tête du haut en bas
deux fois. Sinon, il continue sa visite seul. Si le visiteur court, il entend un son d’essouf-
flement qui accompagne. Ainsi, le son produit dépend des mouvements du visiteur
durant sa vitesse.
FIGURE 4.3 – Escalier d’honneur.
4.3 Personnalisation du contenu
Les systèmes qui assurent la personnalisation du contenu sont les systèmes qui ré-
pondent aux besoins de chaque utilisateur, prenant ainsi en compte par exemple ses
intérêts, ses préférences et ses connaissances de base. Ces systèmes à personnalisation
dynmique doivent être en mesure d’observer l’utilisateur et son comportement et faire
des déductions et des prédictions au sujet de ses intérêts pour lui envoyer du contenu
personnalisé approprié [Kobsa01].
La personnalisation dynamique en cours de la visite des musées nécessite des systèmes
interactifs capables de suivre le visiteur pendant sa visite et d’adapter automatiquement
le contenu audio qu’il reçoit selon son comportement.64 Chapitre 4. Modélisation de la visite augmentée
Jusqu’à présent, les projets phares modélisant dynamiquement le profil et le comportement
du visiteur sont les proejts Hips, Hippie [Petrelli01, Petrelli99, Benelli99,
Specht99, Oppermann99], peach [Stock07], ec(h)o [Wakkary07, Hatala04] et Listen
[Zimmermann08]. Ces systèmes proposent des modèles dynamiques qui se mettent
à jour automatiquement, selon trois critères : le style du visiteur, l’historique de la visite
et les intérêts du visiteur.
Le style du visiteur : le type de visiteurs dans le contexte du musée a été largement
étudié dans la littérature [Dean94, Serrell96, Sparacino02]. Véron et Levasserur
[Véron96] classifient les visiteurs selon leurs manières d’explorer une exposition
en les assxociant à des animaux. Ils déduisent ainsi le style de la fourmi qui suit
le chemin du conservateur, puis le style du poisson qui a une vue holistique (globale),
puis le style du papillon qui s’intéresse à toute l’exposition sans suivre le chemin
prédéfini par le conservateur, et finalement le style de la sauterelle qui s’inté-
resse uniquement à des expositions spécifiques. Le projet Listen [Zimmermann08]
adopte cette approche et définit le style du mouvement du visiteur comme un
comportement stéréotypé d’un visiteur du musée en définissant quatre styles de
visiteur : le visiteur déambulant qui marche doucement avec un regard promeneur,
le visiteur guidé par des objectifs qui a un mouvement direct avec la vue
dirigée vers un artefact spécifique, le visiteur debout dont le regard reste fixe sur
un objet, pui le visiteur debout flou qui demeure debout ou assis et qui est caractérisé
par un regard promeneur. Comme dans Listen, le type du visiteur est
calculé à partir de la vitesse et de l’uniformité de son mouvement. Le projet ec(h)o
[Wakkary07, Hatala04] classe les visiteurs en trois types également. Il définit le visiteur
avare, qui n’est pas précipité, et qui aime connaître le plus possible d’information,
le visiteur sélectif qui explore uniquement les objets qu’ils l’intéressent,
et le visiteur occupé qui préfère faire un tour dans le musée et avoir une idée
générale de ce qui est exposé.
L’historique de la visite : l’historique de la visite se construit à partir des objets rencontrés
par le visiteur et des sons affiliés à ces objets. Il représente le comportement
du visiteur, manifesté par son mouvement et/ou sa sélection d’objets. Dans
les projets Hippie et ec(h)o, le visiteur est muni d’une interface tangible (cube en
bois avec un bouton de sélection dans ec(h)o, et un PDA dans HyperAudio, Hips et
Hippie) qui permet au visiteur de sélectionner les objets qui l’intéresse. Concrètement,
dans ec(h)o, le système stocke les données de l’historique sous forme d’ensemble
de points discrets ( espace-temps). Dans Listen l’historique de la visite
dépend de l’œuvre que le visiteur regarde à chaque moment de la visite, et de
l’entité sonore que ce dernier écoute. Dans chaque unité de temps, les informations
selon ses deux entités sont stockées en base de données.
L’intérêt du visiteur : afin d’individualiser et de personnaliser le contenu audio pour
chaque visiteur, les chercheurs se sont interrogés sur les intérêts des visiteurs,
autrement dit comment détecter les objets du musée qui intéressent plus les vi-Section 4.3. Personnalisation du contenu 65
siteurs. Les projets ec(h)o et Listen adoptent une approche dynamique de l’inté-
rêt des visiteurs. En effet, dans le projet ec(h)o, l’intérêt du visiteur sont repré-
senté comme des concepts pondérés de l’ontologie des concepts, chaque objet
exposé est annoté avec une suite de concepts de la même ontologie. Quant au
projet Listen, il adopte l’approche heuristique de Pazzani [Pazzani97] qui suppose
que plus le visiteur passe du temps devant un objet, plus il l’intéresse. Toutefois,
cette hypothèse peut ne pas être vérifiée car il peut y avoir plusieurs raisons pour
lesquelles l’utilisateur s’arrête quelque part (présence d’obstacles par exemple).
Ainsi, les déductions erronées peuvent influer négativement sur la détermination
de l’intérêt de l’utilisateur. Pour prévenir de cette limitation, le projet ec(h)o
[Wakkary07, Hatala04], propose un modèle d’utilisateur permettant au visiteur la
sélection manuelle des objets intéressants, en plus de la captation de la position
et l’orientation des visiteur En effet, le visiteur peut sélectionner les objets qui
l’intéressent et dont il veut écouter le contenu grâce aux boutons se trouvant sur
une interface tangible que le visiteur porte durant sa visite. Le fait de sélectionner
manuellement des objets peut en effet aider à déterminer avec précision les
intérêts des visiteurs, mais l’idée d’avoir les mains libres proposée par Listen se
justifie aussi par la volonté de ne pas encombrer le visiteur et de ne pas préoccuper
son attention et ses yeux avec des boutons et une interface et de le détourner
finalement de son but essentielle qui est de regarder l’œuvre exposée.
Afin de trouver un compromis entre la méthode heuristique et la méthode manuelle
pour la détermination de l’intérêt du visiteur, nous optons pour une troisième voie pour
l’expression des intérêts qui permet de minimiser au maximum le degré d’attention
requise de la part de l’utilisateur pour interagir avec son environnement.
Le modèle SARIM que nous présentons permet aux visiteurs, qui le souhaitent,
d’exprimer leurs intérêts par le moyen de gestes simples et intuitives de tête. Bien que
nous nous basant également sur la méthode heuristique, ces gestes qui permettent au
visiteur de contrôler la scène sonore seront pris en compte dans la déduction et ainsi la
personnalisation de son parcours.
Le contrôle de la scène sonore par les gestes constitue l’une des contributions de ce
chapitre. En outre la structure du modèle général de la visite augmentée proposée est
également novatrice dans la mesure où, une telle modélisation des acteurs majeurs de la
visite augmentée n’a pas été proposée auparavant. C’est une structure qui sépare d’une
manière modulaire et efficace les trois parties du modèle ; la scène sonore, le visiteur et
la navigation. Chacune de ces parties, est elle même structurée en plusieurs couches.
Ceci permet une gestion indépendante des différentes parties, et facilite la paramétrisation
du système. En effet bien que notre système permet trois niveaux différents de
complexité de navigation (la traque, le contrôle et l’adaptation), il est devient plus aisé
de choisir le niveau de navigation le plus approprié à chaque visiteur.
La troisième contribution est l’introduction du concept de Zones d’Audibilité (ZA)
qui permettent une meilleur structuration de la scène sonore. Avec leurs caractéris-66 Chapitre 4. Modélisation de la visite augmentée
tiques géométriques et conceptuelles interactives et hiérarchiques, ces ZA permettent
de créer des scénarios à la fois riches et surprenants.
4.4 Description du modèle
La conception d’une visite augmentée par la dimension sonore nécessite le développement
d’un modèle décrit à travers ses différentes composantes. Trois entités essentielles
composent ce modèle ; la scène sonore, le visiteur, et la navigation faisant interagir
les deux premiers.
La scène sonore est l’entité décrivant l’environnement du musée. Elle est constituée
de trois différents niveaux d’abstraction. Le premier niveau représente l’environnement
physique du musée. Ce niveau est augmenté par un deuxième qui représente l’environnement
sonore virtuel. Ce dernier est lui même augmenté par un troisième niveau
représentant les caractéristiques sémantiques liées aux objets exposés et aux contenus
audio qui leurs sont attribués.
Pour sa part, le visiteur est modélisé à travers différents descripteurs personnels et
environnementaux qui le caractérisent. Ces caractéristiques sont réparties sur plusieurs
niveaux permettant de capter l’emplacement du visiteur, son comportement et ses pré-
férences et intérêts déduits à partir de l’analyse de son parcours au sein du musée.
Les différents gestes et déplacements du visiteur peuvent être interprétés en tant
qu’interactions avec la scène sonore à travers l’entité du navigation. Ce troisième composant
relie la scène sonore et le visiteur et permet de définir différents modes d’interactions
entre les deux. La complexité des interactions varie de l’analyse simple de la
position et de l’orientation du visiteur (niveau traque) pour effectuer la spatialisation
sonore, jusqu’à l’adaptation instantanée de la scène sonore (niveau adaptation) suivant
les préférences du visiteur, en passant par l’interprétation des gestes du visiteur pour
contrôler la scène sonore (niveau contrôle).
L’architecture globale du système est décrite par le schéma présenté dans la figure
4.4.
L’architecture globale de notre système diffère de celle proposée dans le cadre des
projets Hips, ec(h)o et Listen ou encore Deep Map, par la séparation des différents acteurs
majeurs de la visite augmentée. En effet, si le projet Deep Map propose un modèle visiteur
pour personnaliser le contenu, il ne propose pas de modèle de scène sonore. Les
projets Hips, ec(h)o et Listen, quant à eux, proposent des modèles de scène sonore et un
modèle visiteur qui mêlent les données concernent le visiteur et sa navigation dans le
musée. Notre modèle de visite vise à définir séparément les trois acteurs principaux, à
savoir la scène sonore, le visiteur et la navigation. Tout en proposant une spécification
pour chaque acteur.Section 4.4. Description du modèle 67
FIGURE 4.4 – Représentation de la structure de la visite68 Chapitre 4. Modélisation de la visite augmentée
4.5 Scène sonore
Le paysage sonore (en anglais soundscape), est un néologisme subjectif, résultant de
la contraction des mots landscape et sound. A l’origine, il fut défini par le canadien Robert
Murray Schafer comme un environnement de sons. Ce terme s’applique aussi bien à
un environnements physique (au sens réel) qu’à des constructions abstraites, telles que
les compositions musicales ou les montages sur bande, en particulier lorsqu’ils sont
considérés comme faisant partie du cadre de vie [Schafer10, Bosseur96].
Dans un musée proposant un système d’audioguidage, la distanciation entre l’espace
réel et l’espace virtuel est accentuée du fait de commentaires audio décrivant des
groupes d’œuvres, leurs histoires, ou par le son qu’ils produisent. Ainsi, l’entrechoquement
d’éprouvettes et les bouillonnements emplissent le laboratoire de Lavoisier au
musée du MAM et transportent le visiteur au sein d’une expérience scientifique, ce qui
peut faciliter la compréhension non seulement des d’œuvres exposées, mais aussi de
leurs histoires, de leurs fonctionnements ou de leurs utilisations.
En pratique, ce découplage entre espace réel et espace virtuel est rendu possible
grâce à un audioguide équipant le visiteur et incluant plus particulièrement un casque
audio. Ce casque offre la flexibilité nécessaire à la création d’un paysage sonore n’obéissant
pas forcément aux lois de la nature et non soumis à des distorsions sonores, et au
bruit d’environnement. Le contenu audio est ainsi contrôlable et personnalisable. D’un
point de vue architectural, et comme proposé par les modèles de Hips, et Listen le paysage
sonore peut être décomposé en plusieurs niveaux.
Dans notre modèle, nous décomposant la scène sonore en trois couches interdépendantes
:
La couche physique décrit l’environnement physique où le visiteur peut déambuler et
interagir avec le système. Elle contient toutes les informations géométriques sur
l’espace physique et les objets qui le composent.
La couche virtuelle (ou paysage sonore) est organisée sous une forme hiérarchique
qui décrit des zones virtuelles sonores.
La couche sémantique correspond à la description sémantique des zones et du son, et
à leur annotations qui sont organisées dans un thésaurus.
4.5.1 Couche physique
La couche physique est le premier niveau de description de l’environnement du
musée. Elle permet de représenter le modèle géométrique du musée, localiser les salles
d’exposition, leurs accès et leurs fenêtres. Elle permet également de positionner les objets
exposés en spécifiant leurs coordonnées, leurs dimensions et leurs formes. Elle correspond
à la couche dite Word model dans les projets Hips et Listen.Section 4.5. Scène sonore 69
4.5.2 Couche virtuelle
La notion de base du modèle acoustique du soundscape est la source sonore localisée
dans l’espace. Lorsque la position du visiteur le permet, ce dernier perçoit les sons
émis par la ou les sources sonores qui les entourent. Dans certains cas particuliers, il
paraît utile de dépasser le modèle plaquant strictement la réalité physique. En effet, il
pourrait être intéressant de créer des espaces sonores dont la distribution et la forme ne
reflète pas la propagation sphérique d’une onde sonore issue d’une source ponctuelle.
Pour ceci, et afin de maîtriser l’espace d’écoute du visiteur, nous introduisons la notion
de Zone d Audibilité (ZA) qui délimite l’espace dans lequel un son particulier est
audible. L’intérêt de cette approche par ZA est la possibilité de personnaliser l’espace
d’audibilité lié à une source sonore selon le besoin de l’application. Ainsi, il est possible
de créer des zones d’audibilité non conventionnelles (sphériques) telles que des espaces
de formes parallélogrammes ou cylindriques qui s’adaptent au mieux à la géométrie du
musée. L’autre intérêt de cette approche c’est qu’il peut a priori ne pas y avoir de lien
entre les artefacts exposés dans le musée et les ZA, celles-ci peuvent ne correspondre
à aucun objet du musé, ou plutôt à des objets "banals" présents dans le musée (porte
de secours, escaliers, vestiaire, etc). La disposition des sources sonores au sein du musée
peut être libre et aléatoire ou suivant une logique définie. Plusieurs objets exposés
peuvent être réunis dans un seul groupe et être représentés par une seule ZA qui peut
décrire la fonction ou le thème du groupe. Cette ZA peut également être divisée en
plusieurs ZA plus petites représentant chacune un objet ou une partie d’un objet particulier.
L’immersion dans un environnement de RAS peut être mieux appréciée lorsque
les auditeurs sont capables d’apercevoir simultanément des sons provenant de diverses
sources sonores. Ce qui se résume en la création d’une architecture de ZA dans laquelle
plusieurs zones sonores se recouvrent. Ces exigences nous orientent vers l’adoption
d’un modèle virtuel acoustique hiérarchique sous forme d’arbre pour la représentation
des zones d’audibilité. Une zone d’audibilité se caractérise par deux éléments distincts :
le son (soundtoplay) et l’espace (area). Cette dualité se retrouve au niveau de la spé-
cification d’une zone d’audibilité exprimée dans le langage et formalisée à l’aide de
schémas XML (listing 4.1).
Listing 4.1 – Schémas XML d’une zone d’audibilité
1
2
3
4
5
7
9
10
11
12 70 Chapitre 4. Modélisation de la visite augmentée
13
14
15
4.5.2.1 Perception sonore
L’objectif d’associer un des objets du musé des ZA peut être différent selon la nature
des objets exposés et le lieu dans lequel se positionne le visiteur. Dans certains cas, le but
du concepteur de systèmes peut être d’immerger le visiteur dans un paysage de sons
spatialisés émanant de divers objets sonorisés. Ceci peut être particulièrement intéressant
en vue de recréer pour le visiteur l’impression d’être entouré par des machines en
marche. Dans d’autres cas de figure, l’objectif pourrait être d’attirer l’attention du visiteur
vers un objet en particulier et éviter qu’il soit attiré par d’autres sources sonores
moins intéressantes. Ainsi, afin de gérer ces différentes configurations de perceptibilité
des sources sonores, nous introduisons la notion de type de perception de la ZA
(élément perception du listing 4.2 et de la ligne 6 du listing 4.1.
Nous définissons deux types de ZA :
– zone partagée (shared) : C’est une zone qui tolère les recouvrements sonores. Si
cette zone se recouvre avec une autre zone du même type, les sons provenant des
deux zones seront mixés dans leur espace de recouvrement. Le visiteur au sein de
l’intersection des deux zones pourra percevoir les contenus audio provenant des
deux sources sonores différentes.
– zone exclusive (standalone) : le son de cette zone ne peut être mixé avec un autre
son provenant d’une autre source sonore.
Listing 4.2 – Perception
1
2
3
4
5
6
4.5.2.2 Géométrie de la zone d’audibilité
Une zone d’audibilité peut avoir une géométrie particulière au sein de laquelle un
contenu audio spécifique est joué. L’espace (area) occupé par cette zone peut prendre
différentes formes (shape). Plus généralement, comme le montre son schéma XML (listing
4.3), une surface (de type areatype) peut être dépeinte à partir d’un ensemble
(lignes 1-6) de formes simples (de type shapetype). Une ZA prend la forme d’un sphé-
roïde, d’un prisme, d’un cylindre, etc (spheroide, prism, cylindroide).Section 4.5. Scène sonore 71
Listing 4.3 – Schémas XML d’une surface
1
2
3
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
4.5.2.3 Organisation des zones d’audibilité
Pour chaque objet, on peut attacher une zone dans laquelle un son associé à cet
objet est perceptible par un visiteur dans la zone. Une zone peut aussi être associée à
un groupe d’objets, le contenu sonore dans ce cas peut être la description de la fonction
globale ou du thème de ce groupe. En outre, il peut être utile de pouvoir créer
des ZA élémentaires à l’intérieur d’une ZA de groupe où chacune correspondant à une
source sonore particulière. Il serait ainsi possible de décomposer la ZA du soundscape
du musée en sous éléments correspondant aux salles de ce musée, puis aux îlots d’objets
présentés dans les salles, puis éventuellement aux parties de ces objets, si ils sont
volumineux et complexes. L’ensemble défini ainsi un arbre, semblable aux graphes de
scènes utilisés en synthèse d’image.
L’ensemble des zones d’audibilité forment le paysage sonore dans lequel évolue
le visiteur. Les zones d’audibilité peuvent se juxtaposer les unes avec les autres. Dans
l’absolu, ces zones pourraient être organisées de différentes manières.
Chacune des zones est contenue dans une zone mère, à l’exception de la racine
de l’arbre. La figure 4.5, illustre un exemple du modèle hiérarchique. Le Fardier est
associé à une zone mère (f ardier), qui contient des zones filles qui délimitent les parties
du Fardier, notamment la chaudière, le piston, et les roulements. Chacune des zones
produit un son particulier, et par conséquent mérite d’être traitée à part.72 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.5 – Représentation hiérarchique des zones d’audibilité sur le fardier de Cugnot
4.5.2.4 Diffusion du son
Fondamentalement, la perception spatiale d’un son implique la présence d’un axe
de référence qui dans notre cas correspond au visiteur : la spatialisation du son est
adaptée en fonction de sa position et de son orientation.
Le point de référence à partir duquel sont calculées la direction (les angles) et la
distance, se situe au niveau de la tête du visiteur. La source du son est quant à elle, localisée
en fonction de la distance la séparant du visiteur (distance perçue) et des angles
d’Euler calculés par rapport à son vecteur visuel : lacet, élévation, roulis. La perception
d’une source est en cela multidimensionnelle. En pratique, un son se caractérise par
une source 2
, un médium dans lequel le son se propage et une destination (listener) correspondant
ici au visiteur. Ce médium sous-entend un (voir plusieurs) chemin(s) de
propagation entre la source et le visiteur. Le son est de nature omnidirectionnel : il se
propage indépendamment de sa direction et tend à former un champ sphérique (le son
étant identique sur tous les plans perpendiculaires à sa direction de propagation et s’atténue
en fonction de la distance), et cela, à moins qu’une surface réfléchissante ou qu’un
bruit n’altère sa propagation.
Listing 4.4 – Types de son
1
2
3
4
5
6
2. Bien que plusieurs sources puissent être à l’origine d’un son, il est plus simple de le décrire comme
résultant d’une seule source.Section 4.5. Scène sonore 73
Le type de diffusion du contenu audio à l’intérieur de la zone définit si le son est
spatialisé ou non (valeurs spatialised ou uniform qualifiant le type de ”sound” dans le
listing 4.4). L’option spatialisé signifie que le contenu est délivré de manière binaurale.
Il est caractérisé par une source dont la position est donnée (élément location exprimant
les coordonnées cartésiennes de la source), ce qui signifie que les paramètres psychoacoustiques
du contenu sonore sont adaptés suivant la position de cette source.
Listing 4.5 – Types de son
1
2
3
4
5
7
Au contraire, un son uniforme est omnidirectionnel, non localisé, et n’est donc pas
délivré au format binaural. Cette diffusion est appropriée dans le cas d’un contenu
audio lié à un ensemble d’objets ou à une salle du musée.
D’autres caractéristiques du son sont ici définies (comme par exemple, la répétition
du son, et la latence entre deux répétitions).
L’ensemble des sons forme une collection sonore exploitée pour former un paysage
sonore correspondant ici à une visite augmentée. Ces collections composées de zones
d’audibilités peuvent être annotées de façon à former un catalogue. Une fois ses collections
annotées, classifiées par thème et catégorisées, la description résultante pourra
être exploitée pour identifier facilement des groupes distincts de zones d’audibilité. Et
ainsi les classifier selon le choix du visiteur.
4.5.3 Couche sémantique
L’espace du musée se décline par sujet et thématique plutôt que par une organisation
géométrique ou architecturale.
Chacune des zones d’audibilité peut être décrite par un ensemble de descripteurs
correspondant à la fois à l’objet (aux objets) se trouvant dans cette zone, mais également
au son diffusé dans cette zone. Certaines ZA peuvent se partager les mêmes descripteurs,
surtout dans le cas où les objets associés à ces ZA assurent les mêmes fonctionnalités,
ou quand les sons associés ont les mêmes caractéristiques. Il est ainsi essentiel
d’assurer la compatibilité et l’interopérabilité du point de vue de la sémantique de ces
descripteurs et de dépasser l’ambiguïté du langage naturel dans la description des ZA.
Un thésaurus constitue un élément utile pour décrire de façon structurée des informations
sous la forme d’un ensemble de concepts représentés par des termes. Les
termes d’un thésaurus sont organisés hiérarchiquement, ce qui permet d’adapter la pré-74 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.6 – Exemple d’un thésaurus
cision lors de l’indexation et de la recherche. Les thésaurus sont souvent utilisés pour
indexer des documents ou des objets dans une banque de données bibliographiques.
Se référer à un thésaurus existant permet d’homogénéiser l’indexation puisque celle-ci
ne dépend plus de la culture ou du domaine de l’indexeur. De nombreux thésaurus ont
été établis. Parmi les plus connus, nous pouvons citer Motbis 3, un thésaurus édité par
le Ministère de l’Éducation nationale en France et portant sur le domaine de l’enseignement
général. Trois types de relations unissent les termes d’un thésaurus :
– une relation hiérarchique stricto sensu reliant un terme générique à un terme spé-
cifique,
– une relation d’équivalence reliant deux termes synonymes,
– une relation d’association reliant deux termes sémantiquement connexes.
A des fins de simplification, et puisque les thésaurus utilisés seront développés pour
un nombre limité d’objets, nous utilisons uniquement des relations hiérarchiques pour
relier les termes. Nous utilisons la notion de thesaurus pour décrire la structure des
concepts décrivant les objets des ZA et aussi les concepts décrivant les contenus audio.
La figure 4.6 illustre un exemple de thésaurus composé d’un ensemble de concepts
correspondant à une partie des objets exposés dans le musé, et la figure 4.7 représente
un thésaurus permettant de donner une idée sur les concepts qui décrivent les différents
contenus sonores proposés aux visiteurs.
Comme le montre le listing 4.6, un thesaurus portant sur les sujets ou les sons (thesaurus)
est organisé hiérarchiquement ; chaque concept dispose donc d’un père (attribut
parent du listing 4.7).
Listing 4.6 – Schémas XML d’un thésaurus
1
3. http ://www.cndp.fr/thesaurus-motbis/site/index.phpSection 4.5. Scène sonore 75
FIGURE 4.7 – Exemple d’un thésaurus du contenu sonore
2
3
5
6
Listing 4.7 – Schémas XML d’un concept
1
2
3
4
5
6
A titre d’illustration (listing 4.8), la zone d’audibilité correspondant au fardier de
Cugnot est décrite par les concepts automobile, transport, moteur à vapeur, 1750-1850.
Listing 4.8 – Description XML
1
2
3
4
5
6
La couche physique proposée dans notre modèle de visite est similaire au Word model
dans les projets Hips et Listen, quant à la couche virtuelle, elle est basée sur la notion
de zone d’audibilité (voir la section 4.5.2), qui constitue le noyau de cette couche. Une76 Chapitre 4. Modélisation de la visite augmentée
ZA est définie comme le moyen pour délimiter, dans un espace 3D, la diffusion d’un
son. C’est plus sa géométrie en 3D, la capacité d’organisation de ZA (intersection, et
d’hiérarchie), ses caractéristiques de diffusion du son (centralisé ou pas autours d’une
source sonore), son type (partagée ou exclusive) qui fait de cette ZA une notion novatrice
qui n’a pas été traité auparavant dans la littérature. Par ailleurs, une fois annotées
et classifiées par thèmes, ces collections sonores formées par l’ensemble des zones
d’audibilités et des sons affiliés peuvent être exploitées sous la forme de catalogues (au
travers d’un thésaurus). Ainsi, leur exploitation s’en trouve-t-elle facilitée.
4.6 Visiteur
Bien qu’il soit impossible de modéliser un visiteur dans son contexte général, il est
nécessaire de proposer un modèle comportemental traçant son évolution au sein du
musée.
Tout comme le projetec(h)o, le modèle du visiteur dans le projet Listen se compose de
trois parties : l’historique de la visite, le type du visiteur analysé à partir de son style de
mouvement, et les intérêts du visiteur. Dans notre cas, afin d’étudier le comportement
du visiteur, il est nécessaire de traquer son activité au sein du musée. C’est à dire son
déplacement, ses arrêts, son focus (les objets qu’il regarde), et ses gestes pour pouvoir
construire son profil.
Nous procédons à la création du modèle du visiteur suivant différents étapes et
niveaux. Chaque étape se conclue par la définition de différents descripteurs qui permettent
de distinguer les caractéristiques du visiteur (Figure 4.8) :
Profil du visiteur. A son arrivée au musée, le visiteur est invité à communiquer des
informations le concernant (§4.6.1). Seules quelques informations sont demandées
de façon à ce que ce feedback soit limité. A partir de ces informations, qui
constituent le profil du visiteur, des hypothèses concernant les caractéristiques de
celui-ci sont faites de façon à aiguiller le visiteur vers des parcours de visite qui
pourront l’intéresser.
Captation spatiotemporelle. La position du visiteur au sein du musée est continuellement
analysée sur la base de son déplacement, de son orientation et de sa vitesse
du mouvement.
Captation gestuelle et acoustique. Sur la base d’un modèle formel de descriptions de
gestes, les mesures issues du niveau de la captation spatiotemporelle sont analysées
pour inférer les gestes que le visiteur réalise pendant son déplacement. Ses
mesures sont également utilisées pour déduire la ZA dans laquelle se trouve le
visiteur, ainsi que l’objet que le visiteur regarde. Ceci est réalisé en se basant sur
le modèle virtuel acoustique de la section (§4.5.2)
Signature d’intérêt. A partir du profil du visiteur et des informations acquises dynamiquement
à partir de son comportement, des hypothèses concernant les préfé-Section 4.6. Visiteur 77
rences du visiteur peuvent être inférées. En pratique, ces hypothèses permettent
d’établir un modèle de visiteur, appelé signature d’intérêt, (§4.6.4) à partir de laquelle
la personnalisation ou l’adaptation du parcours est effectuée au fur et à
mesure que le visiteur découvre de nouvelles œuvres (section §4.7).
FIGURE 4.8 – Le modèle du visiteur.
En outre la couche gestuelle est ajoutée, ce qui permet de capter et interpréter les
gestes des visiteurs pour une meilleure personnalisation du contenu envoyé à chaque
visiteur. Par ailleurs , si l’historique de visite dans Listen a comme objectif d’empêcher la
lecture répétitive du même contenu audio. Dans notre modèle, celui-ci a deux objectifs :
recalculer la signature des intérêts du visiteur (voir section 4.6.4) qui permet d’adapter
son parcours pendant la visite, puis de garder des traces pour les visites postérieurs.
Dans une deuxième visite, le visiteur aura le choix entre prendre en considération ses78 Chapitre 4. Modélisation de la visite augmentée
préférence durant la précédente visite, soit de partir sur une nouvelle expérience de visite
qui va recalculer à nouveau une nouvelle signature d’intérêts. En outre, dans Listen
l’historique est un simple log (fichier) qui trace l’identificateur de l’objet, l’identificateur
du son et le temps. Dans notre modèle du visiteur, l’historique constitue une base de
donnée qui sauvegarde les comportements du visiteur durant sa visite.
4.6.1 Profil
En amont de la visite, le visiteur est invité à communiquer des informations le
concernant, telles que son âge, sa langue, ses centres d’intérêts, les domaines qu’ils
l’intéressent parmi ceux du musée (comme exprimé au sein du thésaurus), et s’il s’agit
ou pas de sa première visite du musée. Ces données sont utilisées afin de sélectionner
le parcours le plus adapté comme par exemple le parcours ludique destiné aux enfants,
parcours pour adulte, amateur ou expert. Ces informations permettent également de
configurer l’audio-guide en fonction de la langue par exemple, et du fait qu’il s’agisse
ou non d’une première visite. Notons que le fait qu’un utilisateur ne soit pas porté à
effectuer des actions pour lesquelles il ne perçoit pas d’intérêt ou de bénéfice immédiat
est un phénomène connu depuis plusieurs décennies dans le domaine des interfaces
homme-machine [Carroll87]. Ainsi, la quantité d’informations demandée à l’utilisateur
doit-elle être réduite au minimum ou obtenue par des méthodes indirectes. Par ailleurs,
les intérêts d’un visiteur sont amenés à varier durant sa visite du fait de sa navigation
dans le musée et de ses découvertes. Or, demander un feedback au visiteur durant sa
visite, ou encore, requérir qu’il attribue des scores, négatifs ou positifs, aux œuvres l’intéressant
ou non, ou encore qu’il mette à jour ses centres d’intérêts ne constitue pas une
solution viable. Il est ainsi plus approprié d’observer les interactions, et sa navigation
dans le musée, sans pour autant être (ou paraître) intrusif ou encore entraver sa liberté
de mouvement, de façon à en inférer dynamiquement les intérêts dudit visiteur.
4.6.2 Captation spatiotemporelle
Traquer le visiteur consiste à définir sa position et son orientation de façon à en
déduire son vecteur visuel, sa vitesse de déplacement et de rotation. Plus simplement,
il s’agit de répondre aux questions suivantes : où est le visiteur ? dans quelle direction
regarde-t-il ? à quelle vitesse il se déplace ? et à quelle vitesse il tourne sa tête ?
La position du visiteur à l’instant t est exprimée par les coordonnées cartésiennes
(x(t), y(t), z(t)). L’orientation quant à elle est définie par les trois angles d’Euler : le
lacet, le tangage et le roulis
A partir de la position et de l’orientation, sont établies la vitesse de déplacement
V(t) et la vitesse angulaire ω(t).Section 4.6. Visiteur 79
4.6.3 Captation gestuelle et acoustique
Les différentes mesures calculées au niveau de la captation spatiotemporelle sont
analysées pour déduire des informations concernant les gestes que le visiteur réalise
avec sa tête. Ces gestes peuvent être utilisés comme moyen d’interaction avec la scène
sonore pour contrôler le flux audio ou pour répondre aux questions posées à travers
l’audioguide (voir section 4.7.2).
L’administrateur du système a ensuite la possibilité de définir autant de gestes qu’il
le souhaite en utilisant les descripteurs élémentaires qui sont le temps, et les trois angles
d’Euler. Dans notre cas, la définition se fait à travers des diagrammes UML exploitables
par le système. Un exemple de définition de gestes est décrit par la figure 4.9.
Les gestes sont définis à travers un langage à base de règles qui permet de décrire
un geste en se basant sur des indicateurs du niveau inférieur tels que l’orientation, la
vitesse, le temps, etc. Par exemple, les gestes suivants peuvent être définis :
Réponse négative (dire_non) (Figure 4.9) : mouvement 4 rapide allant de gauche à
droite révélé par un changement prononcé du lacet.
Réponse affirmative (dire_oui) de haut en bas révélé par un changement de l’élé-
vation.
Expectative (ou peut être) ((balancerTte)) correspondant à une variation du roulis.
En plus des informations de captation gestuelle, les informations sur le positionnement
du visiteur au sein de l’environnement acoustique virtuel sont collectées. Deux
informations importantes sont requises, la (ou les) zone(s) d’audibilité dans laquelle
(lesquelles) se trouve le visiteur, et l’objet le plus proche du vecteur visuel du visiteur
(le focus). Ceci est fait en se basant sur le modèle acoustique de la scène sonore défini
précédemment. Une fois collectées, ces informations de captation sont sauvegardées
dans un historique en vue d’une exploitation on-line c’est-à-dire effectuée au cours de
la visite ou de la conception ou encore d’une exploitation off-line c’est-à-dire ultérieure
et permettant d’établir des statistiques. Dans les deux cas, cet historique est utile à l’établissement
des centres d’intérêt de chaque visiteur.
4.6.4 Signature d’intérêt
La signature d’intérêt est une notion introduite pour repérer les préférences du visiteur
par rapport aux différentes catégories et classes d’objets et de contenus sonores
présentés à travers la couche sémantique du modèle de la scène sonore. En effet, après
la constitution d’une première idée sur les intérêts du visiteur lors de la création de
son profil, un parcours prédéfinit est proposé au visiteur. Cependant, ce parcours peut
contenir des classes d’objets ou de contenus sonores qui n’intéressaient guère le visiteur,
et sur lesquels le visiteur n’aimerait pas s’attarder. De la même manière, le par-
4. Une adaptation par rapport à la langue de visite est envisageable afin d’adapter la signification du
mouvement à la culture du visiteur.80 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.9 – Diagramme d’états-transitions du geste ”réponse négative”Section 4.6. Visiteur 81
cours pourrait contenir un petit nombre d’objets appartenant à une classe précise qui
intéresserait le visiteur et pour laquelle il aimerait découvrir plus d’objets.
L’objectif est ainsi d’établir dynamiquement, et pour chaque utilisateur, une liste
de préférences détaillant pour chaque classe d’objets ou de contenus sonores un score
d’intérêt reflétant l’importance qu’elle représente pour le visiteur.
C’est ce que nous avons appelé par la suite une signature d’intérêt. Cette liste est
inférée à partir des informations de captation : zone d’audibilité activée, le focus, la
durée et aussi les gestes collectés durant la visite (voir la section 4.6.5).
Signature d intérêt = {(tag,valeur) où tag {concepts du thésaurus} et val N}
La figure 4.10 montre dans un diagramme de classe UML la liaison entre le visiteur
et les tags du thésaurus de la couche sémantique de le scène sonore.
FIGURE 4.10 – Liaison entre le visiteur et les tags du thésaurus.
Nous nous inspirons de l’approche de Pazzani [Pazzani97] qui a observé que l’inté-
rêt que porte un visiteur à un objet est déterminé par le temps passé à le regarder. Le
fait de fixer un seuil de temps permet de discrétiser les œuvres particulièrement inté-
ressantes. En pratique, si le visiteur se trouve dans une zone pendant une durée supé-
rieure à un seuil donné, ou encore si le visiteur fixe la zone (pour une durée supérieure
au seuil), alors le visiteur est supposé apprécier le contenu de cette zone. Au niveau
de la dépréciation, plusieurs choix subsistent et sont sujets à discussion et évaluation.
Le fait de ne pas passer de temps devant une œuvre ou quitter l’œuvre avant que le
contenu audio associé soit terminé ou d’éviter une salle peut être considéré comme
une dépréciation, ainsi que le geste d’interrompre le contenu audio. En tant que telles,
ces informations ne peuvent être exploitées afin de déterminer les centres d’intérêts de
l’utilisateur. Elles doivent être confrontées à des domaines, et des types de contenus
audio.
Dans cette optique, nous nous basons sur les concepts définis à priori, organisés
dans le thésaurus sous une forme hiérarchique en annotant les zones d’audibilité. L’annotation
est effectuée non pas uniquement au niveau des sujets des zones mais aussi au
niveau des contenus sonores associés. En effet, le visiteur peut manifester son intérêt
ou désintérêt pour une zone sans que le système sache si le visiteur juge le sujet de la82 Chapitre 4. Modélisation de la visite augmentée
zone ou le son l’accompagnant. C’est pour cette raison qu’un traitement supplémentaire
est effectué pour distinguer l’intérêt/désintérêt du visiteur par rapport au sujet de
celui par rapport au son (figure 4.11 ). Ainsi si l’algorithme déduit que l’utilisateur apprécie
un sujet (resp. un son) particulier associé à une ZA, les scores d’intérêt des tags
décrivant ce sujet (resp. ce son) seront tous relevés de 1. Au contraire, si l’algorithme
déduit que l’utilisateur montre un désintérêt, les scores des tags correspondants seront
diminués de 1.
FIGURE 4.11 – Analyser les préférences.
4.6.5 Historique
L’historique du visiteur est analysé et stocké durant et après la visite. Il dépend
des paramètres zone, focus et position. L’historique s’alimente à partir des différents
descripteurs du visiteur. Comme le profil, qui à son tour, s’alimente dynamiquement
de l’historique (relation de va et vient).
L’historique de la visite qui n’est rien d’autre qu’une base de données, qui est renseignée
au fur et à mesure de la visite.
Un démon, qui est exécuté en arrière plan, analyse en permanence les positions et
orientations du visiteur. Il se base sur les la couche acoustique de la scène sonore ainsi
que sur l’ensemble des définitions de gestes pour calculer directement les descripteurs
de la deuxième couche du modèle du visiteur, qui sont la zone ayant le focus, la zone
dans laquelle se trouve le visiteur, et le geste effectué par le visiteur. La figure 4.12
représente un diagramme de classe modélisant les classes qui participent dans la création
de l’historique. A chaque opération de mise à jour des tables Focus_Vers_Zone,Section 4.7. Navigation 83
ET_Dans_Zone, et E f f ectuer_Geste des préférences du visiteur, le même démon réévalue
les valeurs de la table Avoir_score_dInteret suivant l’algorithme de l’analyse des
préférence décrit par la figure 4.11.
FIGURE 4.12 – Diagramme de classe de l’historique.
Ainsi le modèle du visiteur (Figure 4.8) organisé par couches dont les niveaux de
descripteurs vont du plus basique (captation, profil) aux niveaux les plus élevés (signature
d’intérêt) permet d’adapter et de personnaliser à la fois le paysage sonore mais
aussi plus généralement le parcours et la visite.
4.7 Navigation
Le modèle de navigation décrit les traitements réalisés en réponse aux comportements
du visiteur lors de sa visite du musée. Il vise à interpréter les actions du visiteur
pour interagir avec la scène sonore.
La navigation du visiteur dans les 2 projets ec(h)o et Listen est structurée en deux
niveaux :84 Chapitre 4. Modélisation de la visite augmentée
Niveau 0 : appelé aussi macro chez ec(h)o et contrôles continus chez Listen, c’est le
niveau où le visiteur interagit avec le paysage sonore uniquement par son mouvement,
notamment sa position et/ou son orientation qui sont traquées automatiquement.
Niveau 1 : appelé micro chez ec(h)o et événement chez Listen, il s’agit du niveau le
visiteur interagit avec le paysage sonore par la sélection directe(ec(h)o), ou passer
du temps devant le même objet( Listen).
Dans notre modèle de navigation, le flux audio diffusé au visiteur, le paysage sonore
dans lequel il évolue, et le parcours de visite qu’il emprunte sont modifiés suivant son
déplacement, sa gestuelle et ses préférences.
Trois modes d’interaction sont alors définis dans ce modèle :
Traque : c’est la mise à jour continue du contenu audio spatialisé diffusé au visiteur
qui se base sur la position et l’orientation de ce dernier au sein de la scène
sonore.
Contrôle : il s’agit du fait de donner à l’utilisateur la possibilité de contrôler, la
diffusion sonore indépendamment du fonctionnement prévu par la spatialisation,
en lui permettant de contrôler le volume, d’activer ou désactiver des objets de son
parcours, ou de stopper la diffusion d’un contenu audio, à travers des gestes.
Adaptation : il s’agit de l’exploitation de la signature des intérêts pour adapter
le parcours du visiteur sur la base de ses préférences inférés au cours de son
parcours.
Les trois modes sont organisés de manière concentrique de façon à ce que chaque
mode satisfait également la fonction de celui qu’il contient.
4.7.1 Traque
La traque est le premier noyau de navigation où le visiteur interagit avec le paysage
sonore uniquement à travers son déplacement dans les salles du musée. En effet,
la position du visiteur et son orientation, lui permettent de recevoir le contenu spatialisé
adapté à son déplacement. L’intérêt de ce mode est d’immerger le visiteur dans le
paysage sonore du musée et créer un environnement sonore qui interagit avec le mouvement
du visiteur.
Le protocole du mode Traque est donné par la figure 4.13 et le diagramme d’activités
(figure 4.14). Ce protocole se base sur la notion de zone d’audibilité qui délimite
l’espace dans lequel le son est entendu par le visiteur. Si un visiteur se trouve à l’inté-
rieur de l’espace géographique délimité par une zone d’audibilité, alors cette dernière
est activée. Rappelons que les zones d’audibilité sont appelées à se juxtaposer les unes
avec les autres, ce qui requiert de composer les sons en résultant. Ainsi, un visiteur peut
se trouver dans une zone géographique à l’intersection de deux zones d’audibilité, Aj
et Ak (j = k), qui se juxtaposent et partagent toutes deux la même zone mère Ai, c’est-à-Section 4.7. Navigation 85
dire que visiteur Ai Aj Ak. Dans ce cas (listing 4.9), nous devons différentier deux
cas :
– Aj et Ak sont de type partagées (lignes 1-3 du listing 4.9).
En d’autre termes, Aj.perception = shared et Ak.perception = shared. Dans ce
cas, les sons (mixés) correspondant aux deux zones sont entendus par le visiteur
(Aj k.sountoplay),
– Aj et Ak sont toutes deux exclusives (lignes 5-7 du listing 4.9).
Ainsi, Aj.perception = standalone et Ak.perception = standalone. Un seul son est
entendu par le visiteur (Aj k.sountoplay), soit celui correspondant à la zone Aj
soit celui de Ak : Aj k.sountoplay . Dans les faits, il s’agit de celui regardé par le
visiteur.
– Dans le cas où l’une des zones serait exclusive (lignes 10-12 du listing 4.9) - notons
5 cette zone Aj - et l’autre zone Ak serait partagée, alors comme dans le cas
précédent seule la zone regardée par le visiteur est entendue de façon à se prémunir
d’un son non audible provenant par exemple du mixage de deux dialogues.
Listing 4.9 – Contrôle des zones d’audibilités
1 IF ( visiteur Aj Ak) Aj.perception = shared
2 Ak.perception = shared
3 DO Aj k.sountoplay
4
5 IF ( visiteur Aj Ak) Aj.perception = standalone
6 Ak.perception = standalone
7 DO Aj k.sountoplay
8
9 IF ( visiteur Aj Ak) Aj.perception = standalone
10 Ak.perception = shared
11 DO Aj.sountoplay
Les relations existantes entre une zone parent Ai et une zone fille Aj sont assez
proches.
– Ai et Aj sont partagées (lignes 1-3 du listing 4.10). Dans ce cas, le son de la zone
fille est en premier plan (in Background Ai.sountoplay ) alors que celui de la zone
mère est joué en arrière plan (in foreground Ai.sountoplay),
– Ai et Aj sont toutes deux exclusives (lignes 5-7 du listing 4.10), le son dont la zone
est regardée est entendu.
– Si une zone est exclusive (lignes 9-11 du listing 4.10) et l’autre est partagée, seule
la zone regardée par le visiteur est entendue.
Listing 4.10 – Contrôle des zones d’audibilités
1 IF ( visiteur Ai Aj) Ai.perception = shared
2 Aj.perception = shared
5. sans manque de généralité86 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.13 – Protocole de la navigation en mode Traque dans le paysage sonore
3 DO in Background Ai.sountoplay in foreground Ai.sountoplay
4
5 IF ( visiteur Ai Aj) Ai.perception = standalone
6 Aj.perception = standalone
7 DO Ai j.sountoplay
8
9 IF ( visiteur Ai Aj) Ai.perception = standalone
10 Aj.perception = shared
11 DO Ai j.sountoplay
4.7.2 Contrôle
Le mode Contrôle est un mode qui englobe celui de la Traque, mais qui permet un
contrôle plus avancé du paysage sonore à travers des interactions volontaires du visiteur.
En effet, en plus de réaliser le suivi du déplacement du visiteur et la spatialisation
du contenu audio qui lui est diffusé, ce mode autorise le visiteur à contrôler le paysage
sonore par des gestes simples de sa tête. Ce mode d’interaction qui est basé sur les
gestes de la tête, a été adopté pour sa simplicité et son aspect intuitif. Ainsi, il permet à
l’utilisateur de garder ses mains libres sans l’encombrer avec des dispositifs technologiques
qui éloigneraient son attention des œuvres exposées et des sons diffusés. Aussi,
disposer d’un système qui capterait les trois angles d’Euler correspondant aux diffé-Section 4.7. Navigation 87
FIGURE 4.14 – Protocole de la navigation dans le paysage sonore en mode traque88 Chapitre 4. Modélisation de la visite augmentée
rents mouvements de la tête du visiteur offrirait une large expressivité qu’on pourrait
exploiter pour définir un pseudo langage d’interaction entre le visiteur et le paysage
sonore.
Le mode Contrôle est modélisé au travers d’un langage déclaratif (en anglais declarative
rule based language for expressing contraints) qui se prête à l’expression de règles
et de contraintes. Une règle est exprimée sous le format suivant (listing 4.11) : dans
un contexte donné (context), une condition particulière (condition) mène à une action
(action) possiblement répétitive (WHILE (parameters)).
Listing 4.11 – Règle de contrôle
1 IN ( context ) , IF ( condition ) WHILE ( parameters )
2 DO ( action )
Nous souhaitons que la visite reste le plus possible naturelle et que l’interaction se
rapproche au maximum de l’implicite que de l’explicite. Nous voulons éviter d’exiger
des visiteurs la réalisation des gestes complexes qui pourrons les incommoder pendant
la visite.
En effet, l’objectif est de composer un langage assez expressif qui permet d’exprimer
un maximum de commandes. Ceci devra être fait en utilisant des gestes simples
et élémentaires que les hommes emploient en général pour exprimer rapidement des
prises de positions. Ces gestes, comme expliqué dans la section 4.6.3, peuvent être :
dire_oui en levant la tête et baissant la tête, dire_non en tournant la tête de gauche à
droite, balancer_Tte en la faisant pencher la tête de droite à gauche. Des arrêts prolongés
devant les objets peuvent être également interprétés comme un geste et pourra être
utilisé dans l’interaction avec l’environnement sonore.
Le concept de contexte est ainsi introduit comme étant un contexte d’interactivité
avec l’environnement sonore. Dans chaque contexte l’interprétation des gestes réalisés
par le visiteur peut être différente. Le visiteur pourra naviguer par un geste simple et
unique balancer la tête. Il peut ensuite sélectionner un contexte par un geste de dire oui
après une éventuelle demande de confirmation audio. Il accède ainsi à une interaction
par gestes pour contrôler l’environnement sonore.
La figure 4.15 montre un exemple d’une carte de navigation par les gestes que le
concepteur peut définir à travers les règles de contrôle.
Nous définissons 4 contextes :
– Le contexte Normal_visit qui renvoie vers le mode par défaut d’une visite. Dans
ce contexte, trois gestes du visiteur vont être interprétés comme interactions avec
la scène sonore. Le geste dire_Oui permet d’activer la ZA associée à un objet devant
lequel est arrêté le visiteur et qui correspond le plus au profil du visiteur. Le
geste dire_Non permet de stopper la diffusion du son de la ZA courante. Le geste
Arrêt_Prolongé permet d’activer la ZA courante et de l’inclure dans le parcours du
visiteur si elle est initialement inactive.Section 4.7. Navigation 89
FIGURE 4.15 – Exemple d’une carte de navigation par les gestes
– Le contexte Control_volume qui renvoie vers le mode de contrôle de volume
de diffusion. Deux gestes permettent de contrôler le volume : le geste
pencher_A_Droite qui permet d’augmenter le volume, et le geste pencher_A_Gauche
qui permet de le diminuer.
– Le contexte Ambiant_visit qui renvoie vers un mode dans lequel toutes les ZA
dont le son à un autre type que l’ambiant sont désactivées. Les gestes interpré-
tables restent les mêmes que ceux du contexte Normal_visit, et les actions en dé-
coulant sont les mêmes également.
– Le contexte Speech_visit qui renvoie vers un mode dans lequel toutes les ZA dont
le son à un autre type que l’ambiant sont désactivées. Les gestes interprétables
restent les mêmes que ceux du contexte Normal_visit, et les actions en découlant
sont les mêmes également.
Le concepteur a ensuite le choix de définir d’autres modes d’interaction.
Les actions pouvant être utilisées sont principalement celles qui permettent l’arrêt
de la diffusion d’un son associé à une ZA (action 1), le déclenchement d’un son associé
à une ZA (action 2), l’ajout d’une ZA dans le parcours d’un visiteur (action 3) ou sa
suppression du parcours du visiteur (action 4), augmenter le volume de la lecture des
contenus audio (action 5) ou le baisser (action 6), le changement du contexte d’interactivité
(action 7), et finalement la création d’un nouveau contexte (action 8).
Listing 4.12 – Actions entreprises sur le paysage sonore90 Chapitre 4. Modélisation de la visite augmentée
1 1 . setStoped ( V i s i t o r . tour , ZA)
2 2 . s e t P l a y i n g ( V i s i t o r . tour , ZA)
3 3 . add ( V i s i t o r . Tour , ZA)
4 4 . remove ( V i s i t o r . Tour , ZA)
5 5 . volume_up ( V i s i t o r . tour )
6 6 . volume_down ( V i s i t o r . tour )
7 7 . setMode ( Control_volume )
8 8 . createMode (new_Mode)
Les exemples suivant décrivent la définition de règles de différents types. Le listing
4.13 sont les règles qui permettent au visiteur de contrôler le volume du son diffusé. Le
listing 4.14 décrit les règles qui permettent l’arrêt et le déclenchement de sons associés
au ZA visités par le visiteur suite à ses gestes, et éventuellement le rajout des ZA dans
son parcours de visite. Finalement, le listing 4.15 décrit les règles qui permettent de
naviguer entre les différents contextes d’interactivité tel que définit dans la figure 4.15.
Listing 4.13 – Règles de contrôle pour régler le volume
1 IN Control\_volume , IF ( T i l t R i g h t ( V i s i t o r , time ) )
2 WHILE TRUE DO ( volume\_up ( V i s i t o r . tour ) )
3 IN Control\_volume , IF ( T i l t R i g h t ( V i s i t o r , time ) )
4 WHILE TRUE DO ( volume\_down( V i s i t o r . tour ) )
Listing 4.14 – Règles de contrôle pour contrôler la diffusion des sons liés aux ZA
1 IN Normal\ _ v i s i t , IF ( Say\_No( V i s i t o r , timeStart , timeEnd ) )
2 WHILE ( IN ( V i s i t o r ,ZA, timeStart , timeEnd ) )
3 DO ( setStoped ( V i s i t o r . tour ,ZA) )
4 IN Normal\ _ v i s i t , IF ( Say\_Yes ( V i s i t o r , timeStart , timeEnd )
5 OR Long\_Stand ( V i s i t o r , timeStart , timeEnd ) )
6 WHILE ( IN ( V i s i t o r ,ZA, timeStart , timeEnd ) )
7 DO (
8 IF ( IN ( V i s i t o r . Tour ,ZA) ) DO(
9 IF ( isStopped ( V i s i t o r . tour ,ZA) )
10 DO s e t P l a y i n g ( V i s i t o r . tour ,ZA)
11 )
12 ELSE DO (Add( V i s i t o r . Tour ,ZA) )
13 )
Listing 4.15 – Règles de contrôle pour naviguer entre les contextes d’interactivité
1 IN Normal\ _ v i s i t , IF ( Say\_maybe ( V i s i t o r , time ) )
2 WHILE TRUE DO ( setMode ( Ambiant\ _ v i s i t ) )
3 IN Ambiant\ _ v i s i t , IF ( Say\_maybe ( V i s i t o r , time ) )
4 WHILE TRUE DO ( setMode ( Speech\ _ v i s i t ) )
5 IN Speech\ _ v i s i t , IF ( Say\_maybe ( V i s i t o r , time ) )
6 WHILE TRUE DO ( setMode ( Control\_volume ) )
7 IN Control\_volume , IF ( Say\_maybe ( V i s i t o r , time ) )
8 WHILE TRUE DO ( setMode ( Normal\ _ v i s i t ) )Section 4.7. Navigation 91
4.7.3 Adaptation
L’adaptation est le troisième mode d’interaction. Superposant les deux autres
modes, l’adaptation permet en plus de réaliser la Traque et de permettre le Contrôle,
d’adapter le parcours de la visite en analysant le comportement antécédent du visiteur
et en y déduisant ses préférences. Ce niveau exploite les descripteurs du visiteur
fournis par la signature des intérêts.
L’algorithme d’adaptation est responsable de décider si les ZAs incluses dans le
parcours du visiteur sont toujours intéressantes pour lui et ainsi devront toujours être
présentes dans son parcours. Il est aussi responsable de décider si des ZAs qui ne sont
pas incluses dans le parcours du visiteur doivent l’être en vue de ses intérêts exprimés
dans la signature des intérêts.
L’adaptation consiste ainsi à s’inspirer des scores d’intérêt des tags de chaque objet
ou son associée à un ZA de la scène sonore, pour inférer si elle est dépréciée ou
appréciée et ainsi la supprimer ou la rajouter au parcours du visiteur.
Soit une zone d’audibilité ZA a qui correspondent un objet d’art O est un son S. Soit
Tags(O) = to1, ..., ton les tags associés à l’objet O, et soit Tags(S) = ts1, ..., tsm les
tags associés au son S. Soit Nto = Tags(O) le nombre de tags d’objet, et Nts = Tags(S)
le nombre de tags de son associés à cette ZA.
Nous définissons :
– score_interest(V, ZA) est le score d’intérêt du visiteur V à la zone ZA,
– score_interest(V,O) est son score d’intérêt du visiteur V à l’objet O,
– score_interest(V, S) est son score d’intérêt du visiteur V au son S
– score_interest(V, t) est son score d’intérêt du visiteur V au tag t.
Nous considérons que l’objet et le sujet participe chacun à 50% dans la création de
l’intérêt du visiteur à une ZA. Ainsi :
Score_interest(V, ZA) =
⎧
⎪⎪⎨
⎪⎪⎩
score_interest(V,O)+score_interest(V,S)
2 si Nto = 0 et Nts = 0
score_interest(V,O) si Nto = 0 et Nts = 0
score_interest(V, S) si Nto = 0 et Nts = 0
0 si Nto = 0 et Nts = 0
A tout moment pendant le parcours du visiteur, le score d’intérêt à un tag objet
s’exprime de la manière suivante :
A tout moment pendant le parcours du visiteur, si un objet (resp. un son) d’une ZA
est apprécié, les scores d’intérêt à ses tags d’objets (resp. de son) sont incrémentés. De
même s’il est déprécié, les scores d’intérêt à ses tags sont dévalués.92 Chapitre 4. Modélisation de la visite augmentée
En cas d’appréciation, on incrémente le score d’intérêt à un tag de la manière suivante
:
score_interesti(V, t) = score_interesti 1(V, t) + 1 score_interest0(V, t)
nombre de ZA taguées par t (4.1)
En cas de dépréciation, le score est dévalué de la manière suivante :
score_interesti(V, t) = score_interesti 1(V, t) score_interest0(V, t)
nombre de ZA taguées par t (4.2)
avec score_interest0(V, t) le score initial attribué au tag t suivant le profil initial du
visiteur. Les valeurs minimales et maximales des scores d’intérêts sont fixées à 0 et 1.
L’appréciation de l’objet ou du son est déduite à partir du processus d’analyse des
préférences décrit dans la figure 4.11.
Le score d’intérêt qu’un visiteur V porte à un objet O (resp. à un son (S)) d’une ZA
est définit comme la moyenne des scores d’intérêts que ce visiteur porte à l’ensemble
des tags d’objets (tags de son) de cette ZA.
Score_interest(V,O) = ∑Nto
i=1 Score_interest(V, toi)
Nto
(4.3)
Score_interest(V, S) = ∑Nts
i=1 Score_interest(V, tsi)
Nts
(4.4)
Ensuite, on définit deux seuils liés à l’intérêt à une ZA : un seuil de désinté-
rêt minInterestT et un seuil d’intérêt maxInterestT. L’objectif est de définir trois
plages d’intérêt. [0, minInterestT] où les ZA seront inintéressants pour le visiteur,
[minInterestT , maxInterestT] où les ZA seront neutres pour le visiteur, et
[maxInterestT,1] où les ZA seront intéressants pour le visiteur.
Le score d’intérêt à une ZA sera d’après les équations précédentes entre 0 et 1 :
0 score_interest(V, ZA) 1.
Le choix des deux seuils devra respecté l’inégalité suivante : 0 minInterestT
maxInterestT 1.
Pour initialiser le processus d’adaptation, il faudra définir un seuil d’appréciation
Ta, ainsi que les deux seuils minInterestT et maxInterestT.
4.8 Exemple développé
Nous prenons comme exemple la salle des communications du musée des arts et
métiers (figures 4.20,4.21), qui abrite plusieurs outils de communication et de transmission
de l’information. Le nombre impressionnant d’œuvres exposées dans cette salle etSection 4.8. Exemple développé 93
FIGURE 4.16 – Processus d’adaptation du contenu audio
appartenant à différents domaines peut facilement désorienter le visiteur. Il serait ainsi
judicieux de porter l’attention du visiteur sur un nombre restreint d’œuvres représentatives,
puis d’enrichir son parcours avec plus d’œuvres qui rentrent dans son centre
d’intérêt.
La salle de communication sur laquelle va porter notre cas d’usage comporte des
œuvres (des machines) classées par 3 catégories : l’imagerie, l’imprimerie et la télégraphie.
Le modèle de scène sonore développé pour cet exemple est constitué de 3 couches :
– La couche physique reproduit la répartition des objets exposés dans l’espace réel
tel que c’est présenté dans la figure 4.17. Dans le tableau 4.22, les machines 10
qui rentrent dans l’exemple sont identifiées de A à J. Les machines correspondant
à l’imprimerie sont de A à D. La machine A (Machine à écrire de Remington)
est considérée comme représentative de cette catégorie. Les machines correspondant
à la télégraphie sont E et F, F (Télégraphe aérien de Chappe) étant l’œuvre
représentative. Les œuvres liés à l’imagerie sont identifiés de G à J. H (Chambre
de touriste Enjalbert) et J (Fantasmagories de Robertson) sont considérées comme
représentatives.
– La couche acoustique décrit les ZAs composant la scène sonore. Vingt ZAs sont
créées dans cet exemple. A chaque objet du musée en associe une ZA de type
partagé dans laquelle un son Ambiant est joué, et une ZA de type exclusif dans
laquelle un son de description est joué. Un exemple la ZA ambiante associée à la
machine A (Machine à écrire de Remington) est présenté dans le listing 4.16.
– La couche sémantique est choisie d’une telle manière à simplifier les calculs. En
effet pour simplifier l’adaptation aux préférences du visiteur, nous allons nous baser
sur un thésaurus réduit (figure 4.18) comportant trois descripteurs : imagerie,
imprimerie et télégraphie. Chacune des œuvres est décrite par un seul descripteur à
la fois.
La navigation dans cet exemple se fera selon les trois niveaux ; la traque, le contrôle
et l’adaptation. Pour le contrôle, les règles définies dans le listing 4.14 vont être utilisées.
Pour l’adaptation nous utilisons le même algorithme définit précédemment pour
l’adaptation avec minInterestT = 0.4 et maxInterestT = 0.7.94 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.17 – Scène sonore de l’exemple.
FIGURE 4.18 – Thesaurus de l’exemple.Section 4.8. Exemple développé 95
A son arrivée au musée, le visiteur répond à un questionnaire évaluant ces centres
d’intérêts. Les réponses à ce questionnaire serviront à choisir les œuvres qui constitueront
son parcours, et qui seront ainsi sonorisées. Dans notre cas de figure, ce questionnaire
lui demande son avis par rapport aux 3 catégories du thésaurus imagerie, imprimerie
et télégraphie. Prenons le cas d’un visiteur dont le profil montre un intérêt pour
l’imagerie, et un désintérêt vis à vis de la télégraphie. Ces réponses au questionnaire son
présenté dans la figure 4.19. Sur la base de ce profil, le système marque les machines
décrites par imagerie comme étant intéressantes pour le visiteur et les inclut toutes à
son parcours. De la même manière, les œuvres décrites par télégraphie sont marquées
comme inintéressantes pour le visiteur et sont écartées de son parcours. Le visiteur
s’exprime neutre concernant l’imprimerie, le système inclut uniquement son élément représentatif,
la machine A, au parcours du visiteur.
Visitor.tour(t0) = A, G, H, I, J
FIGURE 4.19 – Questionnaire présenté au visiteur et ses réponses.
Le tableau 4.22 décrit les différents états du parcours du visiteur dans la salle, et le
changement de l’état de sonorisation des machines en concordance avec le comportement
de l’utilisateur.
A partir des réponses du visiteur, nous inférons les scores d’intérêts suivants pour
les 3 catégories :
– Score_interest(Visiteur,"Imagerie")=1
– Score_interest(Visiteur,"Imprimerie")=0,5
– Score_interest(Visiteur,"Télégraphie")=0
Dès son entrée à la salle, le visiteur reçoit un contenu sonore lui présentant le thème
de la salle (Etat 0). Puis, en se déplaçant à travers les couloirs de la salle, le visiteur accède
aux différentes zones d’audibilité liées aux objets exposés et sonorisés. Le visiteur
commence sa visite par le couloir de droite et passe devant la machine à écrire "Remington"
(ZA A). Ce dernier choisit de s’arrêter devant cette machine le temps d’écouter le
contenu audio (Etat 1). Ceci ne change rien en terme de score d’intérêt au tag Imprimerie
Score_interest(Visiteur,"Imprimerie")=0,5+(1-0,5)/4=0,625 (Formule 1.1).
Puis il avance et s’arrête devant le télégraphe aérien de "Chappe" (ZA F). Bien que
ce télégraphe n’est pas sonorisé, le visiteur décide d’activer le contenu audio lié à cet
objet en utilisant le moyen d’interaction offert par le niveau d’interactivité "Contrôle".
Le visiteur lève sa tête de haut en bas, en effectuant un geste direOui, ce qui provoque
le déclenchement du contenu audio de la ZA (Etat 2). Le score d’intérêt du visiteur96 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.20 – La salle des communications du musée des arts et métiers (vue 1)
FIGURE 4.21 – La salle des communications du musée des arts et métiers (vue 2)Section 4.8. Exemple développé 97
FIGURE 4.22 – Etats de l’exemple.98 Chapitre 4. Modélisation de la visite augmentée
au tag "Télégraphie" augmente : alors Score_interest(Visiteur,"Télégraphie")=0+1/2=0,5.
Ainsi, pour toute ZA annotée Télégraphie Score_interest(Visiteur, ZA) = 0, 5, ce qui les
fait passer de la plage inintéressant [0, 0.4[ à la plage Neutre [0.4, 0.7[. Ceci implique
l’activation par Adaptation de ces ZA si elles sont de référence. C’est le cas de la ZA F
mais pas celui de la ZA E. Ainsi on inclut la ZA F dans le parcours du visiteur (Etat 3).
Visitor.tour(t1) = A, F, G, H, I, J
Le visiteur continue sa visite et s’arrête devant la machine à graver "Conté" (ZA C).
Cette machine initialement écartée du parcours y sera ajoutée puisque le visiteur reste
le temps que le son de la ZA s’active automatiquement par processus du Contrôle (Etat
4). Le score d’intérêt du visiteur au tag "Imprimerie" ainsi augmente :
Score_interest(Visiteur,"Imprimerie")=0,62+(1-0,5)/4=0,75.
Ainsi toutes les ZA annotées "Imprimerie" auront un score d’intérêt égale à 0,75. Ce
qui les fait passer de la plage Neutre [0, 0.0,7[ à la plage Intéressant [0.7, 1]
Ainsi on inclue toutes les ZA annotées "Imprimerie" dans le parcours du visiteur
(Etat 5).
Visitor.tour(t_2)={A,B,C,D,F,G,H,I,J}
Le visiteur poursuit sa visite de la salle, et passe devant la ZA de Fantasmagories de
Robertson. Bien que cette ZA soit sonorisée car l’imagerie a été marquée comme inté-
ressante par le visiteur, ce dernier passe devant l’objet, mais ne reste pas suffisamment
de temps pour écouter les contenus audio qui lui sont liés (Etat 6). Le score d’intérêt
du visiteur à l’imagerie est ainsi dévalué : Score_interest(Visiteur,"Imagerie")=1-1/4=0,75
(Formule 1.2).
A son passage devant la deuxième machine d’imagerie (Chambre de touriste Enjalbert),
le visiteur décide d’arrêter le contenu audio en secouant la tête de droite à gauche
(geste DireNon) (état 7), puis quitte la ZA correspondante. Ce qui provoque la dégradation
du score d’intérêt au tag Imagerie : Score_interest(Visiteur,"Imagerie")=0,75-1/4=0,5.
Ainsi toutes les ZA annotées Imagerie se voient dégradées en intérêt pour le visiteur.
En effet, pour chaque ZA annotée imagerie : score_interest(V,ZA)=0,5. Ainsi ces ZA deviennent
neutres pour le visiteur, et resterons sonorisés uniquement les éléments repré-
sentatifs, en l’occurrence les ZA J et H (état 8).
Visitor.tour(t_2)={A,B,C,D,F,H,J}
Listing 4.16 – Schémas XML de notre cas d’usage
1
2
3
4
5
6
7
8
9 0.5 Section 4.9. Extension du modèle pour les visiteurs malvoyants 99
10
11
12
14
15 shared
16
17
18
19
20
21
4.9 Extension du modèle pour les visiteurs malvoyants
Si la dimension sonore est importante pour identifier et comprendre le fonctionnement
des œuvres du musée, cette dimension sonore est d’autant plus pertinente si le
visiteur ne voit pas l’œuvre, ou la voit mal. Entendre le bruit d’une machine permet au
public à déficience visuelle de se faire une idée plus complète de l’œuvre. Malheureusement,
de nombreuses contraintes empêchent la mise en marche de ces machines au sein
du musée, ce qui prive les visiteurs des informations pertinentes sur le fonctionnement
de la machine. Ce défaut est encore plus ressenti chez les visiteurs malvoyant, pour qui,
le son pourrait jouer un rôle fondamental facilitant la reconnaissance et la découverte
des objets.
4.9.1 Scénario de la visite : objectifs
L’objectif d’une visite assistée par un système de RAS pour un malvoyant peut être
différent selon la nature des objets qui l’entourent et le lieu dans lequel il se positionne.
Le premier objectif est d’accompagner le malvoyant dans un environnement non initialement
conçu pour la réception de personnes malvoyantes. L’audioguide est ainsi
un accompagnateur du visiteur qui le guidera pour se déplacer entre les différentes
salles du musée. Par exemple, il lui permettra d’éviter les obstacles (accompagnement)
et émettra des alertes en cas de risque quelconque (signalétique).
Le deuxième objectif d’un tel système, est la découverte des œuvres exposées à travers
leurs dimensions sonores au lieu de se limiter à la dimension visuelle. Ceci peut se
faire par l’augmentation de l’objet avec un son ambiant qui dépeint l’environnement.
Il peut correspondre au son fonctionnel produit par l’œuvre. Il s’agit alors de la bandeson
originale de l’œuvre ou d’un enregistrement effectué pendant que l’œuvre est en
marche. Il peut aussi s’agir d’un son de synthèse imitant celui que produirait une machine
en état de marche avec la possibilité de mixer avec d’autres sons. Le contenu
sonore ambiant peut être soit de la musique pour les œuvres dont l’objectif est de pro-100 Chapitre 4. Modélisation de la visite augmentée
duire un son (Joueuse de tympanon, boîte à musique,...). Il peut aussi être un son de
fonctionnement pour les objets qui produisent des sons fonctionnels (horloge, télévision,
phonographe), ou un bruit produit lors du fonctionnement d’un objet (moteurs,
outils, instruments scientifiques). L’utilisation de la spatialisation de ces contenus audio
émanant des diverses œuvres entourant le visiteur procurera à ce dernier un sentiment
d’immersion dans le MAM et rendra la visite du musée similaire à celle d’une usine à
machine.
Le troisième objectif est un objectif informatif. Le système d’audioguide, en fonction
de la position et de l’orientation du visiteur, permet l’envoi de la description vocale
(parole ou élocution) de l’objet le plus proche du visiteur. Elle peut aussi englober une
histoire, un témoignage, un dialogue, etc.
4.9.2 Modèle de la scène sonore : les types de zones d’audibilité
Afin d’atteindre les différents objectifs décrits dans la section précédente, nous introduisons
quatre types de ZA :
Zone d’accompagnement : c’est une ZA qui entoure le visiteur et qui se déplace avec
lui au cours de sa visite. Son objectif est de diriger le visiteur malvoyant pour
arriver à sa destination.
Zone partagée : c’est une ZA qui est associée à chaque œuvre du musée que l’on souhaite
intégrer dans le parcours du visiteur. Dans cette zone, le visiteur percevra un
son ambiant émanant d’une source sonore assimilée au centre de la ZA. Plusieurs
zones ambiantes peuvent se recouvrir. Ces zones peuvent être soit liées à des objets
différents, soit à plusieurs composants du même objet. Le visiteur qui se retrouve
au sein d’un lieu de recouvrement de deux ou plusieurs zones ambiantes
pourra percevoir simultanément les sons spatialisés provenant des sources sonores
différentes.
Zone exclusive : ce type de ZA est essentiellement dédié à la description des objets
exposés. Elle se trouve généralement au plus proche d’un objet. Dans cette zone,
le visiteur percevra de la parole décrivant l’œuvre concernée. La particularité de
cette zone est que son contenu audio ne peut pas se mixer avec d’autres zones
même en cas de recouvrement. Cette condition est volontairement imposée pour
garder l’attention du visiteur sur l’objet à décrire.
Zone d’alerte : c’est une ZA qui se positionne dans les endroits particulièrement risqués
pour un malvoyant ou un aveugle, comme les escaliers, les rampes, etc... Elle
entoure également toute œuvre, afin de signaler au visiteur, qu’il s’en approche
trop. Le son de cette zone d’alerte est prioritaire sur tous les sons émanant d’une
autre source sonore.Section 4.10. Conclusion 101
4.9.3 Modèle de la scène sonore : algorithme de suivi
Le scénario du visiteur que nous proposons est un scénario qui combine l’immersion
audio dans le bruit ambiant et la description orale des œuvres exposées. Lorsque le
visiteur pénètre dans l’environnement sonore, la position et l’orientation de sa tête sont
automatiquement traquées par le système de positionnement et envoyées au système
de spatialisation sonore. Ce dernier récupère le contenu audio adapté à la position et
l’orientation de l’utilisateur, puis l’envoie au visiteur à travers son casque binaural. Les
règles suivantes régissent le scénario de la visite et la diffusion des contenus audio :
Règle 1 : à chaque accès à une salle d’exposition, le visiteur reçoit un contenu audio lui
présentant la thématique de l’exposition et le type d’œuvre qui rentre dans son
parcours. Ainsi, il pourra avoir une première idée sur le contenu de la salle.
Règle 2 : lorsque le visiteur pénètre dans une zone partagée, il commence à entendre
un son ambiant binaural spatialisé lié à l’objet contenu dans la zone. L’intensité et
l’orientation du son sont respectivement proportionnelles à la distance séparant
le visiteur de la source sonore, et à l’angle entre le vecteur visuel du visiteur et le
vecteur ’visiteur-source sonore’.
Règle 3 : lorsque le visiteur se retrouve dans le recouvrement de plusieurs zones partagées,
il entendra simultanément les sons ambiants spatialisés provenant des différentes
sources sonores.
Règle 4 : lorsque le visiteur pénètre dans une zone exclusive liée à un objet du musée,
le son ambiant lié au même objet est renvoyé progressivement en arrière plan et
avec une faible intensité. Ensuite, le texte de description de cet objet commence à
s’entendre. Il est également envoyé en binaural.
Règle 5 : lorsque le visiteur pénètre une zone d’alerte, tous les autres sons son arrêtés
et le visiteur commence à entendre une voix qui l’incite à s’éloigner de la zone
à risque en lui indiquant ce qu’il faut faire (reculer, aller à droite, etc...). Un son
d’alarme retentit et augmente en volume au fur et à mesure que le visiteur se
rapproche de la zone à risque (centre de l’objet, mur, escalier, etc...).
Règle 6 : à l’extérieur de toute autre zone, et selon la conception de la scène sonore,
une zone d’accompagnement suit le visiteur et le dirige pour naviguer au sein du
musée. Elle est notamment utilisée pour se déplacer entre les salles du musée, et
entre les espaces de recouvrement des sons ambiants. Les transitions d’une zone à
l’autre sont faites d’une manière fluide et progressive, de telle sorte que le visiteur
ne sente pas de coupures dans la diffusion des contenus sonores.
4.10 Conclusion
Dans ce chapitre, nous avons présenté dans un premier temps quelques exemples
de scénarios dans le but de proposer un modèle de visites le plus général possible. Afin102 Chapitre 4. Modélisation de la visite augmentée
de modéliser la visite augmentée, nous avons commencé par la structure du paysage
sonore en trois couches : la couche physique qui contient les informations géométriques
sur l’espace physique et les objets qui le composent, la couche virtuelle et acoustique et
la couche sémantique
Dans la couche virtuelle et acoustique, nous avons introduit la notion de zone d’audibilité
qui délimite l’espace d’écoute de la source sonore et qui permet au concepteur
de gérer l’espace d’écoute en le délimitant par des zones d’audibilité de différents formats.
L’ensemble des zones d’audibilités forment le paysage sonore dans lequel évolue
le visiteur. Les zones d’audibilité peuvent se juxtaposer les unes avec les autres.
Ces zones pourraient être organisées de différentes manières (structures p2p ou hiérarchique
par exemple). L’organisation choisie a un impact sur l’efficacité du rendu sonore.
L’intérêt d’une approche hiérarchique est qu’elle permet de représenter des structures
complexes suivant différents niveaux de résolution. Ainsi le visiteur peut être immergé
dans un paysage sonore composé de sons ambiants, de musiques et de commentaires en
adéquation avec sa position et son orientation. Par ailleurs, dans la couche sémantique,
ces ZA une fois annotées et classifiées par concepts sous forme d’un thésaurus, peuvent
être facilement exploités pour déterminer ses centres d’intérêt. Le visiteur quant à lui
est indexé par différents types d’informations allant des informations de profils, données
par le visiteur au début de sa visite aux informations de tracking permettent de
donner sa localisation et son focus, aux signatures d’intérêts qui permettent de définir
les intérêts des visiteurs.
Puisqu’une visite est une navigation dans un paysage sonore, nous avons distingué
trois niveaux de navigation du visiteur dans le paysage sonore :
– La navigation par le déplacement où le visiteur interagit avec le contenu sonore
uniquement par son déplacement et son orientation.
– Le contrôle, où le visiteur contrôle le paysage sonore par ses gestes, il peut contrô-
ler la lecture du contenu sonore comme il peut activer ou désactiver des ZA.
– L’adaptation où le système adapte le parcours du visiteur en cours de sa visite
selon ses intérêts.
Dans le futur, ce modèle peut être étendu et amélioré dans plusieurs aspects. Un
premier aspect concerne celui de la description des zones d’audibilité. D’autres types
de ZA autres que exclusives et partagées peuvent voir le jour suivant l’application. En
outre, alors que ces ZA sont définies d’une manière statique dans notre modèle, nous
pouvons imaginer des ZA créées dynamiquement par le visiteur durant sa visite. L’association
des contenus audio aux ZA peut être repensée, nous pouvons proposer un
modèle qui associerait plusieurs sons alternatifs à la même ZA, et que le choix du son
diffusé soit établi par le visiteur lui-même ou bien désigné automatiquement selon son
profil. En plus, un nouveau protocole de navigation peut être défini à travers de nouveaux
canaux d’interaction autres que la position et l’orientation du visiteur. En effet,
nous pouvons étendre le modèle pour intégrer d’autres types de contrôle de la scène
sonore comme, par exemple, de la parole émise par le visiteur ou aussi des gestes qu’ilSection 4.10. Conclusion 103
FIGURE 4.23 – Diagramme de composants du modèle de la visite
peut exprimer avec son corps, mais également à travers d’autres dispositifs multimé-
dias intelligents. Par ailleurs, le modèle du visiteur pourrait être étendu pour prendre
en compte la visite augmentée du groupe auquel le visiteur pourrait appartenir.5
Evaluation de la visite augmentée
5.1 Introduction
Ce chapitre décrit la partie expérimentale de notre travail. Elle a pour objectif la
mise en application du modèle, des scénarios et du dispositif de l’utilisateur dans une
situation réelle : la visite du musée des arts et métiers de Paris. Nous avions besoin de
cette étape d’expérimentation pour valider nos hypothèses théoriques, et pour pouvoir
évaluer l’acceptabilité de ce genre de système de RAS, jusqu’alors peu connu par les
visiteurs du musée.
Ce chapitre consiste alors à faire une évaluation empirique de SARIM et de ses fonctionnalités.
Comme nous ne pouvons pas évaluer toutes les fonctionnalités que permet
le modèle, nous nous sommes donnés pour objectif de mettre en œuvre et d’évaluer
quelques scénarios de visite permettant de préfigurer de nouveaux usages et de nouveaux
champs applicatifs de la réalité augmentée, dans lesquels la composante auditive
jouerait un rôle majeur. Nous nous posons la question de la réalité augmentée sonore
d’un point de vue ergonomique, donc de la façon dont elle est mise en œuvre.
Dans la première section de ce chapitre, nous aborderons la problématique de l’utilisation
d’un dispositif de RAS dans le cadre de la visite de musée. Dans cette section,
nous évoquerons les critères évalués dans d’autres systèmes de RA appliqués à la visite
de musées. Nous nous positionnons par rapport à ces systèmes, puis nous évoquerons
nos questions de recherche. Dans la troisième et la quatrième section, nous décrirons
les deux expériences qui ont été menées dans deux salles du musée des arts et métiers.106 Chapitre 5. Evaluation de la visite augmentée
Nous décrirons les objectifs de chaque expérience et son déroulement, et nous procéderons
finalement à l’analyse des résultats.
5.2 Évaluation des dispositifs de réalité augmentée
5.2.1 Les pratiques courantes dans l’évaluation de la RA
Avant de mettre au point une évaluation de SARIM, il s’avère utile d’examiner
les pratiques courantes de l’évaluation des systèmes de RA. Nous allons étudier
trois travaux que nous estimons importants, et qui décrivent des techniques et des
méthodes utilisées dans l’évaluation de la RA. Le premier est celui d’Anastassova
[Anastassova07], un état de l’art où sont décrits 48 articles portant sur l’évaluation
centrée utilisateur des applications industrielles de la RA. Ses auteurs rapportent que
la majorité des articles étudiés (38%) traitent la question de l’utilisabilité et seulement
17% se spécialisent dans l’analyse des besoins de l’utilisateur. En termes de méthodologie,
les auteurs qui étudient la question de l’analyse des besoins des utilisateurs, le font
souvent à travers des interviews ou des questionnaires. Pour les auteurs qui évaluent
l’utilisabilité des systèmes de RA, le but est souvent d’étudier la facilité d’usage des
interfaces de RA et leur efficacité, en se servant de la méthode du questionnaire. Une
autre remarque très importante est que la majorité des évaluations effectuées sont faites
en laboratoire et non pas en conditions réelles.
Gabbard et al. [Swan05, Gabbard08] ont aussi proposé une classification des expé-
riences centrées utilisateurs liées à la RA. Ils définissent trois axes complémentaires
suivant le domaine de recherche :
– La perception humaine (profondeur de la perception, coordination entre l’ œil et
la main).
– La performance de la tâche pour des applications spécifiques de la RA (temps,
nombre d’erreurs).
– L’environnement collaboratif et le travail coopératif.
Dunser et al. [Dünser08] ajoutent un autre axe à la classification de Gabbard qu’ils
ont nommé : "étude de l’utilisabilité des interfaces des systèmes de RA". Ils proposent
aussi une taxonomie des méthodologies d’évaluation des systèmes de RA en cinq caté-
gories :
– Les mesures objectives (temps, taux d’erreurs, précision).
– Les mesures subjectives, ou la perception de l’utilisateur, souvent recueillies par
des questionnaires.
– L’analyse qualitative qui inclut l’observation formelle des utilisateurs, l’entretien
formel.
– La mesure de l’utilisabilité (méthodes heuristiques, analyse des tâches).Section 5.2. Évaluation des dispositifs de réalité augmentée 107
– L’évaluation informelle qui inclut les méthodes d’observation ou les retours informels
des utilisateurs.
Notre objectif initial était de déterminer les critères évalués dans les tests d’utilisabilité,
et les problématiques posées dans l’évaluation des systèmes de RA en général et
RA sonore en particulier. Nous avons tenté dans un premier temps de faire le lien avec
les interfaces d’IHM mobiles en général et les systèmes de RA mobiles en particulier.
Ceci a été entrepris dans le but d’évaluer la possibilité d’utiliser les critères d’utilisabilité
de l’IHM pour évaluer les systèmes de RA. Dans un second temps, nous présentons
un aperçu des critères évalués dans les audioguides de musée, et comment les chercheurs
ont tenté de trouver le lien entre les systèmes de RA mobiles et les audioguides
mobiles de musées.
5.2.1.1 RA et utilisabilité
Dans cette section, nous passons en revue quelques travaux de recherche concernent
l’évaluation des applications de la RA dans le domaine de l’IHM. La question que nous
poserons est : est-ce que les critères d’utilisabilité de l’IHM en général peuvent être
appliqués aux technologies de la RA ?
Afin de répondre à cette question, Gabbard et al. [Swan05, Gabbard08] estiment que
la combinaison des critères de l’utilisabilité de l’IHM et les études centrées utilisateur
constitue non seulement un défi important, mais aussi une opportunité de recherche.
Selon ces auteurs, un bon système doit être à la fois utile et utilisable. Pour faire l’intersection
des critères de l’utilisabilité d’une interface homme machine en général et un
système de RA mobile, les auteurs définissent les caractéristiques orientées utilisateur
suivantes :
– La facilité d’apprentissage.
– La rapidité d’exécution des tâches utilisateur.
– Le taux d’erreurs d’utilisation.
– La satisfaction subjective de l’utilisateur.
– Le temps passé par l’utilisateur à se servir du dispositif.
Ils insistent aussi sur l’étude préalable du domaine de l’application de la RA, ce qui
consiste à définir comment doit être l’utilisateur et quel est la tâche qu’il doit accomplir.
Dunser et al. [Dünser07a, Dünser07b], tentent aussi de réduire l’écart existant entre
le domaine de l’IHM et celui de la RA en matière d’utilisabilité. Ils suggèrent des critères
d’utilisabilité de l’IHM qui peuvent être applicables dans le domaine de la RA :
– L’affordance.
– Réduire l’effort cognitif.
– Réduire l’effort physique.
– La facilité d’apprentissage.
– La satisfaction de l’utilisateur.108 Chapitre 5. Evaluation de la visite augmentée
– La réactivité et la tolérance aux erreurs du système.
5.2.1.2 RA et audioguides
Les audioguides classiques utilisés pour les visites de musées sont sujets à plusieurs
types d’évaluation. Ces évaluations ont permis de tester leur utilisabilité sur plusieurs
critères tels que l’amusement, l’utilité, la durée d’usage, la facilité d’usage, la distraction,
l’acquisition de connaissances, l’équilibre attentionnel, l’interaction sociale, l’ergonomie,
la navigation, le système de positionnement, l’interface, le contenu, la personnalisation,
la géolocalisation, l’accessibilité, l’impact cognitif, etc. [Proctor03, Woodruff01,
Bellotti02].
Une taxonomie de critères d’évaluation des systèmes de RA a été proposée par Damala
et al. [Damala09, Sylaiou05]. Trois groupes de critères d’évaluation ont été définis ;
les critères technologiques, les critères d’information et les critères logistiques :
– Les critères technologiques : ce sont les critères liés à la technologie choisie pour
l’implémentation de l’application du contenu ou de l’interface, ou pour la géolocalisation.
– Les critères de l’information : ce sont les critères liés au contenu interactif, notamment
la qualité du contenu, sa durée, la nature du contenu par objectif (amusement,
distraction, interaction sociale, etc.).
– Les critères logistiques : ce sont les critères liés à la logistique et l’administration
de l’audioguide, à savoir la maintenabilité, le nombre d’audioguides, la formation
du personnel, la distribution de l’audioguide, la durée de vie de la batterie, etc.
En outre, Damala a étudié les corrélations entre les critères évalués pour les audioguides
classiques et ceux des audioguides de la RA. Elle conclut que le lien est fort
concernent les critères suivants : l’orientation et la navigation dans l’environnement
du musée, l’orientation et la navigation dans l’application, la facilité d’alterner entre le
guide et l’objet, la facilité de l’usage, la distraction et l’équilibre attentionnel, la réaction
affective, la transparence, et la facilité de l’utilisation.
Ensuite, [Damala09] définit deux groupes de critères d’évaluation : les critères liés
à la RA et les critères non liés à la RA, de l’ordre de l’utilisabilité dans le domaine de
l’IHM.
Le premier groupe lié à la RA, est d’une importance primordiale pour l’acceptation
du guide augmenté. Ce groupe inclut la facilité de :
– l’orientation et de la navigation dans l’environnement du musée, et la facilité de
l’identification des objets commentés.
– la navigation dans le contenu interactif du guide.
– la compréhension de la manière utilisée dans la métaphore de la RA par les utilisateurs
non informaticiens.Section 5.2. Évaluation des dispositifs de réalité augmentée 109
Le deuxième groupe de critères concerne les professionnels du musée et les concepteurs
des applications :
– L’utilité et l’amusement du visiteur, et la satisfaction générale produite par l’utilisation
du guide.
– L’impact de la phase post-visite et l’impact de l’apprentissage et aussi l’impact
cognitif.
– La question de la distraction du visiteur et son équilibre attentionnel.
– La préference entre des médias spécifiques.
5.2.1.3 Evaluation centrée utilisateur
Des critères spécifiques ont été utilisés par les chercheurs pour évaluer les systèmes
de la RA mobiles, et en particulier les systèmes de RA utilisés dans le domaine de la
visite du patrimoine culturel.
Ayant comme objectif d’offrir aux visiteurs du musée une expérience éducative et
ludique améliorée, ARCO (Augmented Representation of Cultural Objects) [Sylaiou05]
est un système de RAV qui a été évalué en termes de composants et d’interfaces. Pour
cela, une évaluation heuristique et des solutions cognitives sont employées. Les auteurs
ont évalué deux composants du système ARCO : la composante liée au contenu, et
l’interface de la RA. Afin d’effectuer une évaluation centrée utilisateur, trois catégories
d’évaluation principales sont incluses dans cette étude :
L’utilisabilité technique qui se réfère aux aspects perceptifs et physiques de l’interface
homme machine (facilité d’apprentissage et de mémorisation, efficacité de
l’utilisation, nombre d’erreurs, satisfaction).
L’adéquation entre le contenu et le domaine qui examine la pertinence du contenu et
de sa représentation.
L’acceptabilité du système par l’utilisateur qui signifie l’efficacité du système à supporter
les besoins cognitifs de la tâche, et la satisfaction fournie.
En plus de ces critères, le niveau de présence de l’utilisateur a été également évalué à
travers un questionnaire.
Sylaiou et al. [Sylaiou08] réévaluent le système ARCO en termes de groupe de participants.
Ils visent à étudier l’impact du type de participants sur l’utilisation du dispositif.
Deux groupes de participants ont expérimenté le dispositif : les conservateurs
(experts) et les visiteurs (non-expert) du musée. Ils concluent que la meilleure configuration
est de faire une évaluation avec des participants experts et des vrais visiteurs du
musée (non experts).
Deux travaux paraissent très intéressants dans ce domaine. La première étude est
publiée en 2005 par Swan et Gabbard [Swan05, Gabbard08]. Ils examinent 266 publications
sur la RA publiées entre 1998 et 2004. En analysant ces articles, ils trouvent que110 Chapitre 5. Evaluation de la visite augmentée
seulement 14% des articles abordent la question de l’IHM, et seulement environ 8% dé-
crivent une étude formelle centrée utilisateur. La deuxième étude est publiée en 2008
par HITLab en Nouvelle-Zélande [Dünser08]. Elle cite 557 publications sur la RA qui
sont publiées entre 1993 et 2007. Seulement 10% de ces travaux incluent une évaluation
centrée utilisateur. D’après ces deux études, nous constatons que les évaluations
centrées utilisateurs sont peu présentes dans les évaluations des systèmes de RA. Cependant
en 2013 ce constat peut ne plus être vrai.
5.2.2 Critères évalués par la RAS
Les auteurs qui ont évalué des applications de RAS dans le cadre de la visite du
musée définissent des critères supplémentaires liés au contenu audio, au modèle de
la scène sonore et à l’expérience auditive. Dans le projet ech(o) [Hatala05], les auteurs
définissent deux groupes d’objectifs à évaluer : des objectifs conceptuels et des objectifs
fonctionnels. Les objectifs conceptuels portent sur l’amusement, la quantité de données
à tranmettre et la nature du contenu audio (devinette, jeu de mots,...). Les objectifs
fonctionnels définissent les critères de l’utilisabilité du système RAS selon les critères
suivants :
– La satisfaction générale.
– Le confort lié à l’utilisation de l’interface tangible de l’utilisateur.
– Le confort lié à l’utilisation du casque de RAS.
– La facilité d’apprentissage.
– La perception de la performance du système (temps de réponse).
– La qualité du contenu (informatif/non informatif, surprenant/prévisible, géné-
ralisé/ personnalisé, rigide/ludique).
– La qualité de l’expérience audio (confusion/clair, expérience mécanique/humaine,
inutile/précieuse).
– La navigation et le contrôle (capacité de naviguer, se perdre dans le système, certitude
de l’état du système).
Dans un autre contexte, Paterson et al. [Paterson10], évaluent un jeu en RAS. Ils
évaluent :
– L’engagement et la présence et l’immersion.
– Le contrôle .
– L’interaction.
– L’utilisabilité.
– L’impact de la localisation sur l’engagement et sur l’immersion.
Dans le projet Ontrack [Jones08], les auteurs proposent une nouvelle approche pour
aider les utilisateurs mobiles dans les tâches de recherche d’itinéraire en intégrant des
indices de navigation dans la musique. Ils ont fait passer un test d’utilisabilité en laboratoire,
dont les résultats étaient encourageants pour développer la version mobile
du prototype. L’étude de l’utilisabilité a porté sur l’efficacité du système, ç.à.d. si lesSection 5.2. Évaluation des dispositifs de réalité augmentée 111
utilisateurs sont capables de compléter les tâches dans un délai raisonnable, ainsi que
sur le retour subjectif des utilisateurs.
A travers la littérature, on constate un manque au niveau de l’évaluation des systèmes
de RA. Les évaluations qui sont faites se passent souvent en laboratoire et pas
en situations réelles, ce qui rend difficile la vérification des objectifs de l’expérience en
dehors du contexte (musée par exemple), surtout s’il s’agit d’un contexte culturel ou
ludique.
5.2.3 Questions de recherche
Après avoir passé en revue les questions et critères évalués dans les systèmes de
RA étudiés, l’étape suivante consiste à définir les questions de recherche qui vont être
étudiées dans la phase d’évaluation. Nous définissons trois groupes de questions de
recherche, le premier groupe traite l’apport de la RAS dans la visite de musées. Le
deuxième groupe porte sur la manière de l’utilisation de la RAS dans la visite du musée.
Le troisième groupe porte sur la conception d’un dispositif de RAS accessible et
utilisable.
Le premier groupe de questions traite l’apport de la RAS dans la visite de musées,
cela inclut :
– De quelle manière l’interaction dans la RAS du musée peut être différente des
autres interactions homme machine ?
– Est ce que la technologie de la RAS peut constituer une alternative intéressante
pour l’interaction et la navigation dans les audio guides des musées ?
– Est ce que la RAS permet de faciliter la navigation dans l’environnement du musée
?
– Est ce que la RAS permet de faciliter l’accès à l’information dans l’environnement
du musée ?
– Est ce que la RAS permet de :
– faciliter l’identification et la localisation des objets sonorisés ?
– rendre la visite plus ludique ?
– mieux valoriser les objets sonorisés ?
– accroître l’intérêt porté aux objets sonorisés ?
Le deuxième groupe porte sur l’exploitation de la RAS pour améliorer la visite :
– Comment rendre la technologie de la RAS facile et intuitivement compréhensible
même par des utilisateurs novices ?
– Quels genres de scénarios de visite permettront au visiteur d’interagir intuitivement
avec les objets du musée ?
– Quel est l’impact de l’interaction directe entre l’utilisateur et les objets sonores sur
la visite du musée ?
– Est ce qu’elle permet d’accéder à plus d’objets ?112 Chapitre 5. Evaluation de la visite augmentée
– Est ce qu’elle permet d’accroître l’intérêt porté aux objets ? (se sentir acteur de
la scène plutôt qu’observateur)
– Quel impact a l’ajout des sons ambiants à la visite ?
– Quel impact pourrait avoir la sonorisation des objets exposés sur la visite du musée
et sur le parcours de la visite ?
– Quel impact pourrait avoir la sonorisation des objets exposés sur l’intérêt des
utilisateurs envers les objets observés ?
– Quel est l’impact de la sonorisation du patrimoine sur la charge émotionnelle et
nostalgique de la visite du musée ?
Le troisième groupe porte sur la conception d’un dispositif de RAS accessible et
utilisable. En plus des critères d’utilisabilité traditionnels : la compréhension, la facilité
d’apprentissage, la satisfaction, le besoin de flexibilité et de personnalisation, la réactivité,
l’amusement de l’utilisateur et l’évaluation subjective de la durée de la visite.
Plusieurs questions liées à la RAS sont à aborder :
– Quelle doit être la qualité du contenu sonore pour que les utilisateurs acceptent
le casque de RAS pendant la durée de la visite ?
– Est ce que le système de RAS fournit les mêmes repères spatiaux comme le fait la
situation de l’audition normale ?
La qualité sonore est un facteur très important dans l’acceptabilité d’un système de
RAS. La qualité sonore devrait être assez bonne, pour que les gens puissent porter le
casque de RAS pendant de longues périodes sans désagrément ni cacophonie. Ainsi,
la représentation pseudoacoustique doit être aussi similaire à l’environnement sonore
réel que possible.
L’audition spatiale est un autre facteur qui joue un rôle important dans l’acceptabilité
du système de RAS. Le système de la RAS doit fournir les mêmes repères spatiaux
comme dans une situation d’audition normale.
En outre, la portabilité du matériel RAS affecte la facilité d’utilisation. Un système
RAS devrait exiger peu d’équipements supplémentaires, et doit être facile à porter. De
nos jours, les gens deviennent plus tolérants pour se déplacer au quotidien avec des
appareils électroniques, comme les téléphones cellulaires et les lecteurs MP3. Beaucoup
d’entre eux sont également habitués à porter des écouteurs assez fréquemment.
L’utilisabilité du système a une grande influence sur la compréhension de l’utilisation
du système, la facilité d’apprentissage, la satisfaction, le besoin de flexibilité et de
personnalisation.
Nous proposons une évaluation empirique avec un protocole d’évaluation qui inclut
principalement les méthodes quantitatives, basées notamment des questionnaires
et des logs. Les méthodes d’évaluation utilisées, notamment le questionnaire et les logs,
sont définies plus en détail dans les sections suivantes. Avant la phase d’évaluation, des
tests pilotes ont été menés auprès des visiteurs du musée pour vérifier le bon fonctionnement
du matériel et du logiciel à expérimenter.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 113
Notre processus d’évaluation comporte deux expériences dans deux salles diffé-
rentes du musée, avec des objectifs et questions différents pour chaque expérience.
Nous allons dans ce qui suit décrire chaque expérience, les hypothèses et les variables
à vérifier, la procédure suivie et les résultats trouvés.
5.3 Expérience 1 : Étude comparative de deux dispositifs dans la
salle des communications
L’expérience 1 a pour objectif d’étudier l’utilisabilité de SARIM et son apport à la visite,
en le comparant avec l’audioguide actuellement utilisé dans le musée. L’expérience
s’est déroulée dans la salle des communications du musée. Le choix s’est porté sur cette
salle, parce qu’elle est considérée comme représentative de ce musée. Elle contient des
objets qui produisent des sons fonctionnels comme les imprimantes, les téléphones et
les télévisions, et d’autres qui, en état de marche, produisent un bruit comme les imprimantes
et les appareils photos. C’est une salle rectangulaire qui fait 35m*10m. Les
objets qui y sont exposés sont de différentes tailles : les petits objets sont exposés dans
des vitrines en verres situées sur les bordures de la salle, et les gros objets sont exposés
par terre au centre de la salle.
L’audioguide du musée des arts et métiers 1
se compose d’un boîtier bleu, qui comporte
10 boutons noirs chiffrés de 0 à 9, d’un bouton vert pour les fonctions ”mise en
marche” et ”arrêt”, d’un bouton rouge pour la fonction ”pause”, de deux boutons noirs
pour la lecture rapide et un bouton bleu de la fonction ”en savoir plus”. Le boîtier est
équipé également d’un haut parleur permettant d’écouter les commentaires audio et
d’une prise jack pour pouvoir utiliser ses propres écouteurs ou casque d’écoute. Il est
muni également d’un cordon pour pouvoir l’accrocher autour du cou. Le baladeur est
à porter à la main et l’écoute se fait en rapprochant le baladeur à son oreille (sauf si on
possède des écouteurs qui ne sont pas fournis).
Les objets du musée qui sont commentés, se trouvent munis d’étiquettes de couleurs
avec un nombre écris par dessus. Ces couleurs désignent le parcours. En effet, trois
parcours sont définis : un parcours pour les enfants, deux parcours pour les adultes et
les adolescents qui sont :
– Parcours d’1 h : découvrir les objets incontournables du musée en suivant les
étiquettes rouges.
– Parcours de 2 h 30 : s’initier à l’histoire des sciences et des techniques en suivant
les étiquettes rouges et jaunes.
– Parcours "Liberté" : découvrir un domaine entier du musée ou déambuler à sa
guise en suivant les étiquettes rouges, jaunes et bleues.
1. http ://www.arts-et-metiers.net/musee.php ?P=229114 Chapitre 5. Evaluation de la visite augmentée
Dans notre expérience, nous n’avons pas fait de parcours basés sur la couleur des
étiquettes, nous avons expérimenté un seul parcours où le visiteur pouvait saisir le
numéro correspondant à toutes les étiquettes associées aux objets de la salle des communications
quelle que soit leur couleur.
5.3.1 Méthode
5.3.1.1 Tâche des participants
La tâche des participants à cette expérience consiste à trouver les objets commentés
ou/et sonorisés et les découvrir pendant une durée prédéterminée. Nous nous sommes
servi des vignettes colorées associées aux objets du musée pour identifier les objets
commentés. Les vignettes sont surtout indispensables pour l’utilisation de l’audioguide
du musée, et le sont moins dans le cas où le participant expérimente SARIM. Ce dernier
sera surtout guidé par le son qui émane de l’objet. Le participant doit visiter librement
la salle et découvrir les informations associées aux objets exposés pour une durée dé-
terminée à 10 minutes. Le participant n’est pas sensé connaître la durée de la visite à
l’avance. Lorsque le temps imparti est écoulé, l’expérimentateur met fin à la visite, et
invite le visiteur à répondre au questionnaire.
5.3.1.2 Contenu sonore
Le son ambiant correspondant à un objet peut être : soit le son produit par cet objet
(télévision, phonographe), soit le son de fonctionnement de cet objet (imprimante,
appareil photo), soit le son de l’environnement ambiant de l’objet (applaudissements,
cris), ou encore, le son d’ambiance correspondant à l’époque ou à l’environnement de
cet objet. Les commentaires audio se constituent de descriptions vocales des artefacts.
Elles sont racontées par les artefacts eux mêmes ou par leurs inventeurs ou encore, par
leurs utilisateurs de l’époque qui expliquent leurs fonctionnements. Les commentaires
audio peuvent se présenter aussi sous forme d’une narration, d’un témoignage ou d’un
dialogue.
Comme la plupart des objets exposés dans cette salle sont vieux et ne marchent plus,
nous n’avons pas pu enregistrer les sons qu’ils produisaient en cas de fonctionnement.
Par conséquent, des sons artificiels ont été créés. La création est effectuée soit à l’aide
d’un mixage de plusieurs sons, soit en créant des sons similaires, ou des ambiances sonores
qui donnent une idée sur l’objet. Pour cela, il a fallu trouver de la documentation
sur les objets exposés pour savoir à quoi pourrait ressembler le son qu’ils produisent.
Heureusement, le musée des arts et métiers est équipé d’un centre de documentation
où nous avons pu trouver les informations nécessaires à la conception des sons. Le
contenu sonore créé a bénéficié ensuite d’une phase de traitement des sons, qui est basée
sur des sur-échantillonnages, des filtres passe-bas, des retardements des sons, etc.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 115
Tous les sons ambiants sont mis à niveau, ils durent 10 secondes et ils sont joués en
boucle.
Les commentaires audio utilisés dans SARIM sont ceux fournis avec l’audioguide
du musée. Ce contenu a été crée par la société Sycomore. Le musée des arts et métiers,
étant en possession des droits d’utilisation, nous l’a délivré pour faire nos expériences.
En utilisant l’audioguide du musée, le visiteur peut écouter deux niveaux de commentaires
audio : ceux accessibles en composant le numéro affiché sur l’étiquette posée sur
l’objet et ceux accessibles en cliquant sur la touche ”en savoir plus” du boîtier de l’audioguide.
Nous avons intégré tous les commentaires audio de l’audioguide qui correspondent
aux objets sélectionnés dans notre parcours de visite. Tous les commentaires
durent 1 min 30. Nous avons créé également un son ambiant correspondant à l’entrée
de la salle et un commentaire d’introduction sur l’histoire de ce lieu. Au total, 11 objets
de cette salle sont sonorisés, chaque objet est décrit par un son ambiant et un commentaire,
soit un total de 24 contenus audio et 25 minutes 30 d’enregistrement.
5.3.1.3 Scène sonore
L’expérimentation s’est déroulée dans la salle des communications du MAM. Dans
cette salle (figure 5.1), le choix a été porté sur 10 objets exposés : la presse à bras , la
machine à graver de Conté, le télégraphe électrique, le télégraphe aérien, la presse typographique
de Marinoni, la machine à écrire de Remington, le fusil Phonographique, la chambre le touriste,
la chambre de Daguerre, et le masque de squelettes. A chacun de ces objets nous avons
associé deux ZA d’une forme sphérique, une ZA partagée et une ZA exclusive (figure
5.1). Les objets sont nécessairement contenus dans leurs propres ZA, mais n’étaient pas
nécessairement positionnés au centre de ces dernières. En effet la position des ZA a été
soigneusement choisie pour créer des zones partagées qui se croisent, et dans lesquelles
le visiteur percevra plusieurs sons émanant de différents objets. Le diamètre de toutes
les ZA exclusives était de 3 mètres, sauf pour la presse typographique de Marinoni qui était
de 5 mètres. Quant aux ZA partagées, le diamètre variait entre 8 et 12 mètres.116 Chapitre 5. Evaluation de la visite augmentée
FIGURE 5.1 – Interface de suivi des participants durant l’expérience 1.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 117
5.3.2 Protocole expérimental
5.3.2.1 Participants
Dix huit volontaires non payés ont participé à cette expérience. Ils étaient 9 hommes
et 9 femmes. Les participants sont âgés entre 25 et 73 ans avec une moyenne d’âge de 49
ans. Treize participants ont été recrutés sur invitation par mail et 5 participants ont été
recrutés sur place parmi les visiteurs du musée. Les participants recrutés au préalable
de l’expérience sont invités à passer une condition sur deux pour chaque expérience.
Les participants qui sont recrutés sur place sont des visiteurs du musée que l’on a sollicité
pour participer à l’expérience. La majorité des visiteurs abordés ont accepté de
participer à l’expérience. La moitié des participants avaient déjà visité le musée, mais
ils n’avaient pas utilisé auparavant l’audioguide proposé par ce dernier. Aucun des
participants recrutés sur place n’avait visité auparavant la salle des communications et
tous étaient francophones.
5.3.2.2 Déroulement
Afin de participer à l’expérience, les participants sont invités à remplir un formulaire,
disponible en annexe (A.3), où ils communiquent leurs nom et prénom, leur âge,
leurs coordonnées (mail ou téléphone), et s’ils ont déjà visité le musée des arts et métiers
ou non. Si oui, combien de fois ils l’avaient visité au cours des trois dernières années.
Afin d’éviter les parasites et les variables secondaires, les participants qui avaient déjà
utilisé l’audioguide du musée des Arts et Métiers ne sont pas sélectionnés pour passer
l’expérience. Les participants qui ont visité le musée plus de 3 fois au cours des trois
dernières années, ne sont également pas sélectionnés pour passer l’expérience.
L’expérience se déroule en faisant passer un participant à la fois pour des raisons
techniques liées au nombre de prototypes que nous possédions. En effet, nous possé-
dons un seul capteur, et pour cela, un seul participant peut passer l’expérience à la fois.
Ce qui a été très coûteux en termes de temps.
Pour mener l’expérimentation, aucune suspension des visites dans cette salle n’a
été exigée auprès des responsables du musée pendant la période de l’expérience. Il
convient de noter tout de même qu’il n’y avait pas énormément de visiteurs présents
au moment de notre expérience.118 Chapitre 5. Evaluation de la visite augmentée
FIGURE 5.2 – Expérience 1 en situation
5.3.2.3 Les variables théoriques
Nous rappelons qu’une variable indépendante (VI) est la variable que nous manipulons
directement en tant qu’experimentateurs. Elle est appelée ainsi parce qu’elle est
indépendante de ce que font les participants durant l’expérience, elle est prédéfinie par
l’expérimentateur. La variable qui est observée afin de voir si des changements dans
la variable indépendante ont un effet sur elle est appelée variable dépendante (VD).
Elle est appelée ainsi, par ce que les changements dans celle-ci sont dépendantes des
changements de la variable indépendante [Robson94].
Dans cette expérience, la variable indépendante est le dispositif utilisé. Dans la première
condition expérimentale, le dispositif étudié est SARIM, dont nous étudions l’uti-Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 119
lisabilité et l’apport. Dans la seconde condition expérimentale, le dispositif étudié est
l’audioguide actuel proposé par le musée. Le but étant de comparer les deux dispositifs
d’un point de vue ergonomique. Nous définissons les variables dépendantes suivantes :
1. L’utilisabilité du dispositif.
2. Le caractère informatif
3. Le caractère ludique.
4. La localisation des objets.
5.3.2.4 Plan expérimental et hypothèses opérationnelles
La description du plan expérimental consiste à énoncer les VI et leurs modalités,
tout en indiquant si elles correspondent à des groupes de participants appariés (plan
croisé) ou indépendants (plan emboîté). En l’occurrence, notre expérience utilise des
groupes indépendants, nous avons donc utilisé des plans expérimentaux emboîtés.
Une hypothèse théorique prévoit une relation de type abstrait entre deux classes de
faits, et une hypothèse opérationnelle signifie la traduction de l’hypothèse théorique
dans un cas concret précis [Légal07]. Les hypothèses opérationnelles sont les traductions
concrètes des hypothèses théoriques. Il s’agit d’essayer de prédire l’influence des
VI sur les VD. Le tableau 5.2 présente les hypothèses théoriques et opérationnelles que
nous avons formulées et le lien qui les réunit.
5.3.3 Résultats et analyse des données
Dans cette section nous présentons les résultats trouvés qui répondent ou pas aux
hypothèses formulées précédemment. Comme nous l’avons évoqué précédemment
deux méthodes d’évaluation et de recueil de données ont été utilisées, la méthode des
logs et le questionnaire . Nous commençons par présenter les résultats par la méthode
des logs, et ensuite, nous présentons les réponses subjectives des participants recueillies
à travers le questionnaire.
5.3.3.1 Le suivi avec la méthode des logs
La méthode des logs fait partie des méthodes empiriques que nous avons utilisées
dans notre expérience. Elle consiste à observer le comportement en situation d’utilisation
du dispositif évalué. Dans notre expérience, nous avons utilisé cette méthode pour
capter logiciellement, en temps réel et de manière non intrusive, quelques traces de la
visite de chaque visiteur. En se basant sur ces logs, nous avons pu découvrir le nombre
de ZA que le visiteur a traversé durant son parcours, ainsi que la durée passée dans
chacune des ZA traversées.120 Chapitre 5. Evaluation de la visite augmentée
Hypothèses Théoriques (HT) Hypothèses Opérationnelles (HO)
SARIM sera plus utilisable que
l’audioguide
– La compréhension de l’utilisation du
dispositif sera plus facile dans la condition
expérimentale de SARIM
– Les utilisateurs comprendront plus
facilement comment utiliser SARIM.
– Le nombre d’erreurs de manipulation sera
plus important dans la condition
expérimentale de SARIM
– L’utilisation du dispositif sera perçue plus
amusante dans la condition expérimentale
de SARIM
– SARIM sera perçu moins encombrant.
– Le besoin de flexibilité ressenti sera moins
important dans la condition expérimentale
de SARIM
– Le temps de latence entre l’input et le
feedback sera moins important dans la
condition expérimentale de SARIM.
L’utilisation de SARIM facilitera la
localisation et l’identification des
artefacts commentés
– La localisation des objets sera plus facile en
utilisant SARIM.
– Les sons de SARIM aideront les visiteurs à
se localiser.
SARIM renforcera l’aspect
informatif de la visite
– La durée d’observation des objets cibles sera
plus importante dans la condition
expérimentale de SARIM.
– L’intérêt déclaré aux objets observés sera
plus important dans la condition
expérimentale de SARIM.
– Le nombre d’objets visités sera plus
important dans la condition expérimentale
de SARIM.
SARIM renforcera l’aspect ludique
de la visite
– L’amusement du visiteur sera plus
important dans la condition expérimentale
de SARIM.
TABLE 5.2 – Corrélation entre les hypothèses théoriques et les hypothèses opérationnellesSection
5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 121
Nous constatons qu’avec SARIM, la durée moyenne passée dans les zones exclusives
est égale à 7min15 17sec , avec un intervalle de confiance (IC 95%). Dans le cas
de l’audioguide classique du MAM, cette durée n’a pas dépassé 5min32 40sec (figure
5.3). Nous pouvons déduire que le visiteur passe plus du temps à écouter le contenu
sonore avec SARIM qu’avec l’audioguide. En effet, dans le cas de l’audioguide, le son
n’est déclenché qu’à partir du moment où le visiteur arrive à lire le numéro marqué sur
la petite vignette posée sur l’objet. En général les visiteurs, n’arrivent à lire ce numéro
qu’en étant très proches de l’objet et donc dans son périmètre de ZA exclusive.
Nous constatons aussi que la durée moyenne passée dans les zones partagée avec
SARIM est égale à 2min33 15sec, avec un intervalle de confiance (IC 95%). Dans le cas
de l’audioguide classique du MAM, cette durée est égale à 4min8 38sec (figure 5.4).
Ce constat peut être interprété par le fait que le SARIM arrive à attirer les visiteurs à
se rapprocher des objets et passer plus de temps à écouter leurs descriptions. Ce qui
contribue à leur donner plus d’informations sur les objets exposés et leur permet de
visualiser l’objet de plus prêt et d’apercevoir ainsi plus ses détails.
Concernant le nombre d’objets visités, nous ne trouvons pas de différences signifi-
catives entre les deux dispositifs. En effet, la moyenne du nombre de zones visitées en
utilisant SARIM est 5, 8 1, 4 contre 4, 8 0, 7 pour l’audioguide. Cela est dû probablement
au scénario de la visite. En revanche, nous pouvons déduire que la simulation de
la localisation n’a pas entravé le bon déroulement de l’expérience.
Analyse des données
Pour chacune des deux systèmes ; Audioguide et SARIM, nous avons effectué trois
mesures pour chaque participants : le temps total passé en zones exclusives, le temps
total passé en zones partagées et le nombre d’objets visités. Pour mesurer la pertinence
de nos résultats, nous avons effectué des analyses de variances (ANOVA) pour chacune
des deux systèmes.
En comparant le temps total passé en zones exclusives entre les deux systèmes, nous
remarquons une différence significative entre les deux systèmes (F=5,090, P=0,041). De
même, la comparaison du temps total passé en zones partagées, nous remarquons une
différence significative (F=4,762, P=0,048). Par contre, la différence n’est pas significative
entre le nombre d’objets visités dans les deux systèmes (F=1,475, P=0,246).
Ensuite, nous avons voulu vérifier l’influence sur les résultats des tests effectués, de
l’âge des participants et de leurs genres.
Pour l’âge, nous avons répartis les participants dans chacun des systèmes en deux
groupes : âgés de plus de 30ans et âgés de moins de à 30ans. Pour l’audioguide, la
différence entre les deux groupes était significative pour le temps passée en zones exclusives
(F=11,494, P=0,014), mais également en zones partagées (F=10,852, P=0,016).
Ceci peut soit présager une réelle différence de comportement entre les deux groupes
d’âge, soit être causé uniquement par le faites que les deux groupes ne sont pas équilibrés
en nombres de participants. En effet le groupe des moins de 30ans et le tiers du122 Chapitre 5. Evaluation de la visite augmentée
groupe des plus de 30ans. Pour le nombre d’objet, la différence entre les groupes d’âge
n’est pas significative (F=0,036, P=0,854).
Pour SARIM, par contre, les différences entre les deux groupes d’âge ne sont pas
significatives que ça soit pour le temps passé en zones exclusives (F=1,737, P=0,244), ni
pour le temps passé en zones partagés (F=2,360, P=0,185), ni pour le nombre d’objets
visités (F=2,184, P=0,199).
Pour le genre, nous avons répartis les participants dans chacun des systèmes en
deux groupes : hommes et femmes. Pour l’audioguide, la différence entre les deux
groupes était non significative que ça soit pour le temps passés en zones exclusives
(F=0,003, P=0,955), pour le temps passés en zones partagés (F=0,013, P=0,911), ou pour
le nombre d’objet (F=4,668, P=0,074). Pour SARIM, le même constat est fait, puisque
la différence entre les deux groupes était non significative que ça soit pour le temps
passés en zones exclusives (F=4,437, P=0,089), pour le temps passés en zones partagés
(F=4,794, P=0,080), ou pour le nombre d’objet (F=4,263, P=0,093).
FIGURE 5.3 – Temps passé dans les zones exclusives pour les deux dispositifs (IC95%).Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 123
FIGURE 5.4 – Temps passé dans les zones partagées pour les deux dispositifs (IC95%)
5.3.3.2 Les données descriptives du questionnaire
Les questionnaires et entretiens permettent le recueil de données subjectives relatives
aux attitudes, aux opinions des utilisateurs, et à leur satisfaction [Scapin97]. Le
questionnaire constitue la deuxième méthode empirique d’évaluation que nous avons
utilisée dans cette expérience. Le questionnaire est important pour récolter les données
descriptives. Il n’est pas coûteux à mettre en place et permet de donner une vue géné-
rale sur les résultats, mais manque cependant de profondeur. C’est pour cette raison
que dans notre expérience nous ne nous basons pas uniquement sur cette méthode,
mais nous utilisons aussi la méthode des logs.
Après avoir passé l’expérience, les participants sont invités à répondre à un questionnaire,
disponible en annexe (A.4.1), composé de 25 questions. La plupart des questions
sont fermées, où le participant doit choisir entre quatre possibilités de réponse.
D’autres questions sont ouvertes. Elles permettent aux participants de s’exprimer librement
sur le dispositif évalué. Le questionnaire comporte aussi des questions conditionnelles,
des questions dichotomiques dont la réponse est oui ou non, ainsi que des
questions directes. Tous les participants doivent répondre aux mêmes questions dans le
même ordre et posées par la même personne. Tous les participants répondent au questionnaire
immédiatement après l’expérience pour que tous les participants soient dans
le même état d’esprit. L’expérimentateur n’est en mesure de répondre aux questions
des participants qu’une fois que ces derniers ont répondu au questionnaire.
Pour les questions fermées, nous avons choisi d’utiliser l’échelle de Likert à 4 points
(choix), et non pas celle à 5 points. En effet, cette dernière contient une réponse neutre
qui peut créer une confusion entre les réponses ” je suis neutre” et ”je n’ai pas d’opinion”
[Albaum97]. Notre échelle comporte les réponses suivantes : ”Pas du tout d’accord”,
”Pas d’accord”, ”Plutôt d’accord”, ”Tout à fait d’accord”. Nous avons utilisé
aussi l’échelle de Likert à 3 points, pour répondre à certaines questions, et donc les ré-124 Chapitre 5. Evaluation de la visite augmentée
ponses sont de l’ordre de ”Pas du tout”, ”Je pense que oui”, et ”Absolument”. Avant de
choisir les questions qui doivent figurer dans le questionnaire, nous avons défini une
série de 25 questions (tableau 5.4)qui nous permettrons de répondre à nos VDT.
L’utilisabilité de SARIM
Nous avons évalué l’utilisabilité des deux dispositifs en termes de compréhension,
de facilité d’apprentissage et d’utilisation, de satisfaction et de réactivité. En termes de
compréhension, 77% des participants ont réussi à comprendre l’utilisation des deux
dispositifs avec un avantage pour SARIM. En effet, 23% des participants ont été tout à
fait d’accord que le fonctionnement de SARIM est compréhensible. En termes de satisfaction,
l’avantage est très marqué pour SARIM. En effet, alors que 15% des participants
ont été insatisfaits de l’audioguide, ils n’étaient que 4% pour SARIM. De plus, 65% sont
très satisfaits de SARIM contre 20% pour l’audioguide, et 4% des participants ont ré-
pondu qu’ils ne sont pas du tout satisfaits de l’audioguide contre 0% pour SARIM. La
réactivité est également un grand avantage pour SARIM. En effet, la totalité des participants
ont trouvé que SARIM est réactif, contre uniquement 56% pour l’audioguide. De
plus, 22% répondent que l’audioguide n’est pas du tout réactif. De la même manière, la
totalité des participants ont jugé SARIM facile à apprendre. Parmi eux, 63% ont même
été tout à fait d’accord pour l’affirmer. Dans le cas de l’audioguide, 26% des participants
ne l’ont pas trouvé facile à apprendre.
En additionnant ces 4 critères d’utilisabilité des deux dispositifs, nous remarquons
que SARIM est jugé plus utilisable que l’audioguide du musée (figure 5.5).
FIGURE 5.5 – Résultats du questionnaire sur l’utilisabilite des deux dispositifs, SARIM
et l’audioguide du musée
Le caractère ludique de SARIM
Tous les participants qui ont testé SARIM l’ont trouvé amusant. 44% des participants
l’ont même trouvé très amusant. Pour l’audioguide, les réponses étaient miti-Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 125
gées. Alors que 55% des participants ne l’ont pas trouvé amusant, 11% l’ont trouvé très
amusant.
Le caractère informatif de SARIM
Nous entendons par caractère informatif, l’apport informatif que procure le dispositif
sur les artefacts observés, ainsi que l’intérêt porté envers ces artefacts. L’objectif
est ainsi de comparer la quantité d’informations apportée par SARIM et l’audioguide
du musée, puis d’évaluer l’intérêt que procure chacun des dispositifs aux artefacts sonorisés.
Cette VD est déjà évaluée dans la méthode des logs. L’objectif de poser des
questions sur cette variable dépendante dans le questionnaire, est de valider (ou pas)
les résultats des logs. Le nombre de participants ayant trouvé SARIM plus informatif
est légèrement plus élevé que celui de l’audioguide. Ils étaient 88% dans le cas de SARIM
et 83% dans le cas de l’audioguide. Par contre, 11% des participants ayant testé
l’audioguide ne l’ont trouvé pas du tout informatif, alors qu’ils étaient 0% dans le cas
de SARIM. Ce qui donne un léger avantage à ce dernier.
La localisation des objets du musée par SARIM
L’objectif ici est de mesurer la capacité des participants à localiser les objets plus ou
moins facilement dans les deux conditions. La totalité des participants ayant testé SARIM
ont réussi à localiser les objets facilement. 66% d’entre eux ont même trouvé cela
très facile. Dans le cas de l’audioguide, 22% n’ont pas réussi à trouver les objets sonorisés
facilement. 11% ont même trouvé cela très difficile. Et, ils étaient 33% à estimer que
c’était très facile de localiser les objets. Par ailleurs, la question Q21 (tableau 5.4) a été
posée uniquement aux participants qui ont expérimenté SARIM. Elle a pour objectif de
mesurer l’impact des sons ambiants spatialisés sur la facilité de la localisation des artefacts.
Tous ont trouvé que ce type de contenu sonore les a aidé à localiser les artefacts.
Ils étaient 89% à être tout à fait d’accord.
5.3.4 Discussion
Dans cette expérience, nous avons voulu évaluer SARIM en le comparant avec l’audioguide
du musée. L’évaluation avait pour objectif de vérifier l’utilisabilité des deux
dispositifs, leur apport sur le plan informatif et ludique ainsi que sur la facilité de localisation
des artefacts commentés.
Au niveau de l’utilisabilité, nous avons déduit à partir des réponses du questionnaire
que les deux dispositifs sont utilisables avec un avantage pour SARIM sur l’audioguide
du musée. Durant la séance du questionnaire, quelques participants ont exprimé
leurs avis par rapport à l’utilisabilité de SARIM : ’”C est pratique d avoir les mains libres”.
D’autres ont formulé des remarques, comme une participante qui a trouvé que le ni-126 Chapitre 5. Evaluation de la visite augmentée
veau de son n’était pas le même pour tous les artefacts ”Pour certaines machines le son est
moins fort que pour d autres”, ou encore des remarques sur le parcours ”Plus de zones d intersection
serait intéressant”. Quelques participants qui ont testé l’audioguide du musée
se sont exprimés sur leur expérience, en le comparant avec la visite classique sans l’audioguide.
Un participant a dit : ”Ca donne plus de liberté qu une visite classique de choisir ce
qu on veut vraiment voir”. Ils ont également exprimé leurs remarques sur l’audioguide,
un participant a dit : ”J avais testé l audioguide géolocalisé du Louvre la semaine précédente.
Je suis mécontent. Je n ai pas aimé la forme des commentaires” . Un autre participant a dit :
”C est plus intéressant avec les images projetées sur la borne vidéo”, ou encore sur le contenu
”Les commentaires sont longs ”, et aussi sur la compréhension du fonctionnement de l’audioguide,
un participant a dit ”Je n ai pas compris le code de couleurs” et un autre a dit :
”Le bouton bleu ne fonctionnait pas”.
En ce qui concerne la facilité de localisation, les résultats du suivi avec les logs ont
été consolidés par le questionnaire pour déduire que l’utilisation de SARIM facilite la
navigation dans le musée et facilite la localisation des artefacts commentés. Les participants
ayant testés SARIM ont été séduits par la manière de navigation qu’il procure.
Une participante a dit : ”C est le son qui oriente la visite, et non pas l inverse !”, une autre
évoque la navigation en disant : ”Ne pas avoir à taper les numéros des objets est une bonne
idée. La visite nous dirige !”. Les résultats prouvent également, que cette manière de navigation
a nettement facilité la localisation des artefacts commentés. En effet, l’utilisateur
trouve plus rapidement les artefacts commentés vu qu’il est guidé et orienté par les
sons. Ce qui n’est pas le cas avec l’audioguide. De là, nous pouvons valider les hypothèses
théoriques que nous avons énoncé. Notamment, que l’utilisation de SARIM
facilite la localisation et l’identification des artefacts commentés.
Concernant l’aspect informatif, les résultats obtenus par la méthode des logs dé-
montrent que les participants manifestent plus d’intérêts et passent plus de temps devant
les artefacts commentés en utilisant SARIM. Les résultats montrent également que
les participants visitent plus de zones en utilisant SARIM qu’en utilisant l’audioguide.
Étant donné que chaque zone porte une information sonore particulière, nous déduisons
que les participants qui ont utilisé SARIM ont eu accès à plus d’informations. Ces
résultats ont été confirmés par les réponses des participants à travers le questionnaire.
En effet les participants manifestent plus d’intérêts envers les artefacts observés dans la
condition du SARIM. Ils manifestent également plus d’implication en écoutant plus attentivement
les commentaires audio en utilisant SARIM. Ce qui nous permet de valider
les hypothèses théoriques et opérationnelles liées à l’apport informatif du SARIM.
Et enfin, concernent l’aspect ludique, les résultats du questionnaire ont démontré
que les participants ont trouvé SARIM nettement plus amusant que l’audioguide. Et par
conséquent, l’hypothèse théorique liée à l’aspect ludique de SARIM peut être validée.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 127
Numéro de la
question Question
Q1 Êtes-vous habituellement intéressé(e) par ce genre
d’exposition ?
Q2 La visite vous a-t-elle paru intéressante ?
Q3 D’après vous, combien de temps a-t-elle duré ?
Q4 La visite vous a-t-elle paru amusante ?
Q5 Dans l’ensemble, les objets que vous avez observés vous
ont semblé intéressants ?
Q6 D’après vous, quel a été l’impact de la presse rotative
située au centre de la salle dans l’histoire de l’imprimerie ?
Q7 Vous êtes vous senti(e) projeté(e) dans les époques
correspondant aux objets que vous avez observés ?
Q8 Vous êtes-vous senti(e) à l’aise avec l’utilisation du
dispositif ?
Q9 Comment avez-vous trouvé la réactivité du système ?
Q10 A quelle vitesse pensez-vous que la plupart des gens
apprennent à utiliser ce système ?
Q11 Personnellement, avez-vous trouvé le dispositif facile à
utilisé ?
Q12 Avez-vous compris comment écouter les commentaires
audio liées aux objets observés ?
Q13 Si oui, comment ?
Q14 Vous est-il arrivé de faire des erreurs de manipulation du
dispositif durant la visite ?
Q15 Si oui, vous avez pu corriger vos actions ?
Q16 Vous est-il arrivé de déclencher des sons que vous ne
vouliez pas écouter ?
Q17 Si oui, vous avez pu corriger vos actions ?
Q18 Ces erreurs de manipulation vous ont-elles aidé(e) à mieux
comprendre le fonctionnement du dispositif ?
Q19 Dans l’ensemble, vous avez vous compris comment
utiliser le dispositif ?
Q20 Vous avez réussi à localiser les objets à observer ?
Q21 Les sons du casque vous-ont-ils aidé(e) à trouver les objets
à observer ?
Q22 Dans l’ensemble, Vous avez trouvé le dispositif ?
Q23
Durant la visite, avez-vous ressenti le besoin de pouvoir
contrôler le dispositif autrement que par vos
déplacements ? Pourquoi et comment ?
Q24 D’une manière générale, êtes vous satisfait(e) du
dispositif ?
Q25
Si un tel système se généralisait, aimeriez-vous pouvoir
l’utiliser à nouveau lors de vos futures visites de musées ?
TABLE 5.4 – Les Questions du questionnaire de la première expérience128 Chapitre 5. Evaluation de la visite augmentée
FIGURE 5.6 – Résultats du questionnaire pour les deux conditions : l’audioguide (en
haut) et SARIM (en bas)Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 129
5.4 Expérience 2 : Étude de deux configurations de scènes sonores
dans la salle des automates
Cette expérience vise à étudier l’impact de deux configurations de zones d’audibilité
(ZA) dans la scène sonore en utilisant SARIM. La première condition expérimentale
est celle des zones croisées, où le visiteur se situe dans l’intersection de toutes les ZAs. Il
est donc invité à écouter les sons correspondants à toutes les zones qui se croisent. Si un
son retient son attention, il n’a qu’à fixer l’artefact qui le produit pendant quelques secondes
pour que tous les autres sons s’arrêtent s’il manifeste plus d’intérêt pour cet artefact,
une bande sonore correspondant à la description vocale de cette artefact lui sera
envoyée. Dans la deuxième condition, les zones sont disjointes. Le visiteur se trouve à
l’extérieur de toutes ses zones. Il ne pourra entendre qu’un seul son à la fois. Pour ce
faire, il est invité à fixer chaque objet quelques secondes pour déclencher le son associé.
En s’attardant plus sur le même objet, le contenu audio de sa description lui sera
transmis.
Les artefacts qui sont exposés dans cette salle sont des automates à musique. Le
visiteur ne devant avoir aucune idée préalable du nombre, de la forme ou du nom des
automates sonorisés parmi ceux exposés dans cette salle, il aura pour tâche de désigner
les automates qui émettent de la musique, de les localiser, et d’écouter les descriptions
vocales associées. Les musiques sont envoyées au visiteur d’une manière spatialisée
pour l’aider à les localiser, et pour qu’il soit immergé dans l’environnement de cette
salle. La salle des automates étant relativement petite, nous n’avons pas eu le besoin
de capter la position du visiteur. Les automates sont également disposés d’une manière
circulaire. Pour cela, nous avons positionné le visiteur au centre de la salle afin qu’il
puisse percevoir tous les automates simplement en tournant sa tête. Le choix a été porté
sur cette salle pour plusieurs raisons :
– Les sources sonores sont proches géographiquement.
– Les automates produisent de la musique.
– Les sons produits par les automates sont similaires.
– Les sons produits par les automates ne sont pas connus d’avance par les visiteurs.
5.4.1 Méthode
Le matériel utilisé est identique à celui de la première expérience (voir image 3.9).
Le participant est assis sur les escaliers au centre de la salle, et navigue dans la salle en
tournant la tête sur le plan horizontal. L’ordinateur qui servait pour appliquer la technique
du magicien d’Oz dans la première expérience est utilisé par l’expérimentateur
pour s’assurer du bon déroulement de l’expérience. En effet, un programme a été développé
pour simuler la navigation du participant dans la salle. Un avatar représentant le
participant change de direction si le participant tourne sa tête.130 Chapitre 5. Evaluation de la visite augmentée
Tâche
La tâche consiste à trouver les objets correspondant aux musiques écoutées et à les
observer pendant une durée prédéterminée. Le participant va entendre des musiques
provenant de certains des automates exposés. S’il repère un objet qui l’intéresse, il suf-
fira d’orienter sa tête dans sa direction et de le fixer quelques secondes pour écouter le
son qu’il émet. Après avoir écouté le morceau de musique d’un automate, il pourrait
écouter le commentaire audio qui lui est relatif, s’il continue de regarder dans sa direction.
Cependant, s’il en a envie, il peut à tout moment passer à l’observation d’un autre
objet en tournant la tête vers celui-ci. Le participant est libre d’explorer la scène comme
il le voudra. Au bout de cinq minutes l’expérience s’arrête, pour lui poser des questions
sur ce qu’il vient de vivre. Les consignes données aux participants en amont de leurs
visite sont disponibles en annexe (A.2).
Contenu sonore
Les contenus sonores utilisés dans cette expérience sont de deux types : la musique
des automates et les commentaires. Les musiques des automates nous ont été transmises
par le service communication du musée des arts et métiers. Ces musiques ont
été enregistrées par des professionnels en faisant marcher les automates. Il s’agit de 5
enregistrements musicaux correspondants aux cinq automates exposés dans cette salle.
Les commentaires audio, ont été préparés et enregistrés par l’expérimentateur en se basant
sur les informations fournies par le centre de documentation du musée des arts et
métiers.
Scène sonore
L’expérimentation s’est déroulée dans la salle des automates. Le choix s’est porté
sur 4 automates musicaux dont nous possédons les musiques : la joueuse de Tympanon ,
la boîte à musique, l horloge avec tympanon, et l horloge hollandaise.
Dans cette expérience, nous nous intéressons à l’orientation du visiteur envers ces
objets. Nous distinguons deux situations : la première est "En focus de l’automate X",
qui signifie que le lacet de X par rapport à l’axe de vue du visiteur est inférieur à un seuil
θ choisi par le concepteur. On dit dans ce cas que le visiteur est dans la zone de l’automate
X. La deuxième situation est "hors focus" dans laquelle le visiteur n’est orienté
vers aucun des automates sonorisés. On dit dans ce cas le visiteur est à l’extérieur de
toutes les zones. Nous avons choisi pour cette expérience θ = π/9. Deux configurations
de sonorisation sont alors comparées. La première est celle appelée "Intersection".
Elle stipule qu’en situation de "hors focus", l’utilisateur écoutera un mixage de tous les
sons émanant des différents objets sonores, et qu’en situation de "En focus de l’automate
X", le visiteur écoutera au début un mixage de tous les sons. Il écoutera après un
seuil de temps T1 exclusivement le son ambiant lié à l’automate X, avant d’écouter en-Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 131
suite après un seuil de temps T2 le commentaire de description de cet automate X. La
deuxième configuration est celle appelée "indépendance". Elle stipule qu’en situation
de "hors focus", le visiteur ne percevra aucun contenu audio. C’est seulement quand il
sera "En focus d’un automate X" qu’il percevra le ambiant, puis après un seuil de temps
T2 il percevra le commentaire de description de cet automate X. Les seuils de temps T1
et T2 ont été fixés à 4 secondes chacun.
5.4.2 Protocole expérimental
5.4.3 Participants
Quatorze sujets non rémunérés ont participé à cette expérience. Ils étaient 8 hommes
et 6 femmes. Les participants sont âgés entre 25 et 63 ans avec une moyenne d’âge
de 44 ans. Dix participants ont été recrutés sur invitation par mail, et 4 participants
ont été recrutés sur place parmi les visiteurs du musée. Les participants recrutés au
préalable de l’expérience sont invités à passer une condition sur deux pour chaque
expérience. Dix participants sur quatorze ont déjà visité le musée, mais ils n’ont jamais
utilisé l’audioguide proposé par le musée. Tous les participants qui sont recrutés sur
place n’avaient pas encore visité la salle des automates, n’utilisent pas l’audioguide du
musée, et sont des visiteurs francophones.
5.4.3.1 Déroulement
Comme dans la première expérience, avant de participer à l’expérience, les participants
doivent répondre au formulaire de recrutement, disponible en annexe (A.3).
Après avoir passé l’expérience, les participants sont invités à répondre à un questionnaire
(voir annexe (A.4.2)), composé de 18 questions. Le questionnaire comporte des
questions et des choix de réponses utilisant l’échelle de Likert en 4 points.
Par crainte de perturbation de l’expérimentation, les visites ont été suspendues dans
la salle des automates pendant l’expérience. L’expérience dure cinq minutes, suivies de
cinq minutes pour répondre au questionnaire.
5.4.3.2 Variables et hypothèses
Dans cette expérience, la variable théorique indépendante est la disposition des
zones d’audibilité (ZA), ou l’intersection des zones d’audibilités (ZA) dans la scène sonore.
Nous allons étudier l’utilisabilité et l’apport de chaque configuration de ZA. Dans
la première condition de cette expérience toutes les ZA se croisent, et dans la deuxième
condition les ZA sont toutes disjointes. Le but étant de comparer SARIM dans les deux
conditions d’un point de vue ergonomique.
Les variables théoriques dépendantes de cette expérience sont :132 Chapitre 5. Evaluation de la visite augmentée
1. L’utilisabilité de SARIM dans cette salle.
2. Le caractère informatif.
3. Le caractère ludique.
4. La localisation des objets.
Comme dans la première expérience, cette expérience utilise des groupes indépendants
de participants, et des plans expérimentaux emboîtes. Le tableau 5.6 présente
les hypothèses théoriques et opérationnelles que nous avons définies pour cette expé-
rience.
FIGURE 5.7 – Expérience 2 en situationSection 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 133
Hypothèses Théoriques Hypothèses Opérationnelles
SARIM sera plus utilisable si les
ZA se croisent
– L’utilisation de SARIM sera plus facile à
comprendre si les ZA se croisent
– Le nombre d’erreurs de manipulation est
moins important si les ZA se croisent
– L’utilisation de SARIM paraîtra plus facile si
les ZA se croisent
– L’utilisation de SARIM paraîtra plus
amusante si les ZA se croisent
– L’utilisation de SARIM paraîtra moins
encombrante si les ZA se croisent.
– Le visiteur ressentira moins le besoin de
flexibilité si les ZA se croisent
– Le visiteur trouvera SARIM plus réactif si les
ZA se croisent.
L’intersection des zones permettra
de rendre la visite plus instructive
– La durée d’observation des objets cibles sera
plus importante si les ZA se croisent.
– L’intérêt déclaré aux objets observés sera
plus important si les ZA se croisent.
– Le nombre d’objets visités sera plus
important si les ZA se croisent.
L’intersection des zones permettra
de rendre la visite plus amusante
L’amusement du visiteur sera plus important
si les ZA sont croisées.
L’intersection des ZA facilitera la
localisation et l’identification des
objets visités
– Les sons joués simultanément lorsque les ZA
se croisent aideront les visiteurs à se localiser
– Les visiteurs arriveront plus facilement à
localiser les objets sonorisés si les ZA se
croisent.
TABLE 5.6 – Corrélation entre les hypothèses théoriques et les hypothèses opérationnelles134
Chapitre 5. Evaluation de la visite augmentée
5.4.4 Résultats et analyse de données
5.4.4.1 Résultats des logs
Dans cette expérience, nous traçons le focus du visiteur pour voir s’il est dans la
zone de chaque automate ou s’il est hors zone, ça veut dire qu’il n’est dans la zone
d’aucun automate. Les intervalles de confiance affichés sur les figures sont calculés
pour un degré de confiance de 95%. Nous calculons le moment où le visiteur est orienté
vers un objet (en focus) et le moment où il n’est orienté vers aucun objet (hors focus).
La durée moyenne passée hors focus pour les deux conditions expérimentales,
montre que les participants passent 2min5s , 16s hors focus dans le cas des zones croisées
et seulement 32s 16s dans le cas des zones indépendantes. Cela peut être interprété
par une difficulté constatée chez les participants à localiser les œuvres sous cette
condition. Dans le cas des zones indépendantes, les participants passent beaucoup plus
de temps en focus. Cela signifie qu’ils trouvent plus facilement les automates qui produisent
de la musique, et passent plus de temps à les écouter.
Le calcul de la durée moyenne passée en focus montre que les participants passent
4min28s 8s dans la condition des zones indépendantes et 2min55s 8s dans la condition
des zones croisées. Le fait de passer plus de temps à observer les objets peut être
interprété par, premièrement, l’intérêt que portent les participants envers les automates
observés dans la condition des zones indépendantes, et deuxièmement, cela confirme
le résultat précédent sur la difficulté de localiser les automates dans la condition des
zones croisées. Les participants en condition de zones croisées passent moins de temps
à observer les automates qu’ils doivent chercher.
FIGURE 5.8 – Durée de visite quand le visiteur n’est orienté vers aucun objet (hors focus)Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 135
FIGURE 5.9 – Durée de visite quand le visiteur est orienté vers un objet (en focus)
Analyse de données
Pour chacune des deux conditions : intersection et indépendance, nous avons effectué
deux mesures : le temps total passé hors focus et le temps passé en focus. Dans un
premier temps nous avons vérifié l’influence sur les résultats des tests effectués dans
la salle des automates de l’âge des participants, de leurs genres, et du fait que certains
participants avaient auparavant expérimenté le système dans la salle des communications.
Nous avons ainsi effectué des analyses de variances (ANOVA) pour chacune des
deux conditions indépendance et intersection.
Pour l’âge, nous avons répartis les participants dans chacune des conditions en deux
groupes : supérieur à 30ans et inférieur à 30ans. Dans la condition d’indépendance,
aucune différence significative n’a été détectée entre les deux groupes d’âge, ni pour
le temps en focus (f=0,151, p=0,713), ni pour le temps hors focus (f=0,151, p=0,713). Le
même constat est fait pour la condition d’intersection ; (f=0,793, p=0,413) pour le temps
en focus, (f=1,147, p=0,332) pour le temps hors focus.
Pour le genre, nous avons répartis les participants dans chacune des conditions en
deux groupes : femmes et hommes. Dans la condition d’indépendance, aucune diffé-
rence significative n’a été détectée entre les femmes et les hommes, ni pour le temps
en focus (f=1,567, p=0,265), ni pour le temps hors focus (f=1,567, p=0,265). Le même
constat est fait pour la condition d’intersection ; (f=0,174, p=0,693) pour le temps en
focus, (f=0,072, p=0,798) pour le temps hors focus.
Pour l’impact de l’utilisation du système SARIM dans la salle des communications,
nous avons répartis les participants dans chacune des conditions en deux groupes : les
participants ayant utilisé auparavant SARIM, et ceux ne l’ayant pas utilisé auparavant.
Dans la condition d’indépendance, aucune différence significative n’a été détectée entre
les femmes et les hommes, ni pour le temps en focus (f=0,057, p=0,820), ni pour le temps
hors focus (f=0,057, p=0,820). Le même constat est fait pour la condition d’intersection ;
(f=0,002, p=0,964) pour le temps en focus, (f=0,021, p=0,888) pour le temps hors focus.136 Chapitre 5. Evaluation de la visite augmentée
Après avoir vérifié que l’influence des trois facteurs précédents et non significatif
sur les mesures, nous avons comparé les deux conditions l’une à l’autre. Ainsi, en
comparant la durée d’écoute en focus entre les deux conditions indépendance et intersection,
nous remarquons une différence significatif : (f=244,781, p=2,398E-09). De la
même manière, la différence est significative entre les deux conditions pour la durée
hors focus (f=239,899, p=2,692E-09).
5.4.4.2 Résultats du questionnaire
Le dépouillement du questionnaire pour les deux conditions expérimentales est
donné par les diagrammes de la figure 5.11.
L’utilisabilité de l’intersection des zones
Nous avons évalué l’utilisabilité des deux configurations de zones d’audibilité, en
termes de compréhension, de facilité d’apprentissage et d’utilisation, de satisfaction, de
réactivité et du besoin de flexibilité et de personnalisation. En termes de compréhension,
nous considérons que les résultats ont été parasités par l’expérience précédente,
donc nous n’allons pas les prendre en compte. En effet, la majorité (11) des participants
recrutés commencent par passer la première expérience et 4 parmi eux ont déjà utilisé
SARIM dans la salle des communications.
En terme de facilité d’apprentissage, la totalité des visiteurs ayant testé SARIM dans
la condition de ZA indépendantes ont trouvé le système facile à apprendre (28% très
facile, 72% facile). Alors que 14% de ceux ayant testés SARIM dans la condition de ZA
croisées l’ont trouvé difficile à apprendre. Le reste des participants en condition de ZA
croisées étaient partagés entre très facile (57%) et facile (14%). Par ailleurs, 57% des
participants à la condition de ZA croisées disent qu’il leur est arrivé de déclencher des
sons qu’ils ne voulaient pas écouter (Q12), alors que personne n’a déclaré cela dans
la condition d’indépendance de ZA. On en déduit que l’utilisation de SARIM dans
la condition de l’indépendance des zones est plus facile que dans la condition de ZA
croisées.
En terme de satisfaction, alors que tous les participants à la condition d’indépendance
ont trouvé l’expérience intéressante (72%) ou très intéressante (28%), 14% des
participants à la condition d’intersection l’ont trouvée moyennement intéressante. En
outre, la totalité des participants à la condition d’indépendance ont déclaré être très à
l’aise (57%) ou à l’aise (43%) dans l’utilisation du système, contre 14% des participants
à la condition d’intersection. Toujours en terme de satisfaction, 72% des participants à
la condition d’indépendance trouvent SARIM plutôt pratique dans la condition d’indépendance,
et aucun participant dans cette condition ne trouve le système moins pratique,
alors qu’ils sont 28% des participants à trouver le système plutôt encombrant
dans la condition d’intersection. Finalement, 72% des participants à la condition d’in-Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 137
dépendance aimeraient beaucoup utiliser un tel système dans leurs prochaines visites
dans un musée, et 28% aimeraient assez l’utiliser dans le futur, alors qu’ils n’étaient que
43% dans la condition d’intersection à être très motivés contre 28% qui étaient assez motivés.
14% des participants dans la condition d’intersection se sont déclarés neutres par
rapport à cette question.
En combinant les résultats des réponses liées à la satisfaction, nous trouvons que
33% des participants des deux conditions se disent très satisfaits du dispositif. Mais
on décèle une préférence pour la condition d’indépendance puisque aucun des participants
ne s’est déclaré insatisfait dans cette condition, alors qu’ils étaient 14% dans la
condition d’intersection.
Pour la réactivité de SARIM dans les deux conditions expérimentales : 100% des
participants aux deux conditions trouvent que le dispositif est très réactif.
Besoin de Flexibilité et de personnalisation
En ce qui concerne le besoin de flexibilité et de personnalisation, 57% des participants
qui ont testé SARIM en condition d’intersection des zones ont eu le besoin de le
personnaliser contre 72% dans la condition de l’indépendance des zones. Ceux qui ont
eu ce besoin de contrôler le dispositif autrement ont exprimé leur besoin en terme de
navigation entre les types de son, le réglage du volume, l’arrêt du son. Parmi les ré-
ponses des participants à la condition de l’intersection des zones, nous trouvons : ”oui.
Pour arrêter la cacophonie, c est stressant , ”en appuyant sur une touche sur le casque”, ”oui.
Pouvoir écouter les sons en se déplaçant dans la salle”, ”oui. Pour déclencher le commentaire
avant la n de la musique”, ”avec un boîtier de commande”. Les participants de la condition
indépendance se sont exprimés en disant : ”oui. Pour mettre en pause. Mais j ai compris
plus tard comment faire”, ”oui. Pour augmenter le volume”, ”oui. Pour le volume. En touchant
au casque”, ”oui. Pour couper la musique et passer directement aux commentaires. Avec un
bouton sur le casque” A partir des réponses exprimées par les participants dans les deux
conditions, nous concluons que 12% des participants à la condition de l’intersection des
zones trouvent que SARIM dans cette condition n’est pas très utilisable (Figure 5.10).
Alors que la totalité des participants de la condition d’indépendance trouve le système
utilisable ou plutôt utilisable. Ce qui montre une préférence pour la condition de l’indé-
pendance en termes d’utilisabilité. Nous pouvons déduire, alors, que SARIM est plus
utilisable dans la condition des zones indépendantes (figure 5.10).138 Chapitre 5. Evaluation de la visite augmentée
FIGURE 5.10 – L’utilisabilité de SARIM dans les deux conditions expérimentales
L’apport ludique de la disposition des zones
14 % des participants à la condition de l’intersection des zones trouvent que l’expérience
n’est pas du tout amusante, un jugement qui n’a pas été approuvé par les
participants à la condition des zones indépendantes(0%). 14 % des participants dans
les deux conditions trouvent que l’expérience veçue n’est pas très amusante. 43% des
participants à la condition de l’intersection des zones trouvent que l’expérience est plutôt
amusante, contre 86% chez les participants de la condition de l’indépendance des
zones. 28% des participants à la condition de l’intersection des zones trouvent que l’expérience
est très amusante, contre 0% chez les participants de la condition de l’indé-
pendance des zones
L’apport informatif de la disposition des zones
14 % des participants dans les deux conditions trouvent que les objets observés
sont peu intéressants. 14% des participants à la condition de l’intersection des zones
trouvent que trouvent que les objets observés sont plutôt intéressants, contre 72% de
chez les participants de la condition de l’indépendance des zones. 72% des participants
à la condition de l’intersection des zones trouvent que les objets observés sont très inté-
ressants, contre 14% chez les participants de la condition de l’indépendance des zones
L’apport de la disposition des zones sur la localisation
14 % des participants à la condition de l’intersection des zones répondent qu’ils ont
réussi à localiser les objets plutôt difficilement, contre 0% de chez les participants de
la condition de l’indépendance des zones. 72% des participants à la condition de l’intersection
des zones répondent qu’ils ont réussi à localiser les objets plutôt facilement,
contre 43% de chez les participants de la condition de l’indépendance des zones. 14%Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 139
des participants à la condition de l’intersection des zones répondent qu’ils ont réussi à
localiser les objets très facilement, contre 57% de chez les participants de la condition
de l’indépendance des zones .
5.4.5 Discussion
Dans cette expérience, nous avons voulu tester deux configurations de scènes sonores,
basées sur la disposition des zones d’audibilité. Nous avons étudié l’utilisabilité
et l’apport de deux conditions sonores, la première condition est basée sur des zones
d’audibilité qui se croisent, et qui permettent au participant se trouvant dans le recouvrement
de plusieurs zones, d’écouter plusieurs sources sonores simultanément.
La deuxième condition est basée sur des zones d’audibilité indépendantes qui ne se
croisent pas, et dans lesquelles le visiteur entendra une seule source sonore à la fois.
L’évaluation avait pour objectif de vérifier l’utilisabilité des deux configurations de
scènes sonores, leur apport sur le plan informatif et ludique et sur la facilité de localiser
les automates à musique.
Au niveau de l’utilisabilité, nous avons trouvé à partir des réponses du questionnaire
que les deux dispositifs sont utilisables avec un avantage pour la configuration de
zones indépendantes. Durant la séance du questionnaire, quelques participants ont exprimé
leurs avis par rapport à l’utilisabilité de SARIM dans les deux conditions : ”C est
agréable de ne pas avoir à appuyer sur des boutons !”, ”C est bien de ne pas avoir à appuyer sur
un clavier”. Par ailleurs, nous avons eu des avis différents sur le fait d’écouter plusieurs
sons à la fois. En effet, il y a des participants à la condition des zones croisées qui ont
exprimé leur mécontentement vis à vis de l’écoute simultanée de plusieurs sons : ”Je
n ai pas apprécié que les musiques soient jouées en même temps pendant le passage d un objet
à un autre !”, et aussi nous avons eu des retours évoquant le mot ”cacophonie”. Nous
avons eu également des retours opposés dans la condition des zones indépendantes par
des participants qui auraient souhaité écouter plusieurs sons en même temps : ”J aurais
aimé pouvoir écouter plusieurs sons en même temps !”. En ce qui concerne la facilité de localisation,
les résultats du suivi avec les logs ont été consolidés par le questionnaire
pour déduire que la scène sonore avec des zones indépendantes facilite la localisation
des automates. Les participants qui ont testé la condition des zones croisées ont eu du
mal à localiser les automates : ”C est dif cile de différentier les angles correspondant aux
sons !”. Concernant l’aspect informatif et didactique, les résultats obtenus par la mé-
thode des logs montrent que les participants manifestent plus d’intérêts et passent plus
de temps devant les automates commentés dans la condition des zones indépendantes.
Concernent l’aspect ludique, les résultats du questionnaire sont moins clairs et permettent
de dire que l’utilisation de SARIM avec la condition des zones indépendantes
est légèrement plus amusante que dans le cas des zones croisées. La figures 5.11 repré-
sentent les résultats du questionnaire dans les deux conditions expérimentales.140 Chapitre 5. Evaluation de la visite augmentée
Numéro de la
question Question
Q1 Êtes-vous habituellement intéressé(e) par ce genre
d’exposition ?
Q2 Dans l’ensemble, l’expérience vous a semblé(e)
intéressante ?
Q3 D’après vous, combien de temps a-t-elle duré ?
Q4 La visite vous a-t-elle paru amusante ?
Q5 Dans l’ensemble, les objets que vous avez observés vous
ont semblé intéressants ?
Q6 Vous êtes vous senti(e) projeté(e) dans les époques
correspondant aux objets que vous avez observés ?
Q7
Vous êtes-vous senti(e) à l’aise avec l’utilisation du
dispositif ?
Q8 Pourquoi ?
Q9 Comment avez-vous trouvé la réactivité du système ?
Q10 A quelle vitesse pensez-vous que la plupart des gens
apprennent à utiliser ce système ?
Q11 Personnellement, avez-vous trouvé le dispositif facile à
utilisé ?
Q12 Vous est-il arrivé de faire des erreurs de manipulation du
dispositif durant la visite ?
Q13 Si oui, vous avez pu corriger vos actions ?
Q14 Vous avez réussi à localiser les objets à observer ?
Q15 Dans l’ensemble, Vous avez trouvé le dispositif
encombrant ou pratique ?
Q16
Durant la visite, avez-vous ressenti le besoin de pouvoir
contrôler le dispositif autrement que par vos
déplacements ? Pourquoi et comment ?
Q17 D’une manière générale, êtes vous satisfait(e) du
dispositif ?
Q18
Si un tel système se généralisait, aimeriez-vous pouvoir
l’utiliser à nouveau lors de vos futures visites de musées ?
TABLE 5.8 – Les Questions du questionnaire de la deuxième expérienceSection 5.5. Conclusion 141
FIGURE 5.11 – Résultats du questionnaire pour les deux conditions : l’intersection des
zones (en haut) et indépendance des zones (en bas)
5.5 Conclusion
Dans ce chapitre nous avons décrit la partie expérimentale de notre travail. Cette
partie vise à évaluer l’application du modèle de la visite proposée, des scénarios de
visite et du dispositif de l’utilisateur dans une situation réelle. Il s’agit d’une évaluation
empirique de SARIM et de ses fonctionnalités.142 Chapitre 5. Evaluation de la visite augmentée
Après avoir défini la problématique de l’utilisation d’un dispositif de RAS dans le
cadre de la visite de musée, nous avons décrit les deux expériences qui ont été menées
dans deux salles du musée des Arts et métiers.
La première expérience vise à étudier l’acceptabilité et l’apport de SARIM dans la
visite du musée en le comparant avec un audioguide classique. Les résultats de l’expérience
montrent que SARIM est utilisable et offre un apport à la fois informatif et
ludique à la visite du musée. Il permet aussi de faciliter la localisation des œuvres et
accroît l’intérêt que porte le visiteur sur les œuvres du musée.
La deuxième expérience consiste à évaluer SARIM dans une petite salle, où les
œuvres sont placées les unes à côté des autres, et produisent de la musique. Dans cette
expérience, l’objectif était d’évaluer deux architectures de scènes sonores. Dans la première,
la scène sonore est composée de zones d’audibilité qui se chevauchent. Ce qui signifie
que plusieurs sources sonores seront activées et donc audibles simultanément. La
deuxième architecture est basée sur des zones d’audibilité séparées et disjointes. L’idée
est de vérifier si l’intersection des zones sera utilisable dans le cas où les œuvres sont
très proches et où les contenus sonores consistent en des documents musicaux du même
genre. Les résultats ont montré que la configuration de zones croisées a plutôt gêné les
participants qu’elle ne les a amusés. Elle les a partiellement empêchés d’admirer la musique
produite par ces œuvres à cause de la cacophonie due au mélange sonore. Les
participants ont pu plus facilement localiser les œuvres sonores et ont trouvé qu’ils ont
appris plus de choses dans la configuration des zones séparées. Cependant, nous avons
eu des participants dans la condition des zones séparées qui auraient préféré entendre
plusieurs sources sonores à la fois. Ce qui a laissé prétendre qu’une troisième configuration
issue du mélange des deux premières en utilisant la notion de clusters sonores
pourrait constituer un bon compromis. Malheureusement, cette troisième configuration
n’a pas pu être testée à cause du manque de contenus sonores. Cette idée pourrait également
être mieux évaluée dans des environnements qui comportent plusieurs objets
sonorisés.
Ces expériences nous ont permis de récupérer des premiers retours de visiteurs de
SARIM en situation réelle. Nous n’avons pu tester qu’une partie restreinte des scénarios
de visites parmi ceux offerts par notre modèle de visite. Toutes les configurations
d’intersection des zones d’audibilité n’ont pas pu être évaluées également, surtout la
relation d’hiérarchie entre les zones d’audibilité que nous estimons importante pour
la scène sonore. Nos travaux futurs doivent porter sur l’évaluation des autres configurations
possibles avec notre modèle de visite dans un autre cadre expérimental où la
dimension sonore serait capable d’augmenter et d’enrichir la réalité.6
Conclusion et travaux futurs
Dans ce travail, nous avons étudié la question de la réalité augmentée sonore dans
la visite des musées, en particulier le musée des arts et métiers, en proposant le système
SARIM. Le but est d’enrichir la visite du musée avec une expérience individuelle qui
immergerait le visiteur dans un environnement sonore créé par des sons spatialisés qui
émanent virtuellement des œuvres exposées. Dans ce chapitre, nous dressons un bilan
du travail effectué dans cette thèse. Nous évoquons également un logiciel auteur, que
nous avons commencé à concevoir. Cet outil auteur vise à concevoir, créer et éditer
des scénarios de visite. Enfin, nous abordons d’autres directions de recherche qui nous
paraissent intéressantes pour la suite de ce travail.
6.1 Bilan
Notre but dans ce travail a été de concevoir un système de RA sonore capable
d’améliorer et d’enrichir la visite de musées à travers la dimension sonore grâce à la
localisation continue du visiteur. Notre objectif a été également de diminuer au maximum
l’effort d’attention requis de la part de l’utilisateur pour interagir avec l’environnement
sonore. La visite au musée des arts et métiers a été choisie comme cas d’étude,
parce que nous avons constaté un manque d’information sonore dans la présentation
des œuvres du musée. En l’occurrence, les sons de fonctionnement liés aux machines
exposées qui peuvent être attachants et captivants, mais également porteurs d’information
pour le visiteur.144 Chapitre 6. Conclusion et travaux futurs
Avant de mener une expérimentation grandeur nature, il a été primordial de commencer
par le développement d’une preuve de concept pour notre dispositif du visiteur.
Ceci est d’autant plus essentiel vu les défis techniques matériels et logiciels né-
cessaires à la mise en place d’un tel système. Une architecture matérielle et logicielle
du prototype a été développée, et plusieurs expérimentations ont été menées avec différents
capteurs de mouvement. Ces premières expérimentations ont été accomplies
au laboratoire mais aussi au musée avec l’objectif de permettre le passage à l’autolocalisation
dans l’environnement du musée. La réalisation de cette preuve de ces premières
expérimentations nous a été utile, puisqu’elle a orienté notre recherche vers
d’autres problématiques majeures. En effet, un système de spatialisation sonore adapté
à une visite de musée ne pourrait être développé sans une mise en place d’un modèle
théorique permettant de représenter les différents acteurs de ce système. En outre, la
mise en place d’un outil auteur permettant à la fois la conception et la simulation de
scénarios de visite serait judicieuse.
C’est ainsi que nous avons étudié la problématique de modélisation de la visite
augmentée. Dans cette partie, nous avons proposé un modèle composé de trois entités.
La première entité est le paysage sonore présenté selon trois niveaux d’abstraction :
physique, virtuelle et sémantique. Le principal apport introduit par notre modèle de
paysage sonore est l’introduction de la notion avancée de la zone d’audibilité. Celle ci,
qui représente un espace 3D dans lequel un contenu audio est perceptible, permet de
structurer l’espace du musée en un ensemble de zones qui peuvent être croisées, sé-
parées ou encore hiérarchiques. Ces zones peuvent également être partagées ou exclusives.
Des parcours de visite libres ou guidés peuvent être créés sur la base de ces zones
d’audibilité. Ainsi le visiteur peut être immergé dans un paysage sonore composé de
sons ambiants, de musiques et de commentaires en adéquation avec sa position et son
orientation. Par ailleurs, ces zones peuvent être annotées et classifiées par concepts sous
forme d’un thésaurus dans la couche sémantique du modèle de la scène sonore. Elles
peuvent ensuite être facilement exploitées pour déterminer les intérêts des visiteurs.
La deuxième entité du modèle est le visiteur. Nous l’avons modélisé selon plusieurs
niveaux. Le premier niveau est le profil initial du visiteur comportant par exemple son
âge et ses centres d’intérêt. Le niveau suivant est celui de la captation spatiotemporelle
de son mouvement durant sa visite. Ce niveau permet de décrire le niveau au-dessus
qui est celui de la position du visiteur par rapport à la scène sonore mais aussi de la
captation des gestes qu’il accompli avec sa tête en guise d’interaction avec l’environnement
sonore. A partir de ces niveaux, un quatrième niveau est introduit qui est celui de
la signature des intérêts, celle-ci étant une nouvelle notion introduite pour définir les
scores d’intérêt du visiteur aux différents descripteurs sémantiques associés au zones
d’audibilité de la scène sonore. Un historique de tous les descripteurs du visiteur à ces
différents niveaux est maintenu afin de réaliser une adaptation en temps réel du parcours
de la visite au intérêts des visiteurs, mais également afin de permettre une étude
plus détaillée des intérêts des visiteurs sur l’espace de plusieurs visites successives.Section 6.2. Perspectives 145
La troisième entité du modèle est le moteur de navigation qui constitue le cœur de
SARIM. Ce moteur décrit la politique d’interaction du visiteur avec la scène sonore.
Ce moteur est organisé selon trois couches concentriques. Chaque couche fournit un
niveau d’interactivité particulier, et chacune des deux couches supérieurs du moteur
fournit les contenus d’interactivité de la couche qu’elle contient. La couche de la Traque
est le noyau du moteur, Celle-ci réalise une spatialisation sonore simple des sons émis
par les œuvres suivant la position et l’orientation du visiteur. La couche du contrôle
permet au visiteur de contrôler volontairement le paysage sonore à travers différents
gestes de têtes prédéfinis et activés par le concepteur du scénario de la visite. La dernière
couche est l’adaptation où le système affine automatiquement le parcours du visiteur
en cours de sa visite pour l’adapter au mieux à ses intérêts inférés en étudiant ses
choix en termes d’œuvres regardées et de sons écoutés.
Après avoir proposé un modèle de visite augmentée, nous avons réalisé une évaluation
empirique contrôlée du système SARIM et de certaines de ses fonctionnalités.
Deux expériences ont été menées dans deux salles du musée des arts et métiers. La
première expérience vise à étudier l’acceptabilité et l’apport du système SARIM en le
comparant avec l’audioguide classique utilisé dans le musée. La deuxième expérience
consiste à évaluer l’utilisabilité de SARIM pour sonoriser des œuvres placées les unes
à coté des autres dans un espace restreint. Malgré le nombre restreint des participants,
les résultats de l’évaluation montrent que SARIM est utilisable et offre un meilleur apport
à la fois informatif et ludique à la visite du musée. Il permet aussi de faciliter la
localisation des œuvres et accroît l’intérêt que porte le visiteur sur les œuvres visitées.
Les résultats de la deuxième expérience montrent la gène que peut apporter l’activation
de plusieurs sources sonores (très rapprochés dans l’espace) lors d’une visite de musée.
Elle montre ainsi le besoin de développer une configuration de scène sonore basée sur la
notion de clusters pour regrouper les œuvres qui sont très proches géographiquement
et similaires fonctionnellement.
6.2 Perspectives
Le travail de la thèse étant à la croisé de plusieurs domaines, elle ouvre le chemin
vers différentes questions de recherche intéressantes. Durant notre thèse nous avons
entamé la conception de quelques solutions qui répondent à des questions associées à
notre sujet de thèse. Nous les évoquant ici dans ce chapitre.
6.2.1 Esquisse d’un logiciel auteur pour SARIM
Nous entendons par logiciel auteur, l’interface graphique permettant au concepteur
de composer des scènes sonores virtuelles et de préciser l’interaction entre le visiteur et
le monde réel. Notre outil de création est une interface graphique d’utilisateur conçue
spécialement pour la réalité augmentée audio appliquée dans le contexte de musées.146 Chapitre 6. Conclusion et travaux futurs
La conception d’outils de création est plus fréquente dans le contexte des jeux et de
la réalité virtuelle, mais elle est moins fréquente dans le domaine de la réalité augmentée,
et encore moins dans le contexte des visites de musées.
Quelques logiciels qui permettent de créer des scènes et des paysages sonores ont
été proposés au cours de ces dernières années. Le Spatialisateur [Jot99] développé par
l’Ircam 1
est un Framework logiciel dédié à la spatialisation des créations musicales en
temps réel, post-production et dans le contexte de concerts. Il permet de spécifier les paramètres
de spatialisation indépendamment du mode de restitution électro-acoustique,
mais aussi d’identifier intuitivement les paramètres d’effets de salle. Toutefois, ce logiciel
est conçu pour les situations générales et présente peu de capacités pour la visualisation
et l’expérimentation de la scène créée. Il a donc besoin d’être étendu par des
modules spécialement conçus pour l’application finale et offrant plus de facilités pour
la conception des scènes sonores.
Sur la base de cette observation, ListenSpace [Leprado07, Warusfel04, GoBmann04]
a été développé comme une couche haut-niveau de Spat. Il a été conçu comme un outil
de création spécialement adapté à la réalisation du projet Listen [Zimmermann08]. ListenSpace
permet de décrire les propriétés géométriques de tous les objets qui composent
une scène sonore dans Listen, et de combiner les paramètres acoustiques physiques et
perceptifs pour définir les sources sonores dans la scène. Cependant, la description de
la scène dans ListenSpace est limitée à une représentation bidimensionnelle (2D). Cette
limitation prive le concepteur d’informations cruciales, et en particulier la hauteur (altitude)
des sources sonores.
6.2.1.1 Concepts de base
La conception d’un outil auteur pour la création de paysages augmentés par le son
et de scénarios de visite de musée, se compose de plusieurs étapes telles que la création
des contenus sonores, la création des rendus visuels et la création de scénarios de visite
du musée. Nous avons décidé de concentrer nos efforts sur la conception et le développement
de fonctionnalités de base nécessaires à la conception des paysages sonores et
des scénarios de visite puisque pour les deux autres tâches, des logiciels plus performants
existent déjà. Par conséquent, l’outil actuel n’intègre pas d’outil de conception
ou de gestion des contenus sonores, ni de fonctionnalités avancées pour la création des
rendus graphiques. Cependant, le concepteur a la possibilité d’utiliser des formes géométriques
simples pour créer les pièces du musée et les objets sonores également. En
outre, l’outil intègre la possibilité d’importer des paysages graphiques 3D créés à travers
des outils logiciels de modélisation 3D (ex. Blender) et permettant d’exporter les
environnements 3D en langage standards de description d’univers graphiques virtuels
(ex. VRML et Collada).
1. www.ircam.frSection 6.2. Perspectives 147
Bien que l’outil d’auteur soit principalement conçu pour la création du paysage sonore,
cet outil serait incomplet sans une fonctionnalité permettant au concepteur de
tester virtuellement le résultat de ses scénarios. Ainsi, deux modes d’utilisation sont
disponibles : le mode d’édition qui est utilisé pour créer et manipuler les objets graphiques
et sonores, tandis que le mode de démonstration est utilisé pour vérifier et
démontrer virtuellement le résultat du paysage sonore.
6.2.1.2 Modes utilisateurs
Mode d’édition Nous décrivons ici le fonctionnement de l’interface homme machine
en mode édition. Ce mode est accessible à travers la fenêtre principale organisée
de manière à offrir le maximum d’espace de travail au concepteur du paysage graphique
et sonore. L’espace du travail est présenté au centre de la fenêtre. Des menus de
paramétrage sont disposés dans des barres d’outils latérales et inférieures pouvant être
cachées et affichées en un seul clic.
Mode de démonstration Pour tester le paysage sonore qui a été créé, le logiciel
offre la possibilité de "jouer" ou de "simuler" une visite grâce à son interface mode
de démonstration. Le mode de démonstration est accessible à l’aide du bouton "Play"
en bas à droite de l’interface d’édition. Le mode de démonstration offre deux vues, la
première est une vue générale dans laquelle la caméra (le point de vue) est située au
dessus du visiteur. Ce dernier est représenté par un avatar qui reflète sa position et
son orientation. L’utilisateur du logiciel, muni d’un casque stéréo, et d’un dispositif de
navigation (souris, joystick) peut simuler une visite dans l’espace du musée et ainsi
percevoir les contenus audio que le visiteur devra entendre selon sa position et son
orientation.
Outre la vue générale, le mode de démonstration offre également une vue subjective
qu’on appellera la vue du visiteur.Cette vue est accessible en activant le bouton de la
vue subjective en bas à gauche. Elle permet au simulateur d’apercevoir ce que voit et
entend le visiteur durant sa visite au musée. C’est la vue la plus idéale pour se mettre à
la place du visiteur et faire concorder les deux rendus sonore et visuel.
6.2.1.3 Naviguer dans la scène sonore
La navigation dans l’environnement virtuel en 3D nécessite des appareils avancés
offrant plusieurs degrés de liberté (DDL). La souris classique n’est pas en mesure de
détecter les mouvements de rotation et est exclusivement sensible aux mouvements de
translation (2 DDL).
Habituellement, les logiciels de CAO et les jeux vidéo permettent la navigation à travers
les environnements virtuels en utilisant soit la souris classique combinée au clavier
soit en utilisant les boutons et la molette de défilement de la sourie [Almeida09]. Pour148 Chapitre 6. Conclusion et travaux futurs
des applications professionnelles, l’interaction bi-manuelle est favorisée en complétant,
par exemple, la sourie par un trackball. D’autres dispositifs fournissent également 6
degrés de liberté comme le SpaceNavigator de la compagnie 3DConnection [O’Brien08].
Cependant ce dispositif est fixe et ne tourne pas sur 360 degrés. Cela crée un fossé entre
la navigation dans le monde réel est la rotation par la souris. Pour parcourir des environnements
destinés aux tests d’applications de réalité augmentée, ceci peut s’avérer
contraignant. Ce type de dispositif 3D est plus approprié pour commander la vitesse
de la rotation plutôt que la position et l’orientation d’un objet en scène [Almeida09].
Dans le contexte de la navigation au sein de paysages sonores virtuels, un dispositif
de capture simultanée de la position et de l’orientation de l’utilisateur serait utile. Dans
[Almeida07] un tel dispositif a été évalué pour d’autres applications telles que la sélection
de la couleur dans une palette graphique et le mixage de sons avec des widgets
rotatifs [Jacob94]. Ces expérimentations étaient faites avec la 4DMouse. La 4DMouse
fait partie du kit de la tablette Wacom Intuos 2. Bien que stable et précis (0,2 degré), ce
dispositif est plutôt sous-exploité par le monde des interfaces graphiques. La figure 6.1
montre un exemple de trajectoire intégrale réalisée en utilisant la 4D mouse.
La navigation dans la scène 3D en utilisant la vitesse peut se faire à travers les analogies
suivantes :
– La distance (d) séparant la tête de la souris à la ligne rouge horizontale : la vitesse
(signée) de déplacement du visiteur
– L’angle entre l’orientation de la souris et l’orientation de la ligne verticale : la
vitesse angulaire (signée) de l’orientation du visiteur
FIGURE 6.1 – La trajectoire intégrale utilisant la souris 4D.
6.2.2 Protocole de description de scènes sonores
Étant donné la généralisation de l’utilisation des Smartphones et des dispositifs
intelligents permettant la traque et l’accompagnement des utilisateurs en temps réel,
pourra-t-on imaginer un langage ou un protocole unifié de description et d’interactionSection 6.2. Perspectives 149
avec les scènes sonores qui pourra assurer l’interopérabilité entre les différents systèmes
de RAS appliquée à la visite de musée.
Dans ce cadre, TourML a été introduit par Robert Stein, et Nancy Proctor [Stein11]
comme étant un langage standard pour la définition des parcours mobiles des musées.
C’est un schéma XML qui décrit la structure, le contenu et l’expérience prévue d’un
parcours mobile de musée en identifiant ses éléments constitutifs. TourML décrits les
éléments qui composent un parcours en utilisant trois identifiants essentiels :
1. L’"Asset" qui décrit un composant élémentaire compris dans le parcours, peut être
défini donc par un "Asset" de type vidéo, image, web, etc. Une instance TourML
doit au minimum présenter l’ensemble d’"Asset" contenus dans ce parcours.
2. Le "Stop" qui constitue une étape du parcours et qui se compose d’un groupe
d’"Asset"perceptibles au mêmes temps. Il peut être par exemple un diaporama de
photos joué sur un arrière plan audio.
3. La "Connection" qui définit le sens du parcours et qui relie un "Stop" au "Stop"
qui le suit dans le parcours
Ceci permet au final de créer un graphe orienté du tour définissant comment le
visiteur doit se déplacer entre les "Stop".
Ce standard de métadonnées fournit un certain nombre d’avantages pour les musées.
En effet, il permettre de faire migrer le contenu et la structure d’un parcours parmi
les divers outils mobiles disponibles et futurs, sans nécessité de réadaptation manuelle
par le personnel du musée. Il permet également aux musées de choisir les outils auteur
qui répondent le mieux à leurs besoins tout en continuant à utiliser les appareils mobiles
qui s’adaptent le mieux à leur contenu, et finalement il contribue au à la survie du
contenu des parcours des musée au avancés technologique de présentation du contenu
multimédia.
TourML peut être utilisé, après une personnalisation importante, pour représenter
notre modèle de la scène sonore. Ceci nécessite bien le développement de plusieurs
assetType, stopType et propertyType associés. Nous pouvons imaginer dans notre cas
la définition d’asset "zone d’audibilité" ceci nécessite la définition du assetType "ZoneDAudibiliteAsset",
ainsi que plusieurs propertyType qui lui sont liées.
Mais pour définir le modèle de navigation et le modèle visiteur, une extension du
standard s’impose. En effet un élément "visitor" pourra être rajouté pour décrire le ou
les visiteurs évoluant dans le graphe du parcours. Deux éléments "Action" et "State"
pourront être introduits pour définir une politique d’interaction. Un "State" représente
un état d’un "Visitor" par rapport à un "Asset". Une "Action" représente un acte fait
par ce visiteur, soit un geste soit un arrêt prolongé. Cette "Action" peut être définie
en utilisant des éléments de temps, de position et d’orientation. Nous pouvons définir
également un élément "interaction" qui se compose de deux "State", et une "Action" qui
définit l’acte permettant le passage d’un "State" à un autre.150 Chapitre 6. Conclusion et travaux futurs
Par contre, le contenu audio qui nous intéresse dans cette thèse, ne peut être repré-
senté dans TourML qu’entant que simple contenu média, sans prendre en considération
la fonctionnalité de la spatialisation sonore. En outre, le standard ne permet pas de spé-
cifier :
– à quel objets exposé un son est associé ?
– où devrait être joué le son géographiquement, pourrait-il y avoir des superpositions
entre les "Stop" ?
– comment va être joué le son : en boucle ou une seule fois, émanant d’une source
sonore ou réparti régulièrement dans une ZA ?
Ainsi d’autres travaux d’extension de TourML doivent être faits pour une représentation
complète de notre modèle de scène sonore.
6.2.3 Autres directions de recherche
Cette thèse se trouvant au carrefour de différents domaines, elle nous ouvre plusieurs
directions de recherche dont l’étude s’avère nécessaire pour une meilleure utilisation
de la spatialisation sonore comme moyen d’autoguidage.
L’un des sujets importants à étudier serait une analyse approfondie du comportement
naturel des visiteurs afin de déduire leurs intérêts et préférences. Outre l’utilisation
du profil du visiteur, l’idée la plus basique appliquée dans ce travail est de se
référer au temps passé en regardant un objet et en écoutant le son qui lui est associé
pour estimer l’intérêt porté à ce dernier. La question est certainement beaucoup plus
complexe. L’intérêt peut varier dans le temps. Il peut dépendre de l’expérience du visiteur
mais aussi des événements avant et après la visite. Le profil tout seul ne peut
pas refléter l’intérêt puisque ce même profil est variable. Le long regard porté vers un
objet pourra même dans certaines conditions être interprété comme un désintérêt, une
contestation ou un refus. Comment pourra-t-on déduire si l’intérêt concerne la totalité
de l’objet ou qu’une seule composante de ce dernier : sa forme, sa couleur, sa fonction, le
son associé. Concernent la gestuelle ou le "body language", il convient de noter que les
codes ne sont pas similaires pour tout type de public, nous pouvons penser aux indiens
par exemple qui balancent leurs tête de droite à gauche pour dire oui, contrairement
aux européens par exemple. Le public malvoyant nécessite également une attention
particulière pour étudier son propre langage du corps.
Une autre direction de recherche serait l’étude de la traque continue de la position et
de l’orientation du visiteur sur un plan sociétal. La question de la vie privée a suscité et
suscite encore beaucoup d’inquiétude vis à vis des nouvelles technologies qui imposent
une traque et un suivi continu de l’activité de l’utilisateur. L’objectif étant d’enrichir la
visite, comment évaluer le besoin réel de l’utilisateur et le niveau d’implication du système
dans son comportement ? Serait-il plus judicieux de lui laisser un espace de liberté
en n’interprétant que certains de ses comportements et pas tous ? Quel serait le seuil au
niveau du temps de parcours, du nombre d’objets sonorisé et en termes de contenuSection 6.2. Perspectives 151
sonore à partir duquel l’augmentation sonore gênera la visite ? Dépassant ce seuil cette
application de la RAS dans la visite au musée mènera-t-elle vers une surcharge ou une
diminution de la réalité ? Empêchera-t-elle le visiteur d’apercevoir quelques détails liés
aux objets exposés ?
Par ailleurs, étant donné la généralisation de l’utilisation des Smartphones et des
dispositifs intelligents permettant la traque des utilisateurs en temps réel, jusqu’où
peut-on étendre le modèle SARIM pour qu’il se généralise à d’autres situations de la
vie quotidienne ? Pourra-t-on imaginer dans le futur un système basé sur la RAS qui
nous assiste dans nos tâches quotidiennes ? La question se pose également pour le public
malvoyant pour lequel une assistance généralisée pourra être intéressante. Pourrat-on
imaginer un langage ou un protocole unifié de description et d’interaction avec
les scènes sonores qui pourront assurer l’interopérabilité entre les différents systèmes
de RAS appliquée à la vie quotidienne. Une analogie peut être faite avec le système
GSM qui fait passer le téléphone portable d’un relais à l’autre sans interruption et sans
nécessité d’adaptation. Quelle sont les défis techniques posés pour une telle approche
(architecture client/serveur, p2p,...)
La question de la mise en échelle du système et de la granularité des détails de
l’environnement que l’on souhaite sonoriser se pose également à ce stade. La vitesse
du déplacement mais aussi le domaine d’application joueront nécessairement dans la
définition de cette dernière.
La question des canaux d’interaction est également intéressante à étudier. Étant
donné que l’objectif et de réduire au maximum l’attention requise pour interagir avec
l’environnement sonore, comment pourra-t-on enrichir le langage utilisé pour communiquer
avec cet environnement ? Devra/pourra-t-on introduire de nouveaux moyens
pour interpréter les gestes corporels et surtout manuels ou vocaux des utilisateurs.
Nous penserons éventuellement à des systèmes de détection de mouvements à travers
l’analyse du son, de l’image, etc. Le modèle pourra être également adapté pour qu’il
soit appliqué à une visite d’un groupe de visiteurs. Comment interpréter le comportement
du groupe et guider le groupe comme une visite d’un musée dans le cadre d’un
voyage organisé.
Enfin, plutôt que les visiteurs soient seulement récepteurs du contenu sonore, la
visite d’un musée pourrait même devenir participative. Des contenus de la scène sonore
pourraient être créés ou commentés en temps réels par les visiteurs eux même tel
le Web2.0. D’autres visiteurs pourraient ainsi réagir et interagir avec ces contenus et
éventuellement en proposer d’autres. Ceci nécessiterait bien évidemment un procédé
de modération et de sélection des contenus et commentaires pertinents.A
Annexe
Nous présentons dans ce chapitre, dans un premier temps, le calcul effectué pour
récupérer les valeurs des angles d’Euler données par le Spark f unIMU 6DOF V4.
Dans un second temps, nous présentons le matériel utilisé lors des expériences menées
dans le musée des arts et métiers de Paris.
A.1 Calcul de l’orientation avec Sparkfun IMU-6DOF-V4
Nous avons utilisé ce capteur dans le but d’obtenir des mesures précises des angles
de l’orientation de la tête du visiteur, surtout pour le Lacet aussi appelé Heading, le
Tangage ou Elevation et le Roulis ou Roll. Le Lacet est défini comme l’angle dans le plan
horizontal local mesuré dans le sens des aiguilles de la montre à partir de la direction
du vrai Nord (axe polaire de la Terre). Le Tangage est l’angle formé entre l’axe X et
l’horizon/sol, et le Roulis est l’angle formé entre l’axe Y et l’horizon/sol (Figure A.1).
A.1.0.1 Le calcul du tangage et du roulis
Nous pouvons obtenir des mesures assez fiables du Tangage et du Roulis en utilisant
les données fournies par l’accéléromètre embarqué dans le IMU-6DOF-V4. En pratique,
au repos, le capteur renvoie les coordonnées du vecteur force de gravité dans un repère
local au circuit. Celui-ci ne correspond pas à la verticale quand le capteur est posé à
plat. Il faut donc effectuer une calibration. Pour cette fin, la procédure que nous avons
suivie est celle décrite pour le calibrage de la Wiimote [Kionix07]. Elle consiste à poser154 Annexe A. Annexe
FIGURE A.1 – Dessin des axes de roulis, tangage et lacet sur un avion.
le capteur de manière à avoir successivement les trois axes X, Y et Z à la verticale et
à collecter les valeurs renvoyées : x1,y1,z1 lorsque l’axe X est vertical, x2,y2, z2 lorsque
l’axe Yest vertical et x3,y3, z3 lorsque l’axe Z est vertical.
On calcule alors les coordonnées du point origine :
x0=(x1 + x2)/2y0=(y1 + y3)/2
z0=(z2 + z3)/2
On obtient ainsi les coordonnées du vecteur force (exprimées en g) :
ax=(xraw x0)/(x3 x0)
ay=(yraw y0)/(y2 y0)
az=(zraw z0)/(z1 z0)
où xraw, yraw, zraw sont les mesures de l’accéléromètre.
Si l’accéléromètre n’est pas en mouvement accéléré, la mesure des cordonnées du
vecteur gravité permet d’obtenir l’orientation dans l’espace du dispositif, les valeurs
du Tangage et du Roulis sont donc calculées à partir les formules :
Tangage=arctan(ax/sqrt(ay ay + az az))
Roulis=arctan(ay/sqrt(ax ax + az az))
A.1.0.2 Le calcul du lacet
Une approche naïve pour calculer le Lacet consiste à une intégration de la vitesse
angulaire donnée par le gyroscope. Il peut également être calculé à partir des données
du magnétomètre. Toutefois, ces deux méthodes ne donnent pas des résultats
exacts. En effet, les capteurs magnétiques sont soumis à des perturbations imprévi-Section A.1. Calcul de l’orientation avec Sparkfun IMU-6DOF-V4 155
sibles. Par ailleurs, les capteurs gyroscopiques sont eux aussi sujets d’une dérive (Drift)
de leurs mesures d’origines (Bias) qui augmente de manière non régulière au fil du
temps. Afin d’éviter la dérive du gyroscope et les perturbations magnétiques, notre
approche consiste à coupler les données du magnétomètre, de l’ accéléromètre et du
gyroscope embarquées dans l’IMU afin d’avoir le suivi le plus optimal de l’orientation.
Notre approche de couplage consiste à calculer le Lacet fourni par le magnétomètre et
le Lacet fourni par le gyroscope, puis à les combiner selon les algorithmes décrits dans
ce qui suit.
Lacet du magnétomètre :
Nous commençons par calculer le Lacet en utilisant uniquement les données du
magnétomètre [Caruso00]. La première étape consiste à calibrer la boussole. Pour
cela, nous calculons les valeurs minimales et maximales des mesures du magné-
tomètre selon les 3 axes (xmin, ymin, zmin, xmax, ymax, zmax). L’objectif est d’inclure
les facteurs de corrections ferreux. La proximité des matériaux ferreux peut créer
des distorsions, les nouvelles valeurs de la boussole sont :
yc = 2 (yi ymin)/(ymax ymin) 1
xc = 2 (xi xmin)/(xmax xmin) 1
zc = 2 (zi zmin)/(zmax zmin) 1
Etant donné que la sensibilité du magnétomètre diminue lorsque le Tangage et le
Roulis augmentent, nous les incluons dans le calcul du Lacet :
Xh = xc cos( Tangage)
+yc sin( Roulis) sin( Tangage)
zc cos( Roulis) sin( Tangage);
Yh = yc cos( Roulis) + zc sin( Roulis);
Ainsi, la formule pour calculer le Lacet à partir du magnétomètre et de l’accéléromètre
est :
Lacetm = arctan(Yh/Xh)
Lacet du gyroscope :
Les données fournies par le gyroscope correspondent aux vitesses auxquelles les
trois angles (Lacet, Tangage et Roulis) varient. Elles ne nous permettent pas ainsi
directement de mesurer l’anglev du Lacet. Nous ne pourrons que calculer les variations
d’angles sur des période successives puis calculer le Lace en se basant sur
la formule suivante :
Lacetg(i) = Lacetg(i 1) + ΔLacetg
Théoriquement, la vitesse angulaire est la dérivée de l’angle par rapport au temps.
Soit ωLacet(r) la mesure correspondante à la valeur réelle de la vitesse angulaire, et
ωLacet(m) correspond à la valeur mesurée de la vitesse angulaire par le gyroscope.
Lacetg est la valeur du lacet mesurée par le gyroscope.156 Annexe A. Annexe
ωLacet(r) = dLacetg/dt
dLacetg = ωLacet(r) dt
pour une fonction discrète, cette formule s’écrira ωLacet(r) = ΔLacetg/Δt
ΔLacetg = ωLacet(r) Δt
Les mesures récupérées par le gyroscope ne sont pas prises dans une échelle
réelle, mais bien multipliées par un facteur d’échelle correspondant aux spéci-
fications du constructeur. On doit multiplier le résultat par ce facteur d échelle fe
pour pouvoir rendre les mesures en degré.
ωLacet(r) = ωLacet(m) fe
Ce facteur peut être calculé expérimentalement, dans notre cas il correspond à la
valeur fe = 4/3. En plus de ce facteur d échelle qui reste fixe dans le temps, Les
vitesses mesurées par le gyroscope sont retournées avec un Biais. Ceci signifie
que :
fe = 4/3
Les vitesses mesurées par le gyroscope sont retournées avec un Biais. Soit
ωLacet(mb) correspond à la mesure brute de la vitesse angulaire retournée par
le gyroscope. Ceci signifie que :
ωLacet(m) = ωLacet(mb) + Biais
ΔLacetg = (ωLacet(mb) + Biais) fe Δt
La valeur du Biais est égale à la mesure du gyroscope lorsque celui-ci est immobile
(ωLacet(r) = 0). Cependant, les gyroscopes souffrent d’une dérive. Plus précisément,
le Biais change dans le temps indépendamment des mesures. Cela rend
la vitesse angulaire inexacte après quelques secondes. Afin de remédier à cet inconvénient,
nous proposons d’utiliser la variance de la vitesse angulaire du Lacet
en vue de déterminer si le capteur est en mouvement ou non. Si sa valeur reste
proche du zéro pendant une période T0 = 0, 5 secondes (période nécessaire pour
faire 100 mesures de gyroscope, sachant que la fréquence des mesures du capteur
est de 195 Hz ), nous supposons qu’il n’y a pas de mouvement, et nous mettons à
jour le Biais avec la mesure du gyroscope. En fait, la variance de la vitesse angulaire
du Lacet peut s’approcher du zéro également en cas d’un mouvement avec
une vitesse constante, mais cette situation se produit rarement puisque les mouvements
effectués pour tourner la tête sont en général courts et avec une vitesse
souvent variable.
i f(σ2(ωLacet(m)) < ) pendant une durée spécifiée
Biais = E(ωLacet(m)) avec E : l’espérance mesurée sur la période T
Les algorithmes que nous avons cités ci-dessus permettent de réduire l’effet des
perturbations magnétiques, la dérive du gyroscope, et d’obtenir une estimation
fiable de l’angle du Lacet. Nous avons cité ces algorithmes comme étant un premier
pas vers une API ”open source” qui traite les fonctionnalités de captation de
la position et de l’orientation en utilisant des capteurs IMU.Section A.2. Consignes 157
A.1.1 Couplage du magnétomètre et du gyroscope
Après avoir calculé séparément les deux lacets(du magnétomètre Lacetm et du gyroscope
Lacetg), nous combinons les deux valeurs pour obtenir une meilleure mesure
du Lacetc et surmonter les problèmes de chaque capteur [Roetenberg05]. Nous supposons
qu’il existe des perturbations magnétiques lorsqu’il y a une différence importante
entre la variance de la vitesse angulaire obtenue par le gyroscope et la variance du la
vitesse angulaire obtenue par le magnétomètre. Par conséquent, quand il n’y a pas de
perturbation nous mettons Lacetc = Lacetm, si une perturbation est détectée, la diffé-
rence entre Lacetg et le dernier Lacetc non perturbé est : Lacetc = Lacetc + ∆(Lacetg) où
∆(Lacetg) est la différence entre le Lacetg et le dernier Lacetg non perturbé.
A.2 Consignes
Expérience dans la salle des communications
« Vous allez visiter cette salle comme vous le feriez en situation réelle. Nous vous
demandons simplement de vous concentrer uniquement sur les objets présentant une
description audio, indiqués par une vignette de couleur. Allez à votre rythme ; ce n’est
pas un jeu de piste, mais une situation de visite ”normale” du musée. Au bout de
quelques minutes, nous interromprons la visite pour vous poser des questions sur votre
expérience. Je vous suivrai tout au long de la visite pour en observer le déroulement,
mais je n’aurai pas le droit d’interagir avec vous. Rappelez vous seulement que ce n’est
pas vous que nous évaluons, mais le dispositif que vous utiliserez. »
Expérience dans la salle des automates
Condition 1 : «En observant cette salle, vous allez entendre des musiques provenant
de certains des automates exposés. Si vous repérez un objet qui vous intéresse, il
vous suffira d’orienter votre tête dans sa direction et de le fixer quelques secondes pour
écouter le sons qu’il émet. Après avoir écouté le morceau de musique d’un automate,
vous pourrez écouter les commentaire audio qui lui son relatifs si vous continuez de
regarder dans sa direction. Cependant, si vous en avez envie, vous pouvez à tout moment
passer à l’observation d’un autre objet en tournant la tête vers celui-ci. Nous vous
laissons libre d’explorer la scène comme vous le voudrez. Au bout de quelques minutes
nous arrêterons l’expérience pour vous poser des questions sur ce que vous viendrez
de vivre. Rappelez vous seulement que ce n’est pas vous que nous évaluons, mais le
dispositif que vous utiliserez. »
Condition 2 : « En observant cette salle, vous allez entendre des musiques provenant
de certains des automates exposés. Si vous repérez un objet qui vous intéresse, il vous
suffira d’orienter votre tête dans sa direction pour écouter le sons qu’il émet. Après
avoir écouté le morceau de musique d’un automate, vous pourrez écouter les commentaire
audio qui lui son relatifs si vous continuez de regarder dans sa direction. Cepen-158 Annexe A. Annexe
de recrutement.png
FIGURE A.2 – Formulaire de recrutement.
dant, si vous en avez envie, vous pouvez à tout moment passer à l’observation d’un
autre objet en tournant la tête vers celui-ci. Nous vous laissons libre d’explorer la scène
comme vous le voudrez. Au bout de quelques minutes nous arrêterons l ?expérience
pour vous poser des questions sur ce que vous viendrez de vivre. Rappelez vous seulement
que ce n’est pas vous que nous évaluons, mais le dispositif que vous utiliserez. »
A.3 Formulaire de recrutement
Afin de recruter les sujets, nous avons mis en place un formulaire (figure A.2) auquel
doit répondre les sujets qui souhaitent participer à cette expérimentation. A la base de
leurs réponses , nous avons sélectionné ceux qui vont participer à cette expérience.Section A.4. Questionnaires 159
A.4 Questionnaires
A.4.1 Questionnaire : salle des communications
Condition1 : SARIM
Le questionnaire proposé aux participants à la condition de SARIM dans la salle des
communications est représenté dans les figures A.3, A.4, A.5, A.6.
Condition2 : audioguide
Pour la condition de l’audioguide, les participants à l’expérimentation dans la salle
des communications, ont répondu au questionnaire suivant (figures A.7, A.8, A.9, A.10)
A.4.2 Questionnaire : salle des automates
Dans la salle des automates, les sujets qui ont participé à cette expérimentation dans
les deux conditions (zones croisées ou indépendantes), ont répondu au questionnaire
suivant (A.11, A.12, A.13)160 Annexe A. Annexe
FIGURE A.3 – Questionnaire de la salle des communications-condition SARIM (page1).Section A.4. Questionnaires 161
FIGURE A.4 – Questionnaire de la salle des communications-condition SARIM (page2).162 Annexe A. Annexe
FIGURE A.5 – Questionnaire de la salle des communications-condition SARIM (page3).Section A.4. Questionnaires 163
FIGURE A.6 – Questionnaire de la salle des communications-condition SARIM (page4).164 Annexe A. Annexe
FIGURE A.7 – Questionnaire de la salle des communications-condition de l’audioguide
(page1).Section A.4. Questionnaires 165
FIGURE A.8 – Questionnaire de la salle des communications-condition de l’audioguide
(page2).166 Annexe A. Annexe
FIGURE A.9 – Questionnaire de la salle des communications-condition de l’audioguide
(page3).Section A.4. Questionnaires 167
FIGURE A.10 – Questionnaire de la salle des communications-condition de l’audioguide
(page4).168 Annexe A. Annexe
FIGURE A.11 – Questionnaire de la salle des automates (page1).Section A.4. Questionnaires 169
FIGURE A.12 – Questionnaire de la salle des automates (page2).170 Annexe A. Annexe
FIGURE A.13 – Questionnaire de la salle des automates (page3).Bibliographie
[Abowd97] Gregory D. Abowd, Christopher G. Atkeson, Jason Hong, Sue
Long, Rob Kooper & Mike Pinkerton. Cyberguide : a mobile contextaware
tour guide. Wirel. Netw., vol. 3, no. 5, pages 421–433, SpringerVerlag
New York, Inc., Secaucus, NJ, USA, October 1997.
[Alais04] David Alais & David Burr. The Ventriloquist Effect Results from NearOptimal
Bimodal Integration. Current Biology, vol. 14, no. 3, pages
257–262, Cell Press, feb 2004.
[Albaum97] Gerald Albaum. The Likert scale revisited : an alternate version.(product
preference testing). Journal of the Market Research Society, vol. 39,
no. 2, pages 331–343, apr 1997.
[Almeida07] Rodrigo Almeida & Pierre Cubaud. Nearly-Integral Manipulation of
Rotary Widgets. In INTERACT, pages 489–492, 2007.
[Almeida09] Rodrigo Almeida. Thèse de doctorat : Contribution aux techniques pour
enrichir l espace moteur et l espace visuel des dispositifs d interaction bureautique.
Préparée au : Centre d’étude et de recherche en Informatique
du CNAM, Paris, France, 2009.
[AMNH] AMNH. AMNH Explorer from the American Museum of Natural History.
http://www.amnh.org/apps/explorer.php, consulté le
11/09/2013.
[Anastassova07] M. Anastassova, J. M. Burkhardt & C. Mégard. User-Centred Design
and Evaluation of Augmented Reality Systems for Industrial Applications
: Some Deadlocks and Breakthroughs. Virtual Reality International
Conference (VRIC) 2007, April 18-20, Laval, France (Best Paper
Award), Virtual Reality International Conference (VRIC) 2007,
April 18-20, Laval, France (Best Paper Award), 2007.
[Apeloig08] Yves Apeloig. La révolution des audioguides : Eshkar SARL Falard
Industrie. 2008. http://www.eurosfaire.prd.fr/7pc/
documents/1329753872_7_eshkarfrv10_2_0.pdf, consulté
le 10/09/2013.
[Azuma97] Ronald T. Azuma. A survey of augmented reality. Presence : Teleoperators
and Virtual Environments, vol. 6, no. 4, pages 355–385, aug
1997.172 BIBLIOGRAPHIE
[Azuma01] Ronald Azuma, Yohan Baillot, Reinhold Behringer, Steven Feiner,
Simon Julier & Blair MacIntyre. Recent Advances in Augmented Reality.
IEEE Comput. Graph. Appl., vol. 21, pages 34–47, IEEE Computer
Society Press, Los Alamitos, CA, USA, November 2001.
[Baudel95] Thomas Baudel. Thèse de doctorat : Réalité Augmentée : pour une dé nition
et une nouvelle dénomination du domaine. préparée à l’Université
Paris Sud, 1995.
[Bederson95] Benjamin B. Bederson. Audio augmented reality : a prototype automated
tour guide. In CHI ’95 : Conf.companion on Human factors in computing
systems, pages 210–211, New York, NY, USA, 1995. ACM.
[Bellotti02] Francesco Bellotti, Riccardo Berta, Alessandro De Gloria & Massimiliano
Margarone. User Testing a Hypermedia Tour Guide. IEEE
Pervasive Computing, vol. 1, no. 2, pages 33–41, IEEE Educational
Activities Department, Piscataway, NJ, USA, april 2002.
[Benelli99] Giuliano Benelli, Alberto Bianchi, Patrizia Marti, David Sennati &
E. Not. HIPS : Hyper-Interaction within Physical Space. Multimedia
Computing and Systems, International Conference on, vol. 2, page
1075, IEEE Computer Society, Los Alamitos, CA, USA, 1999.
[Bimber03] Oliver Bimber, L. Miguel Encarnação & Dieter Schmalstieg. The virtual
showcase as a new platform for augmented reality digital storytelling.
In Proceedings of the workshop on Virtual environments 2003,
EGVE ’03, pages 87–95, New York, NY, USA, 2003. ACM.
[Blauert83] Jens Blauert. Spatial Hearing : The Psychophysics of Human Sound Localization.
vol. 508, The MIT Press ; revised edition (October 2, 1996),
Cambridge, MA, USA, 1983.
[Bosseur96] Jean-Yves Bosseur. Vocabulaire de la musique contemporaine. Editions
Minerve, 1996.
[Boulin10] Jean Luc Boulin. Réalité augmentée et M-tourisme en ville : Rotterdam et
Amsterdam en Urban Augmented Reality. mobil’it studio, November
2010.
[Bourdot06] Patrick Bourdot, Damien Touraine & Jean-Marc Vézien. Les techniques
d intégration multimodale en environnement virtuel. In Traité
de la Réalité Virtuelle, Volume 1 : L’interfaçage, l’immersion et l’interaction
en environnement virtuel, volume 2 of Collection Sciences
mathématiques et informatiques, pages 381–387. Les Presses de l’École
des Mines de Paris, 2006.
[Bouvier09] Patrice Bouvier. Thèse de doctorat : La présence en réalité virtuelle, une
approche centrée sur l utilisateur. Préparée à : L’Université Paris-Est,
France, 2009.BIBLIOGRAPHIE 173
[Brungart99] Douglas S. Brungart. Auditory localization of nearby sources. III. Stimulus
effects. Journal of the Acoustical Society of America, vol. 106,
no. 6, pages 3589–3602, Altera Corporation, 1999.
[Burr06] David Burr & David Alais. Combining visual and auditory information.
In Visual Perception Fundamentals of Awareness : Multi-Sensory
Integration and High-Order Perception, volume 155, Part B of Progress
in Brain Research, pages 243 – 258. Elsevier, 2006.
[B.V.09] Xsens Technologies B.V. MTi and MTx User Manual and Technical
Documentation. The Netherlands, 2009. http://edge.rit.
edu/content/P10010/public/PDF/XsensMtx.pdf, consulté
le : 11/09/2013.
[Carro06] Manuel Carro, José F. Morales, Henk L. Muller, G. Puebla & M. Hermenegildo.
High-level languages for small devices : a case study. In
CASES ’06 : Proc. of the 2006 int. Conf. on Compilers, architecture
and synthesis for embedded systems, pages 271–281, New York,
NY, USA, 2006. ACM.
[Carroll87] John M. Carroll & Mary Beth Rosson. The paradox of the active user.
In Interfacing thought : cognitive aspects of human-computer interaction,
pages 80–111. MIT Press, Cambridge, MA, USA, 1987.
[Caruso00] Michael J Caruso. Applications of magnetic sensors for low cost compass
systems. Position Location and Navigation Symposium, IEEE 2000,
pages 177–184, IEEE, 2000.
[Chalon04] René Chalon. Thèse de doctorat : Réalité Mixte et Travail Collaboratif
: IRVO, un modèle de l Interaction Homme- Machine. Préparée à :
L’Ecole Centrale de Lyon, France, 2004.
[Cheverst00] Keith Cheverst, Nigel Davies, Keith Mitchell, Adrian Friday &
Christos Efstratiou. Developing a context-aware electronic tourist
guide : some issues and experiences. In Proceedings of the SIGCHI
conference on Human Factors in Computing Systems, CHI ’00,
pages 17–24, New York, NY, USA, 2000. ACM.
[Cheverst02] Keith Cheverst, Keith Mitchell & Nigel Davies. The role of adaptive
hypermedia in a context-aware tourist GUIDE. Communications
of the ACM Journal, vol. 45, no. 5, pages 47–51, ACM, New York,
NY, USA, may 2002.
[Childs03] Edward Childs & Ville Pulkki. Using multi-channel spatialization in
soni cation : A case study with meteorological data. Proceedings of
the 9th International Conference on Auditory Display (ICAD2003),
vol. 2003, Boston University Publications Production Department.,
Boston, USA, July 2003.174 BIBLIOGRAPHIE
[Chueng02] Priscilla Chueng. Designing sound canvas : the role of expectation and
discrimination. In CHI ’02 Extended Abstracts on Human Factors
in Computing Systems, CHI EA ’02, pages 848–849, New York, NY,
USA, 2002. ACM.
[Coleman68] Paul D. Coleman. Dual Rôle of Frequency Spectrum in Determination
of Auditory Distance. Journal of the Acoustical Society of America,
pages 631–632, Altera Corporation, 1968.
[Crawford03] Chris Crawford. Chris crawford on game design. New Riders
Games, jun 2003.
[Damala09] Areti Damala. Thèse de doctorat : Interaction Design and Evaluation
of Mobile Guides for the Museum Visit : A Case Study in Multimedia
and Mobile Augmented Reality. Préparée au : Centre d’étude et de
recherche en Informatique du CNAM, Paris, France, 2009.
[Damala10] Areti Damala, Isabelle Astic & Aunis Coline. PLUG, Université Paris
Nuit : A Design Reiteration of a Mobile Museum Edutainment Application.
In VAST’10, Virtual Reality, Archaeology and Cultural Heritage,
The 8th EUROGRAPHICS Workshop on Graphics and Cultural
Heritage, Short and Project Papers, Paris, France, September 21-
24, 2010, pages 91–94, September 2010.
[Damala12] Areti Damala & Nenad Stojanovic. Tailoring the Adaptive Augmented
Reality (A2R) Museum Visit : Identifying Cultural Heritage Professionals
? Motivations and Needs. Atlanta, Georgia, USA, 2012.
[Damala13] Areti Damala, Tobias Schuchert, I. Rodriguez, J. Moragues, K. Gilleade
& Ljiljana Stojanovic. Exploring the Affective Museum Visiting
Experience : Adaptive Augmented Reality (A2R) and Cultural Heritage.
International Journal of Heritage in the Digital Era, vol. 2, no. 1,
pages 117–141, Multi Science Publishing, 2013.
[Davies09] Russell Davies. Blog : La réalité augmentée sonore, 2009.
http://www.la-realite-augmentee.fr/videos/
la-realite-augmentee-sonore, consulté le 03/09/2013.
[Dean94] David Dean. Museum exhibition : theory and practice. The heritage
: care, preservation, management programme. Routledge, Taylor
and Francis Group, London, 1994.
[Delerue02] Olivier Delerue & Olivier Warusfel. Authoring of virtual sound scenes
in the context of the LISTEN project. In Proceedings of the AES 22nd
International Conference on Virtual, Synthetic and Entertainment
Audio, Helsinki, 2002.
[Deshays02] Sophie Deshays. Audioguides et musées. pages 24–31, Office de Coopération
et d’Information Muséales (OCIM), 2002.BIBLIOGRAPHIE 175
[Deshays04] Sophie Deshays. L usage des supports mobiles au musée, des audioguides
classiques au multimédia nomade. In Digital Culture and Heritage.
Partimoine and Culture Numérique (ICHIM 04), Haus der Kulturen
der Welt, Berlin, Août 2004.
[Dubois01a] Emmanuel Dubois. Thèse de doctorat : Chirurgie Augmentée, un cas
de Réalité Augmentée. Conception et réalisation centrées sur l utilisateur.
ANRT, Grenoble, 2001. Préparée au Laboratoire de Communication
Langagière et Interaction Personne-Système (IMAG), Université Joseph
Fourier.
[Dubois01b] Emmanuel Dubois, Laurence Nigay & Jocelyne Troccaz. Consistency
in Augmented Reality Systems. In Proceedings of the 8th IFIP International
Conference on Engineering for Human-Computer Interaction,
EHCI ’01, pages 111–122, London, UK, 2001. Springer-Verlag.
[Dünser07a] Andreas Dünser, Raphael Grasset, Hartmut. Seichter & Mark
Billinghurst. Applying HCI principles to AR systems design. Piscataway,
NJ, USA, 2007. University of Canterbury. Human Interface
Technology Laboratory.
[Dünser07b] Andreas Dünser & Eva Hornecker. An observational study of children
interacting with an augmented story book. In Proceedings of the 2nd
international conference on Technologies for e-learning and digital
entertainment, Edutainment’07, pages 305–315, Berlin, Heidelberg,
2007. Springer-Verlag.
[Dünser08] Andreas Dünser, Raphaël Grasset & Mark Billinghurst. A survey of
evaluation techniques used in augmented reality studies. In ACM SIGGRAPH
ASIA 2008 courses, SIGGRAPH Asia ’08, pages 1–27, New
York, NY, USA, 2008. ACM.
[Durand11] Peggy Durand. Blog : La réalité augmentée, un nouvel outil au service
du patrimoine. 2011. http://www.la-realite-augmentee.
fr/videos/la-realite-augmentee-sonore, consulté le
03/09/2013.
[Eckel01a] Gerhard Eckel. Immersive Audio-Augmented Environments - The LISTEN
Project. In 5th Int. Conf. on Information Visualization (IV2001),
Los Alamitos, CA, USA, 2001.
[Eckel01b] Gerhard Eckel. The Vision of the LISTEN Project. In Proceedings of
the Seventh International Conference on Virtual Systems and Multimedia
(VSMM’01), VSMM ’01, pages 393–, Washington, DC, USA,
2001. IEEE Computer Society.
[Faller04] Christof Faller & Juha Merimaa. Source localization in complex listening
situations : Selection of binaural cues based on interaural coherence.
Journal of the Acoustical Society of America, vol. 116, no. 5, pages
3075–3089, ASA, 2004.176 BIBLIOGRAPHIE
[Farman12] Jason Farman. Mobile interface theory : Embodied space and locative
media. Media studies. Taylor & Francis Group, 2012.
[Fauche08] Anne Fauche. La médiation scienti que et culturelle de musée. Laboratoire
de Didactique et d’Epistémologie des Sciences, 2008.
[Filippini03] Fantoni Silvia Filippini. Personalization through it in museums. Does
it really work ? the case of the marble museum web site. Proceedings
of ICHIM03 on Cultural Institutions and Digital Technology, Paris,
France, 2003.
[Fink02] Josef Fink & Alfred Kobsa. User Modeling for Personalized City Tours.
Artif. Intell. Rev., vol. 18, no. 1, pages 33–74, Kluwer Academic Publishers,
Norwell, MA, USA, September 2002.
[Fodróczi08] Zoltán Fodróczi & András Radványi. Localization of directional sound
sources supported by a priori information of the acoustic environment.
EURASIP J. Adv. Signal Process, vol. 2008, Hindawi Publishing
Corp., New York, NY, United States, jan 2008.
[Gabbard08] Joseph L. Gabbard & J. Edward Swan II. Usability Engineering
for Augmented Reality : Employing User-Based Studies to Inform Design.
IEEE Transactions on Visualization and Computer Graphics,
vol. 14, no. 3, pages 513–525, IEEE Educational Activities Department,
Piscataway, NJ, USA, may 2008.
[Gaudy08] Thomas Gaudy. Thèse de doctorat : Etude et développements de jeux
vidéo sonores accessibles aux personnes aveugles. Préparée au : Centre
d’étude et de recherche en Informatique du CNAM, Paris, France,
2008.
[Gee04] James Paul Gee. What video games have to teach us about learning
and literacy. Palgrave Macmillan, New York, 2004.
[Gilkey95] Robert H. Gilkey & Janet M. Weisenberger. The Sense of Presence for
the Suddenly-Deafened Adult : Implications for Virtual Environments.
Presence, vol. 4, no. 4, pages 357–363, 1995.
[Gleue01] Tim Gleue & Patrick Dáhne. Design and implementation of a mobile
device for outdoor augmented reality in the archeoguide project. In Proceedings
of the 2001 conference on Virtual reality, archeology, and
cultural heritage, VAST ’01, pages 161–168, New York, NY, USA,
2001. ACM.
[GoBmann02] Joachim GoBmann & Marcus Specht. Location Models for Augmented
Environments. Personal Ubiquitous Computing., vol. 6, pages 334–
340, Springer-Verlag, London, UK, January 2002.
[GoBmann04] Joachim GoBmann. Connecting virtual sound and physical space in audioaugmented
environments. Proceedings of ICAD 04. Meeting of theBIBLIOGRAPHIE 177
International Conference on Auditory Display, Sydney, Australia,
2004.
[Golledge91] Reginald G. Golledge, Jack M. Loomis, Roberta L. Klatzky, Andreas
Flury & Xiao-Li Yang. Designing a personal guidance system to aid
navigation without sight : progress on the GIS component. International
Journal of Geographical Information Science, vol. 5, no. 4, pages
373–395, 1991.
[Golledge98] Reginald G. Golledge, Roberta L. Klatzky, Jack M. Loomis, Jon
Speigle & Jerome Tietz. A Geographical Information System for a GPS
Based Personal Guidance System. International Journal of Geographical
Information Science, vol. 12, no. 7, pages 727–749, 1998.
[Gonot08] Antoine Gonot. Thèse de doctorat : Conception et évaluation d interfaces
de navigation dans les environnements sonores 3D. Préparée au : Centre
d’étude et de recherche en Informatique du CNAM, Paris, France,
2008.
[Hatala04] Marek Hatala, Leila Kalantari, Ron Wakkary & Kenneth Newby.
Ontology and rule based retrieval of sound objects in augmented audio
reality system for museum visitors. In ACM symposium on applied
computing, SAC ’04, pages 1045–1050, New York, NY, USA, 2004.
ACM.
[Hatala05] Marek Hatala & Ron Wakkary. Ontology-Based User Modeling in an
Augmented Audio Reality System for Museums. User Modeling and
User-Adapted Interaction, vol. 15, no. 3-4, pages 339–380, Kluwer
Academic Publishers, Hingham, MA, USA, 2005.
[Heller09] Florian Heller, Thomas Knott, Malte Weiss & Jan Borchers. Multiuser
interaction in virtual audio spaces. pages 4489–4494, ACM, New
York, NY, USA, 2009.
[Heller11] Florian Heller & Jan Borchers. Corona : Audio Augmented Reality in
Historic Sites. MobileHCI 2011 Workshop on Mobile Augmented
Reality : Design Issues and Opportunities, pages 51–54, Stockholm,
Sweden, August 2011.
[Holland02] Simon Holland, David R. Morse & Henrik Gedenryd. AudioGPS :
Spatial Audio Navigation with a Minimal Attention Interface. Personal
Ubiquitous Comput., vol. 6, no. 4, pages 253–259, Springer-Verlag,
London, UK, 2002.
[Inc.10] InterSense Inc. INERTIACUBE BT : Dynamic wireless inertial
orientation sensor. MA 01821, USA, 2010. http:
//www.est-kl.com/fileadmin/media/pdf/InterSense/
InertiaCube_BT_Datasheet.pdf, consulté le 11/09/2013.178 BIBLIOGRAPHIE
[Jacob94] Robert J. K. Jacob, Linda E. Sibert, Daniel C. Mcfarlane & M. Preston
Mullen. Integrality and Separability of Input Devices. ACM Transactions
on Computer-Human Interaction, 1994.
[Jacomy02] Bruno Jacomy. L’âge du plip, chroniques de l’innovation technique.
Editions du Seuil, Février 2002.
[Jones08] Matt Jones, Steve Jones, Gareth Bradley, Nigel Warren & David
Bainbridge. ONTRACK : Dynamically adapting music playback to support
navigation. Personal and Ubiquitous Computing, pages 513–
525, 2008.
[Jot99] Jean-Marc Jot. Real-time spatial processing of sounds for music, multimedia
and interactive human-computer interfaces. Multimedia Syst.,
vol. 7, no. 1, pages 55–69, Springer-Verlag New York, Inc., Secaucus,
NJ, USA, January 1999.
[Kang96] Seong-Hoon Kang & Sung-Han Kim. Realistic Audio Teleconferencing
using Binaural and Auralization Techniques. Etri Journal, vol. 18, pages
41–51, 1996.
[Katz10] Brian F.G. Katz, Philippe Truillet, Simon Thorpe & Christophe Jouffrais.
NAVIG : Navigation Assisted by Arti cial Vision and GNSS.
Workshop on Multimodal Location Based Techniques for Extreme
Navigation - Pervasive 2010 conference, ACM, Helsinki, Finland,
2010.
[Kionix07] Kionix. Tilt-Sensing with Kionix MEMS Accelerometers. Application
Note AN005, 2007.
[Kobsa01] Alfred Kobsa, Jürgen Koenemann & Wolfgang Pohl. Personalised hypermedia
presentation techniques for improving online customer relationships.
Knowl. Eng. Rev., vol. 16, no. 2, pages 111–155, Cambridge
University Press, New York, NY, USA, march 2001.
[Koizumi92] Nobuo Koizumi, Michael Cohen & Shigeaki Aoki. Design of Virtual
Conferencing Environment in Audio Telecommunication. Audio Engineering
Society Convention 92, March 1992.
[Lefebvre91] Bernard Lefebvre & Hélène Lefebvre. Le visiteur, le guide et l éducation.
Revue canadienne de l’éducation, pages 331–337, 1991.
[Lemordant11] Jacques Lemordant. Indoor Outdoor AR Navigation - Autonomy Projet
(Global Competitive Cluster Minalogic). Free & Open Source Software
for GeoSpatial (FOSS4G), Osaka, Japan, 2011.
[Leprado07] Cécile Leprado. LISTEN LISBOA : scripting languages for interactive
musical installations. 4th Sound and Music Computing Conference
(SMC), Lefkada, Greece, July 2007.
[Légal07] Jean-Baptiste Légal. Cours universitaire : Métodologie Expérimentale.
Université Paris X-Nanterre, 2007. http://j.b.legal.free.BIBLIOGRAPHIE 179
fr/Blog/share/Dynamiques/Methodo.pdf, consulté le :
11/09/2013.
[Loomis98] Jack M. Loomis, Roberta L. Klatzky & Reginald G. Golledge. Auditory
distance perception in real, virtual, and mixed environments. In
Mixed reality : Merging real and virtual worlds, pages 201–214, Tokyo,
Japon, 1998.
[Lyons00] Kent Lyons, Maribeth Gandy & Thad Starner. Guided by Voices :
An Audio Augmented Reality System. In PROCEEDINGS OF INTL.
CONF. ON AUDITORY DISPLAY (ICAD) 2000, 2000.
[Mackay93] Wendy Mackay, Gilles Velay, Kathy Carter, Chaoying Ma & Daniele
Pagani. Augmenting reality : adding computational dimensions to paper.
Commun. ACM, vol. 36, pages 96–97, ACM, New York, USA, July
1993.
[Mackay96] Wendy Mackay. Réalité augmentée : le meilleur des
deux mondes. La recherche, pages 32–37, 1996.
http://www.larecherche.fr/savoirs/dossier/
realite-augmentee-meilleur-deux-mondes-01-03-\
\1996-87977, consulté le : 11/09/2013.
[Mackay98] Wendy E. Mackay. Augmented reality : linking real and virtual worlds :
a new paradigm for interacting with computers. In Proceedings of the
working conference on Advanced visual interfaces, AVI ’98, pages
13–21, New York, USA, 1998. ACM.
[Mallem08] Malik Mallem & David Roussel. Realite augmentee : Principes,
technologies et applications. Ed. Techniques Ingénieur, Référence
TE5920, 2008.
[Mariette09] Nicholas Mariette & Brian F.G. Katz. Sounddelta - Large scale, Multiuser
audio augmented reality. Proc. of the EAA Symposium on Auralization,
Espoo, Finland, 2009.
[Mariette10] Nicholas Mariette. Navigation performance effects of render method and
head-turn latency in mobile audio augmented reality. In Proceedings
of the 6th international conference on Auditory Display, CMMR/ICAD’09,
pages 239–265, Berlin, Heidelberg, 2010. Springer-Verlag.
[Middlebrooks91] John C. Middlebrooks & David M. Green. Sound Localization by Human
Listeners. Annual Review of Psychology, vol. 42, no. 1, pages
135–159, Department of Neuroscience, University of Florida, Gainesville
32610., 1991.
[Milgram94a] Paul Milgram & Fumio Kishino. A taxonomy of mixed reality visual
displays. IEICE Transactions on Information Systems, 1994.
[Milgram94b] Paul Milgram, Haruo Takemura, Akira Utsumi & Fumio Kishino.
Augmented Reality : A Class of Displays on the Reality-Virtuality Conti-180 BIBLIOGRAPHIE
nuum. pages 282–292, ATR Communication Systems Research Laboratories.
Kyoto 619-02, Japan, 1994.
[Milgram99] Paul Milgram & Herman Colquhoun Jr. A Taxonomy of Real and Virtual
World Display Integration. International Symposium on Mixed
Reality, 1999.
[Mina10] An Xiao Mina. Louvre-DNP Museum Lab : Augmented Reality
Dish. 2010. http://www.frequency.com/video/
louvre-dnp-museum-lab-augmented-reality/2260257,
consulté le 10/09/2013.
[Mladenic96] Dunja Mladenic. Personal WebWatcher : Implementation and Design.
Rapport technique IJS-DP-7472, Department for Intelligent
Systems, J. Stefan Institute, Slovenia, 1996.
[Murat08] Aytekin Murat, Moss Cynthia F. & Simon Jonathan Z. A Sensorimotor
Approach to Sound Localization. ACM Trans. Appl. Percept.,
vol. 20, no. 3, pages 603–635, MIT Press, Cambridge, MA, Etatsunis,
2008.
[Nees08] Michael A. Nees & Bruce N. Walker. Data density and trend reversals
in auditory graphs : Effects on point-estimation and trend-identi cation
tasks. ACM Trans. Appl. Percept., vol. 5, no. 3, pages 13 :1–13 :24,
ACM, New York, NY, USA, sep 2008.
[Oberlander97] Jon Oberlander, Chris Mellish, Mick O’Donnell & Alistair Knott. Exploring
a Gallery with Intelligent Labels. In International Cultural Heritage
Informatics Meetings (ICHIM), pages 80–87, 1997.
[O’Brien08] Trevor M. O’Brien, Daniel F. Keefe & David H. Laidlaw. A case study
in using gestures and bimanual interaction to extend a high-DOF input
device. In Proceedings of the 2008 symposium on Interactive 3D
graphics and games, I3D ’08, pages 9 :1–9 :1, New York, NY, USA,
2008. ACM.
[O’donnell01] Michael O’donnell, Chris Mellish, J Jon Oberlander & Alistair
Knott. ILEX : an architecture for a dynamic hypertext generation system.
Nat. Lang. Eng., vol. 7, no. 3, pages 225–250, Cambridge University
Press, New York, NY, USA, September 2001.
[Oppermann99] Reinhard Oppermann, Marcus Specht & Igor Jaceniak. Hippie : a nomadic
information system. In 1st international symposium on Handheld
and Ubiquitous Computing, HUC ’99, pages 330–333, London,
UK, 1999. Springer-Verlag.
[Owen05] Ruth Owen, Dimitrios Buhalis & Daniël Pletinckx. Visitors evaluations
of ICTs used in cultural heritage. In Proceedings of the 6th International
conference on Virtual Reality, Archaeology and Intelligent
Cultural Heritage, VAST’05, pages 129–136, Aire-la-Ville, Switzerland,
Switzerland, 2005. Eurographics Association.BIBLIOGRAPHIE 181
[Papagiannakis02] George Papagiannakis, Michal Ponder, Tom Molet, Sumedha Kshirsagar,
Frederic Cordier, Nadia Magnenat-thalmann & Daniel Thalmann.
LIFEPLUS : Revival of life in ancient Pompeii. In In Proceedings
of the 8th International Conference on Virtual Systems and Multimedia
(VSMM 02), pages 25–27, Gyeongju, Korea, 2002.
[Paterson10] Natasa Paterson, Katsiaryna Naliuka, Soren Kristian Jensen, Tara
Carrigy, Mads Haahr & Fionnuala Conway. Design, implementation
and evaluation of audio for a location aware augmented reality game. In
Fun and Games ’10 : Proceedings of the 3rd International Conference
on Fun and Games, pages 149–156, New York, NY, USA, 2010.
ACM.
[Pazzani97] Michael Pazzani & Daniel Billsus. Learning and Revising User Proles
: The Identi cation ofInteresting Web Sites. Machine Learning,
vol. 27, pages 313–331, Kluwer Academic Publishers, Hingham,
MA, USA, June 1997.
[Peters10] Nils Peters. Thèse de doctorat : Sweet reproduction : Developing sound
spatialization tools for musical applications with emphasis on sweet spot
and off-center perception. Préparée à : Music Technology Area, Department
of Music Research Schulich School of Music, McGill University
Montreal, QC, Canada, 2010.
[Petrelli99] Daniela Petrelli, Elena Not, Marcello Sarini, Oliviero Stock, Carlo
Strapparava & Massimo Zancanaro. HyperAudio : location-awareness
+ adaptivity. In extended abstracts on Human factors in computing
systems, CHI EA ’99, pages 21–22, New York, NY, USA, 1999. ACM.
[Petrelli01] Daniela Petrelli, Elena Not, Massimo Zancanaro, Carlo Strapparava
& Oliviero Stock. Modelling and Adapting to Context. Personal Ubiquitous
Comput., vol. 5, pages 20–24, Springer-Verlag, London, UK,
January 2001.
[Petrie96] Helen Petrie, Valerie Johnson, Thomas Strothotte, Andreas Raab,
Steffi Fritz & Rainer Michel. MOBIC : Designing a Travel Aid for Blind
and Elderly People. The Journal of Navigation, vol. 49, no. 01, pages
45–52, 1996.
[Pontus07] Larsson Pontus & Väljamäe Aleksander. Auditory-visual perception
of room size in virtual environments. In Proceedings of the 19th International
Congress on Acoustics, Madrid, Spain, September 2-7,
2007.
[Proctor03] Nancy. Proctor & Jane. Burton. Tate modern multimedia tour pilot. In
MLEARN 2003 conference, Learning with Mobile Devices, pages
127–130., The King’s College London & Tate Britain Colloquium,
London, May 2003.182 BIBLIOGRAPHIE
[Proctor05] Nancy Proctor. Off Base or On Target ? Pros and cons of wireless and
location-aware applications in the museum. In Digital Culture and
Heritage Patrimoine and Culture Numérique (ICHIM 05), Bibliothèque
nationale de France, Paris, Septembre 2005.
[Ran04] Lisa Ran, Sumi Helal & Steve Moore. Drishti : An Integrated Indoor/Outdoor
Blind Navigation System and Service. In Proceedings
of the Second IEEE International Conference on Pervasive Computing
and Communications (PerCom’04), PERCOM ’04, page 23,
Washington, DC, USA, 2004. IEEE Computer Society.
[Randell04] Cliff Randell, Sara Price, Yvonne Rogers, Eric Harris & Geraldine
Fitzpatrick. The Ambient Horn : designing a novel audio-based learning
experience. Personal Ubiquitous Comput., vol. 8, no. 3-4, pages 177–
183, Springer-Verlag, London, UK, 2004.
[Regenbrecht04] H Holger Regenbrecht, T. Lum, P. Kohler, Claudia Ott, Michael
Wagner, Wilhelm Wilke & E. Mueller. Using augmented virtuality
for remote collaboration. Presence : Teleoper. Virtual Environ., vol. 13,
no. 3, pages 338–354, MIT Press, Cambridge, MA, USA, 2004.
[Roads07] Curtis Roads. L’audionumérique : Musique et informatique, volume
672. Dunod édition : 2e édition révisée et actualisée (31 octobre
2007), 2007.
[Robson94] Colin Robson. Experiment, design and statistics in psychology. Penguin
Psychology Books, 1994.
[Roentgen08] Uta R Roentgen, Gert Jan Gelderblom, Mathijs Soede & Luc P
De Witte. Inventory of Electronic Mobility Aids for Persons with Visual
Impairments : A Literature Review. Journal of Visual Impairment and
Blindness, vol. 102, no. 11, pages 702–724, American Foundation for
the Blind, 2008.
[Roetenberg05] Daniel Roetenberg, Henk J. Luinge, Chris T. M. Baten & Peter H.
Veltink. Compensation of magnetic disturbances improves inertial and
magnetic sensing of human body segment orientation. IEEE Transactions
on Neural Systems and Rehabilitation Engineering, vol. 13, pages
395–405, 2005.
[Rolim12] Cledja Rolim & Veronica Teichrieb. A Viewpoint about Diminished
Reality : Is it Possible Remove Objects in Real Time from Scenes ? pages
141–146, IEEE Computer Society, Washington, DC, USA, 2012.
[Scapin97] Dominique L. Scapin & J. M. Christian Bastien. Ergonomic criteria
for evaluating the ergonomic quality of interactive systems. Behaviour
and Information Technology, pages 220–231, Taylor and Francis
Ltd, July 1997.
[Schafer10] Raymond Murray Schafer. Le paysage sonore : Le monde comme musique.
Wildproject Editions, 2010.BIBLIOGRAPHIE 183
[Serrell96] Beverly Serrell. The Question of Visitor Styles. Jacksonville, Alabama,
1996. Center for Social Design.
[Sodnik05] Jaka Sodnik, Rudolf Susnik, Mitja Stular & Saso Tomazic. Spatial
sound resolution of an interpolated HRIR library. Applied Acoustics,
Elsevier, Kidlington, UK, vol. 66, no. 4, pages 1219–1234, 2005.
[Sodnik06] Jaka Sodnik, Saso Tomazic, Raphael Grasset, Andreas Duenser &
Mark Billinghurst. Spatial sound localization in an augmented reality
environment. In OZCHI ’06 : Proc. of the 18th Australia Conf. on
Computer-Human Interaction, pages 111–118, Sydney, Australia,
2006. ACM.
[Sparacino02] Flavia Sparacino. The Museum Wearable : Real-Time Sensor-Driven
Understanding of Visitors Interests for Personalized Visually-Augmented
Museum Experiences. In Museums and the Web, Boston, Massachusetts,
U.S.A, 2002.
[Sparkfun07] Electronics. Sparkfun. IMU 6 Degrees of Freedom v4 Data Sheet. Colorado,
USA, 2007. https://www.sparkfun.com/datasheets/
Sensors/IMU/6DOF-v4-Rev1.pdf, consulté le : 10/09/2013.
[Specht99] Marcus Specht, Reinhard Oppermann & Marcus Specht. User modeling
and adaptivity in nomadic information systems. In Mimo Caenepeel,
David Benyon and Duncan Smith (eds.), Proceedings of the i3
Annual Conference : Community of the Future, pages 65–68, 1999.
[Stahl07] Christoph Stahl. The roaring navigator : a group guide for the zoo with
shared auditory landmark display. pages 383–386, ACM, New York,
NY, USA, 2007.
[Stein11] Robert Stein & Nancy Proctor. TourML : An Emerging Speci cation for
Museum Mobile Experiences. In Museums and the Web, Philadelphia,
PA, U.S.A, April 2011.
[Stock07] Oliviero Stock & Massimo Zancanaro. Peach : Intelligent interfaces
for museum visits. Springer, Berlin, 2007.
[Stojanovic12] Nenad Stojanovic, Areti Damala, Tobias Schuchert, Ljiljana Stojanovic,
Stephen Fairclough & John Moores. Tutorial 1 : Adaptive augmented
reality (A2R) : Where AR meets user s interest. pages 1–1, IEEE
Computer Society, Washington, DC, USA, 2012.
[Strachan05] Steven Strachan, Parisa Eslambolchilar, Roderick Murray-Smith,
Stephen Hughes & Sile O’Modhrain. GpsTunes : controlling navigation
via audio feedback. In MobileHCI ’05 : Proceedings of the 7th
international conference on Human computer interaction with mobile
devices & services, pages 275–278, New York, NY, USA, 2005.
ACM.184 BIBLIOGRAPHIE
[Strachan09] Steven Strachan & Roderick Murray-Smith. Bearing-based selection
in mobile spatial interaction. Personal Ubiquitous Comput., vol. 13,
no. 4, pages 265–280, Springer-Verlag, London, UK, 2009.
[Sutherland68] Ivan E. Sutherland. A head-mounted three dimensional display. In Proceedings
of the December 9-11, 1968, fall joint computer conference,
part I, pages 757–764, New York, NY, USA, 1968. ACM.
[Swan05] J. Edward II Swan & Gabbard Joseph L. Survey of User-Based Experimentation
in Augmented Reality. In Proceedings of 1st International
Conference on Virtual Reality, HCI International 2005, July 22-27
2005.
[Sylaiou05] Stella Sylaiou, Fotis Liarokapis, Lazaros Sechidis, Petros Patias &
Olga Georgoula. Virtual museums : First results of a survey on methods
and tools. In the XXth International Symposium (the ICOMOS
ISPRS Committee on Documentation of Cultural Heritage), pages
1138–1143, the CIPA International Archives for Documentation of
Cultural Heritage, 2005.
[Sylaiou08] Styliani Sylaiou, M. Economou, Athanasis Karoulis & Martin
White. The evaluation of ARCO : a lesson in curatorial competence and
intuition with new technology. Computers in Entertainment, vol. 6,
no. 2, pages 23 :1–23 :18, ACM, New York, NY, USA, July 2008.
[Taylor07] Robyn Taylor, Maryia Kazakevich, Pierre Boulanger, Manuel Garcia
& Walter F. Bischof. Multi-modal Interface for Fluid Dynamics Simulations
Using 3-D Localized Sound. In Proceedings of the 8th international
symposium on Smart Graphics, SG ’07, pages 182–187, Berlin,
Heidelberg, 2007. Springer-Verlag.
[Thian12] Cherry Thian. Augmented Reality ?What Reality Can We Learn From
It ? In Museums and the Web, San Diego, CA, USA, 2012.
[Vazquez09] Yolanda Vazquez Alvarez & Stephen Brewster. Investigating background
and foreground interactions using spatial audio cues. In Proceedings
of the 27th international conference extended abstracts on
Human factors in computing systems, CHI EA ’09, pages 3823–
3828, New York, NY, USA, 2009. ACM.
[Véron96] Eliséo Véron & Martine Levasseur. Ethnographie de l exposition, l espace
le corps et le sens. page 179, Bibliothèque publique d’information
Du Centre Georges Pompidou, Paris, Mars 1996.
[Vilatte07] Jean-Christophe Vilatte. Audioguides et musées. Formation « Evaluation
», 2007.
[Virolainen01] Jussi Virolainen. Thèse de Master : Design and Implementation of a
Stereo Audio Conferencing System. préparée à : Helsinki University
of Technology, 2001.BIBLIOGRAPHIE 185
[Wakkary07] Leprado Wakkary & Marek Hatala. Situated play in a tangible interface
and adaptive audio museum guide. Personal Ubiquitous Computing,
vol. 11, pages 171–191, Springer-Verlag, London, UK, February
2007.
[Warusfel04] Olivier Warusfel & Gerhard Eckel. LISTEN - Augmenting everyday
environments through interactive soundscapes. 2004. Virtual Reality for
Public Consumption, IEEE Virtual Reality 2004 Workshop, Chicago
IL 27.
[Wellner93] Pierre Wellner. Interacting with paper on the DigitalDesk. Commun.
ACM, vol. 36, no. 7, pages 87–96, ACM, New York, NY, USA, jul
1993.
[Wilson07] Jeff Wilson, Bruce N. Walker, Jeffrey Lindsay, Craig Cambias &
Frank Dellaert. SWAN : System for Wearable Audio Navigation. In
Proceedings of the 11th International Syposium on Wearable Computers
(ISWC), pages 91–98. IEEE, 2007.
[Woodruff01] Allison Woodruff, Paul M. Aoki, Amy Hurst & Margaret H. Szymanski.
Electronic Guidebooks and Visitor Attention. In Proceedings
of the International Conference on Cultural Heritage and Technologies
in the Third Millennium, pages 437–454, 2001.
[Wuestefeld92] A. Paige Wuestefeld. Auditory looming perception : In uences on anticipatory
judgments. Journal of The Acoustical Society of America,
vol. 92, 1992.
[Zahorik05] Pavel Zahorik, Douglas S Brungart & Adelbert W Bronkhorst. Auditory
distance perception in humans : a summary of past and present
research. Acta Acoustica united with Acustica, vol. 91, pages 409 –
420, S. Hirzel Verlag, 2005.
[Zimmermann08] Andreas Zimmermann & Andreas Lorenz. LISTEN : a user-adaptive
audio-augmented museum guide. User Modeling and User-Adapted
Interaction, vol. 18, no. 5, pages 389–416, Kluwer Academic Publishers,
Hingham, MA, USA, 2008.Fatima Zahra KAGHAT
Modèle et expériences pour la visite
de musées en réalité augmentée sonore
Résumé
Cette thèse consiste à explorer l’usage de la réalité augmenté sonore pour la visite de musées. Notre objectif est
de proposer un audioguide permettant d’immerger le visiteur dans une scène sonore constituée de sons
ambiants et de commentaires associés aux objets exposés, et de minimiser ses efforts pour découvrir ces objets
et interagir avec cet environnement sonore. La première contribution de cette thèse concerne la mise en place
d’une preuve de concept de SARIM (Sound Augmented Reality Interface for visiting Museum). Cette preuve
de concept a été développée en utilisant des capteurs de position et d’orientation filaire et non filaire. La
deuxième contribution concerne la modélisation de la visite augmentée par la dimension sonore. Après une
étude des modèles existants, l’objectif est de concevoir un modèle comprenant une représentation du visiteur,
du paysage sonore et de la navigation et offrant une grande flexibilité pour créer l’environnement sonore. Ce
modèle a comme finalité de faciliter la conception de différents types de scénarios de visite sur la base de la
notion de zone d’audibilité. La troisième contribution de cette thèse est le travail d’évaluation mené dans un
environnement réel qu’est le musée des arts et métiers de Paris, et qui a permis de confirmer l’utilisabilité,
ainsi que l’apport didactique et ludique que procure la réalité augmentée sonore en général et le système
SARIM en particulier pour prolonger et enrichir la visite de musées.
Mots clés
Réalité augmentée, visite musée, captation de mouvement,personnalisation, modélisation, spatialisation sonore,
audioguide
Abstract
The goal of this thesis is to explore the use of sound to enhance the museum visit. We aim to provide an
audioguide to immerse the visitor in a soundstage consisting of ambient sounds and comments associated with
the exhibits, and minimize its efforts to discover these objects and interact with the sound environment. The
first contribution of this thesis is the implementation of a proof of concept of SARIM (Sound Augmented
Reality Interface for visiting Museum). This proof of concept was developed using position sensors and
guidance wired and wirelessly. The second contribution concerns the modeling of the augmented visit by the
sound dimension. After a review of existing models, the objective is to design a model that includes a
representation of the visitor, the soundscape and navigation, offering the flexibility to create the sound
environment. This model has the purpose of facilitating the design of different types of scenarios based on the
concept of audibility area. The Third contribution of this thesis is the evaluation conducted in a real
environment what the Museum of Arts and Crafts in Paris, which confirmed the usability, as well as providing
educational and ludic impact of the audio augmented reality in general and the SARIM in particular to extend
and enrich the museum visits.
Keywords
Augmented reality, museum visit, motion tracking, context aware, adaptive system, user modeling, sound
spatialization, audioguide
Cryptographie sur les courbes elliptiques et tol´erance
aux pannes dans les r´eseaux de capteurs
Yanbo Shou
To cite this version:
Yanbo Shou. Cryptographie sur les courbes elliptiques et tol´erance aux pannes dans les
r´eseaux de capteurs. Performance. Universit´e de Franche-Comt´e, 2014. French. .
HAL Id: tel-01089451
https://tel.archives-ouvertes.fr/tel-01089451
Submitted on 1 Dec 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.Thèse de Doctorat
é c o l e d o c t o r a l e s c i e n c e s p o u r l ’ i n g é n i e u r e t m i c r o t e c h n i q u e s
U N I V E R S I T É D E F R A N C H E - C O M T É
n
Cryptographie sur les courbes
elliptiques et tolérance aux pannes
dans les réseaux de capteurs
YANBO SHOUThèse de Doctorat
é c o l e d o c t o r a l e s c i e n c e s p o u r l ’ i n g é n i e u r e t m i c r o t e c h n i q u e s
U N I V E R S I T É D E F R A N C H E - C O M T É
THÈSE présentée par
YANBO SHOU
pour obtenir le
Grade de Docteur de
l’Université de Franche-Comté
Spécialité : Informatique
Cryptographie sur les courbes elliptiques et
tolérance aux pannes dans les réseaux de capteurs
Soutenue publiquement le 10/09/2014 devant le Jury composé de :
HERVÉ GUYENNET Directeur de thèse Professeur à l’Université de Franche-Comté
J. -C. LAPAYRE Examinateur Professeur à l’Université de Franche-Comté
MARC BUI Rapporteur Professeur à l’EPHE - Sorbonne, Paris
ABDELHAMID MELLOUK Rapporteur Professeur à l’Université Paris-Est Créteil
N
◦ X X XREMERCIEMENTS
La réalisation d’une thèse n’est pas le résultat du travail d’un seul homme, mais de son
interaction avec tous ceux gravitant autour de lui pour l’aider théoriquement, techniquement
et humainement. Ainsi je tiens à remercier tous ceux qui m’ont de prêt ou de loin
apporter leur soutien :
– en premier lieu Hervé Guyennet, qui par son écoute et ses précieux conseils m’a permis
de mener à terme cette aventure. Il aura été au cours de ces 3 ans bien plus
qu’un simple directeur de thèse et je le remercie de m’avoir accordé sa confiance et de
m’avoir permis de développer mes idées.
– Marc Bui et Abdelhamid Mellouk pour avoir accepté de donner de leurs temps libre
pour rapporter cette thèse et apporter des critiques pertinentes et constructives.
– Jean-Christophe Lapayre pour l’intérêt qu’il a suscité de mon travail et pour avoir accepté
de participer à mon jury.
– Les membres du Femto-ST/DISC, maîtres de conférences et professeurs qui m’ont
accueilli et grâce à qui se rendre au laboratoire n’était pas un fardeau.
– Mes collègues de l’équipe CARTOON : Youssou Faye, Mathias Coqblin, Julien Bernard,
Adel Elgaber, Violetta Felea pour leur sympathie et les discussions de recherche
constructives.
– Tous les doctorants et anciens doctorants pour le temps passé ensemble et l’esprit de
corps qu’ils ont su maintenir.
– Mes parents qui ont été une autre source de soutien et d’encouragement et sans qui je
n’aurais jamais pu prétendre atteindre un si haut niveau universitaire. Ils m’ont toujours
soutenu dans mes choix et je les en remercie infiniment.
– Ma famille et mes amis qui ont toujours été présents pour moi.
– Tous ceux que j’ai oublié, qui par des mots ou des actes ont aidé à la construction de
cette thèse.
vSOMMAIRE
1 Introduction générale 1
2 Réseaux de capteurs et problèmes de sécurité 5
2.1 Les réseaux de capteurs sans fil . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Définition d’un capteur . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Architecture des capteurs . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.3 Réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.4 Domaines d’application . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.4.1 Applications militaires . . . . . . . . . . . . . . . . . . . . . 8
2.1.4.2 Applications environnementales . . . . . . . . . . . . . . . 9
2.1.4.3 Applications médicales . . . . . . . . . . . . . . . . . . . . 9
2.1.4.4 Domotique . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Spécificités des réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Énergie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Puissance de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.3 Sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Problèmes de sécurité dans les réseaux de capteurs . . . . . . . . . . . . . 13
2.3.1 Écoute passive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.2 Analyse du trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.3 Brouillage radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.4 Inondation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.5 Trou noir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.6 Réplication des données . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.7 Vol d’identité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.8 Attaque physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.9 Variations des attaques . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Mécanismes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Clé d’authentification dynamique . . . . . . . . . . . . . . . . . . . . 17
viiviii SOMMAIRE
2.4.2 Réseaux de confiance . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.3 Stéganographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.4 Cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.4.1 Cryptographie symétrique . . . . . . . . . . . . . . . . . . 19
2.4.4.2 Cryptographie asymétrique . . . . . . . . . . . . . . . . . . 20
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 Cryptographie sur les courbes elliptiques 23
3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 Groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.2 Groupe abélien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.3 Groupe cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.4 Anneau unitaire et anneau commutatif . . . . . . . . . . . . . . . . . 25
3.1.5 Corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.6 Corps fini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.6.1 Corps premier . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.6.2 Corps binaire . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 Présentation de la courbe elliptique . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 Définition de courbe elliptique . . . . . . . . . . . . . . . . . . . . . . 26
3.2.2 Loi de composition sur les courbes elliptiques . . . . . . . . . . . . . 27
3.2.3 Multiplication de point . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.4 Algorithme d’Euclide étendu . . . . . . . . . . . . . . . . . . . . . . 29
3.2.5 Problème du logarithme discret sur les courbes elliptiques . . . . . . 30
3.3 Optimisation de la performance de multiplication scalaire . . . . . . . . . . 31
3.3.1 Méthode NAF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.2 Méthode de la fenêtre . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.3 Système de coordonnées projectives . . . . . . . . . . . . . . . . . 34
3.3.3.1 Doublement de point . . . . . . . . . . . . . . . . . . . . . 34
3.3.3.2 Addition de point . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.4 Réduction de scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.5 Multiplication scalaire parallèle . . . . . . . . . . . . . . . . . . . . . 37
3.4 Protocoles cryptographiques basés sur ECC . . . . . . . . . . . . . . . . . 41
3.4.1 Elgamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.1.1 Chiffrement et déchiffrement . . . . . . . . . . . . . . . . . 41
3.4.1.2 Signature numérique . . . . . . . . . . . . . . . . . . . . . 43SOMMAIRE ix
3.4.2 Elliptic Curve Integrated Encryption Scheme (ECIES) . . . . . . . . 44
3.4.3 Elliptic Curve Digital Signature Algorithm (ECDSA) . . . . . . . . . 46
3.4.4 Elliptic Curve Menezes Qu Vanstone (ECMQV) . . . . . . . . . . . . 46
3.4.5 Elliptic Curve Massey-Omura (EC Massey-Omura) . . . . . . . . . . 48
3.5 Comparaison de performance entre ECC et RSA . . . . . . . . . . . . . . . 49
3.5.1 Génération de clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.2 Signature numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.3 Vérification de signature . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.4 Comparaison de performance . . . . . . . . . . . . . . . . . . . . . . 50
3.6 Attaques des cryptosystèmes embarqués basés sur ECC . . . . . . . . . . 51
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4 Multiplication scalaire parallèle 55
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2 Calcul parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.1 Taxonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.2 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.3 Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Calcul parallèle dans les réseaux de capteurs . . . . . . . . . . . . . . . . . 62
4.3.1 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.2 Consommation d’énergie . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.3 Connexion sans fil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.4 Parallélisation des multiplications scalaires . . . . . . . . . . . . . . . . . . 64
4.4.1 Décomposition des données . . . . . . . . . . . . . . . . . . . . . . 65
4.4.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . 66
4.4.3 Protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.5 Arithmétique multiprécision . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.5.1 Addition et soustraction . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.2 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.3 Réduction modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.6 Evaluation de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.6.1 Parallélisation avec points précalculés . . . . . . . . . . . . . . . . . 77
4.6.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . 80x SOMMAIRE
4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5 Tolérance aux pannes dans les RCSF 83
5.1 Objectif de la tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1 Détection de fautes . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.1.2 Restauration de fonctionnalités . . . . . . . . . . . . . . . . . . . . . 85
5.2 Sources de pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.1 Nœud défectueux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.2 Perturbation de réseaux . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.3 Dysfonctionnement de la station de base . . . . . . . . . . . . . . . 87
5.3 Techniques de détection de pannes . . . . . . . . . . . . . . . . . . . . . . 87
5.3.1 Diagnostic local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.2 Diagnostic en groupe . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.3 Diagnostic hybride . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.4 Diagnostic hiérarchique . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4 Techniques de restauration . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4.1 Réplication active . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.4.1.1 Redondance de chemin de routage . . . . . . . . . . . . . 93
5.4.1.2 Redondance de données collectées . . . . . . . . . . . . . 93
5.4.2 Réplication passive . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.4.2.1 Sélection de nœud principal . . . . . . . . . . . . . . . . . 95
5.4.2.2 Sélection en groupe . . . . . . . . . . . . . . . . . . . . . . 95
5.4.2.3 Réaffectation de membres . . . . . . . . . . . . . . . . . . 95
5.4.3 Distribution de services . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.4.3.1 Distribution de codes . . . . . . . . . . . . . . . . . . . . . 96
5.4.3.2 Distribution de tâches . . . . . . . . . . . . . . . . . . . . . 96
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6 Tolérance aux pannes pour le calcul parallèle 99
6.1 Erreurs possibles durant le calcul parallèle . . . . . . . . . . . . . . . . . . . 100
6.1.1 Perte de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.2 Données corrompues . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.1.3 Nœud maître défectueux . . . . . . . . . . . . . . . . . . . . . . . . 101
6.2 Contre-mesures contre les pannes possibles . . . . . . . . . . . . . . . . . 102
6.2.1 Sélection des nœuds de secours . . . . . . . . . . . . . . . . . . . . 102
6.2.2 Détection de perte de résultat . . . . . . . . . . . . . . . . . . . . . . 103SOMMAIRE xi
6.2.3 Vérification de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3 Simulation et évaluation de performance . . . . . . . . . . . . . . . . . . . 106
6.3.1 Simulateur et configuration . . . . . . . . . . . . . . . . . . . . . . . 106
6.3.2 Test sans assez de nœuds disponibles (n ≤ 4) . . . . . . . . . . . . 107
6.3.3 Test avec assez de nœuds disponibles (n ≤ 8) . . . . . . . . . . . . 108
6.3.4 Test en présence de pannes . . . . . . . . . . . . . . . . . . . . . . 109
6.3.4.1 Résultat erroné . . . . . . . . . . . . . . . . . . . . . . . . 109
6.3.4.2 Résultat perdu . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7 Conclusion 113
Application d’ECC dans un système de surveillance 127
.1 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
.1.1 Architecture du système . . . . . . . . . . . . . . . . . . . . . . . . . 128
.1.2 Processeur embarqué . . . . . . . . . . . . . . . . . . . . . . . . . . 129
.1.3 Réseau de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
.2 Problèmes de sécurité dans notre système . . . . . . . . . . . . . . . . . . 130
.3 Application d’un cryptosystème basé sur ECC . . . . . . . . . . . . . . . . . 131
.3.1 Configuration du cryptosystème . . . . . . . . . . . . . . . . . . . . 132
.3.2 Protocole cryptographique . . . . . . . . . . . . . . . . . . . . . . . 133
.3.3 Calcul parallèle des multiplications scalaires . . . . . . . . . . . . . 134
.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Déroulement de l’algorithme d’Euclide étendu 137TABLE DES FIGURES
2.1 Architecture d’un nœud sans fil actuel . . . . . . . . . . . . . . . . . . . . . 7
2.2 Exemple de réseaux de capteurs sans fil . . . . . . . . . . . . . . . . . . . . 8
2.3 Capteurs déployés pour la protection d’environnement . . . . . . . . . . . . 9
2.4 Mesure de la tension artérielle et le battement de cœur avec des capteurs . 10
2.5 Attaque d’inondation de message HELLO . . . . . . . . . . . . . . . . . . . 15
2.6 Attaque de trou noir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1 Exemples de courbe elliptique . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Addition de points sur les courbes elliptiques . . . . . . . . . . . . . . . . . 28
3.3 Exemples des multiplications scalaires équivalentes . . . . . . . . . . . . . 37
3.4 Architecture double-processeur pour l’algorithme de calcul parallèle proposé 40
3.5 Échange de clés Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.6 Protocole de chiffrement d’Elgamal . . . . . . . . . . . . . . . . . . . . . . . 42
3.7 Protocole de signature numérique d’Elgamal . . . . . . . . . . . . . . . . . 44
3.8 Protocole de chiffrement ECIES . . . . . . . . . . . . . . . . . . . . . . . . 45
3.9 Protocole de signature numérique ECDSA . . . . . . . . . . . . . . . . . . . 47
3.10 Protocole d’échange de clés ECMQV . . . . . . . . . . . . . . . . . . . . . 48
3.11 Machine de chiffrement à rotor . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.12 Attaque par analyse de la consommation électrique . . . . . . . . . . . . . 52
4.1 Accès aux données avec la mémoire partagée . . . . . . . . . . . . . . . . 58
4.2 Accès aux données avec la mémoire distribuée . . . . . . . . . . . . . . . . 59
4.3 Synchronisation d’accès aux données . . . . . . . . . . . . . . . . . . . . . 60
4.4 Tolérance aux pannes avec la redondance de composants . . . . . . . . . 61
4.5 Tolérance aux pannes avec la redondance de résultats . . . . . . . . . . . . 61
4.6 Tolérance aux pannes avec la redondance de nœuds . . . . . . . . . . . . 64
4.7 Clusters dans un réseau de capteurs . . . . . . . . . . . . . . . . . . . . . . 69
4.8 Collection de données dans un réseau de capteurs . . . . . . . . . . . . . . 69
4.9 Procédure de multiplication scalaire parallèle . . . . . . . . . . . . . . . . . 70
4.10 Plate-forme Telosb de Crossbow Technology . . . . . . . . . . . . . . . . . 75
xiiixiv TABLE DES FIGURES
4.11 Déploiement des nœuds pour le test de performance . . . . . . . . . . . . . 77
4.12 Temps de calcul (ms) de notre méthode de parallélisme . . . . . . . . . . . 78
4.13 Speedup S p =
T1
Tp
de notre méthode de parallélisme . . . . . . . . . . . . . 78
4.14 Surcoût (ms) de notre méthode de parallélisme . . . . . . . . . . . . . . . . 79
4.15 Consommation d’énergie (Joule) de notre méthode de parallélisme . . . . . 80
5.1 Dispositifs utilisés dans le projet MainPreSi . . . . . . . . . . . . . . . . . . 86
5.2 Exemple de la topologie d’arbre . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.3 Déploiement d’un réseau de capteurs hétérogène . . . . . . . . . . . . . . 94
5.4 Exemple d’un réseau hétérogène 3-connecté . . . . . . . . . . . . . . . . . 94
5.5 Structures de données utilisées dans Deluge . . . . . . . . . . . . . . . . . 96
6.1 Multiplication scalaire parallèle avec la détection de perte de résultat . . . . 104
6.2 Multiplication scalaire parallèle avec la vérification de résultat . . . . . . . . 105
6.3 Parallélisation sans assez de nœuds disponibles (n ≤ 4) . . . . . . . . . . . 108
6.4 Parallélisation avec assez de nœuds disponibles (n ≤ 8) . . . . . . . . . . . 109
6.5 Parallélisation avec la détection de résultat erroné . . . . . . . . . . . . . . 110
6.6 Parallélisation avec la détection de résultat perdu . . . . . . . . . . . . . . . 111
1 Un système de purification d’eau alimenté par des panneaux solaires . . . 127
2 Architecture de notre système de purification d’eau . . . . . . . . . . . . . . 128
3 Réseau de capteurs de notre système de purification d’eau . . . . . . . . . 130
4 Attaques dans notre système de purification d’eau . . . . . . . . . . . . . . 131
5 Application de la parallélisation des multiplications scalaires . . . . . . . . . 134LISTE DES TABLES
3.1 Courbe E(Fp) : y
2 = x
3 + ax + b avec un générateur G(xG, yG) de l’ordre n . . 31
3.2 Nombre d’opérations pour calculer une addition et un doublement sur y
2 =
x
3 − 3x + b. A : Affine, P : Projective standard, J : Jacobienne, I : Inversion
modulaire, M : Multiplication, S : Carré . . . . . . . . . . . . . . . . . . . . . 36
3.3 Longueur de clé en bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4 Temps d’exécution pour la génération de clés . . . . . . . . . . . . . . . . . 50
3.5 Temps d’exécution pour la signature numérique . . . . . . . . . . . . . . . . 51
3.6 Temps d’exécution pour la vérification de signature . . . . . . . . . . . . . . 51
4.1 Taxonomie de Flynn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 Comparaison techniques des connexions sans fil . . . . . . . . . . . . . . . 63
4.3 Répartition des coefficients du polynôme c mod p192 . . . . . . . . . . . . . 74
4.4 Caractéristiques techniques de plate-forme Telosb . . . . . . . . . . . . . . 75
4.5 Paramètres recommandés du standard NIS T192 . . . . . . . . . . . . . . . 76
4.6 Temps de calcul (ms) de notre méthode de parallélisme . . . . . . . . . . . 77
4.7 Speedup de notre méthode de parallélisme . . . . . . . . . . . . . . . . . . 78
4.8 Surcoût (ms) moyen de notre méthode de parallélisme . . . . . . . . . . . . 79
4.9 Mémoire nécessaire (octet) pour stocker des points précalculés . . . . . . . 79
4.10 Consommation d’énergie (Joule) de notre méthode de parallélisme . . . . . 80
4.11 Temps de calcul (ms) pour préparer des points 2
xG . . . . . . . . . . . . . . 81
4.12 Temps de calcul (ms) avec le parallélisme sans points précalculés . . . . . 81
6.1 Paramètre de la courbe elliptique utilisée . . . . . . . . . . . . . . . . . . . 106
6.2 Consommation de mémoire pour le stockage des données . . . . . . . . . 106
6.3 Performance sans nœud de secours (n ≤ 4) . . . . . . . . . . . . . . . . . . 107
6.4 Performance avec nœuds de secours (n ≤ 4) . . . . . . . . . . . . . . . . . 108
6.5 Performance avec suffisamment de nœuds de secours (n ≤ 8) . . . . . . . 109
6.6 Performance avec la détection de résultat erroné . . . . . . . . . . . . . . . 110
6.7 Performance avec la détection de résultat perdu . . . . . . . . . . . . . . . 110
1 Comparaison des caractéristiques techniques entre MSC-51 et MSP430 . . 129
xvxvi LISTE DES TABLES
2 Exemple de l’algorithme d’Euclide . . . . . . . . . . . . . . . . . . . . . . . 137
3 Exemple de l’algorithme d’Euclide étendu . . . . . . . . . . . . . . . . . . . 1371
INTRODUCTION GÉNÉRALE
Grâce au développement très rapide du domaine de la micro-électronique, ces dernières
années ont été marquées par un grand progrès des techniques des réseaux de capteurs
sans fil. Ces petits dispositifs compacts, appelés aussi des nœuds intelligents, peuvent
être programmés et déployés dans une zone d’intérêt pour mesurer des grandeurs physiques.
Ils sont équipés des technologies de communication sans fil qui leur permettent
de communiquer entre eux pour former automatiquement des réseaux et envoyer des
données collectées.
Le nœud intelligent, qui fait partie du domaine de l’électronique, est en effet un nouveau
venu du monde informatique. La nécessité d’une couche logicielle a fait intervenir des
informaticiens qui essaient de mettre en œuvre tous les moyens possibles pour perfectionner
son fonctionnement et diversifier ses fonctionnalités.
Aujourd’hui, suite à l’essor des systèmes embarqués et l’arrivée de l’Internet des objets,
ce genre de dispositifs sont de plus en plus présents partout dans notre vie quotidienne.
Cependant, le déploiement et l’interconnexion massifs des nœuds ont aussi relevés de
grands défis technologiques qui ont intéressé de nombreux chercheurs. Ainsi, de nouvelles
thématiques de recherche ont été créées par la communauté scientifique pour
répondre aux exigences de plusieurs domaines d’application, comme la surveillance des
catastrophes naturelles, la protection de l’environnement et le suivi des traitements des
patients [2, 112].
Comme les réseaux traditionnels, les réseaux de capteurs subissent aussi de nombreuses
attaques, qui consistent à espionner et perturber les communications entre les
nœuds. Depuis des siècles, la sécurité d’informations est toujours un des sujets les plus
discutés, et l’évolution de la société humaine a aussi renforcé son importance, notamment
dans les domaines militaires et industriels. C’est aussi la raison pour laquelle d’importants
moyens financiers sont mis en place par les états ou les grandes entreprises pour
s’assurer de la confidentialité de leurs informations ou pour contourner ces sécurités et
récupérer des informations cruciales.
Dans le monde informatique, l’augmentation impressionnante de la puissance de calcul
des processeurs permet de déchiffrer un message dans un temps de plus en plus
court. De ce fait, afin d’augmenter la sécurité d’un système, la solution la plus adaptée
est d’augmenter la taille des clés de chiffrement pour augmenter le temps nécessaire à
déchiffrer un message [65].
Dans les réseaux numériques, la cryptographie est toujours considérée comme une des
solutions dominantes pour assurer la confidentialité des informations. La nature de cette
12 CHAPITRE 1. INTRODUCTION GÉNÉRALE
solution permet de rendre un message illisible en utilisant un ensemble de méthodes mathématiques,
qui sont conçues pour réaliser une telle transformation en leur fournissant
une clé de chiffrement. Hormis le chiffrement, elle utilise des méthodes complémentaires,
qui nous offrent une protection plus sûre en assurant l’authenticité et l’intégrité.
L’utilisation de la cryptographie implique souvent des calculs compliqués et intensifs, qui
ne posent pas de problèmes sérieux pour les systèmes sans contrainte de ressources.
La plupart de cryptosystèmes peuvent montrer une performance satisfaisante sur les
processeurs modernes, qui possèdent une puissance de calcul suffisamment élevée pour
gérer ce genre de calculs. Cependant l’application de la cryptographie dans les réseaux
de capteurs reste encore un challenge à relever.
La plupart des nœuds intelligents utilisent des micro-contrôleurs comme unité de traitement,
qui est aussi considérée comme le composant le plus important. Un microcontrôleur
est chargé de la coordination de toutes les opérations qu’un nœud peut effectuer,
c’est un circuit intégré programmable qui rassemble tous les éléments essentiels
d’un ordinateur, comme le processeur, la mémoire et les interfaces entrée/sortie. Il possède
souvent une puissance de calcul et une mémoire très limitée, son processeur est
censé exécuter de petits programmes qui effectuent des opérations simple. Sans optimisation
extrême et technique spéciale, un micro-contrôleur n’est pas capable de gérer des
calculs mathématiques très compliqués.
Il existe 2 types de cryptographie principales, symétrique et asymétrique. La cryptographie
symétrique offre une performance de calcul plus intéressante sans utiliser une clé
extrêmement longue. Cependant, comme on partage la même clé pour le chiffrement et
le déchiffrement, au sein d’un réseau de capteurs contenant un grand nombre de nœuds,
la mise en place d’une distribution sûre des clés devient donc un problème urgent et sé-
rieux.
Contrairement à la cryptographie symétrique, la cryptographie asymétrique offre des protocoles
sophistiqués pour la génération de clés, et elle nous permet aussi de signer des
messages. Cependant, l’application de cette solution nécessite l’utilisation des clés beaucoup
plus longues et des calculs plus complexes. Aujourd’hui, RSA (Ron - Shamir - Adleman)
est toujours le cryptosystème asymétrique le plus utilisé, mais pour pouvoir avoir
une sécurité assez robuste, il faut utiliser une clé dont la longueur est comprise entre
1024 et 2048. Par rapport à RSA, ECC (Cryptographie sur les Courbes Elliptiques) est
un autre cryptosystème asymétrique qui a récemment attiré l’attention des chercheurs,
car elle peut offrir la même robustesse que RSA avec une clé beaucoup plus courte, et
il existe aussi des méthodes mathématiques qui nous permettent d’améliorer sa performance.
Certains chercheurs pensent que ECC deviendra le remplaçant de RSA, notamment
dans le domaine des systèmes embarqués.
C’est pourquoi pendant nos travaux de cherche, nous avons étudié la possibilité d’appliquer
l’ECC dans les réseaux de capteurs d’une manière efficace, car les opérations sur
les courbes elliptiques sont encore très compliquées pour les micro-contrôleurs, notamment
la multiplication de point, appelée aussi la multiplication scalaire, qui est considérée
comme l’opération la plus coûteuse sur les courbes.
Dans cette thèse, nous cherchons à accélérer le calcul des multiplications scalaires en
utilisant la technique de parallélisation qui consiste à découper le calcul en plusieurs
tâches indépendantes qui peuvent être traitées simultanément par des nœuds différents.
L’intérêt principal d’un déploiement massif des nœuds est d’avoir beaucoup de nœuds3
disponibles qui peuvent coopérer étroitement pour réaliser un objectif commun. De plus,
comme les nœuds sont des dispositifs fragiles qui risquent de tomber en panne pendant
le traitement des tâches, dans cette thèse, nous proposons également une technique de
tolérance aux pannes pour rendre la procédure du calcul parallèle plus stable.
PLAN DE LA THÈSE
Cette thèse est composées de 5 chapitres :
Le premier chapitre introduit le terme de réseaux de capteurs sans fil en présentant l’architecture
des nœuds et les domaines d’application. Ensuite nous présentons les spéci-
ficités inhérentes aux réseaux de capteurs, comme la consommation d’énergie, la puissance
de calcul etc. La partie la plus importante dans ce chapitre est une taxonomie des
attaques qui peuvent sérieusement menacer la sécurité d’informations dans ce genre de
réseau. Pour terminer, nous donnons une liste de solutions qui sont fréquemment utilisées
dans la littérature pour protéger les réseaux.
Dans le chapitre 3, nous présentons un état de l’art de la cryptographie sur les courbes
elliptiques. Nous commençons par des concepts mathématiques qui sont indispensables
pour comprendre le fonctionnement d’ECC. Ensuite nous donnons la définition de courbe
elliptique, les opérations élémentaires, ainsi que le problème du logarithme discret sur
lequel se base le cryptosystème. Dans les sections suivantes, nous présentons un ensemble
de méthodes mathématiques qui nous permettent d’accélérer les calculs sur les
courbes elliptiques, et les protocoles cryptographiques principaux qui sont basés sur
ECC. La dernière partie du chapitre est une comparaison entre ECC et RSA, l’autre
cryptosystème asymétrique qui est largement utilisé en pratique.
Afin d’accélérer le calcul des multiplications scalaires sur les courbes elliptiques, dans le
chapitre 4, nous proposons d’appliquer le parallélisme au sein des réseaux de capteurs.
Avant de donner notre solution, nous présentons d’abord les facteurs qu’il faut prendre en
considération lors du déploiement d’un système de calcul parallèle, ensuite les spécificités
des réseaux de capteurs dont il faut tenir compte quand on essaie d’implanter cette
architecture dans ce genre de réseau. Puis nous présentons notre technique de parallélisation
avec l’ensemble d’algorithmes et de protocoles que nous avons utilisé pour
l’implémentation. Enfin, nous validons notre solution avec un test de performance qui
montre que la parallélisation peut donner une accélération de calcul importante malgré
une augmentation de consommation d’énergie.
Le calcul parallèle est une procédure complexe qui risque d’être interrompu par des
pannes éventuelles. En outre, les nœuds sont très fragiles face aux environnements dif-
ficiles dans lesquels ils sont déployés. C’est pourquoi nous nous intéressons dans le
chapitre 5 au problème de tolérance aux pannes. Nous commençons par l’identification
des objectifs principaux des mécanismes de tolérance aux pannes, ensuite nous pré-
sentons les méthodes de diagnostic qui existent dans la littérature, et puis nous nous
rendons compte que la solution la plus efficace et facile à mettre en place est la redondance.
Nous étudions donc les différentes techniques qui sont basées sur la redondance
que nous pouvons mettre en place pour restaurer les fonctionnalités des réseaux en cas
de pannes.
Nous avons identifié 3 types de panne qui peuvent éventuellement survenir pendant le4 CHAPITRE 1. INTRODUCTION GÉNÉRALE
calcul parallèle des multiplications scalaires : résultat perdu, résultat erroné et nœud
maître défectueux. Pour que le réseau puisse détecter les pannes et restaurer le calcul
parallèle, nous présentons dans le chapitre 6 la solution de tolérance aux pannes
que nous avons proposée. Afin de tester ses performances, nous avons développé un
simulateur qui peut exécuter la procédure de calcul parallèle en prenant en compte les
mécanismes de tolérance aux pannes proposés. Les résultats ont montré que notre solution
peut restaurer le calcul parallèle en cas des pannes sans avoir un impact négatif
important.
Nous concluons cette thèse dans le dernier chapitre en rappelant les avantages et les
inconvénients des solutions proposées, ensuite nous donnons également des perspectives
des travaux de recherche en vue d’améliorer leurs performances dans les réseaux
de capteurs.2
RÉSEAUX DE CAPTEURS ET
PROBLÈMES DE SÉCURITÉ
Sommaire
2.1 Les réseaux de capteurs sans fil . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Définition d’un capteur . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Architecture des capteurs . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.3 Réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.4 Domaines d’application . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Spécificités des réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Énergie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Puissance de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.3 Sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Problèmes de sécurité dans les réseaux de capteurs . . . . . . . . . . . . . . 13
2.3.1 Écoute passive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.2 Analyse du trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.3 Brouillage radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.4 Inondation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.5 Trou noir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.6 Réplication des données . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.7 Vol d’identité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.8 Attaque physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.9 Variations des attaques . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Mécanismes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Clé d’authentification dynamique . . . . . . . . . . . . . . . . . . . . 17
2.4.2 Réseaux de confiance . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.3 Stéganographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.4 Cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
56 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
2.1/ LES RÉSEAUX DE CAPTEURS SANS FIL
2.1.1/ DÉFINITION D’UN CAPTEUR
Un capteur est un petit dispositif électronique qui peut transformer une mesure physique
en une mesure électronique, qui sera ensuite traduite en données binaires compréhensibles
pour des systèmes informatiques. Aujourd’hui il existe différents capteurs qui sont
conçus pour mesurer des valeurs diverses, par exemple la température, l’humidité, la
luminosité, les mouvements, la pression etc.
Généralement, les premiers capteurs ne pouvaient lire qu’un seul type de mesure, alors
que maintenant plusieurs capteurs sont installés sur un seul nœud pour lire des valeurs
diverses.
Grâce aux progrès récents du domaine des systèmes micro-électroniques, les nouvelles
technologies de la communication sans fil et de l’électronique numérique ont été intégrées
dans les nœuds modernes. Hormis la fonctionnalité de base, c’est-à-dire l’acquisition
des données ambiantes, les nouveaux nœuds détiennent encore des modules
de transmission, d’alimentation, de stockage et de traitement de données, qui leur permettent
d’envoyer, stocker et traiter les données collectées.
Un autre terme qui est largement utilisé dans la littérature est nœud intelligent, qui dé-
signe particulièrement les nœuds programmables. Le développement des technologies
des systèmes embarqués a donné la possibilité d’utiliser le même modèle de nœud pour
des applications différentes. Les nœuds du même modèle peuvent être déployés pour
assurer des missions complètement différentes, et il suffit de changer le programme installé.
Par ailleurs, l’apparition des systèmes d’exploitation pour les nœuds a encore facilité
la création des applications en divisant la procédure en 2 parties indépendantes : le dé-
veloppement des programmes et la conception de la plate-forme matérielle.
2.1.2/ ARCHITECTURE DES CAPTEURS
L’architecture des capteurs a beaucoup évolué depuis les années 90. Les capteurs de
la première génération ont une architecture très simple, qui ne possède qu’une unité de
capture et une unité d’alimentation. Comme les détecteurs de fumée qui sont encore
beaucoup utilisés dans les immeubles. Ils sont souvent alimentés par des piles, et la
seule fonctionnalité est de déclencher un alarme sonore en présence de fumée.
Sur les capteurs un peu plus évolués, on a commencé à intégrer de nouvelles technologies,
comme la communication sans fil. Par exemple ; les bouchons de valve de pneu,
qui sont utilisés pour mesurer les pressions des pneus et sont aussi alimentés par des
piles. De plus, ils peuvent envoyer les valeurs au récepteur qui est installé à l’intérieur de
la voiture.
L’architecture des nœuds actuels est devenue beaucoup plus complexe après l’ajout des
fonctionnalités complémentaires, comme le traitement et le stockage de données. La
figure 2.1 illustre une architecture générale des nœuds intelligents actuels. Nous pouvons
constater qu’elle est constituée de 4 unités principales.2.1. LES RÉSEAUX DE CAPTEURS SANS FIL 7
FIGURE 2.1 – Architecture d’un nœud sans fil actuel
– Unité de traitement : C’est l’unité la plus importante d’un nœud intelligent, comme
les autres systèmes embarqués, on utilise généralement un micro-contrôleur qui rassemble
tous les éléments essentiels d’un ordinateur, le processeur, la mémoire et les
interfaces entrées-sorties.
– Unité de capture : C’est l’ensemble de composants matériels qui sont utilisés pour
mesurer des grandeurs physiques et générer des signaux analogiques, ils sont couplés
d’un ADC 1 qui transforme les signaux analogiques en données numériques pour l’unité
de traitement.
– Unité de communication : Elle désigne généralement l’antenne radio du nœud, qui est
chargée de l’émission et de la réception des signaux radiofréquence. Dans la littérature
elle s’appelle aussi transceiver, qui est en effet une contraction des mots anglophones
transmitter et receiver. À l’aide de cette unité, on peut construire des réseaux de capteurs
en reliant les nœuds qui sont déployés dans la même zone.
– Unité d’alimentation : Une unité cruciale pour toute l’architecture, car c’est elle qui fournit
l’énergie à toutes les autres unités. elle correspond souvent à une pile et une batterie
qui s’épuise graduellement au fil du temps. À cause de la limitation des ressources
des nœuds, la consommation d’énergie est devenu un facteur critique dans quasiment
toutes les applications de capteurs. La réalisation récente d’unité d’alimentation tend à
résoudre le problème en utilisant des panneaux solaires [61, 106].
Sur les nœuds d’usages particuliers, on peut encore ajouter d’autres unités, telle qu’une
unité de localisation, comme le GPS, ou une unité de mobilité pour des nœuds qui ont
besoin de se déplacer.
2.1.3/ RÉSEAUX DE CAPTEURS
Un réseau de capteurs est constitué généralement d’un grand nombre de nœuds pré-
sentés dans la section précédente. Ils sont déployés aléatoirement dans une zone pour
surveiller et étudier des phénomènes divers. Les nœuds communiquent entre eux via des
connexions sans fil pour le partage et le traitement coopératif des données collectées.
Après le déploiement, les nœuds lancent une procédure d’auto-configuration qui leur
permet de construire des chemins de routage, sans lesquels on ne peut pas envoyer
des données à un nœud spécifique. À cause d’un manque d’infrastructure de réseau et
d’une limitation des ressources des nœuds, la transmission de données est souvent réalisée
avec un mode de communication particulier qui s’appelle multi-saut. Les données
1. Analog-to-Digital Converter8 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
passent d’un nœud à un autre, pas à pas, jusqu’à la destination.
FIGURE 2.2 – Exemple de réseaux de capteurs sans fil
Dans la figure 2.2 nous avons un exemple de réseaux de capteurs. Les nœuds sont
déployés aléatoirement dans une zone d’intérêt et la station de base se situe à distance.
En faisant des multi-sauts, les données remontent progressivement jusqu’à la station de
base, qui les met à disposition aux utilisateurs finaux.
Il existe principalement 2 types de réseaux de capteurs :
– Les réseaux actifs, dans lesquels les nœuds envoient périodiquement des données
collectées à la station de base. Ce genre de fonctionnement est préférable pour les
applications de surveillance à long terme, car il nous permet d’avoir un accès à toutes
les historiques des données collectées et de mieux étudier les phénomènes surveillés.
– Les réseaux passifs, qui n’envoient aucune donnée tant qu’aucun événement important
n’est détecté. On peut trouver ce genre d’application dans des systèmes de pré-
alarme qui doivent signaler immédiatement l’arrivée éventuelle d’incidents importants,
comme la détection des catastrophes naturelles.
2.1.4/ DOMAINES D’APPLICATION
Idéalement les réseaux de capteurs sont censés être construits en utilisant des nœuds
à faible coût qui sont déployés en masse. Aujourd’hui ils ne sont pas encore largement
utilisés dans notre vie quotidienne, le coût de fabrication des nœuds est toujours très
élevé, certaines techniques sont aussi loin d’être matures et fiables. Cependant on peut
déjà trouver beaucoup d’applications, dont certaines sont encore expérimentales, dans
des domaines divers.
2.1.4.1/ APPLICATIONS MILITAIRES
Les caractéristiques attendues des réseaux de capteurs, comme le faible coût, l’autoorganisation,
la sécurité et la tolérance aux pannes, ont donné naissance à son utilisation
dans les domaines militaires, c’est aussi le domaine dans lequel on trouve souvent les
technologies les plus avancées.2.1. LES RÉSEAUX DE CAPTEURS SANS FIL 9
Comme le projet DSN (Distributed Sensor Network) du DARPA (Defense Advanced Research
Project Agency) [16], qui était un des premiers projets dans les année 80 à avoir
utilisé les réseaux de capteurs. Les nœuds peuvent être déployés rapidement dans un
champ de bataille pour assurer, d’une manière discrète, des missions confidentielles,
comme la collecte de renseignements, la surveillance des forces ennemies et la détection
des attaques biochimiques.
2.1.4.2/ APPLICATIONS ENVIRONNEMENTALES
L’industrialisation et l’expansion humaine ont causé des problèmes environnementaux
sévères, comme la pollution d’air et d’eau, la disparition des forêts etc. Notamment dans
les pays en développement dont les gouvernements font rarement attention aux soucis
écologiques. L’utilisation des réseaux de capteurs pour la protection de l’environnement
a été beaucoup encouragée par la communauté scientifique. Un déploiement approprié
des nœuds nous permet non seulement de collecter précisément des paramètres environnementaux,
mais aussi de faciliter la surveillance de la zone d’intérêt et d’économiser
l’investissement à long terme. Les nœuds peuvent aussi être déployés dans des zones
difficilement accessibles et hostiles, une fois mis en place, ils peuvent fonctionner d’une
manière autonome.
FIGURE 2.3 – Capteurs déployés pour la protection d’environnement
Dans la figure 2.3, nous avons des nœuds qui sont déployés pour surveiller des forêts et
l’air. En pratique, les nœuds qui sont utilisés dans ce genre d’applications sont souvent
équipés d’une protection physique solide, et afin d’avoir une durée de vie plus longue
et rentable, ils sont généralement bien alimentés avec soit un accès aux réseaux électriques,
soit des panneaux solaires. A cause d’une augmentation du coût d’installation,
on ne peut pas effectuer un véritable déploiement à grande échelle.
2.1.4.3/ APPLICATIONS MÉDICALES
Dans le domaine de la médecine, les nœuds sont souvent utilisés pour assurer une surveillance
permanente d’un patient ou d’une personne âgée. Ils peuvent être soit attachés
au bras du patient, soit implantés directement sous la peau pour mesurer des paramètres
physiologiques, comme la tension artérielle et le battement de cœur (voir figure 2.4).
Les nœuds peuvent communiquer avec les autres nœuds fixes installés dans l’immeuble
pour récupérer les données collectées, qui sont ensuite stockées dans une base de don-10 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
FIGURE 2.4 – Mesure de la tension artérielle et le battement de cœur avec des capteurs
nées, avec laquelle on peut avoir un suivi du patient [41]. En outre, dans certaines applications,
le patient porte une unité de transmission de données (DTU 2
) ou un téléphone
mobile qui récupère les données mesurées et les renvoie au serveur à distance via les
réseaux mobiles.
2.1.4.4/ DOMOTIQUE
L’idée est d’intégrer des capteurs dans les appareils électroménagers, tels que le climatiseur,
la chauffage, les volets électriques, les thermomètres numériques etc. Ces systèmes
embarqués peuvent communiquer entre eux via des connexions sans fil, exactement
comme les réseaux de capteurs. Une centrale de contrôle est mise en place pour
envoyer des requêtes aux appareils et recevoir des informations. La centrale dispose encore
d’un accès internet qui permet aux utilisateurs de contrôler des appareils à distance
et de consulter les informations concernant son domicile [78].
Maintenant on utilise le terme Smart Home pour désigner l’ensemble de technologies
qui permettent d’automatiser et de faciliter la gestion des immeubles avec les systèmes
embarqués [99, 33, 88]. L’objectif est d’apporter aux utilisateurs un confort plus élevé en
assurant une vie plus simple et écologique [59, 88]. Par exemple pendant la journée, si les
capteurs détectent une forte luminosité, ils vont démarrer le moteur pour ouvrir le volet.
Si les capteurs de lumière et de température trouvent que le soleil est suffisamment fort
pour chauffer la chambre, ils vont couper la chauffage pour économiser la consommation
d’énergie. Suite à l’essor des smartphones, les utilisateurs peuvent envoyer des requêtes
depuis leurs téléphones pour contrôler des appareils chez eux.
2.2/ SPÉCIFICITÉS DES RÉSEAUX DE CAPTEURS
Un réseau de capteurs est une sorte de réseau ad-hoc, les nœuds déployés communiquent
entre elles via des communications sans fil pour former un réseau et créer des
chemins de routage. Le réseau ne détient aucune infrastructure, chaque nœud communique
directement avec ses voisins, et les données sont envoyées en utilisant la mode de
2. Data Transfer Unit2.2. SPÉCIFICITÉS DES RÉSEAUX DE CAPTEURS 11
communication multi-sauts, elles sont transmises d’un nœud à l’autre jusqu’à ce qu’elles
arrivent à destination.
Hormis les caractéristiques basiques des réseaux ad-hoc, les réseaux de capteurs possèdent
encore d’autres spécificités qu’il faut prendre en compte lors de la conception des
applications.
2.2.1/ ÉNERGIE
Nous commençons par la consommation d’énergie dans les réseaux de capteurs, car
elle est considérée comme un des facteurs les plus cruciaux. Idéalement les réseaux
de capteurs sont censés être constitués des nœuds à faible coût, qui peuvent être dé-
ployés facilement en masse sans se soucier de l’organisation et de la configuration. Une
fois réveillés, les nœuds peuvent fonctionner d’une manière autonome sans intervention
humaine. Comme il y a des chances que les réseaux soient déployés dans des zones
hostiles, il faut qu’ils permettent un minimum de tolérance aux pannes pour endurer les
environnements difficiles.
Pour l’instant, la seule source d’énergie des nœuds est la pile dont la durée de vie peut
varier entre des heures et des jours en fonction de l’intensité des opérations à effectuer.
C’est aussi le seul mode d’alimentation qui donne la possibilité d’effectuer un déploiement
aléatoire. Cependant un tel déploiement rend la maintenance manuelle des nœuds très
difficile. Il est très coûteux et quasiment impossible de localiser un nœud dont la pile est
épuisée.
Pour une raison de coût de fabrication et de maintenance, au lieu de chercher à remplacer
des piles épuisées ou installer des piles de grande capacité, on préfère plutôt
minimiser la consommation d’énergie pendant le fonctionnement des réseaux. Sachant
que la plupart de l’énergie est consommée pendant des communications sans fil et que
la consommation des autres composants est presque négligeable par rapport à celle de
l’antenne radio, quand on conçoit une application, on essaie toujours de limiter le nombre
de communications et d’éteindre la radio quand ce n’est pas nécessaire.
2.2.2/ PUISSANCE DE CALCUL
Toujours pour une raison de coût, on choisit souvent des micro-contrôleurs comme unité
de traitement pour les capteurs [18, 19], comme la plate-forme Telosb de Crossbow qui
est équipée d’un micro-contrôleur MSP 430 à 8 MHz. Ils sont petits, moins chers, et programmables.
Grâce à ces caractéristiques techniques, les micro-contrôleurs deviennent
un choix idéal pour les systèmes embarqués.
Un défaut important des micro-contrôleurs est le manque de puissance de calcul. Malgré
les progrès récents dans le domaine de l’électronique et de l’informatique industrielle, il
y a toujours très peu de micro-contrôleurs puissants qui sont développés et commercialisés.
Généralement cela est considéré comme un choix du marché, car aujourd’hui dans
la plupart de projets, les micro-contrôleurs n’ont pas besoin d’être puissants. Ils sont initialement
inventés et mis en place pour effectuer des tâches simples, comme la coupure
et la remise de courant dans les circuits intégrés.
Cependant dans les réseaux de capteurs, les fonctionnalités à assurer sont plus com-12 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
pliquées. Dans un vrai réseau, les nœuds doivent mesurer des valeurs environnementales,
agréger et compresser les données collectées, même appliquer des mécanismes
de sécurité contenant des calculs cryptographiques très complexes. Afin de réaliser une
fabrication et un déploiement en grand nombre, il faut que l’unité de traitement soit petite
et ait un coût et une consommation d’énergie faibles, mais en même temps, il faut qu’elle
puisse gérer beaucoup de tâches différentes dans le réseau.
Pour contourner le problème, maintenant dans les applications existantes, on demande
aux nœuds de coopérer entre eux pour atteindre un objectif collectif. Le nœud du même
modèle peuvent jouer des rôles différents, ou le même nœud peut assurer plusieurs
fonctionnalités pendant des périodes différentes.
2.2.3/ SÉCURITÉ
Comme tous les réseaux informatiques, les réseaux de capteurs font aussi l’objet de diffé-
rentes attaques. La seule solution est de mettre en place des mécanismes de sécurité qui
nous permettent de protéger des informations circulant dans le réseau sans consommer
trop de ressources. Les techniques appliquées doivent répondre aux exigences principales
suivantes :
– Confidentialité : les informations ne doivent jamais circuler entre les nœuds en claire,
notamment dans les applications militaires et de surveillance. Il faut s’assurer que
les informations ne sont pas directement interprétables et compréhensibles aux attaquants.
– Intégrité : les données ne doivent pas être altérées pendant la transmission, et il faut
que le récepteur puisse vérifier si les données ont subi des altérations.
– Fraîcheur : il s’agit d’un test qui vérifie si les informations reçues sont récentes. Parfois,
l’attaquant peut tromper les nœuds en renvoyant des commandes qu’il a intercepté
auparavant. Par la fraîcheur de données, le récepteur peut tester si la commande reçue
a été réutilisée.
– Authentification : elle nous permet de protégé le réseau contre des attaques de vol
d’identité en vérifiant si l’identité déclarée par un nœud est bien celle du nœud déclaré.
Il existe déjà des techniques matures qui peuvent atteindre les objectifs listés ci-dessus,
mais la plupart entre elles sont initialement conçues et testées pour les systèmes sans
contrainte de ressources. Comme nous avons vu précédemment, les nœuds ne sont
pas assez puissants pour gérer des algorithmes et des protocoles très lourds. Il faut les
optimiser et modifier pour s’adapter aux réseaux de capteurs.
2.2.4/ TOLÉRANCE AUX PANNES
Les nœuds sont des dispositifs électroniques, qui peuvent tomber en panne pendant leur
fonctionnement. Le manque de protection solide et de puissance de calcul rendent les
nœuds très fragiles et sensibles face aux dysfonctionnements causés principalement par
des attaques physiques, des phénomènes climatiques et géologiques.
Par exemple un glissement de terre peut détruire, enterrer et déplacer des nœuds dé-
ployés, et changer complètement la topologie du réseau. Si les nœuds assurant des
fonctionnalités particulières sont endommagés, comme les nœuds de passerelle, une2.3. PROBLÈMES DE SÉCURITÉ DANS LES RÉSEAUX DE CAPTEURS 13
partie du réseau deviendra isolé et inaccessible. L’objectif des techniques de tolérance
aux pannes est donc de détecter des anomalies et de restaurer, même partiellement, les
fonctionnalités pour que le réseau puisse continuer à fonctionner.
Une solution qui est largement utilisée est la redondance. L’idée est d’avoir plusieurs
composants prêts pour assurer la même fonctionnalité. Quant aux réseaux de capteurs,
le principe reste le même, on peut attribuer la même tâche à plusieurs nœuds. Lorsqu’un
nœud tombe en panne, un nœud de secours va prendre le relais et continuer à travailler
sur la tâche. Par exemple, lorsque la pile d’un nœud est épuisée, au lieu de se rendre
sur place pour le localiser et le changer, il est plus efficace et moins coûteux de laisser
le nœud épuisé et en choisir un autre qui peut reprendre son travail. Les techniques de
tolérance aux pannes dans les réseaux de capteurs sont présentées en détail dans le
chapitre 5.
2.3/ PROBLÈMES DE SÉCURITÉ DANS LES RÉSEAUX DE CAPTEURS
Les spécificités des réseaux de capteurs sans fil citées précédemment exposent les
nœuds à de nombreuses menaces. Il existe principalement 2 types d’attaques, qui sont
l’attaque passive et active. Dans le premier cas, si le réseau ne chiffre pas ses données,
l’attaquant pourra récupérer les informations qui circulent entre les nœuds en se mettant
discrètement dans le réseau et écoutant les communications radio. Dans le cas d’attaque
active, l’attaquant est beaucoup plus offensif, au lieu d’espionner discrètement les données,
il cherche à perturber le réseau en modifiant les informations ou en endommageant
directement les nœuds.
Dans cette section, nous allons voir d’abord une taxonomie des attaques principales
au sein des réseaux de capteurs [65], ensuite des mécanismes de sécurité que nous
pouvons mettre en place pour les protéger.
2.3.1/ ÉCOUTE PASSIVE
Il s’agit de l’interception et de la collection des données qui circulent dans les réseaux.
L’attaquant peut obtenir l’accès à l’ensemble d’informations échangées entre les nœuds,
si elles ne sont pas correctement chiffrées. L’objectif de l’écoute passive est l’espionnage
des données sensibles sans interférer le fonctionnement du réseau. Par sa nature passif,
ce genre d’attaque est très difficile à détecter.
2.3.2/ ANALYSE DU TRAFIC
L’analyse du trafic est une attaque qui est basée sur l’écoute passive, mais au lieu d’espionner
directement des données, elle s’intéresse plutôt aux destinations des paquets
envoyés. En analysant les chemins empruntés par les paquets, l’attaquant peut étudier
la topologie du réseau et identifier les nœuds les plus importants. Ces informations permettent
à l’attaquant de préparer des attaques plus précises qui peuvent gravement menacer
les communications dans le réseau.
Comme dans le jeu du chasseur de panda [76], les nœuds sont déployés pour tracer la
position du panda, et les paquets contenant les informations de localisation sont chiffrées.14 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
Sans accès direct aux données communiquées, l’attaquant peut toujours localiser la zone
où se trouve le panda en analysant les chemins de routage des paquets.
Généralement dans un réseau de capteurs, les communications intensives se trouvent
souvent soit vers la destinations des paquets, soit près de la source d’événement important.
Une analyse du trafic permet à l’attaquant de localiser des point d’intérêt au sein
d’un réseau, comme la station de base, les nœuds de passerelles etc.
2.3.3/ BROUILLAGE RADIO
On utilise souvent le terme anglophone radio jamming pour désigner ce genre d’attaque.
L’attaquant peut saturer le réseau en diffusant des ondes ayant exactement la même
fréquence que celle utilisée par le réseau de capteurs [109]. Les nœuds utilisent l’air
comme médium de communication, qui est en effet accessible à tout le monde, l’attaquant
peut brouiller le réseau en plaçant simplement quelques nœuds malicieux dans la zone.
2.3.4/ INONDATION
L’idée est de saturer ou de perturber le réseau en diffusant massivement des messages
inutiles. Les protocoles de routage permettent souvent au réseau d’ajouter de nouveaux
nœuds après le déploiement. Quand un nouveau nœud est déployé et réveillé, il envoie
périodiquement des message HELLO pour que les autres nœuds qui se situent dans sa
portée radio puissent le détecter.
L’attaquant peut déployer des nœuds particuliers ayant une puissance d’émission très
forte, qui diffusent constamment des messages HELLO dans le réseau. Lorsqu’un nœud
reçoit un HELLO d’un nouvel arrivant, il est obligé de lui renvoyer un message d’accueil
qui leur permet de lancer la procédure d’intégration. Si le nœud malicieux répète
sans arrêt le message HELLO avec une puissance d’émission assez forte, les autres
nœuds dans sa portée radio vont continuer à lui retourner des messages d’accueil (voir
figure 2.5).
Par conséquent, ces nœuds deviennent indisponibles, car ils sont occupés pour accueillir
le nœud malicieux. En plus, la communication radio consomme beaucoup d’énergie, l’attaquant
peut vider les piles des nœuds trompés en leur demandant des messages d’accueil.
2.3.5/ TROU NOIR
Les nœuds malicieux s’intègrent dans le réseau, et essaient de tromper les autre nœuds
en leur faisant croire qu’ils ont découvert un chemin plus fiable. Dans les protocoles
de routage, les nœuds évaluent souvent les connexions sans fil avec la puissance des
signaux, les nœuds sans protection d’authentification vont abandonner leurs chemins
de routage actuels et envoyer les données aux nœuds malicieux qui disposent d’une
puissance d’émission plus élevée [42]. De ce fait, les données n’arriveront jamais à la
destination prévue (voir figure 2.6).2.3. PROBLÈMES DE SÉCURITÉ DANS LES RÉSEAUX DE CAPTEURS 15
FIGURE 2.5 – Attaque d’inondation de message HELLO
FIGURE 2.6 – Attaque de trou noir
2.3.6/ RÉPLICATION DES DONNÉES
L’attaquant peut réutiliser ultérieurement des paquets qu’il a capturé et enregistré pour
tromper le réseau. Même les paquets sont chiffrés et protégés par des mécanismes
d’authentification, et l’attaquant n’a aucun accès aux données qu’ils contiennent, on peut
toujours deviner l’usage des paquets en observant le comportement des récepteurs.
Par exemple, si l’attaquant s’aperçoit que les nœuds coupent les communications sans
fil après la réception d’un paquet, même il ne peut pas lire son contenu, il pourra tout de
même déduire que c’est le paquet contenant la commande pour éteindre l’antenne radio.
Ensuite l’attaquant peut répliquer et rediffuser le paquet à tous les nœuds autour de lui
pour les passer au silence radio [96].
Cette attaque est réalisable si le réseau ne dispose d’aucun mécanisme assurant la fraî-
cheur des données, ou l’attaquant peut déchiffrer et modifier les contenus des paquets.16 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
2.3.7/ VOL D’IDENTITÉ
Dans les réseaux de capteurs, le vol d’identité s’appelle aussi une attaque sybile [73]. Les
nœuds malicieux se déguisent en nœuds légitimes du réseau en utilisant leurs identités.
Quand le nœud malicieux est considéré comme un membre du réseau, il est autorisé à
participer à toutes les opérations, pendant lesquelles il peut ensuite soit espionner les
données, soit éventuellement perturber le réseau.
Un nœud malicieux déguisé peut sévèrement menacer la sécurité du réseau, notamment
quand on lui attribue un rôle important, comme le nœud de passerelle qui s’occupe de la
communication entre des sous réseaux, ou le cluster-head qui est chargé de la communication
inter-cluster. Si le nœud obtient une telle priorité, il pourra prendre des actions qui
peuvent gravement interférer le fonctionnement du réseau, comme le refus de routage et
la modification de données.
2.3.8/ ATTAQUE PHYSIQUE
L’attaquant se rend physiquement dans la zone où les nœuds sont déployés pour les
détruire ou les capturer. Dans les réseaux de capteurs, les nœuds sont déployés aléatoirement
pour découvrir uniformément une zone d’intérêt, et il est très difficile de surveiller
simultanément chacun des nœuds. La plupart des mécanismes de sécurité sont conçus
et appliqués pour protéger les données et leur circulation contre des intrusions et des
espionnages, comme le chiffrement de données, l’authentification, le test d’intégrité etc.
Cependant les nœuds eux-même restent toujours très fragiles face aux attaques physiques.
Si l’attaquant effectue une analyse du trafic avant de lancer l’attaque, il va pouvoir viser les
nœuds les plus importants dans le réseau. Par exemple si l’attaquant réussit à identifier
et détruire les nœuds passerelle, le réseau deviendra complètement inaccessible ou sera
coupé en plusieurs sous réseaux qui ne peuvent pas communiquer entre eux.
L’attaquant peut aussi capturer et compromettre des nœuds. Un nœud compromis représente
une menace très grave pour la sécurité du réseau. L’attaquant peut retrouver
des informations sensibles dans la mémoire du nœud capturé, comme les clés cryptographiques,
ou modifier carrément le programme installé. Une fois le nœud compromis,
l’attaquant le remet dans le réseau pour espionner les données ou interférer les communications
[108].
2.3.9/ VARIATIONS DES ATTAQUES
Il existe encore d’autres attaques qui sont en effet des variantes des attaques mentionnées
précédemment. On peut faire évoluer leurs fonctionnements ou les combiner ensemble
pour en créer une nouvelle. Le but d’une telle variation est de rendre les attaques
plus puissantes et précises.
Par exemple l’attaque de trou gris, est basée sur l’attaque de trou noir, qui consiste à
tromper les autres nœuds du réseau avec une puissance d’émission élevée. Les données
attirées et récupérées par le nœud malicieux sont simplement supprimées et n’arriveront
jamais à la destination.2.4. MÉCANISMES DE SÉCURITÉ 17
Contrairement au trou noir, un trou gris cherche plutôt à censurer les informations. Les
données sont sélectionnées et modifiées avant être renvoyées, ou le nœud malicieux ne
laisse passer que des informations moins importantes. Le trou gris peut rendre le réseau
beaucoup moins efficace, car les informations importantes sont perdues. Par ailleurs,
un trou gris est plus difficile à détecter, car il se comporte comme un nœud normal du
réseau.
Parfois l’attaquant peut utiliser en même temps plusieurs techniques d’attaquant diffé-
rentes. Par exemple, il lance d’abord une analyse du trafic qui lui permet d’identifier les
chemins de routage, ainsi que les nœuds de routage qui sont chargés de la transmission
de données. Ensuite, il effectue une attaque sybile en déployant des nœuds qui se
déguisent en nœud de routage. Au lieu d’envoyer les données vers la station de base,
les nœuds malicieux créent une boucle infinie en renvoyant les données vers le début du
chemin de routage. Cette attaque peut non seulement perturber le routage des données,
mais aussi augmenter considérablement la consommation d’énergie des nœuds qui se
situent sur le chemin de routage.
2.4/ MÉCANISMES DE SÉCURITÉ
L’ensemble d’attaques présentées dans la section précédente nous a montré la nécessité
de mettre en place des mécanismes de sécurité pour protéger les données et les communications
sans fil au sein d’un réseau de capteurs. Néanmoins, à cause de la diversité
des attaques et le manque de ressources des nœuds, il est très difficile de proposer
une solution qui résolve tous les problèmes. La partie suivante présente des solutions
de sécurité répandues en prenant en compte les spécificités des réseaux de capteurs,
notamment la consommation d’énergie et la puissance de calcul.
2.4.1/ CLÉ D’AUTHENTIFICATION DYNAMIQUE
Le principe de cette solution est de demander à la station de base de générer et distribuer
périodiquement de nouvelles clés d’authentification [6]. A chaque période, la station de
base génère une clé qui est ensuite envoyée à l’ensemble du réseau. Les nœuds utilisent
cette clé pour prouver leur appartenance au réseau, et un nœud qui ne possède pas la
bonne clé n’est pas autorisé à communiquer avec les autres nœuds.
Cette solution offre une protection efficace contre les nœuds malicieux qui essaient de se
déguiser en nœuds légitimes, car elle ne demande ni calcul coûteux, ni échange fréquent
de données. Même si l’attaquant réussit à capturer et compromettre des nœuds, les
nœuds compromis ne pourront toujours pas rentrer dans le réseau, car la nouvelle clé
utilisée ne sera plus la même.
Cependant cette solution nécessite une distribution de clés sécurisée et fiable, il ne faut
pas qu’un attaquant puisse intercepter et interpréter la nouvelle clé utilisée. D’ailleurs, le
réseau est indisponible lors de la distribution de nouvelles clés, car les nœuds ne peuvent
pas communiquer entre eux tant que la distribution de clés n’est pas terminée. Un autre
inconvénient est qu’elle n’autorise pas l’ajout de nouveaux nœuds, car on ne peut pas
connaître à priori la prochaine clé d’authentification à utiliser.18 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
2.4.2/ RÉSEAUX DE CONFIANCE
Cette solution est principalement basée sur l’évaluation de la réputation de chaque nœud.
Les nœuds donnent à chacun de leurs voisins une indice de réputation qui peut varier
en fonction de son comportement [6, 111, 75, 86, 17, 113]. Pendant les communications
sans fil, chaque nœud du réseau surveille les réactions de ses voisins, si un voisin réagit
comme il faut, le nœud va incrémenter son indice de réputation. Cependant, s’il détecte
des comportements suspects du voisin, comme l’absence ou le retard de réponse, alors
le nœud va diminuer l’indice du voisin. Les comportements suspects peuvent être dus à
plusieurs causes possibles, par exemple pile épuisée, connexion instable, ou éventuellement
nœud malicieux.
Les nœuds du réseau stockent en mémoire un tableau contenant les indices de réputation
de tous les voisins, ils choisissent toujours les voisins ayant de meilleures réputations
lors du routage de données. Car ils sont considérés comme les voisins les plus sûrs qui
peuvent construire un chemin de routage assez fiable.
Cependant, l’utilisation toute seule de cette solution n’est pas suffisante pour protéger
le réseau, car elle ne peut pas détecter des attaques passives, comme l’espionnage de
données, le nœud réagit correctement comme un nœud légitime, mais toutes les données
qui sont passées par lui sont enregistrées localement et accessibles à l’attaquant.
2.4.3/ STÉGANOGRAPHIE
La stéganographie est une solution très simple qui peut être mise en place aisément. Au
lieu de rendre le message illisible comme la cryptographie, la stéganographie cherche
plutôt à cacher les informations sensibles dans les paquets de contrôle ou les données.
Généralement, dans les paquets, notamment la partie d’entête, il existe toujours quelques
octets qui ne sont pas utilisés, on peut donc les utiliser pour stocker les données [66].
L’attaquant ne peut pas détecter leur existence tant qu’il ne sait pas la technique exacte
utilisée.
La fiabilité de la stéganographie est en effet un pari sur le fait que l’attaquant ne sait
pas où se sont cachées les données. Cependant, une fois la technique utilisée dévoilée,
l’attaquant pourra accéder à toutes les données cachées. D’ailleurs, le nombre d’octets
non utilisés dans des paquets est très limité, on ne peut pas y stocker des informations
très volumineuses.
2.4.4/ CRYPTOGRAPHIE
La cryptographie est une solution de sécurité qui est relativement beaucoup plus sûre.
L’idée de base est d’utiliser des méthodes mathématiques pour transformer le message
original à une suite de données qui ne peuvent pas être directement interprétées par une
tierce partie. Elle comprend un ensemble de techniques qui sont fréquemment utilisées
dans le monde informatique pour assurer la confidentialité, l’intégrité et l’authenticité des
données.
L’application de la cryptographie implique souvent des calculs intensifs et la gestion des
données volumineuses, qui ne posent aucun problème pour des plate-formes possédant
une puissance de calcul suffisante et un accès de mémoire rapide. Quant à la plupart des2.4. MÉCANISMES DE SÉCURITÉ 19
réseaux de capteurs, aucune des conditions n’est satisfaite. La limitation des ressources
des nœuds est considérée comme un obstacle principal qui empêche l’utilisation des
cryptosystèmes robustes dans les réseaux de capteurs.
La communauté scientifique est toujours à la recherche de solutions qui nous permettent
d’optimiser et d’adapter des algorithmes et des protocoles cryptographiques pour les
réseaux de capteurs. Le temps de calcul, la consommation de mémoire et d’énergie sont
donc devenus des facteurs critiques pour évaluer des solutions proposées.
Il existe principalement 2 catégories de cryptographie, qui sont respectivement la cryptographie
symétrique et la cryptographie asymétrique. Cette section est consacrée à la
présentation et la comparaison des 2 types de cryptographie, ainsi que leurs avantages
et inconvénients.
2.4.4.1/ CRYPTOGRAPHIE SYMÉTRIQUE
La cryptographie symétrique utilise une seule clé pour le chiffrement et le déchiffrement
des données, elle est considérée comme une solution moins coûteuse et plus facile à
implémenter. Par exemple, la longueur de clé recommandée pour l’algorithme DES est
56 bits, et celle de l’algorithme AES est 128 bits. On suppose que M est le message
à chiffrer et k est la clé secrète partagée par l’envoyeur et le récepteur du message.
L’envoyeur utilise la fonction de cryptage E() et la clé k pour générer un message chiffré
E(M, k) = M′
. Après la réception du message chiffré, le récepteur utilise une fonction de
décryptage D() et la même clé k pour déchiffrer le message D(M′
, k) = M. On a montré
dans [52] que l’application des algorithmes de cryptographie symétrique est faisable dans
les réseaux de capteurs.
Cependant cette solution possède aussi des inconvénients inhérents. Pour que 2 nœuds
puissent communiquer entre eux, il faut qu’ils utilisent exactement la même clé, et la
distribution de clés est devenue un défi inévitable. Il existe dans la littérature 4 types de
distribution :
– Clé globale : Une seule clé est partagée par tous les nœuds du réseau. C’est la solution
la plus facile à mettre en place, et elle offre un minimum de protection contre l’espionnage
de données. Cependant, si l’attaque réussit à compromettre un seul nœud, tout
le mécanisme de sécurité va échouer.
– Clé partagée par paire de nœuds : Chaque nœud possède une clé unique pour chacun
de ses voisins. Une telle gestion de clés peut augmenter considérablement le niveau de
sécurité du réseau, car chaque pair de nœuds utilise une clé distincte pour sécuriser la
communication entre eux. Si un nœud possède n voisins, il faudra qu’il stocke en mé-
moire n clés. Premièrement, cette distribution de clés peut engendrer éventuellement
des communications radio très fréquentes qui peuvent vider rapidement les piles des
nœuds. Deuxièmement, le stockage des clés cause une consommation de mémoire
importante.
– Clé individuelle : Chaque nœud détient une clé qui est partagée par lui-même et la
station de base, mais cette distribution sécurise seulement la communication entre les
nœuds et la station de base. Les nœuds ne peuvent pas communiquer entre eux, car
ils ne possèdent pas de clé partagée.
– Clé partagée par groupes de nœuds. Une clé est partagée entre un groupe de nœuds,
par exemple, dans un cluster, le cluster-head est chargé de la génération et de la
distribution de clé, et la communication intérieure du cluster est sécurisée avec ces20 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
clés partagées. C’est une solution qui a atteint un compromis entre la consommation
des ressources et la sécurité.
D’ailleurs, la cryptographie symétrique n’offre pas la signature numérique, sans laquelle
les nœuds ne peuvent pas authentifier les messages reçus, et sont vulnérables aux attaques
de vol d’identité.
2.4.4.2/ CRYPTOGRAPHIE ASYMÉTRIQUE
La cryptographie asymétrique, appelée aussi cryptographie à clé publique, utilise 2 clés
différentes respectivement pour le chiffrement et le déchiffrement. Avant l’envoi du message
M, on le chiffre avec la clé publique du destinataire kp, qui est diffusée librement
dans l’ensemble du réseau, E(M, kp) = M′ où E() est la fonction de cryptage et M′ est
le message chiffré. Après la réception du M′
, le destinataire utilise sa clé privée ks
, qui
est gardée secrète, pour déchiffrer le message, D(M′
, ks) = M où D() est la fonction de
décryptage.
La cryptographie asymétrique donne aussi la possibilité de signer des messages chiffrés.
On suppose que A veut envoyer un message M chiffré et signé à B. A calcule d’abord
le condensat du M avec une fonction de hachage H(M), ensuite A génère la signature
S M en chiffrant le condensat avec sa clé privée S M = E(ksA
, H(M)). Enfin, A chiffre la
signature S M et le message original M avec la clé publique de B, M′ = E(kpB
, (S M, M)).
Quand B reçoit le message chiffré et signé, il déchiffre d’abord M′ avec sa clé privée
D(ksB
, M′
) = (S M, M), ensuite pour vérifier la signature, il déchiffre S M avec la clé publique
de A, DS M = D(kpA
, S M) et calcule le condensat de M avec la même fonction de hachage
H(M). Enfin, il teste si DS M = H(M). Si l’authentification échoue, c’est-à-dire DS M , H(H),
le message M′ sera rejeté.
La signature donne une protection complémentaire au réseau, mais les algorithmes de
cryptographie asymétrique sont généralement beaucoup plus coûteux que ceux de cryptographie
symétrique, et les clés à manipuler sont plus longues aussi. En pratique, on
utilise souvent les 2 solutions en même temps. Par exemple, on utilise la cryptographie
asymétrique pour la signature et la génération de clé partagée (voir section 3.4.1 du
chapitre 3), ensuite pour le chiffrement et le déchiffrement de données, on utilise la cryptographie
symétrique qui offre une rapidité de calcul intéressante.
Concernant l’application de la cryptographie asymétrique dans les réseaux de capteurs,
il est évident que les nœuds ne sont pas assez puissants pour gérer directement les algorithmes
de cryptographie asymétrique. Les travaux de recherche récents ont montré
qu’en faisant des optimisations, il est possible d’implémenter des algorithmes de cryptographie
asymétrique pour les réseaux de capteurs [107, 62].
2.5/ CONCLUSION
La cryptographie est la solution la plus utilisée pour sécuriser les communications dans
les réseaux. Idéalement, il est préférable d’utiliser la cryptographie asymétrique pour protéger
les réseaux de capteurs. Hormis son usage basique, le chiffrement de données,
la cryptographie asymétrique offre encore la signature numérique et la génération de clé
partagée, qui constituent une protection plus complète.2.5. CONCLUSION 21
Néanmoins, par rapport à la cryptographie symétrique, la sécurité basée sur la cryptographie
asymétrique implique des calculs beaucoup plus complexes, qui sont dans la
plupart des cas très coûteux pour les nœuds. Il existe 2 cryptosystèmes asymétriques
principaux, RSA et ECC, dont le premier est le cryptosystème asymétrique le plus utilisé,
tandis que le deuxième fait partie des cryptosystèmes asymétriques les plus attractifs.
ECC est un cryptosystème asymétrique basé sur le problème de logarithme discret sur
les courbes elliptiques. Il peut offrir le même niveau de sécurité que RSA en utilisant des
clés beaucoup plus courtes, et ses spécificités ont encouragé les chercheurs à essayer
de l’appliquer dans les réseaux de capteur. Une présentation détaillée de ECC se trouve
dans le chapitre 3.3
CRYPTOGRAPHIE SUR LES COURBES
ELLIPTIQUES
Sommaire
3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 Groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.2 Groupe abélien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.3 Groupe cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.4 Anneau unitaire et anneau commutatif . . . . . . . . . . . . . . . . . . 25
3.1.5 Corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.6 Corps fini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Présentation de la courbe elliptique . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 Définition de courbe elliptique . . . . . . . . . . . . . . . . . . . . . . 26
3.2.2 Loi de composition sur les courbes elliptiques . . . . . . . . . . . . . . 27
3.2.3 Multiplication de point . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.4 Algorithme d’Euclide étendu . . . . . . . . . . . . . . . . . . . . . . 29
3.2.5 Problème du logarithme discret sur les courbes elliptiques . . . . . . . 30
3.3 Optimisation de la performance de multiplication scalaire . . . . . . . . . 31
3.3.1 Méthode NAF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.2 Méthode de la fenêtre . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.3 Système de coordonnées projectives . . . . . . . . . . . . . . . . . . . 34
3.3.4 Réduction de scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.5 Multiplication scalaire parallèle . . . . . . . . . . . . . . . . . . . . . 37
3.4 Protocoles cryptographiques basés sur ECC . . . . . . . . . . . . . . . . . 41
3.4.1 Elgamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.2 Elliptic Curve Integrated Encryption Scheme (ECIES) . . . . . . . . . 44
3.4.3 Elliptic Curve Digital Signature Algorithm (ECDSA) . . . . . . . . . 46
3.4.4 Elliptic Curve Menezes Qu Vanstone (ECMQV) . . . . . . . . . . . . 46
3.4.5 Elliptic Curve Massey-Omura (EC Massey-Omura) . . . . . . . . . . . 48
3.5 Comparaison de performance entre ECC et RSA . . . . . . . . . . . . . . . 49
3.5.1 Génération de clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.2 Signature numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.3 Vérification de signature . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.4 Comparaison de performance . . . . . . . . . . . . . . . . . . . . . . 50
3.6 Attaques des cryptosystèmes embarqués basés sur ECC . . . . . . . . . . . 51
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2324 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
La cryptographie sur les courbes elliptiques, elliptic curve cryptography (ECC) en Anglais,
est proposée indépendamment par Koblitz [44] et Miller [69] dans les années 80. Elle
comprend un ensemble de techniques qui nous permettent de sécuriser des données en
consommant moins de ressources. Elle attire récemment de plus en plus d’attention des
chercheurs du monde entier, notamment pour le domaine de systèmes embarqués dans
lequel les dispositifs électroniques ne possèdent qu’une puissance de calcul très limitée.
L’avantage le plus important d’ECC par rapport aux autres algorithmes de cryptographie
asymétrique, par exemple RSA [89], est que l’on peut avoir un bon niveau de sécurité en
utilisant une clé beaucoup plus courte. Les tests de performance de Gura et al. [32] ont
montré que pour avoir le même niveau de sécurité qu’une clé RSA de 1024 bits, avec
ECC, il suffit d’utiliser une clé de 160 bits. D’ailleurs, l’utilisation d’une clé plus courte
implique aussi une consommation de mémoire et d’énergie moins importante et un calcul
plus rapide.
Pour expliquer le fonctionnement d’ECC, dans ce chapitre nous étudions d’abord les
concepts mathématiques fondamentaux de la courbe elliptique, ainsi que l’opération la
plus importante sur les courbes, la multiplication scalaire. Ensuite nous présentons l’ensemble
d’algorithmes et de techniques proposés dans la littérature qui visent à améliorer
la performance de calculs sur les courbes. Enfin nous présentons l’ensemble des protocoles
cryptographiques qui sont basés sur les courbes elliptiques.
3.1/ GÉNÉRALITÉS
Avant de présenter les courbes elliptiques, nous étudions d’abord les notions mathématiques
dont nous avons besoin pour comprendre son fonctionnement.
3.1.1/ GROUPE
En mathématique, un groupe est un couple (E, ·) où E est un ensemble et · est une loi
de composition interne qui combine deux éléments a et b de E pour obtenir un troisième
élément a · b. Il faut que la loi satisfasse les quatre axiomes ci-dessous.
– Fermeture : ∀(a, b) ∈ E | a · b ∈ E
– Associativité : ∀(a, b) ∈ E | (a · b) · c = a · (b · c)
– Élément neutre : ∃e ∈ E | a · e = e · a = a
– Symétrique : ∀a ∈ E, ∃b ∈ E | a · b = b · a = e
3.1.2/ GROUPE ABÉLIEN
Un groupe abélien, ou un groupe commutatif, est un groupe dont la loi de composition
interne est commutative. Un ensemble E est un groupe commutatif lorsque
∀(a, b) ∈ E | a · b = b · a3.1. GÉNÉRALITÉS 25
3.1.3/ GROUPE CYCLIQUE
Un groupe fini G est cyclique si tout élément du groupe peut s’exprime sous forme d’une
puissance ou d’un multiple d’un élément particulier g, appelé le générateur du groupe,
c’est-à-dire G = hgi = {g
n
| n ∈ Z
∗
}. Par exemple si G = {g
0
, g
1
, g
2
, g
3
, g
4
, g
5
} et g
6 = g
0
, alors
G est un groupe cyclique. Tout groupe cyclique est abélien car g
ng
m = g
n+m = g
m+n = g
mg
n
.
L’ordre d’un élément e d’un groupe cyclique est le nombre entier n positif le plus petit
tel que ne = 0 (en notation additive) ou e
n = 1 (en notation multiplicative). Reprenons le
même groupe G du paragraphe précédent, par exemple l’ordre de l’élément g
2 est 3 car
l’élément neutre du groupe est g
0 = 1 et (g
2
)
3 = g
6 = 1.
3.1.4/ ANNEAU UNITAIRE ET ANNEAU COMMUTATIF
Un anneau unitaire, ou simplement anneau, est un ensemble E muni de deux lois de
composition, notées + (addition) et · (multiplication). E est un anneau, si
– (E, +) est un groupe commutatif
– La loi · est associative et distributive par rapport à la loi +.
– La loi · possède un élément neutre.
Il existe un élément neutre de la loi de composition +, noté 0 tel que ∀a ∈ E | a+0 = 0+a = a
et ∀a ∈ E, ∃b ∈ E | a + b = 0. Il existe un autre élément neutre pour la loi de composition ·,
noté 1 tel que ∀a ∈ E | a · 1 = 1 · a = a.
Un anneau commutatif est un anneau dont la loi de composition · est commutative, c’est-
à-dire ∀(a, b) ∈ E | a · b = b · a.
3.1.5/ CORPS
Un corps est un ensemble E muni de deux lois de composition, notée respectivement +
et ·. Il faut que les deux lois satisfassent les conditions suivantes :
– Le couple (E, +) forme un groupe abélien, il existe un élément neutre, noté 0, tel que
∀a ∈ E | a + 0 = 0 + a = a.
– Le couple (E\{0}, ·) forme aussi un groupe abélien dont l’élément neutre est 1, ∀a ∈ E |
a · 1 = 1 · a = a.
– La multiplication · est distributif pour l’addition, c’est-à-dire ∀(a, b, c) ∈ E | a · (b + c) =
a · b + a · c et (b + c) · a = b · a + c · a.
Autrement dit, un corps est un anneau dont les éléments non nuls forment un groupe
abélien pour la multiplication.
3.1.6/ CORPS FINI
Un corps fini F est un corps dont le nombre d’éléments est fini. Le nombre d’éléments est
l’ordre du corps, noté q, qui peut être représenté par la puissance d’un nombre premier
q = p
n
, où p est un nombre premier, appelé la caractéristique du corps, et n ∈ Z
+
. Pour26 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
étudier la cryptographie sur les courbes elliptiques, il faut que nous comprenions les deux
types de corps ci-dessous.
3.1.6.1/ CORPS PREMIER
Un corps est un corps premier, noté Fp lorsque l’ordre du corps q = p
n et p est un nombre
premier. Le corps est constitué des nombres entiers {0, 1, 2, ..., p − 1}, et ∀a ∈ Z, a mod p
donne le reste unique r qui est compris entre [0, p − 1].
3.1.6.2/ CORPS BINAIRE
Un corps fini de l’ordre 2
n est un corps binaire, noté F2
n , qui peut être construit en utilisant
une représentation polynomiale. Les éléments du corps sont des polynômes binaires dont
les coefficients ai ∈ {0, 1} et les degrés sont inférieurs à n. C’est-à-dire F2
n = {an−1z
n−1 +
an−2z
n−2 + ... + a1z + a0 : ai ∈ {0, 1}}.
3.2/ PRÉSENTATION DE LA COURBE ELLIPTIQUE
Après la présentation des notions mathématiques nécessaires, nous allons passer, dans
cette section, à la définition des courbes elliptiques avec l’ensemble d’opérations que
nous pouvons effectuer sur elles.
3.2.1/ DÉFINITION DE COURBE ELLIPTIQUE
La courbe elliptique E est une courbe algébrique qui peut être représentée par l’équation
Weierstrass (formule 3.1).
E : y
2 + a1 xy + a3y = x
3 + a2 x
2 + a4 x + a6 (3.1)
On suppose que la courbe est définie dans un corps K et les paramètres a1, a2, a3, a4, a6 ∈
K. Pour que la courbe soit lisse et ne contienne aucun point de rebroussement, il faut
que le discriminant de la courbe ∆ , 0. La définition complète de ∆ se trouve dans la
formule 3.2.
∆ = −d
2
2
d8 − 8d
3
4
− 27d
2
6
+ 9d2d4d6
d2 = a
2
1
+ 4a2
d4 = 2a4 + a1a3
d6 = a
2
3
+ 4a6
d8 = a
2
1
a6 + 4a2a6 − a1a3a4 + a2a
2
3
− a
2
4
(3.2)
La forme de la courbe peut varier en fonction des paramètres choisis, dans la figure 3.1
nous avons 2 exemples de courbe elliptique.
Dans le domaine cryptographique, nous utilisons les courbes elliptiques qui sont définies
dans un corps fini dont l’ordre q = p
n
. Ce corps peut être soit premier, soit binaire, et le3.2. PRÉSENTATION DE LA COURBE ELLIPTIQUE 27
y
2 = x
3 − x y2 = x
3 − x + 2
FIGURE 3.1 – Exemples de courbe elliptique
choix de corps n’a pas une influence importante sur la performance du cryptosystème.
Dans la littérature, il existe différents algorithmes et techniques qui nous permettent d’optimiser
les performances de calcul sur les courbes qui sont définies sur les 2 types de
corps [87]. Cependant pour une raison de simplicité d’implémentation et de présentation,
durant les travaux de recherche de cette thèse, nous n’avons utilisé que des courbes qui
sont définies sur un corps premier.
L’équation Weierstrass d’une courbe elliptique peut être simplifiée, si la courbe est définie
sur un corps premier Fp dont la caractéristique est différente de 2 et de 3. Nous pouvons
transformer la formule 3.1 à l’équation de Weierstrass simplifiée (formule 3.3).
y
2 = x
3 + ax + b (3.3)
où a, b ∈ Fp. Le discriminant de la courbe ∆ = −16(4a
3 + 27b
2
), et ∆ , 0. C’est aussi la
forme de courbe que nous utilisons dans la suite de cette thèse.
3.2.2/ LOI DE COMPOSITION SUR LES COURBES ELLIPTIQUES
Nous supposons qu’une courbe elliptique E est définie dans un corps premier Fp, l’ensemble
de points sur la courbe avec le point à l’infini, noté ∞, forment un groupe abélien
G dont la loi de composition est l’addition de point satisfaisant les conditions suivantes :
– Fermeture : ∀(P1, P2) ∈ G | P1 + P2 ∈ G.
– Commutativité : ∀(P1, P2) ∈ G | P1 + P2 = P2 + P1.
– Associativité : ∀(P1, P2, P3) ∈ G | (P1 + P2) + P3 = P1 + (P2 + P3).
– Élément neutre ∞ : ∀P ∈ G | P + ∞ = ∞ + P = ∞.
– Élément symétrique : ∀P ∈ G, ∃Q ∈ G | P + Q = Q + P = ∞.
Pour obtenir le point symétrique de P, il suffit de changer le signe de sa coordonnée y, si
P = (x, y), alors −P = (x, −y) et P + (−P) = ∞.28 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
Le calcul de l’addition de point est montré dans les formules 3.4 et 3.5. Supposons que
P = (x1, y1) ∈ E, Q = (x2, y2) ∈ E et P , ±Q, alors P + Q = (x3, y3) où
x3 = (
y2 − y1
x2 − x1
)
2 − x1 − x2 et y3 = (
y2 − y1
x2 − x1
)(x1 − x3) − y1 (3.4)
Si P = (x1, y1) ∈ E et P , −P, alors 2P = (x3, y3) où
x3 = (
3x
2
1
+ a
2y1
)
2 − 2x1 et y3 = (
3x
2
1
+ a
2y1
)(x1 − x3) − y1 (3.5)
Une représentation géométrique est donnée dans la figure 3.2. Pour additionner les
points P et Q, nous traçons une droite qui passe par ces 2 points, le résultat de l’addition
est le point symétrique par rapport à l’axe abscisse du 3e point d’intersection avec
la courbe. Pour doubler le point P, c’est-à-dire 2P, il suffit de trouver la tangente à la
courbe au point P, et le résultat du doublement est le point symétrique par rapport à l’axe
abscisse du 2e point d’intersection avec la courbe.
Addition : P + Q = R Doublement : P + P = R
FIGURE 3.2 – Addition de points sur les courbes elliptiques
3.2.3/ MULTIPLICATION DE POINT
En se basant sur l’addition de point, nous pouvons encore effectuer la multiplication de
point, notée Q = kP sur une courbe elliptique E où k ∈ Z
+ et (P, Q) ∈ E. Cette opération est
appelée aussi la multiplication scalaire, qui est considérée comme l’opération la plus coû-
teuse et importante sur les courbes elliptiques. Nous allons voir dans la section 3.4 que
c’est une opération cruciale dans les protocoles cryptographiques basés sur les courbes
elliptiques.
Une multiplication de point peut être considérée comme une suite d’additions de point
consécutives :
Q = kP = P + P + · · · + P | {z }
k fois P
(3.6)3.2. PRÉSENTATION DE LA COURBE ELLIPTIQUE 29
Nous pouvons voir dans les formules 3.4 et 3.5 que le calcul de l’addition de point est
compliqué, notamment quand la courbe est définie dans un corps premier, le temps de
calcul de l’inverse modulaire (voir section 3.2.4) n’est pas négligeable non plus. Il est
donc inefficace de répéter successivement l’addition de point.
La méthode de base pour accélérer la multiplication scalaire est d’utiliser l’algorithme
doublement-et-addition (voir algorithme 1). Supposons que P est un point sur une courbe
elliptique qui est définie sur un corps premier, notée E(Fp), pour calculer kP où k est un
nombre entier positif de longueur l bits, nous représentons k en binaire k =
Pl−1
i=0
ki2
i
, et
ensuite nous parcourons k du bit de poids faible au bit de poids fort.
Algorithme 1 : Algorithme doublement-et-addition pour calculer Q = kP
Données : k =
Pl−1
i=0
ki2
i et P ∈ E(Fp)
Résultat : Q = kP
1 Q ← ∞;
2 pour i de 0 à l − 1 faire
3 si ki = 1 alors
4 Q ← Q + P
5 fin
6 P ← 2P
7 fin
8 retourner Q
3.2.4/ ALGORITHME D’EUCLIDE ÉTENDU
Nous travaillons avec des courbes qui sont définies dans un corps premier Fp, les calculs
modulaires sont donc indispensables pour limiter les coordonnées des points dans
l’intervalle [0, p − 1]. Les formules de l’addition de point peuvent être transformées sous
forme de congruence. Nous avons maintenant
x3 ≡ (
y2 − y1
x2 − x1
)
2 − x1 − x2 (mod p) y3 ≡ (
y2 − y1
x2 − x1
)(x1 − x3) − y1 (mod p) (3.7)
pour l’addition et
x3 ≡ (
3x
2
1
+ a
2y1
)
2 − 2x1 (mod p) y3 ≡ (
3x
2
1
+ a
2y1
)(x1 − x3) − y1 (mod p) (3.8)
pour le doublement.
Nous constatons que dans les formules 3.7 et 3.8 nous avons besoin d’effectuer des calculs
de l’inverse modulaire m ≡ x
−1
(mod p) dans un corps premier, noté Z/pZ. L’inverse
modulaire existe si et seulement si le Plus Grand Commun Diviseur PGCD(x, p) = 1. Nous
pouvons aussi représenter cette condition en utilisant le théorème de Bézout
ux + vp = PGCD(x, p) = 1 (3.9)
où u est l’inverse multiplicatif de x modulo p, et u, v sont les coefficients de Bézout.30 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
Afin de calculer l’inverse modulaire, nous pouvons utiliser l’algorithme d’Euclide étendu
(voir l’algorithme 2) qui est en effet une variante de l’algorithme d’Euclide, et qui permet
non seulement de calculer le PGCD de x et p, mais aussi de déterminer les coefficients de
Bézout u et v. Un exemple est donné dans l’annexe .4 pour vous montrer le déroulement
de l’algorithme.
Le calcul de l’inverse modulaire est l’opération la plus coûteuse durant des multiplications
scalaires. Dans un véritable cryptosystème d’ECC, la longueur des nombres entiers manipulés
peut atteindre facilement quelques centaines de bits, et nous pouvons constater
dans l’algorithme 1 que durant une multiplication scalaire, nous avons besoin de calculer
au moins 2 inverses modulaires par itération. Nous allons voir dans la section 3.3 des
solutions qui nous permettent d’éviter de répéter le calcul de l’inverse modulaire pendant
les multiplications scalaires.
Algorithme 2 : Algorithme d’Euclide étendu
Données : (x, p) ∈ Z
Résultat : x
−1
(mod p)
1 (r1,r2, u1, u2, q,rs, us) ∈ Z;
2 r1 ← x;
3 r2 ← p;
4 u1 ← 1;
5 u2 ← 0;
6 tant que r2 , 0 faire
7 q ← r1
r2
;
8 rs ← r1;
9 us ← u1;
10 r1 ← r2;
11 u1 ← u2;
12 r2 ← rs − q × r1;
13 u2 ← us − q × u1;
14 fin
15 si r1 , 1 alors
16 retourner Erreur;
17 sinon
18 retourner u1;
19 fin
3.2.5/ PROBLÈME DU LOGARITHME DISCRET SUR LES COURBES ELLIPTIQUES
Nous avons vu les différentes opérations que nous pouvons effectuer sur les courbes
elliptiques, notamment la multiplication scalaire qui est utilisée fréquemment pendant les
calculs cryptographiques. Dans cette section, nous expliquons la raison pour laquelle la
multiplication scalaire est la clé pour assurer la sécurité d’un cryptosystème d’ECC.
Le niveau de sécurité d’ECC dépend fortement de la difficulté pour résoudre le problème
de logarithme discret sur les courbes elliptiques. Nous supposons que g est le générateur
d’un groupe cyclique G de l’ordre n, si la loi de composition du groupe est multiplicative,
tout élément e peut être écrit sous forme e = g
k où k ∈ Z. En outre deux entiers3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 31
quelconques e et k satisfaisant cette équation sont nécessairement congrus modulo n,
c’est-à-dire e ≡ k (mod n). Le problème du logarithme discret est en effet une application
réciproque de g
k
(voir la formule 3.10), qui a pour objectif de trouver le plus petit nombre
entier naturel k vérifiant cette propriété.
logg
: G → Zn (3.10)
Nous choisissons, sur une courbe elliptique définie dans un corps premier fini E(Fp), un
point P de l’ordre n comme le générateur du groupe cyclique hPi, un autre point Q ∈ hPi.
Le problème du logarithme discret sur les courbes elliptiques (ECDLP en Anglais) est de
trouver l ∈ [0, n − 1] satisfaisant Q = kP.
La solution la plus naïve pour résoudre ce problème est de calculer exhaustivement
1P, 2P, 3P . . . jusqu’à ce que nous trouvions Q, mais le calcul peut devenir extrêmement
long si la valeur de k est suffisamment grande (voir tableau 3.1). Il est donc énormément
difficile de retrouver la valeur de k à partir de Q et P. Il n’y a pas de preuve mathématique
qui peut démontrer que le ECDLP est insoluble, mais la résolution d’un tel problème est
toujours considéré comme infaisable en prenant compte de l’état actuel des technologies
informatiques [34].
Paramètre de courbe Valeur recommandée
a = −3
b = 0x 64210519 E59C80E7 0FA7E9AB 72243049 FEB8DEEC C146B9B1
p = 2
192 − 2
64 − 1
xG = 0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012
yG = 0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811
n = 0x FFFFFFFF FFFFFFFF FFFFFFFF 99DEF836 146BC9B1 B4D22831
TABLE 3.1 – Courbe E(Fp) : y
2 = x
3 + ax + b avec un générateur G(xG, yG) de l’ordre n
3.3/ OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION
SCALAIRE
Un des avantages d’ECC est la rapidité de calcul car nous utilisons des clés plus courtes.
ECC est souvent un choix adapté pour les matériels qui ne disposent que d’une mémoire
et d’une puissance de calcul limitées (carte à puce, micro-contrôleur etc.). Comme nous
avons vu dans les sections précédentes que l’opération la plus complexe sur les courbes
elliptiques est la multiplication scalaire, elle est aussi fréquemment utilisée dans les protocoles
cryptographiques (voir section 3.4). La performance de la multiplication scalaire
a une forte influence sur la performance de l’ensemble de cryptosystème.
Dans cette section nous allons voir de différentes techniques mathématiques et algorithmiques
qui nous permettent d’accélérer le calcul de multiplication scalaire.
3.3.1/ MÉTHODE NAF
Comme nous avons déjà précisé, dans cette thèse, nous travaillons avec des courbes elliptiques
E(Fp) qui sont définies dans un corps premier fini dont le caractère est supérieur32 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
à 3. Si P = (x, y) est un point sur E(Fp), alors −P = (x, −y). Ainsi, la soustraction de point
est autant efficace que l’addition.
Nous pouvons voir dans l’algorithme 1 que le temps de calcul dépend principalement du
nombre de bits non-nuls dans k. Si nous pouvons réduire le nombre de bits non-nuls,
nous pourrons accélérer le calcul.
La première méthode est d’utiliser la forme non adjacente (NAF) qui consiste à représenter
un nombre entier positif k de longueur l avec des chiffres binaires signés. C’est-à-dire
k =
Pl
i=0
ki2
i où ki ∈ {0, ±1} et kl−1 , 0. En outre, nous ne pouvons pas trouver deux ki
non-nuls consécutifs.
La représentation NAF d’un nombre k dispose des propriétés suivantes :
– k a une représentation unique de NAF, notée NAF(k).
– NAF(k) a moins de bits non-nuls par rapport à toute autre représentation utilisant des
chiffres binaires signés.
– La longueur maximale de NAF(k) est l + 1 bits.
– Si la longueur de NAF(k) = l, alors 2
l
3
< k <
2
l+1
3
.
– Par rapport à la représentation binaire de k, le nombre de bits non-nuls est réduit de l
2
à
l
3
.
NAF(k) peut être calculé efficacement avec l’algorithme 3.
Algorithme 3 : Calcul de la forme NAF d’un nombre entier positif
Données : k =
Pl−1
i=0
ki2
i et k ∈ Z
+
Résultat : NAF(k)
1 i ← 0;
2 tant que k ≥ 1 faire
3 si k est impair alors
4 ki ← 2 − (k mod 4);
5 k ← k − ki
;
6 sinon
7 ki ← 0;
8 fin
9 k ← k
2
;
10 i ← i + 1;
11 fin
12 retourner (ki−1, ki−2, . . . , k1, k0)
L’algorithme 1 doit aussi être modifié (voir algorithme 4) pour pouvoir prendre en charge
des nombres entiers représentés en forme NAF.
3.3.2/ MÉTHODE DE LA FENÊTRE
Si nous disposons de mémoire suffisante, nous pouvons encore optimiser la performance
de l’algorithme 4 en utilisant la méthode de la fenêtre.
Une représentation NAF de taille w d’un nombre entier positif k, notée NAFw(k), est une
expression k =
Pl−1
i=0
ki2
i où chaque chiffre ki non-nul est impair, |ki
| < 2
w−1 et kl−1 , 0. Il y
a au plus un chiffre sur w chiffres est non-nul.3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 33
Algorithme 4 : Méthode NAF pour le calcul de multiplication scalaire
Données : NAF(k) où k ∈ Z
+
, et P ∈ E(Fp)
Résultat : k.P
1 Q ← ∞;
2 pour i de l − 1 à 0 faire
3 Q ← 2.Q;
4 si ki = 1 alors
5 Q ← Q + P;
6 fin
7 si ki = −1 alors
8 Q ← Q − P;
9 fin
10 fin
11 retourner Q
La forme NAFw(k) doit satisfaire des conditions suivantes :
– Un nombre entier k a une représentation unique de NAFw(k).
– NAF2(k) = NAF(k).
– La longueur maximale de NAFw(k) est l + 1.
– Le nombre moyen de bits non-nuls est l
w+1
.
Le calcul de la forme NAFw(k) est montré dans l’algorithme 5.
Algorithme 5 : Calcul de la forme NAFw(k) d’un nombre entier positif
Données : k,w
Résultat : NAFw(k)
1 i ← 0;
2 tant que k ≥ 1 faire
3 si k est impair alors
4 ki ← k mod 2w;
5 k ← k − ki
;
6 sinon
7 ki ← 0;
8 fin
9 k ← k
2
;
10 i ← i + 1;
11 fin
12 retourner (ki−1, ki−2, . . . , k1, k0)
Le calcul de multiplication scalaire en utilisant la méthode de la fenêtre est donné dans
l’algorithme 6.
Nous pouvons constater qu’avant de lancer la boucle pour parcourir les ki
, il faut d’abord
calculer et stocker en mémoire Pi = i.P où i ∈ {1, 3, 5, . . . 2
w−1 − 1}. Donc cette méthode
est applicable si et seulement si le système possède assez de mémoire pour stocker
temporairement l’ensemble de Pi précalculés.34 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
Algorithme 6 : Méthode NAFw(k) pour le calcul de multiplication scalaire
Données : NAFw(k), P ∈ E(Fp)
Résultat : k.P
1 Calculer Pi = i.P où i ∈ {1, 3, 5, . . . 2
w−1 − 1};
2 Q ← ∞;
3 pour i de l − 1 à 0 faire
4 Q ← 2Q;
5 si ki , 0 alors
6 si ki > 0 alors
7 Q ← Q + Pki
;
8 sinon
9 Q ← Q − P−ki
;
10 fin
11 fin
12 fin
13 retourner Q
3.3.3/ SYSTÈME DE COORDONNÉES PROJECTIVES
Le calcul dont nous avons besoin pour additionner 2 points en coordonnées affines est
détaillé dans les formules 3.4 et 3.5. Nous pouvons remarquer que dans les 2 formules,
nous avons besoin d’effectuer des calculs de l’inverse modulaire, qui demande beaucoup
plus de calculs supplémentaires (voir algorithme 2). Afin d’éviter la répétition du calcul de
l’inverse modulaire, il est plus avantageux d’utiliser des coordonnées projectives.
Avec le système de coordonnées projectives, un point est représenté par 3 coordonnées
(X, Y, Z) qui correspondent à un point affine (
X
Z
c
,
Y
Z
d
), et il est équivalent à un point projectif
(
X
Z
c
,
Y
Z
d
, 1).
Dans un système de coordonnées projectives standards, c = 1 et d = 1, mais nous
travaillons souvent avec un cas particulier, le système de coordonnées jacobiennes dans
lequel c = 2 et d = 3, et l’équation Weierstrass simplifiée (voir formule 3.3) d’une courbe
elliptique peut être transformée en
Y
2 = X
3 + aXZ4 + bZ6
(3.11)
Le point à l’infini est (1, 1, 0), et la négation d’un point (X, Y, Z) est (X, −Y, Z).
3.3.3.1/ DOUBLEMENT DE POINT
Nous supposons que P = (X1, Y1, Z1) ∈ E et P , −P. Il nous suffit de réutiliser la formule
3.5 pour calculer 2P = (X
′
3
, Y
′
3
, 1), car le point P = (X1, Y1, Z1) est équivalent à (
X1
Z
2
1
,
Y1
Z
3
1
)
en coordonnée affine. Nous substituons donc, dans la formule 3.5, la variable x par X1
Z
2
1
et
y par Y1
Z
3
1
, et nous obtenons :3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 35
X
′
3 = (
3
X
2
1
Z
4
1
+ a
2
Y1
Z
3
1
) − 2
X1
Z
2
1
=
(3X
2
1
+ aZ4
1
)
2 − 8X1Y
2
1
4Y
2
1
Z
2
1
(3.12)
et
Y
′
3 = (
3
X
2
1
Z
4
1
+ a
2
Y1
Z
3
1
)(
X1
Z
2
1
− X
′
3
) −
Y1
Z
3
1
=
3X
2
1
+ aZ4
1
2Y1Z1
(
X1
Z
2
1
− X
′
3
) −
Y1
Z
3
1
(3.13)
Enfin pour éliminer les dénominateurs, nous calculons le point (X3, Y3, Z3) dont X3 = X
′
3
.Z
2
3
,
Y3 = Y
′
3
.Z
3
3
et Z3 = 2Y1Z1. Le point (X3, Y3, Z3) est équivalent à (X
′
3
, Y
′
3
, 1), car dans un
système de coordonnées projectives, (X1, Y1, Z1) est équivalent à (X2, Y2, Z2), si X1 = λ
cX2,
X1 = λ
dY2 et Z1 = λZ2. Les nouvelles coordonnées sont données dans la formule 3.14 :
X3 = (3X
2
1
+ aZ4
1
)
2 − 8X1Y
2
1
Y3 = (3X
2
1
+ aZ4
1
)(4X1Y
2
1
− X3) − 8Y
4
1
Z3 = 2Y1Z1
(3.14)
Nous pouvons remarquer que si le paramètre de la courbe a = −3, (3X
2
1
− 3Z
4
1
) peut être
factorisée sous la forme suivante :
3X
2
1 − 3Z
4
1 = 3(X1 − Z
2
1
)(X1 + Z
2
1
) (3.15)
qui peut être calculée beaucoup plus efficacement. C’est aussi la raison pour laquelle
dans les configurations recommandées de courbes elliptiques, on choisit toujours la valeur
−3 pour le paramètre a.
3.3.3.2/ ADDITION DE POINT
Nous avons deux points P = (X1, Y1, Z1) ∈ E où Z1 , 0, et Q = (X2, Y2, 1). Afin de simplifier
l’implémentation de l’algorithme, la coordonnée Z du point Q est toujours égale à
1. Nous supposons que P , ±Q, et nous appliquons la même technique pour le doublement.
Comme le point P est équivalent à (
X1
Z
2
1
,
Y1
Z
3
1
) en coordonnée affine, il nous suffit de
substituer, dans la formule 3.4, la variable x1 par X1
Z
2
1
et y1 par Y1
Z
3
1
, et nous obtenons donc
les nouvelles formules de calcul (voir les formules 3.16 et 3.17).
X
′
3 = (
Y2 −
Y1
Z
3
1
X2 −
X1
Z
2
1
)
2 −
X1
Z
2
1
− X2 = (
Y2Z
3
1
− Y1
(X2Z
2
1
− X1)Z1
)
2 −
X1
Z
2
1
− X2 (3.16)
et
Y
′
3 = (
Y2 −
Y1
Z
3
1
X2 −
X1
Z
2
1
)(
X1
Z
2
1
− X
′
3
) −
Y1
Z
3
1
= (
Y2Z
3
1
− Y1
(X2Z
2
1
− X1)Z1
)(
X1
Z
2
1
− X
′
3
) −
Y1
Z
3
1
(3.17)36 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
Comme dans le calcul de l’addition, pour éliminer les dénominateurs, nous devons calculer
le point équivalent du (X
′
3
, Y
′
3
, 1). C’est-à-dire (X3, Y3, Z3) où X3 = X
′
3
.Z
2
3
, Y3 = Y
′
3
.Z
3
3
et
Z3 = (X2Z
2
1
− X1)Z1, nous obtenons ensuite les formules des nouvelles coordonnées :
X3 = (Y2Z
3
1
− Y1)
2 − (X2Z
2
1
− X1)
2
(X1 + X2Z
2
1
)
Y3 = (Y2Z
3
1
− Y1)(X1(X2Z
2
1
− X1)
2 − X3) − Y1(X2Z
2
1
− X1)
3
Z3 = (X2Z
2
1
− X1)Z1
(3.18)
Dans le tableau 3.2, nous avons une liste de nombres d’opérations nécessaires pour calculer
une addition et un doublement sur les courbes elliptiques. Nous pouvons voir que
le système de coordonnées jacobiennes offre une meilleure performance pour le doublement
de point, et une addition utilisant des systèmes de coordonnées mixtes (Jacobienne
+ Affine) demande moins d’opérations.
Nous considérons que le calcul de l’inversion modulaire est une opération beaucoup
plus coûteuse que les autres. Cependant, si nous utilisons les systèmes de coordonnées
projectives, nous pourrons éviter de répéter le calcul de l’inverse modulaire durant la multiplication
scalaire. Il nous suffit de l’appliquer une seule fois à la fin de de la multiplication
pour convertir le résultat final en coordonnées affines.
Doublement Addition Addition mixte
2A → A 1I, 2M, 2S A + A → A 1I, 2M, 1S J + A → J 8M, 3S
2P → P 7M, 3S P + P → P 12M, 2S
2J → J 4M, 4S J + J → J 12M, 4S
TABLE 3.2 – Nombre d’opérations pour calculer une addition et un doublement sur y
2 =
x
3 − 3x + b. A : Affine, P : Projective standard, J : Jacobienne, I : Inversion modulaire, M :
Multiplication, S : Carré
3.3.4/ RÉDUCTION DE SCALAIRE
Selon l’algorithme 1, lorsque l’on effectue la multiplication scalaire kP, on doit parcourir
les bits du scalaire k. Le nombre d’itération dépend du nombre de digits dans la repré-
sentation binaire du scalaire. Autrement dit, si on peut trouver un scalaire équivalent plus
petit, il sera possible d’accélérer le calcul de multiplication scalaire en substituant la valeur
du scalaire par la nouvelle.
Dans [26], Faye et al. ont proposé une méthode qui permet de remplacer la multiplication
kP par une représentation équivalente dP, où P est le point de générateur dont ord(P) = n,
k > d et k, d ∈ [⌊n/2⌋ + 1, n − 1]. On peut obtenir la valeur de d en suivant les règles cidessous
:
∀k > n, ∃d = (k − ⌊k/2⌋n), kP = dP
∀k ∈]⌊n/2⌋, n − 1], ∃d = k − n, kP = dP
∀k ∈]0,⌊n/2⌋], ∃d = k, kP = dP
∀k ∈ {−n, 0, n}, kP = ∞
∀k ∈ [−(n − 1), −⌊n/2⌋[, ∃d = (n + k), kP = dP
∀k ∈ [−⌊n/2⌋, 0[, ∃d = k, kP = dP
∀k < −n, ∃d = k + n⌊|k|/2⌋, kP = dP
(3.19)3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 37
En cryptographie, la valeur de k est souvent choisie dans l’intevalle ]0, n − 1], donc la
formule 3.19 peut être simplifiée de la manière suivante :
(
∀k ∈]⌊n/2⌋, n − 1], ∃d = k − n, kP = dP
∀k ∈]0,⌊n/2⌋], ∃d = k, kP = dP (3.20)
Prenons un exemple, E : y
2 = x
3 + x + 1 est une courbe elliptique définie dans un corps
premier fini dont le caractéristique p = 23, notée E(F23). P(0, 1) est le point générateur,
et les représentations équivalentes des multiplications scalaires sont illustrées dans la
figure 3.3.
FIGURE 3.3 – Exemples des multiplications scalaires équivalentes
Nous pouvons constater que −34P, −6P, 22P et 50P sont équivalentes, si nous voulons
calculer le point 50P, il suffira de calculer 6P et changer le signe de sa coordonnée en
ordonnée. Les tests de performance ont montré que cette technique peut réduire le temps
de calcul, notamment quand la valeur de k est proche de la borne n − 1.
3.3.5/ MULTIPLICATION SCALAIRE PARALLÈLE
Une autre technique qui nous permet d’accélérer le calcul des multiplications scalaires
est le calcul parallèle. Le principe est découper le calcul en plusieurs sous tâches indé-
pendantes qui peut être effectuée séparément par des processeurs différents. Le calcul
parallèle des multiplications scalaires est un sujet de recherche très actif dans le domaine
de cryptographie, différentes solutions ont été proposées, mais beaucoup entre
elles sont conçues pour des implémentations matérielles basées sur les architectures
multi-processeurs ou FPGA [80, 77].
Il existe principalement 2 types d’implémentation logicielle, le premier est basé sur la
décomposition de scalaire. Nous voulons calculer Q = kP, et nous décomposons d’abord38 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
le scalaire k en plusieurs parties, chacune représente une sous tâche de calcul. Elles
sont ensuite distribués aux processeurs différents, qui les traitent simultanément.
Dans [8], Brickell et al. ont proposé une méthode d’exponentiation rapide basée sur le
tableau précalculé. Par exemple, nous voulons calculer g
n où g est un élément de Z/pZ
et n est un nombre entier positif de longueur l. Nous pouvons représenter l’exposant n en
base h de la manière suivante :
n =
X
l−1
i=0
aixi où 0 ≤ ai ≤ h − 1 et 0 ≤ i < l (3.21)
Nous calculons et stockons g
x0
, g
x1
, . . . , g
xi−1 dans un tableau, ainsi g
n peut être calculé en
utilisant
g
n =
Y
h−1
d=1
c
d
d
cd =
Y
i:ai=d
g
xi
(3.22)
Le calcul de g
n est constitué de trois étapes principales :
1. Déterminer la représentation de n =
Pl−1
i=0
aixi en base h.
2. Calculer cd =
Q
i:ai=d g
xi
.
3. Calculer g
n =
Qh−1
d=1
c
d
d
.
Cette méthode peut être appliquée aux multiplications scalaires sur les courbes elliptiques
en calculant des points 2
1P, 2
2P, . . . , 2
l−1P.
Les étapes 2 et 3 peuvent être parallélisée. Par exemple, si nous possédons h − 1 processeurs,
alors nous pouvons paralléliser la 2e étape, et chaque processeur calcule sa
propre valeur de cd. Idem pour l’étape 3, si nous avons d processeurs disponibles, chacun
peut calculer c
d
d
pour une valeur de d particulière.
Lim and Lee ont proposé dans [60] une autre méthode d’exponentiation rapide. Afin de
calculer g
R
, où R est un nombre entier positif de longueur n, on divise R en h parties Ri
de longueur ⌊n/h⌋. Ensuite chaque Ri est encore divisé en v segments Ri, j de longueur
⌊b = a/v⌋ (voir la formule 3.23).
R = Rh−1Rh−2 . . . R1R0 =
Ph−1
i=0
Ri2
ia
où Ri = Ri,v−1Ri,v−2 . . . Ri,1Ri,0 =
Pv−1
j=0
Ri, j2
jb (3.23)
Nous supposons que g0 = g, ainsi gi = g
2
a
i−1
= g
2
ia où 0 < i < h. En utilisant la formule 3.23,
g
R peut être réécrite de la manière suivante
g
R =
Y
h−1
i=0
g
Ri
i
=
Yv−1
j=0
Y
h−1
i=0
(g
2
jb
i
)
Ri, j
(3.24)
Si la représentation binaire de Ri est Ri = ei,a−1ei,a−2 . . . ei,0 et celle de Ri, j est Ri, j =
ei, jb+b−1ei, jb+b−2 . . . ei, jb+1ei, jb, alors la formule 3.24 peut être transformée à la forme suivante3.3.
OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 39
g
R =
Y
b−1
k=0
(
Yv−1
j=0
Y
h−1
i=0
g
2
jbei, jb+k
i
)
2
k
(3.25)
Si nous calculons et stockons les valeurs suivantes pour tout i ∈ [1, 2
h
[ et j ∈ [0, v[,
G[0][i] = g
eh−1
h−1
g
eh−2
h−2
. . . g
e0
0
G[j][i] = (G[j − 1][i])2
b
= (G[0][i])2
jb (3.26)
la formule 3.25 peut encore être réécrite comme ci-dessous :
g
R =
Y
b−1
k=0
(
Yv−1
j=0
G[j][Ij,k])2
k
(3.27)
où Ij,k = eh−1,b j+keh−2,b j+k . . . e1,b j+ke0,b j+k et j ∈ [0, b[. Ainsi, le calcul de g
R peut être parallélisé
un utilisant les valeurs précalculées.
Une autre méthode basée sur des valeurs précalculés est proposée dans [71]. Nous
supposons que nous voulons calculer Q = kP où Q et P sont 2 points représentés en
coordonnées jacobiennes sur une courbe elliptique, et k est un nombre entier positif de
longueur 160.
Nous préparons un tableau contenant 62 points précalculés (voir la formule 3.28).
A[s] =
P4
j=0
as, j2
32 jG
B[s] =
P4
j=0
as, j2
16+32 jG
(3.28)
où 1 ≤ s ≤ 31 et as,0, . . . , as,4 est la représentation binaire de s =
P4
j=0
as, j2
j
. Le calcul
parallèle de kP en utilisant des points précalculés est montré dans l’algorithme 7.
Algorithme 7 : Multiplication scalaire parallèle basée sur des points précalculés
Données : k =
Pl−1
i=0
ki2
i
, P
Résultat : kP
1 pour 0 ≤ j ≤ 15 faire
2 uj =
P4
i=0
k32i+j2
i
;
3 vj =
P4
i=0
k32i+16+j2
i
;
4 fin
5 A[0] = ∞;
6 B[0] = ∞;
7 T = ∞;
8 pour i de 15 à 0 faire
9 T ← 2T;
10 T ← T + A[ui] + B[vi];
11 fin
12 return T;
Comme cette méthode est basée sur des points précalculés aussi, une fois les points
prêts, le calcul qui se situe à l’intérieur de la boucle peut être effectué par des processeurs
différents.40 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
Le deuxième type d’implémentation logicielle de multiplication scalaire parallèle est basé
sur la décomposition d’opération. C’est-à-dire que chaque processeur s’occupe d’un type
d’opération spécifique. Cependant, ce genre d’implémentation nécessite souvent une
mémoire partagée entre les processeurs.
Dans [4], une architecture de double-processeur est proposée (voir la figure 3.4) pour
paralléliser le calcul des multiplications scalaires Q = kP, où Q et P sont 2 points sur une
courbe elliptique, et k est un nombre entier positif de longueur n, qui peut être représenté
en binaire k =
Pn−1
i=0
ki2
i
.
FIGURE 3.4 – Architecture double-processeur pour l’algorithme de calcul parallèle proposé
Le calcul est basé sur l’algorithme 1. Les 2 processeurs partagent une mémoire et un
compteur, le premier processeur, noté ECDBL, charge le point P et lit les ki
. Après la
lecture de chaque bit, le processeur met à jour le compteur et effectue un double de point
2P. S’il s’agit d’un bit non nul, il stocke le point 2
iP dans la mémoire (voir l’algorithme 8).
Algorithme 8 : Partie ECADD de la multiplication scalaire parallèle
Données : P, k =
Pn−1
i=0
ki2
i
Résultat : 2
iP, stocké dans la mémoire
1 i ← 0;
2 Q ← P;
3 tant que i < n faire
4 si ki = 1 alors
5 si Mémoire est pleine alors
6 Attendre;
7 sinon
8 Stocker Q dans la mémoire;
9 fin
10 fin
11 Q ← 2Q;
12 i ← i + 1;
13 Compteur ← i;
14 fin
Le deuxième processeur, noté ECADD, récupère le point 2
iP depuis la mémoire et effectue
l’addition Q = Q + 2
iP. Le calcul est terminé quand tous les bits ki sont scannés et il3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 41
n’y a plus de points en mémoire partagée (voir l’algorithme 9).
Algorithme 9 : Partie ECDBL de la multiplication scalaire parallèle
Données : 2
iP, lu depuis la mémoire
Résultat : Q = kP
1 Q ← ∞;
2 i ← Compteur;
3 tant que i < n faire
4 si Mémoire n’est pas pleine alors
5 Lire 2
iP depuis la mémoire;
6 Q ← Q + 2
iP;
7 Effacer 2
iP dans la mémoire;
8 fin
9 i ← Compteur;
10 fin
11 retourner Q
3.4/ PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC
Grâce au problème de logarithme discret, plusieurs protocoles cryptographiques ont été
proposés. Dans cette section, nous présentons les protocoles principaux (échange de
clés, chiffrement et signature numérique) qui existent dans la littérature [55].
3.4.1/ ELGAMAL
Dans [24], ElGamal propose un protocole de chiffrement et de signature numérique basé
sur le protocole d’échange de clé Diffie-Hellman [22]. Dans le protocole Diffie-Hellman,
A et B veulent partager un secret entre eux, et chacun détient une clé privée appelé
respectivement xA et xB, p est un grand nombre premier, et α est la racine primitive
modulo p (le générateur). A calcule yA ≡ α
xA
(mod p) et l’envoie à B, et dans l’autre sens,
B calcule yB ≡ α
xB
(mod p) et l’envoie à A (voir figure 3.5). Le secret partagé KAB est donc
KAB ≡ α
xAxB
(mod p)
≡ y
xB
A
(mod p)
≡ y
xA
B
(mod p)
(3.29)
Grâce à la difficulté pour résoudre le problème du logarithme discret, A et B peuvent
s’envoyer yA et yB sans risque, car il est extrêmement difficile de calculer les valeurs xA et
xB. Une fois le secret partagé établi entre A et B, ils peuvent sécuriser la communication
entre eux avec un algorithme de cryptographie symétrique qui est moins lourd à gérer.
3.4.1.1/ CHIFFREMENT ET DÉCHIFFREMENT
Un algorithme de chiffrement et déchiffrement à clé public est aussi proposé dans [24].
Si A veut envoyer un message m à B où m ∈ [0, p − 1]. A choisit d’abord un nombre entier42 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
A B
yA ≡ α
xA
(mod p)
yB ≡ α
xB
(mod p)
KAB ≡ α
xAxB
(mod p)
FIGURE 3.5 – Échange de clés Diffie-Hellman
k ∈ [0, p − 1] et on calcule
K ≡ y
k
B
(mod p) (3.30)
où yB ≡ α
xB
(mod p) est en effet la clé publique de B. Pour chiffrer le message, A calcule
c1 ≡ α
k
(mod p) c2 ≡ Km (mod p) (3.31)
et envoie c1 et c2 à B. Pour déchiffrer le message, B calcule dans un premier temps la
valeur de K ≡ (α
k
)
xB ≡ c
xB
1
(mod p), car xB est la clé privée de B, ensuite B divise c2 par
K pour récupérer le message m. Le déroulement du protocole est illustré graphiquement
dans la figure 3.6.
A B
c1 ≡ α
k
(mod p)
c2 ≡ K · m (mod p)
m ≡ c2/c
xB
1
(mod p)
yB ≡ α
xB
(mod p)
(c1, c2)
FIGURE 3.6 – Protocole de chiffrement d’Elgamal
Cet algorithme peut aussi être appliquer sur les courbes elliptiques. Supposons que G
soit le point générateur sur une courbe définie dans un corps premier fini, notée E(Fp). A
et B disposent chacun d’une clé privée, xA et xB avec lesquelles ils peuvent calculer leurs
clés publiques PA et PB.
PA = xA.G et PB = xB.G (3.32)
Lorsque A veut envoyer un message m à B, il convertit d’abord m en un point, noté M, sur
la courbe E(Fp, et prendre un nombre entier aléatoire k ∈ [0, p − 1], ensuite il commence
à chiffrer le message en calculant3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 43
M1 = k.G M2 = M + k.PB (3.33)
Enfin le couple (M1, M2) est envoyé à B qui peut déchiffrer le message de la manière
suivante.
M = M2 − xB.M1 = M + k.PB − xB.k.G = M + (k.PB − k.PB) (3.34)
3.4.1.2/ SIGNATURE NUMÉRIQUE
L’objectif de la signature numérique est de garantir l’intégrité d’un document et d’authenti-
fier l’auteur. En vérifiant la signature, le récepteur du document peut identifier le signataire
du document et détecter si le document a été modifié pendant la transmission.
Pour signer un document, le signataire doit trouver une solution qui lui permette de signer
le document un utilisant sa clé privée, et les autres personnes peuvent vérifier la signature
avec la clé publique du signataire.
Dans la proposition de ElGamal, la signature d’un document m ∈ [0, p − 1] est un couple
(r, s) tel que
α
m ≡ y
r
r
s
(mod p) (3.35)
où y ≡ α
x
(mod p) est la clé publique du signataire, et x est sa clé privée.
Avant de lancer la procédure de signature, le signataire trouve un nombre entier k ∈
[0, p − 1] tel que PGCD(k, p − 1) = 1. Ensuite il calcule
r ≡ α
k
(mod p) (3.36)
et la formule 3.35 peut être transformée à
α
m ≡ α
xrα
ks (mod p) (3.37)
à partir de laquelle nous pouvons calculer s en utilisant l’équation
m ≡ xr + ks (mod p − 1) (3.38)
Une fois que le document est arrivé chez destinataire, il suffit que le récepteur calcule les
deux côtés de l’équation 3.35 pour voir s’ils sont égaux.
Cet algorithme doit être légèrement modifié avant de pouvoir être utilisé avec les courbes
elliptiques [81]. Afin de sécuriser la communication entre eux, utilisateurs A et B choisissent
la même courbe E(Fp) dont le point de générateur est G. Avant d’envoyer le
message M à B, il faut qu’il soit signé par A. Supposons que la clé privée de A soit xA,
et avec laquelle on peut calculer facilement sa clé publique PA = xAG. La procédure de
signature est constituée de 5 étapes.
1. Choisir d’abord un nombre entier aléatoire k ∈ [0, p − 1].44 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
2. Calculer R = kG = (xR, yR) et r ≡ xR (mod p). Si r = 0, répéter l’étape précédente.
3. Calculer e = h(M) où h est une fonction de hachage.
4. Calculer s ≡ k
−1
(e + rxA) (mod p). Si s = 0, recommencer depuis l’étape 1.
5. Envoyer (R, s) à utilisateur B.
Après la réception de (R, s), afin de vérifier la signature du document, B calcule V1 = sR
et V2 = h(M)G + rPA. La signature est valide si V1 = V2 (voir figure 3.7).
V1 = k
−1
(e + rxA)kG = G(h(M) + rxA)
V2 = h(M)G + rxAG = G(h(M) + rxA)
)
(3.39)
A B
k ∈ [0, p − 1]
R = k · G = (xR, yR)
r ≡ xR (mod p)
e = h(M)
s ≡ k
−1
(e + r · xA) (mod p)
V1 = s · R
V2 = h(M) · G + r · PA
PA = xA · G
(R, s)
FIGURE 3.7 – Protocole de signature numérique d’Elgamal
3.4.2/ ELLIPTIC CURVE INTEGRATED ENCRYPTION SCHEME (ECIES)
Le protocole d’Elgamal est rarement utilisé directement avec les courbes elliptiques.
Avant de chiffrer un message, il faut d’abord le convertir à un point sur la courbe elliptique
utilisée. Il y a différentes techniques qui existent, mais la conversion nécessite
plus de calcul.
Généralement on utilise les courbes elliptiques pour établir une clé partagée entre les 2
parties d’une conversation [22], ensuite nous pouvons utiliser un algorithme de cryptographie
symétrique pour sécuriser la communication entre elles.
Le protocole ECIES est en effet une variante d’Elgamal standardisée. Supposons qu’Alice
désire envoyer un message M à Bob d’une manière sécurisée, ils doivent d’abord disposer
de toutes les informations suivantes :
– KDF (Key Derivation Function) : Une fonction de dérivation de clé qui permet de géné-
rer plusieurs clés à partir d’une valeur secrète de référence.
– MAC (Message Authentication Code) : Code transmis avec les données dans le but
d’assurer l’intégrité de ces dernières.
– S Y M : Algorithme de chiffrement symétrique.
– E(Fp) : La courbe elliptique utilisée avec le point de générateur G dont ordp(G) = n.3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 45
– KB : La clé publique de Bob KB = kB.G où kB ∈ [1, n − 1] est sa clé privée.
Pour chiffrer le message M, Alice doit effectuer des opérations suivantes :
1. Choisir un nombre entier k ∈ [1, n − 1] et calculer R = k.G.
2. Calculer Z = k.KB.
3. Générer les clés (k1, k2) = KDF(abscisse(Z), R).
4. Chiffrer le message C = S Y M(k1, M).
5. Générer le code MAC t = MAC(k2,C).
6. Envoyer (R,C, t) à Bob.
Pour déchiffrer le message (R,C, t), Bob doit effectuer des calculs ci-dessous :
1. Rejeter le message si R < E(Fp).
2. Calculer Z = kB.R = kB.k.G = k.KB.
3. Générer les clés (k1, k2) = KDF(abscisse(Z), R).
4. Générer le code MAC t
′ = MAC(k2,C).
5. Rejeter le message si t
′ , t.
6. Déchiffrer le message M = S Y M−1
(k1,C).
Dans ce protocole, la valeur critique est k avec laquelle Bob peut calculer Z = k.KB, et
générer le couple (k1, k2) qui est utilisé pour déchiffrer et authentifier le message. Grâce
à la difficulté pour résoudre le problème de logarithme discret, Alice peut envoyer R = k.G
sans problème. Une représentation graphique du protocole est illustrée dans la figure 3.8,
et une description plus détaillée est donnée dans [9] avec les paramètres recommandés
dans [87].
A B
k ∈ [0, p − 1]
R = k · G
Z = k · KB = (xZ, yZ)
(k1, k2) = KDF(xZ, R)
C = S Y M(k1, M)
t = MAC(k2,C)
Z = kB · R = (xZ, yZ)
(k1, k2) = KDF(xZ, R)
M = S Y M−1
(k1,C)
KB = kB · G
(R,C, t)
FIGURE 3.8 – Protocole de chiffrement ECIES46 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
3.4.3/ ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA)
Le protocole ECDSA est proposé par Johnson et al. dans [40], il est une variante de
DSA qui utilise les techniques de cryptographie sur les courbes elliptiques. Le protocole
DSA signifie Digital Signature Algorithm en Anglais, c’est un algorithme de signature
numérique standardisé par le NIST aux États-Unis [20].
Le protocole est basé sur l’idée du protocole de signature d’Elgamal. Nous supposons
qu’Alice et Bob utilisent la même courbe elliptique E(Fp) pour sécuriser la communication
entre eux. Nous supposons que la clé publique d’Alice est KA = kA.G où kA est sa clé
privée et G est le point de générateur de l’ordre n.
Pour signer un message M, Alice doit suivre les opérations suivantes :
1. Choisir un nombre aléatoire k ∈ [1, n − 1].
2. Calculer R = k.G.
3. Calculer r ≡ abscisse(R) (mod n). Si r = 0, retourner à l’étape 1.
4. Calculer s ≡ k
−1
(H(M) + kAr) (mod n) où H est une fonction de hachage. Si s = 0,
retourner à l’étape 1.
5. Envoyer (r, s) à Bob.
Après avoir reçu le message signé, Bob vérifie la signature du message :
1. Vérifier si KA , ∞ (point à l’infini) et KA ∈ E(Fp).
2. Vérifier si n.KA = ∞ car n.KA = n.kA.G et ordp(G) = n.
3. Vérifier si (r, s) ∈ [1, n − 1].
4. Calculer R = (H(M)s
−1 mod n)G + (rs−1 mod n)KA (voir la formule 3.40).
5. Vérifier si r ≡ abscisse(R) (mod n).
R = (H(M)s
−1
)G + (rs−1
)KA (mod n)
= (H(M)s
−1
)G + (rs−1
)kAG (mod n)
= s
−1G(H(M) + rkA) (mod n)
= k(H(M) + kAr)
−1G(H(M) + rkA) (mod n)
= kG
(3.40)
Le déroulement du protocole est montré dans la figure 3.9.
3.4.4/ ELLIPTIC CURVE MENEZES QU VANSTONE (ECMQV)
ECMQV est un protocole d’échange de clés authentifié proposé dans [51], car en utilisant
Diffie-Hellman, nous ne pouvons pas assurer l’authentification des participants
Nous supposons que R(xR, yR) est un point sur une courbe elliptique, et P est le point de
générateur dont ord(P) = n. Nous calculons R¯ = (xR mod 2L
) + 2
L où L = ⌈
⌊log2
n⌋+1
2
⌉, alors
R¯ est en effet les premier L bits de la coordonnée abscisse de R. En outre, (qA, QA) et
(qB, QB) sont respectivement la clé privée et la clé publique de Alice et Bob.
La procédure d’échange de clés commence par une génération de clés temporaire chez
Alice :3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 47
A B
k ∈ [1, n − 1]
R = k · G = (xR, yR)
r ≡ xR (mod n)
s ≡ k
−1
(H(M) + kAr)
R = (H(M)s
−1 mod n) · G + (r · s
−1 mod n) · KA
(r, s)
FIGURE 3.9 – Protocole de signature numérique ECDSA
– Choisir en nombre entier kA ∈ [1, n − 1] et calculer RA = kA.P.
– Envoyer RA à Bob.
Après la réception de RA, Bob effectue des opérations suivantes :
– Choisir un nombre entier aléatoire kB ∈ [1, n − 1] et calculer RB = kB.P.
– Calculer sB ≡ (kB + R¯
BqB) (mod n) (Bob signe sa clé temporaire).
– Calculer Z = sB(RA + R¯
AQA).
– Génération de clés (k1, k2) = KDF(abscisse(Z)) où KDF est une fonction de dérivation
de clés.
– Génération de MAC tB = MAC(k1, 2, B, A, RB, RA) où 2 est un nonce cryptographique.
– Envoyer (RB, tB) à Alice.
Alice reçoit (RB, tB) et vérifie l’identité de Bob en faisant :
– Calculer sA ≡ (kA + R¯
AqA) (mod n) (Alice signe sa clé temporaire).
– Calculer Z
′ = sA(RB + R¯
BQB) (voir la formule 3.41).
– Génération de clés (k1, k2) = KDF(abscisse(Z
′
)).
– Vérifier si tB = MAC(k1, 2, B, A, RB, RA).
– Génération de MAC tA = MAC(k1, 3, A, B, RA, RB).
– Envoyer tA à Bob.
Bob vérifie l’identité d’Alice :
– Vérifier si tA = MAC(k1, 3, A, B, RA, RB).
Z = sB(RA + R¯
AQA)
= (kB + R¯
BqB)(RA + R¯
AQA)
= (kB + R¯
BqB)(kA + R¯
AqA)P
Z
′ = sA(RB + R¯
BQB)
= (kA + R¯
AqA)(RB + R¯
BQB)
= (kA + R¯
AqA)(kB + R¯
BqB)P
(3.41)
Le secret partagé k2 entre les 2 participants de la communication, et contrairement au
protocole de Diffie-Hellman, la clé de session n’est jamais la même. Seulement Alice et
Bob peuvent calculer Z, et ils utilisent leurs clés temporaires kA et kB pour prouver leurs
identités. Le schéma qui représente l’établissement de la clé de session est donné dans48 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
la figure 3.10.
A B
kA ∈ [1, n − 1]
RA = kA · P
sA ≡ (kA + R¯
AqA) (mod n)
Z
′ = sA · (RB + R¯
BQB) = (xZ
′, yZ
′)
(k1, k2) = KDF(xZ
′)
tA = MAC(k1, 3, A, B, RA, RB)
kB ∈ [1, n − 1]
RB = kB · P
sB ≡ (kB + R¯
BqB) (mod n)
Z = sB · (RA + R¯
A · QA) = (xZ, yZ)
(k1, k2) = KDF(xZ)
tB = MAC(k1, 2, B, A, RB, RA)
Tester tA = MAC(k1, 3, A, B, RA, RB)
RA
(RB, tB)
tA
FIGURE 3.10 – Protocole d’échange de clés ECMQV
3.4.5/ ELLIPTIC CURVE MASSEY-OMURA (EC MASSEY-OMURA)
En cryptographie, le protocole à trois passes, permet à Alice d’envoyer un message chiffré
à Bob sans avoir besoin d’échanger ou de distribuer des clés. Le premier protocole à
trois passes était celui développé par Shamir en 1980. Il est aussi appelé Shamir No-Key
Protocol, car l’émetteur et le récepteur n’ont pas besoin d’échanger des clés. Le protocole
nécessite néanmoins deux clés privées pour crypter et décrypter les messages.
James Masey et Jim K. Omura ont proposé une amélioration du protocole de Shamir en
1982 [67]. La méthode de Massey-Omura utilise l’exponentiation dans le corps de Galois
GF(2n
). Le message chiffré est Me et le message déchiffré est Md
. Les calculs sont
effectués dans le corps de Galois. Quelque soit le nombre entier e utilisé pour chiffrer
le message avec 0 < e < 2
n − 1 et PGCD(e, 2
b − 1) = 1, le nombre entier d permettant
de déchiffrer le message est tel que de ≡ 1 (mod 2n − 1). Comme le groupe multiplicatif
associé au corps de Galois GF(2n
) est de l’ordre 2
n−1, le théorème de Lagrange implique
que m
de = m pour tout m dans GF(2n
)
∗
.
La Théorème de Lagrange montre que pour un groupe G fini et pour tout sous-groupe H
de G, l’ordre de H divise l’ordre de G. Dans notre cas, le groupe considéré est le groupe
abélien associé à notre courbe elliptique E. Soit N le nombre de points sur la courbe
E(Fp), ce nombre est public. Alice et Bob choisissent leur clé secrète : deux nombres
entiers aléatoires eA et eB tel que PGCD(eA, n) = 1 et PGCD(eB, n) = 1. Ils calculent dA ≡ e
−1
A
(mod N) et dB ≡ e
−1
B
(mod N) en utilisant l’algorithme d’Euclide. Si Alice veut envoyer le
message M à Bob, elle envoie d’abord eAM. Toutefois, Bob ne peut pas le déchiffrer, il
renvoie eBeAM ) Alice. Alice renvoie alors dAeBeAM à Bob, et comme dAeA ≡ 1 (mod N),3.5. COMPARAISON DE PERFORMANCE ENTRE ECC ET RSA 49
nous avons daeBeAM = eBM et donc Bob peut déchiffrer le message.
3.5/ COMPARAISON DE PERFORMANCE ENTRE ECC ET RSA
RSA fait partie des premiers cryptosystèmes asymétriques qui sont largement appliqués,
et aujourd’hui, il est toujours considéré comme le cryptosystème asymétrique le plus
utilisé, notamment pour échanger des données confidentielles sur internet. Il est proposé
en 1977 par Ron Rivest, Adi Shamir et Leonard Adleman [89]. L’algorithme est basé sur
l’hypothèse qu’il est extrêmement difficile d’effectuer la factorisation d’un nombre entier
en facteurs premiers. Certes, la factorisation n’est pas la seule méthode pour casser
RSA, mais pour l’instant, il n’existe pas d’autre attaque qui soit suffisamment efficace.
RSA est proposé avec 3 algorithmes qui sont conçus respectivement pour la génération
de clés, la signature numérique et la vérification de signature.
3.5.1/ GÉNÉRATION DE CLÉS
Avec RSA, la clé publique et la clé privée du système peuvent être générées de la manière
suivante :
– Choisir 2 nombres premiers aléatoires p et q ayant approximativement la même longueur
en nombre de bits.
– Calculer n = p · q.
– Calculer φ(n) = (p − 1) · (q − 1).
– Choisir un nombre entier e ∈]1, φ(n)[ tel que gcd(e, φ(n)) = 1.
– Calculer d tel que e · d ≡ 1 (mod n).
– (n, e) est la clé publique et d est la clé privée.
3.5.2/ SIGNATURE NUMÉRIQUE
La signature numérique permet au destinataire d’assurer l’intégrité du message et d’authentifier
son auteur. Afin de signer le message m avec RSA, il suffit de chiffrer le message
avec la clé privée.
s ≡ hash(m)
d
(mod n) (3.42)
hash est une fonction de hachage, et généralement nous utilisons la fonction SHA-1.
Une fois le message est signé, le signataire envoie le message m avec sa signature au
destinataire.
3.5.3/ VÉRIFICATION DE SIGNATURE
Pour vérifier la signature reçue, le destinataire doit déchiffrer le message avec la clé
publique du signataire.50 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
h ≡ s
e ≡ (hash(m)
d
)
e ≡ hash(m) (mod n) (3.43)
Pour authentifier l’auteur du message, le destinataire applique la même fonction de hachage
au m et tester si le résultat est égal à h.
3.5.4/ COMPARAISON DE PERFORMANCE
Afin d’évaluer et de comparer la performance de RSA et ECC, 2 implémentations utilisant
respectivement ces 2 cryptosystèmes sont testés dans [39]. Comme nous avons présenté
au début du chapitre, ECC peut avoir le même niveau de sécurité que RSA avec une clé
beaucoup plus courte. Les longueurs de clé utilisées sont suggérées dans [54] (voir le
tableau 3.3), et les longueurs qui se situent dans la même colonne sont censées pouvoir
fournir le même niveau de robustesse. D’ailleurs, l’algorithme de signature utilisé pour
ECC est ECDSA, une variante de DSA conçue pour les courbes elliptiques, et un texte
de longueur 100 Ko est utilisé pour tester la signature.
Algorithme Longueur de clé (bit)
ECC 163 233 283 409 571
RSA 1024 2240 3072 7680 15360
TABLE 3.3 – Longueur de clé en bit
Les résultats de test sont donnés dans les tableaux 3.4, 3.5 et 3.6. Nous pouvons constater
que pour atteindre le même niveau de sécurité, premièrement, la consommation de
mémoire est beaucoup moins importante avec ECC, car nous utilisons des clés plus
courtes. Deuxièmement, les calculs de la génération de clé et de la signature de message
sont plus rapide avec ECC. La vérification de signature est plus rapide avec RSA,
car il suffit d’effectuer une exponentiation modulaire.
Longueur de clé Temps de calcul (s)
ECC RSA ECC RSA
163 1024 0.08 0.16
233 2240 0.18 7.47
283 3072 0.27 9.80
409 7680 0.64 133.90
571 15360 1.44 679.06
TABLE 3.4 – Temps d’exécution pour la génération de clés
Le même type de test a été effectué dans [32, 43], les résultats de test ont aussi prouvé
que ECC était plus avantageux en terme de consommation de mémoire et vitesse de
calcul. C’est la raison principale pour laquelle ECC devient de plus en plus le choix préféré
pour les systèmes embarqués qui disposent d’une mémoire et d’une puissance de calcul
très limitée.
Actuellement RSA demeure toujours le cryptosystème asymétrique le plus largement
utilisé, car il est sorti beaucoup plus tôt par rapport à ECC. RSA est publié en 1978 [89]
et standardisé en 1993 [49], tandis que ECC est proposé dans les années 80 [44, 69] et
standardisé vers la fin des années 90. Les 2 cryptosystèmes sont initialement protégés3.6. ATTAQUES DES CRYPTOSYSTÈMES EMBARQUÉS BASÉS SUR ECC 51
Longueur de clé Temps de calcul (s)
ECC RSA ECC RSA
163 1024 0.15 0.01
233 2240 0.34 0.15
283 3072 0.59 0.21
409 7680 1.18 1.53
571 15360 3.07 9.20
TABLE 3.5 – Temps d’exécution pour la signature numérique
Longueur de clé Temps de calcul (s)
ECC RSA ECC RSA
163 1024 0.23 0.01
233 2240 0.51 0.01
283 3072 0.86 0.01
409 7680 1.80 0.01
571 15360 4.53 0.03
TABLE 3.6 – Temps d’exécution pour la vérification de signature
par des brevets. Du fait que le brevet de RSA a expiré depuis 2000, il peut être utilisé
librement par tout le monde, mais celui de ECC est toujours valable [14].
Une autre raison qui limite l’utilisation de ECC est que mathématiquement RSA est relativement
plus simple. De nombreuse spécifications de ECC existent [74], mais les implémentations
sont souvent incomplètes, c’est-à-dire que seulement quelques courbes
décrites dans les spécifications sont implémentées.
3.6/ ATTAQUES DES CRYPTOSYSTÈMES EMBARQUÉS BASÉS SUR
ECC
Du point de vue mathématique, les cryptosystèmes embarqués basés sur les courbes
elliptiques sont censés être suffisamment sûrs. Cependant, ils peuvent toujours faire l’objet
d’attaques matérielles. Il existe 3 types d’attaques selon leur nature : non-invasives,
semi-invasive et invasive [28].
Une attaque non-invasive peut être, soit une observation de certains caractéristiques d’un
cryptosystème durant la manipulation de sa clé secrète, soit une injection de fautes pour
perturber les calculs. Le premier cas s’appelle aussi l’attaque par canaux cachés.
Le premier document officiel relatant une utilisation d’un canal caché date de 1956 [110],
le service de renseignement britannique a cassé une machine de chiffrement de l’ambassade
égyptienne en observant les « clic » produits par des rotors (voir la figure 3.11).
Pour les systèmes embarqués modernes, les différences de tension engendrées par les
transistors durant un cycle d’horloge dépendent des instructions exécutées et des valeurs
utilisées. L’examen de la consommation d’énergie permet de trouver des informations sur
la clé secrète [45] (voir la figure 3.12). Une autre possibilité est d’analyser les signaux
engendrés par le rayonnement électromagnétique pendant la circulation d’un courant.52 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
FIGURE 3.11 – Machine de chiffrement à rotor
Les résultats permettent aussi de récupérer les informations sur les opérations effectuées
par le cryptosystème, ainsi que les variables manipulées [104].
FIGURE 3.12 – Attaque par analyse de la consommation électrique
Le deuxième type d’attaque non-invasive est d’alterer le fonctionnement du cryptosystème
en modifiant l’environnement, e.g. modification de température, injection des pics
de tension etc. Ce genre d’attaque est censé être paramétrable pour ne pas endommager
le circuit, et lorsque l’attaque cesse, le circuit peut retrouver son état initial.
Les attaques semi-invasives sont similaires aux attaques non-invasives. Nous observons
les caractéristiques d’un cryptosystème, sauf qu’avec l’attaque semi-invasive, nous devons
décapsuler le package pour être plus près possible du circuit. Ainsi, l’attaquant peut
altérer le fonctionnement du cryptosystème en créant des circuits additifs ou émettant
des ondes électromagnétiques pour perturber temporairement le circuit [94].
Contrairement à l’attaque non-invasive et l’attaque semi-invasive, avec l’attaque invasive,
la modification et la perturbation du cryptosystème sont permanentes.3.7. CONCLUSION 53
3.7/ CONCLUSION
Dans ce chapitre, nous avons présenté la cryptographie sur les courbes elliptiques, ainsi
que l’ensemble de termes mathématiques indispensables pour comprendre son fonctionnement.
En faisant des comparaisons de performance avec l’autre cryptosystème largement
utilisé, RSA, nous pouvons remarquer que ECC est un cryptosystème plus attractif,
notamment pour les systèmes embarqués, comme les capteurs sans fil.
Afin d’atteindre un niveau de sécurité suffisant avec RSA, il faut utiliser des clés de longueurs
1024 minimum, et la mémoire du système risque d’être saturée facilement durant
les calculs. Cependant avec ECC, une clé de longueur 160 est déjà capable de fournir
le même niveau de sécurité. Une autre raison pour laquelle ECC est préférable pour les
systèmes embarqués est qu’il existe beaucoup de méthodes mathématiques qui nous
permettent d’accélérer les calculs sur les courbes.
Les capteurs sans fil ne détiennent qu’une mémoire et une puissance de calcul limitée, et
les calculs cryptographiques avec ECC restent toujours très lourds, malgré ses avantages
par rapport à RSA. Dans une application de réseaux de capteurs sans fil, les capteurs
fonctionnent rarement individuellement, car ils sont censés être déployés en masse et
coopérer entre eux. Dans le chapitre suivant, nous présentons notre méthode qui nous
permet d’accélérer les calculs sur les courbes elliptiques en parallélisant les tâches de
calcul.4
MULTIPLICATION SCALAIRE PARALLÈLE
DANS LES RÉSEAUX DE CAPTEURS
Sommaire
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2 Calcul parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.1 Taxonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.2 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.3 Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Calcul parallèle dans les réseaux de capteurs . . . . . . . . . . . . . . . . . 62
4.3.1 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.2 Consommation d’énergie . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.3 Connexion sans fil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.4 Parallélisation des multiplications scalaires . . . . . . . . . . . . . . . . . . 64
4.4.1 Décomposition des données . . . . . . . . . . . . . . . . . . . . . . . 65
4.4.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . . 66
4.4.3 Protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.5 Arithmétique multiprécision . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.5.1 Addition et soustraction . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.2 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.3 Réduction modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.6 Evaluation de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.6.1 Parallélisation avec points précalculés . . . . . . . . . . . . . . . . . . 77
4.6.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . . 80
4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.1/ INTRODUCTION
Dans le chapitre 3, nous avons présenté la cryptographie sur les courbes elliptiques,
ainsi que l’ensemble de techniques qui nous permettent d’accélérer le calcul des multiplications
scalaires, qui est considérée comme l’opération la plus importante et coûteuse
sur les courbes elliptiques. Après une étude des protocoles cryptographiques qui sont
5556 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
basés sur ECC, nous pouvons constater que la sécurité de ECC dépend principalement
de la difficulté pour résoudre le problème du logarithme discret.
Un des avantages de ECC par rapport à RSA est la rapidité de calcul, et beaucoup de
méthodes mathématiques sont proposées dans la littérature pour améliorer sa performance
au niveau de la vitesse de calcul. D’ailleurs, une autre caractéristique de ECC
très importante, notamment pour les plate-formes embarqués disposant d’une mémoire
très limitée, est qu’afin d’atteindre le même niveau de robustesse que RSA, il nous suffit
d’utiliser une clé beaucoup plus courte.
Un réseau de capteurs sans fil est constitué d’un grand nombre de capteurs sans fil,
appelés aussi des nœuds, qui sont très limités en termes de puissance de calcul et
de mémoire disponible. Ces dispositifs ne sont pas censés être capables de gérer des
calculs très complexes, dans les réseaux de capteurs sans fil, les nœuds sont déployés
en masse, car il faut qu’ils coopèrent étroitement entre eux pour accomplir un objectif
collectif.
Revenons sur le sujet du calcul cryptographique. Donc ECC est un choix optimal pour
les réseaux de capteurs. C’est un cryptosystème asymétrique qui donne la possibilité
de gérer plus facilement les clés, car les clés publiques peuvent être distribuées librement
entre les nœuds sans compromettre la sécurité du réseau. En outre, idéalement
les nœuds sont censés être déployés aléatoirement dans une zone, si nous utilisons simplement
un cryptosystème symétrique, la solution la plus naïve pour gérer des clés sera
de générer et de stocker une clé secrète pour chaque paire de nœuds, car nous ne pouvons
pas savoir à priori les nœuds voisins qui vont se trouver à la proximité d’un nœud
spécifique.
Un inconvénient principal des cryptosystèmes asymétriques est qu’ils sont souvent plus
coûteux en calcul. Généralement les processeurs modernes sont capables de gérer aisément
ce genre de calculs, mais la plupart des capteurs sans fil sont équipés des microcontrôleurs
qui tournent à une fréquence très faible [72, 19, 18]. Du fait de leur faiblesse
en puissance, il est déconseillé d’appliquer la cryptographie sur les courbes elliptiques,
telle quelle, dans les réseaux de capteurs malgré de nombreuses méthodes mathématiques
existantes qui sont conçues pour l’optimisation de sa performance. Les nœuds
risquent d’être figés durant des calculs à cause d’un épuisement de mémoire ou d’une
surcharge de processeur.
Afin d’équilibrer la charge entre des nœuds et d’accélérer les calculs sur les courbes elliptiques,
dans ce chapitre, nous proposons de paralléliser le calcul des multiplications
scalaires entre plusieurs nœuds d’un cluster [36, 35]. En prenant en compte le fonctionnement
des réseaux de capteurs, nous avons décidé de décomposer le calcul des
multiplications scalaires, l’opération la plus importante sur les courbes elliptiques, en plusieurs
tâches complètement indépendantes qui peuvent être traitées simultanément par
les membres de cluster. Une fois terminés, les résultats seront renvoyés au cluster-head
qui les combinera ensemble pour obtenir le résultat final. Ce dernier peut être ensuite
réutilisé dans de différentes phases de calcul des protocoles cryptographiques. Nos travaux
de recherche se focalisent principalement sur la parallélisation de la multiplication
scalaire.
Dans les sections suivantes, nous allons présenter les bases théoriques de la multiplication
scalaire parallèle dans les réseaux de capteurs, ainsi que le protocole utilisé. Pour
tester la performance de notre méthode, nous l’avons implémentée sur PC et sur les
nœuds Telosb [29, 79, 18], les résultats d’expérimentation ont montré que le calcul paral-4.2. CALCUL PARALLÈLE 57
lèle peut permettre une accélération de calcul très importante.
4.2/ CALCUL PARALLÈLE
En informatique, le calcul parallèle consiste à utiliser des architectures permettant de traiter
des informations simultanément. Cette technique est initialement mise en place pour
gérer des tâches complexes et volumineuses qui doivent être réalisées dans un délai le
plus court possible. D’un point de vue de la conception de processeurs, pour accélérer le
traitement d’informations, la solution la plus simple est d’augmenter sa fréquence d’horloge,
c’est-à-dire le nombre d’opérations qu’il peut effectuer en une seconde. Cependant
ce dernier est devenu le goulot d’étranglement à cause des limites physiques, notamment
dans les domaines du Calcul Haute Performance[1]. Récemment avec l’arrivée des processeurs
multi-cœurs qui sont capables de traiter plusieurs instructions en même temps,
le calcul parallèle est devenu un paradigme dominant pour tous les ordinateurs.
4.2.1/ TAXONOMIE
Selon la taxonomie de Michael J. Flynn [27], les programmes et ordinateurs peuvent être
classés 4 catégories suivantes (voir le tableau 4.1) :
Un seule instruction Plusieurs instructions
Donnée unique SISD MISD
Plusieurs données SIMD MIMD
TABLE 4.1 – Taxonomie de Flynn
– SISD (Single Instruction, Single Data) : C’est l’architecture la plus simple, chaque fois
le système ne traite qu’une seule donnée, les instructions sont exécutées l’une après
l’autre, d’une manière séquentielle.
– SIMD (Single Instruction, Multiple Data) : C’est le cas où les différentes données sont
envoyées aux processeurs qui les traitent en répétant les mêmes opérations.
– MISD (Multiple Instruction, Single Data) : Plusieurs opérations sont effectuées sur la
même donnée, cette architecture est parfois utilisée pour la tolérance aux pannes.
– MIMD (Multiple Instruction, Multiple Data) : Plusieurs données sont traitées par des
processeurs différents, les systèmes distribués sont généralement considérés comme
des architectures MIMD.
2 types de calcul parallèle sont montrés dans cette classification, la parallélisation d’instructions,
où plusieurs instructions différentes sont exécutées simultanément par de diffé-
rents processeurs (MIMD). Le deuxième est la parallélisation de données, où les mêmes
opérations sont effectuées sur de différentes données (SIMD).
En fonction de ce que nous devons paralléliser durant les calculs, il est aussi possible de
classifier les calculs parallèles en 3 catégories :
– Parallélisation de mots : C’est un type de calcul parallèle basé sur l’augmentation de la
longueur du mot des processeurs. Par exemple, un processeur de 8-bit n’est pas capable
de gérer des données de 16-bit, pour additionner 2 nombres entiers de 16 bits, le
processeur doit additionner d’abord les 8 bits de poids faibles, ensuite additionner les 858 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
bits de poids forts avec la retenue. Il faut donc 2 opérations pour effectuer une addition,
mais un processeur de 16-bit peut terminer le calcul en une seule opération. Une autre
solution est d’avoir 2 processeurs de 8-bit reliés, et additionnent simultanément les bits
de poids faibles et de poids forts.
– Parallélisation de données : Une grande quantité de données est découpée et distribuée
à plusieurs processeurs exécutant les mêmes instructions. Il s’agit d’un calcul parallèle
du type SIMD. Par exemple nous disposons d’une base de données contenant d
lignes (enregistrements), et de 2 processeurs qui exécutent exactement le même programme.
Nous supposons que chaque ligne peut être traitée indépendamment, nous
pouvons donc envoyer les d
2
premières lignes au premier processeur, et les d
2
lignes
restantes au deuxième.
– Parallélisation de tâches : Contrairement à la parallélisation des données, au lieu de
distribuer des portions de données, la parallélisation des tâches distribue carrément
des procédures ou des threads aux différents processeurs qui les exécutent parallèlement.
4.2.2/ ACCÈS AUX DONNÉES
Dans le cadre de calcul parallèle, la mémoire contenant les données qui circulent entre
les processeurs peut être soit partagée, soit distribuée.
Dans le premier cas, les processeurs sont censés pouvoir accéder aux données avec la
même latence et bande passante. Tous les processeurs participant aux calculs parallèles
peuvent y déposer et lire des données, et c’est une configuration idéale qui permet au
système d’améliorer considérablement ses performances (voir figure 4.1). Car généralement
la mémoire partagée peut offrir un accès aux données plus rapide et fiable, la
synchronisation entre les processeurs est relativement plus facile à réaliser.
FIGURE 4.1 – Accès aux données avec la mémoire partagée
En revanche, dans le cas de mémoire distribuée, chaque processeur possède sa propre
mémoire locale, et durant des calculs, seulement des données locales sont accessibles.
Si un processeur a besoin des données qui se situent chez un autre processeur, il faudra
qu’il communique avec ce dernier pour les récupérer (voir figure 4.2).
Dans une architecture utilisant la mémoire distribuée, les processeurs doivent souvent
communiquer entre eux pour échanger des informations, et un tel accès aux données
peut engendrer une baisse de performance importante. D’ailleurs, avant de pouvoir demander
des données aux autres, il faut que le processeur connaître la localisation des4.2. CALCUL PARALLÈLE 59
données dont il a besoin, car parfois il est possible que les données en question soient
hébergées sur des processeurs différents, et la diffusion des requêtes peut aussi ralentir
le calcul.
FIGURE 4.2 – Accès aux données avec la mémoire distribuée
4.2.3/ SYNCHRONISATION
Des processus peuvent s’exécuter sur des processeurs différents, lorsqu’il existe des
interdépendances sur les données partagées entre des processus, des problèmes de
synchronisation peuvent donc être relevés. Lorsqu’un processus effectue une mise à jour
des données en mémoire, l’objectif de la synchronisation est de la rendre visible aux
autres processus.
Par exemple, le processus p1 a besoin de la valeur v fournie par le processus p2 pour
continuer son calcul, et en même temps, p2 veut effectuer une mis à jour la valeur v en
mémoire. Pour que les 2 opérations soient synchronisées, il faut que l’accès à la valeur
soit atomique, c’est-à-dire que la lecture de v et la mise à jour de v ne doivent pas se
chevaucher. Soit p1 lit v après sa mise à jour, soit p2 met v à jour après la lecture, mais
jamais les 2 en même temps (voir figure 4.3).
Chaque opération peut correspondre à plusieurs instructions du processeur, si les instructions
des 2 opérations sont exécutées simultanément sur la même donnée, les processus
risquent de rencontrer des erreurs imprévisibles. Ainsi, lorsque p1 détecte que le
bloc mémoire contenant v est momentanément occupées par p2, il est impératif que p1
attend jusqu’à ce que p2 finisse son opération courante.
Le mécanisme de gestion de synchronisation à mettre en place peut être différent en
fonction du type de mémoire utilisée. Pour une architecture utilisant une mémoire partagée,
l’accès à la mémoire est plus facile à surveiller et contrôler, et nous pouvons
avoir plus aisément un accès aux données bien synchronisé et cohérent. Cependant,
si l’architecture utilise la mémoire distribuée, les processeurs devront donc échanger des
messages entre eux pour demander des données.
En faisant la comparaison ci-dessus, il est évident que le calcul parallèle utilisant la mé-
moire partagée est plus avantageux en termes de performance, car il permet au système60 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
p2 p1
Ecriture de v
Lecture de v
Mise à jour de v
FIGURE 4.3 – Synchronisation d’accès aux données
d’avoir un accès aux données plus efficace et cohérent.
4.2.4/ TOLÉRANCE AUX PANNES
La tolérance aux pannes est en effet un ensemble de techniques qui permettent à un
système de continuer à fonctionner en cas de panne. Au lieu de tomber complètement
en panne, le composant peut continuer à délivrer, éventuellement de manière réduite, les
services initialement prévus [84].
Cette technique n’est pas utilisée uniquement en informatique, mais aussi dans beaucoup
d’autres domaines industriels. Prenons un exemple de l’industrie automobile, les
fabricants installent souvent 2 capteurs de pédale, dans le cas où la pédale d’accélérateur
soit bloqué (enfoncée), le conducteur peut toujours arrêter la voiture en appuyant sur
la pédale de frein. Cependant certains fabricants, pour une raison du coût de fabrication,
n’installent qu’un seul capteur, lorsque le capteur est tombé en panne, le conducteur est
obligé de trouver d’autres moyens pour arrêter la voiture, car la pédale de frein ne peut
plus fonctionner non plus.
Idem pour le calcul parallèle, lorsque nous distribuons les tâches aux processeurs, nous
n’avons aucune garantie que les processeurs peuvent forcément mener les calculs jusqu’au
bout, et que les résultats renvoyés sont toujours corrects. Différents types de
pannes pourraient survenir durant le traitement des tâches, coupure de courant, panne
matérielle, bogue de programme etc. Particulièrement les architectures distribuées dans
lesquelles les processeurs doivent échanger des données pour effectuer les calculs, si
des mécanismes de tolérance aux pannes ne sont pas présents, il suffit d’avoir une simple
défaillance de réseaux pour interrompre le calcul. D’ailleurs, il faut que le système puisse
non seulement détecter des problèmes, mais aussi se restaurer en cas de pannes sé-
vères.
Pour les plate-formes mobiles et embarquées, les techniques de tolérance aux pannes
sont dispensables, car pour minimiser la consommation d’énergie et étendre la durée de
vie des réseaux, les nœuds utilisent souvent des antennes radio de faible puissance, qui
utilisent les ondes comme le médium de transmission. Ce genre de connexion souffre
souvent de l’interférence radio et de conflit d’accès au médium qui rendent la communication
moins fiable, et les expérimentations ont montré que lorsque le niveau de batterie4.2. CALCUL PARALLÈLE 61
d’un nœud est très faible, son antenne risque d’envoyer des données erronées [12].
Généralement il existe 2 approches pour implémenter les mécanismes de tolérance aux
pannes. La première est d’utiliser des composants qui sont tolérants aux pannes. En
cas d’anomalie, le composant peut continuer à fonctionner en ignorant les dysfonctionnements.
le système reste toujours opérationnel car l’opération courante n’est pas interrompue
malgré la présence des pannes. Cette méthode est déconseillée pour des composants
importants, car nous mettons en place des techniques de tolérance aux pannes
pour assurer le bon fonctionnement du système, mais pas simplement la continuité des
processus.
La deuxième méthode est la redondance, plusieurs composants sont utilisés pour une
seule tâche, lorsque le premier composant tombe en panne, un deuxième composant
prend automatiquement le relais et continue à traiter la tâche (voir figure 4.4).
FIGURE 4.4 – Tolérance aux pannes avec la redondance de composants
La redondance peut aussi être utilisée pour la détection de fautes et la correction des
données erronées. Prenons l’exemple des réseaux de capteurs sans fil, les données
risquent d’être perdues ou corrompues pendant la transmission, lorsqu’un nœud renvoie
un résultat de calcul, nous ne pouvons pas tester son intégrité, car généralement le calcul
de hachage est très coûteux pour les nœuds. Néanmoins, et nous ne pouvons pas tester
si le résultat de calcul est correct non plus, car nous n’en avons qu’une seule copie.
Cependant si plusieurs nœuds sont mis en place pour le même calcul, nous pouvons
effectuer une vérification en faisant une simple comparaison. Si les résultats ne sont pas
identiques, seul la valeur la plus présente est retenue (voir figure 4.5).
FIGURE 4.5 – Tolérance aux pannes avec la redondance de résultats
Un inconvénient de la redondance est l’augmentation de coût. Pour que le système soit62 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
résistant aux différentes pannes, beaucoup de composants redondants doivent être mis
en place. C’est la raison principale pour laquelle la redondance est appliquée seulement
aux composants ayant une importance cruciale.
4.3/ CALCUL PARALLÈLE DANS LES RÉSEAUX DE CAPTEURS
Généralement, un réseau de capteurs est constitué d’un grand nombre de nœuds ayant
des ressources (puissance de calcul, mémoire, énergie) très limitées, et reliés entre eux
via une connexion sans fil de faible puissance. Certaines caractéristiques d’un tel réseau
doivent être soulignées avant d’étudier la faisabilité du calcul parallèle.
4.3.1/ ACCÈS AUX DONNÉES
Comme nous avons déjà présenté, les réseaux de capteurs sont constitués des nœuds
qui sont physiquement séparés, c’est-à-dire qu’il n’existe pas de mémoires partagés entre
les nœuds. Si nous voulons appliquer le calcul parallèle dans les réseaux de capteurs, il
faudra que chaque nœud ait en sa mémoire locale toutes les données nécessaires pour
la tâche qui lui est assignée. En outre, il faut que ces données soient distribuées aux
nœuds participant au calcul parallèle au moment du lancement du calcul, toute échange
ultérieure ou distribution séquentielle de données sont très coûteuses en termes d’énergie.
Donc les types de parallélisation possibles dans les réseaux de capteurs sont SISD
et MISD.
4.3.2/ CONSOMMATION D’ÉNERGIE
Les nœuds sont conçus pour être déployés en masse dans des zones hostiles où l’intervention
humaine n’est pas toujours possible. Ils sont souvent alimentés par des piles, et
une fois déployés, nous ne sommes pas censés retrouver et maintenir les nœuds dont
les piles sont épuisées.
Selon les résultats expérimentaux [112, 2], la plupart d’énergie d’un nœud est consommée
pendant la communication de radio, la consommation du processeur est presque
négligeable par rapport à celle de l’antenne. Ainsi, tout protocole doit être soigneusement
élaboré pour minimiser la communication sans fil.
Idem pour le calcul parallèle, qui fait face au problème de consommation d’énergie depuis
son invention. Afin d’alimenter une architecture effectuant des calculs parallèles sur plusieurs
processeurs, qui doivent éventuellement communiquer entre eux durant le traitement
des tâches, il faut évidemment leur fournir assez d’énergie. Cependant ce problème
dévient encore plus crucial dans les réseaux de capteurs où les nœuds ne disposent pas
du tout de mémoire partagée, car ils sont obligés de s’envoyer des messages via la
connexion sans fil qui peut vider leurs piles très vite. Dans quasiment toutes les application
de réseaux de capteurs, les protocoles de communication utilisés sont spécialement
élaborés pour minimiser le nombre de messages à envoyer, généralement les nœuds ne
communiquent que dans les cas nécessaires.4.3. CALCUL PARALLÈLE DANS LES RÉSEAUX DE CAPTEURS 63
4.3.3/ CONNEXION SANS FIL
Dans un réseau de capteurs, les nœuds utilisent des technologies de communication
sans fil pour maintenir une connexion en consommant la moins d’énergie possible. Par
exemple Zigbee [3] qui est basé sur le standard IEEE 802.15.4 [38].
Caractéristique technique Bluetooth Wifi Zigbee
IEEE Spécification 802.15.1 802.11 a/b/g 802.15.4
Besoin de mémoire 250 Ko 1 Mo 4-32 Ko
Débit maximal 1 Mo/s 54 Mo/s 250 Ko/s
Portée théorique 10 m 100 m 10-100 m
Nombre de nœuds max. 7 32 65000+
TABLE 4.2 – Comparaison techniques des connexions sans fil
En faisant une comparaison technique de quelques protocoles sans fil [53, 92] (voir tableau
4.2), nous pouvons remarquer que Zigbee est un choix adéquat pour les réseaux
de capteurs, car il peut supporter un très grand nombre de nœuds en consommant moins
de ressources. Néanmoins, Zigbee n’est pas conçu pour créer un réseau de haut débit.
La portée ratio théorique peut aller jusqu’à 100 mètres, mais en réalité, elle est restreinte
à une dizaine de mètre pour des raisons de consommation et de durée de vie du réseau.
Quant à l’application du calcul parallèle dans les réseaux de capteurs, il faut prendre
conscience qu’une telle connexion sans fil de faible puissance est loin d’être fiable. Elle
souffre souvent de l’interférence qui peut causer des pertes et des corruptions de données.
En outre, généralement la portée radio d’un nœud n’est pas assez longue pour
couvrir entièrement le réseau, le calcul parallèle ne peut s’effectuer qu’entre des nœuds
proches.
4.3.4/ TOLÉRANCE AUX PANNES
Comme pour beaucoup de systèmes informatiques, dans les réseaux de capteurs, la
tolérance aux pannes doit aussi être prise en compte durant la conception des applications.
En effet, elle permet au système d’effectuer des diagnostics automatiques et de se
restaurer en cas de pannes sévères.
Un réseau de capteurs peut contenir un grand nombre de nœuds qui sont programmés
pour travailler ensemble et atteindre un objectif commun. Les nœuds sont déployés aléatoirement
et fonctionnent d’une manière autonome, lorsqu’un nœud tombe en panne,
nous ne sommes pas censés nous rendre physiquement sur place pour le localiser et
réparer. Il faut que les autres nœuds puissent détecter automatiquement des anomalies
et exclure le nœud défectueux du réseau.
Un solution efficace et économique pour appliquer des mécanismes de tolérance aux
pannes dans les réseaux de capteur est la redondance. Les nœuds déployés sont souvent
très nombreux pour couvrir une zone la plus vaste possible. En outre, pour minimiser
la consommation d’énergie et prolonger la durée de vie du réseau, les nœuds
fonctionnent principalement d’une manière passive, c’est-à-dire qu’ils restent en mode
inactive tant qu’ils ne détectent pas d’événement important. C’est la raison pour laquelle
dans un tel réseau, il existe plein de nœuds libres pendant la plupart de leur durée de vie.64 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
Il est donc possible d’utiliser plusieurs nœuds pour assurer une seule tâche. Lorsqu’ils
détectent que le nœud détenant la tâche ne peut pas terminer son travail correctement,
ils vont en choisir automatiquement un autre parmi eux qui va reprendre immédiatement
le travail du nœud défectueux et continuer à travailler dessus (voir figure 4.6).
Nœud 1 Nœud de Secours Nœud 2
Distrition de tâches
Résultat
Calcul
Calcul
Panne
FIGURE 4.6 – Tolérance aux pannes avec la redondance de nœuds
La tolérance aux pannes est particulièrement indispensable pour le calcul parallèle et la
sécurité, car ce dernier est une procédure qui demande une coopération cohérente et
des échanges de données fiables entre les nœuds. Une moindre erreur durant le calcul
et la transmission de données peut causer un échec complet du calcul. Par exemple, la
pile du nœud est déchargée pendant le calcul, ou le nœud n’a pas assez d’énergie pour
envoyer le résultat de calcul etc. Il faut prendre en considération toutes ces possibilité lors
de la conception de l’application, et il faut que le système soit suffisamment robuste pour
résister aux pannes éventuelles et réussir la mission dans un délai raisonnable.
4.4/ PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES
Dans cette section, nous présentons notre méthode de calcul parallèle pour accélérer le
calcul des multiplications scalaires dans les réseaux de capteurs.
Comme nous avons expliqué précédemment, les nœuds d’un réseau de capteurs ne
possèdent aucune mémoire partagée. Tout échange de données doit passer par la communication
radio qui est considérée comme étant la source principale de consommation
d’énergie. D’ailleurs, les nœuds sont programmés avant le déploiement, et ils sont censés
être déployés d’une manière aléatoire. Généralement les nœuds exécutent le même
programme, et à cause de la limite de mémoire disponible, il est déconseillé d’installer
des programmes volumineux qui prennent en considération toutes les circonstances
possibles. Ainsi, pour paralléliser les multiplications scalaires, il faut mettre en place un
algorithme unique qui demande très peu d’échange de données entre les nœuds participant
au calcul parallèle, c’est-à-dire une parallélisation du type SISD (voir tableau 4.1).
Après la présentation des protocoles cryptographiques basés sur ECC, nous nous apercevons
que la multiplication scalaire est l’opération la plus cruciale dont la complexité
est un élément clé de la robustesse du cryptosystème. Elle est considérée comme une
opération très coûteuse pour les systèmes embarqués malgré de nombreuse méthodes
d’optimisation existantes. Sachant que les processeurs des capteurs sont souvent des4.4. PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES 65
micro-contrôleurs de 8 ou 16 bits, alors que les nombres entiers à manipuler durant des
calculs cryptographiques peuvent atteindre facilement quelques centaines de bits, il est
donc indispensable d’implémenter en supplément des algorithmes d’arithmétique multiprécision,
qui engendre une consommation de ressources très importante.
4.4.1/ DÉCOMPOSITION DES DONNÉES
L’objectif du calcul parallèle est de décomposer une tâche en plusieurs parties qui
peuvent être traitées indépendamment et simultanément. Nous ne pouvons pas paralléliser
des opérations comme dans [4], car il n’y a pas de mémoire partagée dans un
réseau de capteurs. Le choix pertinent est donc la parallélisation des données, c’est-à-
dire que les données sont décomposées en plusieurs portions qui sont distribuées aux
nœuds exécutant un programme unique.
Notre méthode est conçue pour des applications événementielles dans lesquelles les
nœuds demeurent inactifs pendant la plupart du temps pour minimiser la consommation
d’énergie. Néanmoins, lorsqu’un événement crucial est survenu et détecté, il faut que le
réseau le signale immédiatement à la station de base d’une manière sécurisée et sûre,
même au détriment de la consommation d’énergie.
L’idée de la parallélisation est principalement basée sur [60], qui offre une décomposition
de données efficace sans nécessiter de mémoire de partagée. L’objectif est de réduire le
temps de calcul des multiplications scalaires en impliquant les nœuds de proximité dans
le calcul. Nous supposons que la courbe elliptique est chargée sur les nœuds avant le
déploiement, et le point de générateur G ne change pas durant toute la durée de vie du
réseau.
Pour paralléliser une multiplication scalaire Q = kG où G est le point générateur d’une
courbe définie dans un corps premier fini, dénotée E(Fp), et k est un nombre entier de
longueur l, qui peut être représenté en binaire de la manière ci-dessous :
k =
X
l−1
i=0
ki2
i
(4.1)
Le nœud qui décompose et distribue des données est le nœud maître, et les autres
nœuds participant au calcul parallèle sont des nœuds esclaves.
Dans un premier temps, le maître décompose le nombre entier k en n segments S i de
longueur b = ⌈l/n⌉ où n est le nombre de nœuds esclaves, et S i peut être représenté en
binaire comme dans la formule 4.2.
S i =
ib
X+b−1
j=ib
kj2
j
(4.2)
Sachant que le point générateur G est choisi à priori, et il ne change pas pendant la durée
de vie du réseau, le calcul des points Gi = 2
ibG est donc possible. Le calcul de kG peut
être décomposé comme suit :66 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
Q0 = S 0G
Q1 = S 12
bG
. . . . . .
Qn−1 S n−12
b(n−1)G
(4.3)
Puis le résultat final Q = Q0+Q1+. . . Qn−1, et chaque Qi peut être calculé indépendamment
par un esclave.
Par exemple nous avons k = kl−1kl−2 . . . k2k1k0 où ki ∈ {1, 0}, et il y a n − 1 esclaves disponibles
dans la portée radio du maître, le scalaire k est donc décomposé en n segments
(voir la formule 4.4).
S 0 = kb−1kb−2kb−3 . . . k2k1k0
S 1 = k2b−1k2b−2k2b−3 . . . kb+2kb+1kb
. . . . . .
S n−1 = knb−1knb−2knb−3 . . . k((n−1)b+2)k((n−1)b+1)k(n−1)b
(4.4)
Le maître en laisse une en sa mémoire locale, et les autres n−1 segments sont distribuées
aux esclaves. Tous les nœuds préparent et stockent localement un ensemble de points
G0 = G
G1 = 2
bG
. . . . . .
Gn−1 = 2
(n−1)G
(4.5)
Après la réception des données, les esclaves calculent chacun un Qi en utilisant la formule
4.3. Une fois terminé, ils renvoient des Qi au maître, qui va les combiner avec son
propre résultat local pour obtenir le résultat final Q = S 0G +S 12
bG +S 22
2bG . . . S n−12
(n−1)G.
Cette méthode de décomposition de scalaire nous permet de découper le scalaire en
n parties qui peut être traitée indépendamment, aucune échange de données n’est né-
cessaire entre esclaves. En outre, selon les paramètres recommandés [87], la taille du
corps Fp dans lequel la courbe est définie est souvent comprise entre 112 et 521 bits, et
il est possible de diffuser l’ensemble de S i aux esclaves en une seule fois. Cependant,
pour qu’un nœud puisse effectuer le calcul, il faut qu’il stocke en mémoire locale tous les
points Gi précalculés, car il ne peut pas prévoir l’indice i du S i qui lui sera affecté.
4.4.2/ PARALLÉLISATION SANS POINTS PRÉCALCULÉS
La méthode que nous avons présenté dans la section précédente nous permet de paralléliser
le calcul des multiplications scalaires sur les courbes elliptiques, mais les nœuds
participant doivent stocker en mémoire locale un ensemble de points précalculés pour
pouvoir traiter indépendamment les tâches. Dans cette section, nous présentons une
autre méthode qui peut paralléliser le calcul sans points précalculés.
Pour pouvoir paralléliser le calcul de Q = kG, le scalaire k est découpé en n segments S i
,
et chacun doit être multiplié avec un point correspondant, noté Gi = 2
ibG où i est l’indice
du segment et b est sa longueur.4.4. PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES 67
Néanmoins, cette méthode engendre une consommation de mémoire non négligeable
et souffre de manque de flexibilité. Par exemple, les nœuds utilisent une courbe elliptique
qui est définie dans un corps de taille 160, s’ils veulent paralléliser le calcul entre
4 nœuds, il faudra que tous les nœuds aient les points 2
40G, 2
80G et 2
120G préparés et
stockés en mémoire. Cependant s’il n’y a que 3 nœuds disponibles, il faudra donc avoir
2 nœuds qui traitent chacun une tâche de longueur 53, et le 3e nœud traite une tâche de
longueur 54, et les points à préparer sont respectivement 2
53G et 2
106G. Nous pouvons
constater qu’il est difficile de définir et préparer un ensemble de points satisfaisant toutes
les circonstances.
Nous proposons donc une méthode alternative qui peut préparer rapidement en temps
réel les points nécessaire[30, 93]. La préparation d’un point 2
xG est aussi une multiplication
scalaire qui peut être calculée en utilisant l’algorithme Doublement-et-Addition (voir
algorithme 1). D’ailleurs, nous pouvons remarquer que
– L’algorithme Doublement-et-Addition ne fait que répéter le doublement de point tant
qu’il n’y a pas de bit non-zéro ;
– Le même algorithme ne peut lire qu’un seul bit à chaque itération ;
– Le scalaire 2
x du point à préparer ne détient qu’un seul bit non-zéro qui est aussi le bit
le plus significatif dans sa représentation binaire ;
– Le scalaire 2
x est plus court que la taille du corps dans lequel la courbe utilisée est
définie.
Afin d’accélérer la préparation du point 2
xG, nous proposons d’utiliser l’algorithme de
quadruplement (voir algorithme 10 où a est le paramètre de la courbe utilisée) qui nous
permet de parcourir 2 bits à chaque itération, et l’algorithme 11 qui peut calculer directement
le point 2
xG en donnant le paramètre x.
Algorithme 10 : Algorithme de quadruplement en coordonnées Jacobiennes
Données : G
′
(X1, Y1, Z1)
Résultat : 2
2G
′
(X4, Y4, Z4)
1 α = 3X
2
1
+ aZ4
1
;
2 β = α
2 − 8X1Y
2
1
;
3 γ = −8Y
4
1
+ α(12X1Y
2
1
− α
2
);
4 ω = 16aY4
1
Z
4
1
+ 3β
2
;
5 X4 = −8βγ2 + ω
2
;
6 Y4 = −8γ
4 + ω(12βγ2 − ω
2
);
7 Z4 = 4Y1Z1γ;
Les 2 algorithmes sont conçus pour le système de coordonnées Jacobiennes, avant de
les utiliser, il faut d’abord convertir le point affine G(X, Y) en point Jacobien G
′
(X, Y, 1).
Ces algorithmes nous permettent de préparer en temps réel les points nécessaires en
fonction du nombre de tâches, et les nœuds n’ont plus besoin de stocker en mémoire
l’ensemble de points précalculés.
Nous supposons que la courbe utilisée est définie dans un corps de 160 bits, pour pouvoir
paralléliser le calcul entre 2, 3 et 4 nœuds, il faut stocker dans chaque nœud 6 points
précalculés : 2
120G, 2
80G, 2
54G, 2
53G, 2
40G et G. Si chaque point est représenté par 2 coordonnées
affines, il faudra donc (160 × 2 × 6)/8 = 240 octets pour les stocker.
Sachant que généralement les systèmes embarqués ne détiennent qu’une mémoire de68 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
Algorithme 11 : Algorithme de 2
xG
′ en coordonnées Jacobiennes
Données : G
′
(X1, Y1, Z1), x ∈ Z
+
Résultat : 2
xG
′
(X2
x , Y2
x , Z2
x )
1 α1 = X1;
2 β1 = 3X
2
1
+ a;
3 γ1 = −Y1;
4 pour i ∈ [2, x] faire
5 αi = β
2
i−1
− 8αi−1γ
2
i−1
;
6 βi = 3α
2
i
+ 16i−1a(
Qi−1
j=1
γj)
4
;
7 γi = −8γ
4
i−1
− βi−1(αi − 4αi−1γ
2
i−1
);
8 fin
9 ωx = 12αxγ
2
x − β
2
x
;
10 X2
x = β
2
x − 8αxγ
2
x
;
11 Y2
x = 8γ
4
x − βxωx;
12 Z2
x = 2x
Qx
i=1
γi
;
quelques dizaines de kilo octets, la quantité de mémoire requise pour le stockage de
points précalculés est donc non négligeable. Pour évaluer leur aptitude à l’utilisation, les
résultats de test de performance sont donnés dans la section 4.6, car il faut que les
algorithmes soient assez efficaces pour ne pas ralentir la procédure du calcul parallèle.
4.4.3/ PROTOCOLE
Nous avons déjà présenté les algorithmes qui nous permettent de décomposer les tâches
de calcul, et dans cette section, nous présentons donc le protocole qui est chargé de la
coordination de la communication entre les nœuds.
Nous supposons que de déploiement de capteurs est basé sur les clusters (voir fi-
gure 4.7), car une telle topologie est prouvée plus efficace en termes de consommation
d’énergie [36, 35]. D’ailleurs, un algorithme de cryptographie symétrique peut être
appliqué pour sécuriser la distribution et la récupération des données. Nous avons déjà
expliqué dans la section 2.4.4.1 que la gestion de clés dans un cluster peut être un choix
adéquat pour la cryptographie symétrique.
Chaque cluster dispose au maximum d’un cluster-head qui est élu par les autres
membres du cluster. Les membres d’un cluster ne sont pas censés communiquer directement
avec les membres des autres clusters, ils ne dialoguent qu’avec leur cluster-head,
qui est chargé de la communication inter-cluster. Comme la plupart des communications
passent par le cluster-head, le cluster doit changer périodiquement le cluster-head pour
équilibrer la consommation d’énergie intérieure.
Nous supposons que dans une application de surveillance, les nœuds sont déployés et
regroupés dans des clusters. Les membres sont programmés pour collecter et envoyer
périodiquement des données au cluster-head, qui les agrège, compresse, chiffre et envoie
à la station de base (voir figure 4.8).
Lorsque le cluster-head détecte des données révélant un évènement critique, qui doit
être signalé immédiatement à la station de base d’une manière sécurisée, nous pouvons
demander aux autres membres disponibles du même cluster de participer au calcul4.4. PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES 69
FIGURE 4.7 – Clusters dans un réseau de capteurs
FIGURE 4.8 – Collection de données dans un réseau de capteurs
cryptographique pour accélérer la procédure de chiffrement, qui est représentée graphiquement
dans la figure 4.9 dont les explications sont données ci-dessous :
1. Les membres du cluster envoient périodiquement des données collectées au
cluster-head qui est chargé de traitement d’informations (agrégation, compression,
chiffrement etc.) ;
2. Le cluster-head détecte un événement important, et il veut utiliser le parallélisme
pour accélérer le chiffrement des informations sensibles. Pour demander de l’aide
aux autres membres, il leur diffuse une demande de participation pour identifier les
nœuds disponibles dans le cluster ;
3. Après la réception de la demande, un membre retourne une réponse {i, a} où i est
son identifiant et r est une valeur booléenne représentant sa disponibilité ;
4. Le cluster-head sélectionne, parmi les membres disponibles, les nœuds qui vont
participer au calcul parallèle. Les nœuds sélectionnés deviennent les nœuds esclaves,
alors que le cluster-head devient le nœud maître. Le maître décompose
d’abord le calcul en n parties indépendantes, ensuite il diffuse aux eslaves les70 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
Membre cluster Cluster-head
1 : Données
2 : Demande de participation
3 : Disponibilité : {i, a}
4 : Tâche de calcul : {i, t}
5 : Résultat : {r}
Calcul Calcul
FIGURE 4.9 – Procédure de multiplication scalaire parallèle
tâches de calcul {{i1, t1}, {i2, t2}, . . . , {in−1, tn−1}} où ti représente les tâches confiées
et n est le nombre de nœuds sélectionnés.
5. Les nœuds disposent maintenant les informations nécessaires pour effectuer
le traitement des tâches, une fois terminé, les esclaves renvoient les résultats
{r1,r2, . . . ,rn−1} à leur maître. Ce dernier combine l’ensemble de ri pour obtenir le
résultat final de la multiplication scalaire R, qui peut ensuite être utilisé pour chiffrer
ou signer le message à envoyer.
Après l’étude du protocole, nous pouvons remarquer que les nœuds doivent s’envoyer un
certain nombre de messages pour procéder au calcul parallèle. La gestion des communications
sans fil dans les réseaux de capteurs est une procédure compliquée qui implique
l’utilisation des autres protocoles, e.g. le protocole de gestion d’accès au médium qui
a pour objectif d’éviter des collisions durant les transmissions des paquets. Cependant,
pendant nos travaux de recherche, nous nous centralisons uniquement sur le protocole
de la couche application.
4.5/ ARITHMÉTIQUE MULTIPRÉCISION
Selon les paramètres recommandés [87], les courbes elliptiques utilisées doivent être
définies dans un corps fini dont la taille est comprise entre 112 et 521 bits, il faut donc que
les nœuds puissent gérer l’arithmétique modulaire et des nombres entiers de très grande
taille. Cependant, les systèmes embarqués sont souvent équipés des processeurs de
8 et 16-bit, qui ne peuvent pas gérer directement de grandes valeurs dont la longueur
dépasse largement leur capacité. Des algorithmes particuliers sont donc indispensables
pour implémenter les protocoles cryptographiques [34].4.5. ARITHMÉTIQUE MULTIPRÉCISION 71
4.5.1/ ADDITION ET SOUSTRACTION
Nous supposons la longueur de mot de notre processeur est W. υ est un grand nombre
entier quelconque, et υ ∈ [2W, ∞[. Sa longueur en nombre de bits est m = ⌈log2 υ⌉, et celle
en nombre de mots est t = ⌈m/W⌉. Ainsi, pour stocker υ en mémoire, il faut utiliser un
tableau A[i] où i ∈ [0, t − 1] et la longueur totale m = Wt bits. L’affectation de valeur d’un
élément peut s’écrire sous forme d’un couple (ε,z) ← ω dont
z ← ω mod 2W
ε ← 0 si ω ∈ [0, 2
W[, sinon ε ← 1
(4.6)
Les algorithmes 12 et 13 montrent les opérations à effectuer pour additionner et soustraire
2 grands nombres entiers A et B qui sont représentés de la manière ci-dessus. Nous
supposons que A, B ∈ [0, 2
Wt − 1] et leurs longueurs en nombre de mots t sont identique.
Le bit de retenue ε = 1 lorsque le résultat C < [0, 2
Wt − 1].
Algorithme 12 : Addition multiprécision A + B (mod 2Wt)
Données : A, B ∈ [0, 2
Wt[
Résultat : (ε,C) où C = A + B mod 2Wt et ε est le bit de retenue
1 (ε,C[0]) ← A[0] + B[0];
2 pour i ← 1 a (t − 1) faire
3 (ε,C[i]) ← A[i] + B[I] + ε;
4 fin
5 retourner (ε,C)
Algorithme 13 : Soustraction multiprécision A − B (mod 2Wt)
Données : A, B ∈ [0, 2
Wt[
Résultat : (ε,C) où C = A − B mod 2Wt et ε
1 (ε,C[0]) ← A[0] − B[0];
2 pour i ← 1 a (t − 1) faire
3 (ε,C[i]) ← A[i] − B[i] − ε
4 fin
5 retourner (ε,C)
Pendant nos travaux de recherche, nous avons choisi des courbes qui sont définies dans
un corps premier fini, noté Fp, et toute les valeurs à gérer sont donc comprises entre
0 et p − 1. Le calcul de l’addition et de la soustraction dans Fp est détaillé dans les
algorithmes 15 et 16.
Nous pouvons constater qu’ils sont basés sur les 2 premiers algorithmes, à l’issue de
l’exécution, nous devons tester si la valeur C ∈ [0, p − 1]. Si C < 0, alors C = C + p, mais
C = C − p si C ≥ p.
4.5.2/ MULTIPLICATION
La multiplication multiprécision est un peu plus compliquée (voir algorithme 17), mais le
principe arithmétique reste le même, au lieu de parcourir les chiffres des 2 opérandes,72 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
Algorithme 15 : Addition multiprécision A + B (mod p)
Données : p et A, B ∈ [0, p − 1]
Résultat : C = A + B (mod p)
1 (ε,C) ← Algorithme 12 où C = A + B (mod 2Wt);
2 si ε = 1 alors
3 C ← C − p;
4 sinon si C ≥ p alors
5 C ← C − p;
6 retourner C
Algorithme 16 : Soustraction multiprécision A − B (mod p)
Données : p et A, B ∈ [0, p − 1]
Résultat : C = A − B (mod p)
1 (ε,C) ← Algorithme 13 où C = A − B (mod 2Wt);
2 si ε = 1 alors
3 C ← C + p;
4 retourner C
nous parcourons les éléments des 2 tableaux A[i], B[i] où i ∈ [0, t − 1]. La longueur du
résultat C[i] peut aller jusqu’à 2t. (UV) est une nombre de longueur 2W, car c’est le produit
de 2 opérandes de longueur W (voir ligne 7 de l’algorithme 17), mais seulement les W
bits de poids fort sont stockés dans U.
Algorithme 17 : Multiplication multiprécision C = A · B où A, B ∈ [0, p − 1]
Données : A, B ∈ [0, p − 1]
Résultat : C = A · B
1 pour tous les i ∈ [0, t − 1] faire
2 C[i] ← 0;
3 fin
4 pour tous les i ∈ [0, t − 1] faire
5 U ← 0;
6 pour tous les j ∈ [0, t − 1] faire
7 (UV) ← C[i + j] + A[i] · B[j] + U;
8 C[i + j] ← V;
9 fin
10 C[i + t] ← U;
11 fin
12 retourner C
Après la multiplication, le résultat C doit encore passer à la réduction modulo p dont l’algorithme
utilisé est présenté dans plus bas dans la section suivante. L’algorithme de division
n’est pas donné, car dans les cryptosystèmes qui sont basés sur les courbes elliptiques,
nous choisissons les systèmes de coordonnées permettant d’éviter l’inverse modulaire
(voir algorithme 2) qui est considéré comme une opération extrêmement coûteuse.4.5. ARITHMÉTIQUE MULTIPRÉCISION 73
4.5.3/ RÉDUCTION MODULO
Comme les courbes elliptiques utilisées sont définies dans un corps premier fini Fp, nous
devons donc effectuer des opérations r ≡ z (mod p) tout au long du calcul des multiplications
scalaires. Nous avons choisi l’algorithme de réduction Barrett [5] qui permet
d’estimer le quotient de ⌊z/p⌋ avec des opérations moins coûteuses.
L’idée de la réduction barrett est très simple. Nous supposons que tous les nombres sont
représenté en base b, k = ⌊logb
p⌋ + 1 est le plus petit nombre tel que b
k > p, puis z mod p
peut être calculé en utilisant l’algorithme 18.
Algorithme 18 : Réduction Barrett
Données : p, b ≥ 3, z ∈ [0, b
2k − 1], µ = ⌊b
2k
/p⌋
Résultat : z mod p
1 qˆ ← ⌊⌊z/b
k−1
⌋ · µ/b
b+1
⌋;
2 r ← (z mod b
k+1
) − ( ˆq · p mod b
b+1
);
3 si r < 0 alors
4 r ← r + b
b+1
;
5 fin
6 tant que r ≥ p faire
7 r ← r − p;
8 fin
9 retourner r
Quelques caractéristiques de l’algorithme qui nous permettent d’accélérer le calcul de
modulo p sont listées ci-dessous :
– Généralement la taille p du corps dans lequel la courbe est définie et la base b ne
changent pas pendant toute la durée de vie du système, donc nous pouvons stocker
et réutiliser la valeur de µ = ⌊b
2k
/p⌋;
– La base choisie b = 2
L où L est souvent la longueur de mot du processeur, par exemple,
si nous essayons d’implémenter l’algorithme sur un processeur de 16-bit, alors L = 16 ;
– Les calculs de ⌊z/b
k−1
⌋ et de ⌊µ/b
k+1
⌋ peuvent être réalisés en faisant simplement un
décalage de bits vers la droite. Par exemple, pour calculer 10110101112/10002, il suffit
que 10110101112 décale 3 bits vers la droite, et le résultat de la division est 10110102.
Une autre méthode qui nous permet de calculer encore plus efficacement le modulo p
est proposée dans [10]. L’idée est basée sur les paramètres recommandés de NIST 1 qui
propose un ensemble de paramètres pour configurer proprement les courbes elliptiques
utilisées dans de cryptosystèmes.
p192 = 2
192 − 2
64 − 1
p224 = 2
224 − 2
96 + 1
p256 = 2
256 − 2
224 + 2
192 + 2
96 − 1
p384 = 2
384 − 2
128 − 2
96 + 2
32 − 1
p521 = 2
521 − 1
(4.7)
5 corps premier fini sont donnés (voir formule 4.7), et à part celui de p521, les exposants
1. National Institute of Standards and Technology74 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
dans les autre polynômes sont des multiples de 16, et cette propriété rend l’algorithme
de réduction modulo extrêmement efficace sur des processeurs de 16-bit.
Par exemple, nous voulons calculer c mod p où p = p192 = 2
192 −2
64 −1 et c ∈ [0, p
2 −1]. Le
nombre c peut être écrit sous forme d’un polynôme en base 32, comme la formule 4.8.
c = c112
352 + c102
320 + c92
288 + c82
256 + c72
224 + c62
192+
c52
160 + c42
128 + c32
96 + c22
64 + c12
32 + c0
(4.8)
Nous pouvons calculer le modulo p des puissances de 2 dont les exposants sont supé-
rieurs à 192 avec la congruence (voir formule 4.9).
2
192 ≡ 2
64 + 1 (mod p)
2
224 ≡ 2
96 + 2
32 (mod p)
2
256 ≡ 2
128 + 2
64 (mod p)
2
288 ≡ 2
160 + 2
96 (mod p)
2
320 ≡ 2
128 + 2
64 + 1 (mod p)
2
352 ≡ 2
160 + 2
96 + 2
32 (mod p)
(4.9)
Ainsi, le calcul de c mod p192 peut être réécrit comme la formule 4.10, et les coefficients
du polynôme sont aussi donnés dans le tableau 4.3.
2
160 2
128 2
96 2
64 2
32 2
0
c11 c11 c11
c10 c10 c10
c9 c9
c8 c8
c7 c7
c6 c6
c5 c4 c3 c2 c1 c0
TABLE 4.3 – Répartition des coefficients du polynôme c mod p192
c ≡ c112
160 + c112
96 + c112
32
+c102
128 + c102
64 + c10
+c92
160 + c92
96
+c82
128 + c82
64
+c72
96 + c72
32
+c62
64 + c6
+c52
160 + c42
128 + c32
96 + c22
64 + c12
32 + c0 (mod p)
(4.10)
La procédure de calcul est présentée dans l’algorithme 19. Nous pouvons constater que
pour calculer c mod p192 où c ∈ [0, p
2
192 −1], nous découpons d’abord c en 12 segments de
32 bits ci
, i ∈ [0, 11], qui peuvent reconstituer ensuite 8 nombres de 192 bits sj
, j ∈ [0, 7].
Enfin, pour terminer, il suffit d’additionner tous ces nombre P7
j=1
sj
. Après chaque addition,
nous comparons la somme temporaire stmp avec p192, si stmp > p192, nous devrons
faire stmp − p192 avant de passer à l’addition suivante.
Nous nous apercevons que cette méthode ne nécessite aucun calcul complexe, il suf-
fit d’effectuer quelques opérations bit-à-bit et un certain nombre de soustractions pour4.6. EVALUATION DE PERFORMANCE 75
Algorithme 19 : Réduction rapide de modulo p192 = 2
192 − 2
64 − 1
Données : c = (c11, c10, . . . , c1, c0) en base 32, et c ∈ [0, p
2 − 1]
Résultat : c mod p192
1 Définir un ensemble de nombres entiers de longueur 192 : ;
2 s1 = (c11, 0, c11, 0, c11, 0);
3 s2 = (0, c10, 0, c10, 0, c10);
4 s3 = (c9, 0, c9, 0, 0, 0);
5 s4 = (0, c8, 0, c8, 0, 0);
6 s5 = (0, 0, c7, 0, c7, 0);
7 s6 = (0, 0, 0, c6, 0, c6);
8 s7 = (c5, c4, c3, c2, c1, c0);
9 retourner (
P7
i=1
si mod p192)
calculer le modulo dans un corps premier de 192-bit. Cependant cette méthode ne fonctionne
qu’avec les corps proposés par NIST, et ne permet pas de calculer le modulo dans
un corps premier fini quelconque.
4.6/ EVALUATION DE PERFORMANCE
Afin d’évaluer la performance de notre méthode de parallélisme, nous l’avons implémentée
sur des capteurs Telosb (voir figure 4.10), un modèle conçu par Crossbow Technology
pour des usages de recherche, et les caractéristiques techniques principales de la plateforme
sont données dans le tableau 4.4.
FIGURE 4.10 – Plate-forme Telosb de Crossbow Technology
Nous pouvons constater qu’elles correspondent bien aux nœuds dont nous parlons dans
la littérature : une puissance de calcul relativement faible, accompagnée d’une mémoire
très limitée.
Processeur : 8 MHz MSP 430 16-bit MCU
Antenne Radio : CC2420 (802.15.4/Zigbee)
ROM : 48 Ko
RAM : 10 Ko
TABLE 4.4 – Caractéristiques techniques de plate-forme Telosb
Nous avons choisi nesC [29] comme langage de programmation, qui signifie network
embedded system C en Anglais, c’est un langage spécifiquement créé pour la pro-76 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
grammation événementielle, c’est aussi le langage de développement par défaut sous
Tinyos [57]. Un des avantages d’un tel programme est que son exécution est entièrement
pilotée par des événements, tant qu’il n’y a pas d’événement important, l’exécution
est automatiquement mis en pause, et cette propriété permet au nœud de minimiser la
consommation d’énergie, qui est considérée comme un des facteurs cruciaux pendant la
conception d’une application pour les réseaux de capteurs.
Tinyos est un système d’exploitation développé et maintenu par l’Université de Berkeley,
l’objectif du projet est d’insérer une couche de virtuelle pour faciliter la communication
entre la couche matérielle et la couche application. Certes, nous pouvons créer des
applications en assembleur et en C qui manipulent directement des composants maté-
riels. Cependant, premièrement, elles sont souvent difficile à maintenir, car il faut que le
développeur dispose non seulement des compétences en informatique, mais aussi des
connaissances fondamentales en électronique. Deuxièmement, ce genre de programmes
est moins portable. L’avantage principale de Tinyos est que les programmes ne sont pas
censés accéder directement aux composants matériels, toute communication doit passer
par des interfaces fournies par Tinyos, qui est chargé de l’association entre le programme
et le pilote correspondant en fonction de la plate-forme utilisée. Prenons l’exemple du langage
Java, les programmes sont compilés pour générer des bytecodes, qui peuvent être
ensuite interprétés par des machines virtuelles différentes.
Comme le but de nos travaux de recherche est d’accélérer le calcul des multiplications
scalaires sur les courbes elliptiques, notre programme essaie donc de paralléliser la tâche
de calcul Q = kG entre plusieurs nœuds voisins, le temps de calcul et la consommation
d’énergie sont respectivement mesurés et estimée. Afin d’avoir une réduction modulo
efficace, les nœuds utilisent la même courbe qui est définie dans le corps premier fini
NIS T192 [10] dont les paramètres recommandés sont donnés dans le tableau 4.5. a et
b sont les paramètres de la forme de Weierstrass simplifiée (voir formule 3.3), (xG, yG)
est le point de générateur dont l’ordre est n. Le scalaire k utilisé est un nombre entier de
longueur 160, qui est censé pouvoir fournir le même niveau de sécurité qu’une clé de
1024 bits avec RSA.
Paramètre Valeur recommandée
p 2
192 − 2
64 − 1
a −3
b 0x 6421 0519 e59c 80e7 0fa7 e9ab 7224 3049 feb8 deec c146 b9b1
xG 0x 188d a80e b030 90f6 7cbf 20eb 43a1 8800 f4ff 0afd 82ff 1012
yG 0x 0719 2b95 ffc8 da78 6310 11ed 6b24 cdd5 73f9 77a1 1e79 4811
n 0x ffff ffff ffff ffff ffff ffff 99de f836 146b c9b1 b4d2 2831
TABLE 4.5 – Paramètres recommandés du standard NIS T192
Les nœuds sont déployés dans une zone de 10m × 10m pour former un cluster dont le
cluster-head est connecté directement à un PC (voir figure 4.11), une fois allumé, les
nœuds continuent à répéter des multiplications scalaires parallèles avec des valeurs de
k aléatoires. La communication à l’intérieur du cluster, comme la distribution de tâches et
la récupération des résultats sont sécurisées avec Trivium [21], un algorithme de cryptographie
symétrique très léger qui est capable de chiffrer et déchiffrer des messages en
moins de 1 ms.4.6. EVALUATION DE PERFORMANCE 77
FIGURE 4.11 – Déploiement des nœuds pour le test de performance
4.6.1/ PARALLÉLISATION AVEC POINTS PRÉCALCULÉS
La première partie du test consiste à évaluer la performance de notre méthode de parallélisme
avec des points précalculés et stockés en mémoire locale. Les temps de calcul en
millisecondes avec et sans calcul parallèle sont donnés dans le tableau 4.6. Il est difficile
de comparer les valeurs absolues des résultats avec celles des autres implémentations à
cause des différences de technique utilisé et de scénario de test. Nous nous intéressons
seulement aux gains obtenus.
Nombre de nœuds Affine Gain Jacobien Gain
1 2307.27 1003.55
2 1189.96 48.43% 549.71 45.22%
3 861.48 62.66% 424.60 57.69%
4 665.68 71.15% 342.51 65.87%
5 583.29 74.72% 309.93 69.12%
6 581.32 74.80% 311.87 68.92%
TABLE 4.6 – Temps de calcul (ms) de notre méthode de parallélisme
Nous pouvons voir dans la figure 4.12 que le temps de calcul diminue progressivement
lorsque plus de nœuds participent au calcul parallèle. Nous supposons que le temps de
calcul avec p nœuds est Tp, nous pouvons encore évaluer la performance de notre mé-
thode avec son speedup S p qui est défini dans la formule 4.11, et les résultats de speedup
sont donnés dans le tableau 4.7 et représentés graphiquement dans la figure 4.13.78 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
FIGURE 4.12 – Temps de calcul (ms) de notre méthode de parallélisme
S p =
T1
Tp
(4.11)
Nombre de nœuds : 1 2 3 4 5 6
Affine : 1.00 1.94 2.68 3.47 3.96 3.97
Jacobien : 1.00 1.83 2.36 2.93 3.24 3.22
TABLE 4.7 – Speedup de notre méthode de parallélisme
FIGURE 4.13 – Speedup S p =
T1
Tp
de notre méthode de parallélisme
Nous pouvons remarquer une baisse d’accélération importante dès que nous utilisons
plus de 5 nœuds. Car le cluster-head a besoin de temps supplémentaire, nommé surcoût,
pour coordonner les communications radio, combiner les résultats reçus et calculer le
résultat final. Les surcoûts mesurés durant notre expérimentation sont présentés dans
le tableau 4.8 et la figure 4.14. Nous nous apercevons qu’à partir du moment où nous
utilisons plus de 5 nœuds, il y a une augmentation significative de surcoût. Ainsi, nous4.6. EVALUATION DE PERFORMANCE 79
pouvons donc en conclure que le nombre de nœuds participant au calcul parallèle doit
être limité à moins de 5.
Nombre de nœuds : 1 2 3 4 5 6
Surcoût moyen : 0.00 36.33 92.39 88.86 121.84 196.78
TABLE 4.8 – Surcoût (ms) moyen de notre méthode de parallélisme
FIGURE 4.14 – Surcoût (ms) de notre méthode de parallélisme
Pendant notre test, la courbe elliptique utilisée est définie dans un corps de 192-bit, et
les points précalculés et stockés sont représentés en coordonnées Affines (x, y) qui nous
permettent de minimiser la consommation de mémoire, car chaque point est représenté
par 2 nombres entiers de 192-bit, et il peut être transformé facilement à un point en
coordonnées Jacobiennes (x, y) → (x, y, 1) qui offre généralement un calcul plus efficace.
Nombre de nœuds : 1 2 3 4 5 6
Mémoire : 0 48 96 144 192 240
TABLE 4.9 – Mémoire nécessaire (octet) pour stocker des points précalculés
La mémoire nécessaire pour stocker des points précalculés sont donnée dans le tableau
4.9. Les plate-formes Telosb [18] et Micaz [19] disposent respectivement d’une
mémoire de données de 48 Ko et 128 Ko, qui est largement suffisante pour stoker les
points.
Un des inconvénients principaux du parallélisme est la consommation d’énergie, et ce
problème devient plus crucial pour les réseaux de capteurs, car les piles des nœuds ne
peuvent pas être changées après le déploiement, et nous accélérons le traitement de
tâches en détriment de la durée de vie du système. Nous avons déjà présenté précé-
demment que durant le calcul parallèle, plus de nœuds sont impliqués dans le calcul,
et par conséquent, plus d’énergie est consommée car les nœuds doivent échanger des
données entre eux.
Il est difficile de mesurer précisément la consommation d’énergie de chaque nœud, géné-
ralement dans la littérature, nous utilisons des simulateurs pour estimer la consommation
d’énergie. Avrora [102] est un simulateur qui est largement utilisé dans la communauté de80 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
recherche. Il est développé pour simuler le comportement des plate-formes de la famille
Mica, e.g. Mica1, Mica2 et MicaZ. Nous l’avons utilisé pour évaluer la consommation
d’énergie de notre méthode, c’est vrai qu’il n’est pas initialement conçu pour la plateforme
Telosb, mais les résultats produits (voir tableau 4.10) sont déjà suffisants pour
étudier l’impact de notre méthode sur le réseau.
Nombre de nœuds : 1 2 3 4 5 6
Énergie : 0.889 2.125 3.156 4.192 5.225 6.256
TABLE 4.10 – Consommation d’énergie (Joule) de notre méthode de parallélisme
FIGURE 4.15 – Consommation d’énergie (Joule) de notre méthode de parallélisme
Dans la figure 4.15, nous pouvons constater que lorsque le calcul est effectué sur un
seul nœud, très peu d’énergie est consommée. Cependant, quand le calcul parallèle est
utilisé, comme les esclaves doivent recevoir des tâches de leur maître et lui renvoyer des
résultats, il y a une augmentation importante de la consommation d’énergie.
Pour conclure la première partie de notre test, nous avons parallélisé le calcul des multiplications
scalaires en utilisant jusqu’à 6 nœuds, et nous avons obtenu un gain maximal
de 74.8%. Néanmoins, les résultats de simulation ont montré que le calcul parallèle
consomme trop d’énergie par rapport au calcul local. Ainsi, une utilisation abusive d’une
telle technique risque de réduire la durée de vie du réseau, et nous proposons donc
de n’utiliser le calcul parallèle que dans des cas urgents, par exemple, la détection d’un
événement crucial.
4.6.2/ PARALLÉLISATION SANS POINTS PRÉCALCULÉS
La deuxième partie consiste à tester la performance de la méthode qui nous permet
de préparer en temps réel les points 2
xG dont nous avons besoin le calcul parallèle et
de ne pas les stocker en permanence. L’idée est d’utiliser des algorithmes qui peuvent
théoriquement calculer plus rapidement que Doublement-et-Addition les points pour le
traitement de tâche. La configuration de la courbe elliptique est exactement la même que
la première partie (voir tableau 4.5).4.7. CONCLUSION 81
Nombre de nœuds : 2 3 4 5
Point calculé : 2
80G 2
53G 2
40G 2
32G
Algorithme de 2
xG : 1293 654 421 301
Algorithme de 2
2G : 465 297 228 182
TABLE 4.11 – Temps de calcul (ms) pour préparer des points 2
xG
Les temps de calcul utilisant l’algorithme de 2
xG (11) et l’algorithme de 2
2G (10) sont
donnés dans le tableau 4.11. Par exemple, nous voulons paralléliser le calcul de kG entre
2 nœuds où k est un nombre entier de 160 bits qui est décomposé en 2 segments s1
et s2, et k = 2
80 s1 + s2. Chaque nœud doit traiter une tâche de 80 bits, et le calcul peut
être réécrit comme suit kG = s12
80G + s2G. Comme le point 2
80G n’est pas précalculé
et stocké en mémoire, avant de passer au traitement de la tâche, un des 2 nœuds doit
d’abord passer 465 ms pour préparer le point. D’ailleurs, nous pouvons remarquer que
l’algorithme de 2
xG n’est pas assez efficace, il lui faut 1293 pour préparer le point 2
80G,
ce n’est donc pas un choix adéquat pour notre méthode de parallélisme.
Nombre de nœuds : 1 2 3 4 5
Temps de calcul : 1003.55 1011.04 719.93 659.51 491.26
Gain : -0.75% 28.26% 34.28% 51.05 %
TABLE 4.12 – Temps de calcul (ms) avec le parallélisme sans points précalculés
Les temps de calcul utilisant le parallélisme sans points précalculés sont donnés dans
le tableau 4.12. Les résultats ont montré que quand nous parallélisons le calcul entre 2
nœuds, il n’y a aucune accélération, le calcul a même été ralenti. Nous commençons à
avoir un gain positif lorsque plus de 3 nœuds participent au calcul, si nous comparons
avec les résultats dans le tableau 4.6, nous pourrons remarquer qu’il y a une baisse de
performance de presque 50%.
4.7/ CONCLUSION
Pour conclure la deuxième partie du test, les résultats ont montré que les algorithmes de
2
xG et de 2
2G ne sont pas aussi efficaces que prévus, notamment celui de 2
XG. En outre,
l’algorithme de 2
2G est créé pour parcourir 2 bits à la fois, mais la vitesse de calcul n’est
clairement pas doublée. Certes, le calcul parallèle avec cet algorithme peut accélérer le
calcul des multiplications scalaires sans stocker les points précalculés, il offre un gain
positif lorsque plus de 2 nœuds sont impliqués dans le calcul, mais la préparation en
temps réel du point engendre une baisse de performance importante. Sachant que nous
sacrifions l’énergie du réseau pour essayer d’atteindre une accélération la plus élevée
possible, lors que le parallélisme sans points précalculés offre un gain beaucoup moins
intéressant. Donc l’utilisation de cette méthode en pratique doit être soigneusement étudiée,
nous conseillons de l’utiliser quand la consommation de mémoire est considérée
comme un facteur important. Par exemple une application dans laquelle les nœuds n’ont
pas assez de mémoire disponible pour stocker des points précalculés.5
TOLÉRANCE AUX PANNES DANS LES
RÉSEAUX DE CAPTEURS SANS FIL
Sommaire
5.1 Objectif de la tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1 Détection de fautes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.1.2 Restauration de fonctionnalités . . . . . . . . . . . . . . . . . . . . . . 85
5.2 Sources de pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.1 Nœud défectueux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.2 Perturbation de réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.3 Dysfonctionnement de la station de base . . . . . . . . . . . . . . . . . 87
5.3 Techniques de détection de pannes . . . . . . . . . . . . . . . . . . . . . . . 87
5.3.1 Diagnostic local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.2 Diagnostic en groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.3 Diagnostic hybride . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.4 Diagnostic hiérarchique . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4 Techniques de restauration . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4.1 Réplication active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.4.2 Réplication passive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.4.3 Distribution de services . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
La tolérance aux pannes est un ensemble de techniques qui sont conçues et mises
en place pour pallier aux différents dysfonctionnements dans un système informatique.
Concrètement, un mécanisme de tolérance aux pannes peut être représenté sous différentes
formes, que ce soit un programme, un protocole ou un composant matériel, il
permet au système de continuer à fonctionner même en présence d’anomalies.
Suite au développement des technologies informatiques, d’une part, les systèmes deviennent
de plus en plus puissants pour offrir de meilleurs services aux utilisateurs.
D’autre part, la complexité des fonctionnalités fournies rendent en même temps les systèmes
plus fragiles face aux différentes pannes inattendues. Parfois un système sans
protection risque d’être complètement suspendu à cause d’une petite erreur pendant son
fonctionnement. Ainsi, aujourd’hui la tolérance aux pannes est devenue une partie incontournable
durant la conception de tout système informatique moderne.
Par rapport aux systèmes qui fonctionnement totalement en local, la tolérance aux
pannes dans des architectures distribuées est un problème beaucoup plus difficile. Notamment
dans les réseaux de capteurs, qui sont constitués d’un grand nombre de nœuds
8384 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
ayant une puissance de calcul faible et des ressources très limitées. D’ailleurs, dans un tel
réseau, toute échange de données doit passer par des connexions sans fil, qui ne sont
généralement pas suffisamment fiables et souffrent des interférences et des attaques
extérieures.
Des mécanismes traditionnels de tolérance aux pannes ne sont pas directement applicables
aux réseaux de capteurs. Comme nous l’avons présenté précédemment, les
nœuds ne sont pas assez puissants pour gérer des algorithmes et des protocoles très
complexes. En outre, les réseaux de capteurs sont initialement conçus pour être dé-
ployés dans des zones où l’intervention humaine n’est pas toujours possible, et il n’y a
aucun intérêt à construire un tel réseau, s’il n’est pas assez robuste pour endurer des
environnements inconnus et potentiellement hostiles. Il est donc important de développer
spécifiquement de nouvelles techniques moins coûteuses pour assurer la fiabilité des
réseaux de capteurs.
Une autre raison pour laquelle la tolérance aux pannes est une technique indispensable
est que les réseaux de capteurs sans fil sont un domaine de recherche et d’ingénierie
relativement récent. Certaines applications développées pour ce domaine ne sont pas
encore matures et stables, et beaucoup de problèmes sont encore en discussion pour
trouver la meilleure solution [46].
Dans ce chapitre, nous présentons d’abord les objectifs de la tolérance aux pannes et
les sources possibles des pannes, ensuite nous donnons un état de l’art de l’ensemble
de techniques existantes qui nous permettent de détecter des pannes et de restaurer le
bon fonctionnement du système dans les réseaux de capteurs.
5.1/ OBJECTIF DE LA TOLÉRANCE AUX PANNES
L’objectif de la tolérance aux pannes est constitué principalement de 2 parties, qui est
respectivement la détection de pannes et la restauration de fonctionnalité. Avant de donner
des explications détaillées, il faut d’abord comprendre la différence entre faute, erreur
et faillite [105]. En effet, les pannes dans les réseaux de capteurs peuvent être classifiées
en 3 niveaux :
– Faute : il s’agit d’une sorte de dysfonctionnement matériel ou logiciel qui peut causer
des erreurs, par exemple, un défaut matériel ou un bogue de programme.
– Erreur : une erreur représente un état anormal du système qui peut éventuellement
conduire le système à une faillite totale.
– Faillite : la manifestation des erreurs qui se produit lorsque le système a dévié de sa
spécification et ne peut plus livrer des fonctionnalités prévues.
5.1.1/ DÉTECTION DE FAUTES
Théoriquement, il est impossible d’éviter complètement des fautes, et les anomalies qui
surviennent durant le fonctionnement du réseau ne sont pas toujours prévisibles. Par
contre, il est possible de capturer un état erroné du système et de faire le nécessaire
pour qu’il puisse continuer à fonctionner, même d’une manière réduite.
Après le déploiement et le mise en service d’un réseau, les nœuds doivent effectuer pé-5.2. SOURCES DE PANNES 85
riodiquement des opérations diagnostiques pendant la transmission et traitement de données.
Lorsqu’une erreur est détectée, ils la signalent immédiatement aux autres nœuds
qui s’en occupent pour réagir le plus vite possible.
Plusieurs techniques sont proposées pour gérer efficacement la procédure de diagnostic,
une présentation plus détaillées sur la détection d’erreurs est donnée dans la section 5.3.
5.1.2/ RESTAURATION DE FONCTIONNALITÉS
Une fois l’erreur détectée et localisée, il faut que le réseau réagisse rapidement, il peut
soit isoler la partie en panne, soit essayer de la réparer. Le but est de laisser le ré-
seau continuer de fonctionner. Une méthode qui est largement utilisée est la redondance.
C’est-à-dire que les composants qui sont essentiels pour le bon fonctionnement du système
sont répliqués pour augmenter sa fiabilité en cas de pannes sévères. Dans un
réseau de capteur, les composants à répliquer sont souvent des nœuds assurant des
services particuliers, par exemple les nœuds passerelles dans des protocoles de routage.
Les nœuds ne sont pas capables de gérer des mécanismes très complexes, c’est aussi
la raison pour laquelle les nœuds sont censés être déployés en masse, car nous pouvons
souvent trouver un grand nombre de nœuds qui sont disponibles. Nous pouvons les
utiliser pour soit substituer les nœuds en panne, soit assurer simultanément une seule
fonctionnalité.
5.2/ SOURCES DE PANNES
Nous donnons dans cette section une liste de sources principales des différentes pannes
dans les réseaux de capteurs [70] avec une expérimentation réalisée sur capteurs SAW.
5.2.1/ NŒUD DÉFECTUEUX
Un nœud est composé de différents composants matériels et piloté par des logiciels, qui
subit éventuellement des pannes tout au long de son fonctionnement. Par exemple le
boitier du nœud risque d’être cassé suite à des impacts physiques, qui peuvent endommager
des matériels encapsulés dedans [64, 100, 98]. Dans [50], durant le déploiement
des nœuds dans un champs de pommes de terre, les chercheurs ont trouvé que les
antennes des nœuds sont tellement fragiles qu’elles émettent de temps en temps des
signaux erronés. En outre, lorsque le niveau de pile d’un nœud devient faible, il y a des
chances que ses composants ne puissent plus fonctionner correctement.
Dans [103], les nœuds sont déployés dans une forêt pour mesurer la température. Pendant
les expérimentations, les chercheurs ont détecté beaucoup de données incohé-
rentes. Certains nœuds ne produisent aucune donnée correcte pendant tout le test, les
autres peuvent fonctionner au début du test, mais produisent aussi des données erronées
avant l’épuisement de pile. On peut donc en déduire que la génération des données erronées
est fortement corrélée à l’épuisement de la pile. Dans cette application, les chercheurs
ont trouvé que lorsque le voltage de la pile n’est pas compris entre 3 et 2.4 volts,86 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
le nœud commence à produire des données incohérentes. Certains nœuds envoient des
températures de plus de 150 degrés quand le voltage est en dessous de 2.4 volts.
Dans notre projet européen INTERREG MainPreSi [68], on a installé des capteurs dans
une machine pour aider l’entreprise TORNOS à mieux gérer son outil de production. On
a utilisé 2 types de dispositif (voir figure 5.1) :
– Capteur SAW 1 qui fonctionne d’une manière passive, sans alimentation, et il peut être
interrogé par des ondes radiofréquence à distance pour mesurer la température, la
pression et les vibrations.
– Interrogateur qui émet des requêtes aux capteurs passifs et reçoit des données. Il est
équipé d’un micro-contrôleur STM32, et il communique avec le capteur passif et les
autres interrogateurs par la technique de multi-saut.
Interrogateur Capteur SAW
FIGURE 5.1 – Dispositifs utilisés dans le projet MainPreSi
Pendant les tests, on a constaté aussi des valeurs de température aberrantes. Après
l’analyse des données générées, on a trouvé que les données erronées sont dues à une
irrégularité des puissances des ondes qui interrogent les capteurs SAW. Pour que le capteur
lise correctement la température, il faut que PRX > 800 pour les capteurs mobiles, et
PT X ≤ 31∧PRX = 3000 pour les capteurs fixes, où PT X représente la puissance d’émission
et PRX est celle de réception.
Des pannes matérielles peuvent causer aussi des anomalies du logiciel installé. Par
exemple, dans une application de collection de données, le programme ne peut pas effectuer
correctement des traitements, si les composants de capture ne renvoient pas de
données correctes. Une autre possibilité est le bogue, si le programme utilisé n’est pas
strictement débogué avant l’installation, et il est installé sur les nœuds avec des bogues
cachés, il y a des chances que le réseau tombe en panne bout d’un certain temps.
5.2.2/ PERTURBATION DE RÉSEAUX
Le routage est une fonctionnalité essentielle des réseaux de capteurs, c’est une technique
fondamentale dont nous avons besoin pour la transmission de données. Des dys-
1. Surface Acoustic Wave5.3. TECHNIQUES DE DÉTECTION DE PANNES 87
fonctionnements au niveau de routage peuvent engendrer des pertes et le retard de messages.
Généralement, dans un réseau de capteurs, les connexions entre les nœuds ne sont pas
considérées comme très fiables, et le taux de délivrance des messages varie fortement
selon les conditions ambiantes. L’expérimentation effectuée dans un champ agricole [101]
montre aussi qu’il y a une baisse du taux de délivrance lorsque les plantes commencent
à pousser.
Dans [97], les chercheurs ont construit un réseau de capteurs pour surveiller l’habitat
des goélands. L’expérimentation a duré 115 jours avec 650,000 lectures effectuées par
98 nœuds déployés. Les fichiers de log ont montré un taux de délivrance des paquets
très faible et une instabilité des connexions sans fil. Pendant le premier jour, les nœuds
qui se situaient à un saut de la station de base ont assuré un taux de délivrance de 70%,
alors que celui des nœuds à multi-sauts était seulement 58%. Pendant les jours restants,
presque un quart des nœuds ont fonctionné avec un taux de délivrance de 35%. Le
protocole de routage utilisé est considéré comme la cause principale de cette inefficacité
du réseau, car il demande aux nœuds de choisir toujours le chemin le plus sûr. De ce
fait, 80% des paquets sont passés par les 20% des chemins disponibles. Les piles des
nœuds qui se situe sur ces chemins ont été épuisées au bout d’un jour et demi.
Il existe encore beaucoup d’autres causes possibles, par exemple la collision, comme
les nœuds partagent le même médium pour la transmission de données, des collisions
peuvent se produire lorsque plusieurs nœuds essayent d’émettre des signaux en même
temps [98].
5.2.3/ DYSFONCTIONNEMENT DE LA STATION DE BASE
Toujours dans une application de collection de données, afin de faciliter et fluidifier la
communication radio, l’ensemble d’informations collectées est agrégée au fur et à mesure
durant leur transmission. Elles se propagent d’un nœud à l’autre pour aller jusqu’à leur
destination finale, la station de base. Cette dernière peut aussi être victime des attaques
extérieures et vulnérable aux différentes pannes.
Si aucun mécanisme de protection n’est appliqué, le réseau risque d’être complètement
isolé. La station de base est la seule interface entre les nœuds et les utilisateurs, lorsqu’elle
tombe en panne, les utilisateurs ne pourront plus accéder aux services fournis
par le réseau, et dans l’autre sens, les nœuds ne pourront plus à envoyer données ou
recevoir des commandes des utilisateurs.
Comme celles des nœuds déployés à distance, les pannes au niveau de la station de
base peuvent aussi être causées par des dysfonctionnements matériels, ou des bogues
qui se cachent dans le programme exécuté.
5.3/ TECHNIQUES DE DÉTECTION DE PANNES
La détection de pannes est une procédure cruciale, sans laquelle le système ne peut
pas choisir et prendre la réaction adaptée pour minimiser les impacts, et les services
qu’il fournit risque d’être suspendus. Il s’agit généralement d’un diagnostic du fonctionnement
d’un composant spécifique, parfois, nous essayons aussi d’avoir une prédiction de88 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
pannes, c’est-à-dire une analyse des symptômes observés.
Dans un réseau de capteurs, les nœuds sont censés être déployés en masse, et une
maintenance manuelle n’est pas intéressante du tout, car trop coûteuse et compliquée.
Dans cette section, nous présentons un ensemble de techniques qui nous permettent
d’automatiser la procédure de détection de pannes dans les réseaux de capteurs.
5.3.1/ DIAGNOSTIC LOCAL
Dans certains cas, un nœud est capable de détecter des erreurs en faisant un diagnostic
local. Afin de tester les connexions avec ses voisins, une table de routage contenant les
identifiants des voisins est crée en mémoire locale, le nœud diffuse périodiquement des
paquets de test aux voisins et attend des réponses. Le nœud est soupçonné d’être isolé,
si aucun voisin ne lui répond, ou ils répondent, mais avec une puissance de signal très
faible.
Un autre paramètre important qui peut être testé en local est le niveau de pile. Un nœud
peut prévoir des pannes en mesurant régulièrement le voltage de la pile [7, 83]. Il existe
des algorithmes qui permettent d’estimer la durée de vie d’un nœuds en analysant la
courbe de décharge de la pile et son taux de décharge, comme sur les téléphones mobiles,
le système peut afficher à l’utilisateur le niveau de batterie actuel. Lorsqu’un nœud
détecte que sa pile est bientôt épuisée, il peut diffuser un message d’avertissement à
ses voisins qui effectuent ensuite un ensemble d’opérations nécessaires pour l’exclure
du réseau.
Dans certains cas, les données aberrantes peuvent être corrigées immédiatement après
la détection. Comme dans [103], on sait que le composant de capture fonctionne correctement
si le voltage de pile v ∈ [2.4, 3.0]. On peut donc demander aux nœuds de lire des
données en parallèle avec le voltage, si v < [2.4, 3.0], la donnée sera éliminée et la lecture
sera refaite. Idem dans [68], on a les intervalles des puissances PT X et PRX, dans lesquels
les capteurs peuvent fonctionner correctement, durant la réception des données, celles
qui sont mesurées avec des puissances inappropriées sont éliminées.
5.3.2/ DIAGNOSTIC EN GROUPE
Il est aussi possible de détecter des erreurs du système causées par des valeurs erronées,
si les nœuds disposent d’une valeur de référence. Une application qui est largement
utilisée est la collection de données, nous supposons que les nœuds qui se trouvent
dans la même zone sont censés capturer des valeurs similaires. Si nous trouvons une
valeur qui possède une grande différence par rapport aux autres, cela est souvent considéré
comme un symptôme d’erreur. Des algorithmes sont proposés dans [23, 48], ils
peuvent calculer la probabilité qu’un nœud soit défectueux en se basant sur les données
collectées.
Dans [82], les auteurs proposent de détecter des erreurs en testant l’incohérence des
données collectées. Par exemple nous déployons des nœuds dans une chambre pour
mesure la température ambiante. Un nœud est soupçonné être en panne, s’il renvoie
des valeurs extrêmement élevées, tandis que les autres retournent des valeurs similaires
et normales.5.3. TECHNIQUES DE DÉTECTION DE PANNES 89
Nous supposons qu’un ensemble de nœuds S = {s1, s2, . . . , sn} est déployé sous forme
d’un arbre (voir figure 5.2), et à chaque intervalle temporel ∆k, un nœud si crée un vecteur
x
i
k
contenant des données capturées x
i
k
= {v
i
k j : j = 1 . . . d}. Après m lecture, le nœud
crée une collection de données Xi = {x
i
k
: k = 1 . . . m}, qui est envoyée à son nœud
parent sj
. Ce dernier fusionne Xi avec sa propre collection Xj
, et continue à envoyer la
nouvelle collection à son parent. Ainsi, la collection remonte dans l’arbre d’un nœud à
l’autre jusqu’à la station de base.
FIGURE 5.2 – Exemple de la topologie d’arbre
Deux approches sont proposées pour la détection d’erreurs. Dans le cas de détection
centralisée, après la réception de la collection, la station de base applique un algorithme
de clustering [25] à l’ensemble de données reçues. L’objectif est de représenter les données
par des points dans un système de coordonnées cartésiennes, et de regrouper les
points dans des clusters. 2 points sont placés dans le même cluster, si la distance euclidienne
entre eux est inférieure au seuil choisi. Les points qui se situent en dehors des
clusters représentent des données probablement corrompues, et elles sont donc ignorées.
En traçant l’origine de ces données, la station de base peut identifier les nœuds
défectueux.
L’inconvénient de cette approche est le coût de transmission, car il faut mobiliser entièrement
le réseau pour effectuer un diagnostic. La 2e approche utilise une détection
distribuée, c’est-à-dire l’algorithme de clustering est appliqué au fur et à mesure durant
la transmission des données. Cette méthode nous permet de détecter des erreurs plus
vite, et comme les données erronées sont ignorées après le clustering, la quantité de
données à transmettre peut être considérablement réduite.
Dans certains cas, les nœuds sont programmés pour renvoyer des valeurs identiques, par
exemple, les nœuds qui sont affectés délibérément à la même tâche. La récupération des
résultats peut être considérée comme une sorte de vote, si un nœud renvoie une valeur
qui est différente des autres, alors soit la valeur est corrompue durant la transmission,
soit le nœud est défectueux.
Il est aussi possible de détecter des pannes en surveillance les réactions des nœuds [63].
Si les nœuds sont programmés pour recevoir des requêtes des autres et fournir des services
demandés, nous pouvons vérifier si les requêtes sont correctement reçues par un
nœud spécifique en observant son comportement. Si le nœud en question ne réagit pas
comme il faut, soit il est défectueux, soit la connexion entre les 2 nœuds est perturbée.90 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
5.3.3/ DIAGNOSTIC HYBRIDE
C’est en effet la combinaison des 2 modes de diagnostic présentées ci-dessus. C’est-à-
dire que les nœuds effectuent d’abord chacun un diagnostic local, mais il y a toujours des
chances que les résultats ne soient pas assez précis. Ensuite les nœuds échangent les
résultats du diagnostic local pour faire un diagnostic de groupe.
Dans [15], Chen et al. proposent d’utiliser en même temps les diagnostics locaux et
en groupe. Les nœuds sont déployés aléatoirement dans une zone, et nous supposons
que chaque nœud possède au moins 3 voisins. Généralement, un réseau de capteurs
contient un grand nombre de nœuds, et cette condition peut souvent être satisfaite facilement.
Après le déploiement d’un ensemble de nœuds S , et |S | = n, un nœud quelconque S i dispose
d’un certain nombre de voisins N(S i), et |N(S i)| = k. Le nœud est programmé pour
collecter périodiquement des données ambiantes xi
, et il peut comparer ses données
collectées avec celles de ses voisins. d
t
i j représente la différente d’une donnée collectée
au moment t entre S i et son voisin S j
, et ∆d
∆t
i j signifie la différence d’une donnée entre
S i et S j pendant la période ∆t. Un paramètre Ti ∈ {LG, LF,GD, FT} est utilisé pour représenter
l’état de fonctionnement d’un nœud, où les valeurs signifient respectivement
probablement bon, probablement défectueux, bon et défectueux.
Algorithme 20 : Algorithme de diagnostic local
1 pour tous les S i ∈ S faire
2 pour tous les S j ∈ N(S i) faire
3 ci j ← 0;
4 Calculer d
t
i j;
5 si |d
t
i j| > θ1 alors
6 Calculer ∆d
∆t
i j ;
7 si |∆d
∆t
i j | > θ2 alors
8 ci j ← 1;
9 fin
10 fin
11 fin
12 fin
Lorsque le diagnostic est lancé, dans un premier temps, les nœuds appliquent localement
l’algorithme 20, où θ1 et θ2 sont 2 seuils prédéfinis, et ci j ∈ {0, 1} est le résultat du
diagnostic, ci j = 0 si les états de fonctionnements des 2 nœuds sont identiques, sinon
ci j = 1. L’idée de l’algorithme est toujours basée sur la supposition que les nœuds qui sont
près l’un de l’autre sont censés avoir des données similaires. Si la différence de donnée
dépasse θ1 (ou θ2 pour une période ∆t), les 2 nœuds ont des états de fonctionnements
différents, par exemple, un des 2 nœuds est défectueux.
Après le diagnostic local, le nœud essaie de déterminer son état possible à l’aide de
l’algorithme 21 qui analyse les résultats ci j. Le nœud S i est probablement en bon état, si
son état de fonctionnement est identique que ceux de la plupart de voisins.
Pour rendre le résultat de diagnostic plus précis, il faut que le nœud S i passe ensuite au
diagnostic en groupe (voir algorithme 22). Si S i et plus de 3/4 de ses voisins possèdent5.3. TECHNIQUES DE DÉTECTION DE PANNES 91
Algorithme 21 : Détermination de l’état de fonctionnement possible
1 si P
S j∈N(S i) ci j < ⌈|N(S i)|/2⌉ alors
2 Ti ← LG;
3 sinon
4 Ti ← LF;
5 fin
6 Diffuser Ti aux voisins;
Algorithme 22 : Algorithme de diagnostic mutuel
1 si P
S j∈N(S i) et T j=LG(1 − 2ci j) ≥ ⌈|N(S i)|/2⌉ alors
2 Ti ← GD;
3 fin
4 Diffuser Ti aux voisins;
l’état de fonctionnement LG, alors S i est considéré comme en bon état.
Algorithme 23 : Détermination de l’état de fonctionnement
1 pour i ← 1 a n faire
2 si Ti ∈ {LG, LF} alors
3 si T j = GD, ∀S j ∈ N(S i) alors
4 si ci j = 0 alors
5 Ti ← GD;
6 sinon
7 Ti ← FT;
8 fin
9 fin
10 fin
11 fin
Ensuite pour les nœuds restant, nous utilisons l’algorithme 23 qui peut parcourir tous les
nœuds. Si tous les voisins de S i sont en bon état, et celui de S i est identique que ceux
de ses voisins, alors S i est en bon état aussi, sinon, S i est défectueux.
Cette approche divise la procédure de diagnostic en 2 parties, elle demande d’abord
aux nœuds d’effectuer un diagnostic local qui renvoie un résultat représentant l’état de
fonctionnement d’un nœud. Ensuite les nœuds échangent les résultats de diagnostic
local avec leurs voisins, et en se basant sur les résultats reçus, ils peuvent calculer un
deuxième résultat de diagnostic qui est plus précis.
Néanmoins, cette méthode ne permet pas d’effectuer un diagnostic partiel du réseau,
car le résultat d’un nœud dépend tout le temps ceux de ses voisins, et pour tester les
voisins, il faut mobiliser encore plus de nœuds. Ce genre de fonctionnement engendre
une consommation de ressource assez importante, et la méthode n’est pas applicable
dans les cas où nous voulons tester seulement quelques nœuds qui sont déployés dans
une zone particulière.92 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
5.3.4/ DIAGNOSTIC HIÉRARCHIQUE
La détection hiérarchique utilise la topologie du réseau pour la détection de pannes [90].
Nous supposons que les nœuds forment un arbre dans lequel chaque nœud peut avoir
un ou plusieurs nœuds enfant, et chaque enfant ne possède qu’un seul nœud parent (voir
figure 5.2).
Chaque nœud effectue périodiquement un diagnostic local qui génère un ensemble de
données représentant son état de fonctionnement. Ensuite ces données sont envoyées
directement à son nœud parent, qui les agrège en ajoutant ses propres données de
diagnostic, et renvoie à son parent. Ainsi, les données remontent d’un nœud à l’autre,
jusqu’à ce qu’elles arrivent à la station de base. A la fin de la procédure, la station de
base dispose d’une base de données contenant toutes les informations nécessaires qui
représentent l’état de fonctionnement de tout le réseau.
L’avantage d’un tel mécanisme est qu’il s’adapte parfaitement à la taille du réseau, quel
que soit le nombre de nœuds déployés, la station de base peut toujours avoir une surveillance
globale du réseau en diffusant une requête qui descend des nœuds parent aux
nœuds enfant. Néanmoins, il faut mobiliser tous les nœuds pour effectuer un seul diagnostic,
la transmission des données engendre une consommation de ressources très
importante.
Une autre méthode alternative est d’utiliser seulement un sous-ensemble de nœuds et la
station de base pour la détection de pannes [95]. Une fois les nœuds déployés, chacun
envoie ses données de topologie (voisins, coût de connexion etc.) à la station de base
qui peut construire chez elle la topologie entière de tout le réseau. Quand les nœuds
détectent un nœud silencieux, c’est-à-dire un nœud qui ne répond plus aux requêtes, ils
envoient des données nécessaires à la station de base pour que cette dernière puisse
faire une mise à jour de topologie. Idem dans le sens descendant, si la station de base
veut effectuer un changement de route, elle n’envoie la commande qu’aux nœuds concernés.
Cependant ce mécanisme n’est pas applicable aux applications événementielles dans
lesquelles les nœuds ne communiquent qu’en cas de détection d’un événement important
prédéfini, et la station de base ne peut pas avoir une vision globale du réseau en
temps réel.
Une autre approche basée sur les clusters est présentée dans [91]. Chaque cluster-head
est chargé de la surveillance de ses membres, et les cluster-heads sont directement
surveillés par la station de base. Pour effectuer un diagnostic, la station de base et les
cluster-heads effectuent des commandes ping vers les nœuds qui sont sous leur supervision
directe. S’ils détectent un nœud qui ne répond pas à la commande ping, alors il
sera considéré comme défectueux et sera éventuellement exclu du réseau.
5.4/ TECHNIQUES DE RESTAURATION
Les techniques de restauration sont souvent mises en place pour augmenter la fiabilité
et la sûreté d’un système, car elles lui permettent de continuer à fonctionner malgré la
présence des pannes. Beaucoup de méthodes sont proposées dans la littérature, alors
que la plupart est basée sur la réplication des composants qui sont essentiels pour le5.4. TECHNIQUES DE RESTAURATION 93
bon fonctionnement du système. La redondance peut être considérée comme une mé-
thode adéquate pour les réseaux de capteurs, car les nœuds sont déployés en masse, et
il existe souvent des nœuds disponibles pendant la durée de vie du réseau. Cependant
comme de nombreux nœuds sont impliqués dans le fonctionnement du réseau, le système
consomme plus de ressources. Dans cette section, nous présentons un ensemble
de techniques de tolérance aux pannes qui sont basées sur la redondance.
5.4.1/ RÉPLICATION ACTIVE
L’idée est de déployer délibérément plusieurs nœuds pour assurer la même fonctionnalité.
Par exemple, nous déployons plusieurs nœuds dans une zone pour effectuer une
collection de données ambiantes. Lorsqu’un nœud tombe en panne, les autres qui se
situent dans la même zone peuvent continuer à envoyer des données à la station de
base.
5.4.1.1/ REDONDANCE DE CHEMIN DE ROUTAGE
Durant la conception d’un protocole de routage, il faut prendre en compte le fait que les
nœuds qui se situent proche de la station de base sont relativement plus chargés pour la
transmission de données, et leurs piles risquent d’être épuisées beaucoup plus vite par
rapport aux autres. Pour que le réseau soit tolérant aux pannes, il ne faut pas que tout le
réseau soit hors service à cause du dysfonctionnement de seulement quelques nœuds.
Dans un réseau tolérant aux pannes, les nœuds doivent être k-connecté, c’est-à-dire que
chaque nœud doit posséder k connexions avec le reste du réseau, même s’il perd k − 1
connexions, le nœud restera tout de même connecté [58].
[13] propose une topologie tolérante aux pannes pour les réseaux de capteurs hété-
rogènes. 2 types de nœuds sont utilisés, les nœuds de capture sont moins coûteux,
mais très limités en ressources, ils sont déployés aléatoirement en grand nombre pour
la collection des données ambiantes. Les nœuds de passerelle sont beaucoup moins
nombreux, mais ils sont plus puissants, et leurs antennes peuvent avoir une portée plus
étendue. Les nœuds de passerelle sont déployés pour récupérer des données collectées
par des nœuds de capture, et transmettre ces données à la station de base. Une telle
architecture est prouvée plus avantageuse en termes de performance et de durée de vie
(voir figure 5.3).
Les nœuds de capture doivent être k-connectés, c’est-à-dire que chaque nœud de capture
doit posséder k chemins distincts pour rejoindre un des nœuds de passerelle. Même
un nœud de capture perd les autres k−1 connexions, il reste tout de même connecté avec
les nœuds passerelles, et les données qu’il collecte peuvent toujours être renvoyées à la
station de base. Par exemple, dans la figure 5.4, nous avons un réseau 3-connecté, dans
lequel les nœuds de capture peuvent résister jusqu’à 2 chemins perturbés.
5.4.1.2/ REDONDANCE DE DONNÉES COLLECTÉES
Afin d’assurer la collection de données dans une zone, nous pouvons y déployer plusieurs
nœuds, car les valeurs ambiantes capturées sont censées être similaires. Généralement94 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
FIGURE 5.3 – Déploiement d’un réseau de capteurs hétérogène
FIGURE 5.4 – Exemple d’un réseau hétérogène 3-connecté
les données capturées sont ensuite envoyées à un autre nœud qui est chargé de l’agré-
gation et de la transmission vers la station de base. Même si quelques nœuds tombent
en panne, tant qu’il reste encore des nœuds opérationnels dans la zone, nous pouvons
continuer à surveiller la zone malgré une perte de précision envisageable.
5.4.2/ RÉPLICATION PASSIVE
Quant à la réplication passive, nous mettons en place plusieurs nœuds aussi pour assurer
la même fonctionnalité, mais seul le nœud principal est utilisé pour la réception et le
traitement de tâches. Les données sont synchronisées entre le nœud principal et les
nœuds de secours, c’est-à-dire que les nœuds de secours reçoivent aussi les tâches,
mais ils restent inactifs tant que le nœud principal est encore opérationnel.
Lorsque le nœud principal tombe en panne, nous devons en choisir un parmi les nœuds
de secours pour prendre le relais. La réplication passive est souvent considérée comme
le choix optimal pour les réseaux de capteurs, car les nœuds de secours ne consomment
pas beaucoup de ressource tant qu’aucune panne n’est détectée. L’application de la ré-
plication passive est réalisée selon 3 phases, qui sont respectivement la détection de5.4. TECHNIQUES DE RESTAURATION 95
pannes, la sélection du nœud principal et la distribution de service. La première phase
est déjà discutée dans la section 5.3, et les 2 autres sont présentées ci-dessous.
5.4.2.1/ SÉLECTION DE NŒUD PRINCIPAL
Les nœuds sont programmés et déployés pour fournir des services, lorsqu’un nœud est
en panne, il faut que nous trouvions un autre qui peut le remplacer, et le nœud sélectionné
devient le nouveau fournisseur de services. Il existe plusieurs approches dans la
littérature :
5.4.2.2/ SÉLECTION EN GROUPE
Comme la plupart des protocoles de routage basés sur le clustering [36, 35], le clusterhead
est chargé de la récupération et la transmission des données collectées par les
autre nœuds qui se situent dans le même cluster, et il est logique que le cluster-head
consomme plus de ressources et sa pile se vide plus vite par rapport aux autres membres
du cluster, notamment dans des réseaux homogènes, les cluster-heads ne détiennent
pas plus de ressources que les autre membres. Lorsque le niveau d’énergie restante
du cluster-head est très faible, il faut que les autres nœuds lancent un vote en prenant
compte les paramètres cruciaux (énergie, distance, connexion etc.) pour choisir un nouveau
cluster-head.
5.4.2.3/ RÉAFFECTATION DE MEMBRES
À partir d’un réseau de capteurs hétérogène dont les nœuds sont regroupés en clusters,
et où les cluster-heads déployés sont plus puissants que les membres ordinaires,
nous ne changeons pas de cluster-head. Chaque membre d’un cluster doit stocker non
seulement l’identifiant de leur cluster-head actuel, mais aussi celui de son cluster-head
de secours. Normalement le cluster-head de secours est le cluster-head d’un autre cluster
qui se trouve à proximité. Quand le cluster-head actuel ne peut plus fonctionner, le
membre envoie une demande à son cluster-head de secours pour être réaffecté au nouveau
cluster [31].
5.4.3/ DISTRIBUTION DE SERVICES
Une fois le nouveau nœud sélectionné, il faut qu’il soit immédiatement activé, et qu’il
détienne toutes les informations nécessaires pour continuer le traitement de tâches. Dans
certaines applications, les nœuds déployés utilisent le même code, et les données sont
synchronisées entre le nouveau et l’ancien nœud principal, il suffit alors de donner un
simple message au nouveau nœud pour lui signaler le changement de rôle. Dans les
autres cas, par exemple lorsque les nœuds n’ont pas assez de mémoire pour stocker le
code de tout type de service, il faut donc que le code manquant soit distribué au nouveau
nœud principal, et qu’il soit reprogrammé pour s’adapter à la nouvelle fonctionnalité.96 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
5.4.3.1/ DISTRIBUTION DE CODES
Il s’agit de la dissémination des morceaux de code dans le réseau. Dans [56], un interpréteur
de bytecode pour Tinyos est développé et installé sur des nœuds, et les programmes
sont décomposés en morceaux de 24 instructions. Lorsqu’une mise à jour de
code est demandée, les morceaux de code du nouveau programme sont envoyés et installés
sur le nœud qui les exécute avec l’interpréteur. Cependant cette méthode demande
une connexion assez fiable, car il faut que le programme à installer soit entièrement acheminé
chez son destinataire. Le nœud ne peut pas se lancer tant que le programme utilisé
n’est pas correctement mis à jour.
5.4.3.2/ DISTRIBUTION DE TÂCHES
Les programmes installés sur les nœuds sont identiques et seules les données représentant
les tâches à effectuer sont envoyées au nouveau nœud sélectionné.
Les nœuds utilisent toujours le même programme qui peut être configuré en fonction
de différents besoins. Pour modifier les fonctionnalités d’un nœud, il suffit de lui fournir
l’ensemble des informations de configuration pour les nouvelle tâches.
Deluge [37] est une architecture spécifiquement conçue pour la dissémination de données.
Les données sont représentées par des objets, qui sont sérialisés et divisés en
pages de taille identique, et chacune est encore constituée d’un certain nombre de paquets
(voir figure 5.5). Le paquet est l’unité la plus petite utilisée dans Deluge, et chacun
est numéroté avec un nombre représentant la version des données qu’il contient.
FIGURE 5.5 – Structures de données utilisées dans Deluge
Dans Deluge, après chaque mise à jour de données, un nœud S diffuse périodiquement
aux voisins qui se situent dans sa portée radio la version la plus récente des données qu’il
détient. Un voisin R qui reçoit le message lui demande une liste complète des objets avec
les numéros de version correspondants. Avec cette liste, R peut identifier les objets locaux
qui nécessitent aussi une mise à jour. Pour une raison de performance, les messages
redondants sont rejetés pendant les communications. Par exemple si 2 nœuds se situent
l’un à côté de l’autre, une seule demande de données est envoyée.
L’architecture elle-même utilise aussi des mécanismes qui lui offrent un minimum de sû-
reté. Après la réception d’une demande de données, le nœud S commence à envoyer à R5.5. CONCLUSION 97
des paquets contenant des données demandées. Pour assurer la fiabilité de transmission
de données, le contrôle de redondance cyclique (CRC) est appliqué à tous les paquets
envoyés. Un paquet devra être renvoyé à nouveau, si le contrôle échoue. D’ailleurs, si le
voisin perd la connexion durant la transmission de données, il va réessayer de demander
les données manquantes. S’il n’arrive toujours pas à rétablir la connexion au bout d’un
certain nombre d’essais, il va choisir à un autre nœud qui possède les données dont il a
besoin.
5.5/ CONCLUSION
Dans ce chapitre nous avons présenté les techniques de tolérance aux pannes et leur
application dans les réseaux de capteurs. A cause de la limitation des ressources et
de la puissance de calcul, les réseaux de capteurs sont généralement très vulnérables
aux différentes pannes, et parfois le réseau risque d’être entièrement bloqué à cause
d’un simple dysfonctionnement. C’est la raison principale pour laquelle aujourd’hui les
mécanismes de tolérance aux pannes sont considérés comme une partie indispensable
pour les réseaux de capteurs.
Son objectif est principalement constitué de 2 parties, la détection des pannes et la restauration
des fonctionnalités endommagées. Les algorithmes complexes sont à éviter,
à cause des faibles ressources dont disposent les nœuds sans fil. Une approche effi-
cace est d’utiliser les nœuds disponibles pour la détection de données erronées et la
substitution de nœuds défectueux. Certaines valeurs peuvent être mesurées et évaluées
localement, comme le niveau d’énergie restante, la puissance du signal des nœuds voisins
etc. En effet, il ne faut pas que la méthode appliquée ait un impact négatif sur la
performance du système.
Dans le chapitre suivant, nous présentons notre propre méthode de tolérance aux pannes
conçue spécifiquement pour notre application de multiplication scalaire parallèle dans les
réseaux de capteurs. Comme la tâche de calcul est décomposée en plusieurs parties
qui sont traitées simultanément, il faut que la distribution de tâches et la récupération
de résultats soient fiables, et que les nœuds soient capables de faire face aux pannes
inattendues.6
LA TOLÉRANCE AUX PANNES POUR LA
MULTIPLICATION SCALAIRE PARALLÈLE
DANS LES RÉSEAUX DE CAPTEURS
Sommaire
6.1 Erreurs possibles durant le calcul parallèle . . . . . . . . . . . . . . . . . . 100
6.1.1 Perte de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.2 Données corrompues . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.1.3 Nœud maître défectueux . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.2 Contre-mesures contre les pannes possibles . . . . . . . . . . . . . . . . . . 102
6.2.1 Sélection des nœuds de secours . . . . . . . . . . . . . . . . . . . . . 102
6.2.2 Détection de perte de résultat . . . . . . . . . . . . . . . . . . . . . . . 103
6.2.3 Vérification de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3 Simulation et évaluation de performance . . . . . . . . . . . . . . . . . . . 106
6.3.1 Simulateur et configuration . . . . . . . . . . . . . . . . . . . . . . . . 106
6.3.2 Test sans assez de nœuds disponibles (n ≤ 4) . . . . . . . . . . . . . . 107
6.3.3 Test avec assez de nœuds disponibles (n ≤ 8) . . . . . . . . . . . . . . 108
6.3.4 Test en présence de pannes . . . . . . . . . . . . . . . . . . . . . . . . 109
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Dans le chapitre 4, nous avons présenté notre méthode de parallélisme qui nous permet
d’accélérer le calcul des multiplications scalaires sur les courbes elliptiques en décomposant
la tâche de calcul en plusieurs parties indépendantes qui sont ensuite traitées
simultanément par des nœuds différents.
En tant qu’architecture de parallélisation sans mémoire partagée, les nœuds participant
aux calculs parallèles doivent échanger des données via la connexion sans fil qui est
souvent considérée comme un moyen de communication non fiable. S’il y a des données
perdues ou corrompues pendant la transmission, le nœud maître ne va pas pouvoir terminer
correctement le calcul. Le résultat du calcul est ensuite utilisé par les protocoles
cryptographiques, et si les calculs sont basés sur des valeurs incorrectes, l’ensemble des
mécanismes de sécurité du système va échouer.
Dans ce chapitre nous présentons des techniques qui nous permettent d’augmenter
considérablement la fiabilité et la sûreté du réseau pendant le calcul parallèle. Comme
nous l’avons dit précédemment, il est déconseillé de mettre en place des mécanismes de
tolérance aux pannes très complexes dans les réseaux de capteurs, car les nœuds ne
99100 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
sont pas assez puissants. Ainsi, notre méthode est principalement basée sur la redondance.
Nous commençons par l’identification des pannes possibles dans notre architecture de
parallélisme. Afin de contourner ces problèmes, notre solution est présentée dans la
section 6.2. Pour évaluer sa performance, nous avons développé un simulateur et les
résultats de simulation sont présentés et discutés dans la section 6.3.
6.1/ ERREURS POSSIBLES DURANT LE CALCUL PARALLÈLE
En règle générale, un réseau de capteurs est constitué d’un grand nombre de nœuds à
faible coût et puissance, qui sont souvent considérés très fragiles et vulnérables en face
des différentes pannes et attaques [2, 112].
Il existe beaucoup de pannes différentes qui peuvent survenir durant le fonctionnement
du réseau, et il est extrêmement difficile de développer une technique qui puisse ré-
soudre tous les problèmes possibles. Généralement nous essayons d’abord d’identifier
les pannes les plus importantes, c’est-à-dire les pannes qui peuvent avoir des effets dé-
sastreux sur notre système. Ensuite il faut trouver des méthodes qui peuvent renforcer
notre réseau.
La procédure du calcul parallèle est présentée graphiquement dans la figure 4.9, nous
pouvons voir que le nœud maître doit distribuer les tâches de calcul et récupérer le résultat
de chaque esclave après le traitement de tâche. Tout échange de données se fait via
la communication sans fil. Les erreurs qui peuvent avoir lieu durant le calcul sont listées
ci-dessous :
6.1.1/ PERTE DE RÉSULTAT
Nous supposons qu’il y a n nœuds disponibles si
, i ∈ [1, 4] dans le cluster, ils sont convoqués
en tant qu’esclaves par le maître, qui s’occupe de la génération et de la distribution
des tâches Qi qui est définie dans la formule 6.1, où l est la longueur du scalaire, n est le
nombre d’esclaves. Chaque Qi peut être ensuite traitée indépendamment par un esclave.
Qi =
i+X
b−1
j=ib
kj2
j
· 2
bG où b = ⌈l/n⌉ (6.1)
Il faut que le nœud maître reçoive tous les résultats des esclaves pour calculer le résultat
final de la multiplication scalaire. Lorsqu’il y a des résultats perdus, le maître ne peut plus
terminer son travail correctement. Une telle erreur peut être due aux différentes pannes
ci-dessous :
– Épuisement de pile : Quand un des esclaves n’a plus d’énergie, il s’éteint automatiquement,
et toute opération en cours s’arrête aussi.
– Connexion perdue : Une connexion sans fil devient beaucoup plus instable lorsque le
niveau de pile du nœud est faible ou des interférences radio sont présentes dans la
zone. Un résultat est perdu, si l’esclave correspondant ne reçoit pas de tâche, ou il
n’arrive pas à renvoyer le résultat au maître à cause d’une mauvaise connexion.6.1. ERREURS POSSIBLES DURANT LE CALCUL PARALLÈLE 101
– Attaque extérieure : Les nœuds déployés dans des environnements extrêmes font souvent
l’objet des attaques délibérées ou accidentelles. Un nœud ne peut pas survivre à
une telle attaque si ce petit dispositif électronique ne détient pas une protection solide.
6.1.2/ DONNÉES CORROMPUES
Comme tout message circulant dans un réseau de capteurs, les résultats renvoyés par
des esclaves risquent d’être corrompus durant la transmission radio. Il existe des mé-
thodes mathématiques qui peuvent tester l’intégrité d’un message, e.g. la fonction de
hachage, mais généralement il est préférable de ne pas appliquer des calculs très compliqués
qui peuvent parfois rendre les nœuds figés. En outre, l’objectif du calcul parallèle
est d’accélérer le calcul de la multiplication scalaire, même si nous arrivons à intégrer le
test d’intégrité dans le calcul parallèle, il peut y avoir une baisse de performance importante.
Si le maître ne peut pas détecter une telle erreur et continue à calculer le résultat final
avec des valeurs incorrectes, les autres calculs suivants vont forcément échouer aussi.
La corruption de données peut être principalement causée par :
– Épuisement de pile : Il est déjà prouvé que les composants électroniques ne peuvent
pas fonctionner correctement lorsque le niveau de pile est très faible [12]. Si l’antenne
du nœud n’est pas suffisamment alimentée, les signaux qu’elle émet risquent d’être
biaisés.
– Interférence radio : Les interférences peuvent causer des difficultés de propagation
des ondes radio, et parfois une mauvaise interprétation des signaux lors de la réception
de données. Elle est souvent utilisée aussi comme un moyen d’attaque pour bloquer
complètement la communication dans un réseau.
– Bogue de programme : Des résultats incorrects peuvent aussi être causés par des
bogues du programme installé, qui peuvent être déclenchés par certaines conditions.
C’est la raison pour laquelle les programmes doivent souvent passer plusieurs procé-
dures de simulation stricte avant d’être installés sur des nœuds.
6.1.3/ NŒUD MAÎTRE DÉFECTUEUX
Dans notre architecture de calcul parallèle, c’est le cluster-head qui joue le rôle du maître.
Il est chargé de la distribution des tâches et de la récupération de résultats. Un maître
défectueux peut causer un abandon complet de la procédure du calcul parallèle.
Dans les protocoles de routage qui sont basés sur le clustering, les membres doivent
choisir périodiquement un nouveau cluster-head [36, 35]. Ce mécanisme est particulièrement
important pour les réseaux homogènes, dans lesquels les cluster-heads ne
détiennent pas plus de ressources que les autres membres. Le changement périodique
du maître permet aux nœuds d’équilibrer la charge et de prolonger la durée de vie du
réseau.
Si un cluster-head tombe accidentellement en panne, et les autres membres vont détecter
la perte de connexion avec leur cluster-head, et une procédure d’élection sera lancée
immédiatement pour choisir un nouveau cluster-head.102 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
Si le réseau est capable de détecter les erreurs ci-dessus et de restaurer les fonctionnalités,
il sera plus robuste pour endurer des environnements difficiles et résister aux
différentes pannes inattendues. Maintenant il faut trouver des méthodes efficaces qui
nous permettent d’atteindre ces objectifs.
6.2/ CONTRE-MESURES CONTRE LES PANNES POSSIBLES
Selon [47], les techniques de tolérance aux pannes sont conçues et peuvent être appliquées
(de basse à haute) aux couches physique, logiciel système, middleware et application.
Généralement, plus la couche est basse, plus la technique de tolérance aux
pannes est générique. Dans le sens inverse, plus la couche est haute, plus la technique
est spécifique. Par exemple, il y a très peu de chance que nous puissions utiliser dans
une application une technique qui est initialement développée pour une autre application.
Certes, les techniques qui sont développées pour la couche application sont moins portables
et réutilisables par rapport aux autres. Cependant elles sont souvent soigneusement
conçues pour mieux s’adapter aux besoins des applications. Notre architecture
de parallélisme est une procédure complexe qui dépend beaucoup de la fiabilité de la
communication sans fil. Afin d’augmenter la sûreté du système durant la distribution de
tâches et la récupération de résultats, nous avons développé notre méthode de tolérance
aux pannes pour la couche application.
6.2.1/ SÉLECTION DES NŒUDS DE SECOURS
Comme nous avons présenté précédemment, notre méthode est aussi basée sur la redondance,
c’est-à-dire l’utilisation des nœuds de secours, car un réseau de capteurs
possède souvent un très grand nombre de nœuds.
Nous supposons qu’il existe n nœuds disponibles dans le cluster. Lorsque le clusterhead
veut lancer une multiplication scalaire parallèle, au lieu d’impliquer tous les nœuds
disponibles dans le calcul, nous utilisons seulement ⌊n/2⌋ nœuds pour le calcul parallèle,
les nœuds restants sont utilisés comme des nœuds de secours.
Algorithme 24 : Sélection des nœuds de secours
Données : La
Résultat : Ls
, Lb
1 Trier La par le nombre de voisins dans l’ordre croissant;
2 pour tous les a ∈ La faire
3 b ← NS (a);
4 La ← La − a;
5 La ← La − b;
6 Ls ← Ls + a;
7 Lb ← Lb + b;
8 fin
9 retourner Ls
, Lb
La sélection des nœuds esclaves et des nœuds de secours est pilotée par l’algorithme 246.2. CONTRE-MESURES CONTRE LES PANNES POSSIBLES 103
où La est l’ensemble de nœuds disponibles dans le cluster, Ls et Lb sont 2 listes contenant
respectivement des esclaves et des nœuds de secours sélectionnés.
Avant de commencer à sélectionner les nœuds, la liste La est triée dans l’ordre croissant
par le nombre de voisins de chaque a ∈ La, car nous devons laisser le nœud ayant
moins de voisins choisir son nœud de secours en premier. NS (a) est une fonction qui
sélectionne et retourne le nœud de secours de a parmi ses voisins. Les voisins sont
évalués par plusieurs critères, telles que l’énergie restante, la distance de a et le RSSI 1
,
car nous privilégions toujours le voisin ayant la connexion la plus fiable.
Dans le chapitre 4, nous avons déjà montré que pour une raison de surcoût de communication,
le nombre d’esclaves doit être limité à moins de 5. La possibilité de pouvoir
effectuer une multiplication scalaire parallèle qui soit tolérante aux pannes dépend principalement
du nombre de nœuds disponibles dans le cluster, dénoté n.
– n ∈ [0, 1] : Impossible d’effectuer une telle opération, car soit il n’y a pas de nœud
disponible pour paralléliser le calcul, soit nous pouvons paralléliser entre 2 nœuds
(maître compris), mais il n’y a pas de nœud de secours pour l’esclave.
– n ∈]1, 8[ : La tolérance aux pannes est possible, nous pouvons paralléliser le calcul
avec ⌊n/2⌋ esclaves et ⌊n/2⌋ nœuds de secours.
– n ∈ [8, ∞] : Nous pouvons paralléliser le calcul avec 4 esclaves et au moins 4 nœuds
de secours.
Après la sélection d’esclaves et de nœuds de secours, dans les sections suivantes, nous
allons présenter comment les nœuds de secours sont mis en place pour rendre la procé-
dure de calcul parallèle plus fiable.
6.2.2/ DÉTECTION DE PERTE DE RÉSULTAT
Pour détecter une perte de résultat, nous demandons à un nœud de secours de traiter la
même tâche que l’esclave qu’il surveille, et de préparer une deuxième copie du résultat.
La procédure du calcul est illustrée dans la figure 6.1. Le début est identique à celle du
calcul parallèle normal (figure 4.9) :
– Les membres du cluster collectent et renvoient périodiquement des données au
cluster-head ;
– Si le cluster-head détecte un événement important qu’il faut signaler immédiatement à
la station de base, il essaie d’identifier les membres qui sont disponibles pour le calcul
parallèle en leur diffusant une demande de participation ;
– Les membres qui sont disponibles renvoient une réponse positive au cluster-head, et
attendent l’affectation des tâches.
Après la réception des réponses, le cluster-head utilise l’algorithme 24 qui lui sélectionne
les esclaves pour le calcul parallèle et les nœuds de secours pour la tolérance
aux pannes. Une fois le calcul décomposé en fonction du nombre d’esclaves, le clusterhead
diffuse les tâches à tous les nœuds choisis.
La distribution des tâches se fait par broadcast qui est reçu par tous les membres disponibles
du cluster. Dans le message, ils peuvent trouver les tâches de calcul et les
identifiants des nœuds qui doivent les traiter, ainsi que les identifiants des nœuds qui
1. Received Signal Strengh Indicator104 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
Membre de cluster Cluster-head
Esclave Nœud de secours
1 : Données
2 : Demande de participation
3 : Disponibilité
4 : Tâches
5 : Résults
Sélection des nœuds
Calcul
Erreur
Calcul
FIGURE 6.1 – Multiplication scalaire parallèle avec la détection de perte de résultat
doivent surveiller les esclaves. Après la distribution des tâches, les membres qui ne sont
pas sélectionnés retournent à leur état initial.
Après le traitement de tâche, le nœud de secours attend que l’esclave qu’il surveille
envoie le résultat du calcul. Si l’esclave tombe en panne, et n’envoie pas de résultat au
bout d’un certains temps ts
, le nœud de secours va envoyer sa propre copie du résultat
au maître.
Nous supposons que l’esclave et le nœud de secours ont presque la même distance
du maître, car le nœud de secours est sélectionné parmi les voisins de l’esclave. La
consommation d’énergie pour l’envoi de résultat est fonction de la taille du message m
et de la distance d, notée ETx = e(m, d), et la consommation pour la réception est une
constante ERx
[36, 35].
Nous pouvons constater que par rapport à la version originale, la nouvelle architecture
parallèle avec la détection de perte de résultat n’engendre pas une augmentation importante
de la consommation d’énergie du cluster. Néanmoins, la nouvelle version prend un
peu plus de temps, car il faut que le nœud de secours attende ts ms avant d’envoyer son
résultat.
6.2.3/ VÉRIFICATION DE RÉSULTAT
Dans le cas où l’esclave renvoie un résultat incorrect au maître, il faut que les nœuds
puissent le détecter. La procédure de vérification est représentée graphiquement dans
la figure 6.2. Comme la détection de perte de résultat, après la distribution des tâches,
l’esclave et le nœud de secours reçoivent et travaillent sur la même tâche.
Le nœud de secours est utilisé pour vérifier le résultat envoyé par l’esclave. Lorsque ce
dernier envoie son résultat, comme le nœud de secours est un de ses voisins qui se situe
dans sa portée radio, il peut le recevoir et passe à la phase de vérification.
Le nœud de secours compare le résultat de l’esclave avec le sien, car les données sto-6.2. CONTRE-MESURES CONTRE LES PANNES POSSIBLES 105
ckées localement sont considérées assez fiables. Si les 2 résultats sont différents, il enverra
immédiatement un avertissement au maître, qui est obligé de rejeter le résultat en
question et de répéter localement la tâche correspondante.
Membre de cluster Cluster-head
Esclave Nœud de secours
1 : Données
2 : Demande de participation
3 : Disponibilité
4 : Tâche
5 : Résultat
Avertissement
Sélection des nœuds
Calcul
6 : Répétition de calcul
Calcul Calcul
FIGURE 6.2 – Multiplication scalaire parallèle avec la vérification de résultat
Quand aucun résultat erroné n’est détecté, les nœuds de secours demeurent silencieux.
Le temps de calcul et la consommation totale d’énergie restent quasiment inchangé.
Cependant, lorsqu’il y a des esclaves qui retournent un résultat incorrect, le maître devra
répéter la tâche avant d’effectuer la combinaison des résultats, et le coût de parallélisation
est proportionnel au nombre de résultats erronés détectés.
Une autre méthode alternative plus économique en terme de consommation de ressources
est d’utiliser plusieurs nœuds de secours pour chaque esclave et de mettre en
place un mécanisme de vote. Lorsque les nœuds de secours détectent un résultat différent,
ils envoient aussi leurs copies locales au maître, qui prend ensuite celui le plus
présent.
Une limitation de la deuxième méthode est le nombre de nœuds utilisés. Si nous devons
désigner plusieurs nœuds de secours pour un seul esclave, nous aurons besoin de
beaucoup plus de nœuds disponibles dans le cluster. D’ailleurs, il faut que le nombre de
nœuds de secours soit suffisamment grand pour que le résultat de vote soit assez fiable.
De plus, comme les nœuds de secours doivent traiter les tâches aussi, il est évident que
nous ne pouvons pas demander à un nœud de secours de surveiller plusieurs esclaves.
Pour le cas où le cluster-head tombe en panne, un mécanisme d’élection de nouveau
cluster-head est déjà inclus dans la plupart de protocoles de routage basés sur le clustering.
Il nous suffit de l’utiliser dans notre architecture de parallélisme.106 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
6.3/ SIMULATION ET ÉVALUATION DE PERFORMANCE
Pour tester la performance de notre méthode de tolérance aux pannes, nous avons créé
un simulateur en Java qui peut estimer le temps de calcul et la consommation d’énergie
de notre architecture.
6.3.1/ SIMULATEUR ET CONFIGURATION
Au lancement du programme, le simulateur charge en mémoire la configuration de la
courbe elliptique utilisée et la topologie du cluster depuis un fichier de configuration, dans
lequel nous stockons les identifiants des membres du cluster, les distances entre eux,
ainsi que l’ensemble de paramètres de la courbe, comme dans le tableau 4.5.
Nous supposons que les nœuds sont déployés dans une zone idéale sans obstacle.
L’accès au médium est contrôlé par un protocole MAC basé le principe de TDMA 2
, qui
permet à un seul nœud d’envoyer des données à la fois.
Tous les membres du cluster utilisent la même courbe qui est définie dans un corps
premier fini Fp, et les paramètres (p, a, b,G, n) à stocker sont donnés dans le tableau 6.1,
et les valeurs recommandées NIS T192 sont utilisées [34].
Paramètre Description Longueur (bit)
p Taille du corps premier fini 192
a Coefficient de l’équation Weierstrass simplifiée 8
b Coefficient de l’équation Weierstrass simplifiée 192
G Point de générateur de la courbe 192 × 2 = 384
n Ordre du point de générateur 192
Total : 968
TABLE 6.1 – Paramètre de la courbe elliptique utilisée
Les détails de la consommation de mémoire sont montrés dans le tableau 6.2. Selon les
résultats dans le chapitre 4, le nombre de nœuds participant au calcul parallèle doit être
limité à moins de 5, nous devons stocker donc 3 points précalculés.
Données Description Taille (octet)
(p, a, b,G, n) Paramètres de la courbe elliptique 121
2
40G, 2
80G, 2
120G Points précalculés 144
Total : 256
TABLE 6.2 – Consommation de mémoire pour le stockage des données
Comme dans un réseau de capteurs, la plupart de l’énergie est consommée par la communication
sans fil. Ainsi, le simulateur prend en compte seulement la consommation
d’énergie de la communication radio, celle du traitement de données en local est simplement
ignorée.
Les formules de l’estimation de la consommation sont présentées dans [36, 35] (voir formule
6.2). ETX et ERX
sont 2 fonctions qui estiment la consommation d’énergie d’émission
2. Time Division Multiple Access6.3. SIMULATION ET ÉVALUATION DE PERFORMANCE 107
et de réception, où d est la distance et k est la taille du message en nombre de bits.
Eelec est le facteur de dissipation audiofréquence, et ǫamp est la facteur d’amplification de
transmission. La modélisation de la consommation d’énergie de la transmission radio est
en discussion, nous avons repris les valeurs données dans le papier : Eelec = 50nJ/bit et
ǫamp = 100pJ/bit/m
2
.
(
ETX
(k, d) = Eelec · k + ǫamp · k · d
2
ERX
(k) = Eelec · k
(6.2)
Les nœuds communiquent entre eux avec le protocole Zigbee, qui est largement utilisé
par la plupart des plate-formes existantes. Pour estimer le temps de communication, le
simulateur utilise les valeurs de la bande passante présentées dans [11]. Les auteurs ont
prouvé que selon la dernière version de la norme IEEE 802.15.4-2006, la bande passante
du Zigbee est 108 Kbps.
De plus, l’estimation du temps de calcul de la multiplication scalaire parallèle est principalement
basée sur les résultats du chapitre 4.
La mission du simulateur est d’estimer le temps de calcul et la consommation d’énergie
de notre architecture de parallélisation protégée par les mécanismes de tolérance aux
pannes que nous avons présenté dans la section 6.2. L’objectif de la simulation n’est pas
de mesurer précisément les valeurs en question, mais d’étudier l’impact des techniques
de tolérance aux pannes sur la performance du calcul parallèle.
Les tests sont exécutés dans 3 cas différents :
– Il existe assez de nœuds disponibles dans le cluster pour paralléliser les multiplications
scalaires jusqu’à 4 esclaves, mais il n’y en a pas assez pour avoir un nœud de secours
par esclave.
– Il existe assez de nœuds disponibles pour paralléliser le calcul entre 4 esclaves, et
chaque esclave détient un nœud de secours.
– Il existe toujours assez de nœuds disponibles pour le calcul parallèle (esclave) et la
tolérance aux pannes (nœud de secours), et certains esclaves tombent en panne pendant
le calcul.
6.3.2/ TEST SANS ASSEZ DE NŒUDS DISPONIBLES (n ≤ 4)
Dans le chapitre 4, nous avons déjà montré qu’à cause du surcoût de la communication
radio, nous devons limiter le nombre d’esclaves à moins de 5. Nous définissons le nombre
de nœuds disponibles dans le cluster n, n ≤ 4, et les résultats de simulation du premier
cas sont montrés dans les tableau 6.3 et 6.4. La comparaison de performance est aussi
illustrée dans la figure 6.3.
Nombre de nœuds Temps de calcul (ms) Énergie (mJ)
0 2308.77 0.06639066
1 1158.88 0.17869498
2 777.75 0.27243610
3 588.81 0.34194090
4 476.75 0.41024986
TABLE 6.3 – Performance sans nœud de secours (n ≤ 4)108 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
Nombre de nœuds Temps de calcul (ms) Énergie (mJ)
0 2308.70 0.06639066
1 2308.77 0.06639066
2 1159.01 0.16637882
3 1159.01 0.16637882
4 778.01 0.24765018
TABLE 6.4 – Performance avec nœuds de secours (n ≤ 4)
Nous pouvons constater que sans nœuds de secours, tous les nœuds disponibles
peuvent participer au calcul, le temps de calcul diminue progressivement avec l’augmentation
du nombre d’esclaves. La consommation totale d’énergie est proportionnelle au
nombre d’esclaves, car plus le nombre d’esclaves est élevé, plus l’échange de données
est fréquente.
Cependant, si nous utilisons les nœuds de secours, il n’y a que la moitié des nœuds
qui peuvent participer au calcul parallèle, et l’accélération du calcul devient moins effi-
cace. C’est la raison pour laquelle le temps de calcul ne diminue que lorsque le nombre
de nœuds est pair. Par contre, la consommation d’énergie avec les nœuds de secours
devient beaucoup moins importante.
FIGURE 6.3 – Parallélisation sans assez de nœuds disponibles (n ≤ 4)
Le nombre de nœuds utilisés est doublé lorsque notre méthode de tolérance aux pannes
est appliquée. Ainsi, seulement ⌊n/2⌋ nœuds peuvent participer au calcul, et il nous faut
plus de temps pour terminer le calcul. D’autre part, les nœuds de secours n’ont pas
besoin de communiquer avec le maître quand il n’y a pas de panne, et la consommation
totale d’énergie du cluster est moins élevée par rapport à celle du parallélisme sans nœud
de secours.
6.3.3/ TEST AVEC ASSEZ DE NŒUDS DISPONIBLES (n ≤ 8)
Dans le deuxième test, nous supposons que le cluster peut posséder jusqu’à 8 nœuds
disponibles. Le cluster-head peut toujours paralléliser la multiplication scalaire entre 4
esclaves, peu importe si notre méthode de tolérance aux pannes est utilisée.
Comme nous pouvons voir dans le tableau 6.5 et la figure 6.4, le maître a besoin d’un
peu plus de temps pour terminer complètement le calcul parallèle. Dans certains cas, il
y a une petite augmentation du surcoût de communication radio, car chaque esclave est6.3. SIMULATION ET ÉVALUATION DE PERFORMANCE 109
Nombre d’esclaves Temps de calcul (ms) Énergie (mJ)
0 2308.70 0.06639066
1 1159.01 0.16637882
2 778.01 0.24765018
3 589.20 0.34410666
4 477.27 0.43921380
TABLE 6.5 – Performance avec suffisamment de nœuds de secours (n ≤ 8)
surveillé par un nœud de secours, qui ont aussi besoin de recevoir des tâches du maître
et des résultats des esclaves. D’ailleurs, après la réception des résultats, le maître doit
attendre des avertissements éventuels avant de passer à la combinaison des résultats.
FIGURE 6.4 – Parallélisation avec assez de nœuds disponibles (n ≤ 8)
D’un point de vue global, la consommation d’énergie des 2 types de parallélisation s’accroît
proportionnellement avec l’augmentation du nombre d’esclaves. Car il existe suf-
fisamment de nœuds disponibles dans le cluster qui nous permettent de paralléliser le
calcul juqu’à 4 esclaves, même avec l’utilisation des nœuds de secours.
La différence de la consommation d’energie entre les 2 types de parallélisation est principalement
due au déploiement aléatoire des nœuds dans le cluster, les distances entre
les esclaves et les nœuds de secours ne sont pas toujours les mêmes.
6.3.4/ TEST EN PRÉSENCE DE PANNES
Pour le troisième test, nous supposons que nous avons toujours 4 esclaves opérationnels
et chacun possède un nœud de secours. Pendant le calcul parallèle, si un esclave n’arrive
plus à fonctionner correctement, il faudra que son nœud de secours puisse détecter
l’erreur et essaie de restaurer le calcul.
6.3.4.1/ RÉSULTAT ERRONÉ
Lorsqu’un nœud de secours détecte que l’esclave qu’il surveille envoie un résultat erroné,
il faut qu’il envoie immédiatement un avertissement au maître, qui va retraiter la
tâche correspondante localement. En comparant la performance (temps de calcul et la
consommation d’énergie) avec celle de la parallélisation sans détection de résultat erroné,
nous pouvons constater dans le tableau 6.6 et la figure 6.5 que quand il y a des110 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
résultats erronés, le cluster a besoin de beaucoup plus de temps et d’énergie pour terminer
le calcul.
Nombre de résultats erronés Temps de calcul (ms) Énergie (mJ)
0 477.27 0.43921370
1 938.86 0.44161946
2 1400.44 0.44564062
3 1862.03 0.44965998
4 2323.61 0.45207022
TABLE 6.6 – Performance avec la détection de résultat erroné
FIGURE 6.5 – Parallélisation avec la détection de résultat erroné
Nous pouvons voir aussi que le temps de calcul s’accroît très vite avec l’augmentation
du nombre de résultats erronés. Quand il y a plus de 3 résultats erronés, le calcul parallèle
ne donne quasiment plus d’accélération. Contrairement au temps de calcul, la
consommation totale d’énergie augmente relativement moins rapidement, car la taille du
message d’avertissement est très petite, les valeurs de la consommation d’énergie est
toujours comprise entre 0.44 mJ et 0.45 mJ.
6.3.4.2/ RÉSULTAT PERDU
Un nœud de secours est aussi chargé de la détection de résultat perdu. Comme l’esclave
qu’il surveille, le nœud de secours doit traiter aussi la même tâche que son esclave.
Si l’esclave renvoie correctement son résultat au maître, celui du nœud de secours est
simplement supprimé. Dans le cas contraire, si l’esclave ne renvoie pas de résultat dans
un délais prédéfini, le nœud de secours doit envoyer sa copie locale du résultat au maître,
pour que ce dernier puisse continuer son travail.
Nombre de résultats perdus Temps de calcul (ms) Énergie (mJ)
0 477.27 0.43921370
1 517.27 0.43859930
2 517.27 0.47736890
3 517.27 0.49638458
4 517.27 0.47632058
TABLE 6.7 – Performance avec la détection de résultat perdu6.4. CONCLUSION 111
Dans le tableau 6.7, nous pouvons remarquer que le temps de calcul n’augmente plus
quand il y a plus d’un résultat perdu. Car même il y a plusieurs résultats perdus, les
nœuds de secours peuvent réagir simultanément, et le maître ne fait que prendre directement
les résultats des nœuds de secours.
Quand plus d’un résultat sont perdus, le simulateur donne toujours exactement le temps
de calul, car les résultats de simulation sont basés sur des formules et des paramètres
théoriques. En réalité, les conditions environnementales sont plus complexes, il y a très
peu de chance que les valeurs mesurées soient exactement les mêmes, mais normalement
elles sont censées être similaires.
FIGURE 6.6 – Parallélisation avec la détection de résultat perdu
Dans la figure 6.6, la variation de la consommation d’énergie est très irrégulière, car la
consommation d’énergie est calculée en fonction de la taille de message et la distance
entre les 2 nœuds. Les nœuds sont déployés d’une manière aléatoire, les distances entre
les nœuds de secours et le maître sont différentes.
6.4/ CONCLUSION
Après la simulation, nous pouvons voir que notre méthode de tolérance aux pannes a
bien atteint son objectif initial, qui est composé de 2 parties : la détection de pannes et
la restauration de fonctionnalités. Elle permet aux clusters de continuer à effectuer des
multiplications scalaires parallèles en cas de pannes.
Lorsque aucune panne n’est détectée durant le calcul parallèle, notre méthode ne donne
pas d’impact négatif important sur la performance du système. Cependant en cas de
pannes, les nœuds de secours vont prendre le relais des esclaves défectueux et continuer
à travailler sur les tâches qui leur sont affectées. Il faut qu’au final, le maître puisse
calculer et obtenir le résultat de la multiplication scalaire, même en sacrifiant significativement
la performance du système.
Les résultats de simulation ont montré qu’en ajoutant un nœud de secours par esclave,
nous avons pu doubler la fiabilité du système. Néanmoins les opérations de restauration
de fonctionnalité engendrent une augmentation de consommation importante. Pour prolonger
la durée de vie du réseau, il faut bien gérer l’utilisation de parallélisme. Comme
nous avons présenté dans le chapitre 4, le calcul parallèle ne doit être appliqué que
dans les cas urgents. Ainsi, on va envoyer un message sûr, rapide et sécurisé. Ce type
de système est principalement dédié aux applications critiques, comme les applications
militaires ou de surveillance.7
CONCLUSION
L’objectif de cette thèse était d’appliquer l’ECC dans les réseaux de capteurs sans fil
d’une manière efficace et sûre. La difficulté principale est d’effectuer des calculs compliqués
sur les nœuds qui disposent d’une puissance de calcul très limitée. Certes, ECC
offre un calcul plus rapide et une utilisation de clés plus courtes par rapport à RSA, mais
les calculs impliqués dans les protocoles cryptographiques restent toujours très complexes
pour les micro-contrôleurs. Après une étude détaillée de la cryptographie sur les
courbes elliptiques, nous avons constaté que l’opération la plus coûteuse est la multiplication
scalaire. De nombreuses méthodes existent dans la littérature, mais elles ne sont
pas suffisantes pour donner une accélération intéressante.
Une technique qui permet d’accélérer des calculs est le parallélisme, une tâche de calcul
est découpée en plusieurs parties indépendantes, qui peuvent être traitées en même
temps par des processeurs différents. Nous proposons donc de paralléliser les multiplications
scalaires entre plusieurs nœuds qui se situent dans le même cluster, car les ré-
seaux de capteurs qui sont basés sur le clustering sont prouvés plus efficaces en termes
de consommation d’énergie.
En outre, la cryptographie symétrique peut offrir un calcul plus rapide, mais il n’est pas
toujours facile de réaliser une distribution de clés à grande échelle dans un réseau de
capteurs qui peut contenir un très grand nombre de nœuds. Nous proposons de limiter
l’utilisation de la cryptographie symétrique à l’intérieur d’un cluster pour sécuriser la distribution
des tâches, mais entre les clusters, nous appliquons la cryptographie asymétrique
qui offre une gestion de clé plus sophistiquée.
Une spécificité importante des réseaux de capteurs est le déploiement massif et aléatoire
des nœuds. Dans une application de surveillance, il peut exister plusieurs nœuds
disponibles dans un cluster tant qu’aucun événement critique n’est détecté. Quand un
événement important est capturé par le réseau, il est plus intéressant de demander à
ces nœuds de coopérer collectivement pour générer un message bien chiffré le plus vite
possible. Dans cette thèse, nos travaux de recherche se concentrent principalement sur
la parallélisation des multiplications scalaires.
Comme les autres architectures de calcul parallèle, un inconvénient principal est la
consommation d’énergie. Nous avons implémenté et testé notre solution sur les nœuds
Telosb. Les résultats ont montré que nous pouvons obtenir un gain maximal de 74.8%. En
effet, les nœuds ne disposent d’aucune mémoire partagée, et la distribution des tâches
et la récupération des résultats sont obligées de passer par la communication radio, qui
engendre une consommation d’énergie importante. D’ailleurs, à cause du surcoût de la
communication, le nombre de nœuds participant au calcul doit être limité à moins de 5.
113114 CHAPITRE 7. CONCLUSION
Nous concluons que la parallélisation peut réaliser une accélération intéressante du calcul
des multiplications scalaires, mais cette technique risque de réduire considérablement
la durée de vie des nœuds, car la communication radio génère une consommation
d’énergie importante. Dans un réseau de capteurs, la parallélisation des multiplications
scalaires ne doit pas être utilisée comme un paradigme de calcul par défaut. Elle peut être
appliquée dans des applications de surveillance, dans lesquelles les nœuds demeurent
inactifs pendant la plupart du temps pour préserver l’énergie. Le calcul parallèle ne peut
être utilisé que dans les cas urgents où le réseau doit signaler à la station de base un
événement important, par exemple la détection d’une catastrophe naturelle dans une
application de surveillance environnementale.
Enfin la deuxième partie de la contribution traite de l’amélioration de notre solution de
parallélisation. Nous proposons de mettre en place des mécanismes de tolérance aux
pannes pour rendre la procédure du calcul parallèle plus fiable. L’application du parallélisme
au sein d’une architecture sans mémoire partagée nécessite une échange de
données via les connexions sans fil, qui sont souvent considérées comme un moyen de
communication non fiable. Notre solution permet aux nœuds de détecter des résultats
perdus ou erronés pendant le calcul parallèle, et de restaurer le calcul en cas de pannes.
Notre simulateur a donné des résultats qui montrent que la solution appliquée peut rendre
le calcul parallèle plus sûr sans avoir des impacts négatifs importants.
PERSPECTIVES
Pour l’instant, nos travaux de recherche se focalisent principalement sur la parallélisation
des multiplications scalaires, et l’implémentation que nous avons utilisé pendant le test de
performance peut être plus complète. En effet, elle permet de tester seulement la performance
des multiplications scalaire parallèles, mais pas celle de l’exécution d’un protocole
cryptographique complet. C’est pourquoi nous avons décidé d’essayer d’appliquer notre
solution de parallélisation dans le projet qui est présenté dans l’annexe 7. Cependant le
développement n’est pas encore terminé, nous allons donc continuer à travailler sur ce
projet pour obtenir des résultats plus significatifs.
Par ailleurs, dans notre implémentation actuelle, nous avons déjà appliqué certaines mé-
thodes mathématiques permettant d’améliorer la performance de la multiplication scalaire,
comme la représentation NAF du scalaire et l’utilisation des coordonnées jacobiennes.
Cependant, nous n’avons pas encore découvert tous les aspects de la courbe
elliptique, il reste encore d’autres techniques à voir et tester, par exemple la courbe Montgomery,
la courbe Koblitz, la méthode de la fenêtre. Notre technique de parallélisation
est basée sur le découpage du scalaire, qui peut théoriquement coexister avec les autres
méthodes, qui cherchent plutôt à modifier la représentation du scalaire ou la forme de la
courbe. Il sera plus intéressant de combiner le parallélisme avec d’autres techniques, et
de tester leur performance.
Un autre problème de notre solution de parallélisation est la consommation d’énergie,
qui est largement reconnue comme un facteur critique pour les réseaux de capteurs,
mais elle est aussi considérée comme un inconvénient inhérent du parallélisme, car plus
de processeurs sont impliqués dans le traitement des tâches. Cependant, nous allons
essayer de réduire la consommation d’énergie, qui peut influencer considérablement la
durée de vie des réseaux.LISTE DES PUBLICATIONS
1. Shou, Y. & Guyennet, H. A Fault Tolerant Parallel Computing Scheme for Scalar
Multiplication for Wireless Sensor Networks. Distributed Computing and Networking,
Springer LNCS, 2014, 8314, 317-331.
2. Shou, Y. ; Guyennet, H. & Lehsaini, M. Parallel Scalar Multiplication on Elliptic
Curves in Wireless Sensor Networks. Distributed Computing and Networking,
Springer LNCS, 2013, 7730, 300-314.
3. Faye, Y. ; Guyennet, H. ; Niang, I. & Shou, Y. Fast Scalar Multiplication on Elliptic
Curve Cryptography in Selected Intervals Suitable for Wireless Sensor
Networks. Cyberspace Safety and Security, Springer LNCS, 2013, 8300, 171-182.
4. Faye, Y. ; Guyennet, H. ; Niang, I. & Shou, Y. Optimisation d’un Protocole d’Authentification
dans les Réseaux de Capteurs Sans Fil. SAR-SSI 2012, 7ème
Conf. sur la sécurité des architectures réseaux et systèmes d’information, 2012.
5. Aupet, J.-B. ; Lapayre, J.-C. & Shou, Y. Adaptabilité des flux vidéo dans les logiciels
collaboratifs : Test de qualité par référence prédéfinie. Ubimob 2011, 7es
journée francophones Mobilité et Ubiquité, 2011, 96-108.
115BIBLIOGRAPHIE
[1] S Adve, Vikram S Adve, Gul Agha, Matthew I Frank, M Garzarán, J Hart, W Hwu,
R Johnson, L Kale, R Kumar, et al. Parallel computing research at illinois : The
upcrc agenda. Urbana, IL : Univ. Illinois Urbana-Champaign, 2008.
[2] Ian F Akyildiz, Weilian Su, Yogesh Sankarasubramaniam, and Erdal Cayirci. Wireless
sensor networks : a survey. Computer networks, 38(4) :393–422, 2002.
[3] ZigBee Alliance. Zigbee specification, 2006.
[4] Bijan Ansari and Huapeng Wu. Parallel scalar multiplication for elliptic curve cryptosystems.
In Communications, Circuits and Systems, 2005. Proceedings. 2005
International Conference on, volume 1, pages 71–73. IEEE, 2005.
[5] Paul Barrett. Implementing the rivest shamir and adleman public key encryption
algorithm on a standard digital signal processor. In Advances in cryptology—CRYPTO’86,
pages 311–323. Springer, 1987.
[6] Chakib Bekara and Maryline Laurent-Maknavicius. A new resilient key management
protocol for wireless sensor networks. In Information Security Theory and Practices.
Smart Cards, Mobile and Ubiquitous Computing Systems, pages 14–26. Springer,
2007.
[7] Luca Benini, Giuliano Castelli, Alberto Macii, Enrico Macii, Massimo Poncino, and
Riccardo Scarsi. A discrete-time battery model for high-level power estimation. In
Proceedings of the conference on Design, automation and test in Europe, pages
35–41. ACM, 2000.
[8] Ernest F Brickell, Daniel M Gordon, Kevin S McCurley, and David B Wilson. Fast
exponentiation with precomputation. In Advances in Cryptology—EUROCRYPT’92,
pages 200–207. Springer, 1993.
[9] Daniel R. L. Brown. Sec 1 : Elliptic curve cryptography, May 2009.
[10] Michael Brown, Darrel Hankerson, Julio López, and Alfred Menezes. Software implementation
of the NIST elliptic curves over prime fields. Springer, 2001.
[11] T Ryan Burchfield, S Venkatesan, and Douglas Weiner. Maximizing throughput
in zigbee wireless networks through analysis, simulations and implementations.
In Proc. Int. Workshop Localized Algor. Protocols WSNs, pages 15–29. Citeseer,
2007.
[12] Pamba Capochichi. Conception d’une architecture hiérarchique de réseau de capteurs
pour le stockage et la compression de données. PhD thesis, UFR des
Sciences et Techniques de l’Université de Franche-Comté, March 2010.
117118 BIBLIOGRAPHIE
[13] Mihaela Cardei, Shuhui Yang, and Jie Wu. Algorithms for fault-tolerant topology in
heterogeneous wireless sensor networks. Parallel and Distributed Systems, IEEE
Transactions on, 19(4) :545–558, 2008.
[14] Certicom. Certicom intellectual property. https://www.certicom.com/index.php/
\licensing/certicom-ip.
[15] Jinran Chen, Shubha Kher, and Arun Somani. Distributed fault detection of wireless
sensor networks. In Proceedings of the 2006 workshop on Dependability issues in
wireless ad hoc networks and sensor networks, pages 65–72. ACM, 2006.
[16] Chee-Yee Chong and Srikanta P Kumar. Sensor networks : evolution, opportunities,
and challenges. Proceedings of the IEEE, 91(8) :1247–1256, 2003.
[17] Garth V Crosby and Niki Pissinou. Cluster-based reputation and trust for wireless
sensor networks. In Consumer Communications and Networking Conference, 2007.
[18] Crossbow. Telosb mote platform, 2005.
[19] Crossbow. Micaz : Wireless measurement system, 2006.
[20] William M Daley and Raymond G Kammer. Digital signature standard (dss). Technical
report, DTIC Document, 2000.
[21] Christophe De Cannière. Trivium : A stream cipher construction inspired by block
cipher design principles. In Information Security, pages 171–186. Springer, 2006.
[22] Whitfield Diffie and Martin Hellman. New directions in cryptography. Information
Theory, IEEE Transactions on, 22(6) :644–654, 1976.
[23] Min Ding, Dechang Chen, Kai Xing, and Xiuzhen Cheng. Localized fault-tolerant
event boundary detection in sensor networks. In INFOCOM 2005. 24th Annual Joint
Conference of the IEEE Computer and Communications Societies. Proceedings
IEEE, volume 2, pages 902–913. IEEE, 2005.
[24] T. ElGamal. A public key cryptosystem and a signature scheme based on discrete
logarithms. In Advances in Cryptology, pages 10–18. Springer, 1985.
[25] Eleazar Eskin, Andrew Arnold, Michael Prerau, Leonid Portnoy, and Sal Stolfo. A
geometric framework for unsupervised anomaly detection. In Applications of data
mining in computer security, pages 77–101. Springer, 2002.
[26] Youssou Faye, Herve Guyennet, Ibrahima Niang, and Yanbo Shou. Fast scalar
multiplication on elliptic curve cryptography in selected intervals suitable for wireless
sensor networks. In Cyberspace Safety and Security, pages 171–182. Springer,
2013.
[27] Michael Flynn. Some computer organizations and their effectiveness. Computers,
IEEE Transactions on, 100(9) :948–960, 1972.
[28] Julien Franq. Conception et sécurisation d’unités arthmétiques hautes performances
pour courbes elliptiques. PhD thesis, Université des Sciences et Techniques
du Languedoc, Décembre 2009.BIBLIOGRAPHIE 119
[29] David Gay, Philip Levis, Robert Von Behren, Matt Welsh, Eric Brewer, and David
Culler. The nesc language : A holistic approach to networked embedded systems.
In Acm Sigplan Notices, volume 38, pages 1–11. ACM, 2003.
[30] Jorge Guajardo and Christof Paar. Efficient algorithms for elliptic curve cryptosystems.
Springer, 1997.
[31] Gaurav Gupta and Mohamed Younis. Fault-tolerant clustering of wireless sensor
networks. In Wireless Communications and Networking, 2003. WCNC 2003. 2003
IEEE, volume 3, pages 1579–1584. IEEE, 2003.
[32] Nils Gura, Arun Patel, Arvinderpal Wander, Hans Eberle, and SheuelingChang
Shantz. Comparing elliptic curve cryptography and rsa on 8-bit cpus. In Marc
Joye and Jean-Jacques Quisquater, editors, Cryptographic Hardware and Embedded
Systems - CHES 2004, volume 3156 of Lecture Notes in Computer Science,
pages 119–132. Springer Berlin Heidelberg, 2004.
[33] Dae-Man Han and Jae-Hyun Lim. Smart home energy management system using
ieee 802.15. 4 and zigbee. Consumer Electronics, IEEE Transactions on, 56(3) :
1403–1410, 2010.
[34] D.R. Hankerson, S.A. Vanstone, and A.J. Menezes. Guide to elliptic curve cryptography.
Springer-Verlag New York Inc, 2004.
[35] Wendi B Heinzelman, Anantha P Chandrakasan, and Hari Balakrishnan. An
application-specific protocol architecture for wireless microsensor networks. Wireless
Communications, IEEE Transactions on, 1(4) :660–670, 2002.
[36] Wendi Rabiner Heinzelman, Anantha Chandrakasan, and Hari Balakrishnan.
Energy-efficient communication protocol for wireless microsensor networks. In System
Sciences, 2000. Proceedings of the 33rd Annual Hawaii International Conference
on, pages 10–pp. IEEE, 2000.
[37] Jonathan W Hui and David Culler. The dynamic behavior of a data dissemination
protocol for network programming at scale. In Proceedings of the 2nd international
conference on Embedded networked sensor systems, pages 81–94. ACM, 2004.
[38] IEEE. Ieee standards 802.15.4 - part 15.4 : Wireless medium access control (mac)
and physical layer (phy) specifications for low-rate wireless personal area networks
(lr-wpans), October 2003.
[39] Nicholas Jansma and Brandon Arrendondo. Performance comparison of elliptic
curve and rsa digital signatures, April 2004.
[40] Don Johnson, Alfred Menezes, and Scott Vanstone. The elliptic curve digital signature
algorithm (ecdsa). International Journal of Information Security, 1(1) :36–63,
2001.
[41] P Johnson and DC Andrews. Remote continuous physiological monitoring in the
home. Journal of telemedicine and telecare, 2(2) :107–113, 1996.
[42] Chris Karlof and David Wagner. Secure routing in wireless sensor networks : Attacks
and countermeasures. Ad hoc networks, 1(2) :293–315, 2003.120 BIBLIOGRAPHIE
[43] Priit Karu and Jonne Loikkanen. Practical comparison of fast public-key cryptosystems.
In Telecommunications Software and Multimedia Lab. at Helsinki Univ. of
Technology, Seminar on Network Security. Citeseer, 2001.
[44] Neal Koblitz. Elliptic curve cryptosystems. Mathematics of computation, 48(177) :
203–209, 1987.
[45] Paul Kocher, Joshua Jaffe, and Benjamin Jun. Differential power analysis. In Advances
in Cryptology—CRYPTO’99, pages 388–397. Springer, 1999.
[46] Farinaz Koushanfar, Miodrag Potkonjak, and A Sangiovanni-Vincentell. Fault tolerance
techniques for wireless ad hoc sensor networks. In Sensors, 2002. Proceedings
of IEEE, volume 2, pages 1491–1496. IEEE, 2002.
[47] Farinaz Koushanfar, Miodrag Potkonjak, and Alberto Sangiovanni-vincentelli. Fault
tolerance in wireless sensor networks. In Handbook of Sensor Networks : Compact
Wireless and Wired Sensing Systems, 2004.
[48] Bhaskar Krishnamachari and Sitharama Iyengar. Distributed bayesian algorithms
for fault-tolerant event region detection in wireless sensor networks. Computers,
IEEE Transactions on, 53(3) :241–250, 2004.
[49] RSA Laboratories. Pkcs #1 : Rsa encryption standard, November 1993. URL ftp:
//ftp.rsasecurity.com/pub/pkcs/ascii/pkcs-1.asc.
[50] Koen Langendoen, Aline Baggio, and Otto Visser. Murphy loves potatoes. In Proc.
IPDPS, 2006.
[51] Laurie Law, Alfred Menezes, Minghua Qu, Jerry Solinas, and Scott Vanstone. An
efficient protocol for authenticated key agreement. Designs, Codes and Cryptography,
28(2) :119–134, 2003.
[52] Yee Wei Law, Jeroen Doumen, and Pieter Hartel. Survey and benchmark of block
ciphers for wireless sensor networks. ACM Transactions on Sensor Networks
(TOSN), 2(1) :65–93, 2006.
[53] Jin-Shyan Lee, Yu-Wei Su, and Chung-Chou Shen. A comparative study of wireless
protocols : Bluetooth, uwb, zigbee, and wi-fi. In Industrial Electronics Society, 2007.
IECON 2007. 33rd Annual Conference of the IEEE, pages 46–51. IEEE, 2007.
[54] Arjen K Lenstra and Eric R Verheul. Selecting cryptographic key sizes. Journal of
cryptology, 14(4) :255–293, 2001.
[55] Olivier Leran. Parallélisation d’un algorithme de chiffrement utilisant les courbes
elliptiques. Master’s thesis, Université de Franche-Comté, Décembre 2012.
[56] Philip Levis and David Culler. Maté : A tiny virtual machine for sensor networks. In
ACM Sigplan Notices, volume 37, pages 85–95. ACM, 2002.
[57] Philip Levis, Sam Madden, Joseph Polastre, Robert Szewczyk, Kamin Whitehouse,
Alec Woo, David Gay, Jason Hill, Matt Welsh, Eric Brewer, et al. Tinyos : An operating
system for sensor networks. In Ambient intelligence, pages 115–148. Springer,
2005.BIBLIOGRAPHIE 121
[58] Ning Li and Jennifer C Hou. Flss : a fault-tolerant topology control algorithm for
wireless networks. In Proceedings of the 10th annual international conference on
Mobile computing and networking, pages 275–286. ACM, 2004.
[59] Joshua Lifton, Mark Feldmeier, Yasuhiro Ono, Cameron Lewis, and Joseph A Paradiso.
A platform for ubiquitous sensor deployment in occupational and domestic
environments. In Information Processing in Sensor Networks, 2007. IPSN 2007.
6th International Symposium on, pages 119–127. IEEE, 2007.
[60] Chae Hoon Lim and Pil Joong Lee. More flexible exponentiation with precomputation.
In Advances in cryptology—CRYPTO’94, pages 95–107. Springer, 1994.
[61] Kris Lin, Jennifer Yu, Jason Hsu, Sadaf Zahedi, David Lee, Jonathan Friedman,
Aman Kansal, Vijay Raghunathan, and Mani Srivastava. Heliomote : enabling longlived
sensor networks through solar energy harvesting. In Proceedings of the 3rd
international conference on Embedded networked sensor systems, pages 309–309.
ACM, 2005.
[62] An Liu and Peng Ning. Tinyecc : A configurable library for elliptic curve cryptography
in wireless sensor networks. In Information Processing in Sensor Networks, 2008.
IPSN’08. International Conference on, pages 245–256. IEEE, 2008.
[63] Sergio Marti, Thomas J Giuli, Kevin Lai, and Mary Baker. Mitigating routing misbehavior
in mobile ad hoc networks. In Proceedings of the 6th annual international
conference on Mobile computing and networking, pages 255–265. ACM, 2000.
[64] K Martinez, P Padhy, A Riddoch, HLR Ong, and JK Hart. Glacial environment monitoring
using sensor networks. In In Proceedings of Real-World Wireless Sensor
Networks. Citeseer, 2005.
[65] David Martins. Sécurité dans les réseaux de capteurs sans fil - Stéganographie et
réseaux de confiance. PhD thesis, UFR des Sciences et Techniques de l’Université
de Franche-Comté, 2010.
[66] David Martins and Hervé Guyennet. Steganography in mac layers of 802.15. 4 protocol
for securing wireless sensor networks. In Multimedia Information Networking
and Security (MINES), 2010 International Conference on, pages 824–828. IEEE,
2010.
[67] James L Massey and Jimmy K Omura. Method and apparatus for maintaining the
privacy of digital messages conveyed by public transmission, January 28 1986. US
Patent 4,567,600.
[68] Marouane Mezzi. Réseaux de capteurs pou rla surveillance et la maintenance pré-
ventive d’une machine industrielle. Master’s thesis, Université de Franche-Comté,
Juin 2014.
[69] Victor S Miller. Use of elliptic curves in cryptography. In Advances in Cryptology—CRYPTO’85
Proceedings, pages 417–426. Springer, 1986.
[70] Sushruta Mishra, Lambodar Jena, and Aarti Pradhan. Fault tolerance in wireless
sensor networks. International Journal, 2(10) :146–153, 2012.122 BIBLIOGRAPHIE
[71] Atsuko Miyaji, Takatoshi Ono, and Henri Cohen. Efficient elliptic curve exponentiation.
In Proceedings of the First International Conference on Information and
Communication Security, pages 282–291. Springer-Verlag, 1997.
[72] Moteiv. Tmote sky : Ultra low power ieee 802.15.4 compliant wireless sensor module,
2005.
[73] James Newsome, Elaine Shi, Dawn Song, and Adrian Perrig. The sybil attack in
sensor networks : analysis & defenses. In Proceedings of the 3rd international
symposium on Information processing in sensor networks, pages 259–268. ACM,
2004.
[74] NIST. Recommended elliptic curves for federal government use, 1999. Available at
http://csrc.nist.gov/encryption.
[75] Vladimir Oleshchuk and Vladimir Zadorozhny. Trust-aware query processing in data
intensive sensor networks. In Proc. of International Conference on Sensor Technologies
and Applications (SensorComm 2007), 2007.
[76] Celal Ozturk, Yanyong Zhang, and Wade Trappe. Source-location privacy in energyconstrained
sensor network routing. In SASN, volume 4, pages 88–93, 2004.
[77] Bibhudendu Panda and Pabitra Mohan Khilar. Fpga based implementation of parallel
ecc processor. In Proceedings of the 2011 International Conference on Communication,
Computing & Security, pages 453–456. ACM, 2011.
[78] Emile M Petriu, Nicolas D Georganas, Dorina C Petriu, Dimitrios Makrakis, and
Voicu Z Groza. Sensor-based information appliances. Instrumentation & Measurement
Magazine, IEEE, 3(4) :31–35, 2000.
[79] Joseph Polastre, Robert Szewczyk, and David Culler. Telos : enabling ultra-low
power wireless research. In Information Processing in Sensor Networks, 2005.
IPSN 2005. Fourth International Symposium on, pages 364–369. IEEE, 2005.
[80] Madhura Purnaprajna, Christoph Puttmann, and Mario Porrmann. Power aware
reconfigurable multiprocessor for elliptic curve cryptography. In Design, Automation
and Test in Europe, 2008. DATE’08, pages 1462–1467. IEEE, 2008.
[81] Kefa Rabah. Elliptic curve elgamal encryption and signature schemes. Information
Technology Journal, 4(3) :299–306, 2005.
[82] Sutharshan Rajasegarar, Christopher Leckie, Marimuthu Palaniswami, and
James C Bezdek. Distributed anomaly detection in wireless sensor networks.
In Communication systems, 2006. ICCS 2006. 10th IEEE Singapore International
Conference on, pages 1–5. IEEE, 2006.
[83] Daler Rakhamtov and Sarma Vrudhula. Time-to-failure estimation for batteries in
portable electronic systems. In Proceedings of the 2001 international symposium
on Low power electronics and design, pages 88–91. ACM, 2001.
[84] Brian Randell, Pete Lee, and Philip C. Treleaven. Reliability issues in computing
system design. ACM Computing Surveys (CSUR), 10(2) :123–165, 1978.
[85] Jussi Rautpalo. Gprs security-secure remote connections over gprs. Technical University
of Helsinki, Department of Computer Science, referenced, 27 :2003, 2000.BIBLIOGRAPHIE 123
[86] Kui Ren, Tieyan Li, Zhiguo Wan, Feng Bao, Robert H Deng, and Kwangjo Kim.
Highly reliable trust establishment scheme in ad hoc networks. Computer Networks,
45(6) :687–699, 2004.
[87] Certicom Research. Sec 2 : Recommended elliptic curve domain parameters, September
2000.
[88] Vincent Ricquebourg, David Menga, David Durand, Bruno Marhic, Laurent Delahoche,
and Christophe Loge. The smart home concept : our immediate future. In
E-Learning in Industrial Electronics, 2006 1ST IEEE International Conference on,
pages 23–28. IEEE, 2006.
[89] Ronald L Rivest, Adi Shamir, and Len Adleman. A method for obtaining digital
signatures and public-key cryptosystems. Communications of the ACM, 21(2) :
120–126, 1978.
[90] Stanislav Rost and Hari Balakrishnan. Memento : A health monitoring system for
wireless sensor networks. In Sensor and Ad Hoc Communications and Networks,
2006. SECON’06. 2006 3rd Annual IEEE Communications Society on, volume 2,
pages 575–584. IEEE, 2006.
[91] Linnyer Beatrys Ruiz, Isabela G Siqueira, Hao Chi Wong, José Marcos S Nogueira,
Antonio AF Loureiro, et al. Fault management in event-driven wireless sensor networks.
In Proceedings of the 7th ACM international symposium on Modeling, analysis
and simulation of wireless and mobile systems, pages 149–156. ACM, 2004.
[92] Stanislav Safaric and Kresimir Malaric. Zigbee wireless standard. In Multimedia
Signal Processing and Communications, 48th International Symposium ELMAR-
2006, Zadar, Croatia, pages 259–262, 2006.
[93] Yasuyuki Sakai and Kouichi Sakurai. Efficient scalar multiplications on elliptic curves
without repeated doublings and their practical performance. In Information Security
and Privacy, pages 59–73. Springer, 2000.
[94] Sergei P Skorobogatov and Ross J Anderson. Optical fault induction attacks. In
Cryptographic Hardware and Embedded Systems-CHES 2002, pages 2–12. Springer,
2003.
[95] Jessica Staddon, Dirk Balfanz, and Glenn Durfee. Efficient tracing of failed nodes in
sensor networks. In Proceedings of the 1st ACM international workshop on Wireless
sensor networks and applications, pages 122–130. ACM, 2002.
[96] Frank Stajano and Ross Anderson. The resurrecting duckling : security issues for
ubiquitous computing. Computer, 35(4) :22–26, 2002.
[97] Robert Szewczyk, Alan Mainwaring, Joseph Polastre, John Anderson, and David
Culler. An analysis of a large scale habitat monitoring application. In Proceedings of
the 2nd international conference on Embedded networked sensor systems, pages
214–226. ACM, 2004.
[98] Robert Szewczyk, Joseph Polastre, Alan Mainwaring, and David Culler. Lessons
from a sensor network expedition. In Wireless Sensor Networks, pages 307–322.
Springer, 2004.124 BIBLIOGRAPHIE
[99] Ali Maleki Tabar, Arezou Keshavarz, and Hamid Aghajan. Smart home care network
using sensor fusion and distributed vision-based reasoning. In Proceedings of the
4th ACM international workshop on Video surveillance and sensor networks, pages
145–154. ACM, 2006.
[100] Jane Tateson, Christopher Roadknight, Antonio Gonzalez, Taimur Khan, Steve Fitz,
Ian Henning, Nathan Boyd, Chris Vincent, and Ian Marshall. Real world issues in
deploying a wireless sensor network for oceanography. In Workshop on Real-World
Wireless Sensor Networks REALWSN’05, 2005.
[101] John Thelen, Dann Goense, and Koen Langendoen. Radio wave propagation in potato
fields. In 1st Workshop on Wireless Network Measurements, volume 2, pages
331–338. Citeseer, 2005.
[102] Ben L Titzer, Daniel K Lee, and Jens Palsberg. Avrora : Scalable sensor network
simulation with precise timing. In Proceedings of the 4th international symposium
on Information processing in sensor networks, page 67. IEEE press, 2005.
[103] Gilman Tolle, Joseph Polastre, Robert Szewczyk, David Culler, Neil Turner, Kevin
Tu, Stephen Burgess, Todd Dawson, Phil Buonadonna, David Gay, et al. A macroscope
in the redwoods. In Proceedings of the 3rd international conference on
Embedded networked sensor systems, pages 51–63. ACM, 2005.
[104] Wim Van Eck. Electromagnetic radiation from video display units : an eavesdropping
risk ? Computers & Security, 4(4) :269–286, 1985.
[105] Maarten Van Steen. Distributed systems principles and paradigms. Network, 2 :28,
2004.
[106] Thiemo Voigt, Hartmut Ritter, and Jochen Schiller. Utilizing solar power in wireless
sensor networks. In Local Computer Networks, 2003. LCN’03. Proceedings. 28th
Annual IEEE International Conference on, pages 416–422. IEEE, 2003.
[107] Haodong Wang and Qun Li. Efficient implementation of public key cryptosystems
on mote sensors (short paper). In Information and Communications Security, pages
519–528. Springer, 2006.
[108] Xun Wang, Sriram Chellappan, Wenjun Gu, Wei Yu, and Dong Xuan. Search-based
physical attacks in sensor networks. In Computer Communications and Networks,
2005. ICCCN 2005. Proceedings. 14th International Conference on, pages 489–
496. IEEE, 2005.
[109] Anthony Wood and John A Stankovic. Denial of service in sensor networks. Computer,
35(10) :54–62, 2002.
[110] Peter Wright and Paul Greengrass. Spycatcher : The candid autobiography of a
senior intelligence officer. Viking New York, 1987.
[111] Zheng Yan, Peng Zhang, and Teemupekka Virtanen. Trust evaluation based security
solution in ad hoc networks. In Proceedings of the Seventh Nordic Workshop
on Secure IT Systems, volume 14, 2003.
[112] Jennifer Yick, Biswanath Mukherjee, and Dipak Ghosal. Wireless sensor network
survey. Computer networks, 52(12) :2292–2330, 2008.BIBLIOGRAPHIE 125
[113] Huafei Zhu, Feng Bao, and Robert H Deng. Computing of trust in wireless networks.
In Vehicular Technology Conference, 2004. VTC2004-Fall. 2004 IEEE 60th,
volume 4, pages 2621–2624. IEEE, 2004.APPLICATION D’ECC DANS UN
SYSTÈME DE SURVEILLANCE
ENVIRONNEMENTALE
Sommaire
.1 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
.1.1 Architecture du système . . . . . . . . . . . . . . . . . . . . . . . . . 128
.1.2 Processeur embarqué . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
.1.3 Réseau de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
.2 Problèmes de sécurité dans notre système . . . . . . . . . . . . . . . . . . . 130
.3 Application d’un cryptosystème basé sur ECC . . . . . . . . . . . . . . . . 131
.3.1 Configuration du cryptosystème . . . . . . . . . . . . . . . . . . . . . 132
.3.2 Protocole cryptographique . . . . . . . . . . . . . . . . . . . . . . . . 133
.3.3 Calcul parallèle des multiplications scalaires . . . . . . . . . . . . . . 134
.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
FIGURE 1 – Un système de purification d’eau alimenté par des panneaux solaires
Dans ce chapitre, nous présentons un projet d’un système de purification d’eau développé
en Chine (voir figure 1), dont le fonctionnement peut être surveillé à distance avec
un ensemble de capteurs. Pour sécuriser la communication entre les capteurs et la centrale
de contrôle, on a choisi le cryptosystème asymétrique ECC, qui peut offrir une performance
plus intéressante sur les systèmes embarqués. Afin d’accélérer le calcul, on a
intégré notre solution de parallélisation des multiplications scalaires.
127128 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE
.1/ PRÉSENTATION DU PROJET
.1.1/ ARCHITECTURE DU SYSTÈME
L’objectif du projet de développement d’un système de purification d’eau qui peut fonctionner
d’une manière autonome, et qui peut être contrôlé à distance. Les capteurs sont
mis en place pour surveiller l’état de fonctionnement, et une unité de communication est
aussi indispensable pour envoyer des données mesurées et recevoir des requêtes des
utilisateurs. L’architecture du système est illustrée dans la figure 2.
FIGURE 2 – Architecture de notre système de purification d’eau
Les panneaux solaires génèrent le courant continu et rechargent les batteries, un ondulateur
connecté aux batteries convertit le courant continu au courant alternatif de 220 volts
pour alimenter la pompe qui fait circuler l’eau.
Le projet peut être considéré comme un prototype et une expérimentation de l’Internet
des objets. Pour automatiser et faciliter la gestion du système, un micro-contrôleur et un
ensemble de capteurs sont mis en place pour surveiller les paramètres qui sont cruciaux
pour son bon fonctionnement :
– Capteur de luminosité : le capteur est installé sur un panneau solaire pour mesurer
le niveau de luminosité. Les panneaux convertissent le rayonnement solaire en énergie
électrique, il n’y a donc aucun intérêt de les laisser allumés quand le niveau de
luminosité est très faible.
– Capteur de température : Les batteries ne peuvent fonctionner que dans un intervalle
de température particulier. Notamment une température trop élevée peut provoquer
une incendie, même une explosion, il est donc indispensable de surveiller constamment
la température des batteries.
– Capteur de voltage et puissance : le voltage et la puissance sont aussi 2 paramètres
qui peuvent refléter l’état de fonctionnement du système. Un voltage ou une puissance
très faible en entrée signifie probablement une panne de batterie, et un voltage ou une.1. PRÉSENTATION DU PROJET 129
puissance de sortie instable peut éventuellement endommager la pompe. Si on détecte
des valeurs anormales, il faut arrêter immédiatement tout le système et envoyer un
avertissement à la centrale de contrôle.
Les capteurs sont reliés au micro-contrôleurs (MCU) qui est installé dans l’ondulateur, et il
est programmé pour récupérer les données mesurées et contrôler les autres composants
du systèmes. Pour envoyer des données et recevoir des requêtes, le micro-contrôleur est
connecté à une unité de transfert de données (DTU), qui peut se connecter à la centrale
de contrôle à distance via le réseau GPRS.
Grâce à la connexion entre la centrale et le DTU, l’utilisateur peut programmer à distance
les horaires de fonctionnement des panneaux solaires, éteindre ou allumer des panneaux
et interroger un panneau spécifique pour récupérer les paramètres surveillés à n’importe
quel moment.
.1.2/ PROCESSEUR EMBARQUÉ
Le micro-contrôleur utilisé est un modèle amélioré du micro-contrôleur MSC-51, qui est
un modèle initialement développé par Intel dans les années 80. Il est réputé pour sa
fiabilité et sa simplicité d’utilisation, et les développeurs peuvent programmer directement
en C standard. De ce fait, les autres modèles compatibles et améliorés continuent à sortir,
sont encore largement utilisés dans l’industrie.
Une comparaison des caractéristiques techniques principales avec le micro-contrôleur TI
MSP430 utilisé par Telosb est donnée dans le tableau 1.
MSC-51 MSP430
Fréquence : 12 MHz 8 MHz
RAM : 512 Octets 10 Ko
ROM : 16 Ko 48 Ko
TABLE 1 – Comparaison des caractéristiques techniques entre MSC-51 et MSP430
Nous pouvons constater que MCS-51 peut fonctionner un peu plus vite que MSP430,
mais il possède beaucoup moins de RAM et de ROM. La ROM est MCS-51 peut être
étendue jusqu’à 64 Ko, mais la consommation de mémoire devient tout de même un
facteur critique lors du développement pour ce modèle de micro-contrôleur.
.1.3/ RÉSEAU DE CAPTEURS
Dans un site de purification d’eau, on installe souvent plusieurs panneaux solaires, et
chacun est surveillé par un groupe de capteurs qui sont directement contrôlés par le
processeur (micro-contrôleur) installé dans l’ondulateur. D’ailleurs, pour pouvoir envoyer
et recevoir des données, il faut avoir au moins un DTU connecté. Le DTU est équipé d’une
carte SIM qui lui permet d’accéder aux réseaux de l’opérateur de téléphonie mobile, et la
transmission de données génère sans doute des frais supplémentaires. Pour une raison
de coût de maintenance, on n’installe qu’un seul DTU pour un groupe de processeurs.
Les processeurs sont reliés ensemble, et les capteurs constituent un véritable réseau de
capteurs (voir figure 3).130 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE
FIGURE 3 – Réseau de capteurs de notre système de purification d’eau
Les capteurs mesurent périodiquement des paramètres physiques, qui sont ensuite envoyés
au processeur correspondant. Le processeur vérifie s’il a un DTU connecté, si
oui, il lui envoie directement les données, sinon, les données sont d’abord envoyées au
processeur possédant la connexion avec DTU avant d’être renvoyées au DTU.
Le DTU est un dispositif paramétrable, dans lequel on peut stocker les informations né-
cessaires pour établir une connexion avec la centrale, comme l’adresse IP du serveur,
numéro de port, mode de connexion (TCP/UDP) etc. Les données sont envoyées à la
station de base via le réseau GPRS, et puis arrivées à la centrale en passant par Internet.
Dans l’autre sens, l’utilisateur peut éteindre ou rallumer un composant spécifique en envoyant
des requêtes aux processeurs à distance. Lorsque le DTU reçoit une requête, il
l’envoie au processeur connecté, qui s’occupe de la redistribution de requêtes, s’il s’agit
d’un autre processeur sur le réseau.
.2/ PROBLÈMES DE SÉCURITÉ DANS NOTRE SYSTÈME
Dans notre système, l’envoi de données et de requêtes est réalisé via une connexion
sans fil entre le DTU et la centrale de contrôle. Les données doivent passer par 2 réseaux
différents : Internet et le réseau GPRS qui est fourni par l’opérateur de téléphonie mobile.
La communication dans le réseau GPRS est sécurisée avec les algorithmes SRES1 et
GEA2
[85], qui peuvent offrir un niveau de sécurité assez élevé. Cependant, une fois les
données entrent sur Internet, il n’existe aucun mécanisme de sécurité inhérent pour les
protéger contre l’attaquant de l’homme du milieu (voir figure 3).
L’objectif du projet est de développer un système qui peut fonctionner d’une manière au-
1. Signed Response for Subscriber Authentication
2. GPRS Encryption Algorithm.3. APPLICATION D’UN CRYPTOSYSTÈME BASÉ SUR ECC 131
tonome, car ce genre de systèmes sont souvent installé en banlieue où une intervention
humaine n’est pas toujours très facile. Il est donc indispensable de mettre en place des
mécanismes de sécurité pour protéger les équipements et l’échange de données.
Le DTU lui-même ne détient aucun cryptosystème par défaut, si les données ne sont pas
correctement chiffrées, l’attaquant pourra intercepter facilement les données qui circulent
entre la centrale et le DTU, et lancer des attaques de réplication de données et de vol
d’identité.
FIGURE 4 – Attaques dans notre système de purification d’eau
Pendant l’envoi de données mesurées, comme la communication n’est pas sécurisée,
l’attaquant peut accéder à toutes les données qui circulent entre les 2 parties (voir fi-
gure 4).
Comme les données contiennent des informations qui représentent l’état de fonctionnement
des équipements à distance, l’attaquant peut les modifier et renvoyer à l’utilisateur
pour déclencher une fausse alarme. L’attaquant peut aussi lancer des attaquants de ré-
plication de données. Il peut saboter les équipements en rediffusant les données qu’il a
intercepté auparavant pour faire croire à l’utilisateur que tout se passe bien à distance.
Les attaques pendant l’envoie de requêtes peuvent aussi représenter une menace sé-
rieuse au système. Chaque commande est représentée par une suite d’octets prédéfinie,
en faisant des analyses, l’attaquant peut deviner les usages des commandes envoyées.
Même les requêtes sont chiffrées, l’attaquant peut les intercepter et réutiliser sans chercher
à déchiffrer les messages. Par exemple, l’attaquant peut répéter des requêtes pour
éteindre et rallumer consécutivement les panneaux à distance pour les endommager.
Par conséquent, comme tous les réseaux, notre réseau de capteur est aussi vulnérable
aux différentes attaques, il faut donc concevoir et appliquer des mécanismes de sécurité
pour le protéger.
.3/ APPLICATION D’UN CRYPTOSYSTÈME BASÉ SUR ECC
Afin de protéger la communication entre la centrale de contrôle et le DTU, nous avons
proposé d’implémenter un cryptosystème qui est basé sur l’ECC [69, 44], qui offre un
ensemble de protocoles cryptographiques sophistiqués (voir section 3.4). Comme ceux
d’Elgamal [24] qui nous permettent de chiffrer et de signer un message.
Cependant, pour utiliser les protocoles d’Elgamal, il faut d’abord trouver un algorithme132 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE
qui peut convertir le message à chiffrer à un point sur la courbe elliptique et vice versa.
C’est faisable et il existe aussi des algorithmes dans la littérature, mais l’utilisation d’un
tel algorithme implique aussi beaucoup plus de calculs mathématiques. Pour une raison
de performance, dans la plupart des cas, on utilise plutôt un mécanisme hybride, dans
lequel on utilise un algorithme de cryptographie asymétrique pour générer une clé secrète
partagée, comme celui de Diffie-Hellman [22], ensuite on utilise un algorithme de
cryptographie symétrique pour chiffrer le message. C’est aussi la stratégie choisie par le
protocole ECIES (voir section 3.4.2).
Pour notre projet, nous voulons que dans un premier temps le cryptosystème puisse
atteindre les objectifs suivants :
– Confidentialité : Les données qui circulent entre la centrale et le DTU sont correctement
chiffrées et ne sont pas accessibles à l’attaquant ;
– Fraîcheur : Les données sont chiffrées avec un nonce et un horodatage (timestamp en
Anglais) pour contre les attaques de réplication de données ;
– Authentification : Il faut que le récepteur du message puisse vérifier l’identité de l’envoyeur.
Dans notre système, les données circulent directement entre la centrale et le DTU sans
passer par une tierce partie, afin d’authentifier les messages reçus, au lieu d’implémenter
le protocole de signature numérique ECDSA (voir section 3.4.3) qui est sans doute
une procédure trop coûteuse pour les micro-contrôleurs, on a décidé d’utiliser des codes
d’authentification de message (MAC) qui peuvent être générés à partir de la clé secrète
partagée.
.3.1/ CONFIGURATION DU CRYPTOSYSTÈME
On suppose que la centrale de contrôle et le micro-contrôleur qui est connecté au DTU
possèdent chacun une clé privée et une clé publique (kc, Kc) et (kd, Kd) où kc, kd sont
2 nombres entiers de longueur 160. Les clés du micro-contrôleur sont chargées avant
le déploiement, et celles de la centrale sont stockées sur un serveur qui peuvent être
changées au cours du fonctionnement.
La centrale et les micro-contrôleurs partagent la même courbe elliptique définie sur un
corps premier fini Fp, les paramètres de la courbes à configurer sont donnés dans le
tableau 6.1.
Pour accélérer le calcul des multiplications scalaires sur les micro-contrôleurs, on veut
appliquer aussi notre solution de parallélisation, selon le test de performance (voir tableau
4.9), afin de paralléliser le calcul entre jusqu’à 4 processeurs, il faut précalculer et
stocker au moins 3 points.
La consommation de mémoire pour stocker les paramètres est montrée dans le tableau
6.2, plus les clés (kd, Kd), la quantité totale de mémoire nécessaire est 333 octet.
Nous pouvons constater que le nombre total d’octets ne dépasse pas la taille maximale
de ROM du micro-contrôleur MSC-51..3. APPLICATION D’UN CRYPTOSYSTÈME BASÉ SUR ECC 133
.3.2/ PROTOCOLE CRYPTOGRAPHIQUE
Chaque fois quand le DTU se connecte à la centrale de contrôle, il demande et télécharge
la clé publique Kc de la centrale. Si la centrale veut changer ses clés, il suffira de couper
la connexion actuelle, et le DTU va recréer la connexion et redemander la nouvelle clé
publique.
Quand le micro-contrôleur veut chiffrer et envoyer un message m à la centrale, il effectue
les opérations suivantes :
1. Générer un nombre entier aléatoire r ∈ [1, n − 1] et calculer R = r · G ;
2. Calculer le secret partagé P = (Px, Py) = r · Kc ;
3. Générer la clé partagée s = KDF(Px) ;
4. Chiffrer le message c = E(s, (m, o, t)) où o est le nonce et t est l’horodatage ;
5. Générer le code d’authentification de message a = MAC(s, c) ;
6. Envoyer (R, c, a) à la centrale ;
KDF() est une fonction de génération de clé, MAC() une fonction de génération du code
d’authentification, et E() est un algorithme de cryptographie symétrique.
Quand la centrale reçoit le message (R, c, a), il essaie de le déchiffrer et authentifier en
effectuant la procédure suivante :
1. Calculer le secret partagé P = (Px, Py) = kc · R = kc · r · G = r · Kc ;
2. Générer la clé partagée s = KDF(Px) ;
3. Générer le code d’authentification de message a
′ = MAC(s, c) ;
4. Déchiffrer le message (m, o, t) = E
−1
(s, c) ;
5. Comparer o et t avec le nonce n
′ et l’horodatage t
′
locaux ;
6. Rejeter le message si n , n
′ + 1 ou t ≤ t
′
;
7. Rejeter le message si a , a
′
;
Quand la centrale veut envoyer une requête au micro-contrôleur à distance, il demande
d’abord sa clé publique Kd, et la suite de la procédure est identique que celle présentée
ci-dessus.
On suppose que l’attaquant possède l’accès à l’ensemble de paramètres de la courbe
utilisée (p, a, b,G, n), et il peut aussi capturer le message (R, c, a) envoyé par le DTU.
Comme il est extrêmement difficile de calculer r à partir de R, il ne peut pas calculer le
clé partagée s pour déchiffrer le message c. Il ne peut pas modifier le message chiffré c
non plus, car le code d’authentification a est généré avec la clé partagée s et le message
chiffré c, un c modifié ne peut pas passer le test d’authentification.
D’ailleurs, l’attaquant ne peut réutiliser aucune des valeurs capturées. Les calculs de R
et de a sont basés sur la même valeur r, qui n’est pas accessible à l’attaquant, et le
message lui-même est protégé par un nonce o et un horodatage t, une réutilisation de
message capturé sera détectée par le système.134 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE
.3.3/ CALCUL PARALLÈLE DES MULTIPLICATIONS SCALAIRES
Durant le chiffrement et le déchiffrement, chaque participant a une multiplication scalaire
à effectuer, dans le chapitre 4, nous avons proposé une technique qui nous permet de
paralléliser le calcul des multiplication scalaires en découpant le scalaire en plusieurs
parties. Nous avons choisi la parallélisation avec des points précalculés dont la procédure
est illustrée dans la figure 4.9, car la préparation des points en temps réel nécessite des
calculs compliqués.
FIGURE 5 – Application de la parallélisation des multiplications scalaires
Le micro-contrôleur qui est connecté au DTU est considéré comme le processeur maître,
et quand il veut effectuer une multiplication scalaire parallèle, il exécute des opérations
suivantes :
1. Il envoie une demande de participation à tous les micro-contrôleurs connectés ;
2. Les micro-contrôleurs qui sont disponibles deviennent des esclaves en lui retournant
des réponses positives ;
3. En fonction du nombre d’esclaves n, le maître génère un ensemble de tâches ti
, i ∈
[0, n − 1] en découpant le scalaire ;
4. Le maître envoie des tâches ti aux esclaves, et le traitement des tâches commence ;
5. Après le traitement, les esclaves retournent les résultats ri
, i ∈ [0, n − 2] au maître ;
6. Le maître calcule le résultat final R =
Pn
i=0
ri
.
Par exemple, il y a 4 micro-contrôleurs qui sont sur le même réseau, et les points pré-
calculés 2
40G, 2
80G, 2
120G sont déjà chargés en mémoire avant le déploiement. Quand le
micro-contrôleur maître veut lancer le calcul parallèle, il découpe le scalaire en 4 parties
P159
i=120 ki2
i
,
P119
i=80 ki2
i
,
P79
i=40 ki2
i et P39
i=0
ki2
i
, qui sont distribuées aux esclaves. Une fois le
traitement des tâches est terminée, les résultats sont retournés au maître pour former le
résultat final P3
j=0
P40 j+40−1
i=40 j
ki2
i
· 2
40 jG (voir figure 5).
.4/ CONCLUSION
Ce projet est une expérimentation de la parallélisation des multiplications scalaires au
sein d’un véritable réseau de capteurs. La transmission de données et la manipulation.4. CONCLUSION 135
des panneaux solaires sont déjà opérationnelles, mais le développement de la partie
cryptographique est toujours en cours, où nous étudions la possibilité d’implémenter le
protocole de signature numérique ECDSA.DÉROULEMENT DE L’ALGORITHME
D’EUCLIDE ÉTENDU
Dans cette annexe, nous montrons un exemple de calcul de l’inverse modulaire en utilisant
l’algorithme d’Euclide étendu. Nous supposons que nous avons 2 nombres entiers
2013 et 313, nous appliquons d’abord l’algorithme d’Euclide pour calculer leur PGCD.
Dividende - Quotient × Diviseur = Reste
2013 − 6 × 313 = 135
313 − 2 × 135 = 43
135 − 3 × 43 = 6
43 − 7 × 6 = 1
6 − 6 × 1 = 0
TABLE 2 – Exemple de l’algorithme d’Euclide
Nous prenons le dernier reste avant le zéro, le PGCD(2013, 313) = 1, c’est-à-dire que 2013
et 313 sont premier entre eux. Nous pouvons voir que à partir de la 2e
ligne, le diviseur
est le reste de la ligne précédente, et à partir de la 3e
ligne, le dividende est égal au reste
obtenu 2 ligne plus haut. Nous pouvons donc réécrite le tableau 2 de la manière suivante.
u × x + v × p = r
1 × 2013 + 0 × 313 = 2013
0 × 2013 + 1 × 313 = 313
1 × 2013 − 6 × 313 = 2013 − 6 × 313 = 135
−2 × 2013 + 7 × 313 = 313 − 2 × 135 = 313 − 2 × (2013 − 6 × 313) = 43
7 × 2013 − 27 × 313 = 135 − 3 × 43 = (2013 − 6 × 313) − 3 × (−2 × 2013 + 7 × 313) = 6
−51 × 2013 + 196 × 313 = 43 − 7 × 6 = (−2 × 2013 + 7 × 313) − 7 × (7 × 2013 − 27 × 313) = 1
TABLE 3 – Exemple de l’algorithme d’Euclide étendu
Nous obtenons dans le tableau 3 les coefficients de Bézout u×x+v×p = −51×2013+196×
313 = 1, nous avons donc l’inverse multiplicatif de 2013 modulo 313 est égal à −51, noté
−51 ≡ 2013−1
(mod 313). Maintenant il nous suffit appliquer encore une fois l’opération
modulo pour limiter le résultat dans l’intervalle [0, 312], c’est-à-dire 262 ≡ −51 (mod 313).
137Résumé :
L’émergence des systèmes embarqués a permis le développement des réseaux de capteurs sans
fil dans de nombreux domaines différents. Cependant, la sécurité reste un problème ouvert. La
vulnérabilité des nœuds est principalement liée au manque de ressources. En effet, l’unité de
traitement ne dispose pas d’assez de puissance et de mémoire pour gérer des mécanismes de
sécurité très complexes.
La cryptographie est une solution qui est largement utilisée pour sécuriser les réseaux. Par rapport
à la cryptographie symétrique, la cryptographie asymétrique nécessite des calculs plus compliqués,
mais elle offre une distribution de clés plus sophistiquée et la signature numérique.
Dans cette thèse, nous essayons d’optimiser la performance d’ECC (Elliptic Curve Cryptography), un
cryptosystème asymétrique qui est connu pour sa robustesse et son utilisation de clé plus courte par
rapport à RSA. Nous proposons d’utiliser le parallélisme pour accélérer le calcul de la multiplication
scalaire, qui est reconnue comme l’opération la plus coûteuse sur les courbes elliptiques. Les
résultats de tests ont montré que notre solution offre un gain intéressant malgré une augmentation
de la consommation d’énergie.
La deuxième partie de la contribution concerne l’application de la tolérance aux pannes dans notre
architecture de parallélisation. Nous utilisons les nœuds redondants pour la détection des pannes et
la restauration du calcul. Ainsi, en utilisant l’ECC et la tolérance aux pannes, nous proposons une
solution de sécurité efficace et sûre pour les systèmes embarqués.
Mots-clés : Réseaux de capteurs sans fil, sécurité, cryptographie, courbe elliptique, parallélisme, tolérance
aux pannes
Abstract:
The emergence of embedded systems has enabled the development of wireless sensor networks in
different domains. However, the security remains an open problem. The vulnerability of sensor nodes
is mainly due to the lack of resources. In fact, the processing unit doesn’t have enough power or
memory to handle complex security mechanisms.
Cryptography is a widely used solution to secure networks. Compared with symmetric cryptography,
the asymmetric cryptography requires more complicated computations, but it offers more
sophisticated key distribution schemes and digital signature.
In this thesis, we try to optimize the performance of ECC. An asymmetric cryptosystem which is
known for its robustness and the use of shorter keys than RSA. We propose to use parallelism
techniques to accelerate the computation of scalar multiplications, which is recognized as the most
computationally expensive operation on elliptic curves. The test results have shown that our solution
provides a significant gain despite an increase in energy consumption.
The 2nd part of our contribution is the application of fault tolerance in our parallelism architecture.
We use redundant nodes for fault detection and computation recovery. Thus, by using ECC and fault
tolerance, we propose an efficient and reliable security solution for embedded systems.
Keywords: Wireless sensor networks, security, cryptography, elliptic curve, parallelism, fault tolerance
Conception interactive d’environnements urbains
durables `a base de r´esolution de contraintes
Bruno Belin
To cite this version:
Bruno Belin. Conception interactive d’environnements urbains durables `a base de r´esolution de
contraintes. Modeling and Simulation. Universit´e de Nantes, 2014. French.
HAL Id: tel-01095433
https://hal.archives-ouvertes.fr/tel-01095433
Submitted on 15 Dec 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.Thèse de Doctorat
Bruno BELIN
Mémoire présenté en vue de l’obtention du
grade de Docteur de l’Université de Nantes
sous le label de l’Université de Nantes Angers Le Mans
École doctorale : Sciences et technologies de l’information, et mathématiques
Discipline : Informatique et applications, section CNU 27
Unité de recherche : Laboratoire d’informatique de Nantes-Atlantique (LINA)
Soutenue le 27 novembre 2014
Conception interactive d’environnements
urbains durables à base de résolution de
contraintes
JURY
Rapporteurs : M. Gilles TROMBETTONI, Professeur des Universités, Université de Montpellier 2
M. Emmanuel PRADOS, Chargé de Recherche INRIA, HdR, INRIA Grenoble - Rhône-Alpes
Examinateurs : M. Frédéric SAUBION, Professeur des Universités, Université d’Angers
M. Etienne GAUDIN, Directeur Innovation, Groupe Bouygues
M. Marc CHRISTIE, Maître de conférences (Co-encadrant), Université de Rennes 1
Mme Charlotte TRUCHET, Maître de conférences (Co-encadrante), Université de Nantes
Directeur de thèse : M. Frédéric BENHAMOU, Professeur des Universités, Université de NantesRemerciements
Recherche un jour, recherche toujours : commençons par remercier mes initiateurs à la Recherche, en
somme les deux responsables de toute cette histoire :
• Christophe JERMANN, Colin DE LA HIGUERA.
Toujours là pour assurer le combat, prenons maintenant la direction du LINA :
• Pierre COINTE, Anne-Françoise QUIN, Annie BOILOT, Jean-Paul SACHET ;
• Élodie GUIDON, Floriane PIQUET, Christine BRUNET.
Lorsque mon PC a bobo, ou que les imprimantes restent muettes, on les retrouve jusqu’à la cafette :
• Damien VINTACHE, Jean-Yves LEBLIN, S@bine BEAURAIN.
Tous au restaurant U, c’est le repère des doctorants U :
• mes collègues doctorants actuels qui devraient bientôt me demander des conseils ;
• les anciens qui m’ont donné des conseils d’anciens ;
• et l’unique, la formidable, l’inoubliable Marie PELLEAU bien-sûr.
Pause, là c’est l’heure du bon café, des conseils et recommandations en tout genre, des présentations scientifiques,
des choses qui ne s’inventent pas tout seul :
• tous mes collègues de l’équipe TASC ;
• Éric LANGUENOU, Florian RICHOUX et Benoît DELAHAYE.
Évoquons maintenant mes partenaires durables, ceux impliqués avec moi dans le projet de recherche SUSTAINS
:
• Élisabeth POINTAL et Frédéric VERNIER du LIMSI : Google Map, et c’est par là que tout commença ;
• Julian JOSEPH de l’Université Rennes 1 : SOS C++, vous êtes toujours là ?
• Valérie GACOGNE, Bernard COUTROT et Michel FANNI : trois mousquetaires des villes modernes ;
• Erwan MAHÉ, Romain CAVAGNA, David KNOSSOW : les gars d’Artefacto qui font les plans les plus
beaux (villes en 3D).
Et pour finir, mes Boss de ces trois dernières années qui m’ont fait bosser, bosser et bosser : mais ça c’est
normal pour un Boss, non ? Ils ont bien mérité une ligne dédiée :
• Frédéric BENHAMOU ;
• Charlotte TRUCHET ;
• Marc CHRISTIE.
Je remercie également mes rapporteurs qui ont accepté d’évaluer ce manuscrit et l’ensemble de mon jury
qui me fait l’honneur de s’intéresser aux travaux de cette thèse.
Et pour tous ceux que j’aurai oublié de citer, qui que vous soyez, un grand merci !
Un tout dernier mot pour me faire pardonner de mes absences répétées auprès de mes amis, de ma famille,
de ma femme et mes trois filles adorées.
3Table des matières
1 Introduction 11
1.1 Contexte général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Objectifs et contributions de cette thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Plan de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
I Contexte 17
2 Urbanisme 19
2.1 Qu’est-ce qu’une ville ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 La ville perçue comme une entité vivante . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 De la ville à l’aire urbaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 L’urbanisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Naissance de l’urbanisme moderne et applications pratiques . . . . . . . . . . . . . . . . 23
2.6 Conséquences des politiques successives . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.7 Théories urbaines après l’urbanisme moderne . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8 Formes et structures de la ville contemporaine . . . . . . . . . . . . . . . . . . . . . . . . 27
2.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 Développement durable 29
3.1 Enjeux d’un développement soutenable sur le long terme . . . . . . . . . . . . . . . . . . 29
3.2 Dimensions urbaines du développement durable . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Enjeux à l’export du savoir-faire français en matière de ville durable . . . . . . . . . . . . 34
3.4 La voiture au cœur d’une nouvelle révolution industrielle ? . . . . . . . . . . . . . . . . . 35
3.5 Utopies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5.1 Une « Utopie Concrète » pour Paris . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5.2 La « Ville Creuse » : un exemple de ville idéale . . . . . . . . . . . . . . . . . . . 38
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4 Cadre méthodologique et problématique 43
4.1 Synthèse des éléments contextuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Articulations entre urbanisme et développement durable . . . . . . . . . . . . . . 43
4.1.2 Un champ d’application moteur de la recherche théorique . . . . . . . . . . . . . 44
4.2 Le cadre méthodologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2.1 Un carroyage symbolique régulier . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.2 L’îlot comme unité de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.3 Résolution optimale et résolution interactive . . . . . . . . . . . . . . . . . . . . . 48
4.2.4 Positionnement de la PPU par rapport aux plateformes de conception urbaine existantes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
56 TABLE DES MATIÈRES
4.3 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3.1 Proposer un modèle de pré-programmation urbaine . . . . . . . . . . . . . . . . . 49
4.3.2 Rechercher une bonne organisation spatiale de la ville à partir du modèle de PPU
dans un contexte batch ou interactif . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.3 Imaginer une interaction avec l’utilisateur capable de maintenir la cohérence globale
d’une solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.4 Méthode générale de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
II État de l’art 53
5 Problèmes d’optimisation combinatoire sous contraintes 55
5.1 Caractéristiques des problèmes combinatoires . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1.1 Problème d’optimisation combinatoire . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1.2 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.1.3 Problèmes de satisfaction de contraintes . . . . . . . . . . . . . . . . . . . . . . . 58
5.1.4 Problèmes d’optimisation sous contraintes . . . . . . . . . . . . . . . . . . . . . . 59
5.1.5 Problèmes d’optimisation dynamique sous contraintes . . . . . . . . . . . . . . . 60
5.2 Résolution des problèmes d’optimisation combinatoire . . . . . . . . . . . . . . . . . . . 60
5.2.1 Panorama des méthodes complètes . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.2 Panorama des méthodes incomplètes . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.3 Discussion sur le choix d’une méthode de résolution . . . . . . . . . . . . . . . . . . . . 65
5.4 Programmation par contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.4.1 Principes de la PPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.4.2 Complément sur les contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.4.3 Résolution des DCSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.4 Résolution des CSOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.5 Heuristiques de construction (approchées) . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.5.1 Algorithmes gloutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.5.2 Algorithmes gloutons aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.6 Métaheuristiques à base de voisinages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.6.1 Généralités sur les métaheuristiques . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.6.2 Métaheuristiques de voisinage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.6.3 Concepts communs aux métaheuristiques de RL . . . . . . . . . . . . . . . . . . 77
5.6.4 Méthodes de descente (Simple Improvement-based Local Search) . . . . . . . . . 80
5.6.5 Mécanismes d’intensification et de diversification . . . . . . . . . . . . . . . . . . 81
5.6.6 Recherche Locale Itérée (Iterated Local Search, ILS) . . . . . . . . . . . . . . . . 83
5.6.7 Recuit Simulé (Simulated Annealing, SA) . . . . . . . . . . . . . . . . . . . . . . 83
5.6.8 Recherche Tabou (Tabu Search, TS) . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.6.9 Adaptive Search (AS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.6.10 Autres métaheuristiques obtenues par recombinaison de méthodes simples . . . . . 89
5.6.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.7 Métaheuristiques parallèles (à base de voisinage) . . . . . . . . . . . . . . . . . . . . . . 90
5.7.1 Évaluation concurrente des voisins . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.7.2 Décomposition de domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.7.3 Recherche multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95TABLE DES MATIÈRES 7
5.8 Environnements logiciel et cadre générique . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.8.1 Les origines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.8.2 Bibliothèques et frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6 Systèmes interactifs d’aide à la décision 99
6.1 Aide à la décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1.1 Décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.2 Processus de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.3 Aide à la décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.4 Systèmes Interactifs d’Aide à la décision . . . . . . . . . . . . . . . . . . . . . . 101
6.1.5 Classification des SIAD au niveau utilisateur . . . . . . . . . . . . . . . . . . . . 103
6.2 Résolution temps réel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2.1 Algorithme anytime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.2.2 Méthodes de résolution adaptées au contexte de décision temps réel . . . . . . . . 106
6.2.3 Contribution du parallélisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.3 Principe de maintien de solution dans un système dynamique . . . . . . . . . . . . . . . . 106
6.3.1 Besoins utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.3.2 Réparation de la solution précédente . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7 Modélisation urbaine 109
7.1 Représentations historiques de la ville . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.1.1 Les modèles d’économie spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.1.2 Les modèles de l’écologie urbaine . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.1.3 Les modèles d’interaction spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.2 Vers une approche systémique et individu-centrée . . . . . . . . . . . . . . . . . . . . . . 114
7.3 La modélisation LUTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.4 Trois modèles urbains passés au crible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.4.1 Le projet UrbanSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.4.2 Le projet GeOpenSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.4.3 CommunityViz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.5 Les problèmes de positionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.5.1 Cadre général d’un problème de positionnement . . . . . . . . . . . . . . . . . . 125
7.5.2 Problème d’affectation quadratique (Quadratic Assignation Problem, QAP) . . . . 125
7.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
III Contributions 129
8 Modèle 131
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.2 Modèle urbain de pré-programmation durable . . . . . . . . . . . . . . . . . . . . . . . . 131
8.2.1 Modèle urbain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.3 Modèle de contrainte pour le problème d’aménagement urbain . . . . . . . . . . . . . . . 133
8.3.1 Représentation de la ville par une grille . . . . . . . . . . . . . . . . . . . . . . . 134
8.3.2 Contraintes générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.3.3 Contraintes spécifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488 TABLE DES MATIÈRES
9 Résolution initiale basée sur Adaptive Search 149
9.1 Choix d’une méthode de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
9.2 Configuration initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
9.2.1 Initialisation aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
9.2.2 Initialisation gloutonne aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
9.3 Algorithme séquentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
9.3.1 Cache de données et calcul incrémental . . . . . . . . . . . . . . . . . . . . . . . 155
9.3.2 Liste des candidats bannis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
9.3.3 Mode multi-candidats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
9.3.4 Mode multi-permutations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
9.4 Version distribuée de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
9.4.1 Caractéristiques liées au fonctionnement de la version distribuée . . . . . . . . . . 162
9.4.2 Compléments intégrés au modèle . . . . . . . . . . . . . . . . . . . . . . . . . . 166
9.4.3 Protocoles distribués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
9.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10 Mode interactif 177
10.1 Principes retenus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.2 Présentation des composants impliqués dans l’interaction . . . . . . . . . . . . . . . . . . 178
10.2.1 Gestionnaire de messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.2.2 Dispositif tactile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.2.3 Solveur interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.3 Gestion des scénarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
10.4 Paramétrage du comportement interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.4.1 Comportement de saisie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.4.2 Administration distante du solveur . . . . . . . . . . . . . . . . . . . . . . . . . . 185
10.4.3 Mode de fonctionnement autonome . . . . . . . . . . . . . . . . . . . . . . . . . 186
10.4.4 Administration des composants graphiques de retour . . . . . . . . . . . . . . . . 186
10.4.5 Réglage du poids de chaque contrainte . . . . . . . . . . . . . . . . . . . . . . . . 187
10.4.6 Taille de chaque cellule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.5 Manipulations directes sur la grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.5.1 Déplacer une forme urbaine ou un ensemble de formes urbaines . . . . . . . . . . 187
10.5.2 Verrouiller ou déverrouiller des cellules à la demande . . . . . . . . . . . . . . . . 190
10.6 Retours visuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
10.6.1 Carte de chaleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
10.6.2 Historique d’évolution des coûts . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
10.7 Vidéo d’accompagnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
10.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
11 Expérimentations 193
11.1 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
11.1.1 Versions incrémentales de nos prototypes . . . . . . . . . . . . . . . . . . . . . . 194
11.1.2 Jeux de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
11.1.3 Paramètres de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
11.1.4 Implémentation et déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.2 Tableau de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
11.2.1 Mode opératoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
11.2.2 Variation des coûts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
11.2.3 Répartition des coûts par contrainte . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2.4 Répartition des temps de calcul par contrainte . . . . . . . . . . . . . . . . . . . . 203TABLE DES MATIÈRES 9
11.2.5 Paysage des gains lié à chaque candidat sélectionné . . . . . . . . . . . . . . . . . 204
11.2.6 Comparaison des performances entre différentes versions de l’algorithme de résolution
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.3 Expérimentations liées à la résolution initiale . . . . . . . . . . . . . . . . . . . . . . . . 209
11.3.1 Comparaison entre les principales versions et modes de fonctionnement . . . . . . 209
11.3.2 Évaluation des protocoles 1 et 4 de la version distribuée . . . . . . . . . . . . . . 210
11.4 Retour des urbanistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.4.1 Évaluation des solutions initiales . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.4.2 Évaluation du mode interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
11.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
IV Conclusion 217
12 Conclusion générale et perspectives 219
12.1 Conclusion générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
12.2 Perspectives de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2201
Introduction
1.1 Contexte général
Depuis peu, les villes rassemblent la majorité de la population mondiale et ne cessent de se développer, en
particulier dans les pays émergents. En même temps qu’elles absorbent les populations venant des campagnes,
elles concentrent des difficultés qui peuvent être liées au prix des logements, aux embouteillages, à
l’insuffisance ou à la vétusté des équipements publics, au niveau de bruit, à la pollution de l’air ou encore
à l’insécurité, etc. Parallèlement, les villes ont subi des transformations importantes liées aux nouveaux
modes de transport qui ont permis de repousser les distances pouvant être parcourues quotidiennement.
Ceci se traduit par des citadins, de plus en plus nombreux, contraints de s’éloigner un peu plus loin, repoussant
en même temps les limites des villes qui s’étalent sans fin. Mais les nouveaux moyens de transport
ne sont pas les seuls responsables de la métamorphose des zones urbaines, les politiques successives de
la ville et les nouveaux modes de vie y contribuent également pour une large part. Par exemple, le zoning
strict insufflé par « La Charte d’Athènes » [55], une doctrine des années 40 élaborée par LE CORBUSIER1
qui prescrit un classement des grandes fonctions urbaines par catégories, a connu ses heures de gloire mais
nous a légué un héritage qui est souvent encombrant, laissant pour compte des cités entières coupées du
reste de la ville par des voies de communication devenues infranchissables.
Indépendamment du bien être de ces habitants, nos modes de vie actuels laissent apparaître d’autres
défis à l’échelle de la planète entière qui viendront s’ajouter aux difficultés auxquelles les villes sont déjà
confrontées. Trop souvent détourné pour des intérêts opportunistes ou repoussé à plus tard, la mise en œuvre
du développement durable tarde à s’encrer dans nos sociétés. Ses partisans nous mettent pourtant en garde
face aux effets prévisibles du réchauffement climatique, de la montée du niveau des océans ou encore de
l’appauvrissement de la biodiversité ou des ressources non renouvelables, etc. Les conséquences annoncées
ont longtemps été contestées, la preuve scientifique n’ayant pas été apportée. Néanmoins, constatons
ensemble que ces voix se font de plus en plus discrètes ces dernières années. Toujours plus éloigné de la
campagne, l’Homme croit, à tort, pouvoir dominer la Nature et s’en abstraire. Il l’exploite sans trop se soucier
des dégâts irréversibles qu’il cause en reportant sur les générations futures un fardeau qui impactera
durablement leurs conditions de (sur)vies.
La majorité des activités humaines s’opérant désormais dans les villes, leur adaptation représente un
levier extraordinaire pour limiter ou lutter contre les effets à venir. Dans ce domaine, deux axes de travail
1Architecte urbaniste, de son vrai nom Charles-Édouart Jeanneret-Gris, né en 1887. Il s’intéresse notamment à l’industrialisation
des bâtiments collectifs et à la fabrication standardisée d’équipements en série. Ses travaux prendront valeur de solution
après la seconde guerre mondiale en France pour répondre à la crise du logement et reconstruire dans l’urgence.
1112 CHAPITRE 1. INTRODUCTION
complémentaires sont envisageables : soit on intervient à l’occasion du renouvellement urbain, soit on intègre
les concepts d’un développement durable dans les fondations des villes naissantes. Le renouvellement
urbain s’opère sur le long terme. Néanmoins, des expérimentations sont déjà menées à l’échelle de quartiers
labellisés « écoquartier ». Ce mouvement en plein développement est né en Allemagne et en Hollande
avec quelques exemples pionniers en Autriche, en Grande Bretagne et dans les pays Scandinaves, et il a
fini avec quelques décennies de retard par atteindre la France. Et bien que la création de villes nouvelles
ne soit plus de mise dans nos pays déjà fortement urbanisés, on constate néanmoins dans des pays à fort
développement, que des villes importantes peuvent apparaître en l’espace de quelques années seulement,
ce phénomène allant perdurer sur plusieurs décennies. C’est le cas notamment de la Chine qui prévoit de
créer l’équivalent de vingt nouvelles villes d’un million d’habitants chacune et par an jusqu’en 2020 pour y
accueillir ses paysans qui désertent les campagnes [182].
La modélisation urbaine et l’optimisation combinatoire peuvent accompagner les décisions stratégiques
qui engagent, chacune à son niveau, notre devenir collectif. La conception de villes nouvelles2
est par
nature une tâche collaborative qui rassemble des urbanistes, des aménageurs et des décideurs autour d’une
carte représentant un territoire à aménager. Cette tâche consiste à positionner sur la carte des éléments
urbains correspondant aux centres, habitations, commerces, équipements publics, aux zones industrielles
ou commerciales, etc. Mais pour cela, le nombre d’éléments urbains à positionner sur le territoire, tout
comme leur répartition spatiale, nécessitent d’établir des règles complexes issues d’une vision systémique
de la ville pour y intégrer les contraintes relatives à un développement durable avec une prise en compte
simultanée de ses aspects sociaux, économiques et écologiques. Enfin, ces travaux doivent s’inscrire dans
une réflexion interdisciplinaire pour se doter des compétences et des savoirs croisés en rapport avec la
complexité de nos sociétés modernes.
1.2 Objectifs et contributions de cette thèse
Face à la complexité intrinsèque liée aux agglomérations urbaines, nous cherchons à apporter des réponses
concrètes circonscrites à des questions précises. Nous nous focalisons plus particulièrement sur la problématique
de placement des éléments urbains à l’aide de techniques interactives et d’optimisation combinatoire.
1.2.1 Objectifs
Cette thèse s’inscrit dans un projet de recherche national qui rassemble des urbanistes, des architectes,
des experts du secteur de l’énergie et des équipes autour de l’optimisation combinatoire et de l’interaction
homme-machine. Nous voulons donc exploiter au mieux cette interdisciplinarité pour mener à bien un
travail collaboratif profitable à chacun, et qui puisse être utile.
Notre travail consiste à réaliser un système interactif d’aide à la décision capable de répartir au mieux les
différentes entités composant une programmation urbaine (habitat, industrie, équipement, commerces, etc.)
sur un territoire vierge et délimité dans l’espace. Cet outil s’adresse aux urbanistes, aménageurs urbains et
décideurs. Quelle que soit la catégorie d’utilisateur, le logiciel proposé doit être capable de l’assister dans
cette tâche de conception de villes durables tout en l’informant des conséquences de ses choix.
1.2.2 Contributions
Nos contributions portent sur la modélisation du problème d’aménagement urbain, la résolution initiale de
ce problème y compris pour des instances de grande taille et la proposition d’un système permettant de
maintenir la cohérence des solutions dans les étapes interactives.
2Bien qu’il ne s’agisse pas de la même échelle, nous envisageons la création d’un nouveau quartier d’une façon similaire à la
création d’une nouvelle ville, en tenant compte en plus de l’influence que peuvent exercer les quartiers limitrophes existants sur
la zone à aménager.1.3. PLAN DE LA THÈSE 13
Modélisation Dans un premier temps, nous analysons avec les urbanistes les principales règles urbaines
et prenant en considération les supposés implicites passés sous silence de prime abord. Nous exprimons
ensuite ces règles urbaines sous la forme de contraintes spatiales, chaque contrainte étant associée à une
« fonction de coût » capable d’évaluer le niveau de violation des propriétés urbaines. Une description formelle
de chaque contrainte est proposée. Un travail important consiste à exprimer chaque contrainte en vue
d’une résolution efficace.
Résolution initiale Dans un deuxième temps, notre problème d’aménagement urbain étant modélisé
comme un problème d’optimisation, nous le résolvons par des techniques de recherche locale basées sur
la méthode Adaptive Search. Il s’agit d’une méthode générique basée contraintes (Constraint-Based Local
Search) capable de tirer parti de la structure du problème qui lui est confié pour diriger la recherche vers une
solution optimale ou de bonne qualité en un temps raisonnable. Nous proposons également des heuristiques
capables d’améliorer sensiblement les temps de calcul. Pour passer à l’échelle et travailler avec des villes
réelles, différents protocoles sont élaborés pour décomposer le problème global et répartir les traitements
d’optimisation sur une grille de calcul.
Tous ces travaux permettent d’obtenir de façon automatique différentes propositions (solutions initiales
optimisées) pour un même problème.
Interaction avec les utilisateurs Notre système est destiné à être utilisé dans un contexte d’aide à la
décision. Il doit assister les urbanistes, aménageurs et décideurs à établir des plans de villes durables, sans
pour autant se substituer à eux. Il est donc fondamental qu’ils puissent interagir avec la solution en utilisant
un dispositif tactile adapté. A ce stade, l’opérateur sélectionne une solution parmi différentes propositions
pour l’ajuster à ses besoins et pour qu’elle puisse s’adapter automatiquement aux arbitrages opérés entre les
différents acteurs impliqués dans le projet urbain. À chaque fois qu’un opérateur réalise une modification
sur la ville, le système recalcule à la volée une bonne solution proche de la précédente sans remettre en cause
les choix antérieurs imposés par les utilisateurs. En retour des modifications réalisées par les utilisateurs,
des graphiques leurs sont également fournis (carte de température, évolution des coûts par contrainte) pour
représenter les impacts de leurs choix.
En lien avec ces différents travaux, nous avons également chercher à évaluer nos résultats suivant trois
aspects complémentaires :
• les temps pour une résolution initiale en comparant le mode séquentiel au mode distribué ;
• la qualité des solutions produites automatiquement par la résolution initiale ;
• la pertinence de l’interaction et la réactivité globale du système.
Le premier aspect est réalisé par une série d’expérimentations alors que les deux aspects suivants s’appuient
sur les retours des urbanistes impliqués dans le projet de recherche SUSTAINS.
1.3 Plan de la thèse
Notre présentons dans cette section le plan de cette thèse organisée en trois parties. La première partie
reprend les notions essentielles liées à l’urbanisme et au développement durable et se termine par une
présentation de notre cadre méthodologique et de la problématique qui nous intéresse. La seconde partie
dresse un état de l’art complet des problèmes d’optimisation combinatoire sous contraintes, des systèmes
interactifs d’aide à la décision et de la modélisation urbaine. La troisième partie présente notre travail de
modélisation, les techniques mises au point pour une résolution initiale basée sur Adaptive Search, le mode
interactif et les différentes expérimentations réalisées. Tous ces éléments sont repris et illustrés dans la
figure 1.1.14 CHAPITRE 1. INTRODUCTION
FIGURE 1.1 – Organisation de la thèse.
Partie I : Contexte Nous commençons par faire un inventaire des notions de base relatives à l’urbanisme
en revisitant les transformations profondes et successives de nos sociétés. Nous définissons notamment ce
qu’est une ville et un espace urbain avant d’aborder les différents courants qui ont traversés l’urbanisme et
qui ont participés à la transformation des villes jusqu’à aujourd’hui.
La notion de développement durable n’existe que depuis une vingtaine d’années et malgré cette jeunesse,
elle a été utilisée dans bien des circonstances et on ne sait pas toujours très bien ce que revêt cette
expression. Il nous semble donc important de revenir sur les enjeux d’un développement soutenable sur le
long terme pour se focaliser ensuite sur les dimensions urbaines du développement durable.
A ce stade, nous somme en mesure d’évaluer avec plus de précision ce que l’urbanisme peut apporter au
développement durable. Nous présentons également les grandes lignes du projet de recherche SUSTAINS
qui s’inscrit dans la conception de villes nouvelles durables à un stade très en amont du processus de
planification. Compte tenu de ces précisions, nous pouvons i) fixer un cadre méthodologique qui s’articule
autour d’une plateforme globale d’aide à la décision pour la conception d’environnements urbains durables
et ii) dégager une problématique précise liée à cette thèse.
Partie II : État de l’art Notre problème étant de nature combinatoire, nous identifions les propriétés relatives
à ce type de problème et dressons un inventaire des principales méthodes de résolution capables de les
adresser. Nous insistons plus particulièrement sur les métaheuristiques de recherche locale particulièrement
adaptées à notre contexte.
Pour aider les utilisateurs à prendre des décisions, nous décryptons les systèmes interactifs d’aide à
la décision qui permettent de concevoir des systèmes temps réel capables de fournir des résultats dans un
délai contrôlé. On y évalue également l’intérêt d’une approche de résolution anytime à même de prendre en
compte nos exigences liées à l’interactivité.
Enfin, on présente un état de l’art de la modélisation urbaine restreint à des sujets en lien avec notre1.3. PLAN DE LA THÈSE 15
thèse. Trois approches (UrbanSim, GeOpenSim, et CommunityViz) sont détaillées afin de positionner nos
travaux dans le panorama de la recherche actuelle. En complément de ces modèles urbains, nous présentons
également la famille des problèmes de positionnement et notamment le problème d’affectation quadratique
qui offre des similitudes avec notre problématique, qui consiste à positionner au mieux les éléments urbains
sur chaque îlot d’une ville.
Partie III : Contributions Nous commençons par définir les différentes notions retenues pour représenter
une pré-programmation urbaine, et en particulier : l’îlot, la centralité, la forme urbaine et l’intensité. En
partant de ces notions, nous proposons un modèle de contraintes pour notre problème d’aménagement
urbain. Cette étude fournit une description informelle associée à une description formelle pour chaque
contrainte, ces contraintes pouvant être regroupées selon qu’elles sont générales ou spécifiques.
Le problème d’aménagement urbain étant modéliser comme un problème d’optimisation, nous le ré-
solvons par des techniques de recherche locale en réalisant une succession de permutations entre formes
urbaines. L’outil proposé organise alors automatiquement les formes urbaines sur un territoire vierge et dé-
limité dans l’espace. L’algorithme séquentiel basé sur Adaptive Search bénéficie d’heuristiques novatrices
permettant d’améliorer les temps de calcul. Nous proposons également une version distribuée de l’algorithme
efficace pour s’attaquer à des problèmes de grande taille.
La seconde partie du processus de résolution est interactive. Après la génération d’une solution initiale
par des procédures complètement automatiques, l’utilisateur peut reprendre le contrôle sur la solution par
le biais de manipulations interactives qui sont décrites ici dans les moindres détails. Les trois composants
impliqués dans l’interaction sont également présentés : dispositif tactile, solveur interactif et gestionnaire
de messages asynchrones.
Après avoir décrit notre méthodologie d’évaluation, le dernier chapitre fait état des expérimentations
liées aux résolutions initiales. Dans ce cadre, on y reporte également les performances du mode distribué,
le seul mode capable de s’attaquer efficacement à des villes de grande taille. Nous nous focalisons ensuite
sur le retour des urbanistes qui ont pu évaluer la qualité des différentes solutions initiales produites sur
Marne-La-Vallée. Nous fournissons également leurs réponses liées à la mise en œuvre du mode interactif
qui a été particulièrement bien accueilli.I
Contexte
172
Urbanisme
Nous débutons cette partie liée au contexte en faisant l’inventaire des notions de base relatives à l’urbanisme
[69, 261] qui sont au cœur de ce travail de thèse.
Nous avons connu un premier bouleversement en 1995 lorsque les villes des pays industrialisés qui
représentaient jusque là les plus grosses concentrations humaines ont été rattrapées par celles des pays
émergents [41]. Une autre étape importante a été franchie en 2008 lorsqu’on a atteint pour la première fois
dans l’histoire de l’humanité le cap des 50 % de la population mondiale vivant en agglomération dont un
tiers en bidonville. En 2010, notre planète comptait 449 agglomérations de plus d’un million d’habitants,
dont 38 entre 5 et 10 millions et 23 avec plus de 10 millions d’habitants [270].
Aujourd’hui, les villes des pays émergents totalisent 95 % de la croissance urbaine mondiale et on
dénombre un million d’urbains supplémentaires chaque semaine dans le monde. L’Amérique et l’Europe
sont les plus urbanisées, tandis que l’Afrique et l’Asie comptent encore une majorité de ruraux. L’Europe
de l’Ouest est globalement très urbanisée avec un taux de 80 %. En France, le taux d’urbanisation actuel est
de 87 % [269]. Nous sommes dans un milieu très urbain, mais dans une urbanité de moins en moins dense
et qui intègre un usage urbain de la campagne.
Dans les projections publiées par les NATIONS UNIES [271], la population mondiale en zone urbaine
devrait atteindre 58 % en 2025, puis 67,2 % en 2050. Cette augmentation sera principalement concentrée
dans les régions les moins développées : Afrique et Asie. Cette croissance ne sera pas sans conséquences
sur les villes qui devront continuer à s’adapter pour assumer leurs responsabilités dans des domaines aussi
variés et indissociables que sont le logement, la sécurité, les infrastructures de transport et de télécommunication,
l’approvisionnement en eau et en énergie, la qualité de l’air, le niveau de bruit ou encore l’évacuation
et le traitement des déchets [141].
2.1 Qu’est-ce qu’une ville ?
Définitions JEAN-LOUIS HUOT, professeur d’archéologie, esquisse une définition de la ville [140] : c’est
un lieu d’échanges et de production, un lieu d’interactions économiques complexes. C’est un lieu mixte
et hiérarchisé où plusieurs classes sociales coexistent et la société y est organisée de manière structurée.
Selon lui, une vraie ville doit être mixte, complexe et hiérarchisée. Pour les statisticiens français, depuis
1887, les choses sont simples : une ville est une agglomération comptant au moins 2 000 habitants. C’est
la même chose en Allemagne, mais il existe près de 200 seuils à travers le monde. Pour l’historien Belge
HENRI PIRENNE, les villes sont l’œuvre des marchands, elles n’existent que par eux [217]. Pour l’historien
français PIERRE LAVEDAN, la ville est un être vivant [166]. Comme tout être vivant, elle naît, elle grandit,
1920 CHAPITRE 2. URBANISME
elle meurt. PIERRE RIBOULET, architecte et urbaniste français, parle d’œuvre [232] : la ville est une œuvre
collective, une sorte de production artisanale unique, réalisée par les hommes qui composent la société et
qui y vivent.
Principes constitutifs de la ville PIERRE MERLIN, ingénieur géographe, expert-démographe et statisticien,
écrit [188] que la ville est constituée de deux éléments : l’espace et le temps. A ces deux composantes,
il faut ajouter celle des dynamiques socio-économiques. La dynamique sociale et économique, c’est la société
en mouvement dans l’espace et dans le temps. Ce sont les initiatives et les mouvements de la société,
des groupes sociaux et des individus qui la constituent, qui produisent la ville et la font évoluer à la fois
dans le temps et dans l’espace. Ces dynamiques intègrent une quadruple dimension : économique, culturelle,
démographique et juridique. Le temps est l’élément qui fait évoluer la ville dans la durée, qui fonde
progressivement sa complexité. L’espace quant à lui est le support matériel de la ville : le site, l’environnement
naturel et les formes d’occupation du sol. Les formes urbaines partagent quelques caractéristiques de
base :
• le tracé des voies et des espaces publics, support des flux et des réseaux ;
• le découpage parcellaire, support matériel et juridique de l’investissement social du territoire ;
• l’occupation du sol, c’est-à-dire les caractéristiques du bâti et des aménagements des surfaces non
bâties.
L’évolution urbaine "naturelle" est celle du "marché", celle qui traduit les rapports de forces au sein
de la société. Mais cette évolution peut être corrigée par les nécessités de l’intérêt général, et l’urbanisme
avec la politique sont des instruments de cette correction. Pour la sociologue JANE JACOBS, le dynamisme
économique des villes se fait à cause de ses congestions et de ses dysfonctionnements [142], car c’est la
richesse du creuset urbain, son bouillonnement qui conduisent à la création économique et culturelle : plus
la ville est grande, plus les fonctions urbaines sont diversifiées, plus elle a de chance d’inventer de nouveaux
métiers, de nouvelles productions, donc de continuer à croître.
Le droit qui régit à la fois la possession et l’usage du sol est un élément majeur qui façonne la ville de
manière essentielle, à la fois dans l’espace et dans le temps. C’est donc un élément fondateur de la ville.
L’homme est un être social complexe qui, au-delà de ses besoins de base, a des besoins spécifiques
qui varient d’une culture à une autre, d’une époque à une autre, d’un groupe social à un autre. Ce sont les
sociétés organisées qui peuplent la ville et la font évoluer en fonction de leurs besoins, de leurs désirs et
de leurs ambitions. Comme le rappelle JACQUES DONZELOT [77], les ghettos sont d’abord issus du choix
de « l’entre soi » des plus riches. Ainsi, les évolutions sociologiques les plus récentes en France, comme
l’augmentation du nombre de divorces, de familles monoparentales, la diminution du nombre de personnes
par foyer et par logements, et l’augmentation globale de la richesse et des exigences en matière de confort
au cours des quarante dernières années, ont conduit à une modification radicale des besoins en terme de
logements, de services urbains, de transport.
Finalement, la ville est intimement liée à l’évolution démographique parce que c’est elle qui forge la
croissance ou le déclin de la population qui est un facteur qui interagit fortement avec les dynamiques économiques
et sociales. Lorsqu’une dynamique de croissance économique existe, la croissance de la population
vient souvent la renforcer. La ville n’est pas un support statique pour l’économie et la population. Elle est
en perpétuelle évolution et il existe une interaction forte entre les différentes composantes économiques,
démographiques et sociales.
2.2 La ville perçue comme une entité vivante
Les villes naissent et se développent. Elles peuvent aussi avoir des périodes de décroissance ou de stagnation
et, enfin, elles peuvent mourir. Après une catastrophe, les habitants les abandonnent pour s’installer ailleurs,
à côté ou beaucoup plus loin.2.3. DE LA VILLE À L’AIRE URBAINE 21
Naissance des villes Une ville naît de l’action d’un essaim d’hommes groupés, qui s’installe et agit sur
un territoire. Deux formes de création peuvent être distinguées : les "agglomérations spontanées" et les
"villes créées". Les villes spontanées se forment par l’action non formalisée du groupe humain sur le lieu
qui lui permet d’exercer une activité et souvent aussi, de se défendre. La géographie a donc une influence
essentielle sur la formation des villes spontanées. Ces villes se structurent plus ou moins bien, en fonction
de la rapidité de leur croissance. C’est le mode de formation de nombreuses villes, mais c’est aussi celui
des bidonvilles. La ville peut aussi naître de la volonté délibérée d’un groupe humain organisé. Ce sont
les "villes créées", les villes neuves ou les villes nouvelles. Des hommes décident de créer une cité pour
répondre à des objectifs liés à leurs activités. Les villes créées le sont par la volonté d’un groupe organisé,
souvent très structuré, hiérarchisé avec un pouvoir fort. Elles le sont avec un objectif précis : colonisation,
commerce, défense, industrie, etc. Le modèle le plus répandu est celui du plan en damier avec un quadrillage
régulier de rues. Mais les villes neuves peuvent ne pas être totalement organisées et la fondation peut se
limiter à la création de grandes structures sans que soit défini l’ensemble des quartiers qui se mettent en
place progressivement au fur et à mesure de l’occupation des habitants.
Développement des villes Après leur fondation, les villes se développent, plus ou moins vite. Certaines
périclitent. Quel que soit leur origine (création ou naissance spontanée), leur développement associe presque
toujours croissance spontanée issue d’une multitude d’initiatives autour d’une voie ou d’un axe et extensions
programmées qu’elles soient d’initiative publique ou privée. En fait, la ville se constitue par stratification.
Reconstruction - transformation Les dynamiques individuelles et collectives des habitants conduisent
à une permanente reconstruction de la ville sur elle-même. Une bonne partie des réglementations urbaines
sont là pour gérer ces transformations du bâti en essayant de ménager l’intérêt collectif en canalisant les
initiatives individuelles. Ces transformations peuvent prendre quatre formes : extension de l’emprise, sur-
élévation, reconstruction ou dé-densification. La reconversion des friches est devenue un enjeu à la fois
économique et symbolique des villes centres, face aux extensions périphériques et urbaines. On parle alors
de reconstruire la ville sur la ville comme une alternative à l’extension urbaine.
Cycles de croissance urbaine Des sociologues ont développé un schéma radio-concentrique qui dé-
montre une certaine superposition entre la répartition sociale et la répartition géographique [37] : le centre
est occupé par un noyau constituant la zone d’affaires, et après une zone de transition on trouve un anneau
de résidences occupées par les travailleurs les moins favorisés (ouvriers / immigrés, etc.) puis une zone
résidentielle plus aisée avant des banlieues très chics.
2.3 De la ville à l’aire urbaine
La ville ne constitue plus aujourd’hui un ensemble compact bien défini, placé sur une commune unique.
Elle forme une agglomération qui se développe sur plusieurs communes. Pour parler de ces ensembles composites
qui s’agrègent autour des villes anciennes pour constituer un ensemble urbain, les géographes font
appel à la notion d’aire urbaine. Pour l’INSEE (Institut National de la Statistique et des Études Économiques
pour la France), une aire urbaine est un ensemble de communes, d’un seul tenant et sans enclave, constitué
par un pôle urbain, et par des communes rurales et/ou une couronne périurbaine dont au moins 40 % de
la population résidente dispose d’un emploi et travaille dans le pôle ou dans des communes attirées par
celui-ci.22 CHAPITRE 2. URBANISME
Planification Urbanisme
FIGURE 2.1 – Comparaison entre planification des villes et urbanisme ; d’après [69].
2.4 L’urbanisme
Dans la suite de ce chapitre, les références historiques évoquées à titre d’illustrations concernent prioritairement
la France lorsque l’échelle n’est pas précisée.
Définition D’après l’Encyclopédie Larousse1
, l’urbanisme peut être défini comme l’action réfléchie visant
à disposer, à aménager ou à restructurer physiquement et socialement l’espace en vue d’assurer l’unification
la plus harmonieuse et la plus efficace des fonctions que remplit un site donné. Il est inséparablement une
théorie et une pratique dont l’exercice entraîne le recours à une technique. L’urbanisme intervient dans la
disposition des bâtiments, la structure des réseaux de communication et des équipements publics, et, plus
généralement, dans l’aménagement du territoire urbain.
En France, les premiers urbanistes sont apparus au tout début du 20ème siècle et cette appellation était
alors essentiellement réservée aux architectes. D’ailleurs, LE CORBUSIER (architecte urbaniste, de son
vrai nom Charles Édouart Jeanneret) soutient dans « Manière de penser l’urbanisme » publié en 1946 que
« l’urbaniste n’est autre chose que l’architecte ». Toutefois, l’ouverture de l’urbanisme à la sociologie et
à l’économie a progressivement permis de remettre en cause un tel formalisme. De nos jours, le métier
d’urbaniste est exercé par des architectes, des ingénieurs, des administrateurs, des sociologues, des géographes
et des économistes. L’urbaniste ne prend pas les décisions : il se situe au niveau de la conception
et de l’organisation des transformations de l’ordre spatial dans le cadre de procédures administratives et de
réglementations juridiques relatives à l’acquisition et à l’utilisation des sols.
De la planification des villes à l’urbanisme FRANÇOISE CHOAY, historienne des théories et des formes
urbaines et architecturales, explique que les doctrines de l’urbanisme se fondent sur une analyse formalisée
des besoins et des conditions de la réalisation urbaine [43]. Ce serait donc le caractère analytique des
contraintes et des besoins qui distinguerait l’urbanisme des pratiques antérieures de planification des villes.
Comme l’indique la Figure 2.1 , les principales différences entre la planification des villes et l’urbanisme
sont la disparition des rites de création et l’introduction de deux phases majeures préalable au projet proprement
dit : l’analyse de la situation existante qui doit conduire à un diagnostic et une phase de programmation
urbaine qui peut être sommaire ou très élaborée. De plus, il y a désormais itération lorsque la croissance est
1http ://www.larousse.fr/encyclopedie/divers/urbanisme/1003372.5. NAISSANCE DE L’URBANISME MODERNE ET APPLICATIONS PRATIQUES 23
continue : une fois un morceau de ville produit, le site urbain est modifié et il faut reprendre le processus au
stade de l’analyse et du diagnostic.
De l’utopie à la réalité La transformation de la société passe par l’invention de formes urbaines nouvelles.
JEAN-BAPTISTE ANDRÉ GODIN, disciple de CHARLES FOURIER 2
et fabricant de poêles ayant fait fortune
dans l’industrie, dessine les plans du Familistère de Guise [213] qu’il construit à proximité de son usine à
partir de 1859 : une véritable ville dans la ville où vivront pendant près d’un siècle jusqu’à 2 000 personnes.
Il s’agit d’un « palais social » qui vise à assurer le développement moral de l’ouvrier et de sa famille et
dans lequel les ouvriers disposent d’un confort étonnant pour l’époque : "un allègement aux souffrances des
classes ouvrières".
Des cités ouvrières aux lotissements populaires Pour éviter les problèmes d’éloignement à une époque
où le transport individuel et collectif est inexistant, d’autres patrons pragmatiques construiront à proximité
de leurs sites industriels des logements pour leurs employés les plus méritants. Mais ce modèle est
rapidement critiqué car, en concentrant les ouvriers, le logement collectif devient "foyer d’immoralité" ou
"phalanstère de la misère et du crime", selon certains contemporains. La maison individuelle paraît alors
être la solution car elle permet d’éviter une trop grande concentration de familles ouvrières, politiquement
et moralement dangereuse :
• elle permet à l’ouvrier d’améliorer son ordinaire grâce au jardin ;
• d’occuper ses heures de loisir de manière à éviter qu’il ne fréquente les cabarets ;
• de stabiliser la famille en le rendant propriétaire, donc responsable.
C’est ainsi que naquirent les premiers lotissements populaires.
Émergence du logement social C’est au cours du 20ème siècle que le logement social va se développer,
avec l’apparition d’une exigence nouvelle qui va profondément modifier la ville et l’urbanisme : l’idée
qu’il faut loger tout le monde dans des logements décents. La responsabilité de la création de ce logement
va devenir, à partir des années 50 et leur transformation en HLM, une prérogative de l’État qui mettra en
œuvre la construction de logement à grande échelle avec les grands ensembles.
2.5 Naissance de l’urbanisme moderne et applications pratiques
Concernant l’invention de modèles pour une ville adaptée au monde moderne, deux visions principales
s’opposent :
• d’un côté, il y a ceux qui, pour pallier les maux de la ville industrielle, prônent la création d’une ville
verte, plus proche de la nature : faire la ville à la campagne ;
• de l’autre, il y a ceux qui, fascinés par Manhattan, voient la métropole verticale comme un modèle
qu’il s’agit de rationaliser et d’ordonner. Cette vision privilégie la ville en tant que creuset du développement
économique au détriment de l’amélioration des conditions de vie de la population.
Évolution de la ville traditionnelle A côté de ces visions opposées, quelques architectes cherchent à marier
densité, formes de la ville traditionnelle et conceptions hygiénistes. C’est le propos d’HENRI SAUVAGE,
considéré comme l’un des principaux architectes français du premier tiers du 20ème siècle, qui propose de
créer un nouveau type urbain : l’immeuble à Gradins [178]. A la place des jardins, les appartements sont
dotés de vastes terrasses pouvant être plantées. L’îlot entier est pensé comme une vaste pyramide. Même si
LE CORBUSIER conçoit lui aussi un projet d’immeubles à gradins, ce type sera un peu oublié après guerre,
2Philosophe français, à l’origne du concept de Phalanstère, un lieu de vie communautaire et harmonieux.24 CHAPITRE 2. URBANISME
mais va réapparaître à la fin des années 60 et dans les années 70 avec les recherches innovantes pour un
habitat intermédiaire.
Pendant la guerre, LE CORBUSIER va poursuivre ses réflexions en élaborant une doctrine nouvelle
connue sous le nom de "Charte d’Athènes" [55] qu’il publiera ensuite sous le titre "La Ville fonctionnelle"
en 1941. Il s’agit d’une théorie sans modèle qui propose des concepts simples, voire simplistes : "le soleil,
la verdure et l’espace sont les trois premiers matériaux de l’urbanisme". Pas de modèle formel, mais des
préceptes doctrinaires facilement applicables et facilement interprétables. La "Charte d’Athènes" prescrit
un zoning strict, c’est-à-dire un classement des grandes fonctions urbaines par catégories. Seules les fonctions
quotidiennes liées à l’habitation sont intégrées aux unités d’habitation. Ce document aura une très
grande influence sur tout l’urbanisme d’après la seconde guerre. Même s’ils n’appliquent pas à la lettre ses
préceptes, les grands ensembles en sont les fils directs, un peu déshérités, car bien souvent ils n’intègrent
pas les équipements prévus, et la qualité des espaces verts, fondateurs du nouvel urbanisme, laisse à désirer.
Urbanisme moderne : quand les doctrines idéologiques se substituent à l’analyse scientifique Dans
la pratique, la plupart des projets d’urbanisme ne s’appuient pas sur une connaissance approfondie des sites
et des environnements sociaux sur lesquels ils vont agir. Ils substituent la phase d’analyse de l’existant et
du diagnostic à des doctrines, qui tiennent lieu de théorie scientifique. Les fonctions urbaines sont réduites
à quatre grandes catégories : habiter, travailler, circuler, se cultiver.
L’urbanisme moderne largement influencé par la "Charte d’Athènes" est conçu comme le moyen de
faire une ville saine. Du point de vue de la composition urbaine, les réalisations s’appuient sur quelques
principes majeurs :
• la volonté de créer un espace vert majeur au cœur de l’opération ;
• l’orientation des édifices en fonction de l’ensoleillement ;
• la ségrégation des circulations ;
• l’autonomie d’implantation des bâtiments par rapport à la voirie ;
• la volonté d’intégrer les équipements nécessaires à la vie quotidienne au parc ou au bâtiment.
Plus besoin d’analyse approfondie de la réalité puisqu’il faut raser l’existant, faire table rase pour reconstruire
une ville nouvelle idéale.
2.6 Conséquences des politiques successives
Ensembles urbains figés, coûteux et difficiles à entretenir Aux objectifs directement liés à la doctrine
de l’urbanisme moderne, l’État français en surimpose deux autres :
• résoudre la crise du logement ;
• créer une industrie du bâtiment digne de ce nom.
L’urbanisme moderne cherche à disposer d’un "sol libre" où l’on peut bâtir sans contrainte : l’immeuble est
déterritorialisé et le sol n’appartient plus à ses habitants, mais seulement au gestionnaire, impersonnel ou
collectif. Ce qui limite les possibilités d’évolution de la ville. Les formes urbaines de l’urbanisme moderne
posent deux autres problèmes. Le premier est celui d’une extension extraordinaire des surfaces collectives
qu’il faut aménager puis entretenir. Le second est celui d’une diminution des traitements minéraux au profit
des espaces végétaux. Or un espace vert est beaucoup plus fragile qu’un espace urbain minéral et doit
régulièrement être entretenu. Lorsque les réalisations sont de qualité, que les espaces verts sont entretenus,
qu’il n’y a pas de problèmes sociaux, l’urbanisme moderne produit des résidences agréables où l’on habite
dans la verdure. Sans doute l’urbanisme moderne, coûteux dans sa structure comme dans son entretien,
aurait-il dû être réservé aux riches ?
Progression de l’étalement urbain et mobilité accrue C’est à partir du milieu des années 60, que les
gouvernements, très critiques vis-à-vis de la production des grands ensembles, décident de mettre en place2.7. THÉORIES URBAINES APRÈS L’URBANISME MODERNE 25
une politique plus favorable aux maisons individuelles. Ce retournement politique, conjugué à l’enrichissement
global de la population au cours des « trente glorieuses » (50-70) vont permettre aux classes moyennes
de réaliser leur rêve : habiter une maison individuelle. Sous couvert de mieux répondre aux aspirations des
familles françaises, cette nouvelle politique répond à plusieurs objectifs :
• mieux mobiliser les ressources financières des ménages, ce qui permet un certain désengagement de
l’État à l’égard du financement du logement ;
• élargir le champ d’intervention et de profit des banques ;
• offrir de nouveaux débouchés aux grandes entreprises de construction, par le lancement de nouveaux
produits leur permettant de rentabiliser leurs investissements dans l’industrialisation du bâtiment.
Ainsi, au lieu de se concentrer, les nouvelles extensions urbaines sont éclatées, augmentant considérablement
les surfaces urbanisées. Les modes de vie changent avec comme caractéristique, celui d’un accroissement
de la mobilité. On se déplace en permanence, et pas seulement pour le travail, mais aussi et de plus en
plus pour le loisir.
Le naufrage des grands ensembles Au début des années 60, les conditions matérielles de vie dans les
grands ensembles sont plutôt mauvaises dès qu’on sort de son logement bien équipé mais le climat social
est bon. La dégradation du climat social des grands ensembles commence dans les années 70 et s’étend au
début des années 80, à cause de trois facteurs principaux :
• la libéralisation de la construction de la maison individuelle qui conduit les classes moyennes à partir
pour réaliser leur rêve ;
• la politique de regroupement familial qui conduit les familles des migrants à remplacer les classes
moyennes dans les grands ensembles, alors que ce type de logement est totalement inadapté aux
modes de vie d’étrangers qui sont des ruraux déracinés ;
• le chômage qui, à partir de la crise pétrolière de 1973, touche beaucoup les habitants des grands
ensembles, en particulier les travailleurs immigrés, ce qui déstabilise leurs structures familiales.
Ceux qui restent sont ceux qui ne peuvent pas partir. Dès lors, on assiste à une concentration des problèmes.
On constate une augmentation des loyers impayés qui conduit alors certains organismes HLM à minimiser
l’entretien de leur patrimoine, ce qui induit une spirale de dégradation matérielle et symbolique du lieu.
La construction des grands ensembles engendre un étalement urbain relativement limité, mais une forte
fragmentation : les zones bâties sont rarement reliées à l’existant et constitue des enclaves séparées de la
ville proprement dite. C’est d’ailleurs l’un de leurs problèmes majeurs.
Changement de politique : la rurbanisation, étalement urbain à grande échelle Dans une circulaire
de 1973, OLIVIER GUICHARD alors en charge du ministère de l’Urbanisme, arrête la construction des
grands ensembles. La nouvelle politique va engendrer un étalement urbain encore plus significatif avec
une troisième poussée pavillonnaire prenant la forme de ce que BAUER et ROUX ont appelé justement la
rurbanisation [19]. L’automobile diminue les distances, et désormais, une partie croissante de l’espace rural
est utilisé par les urbains. La rurbanisation modifie profondément la structure de la ville et la vie des citadins
qui, bien qu’ils soient urbains dans leur mode de vie, peuvent vivre à la campagne. C’est une nouvelle phase
de transformation de la ville. Le parc d’habitat se modifie en profondeur pour atteindre, dans les années 90,
54 % de maisons individuelles contre 46 % de logements collectifs.
2.7 Théories urbaines après l’urbanisme moderne
Bilan critique de l’urbanisme moderne La volonté de rendre la ville claire et fonctionnelle conduit le
modèle de l’urbanisme fonctionnaliste à supprimer la mixité fonctionnelle des quartiers alors que, lorsqu’on
regarde l’histoire de la ville, tout laisse penser que c’est un fondement essentiel de la dynamique du fait
urbain. Par ailleurs, elle conduit aussi à supprimer le découpage foncier qui est un autre élément matériel26 CHAPITRE 2. URBANISME
fondateur de la ville. L’urbanisme moderne se réduit ainsi à la production d’espaces figés, sans réalité sociale
et ne répondant pas aux aspirations évolutives des habitants. De tous côtés vont apparaître des propositions
réhabilitant la ville traditionnelle qui cherchent à revenir à des formes urbaines plus classiques.
Redécouverte de la valeur de la ville ancienne et réhabilitation Les Italiens ont toujours préservé les
centres anciens alors que les Français les éventraient pour remplacer les îlots par des tours et des barres.
Ce seront les premiers à proposer de réhabiliter les villes pour améliorer les logements anciens plutôt que
de les raser et reconstruire. Un certain nombre d’architectes-enseignants vont mettre au point des méthodes
d’analyse du bâti existant dites "typo-morphologiques" qui consistent à regarder l’existant dans le détail
soit pour le réhabiliter soit pour proposer des projets s’en inspirant. Il s’agit d’un urbanisme scientifique qui
s’appuie sur les études, sur la connaissance du bâti mais aussi sur la connaissance des populations.
La défense de la ville européenne Dans les années 70-80, une proposition de retour à la ville classique
européenne va se mettre en place. Avant, la diversité urbaine résultait de son évolution, de l’empilement
progressif de ses couches. Maintenant, il faut créer de la diversité esthétique instantanée. Cet urbanisme
nous propose une vision de la ville ancienne avec des décors pittoresques mais une fonctionnalité contemporaine,
une ville idéale et humaine, comme elle n’a jamais existé. Aujourd’hui, beaucoup de promoteurs
et certains élus ont adopté cette vision avec plus ou moins de talent et plus ou moins de cohérence.
Modernité et urbanité Dans les années 80, les architectes sont presque unanimes à critiquer les projets
prolongeant l’urbanisme moderne. De leurs recherches ressort alors la volonté de réinventer un nouvel îlot
qui s’inspire des expériences du début du siècle, avant l’urbanisme moderne : un îlot ouvert dans lequel
le centre est occupé par un vaste jardin. Ce retour à l’architecture urbaine est largement répandu en Europe.
Cela ne veut pas dire pour autant que les préceptes modernistes soient totalement abandonnés. En
d’autres lieux, comme en Asie, en Chine, à Honk-Kong ou à Singapour par exemple, on construit encore de
grands ensembles, avec des tours gigantesques qui empilent les fonctions et qui semblent bien fonctionner
socialement.
La congestion urbaine et le troisième âge de la ville Parallèlement à ce qu’est devenu l’urbanisme
officiel en Europe, réalisé avec plus ou moins de brio, deux doctrines se sont affirmées. D’un côté, il y a des
architectes dans la mouvance du Hollandais REM KOOLHASS qui milite pour développer "la congestion
urbaine". Son plan d’Euralille cherche notamment à renforcer la mixité avec la superposition des fonctions,
même lorsque cela n’est pas « naturel ». De l’autre coté, il y a l’architecte et urbaniste français CHRISTIAN
DE PORTZAMPARC qui prétend inventer "le troisième âge de la ville" [64], représentant une synthèse entre
l’urbanisme moderne, aéré et vert et l’urbanisme traditionnel d’îlot. Il essaye de mettre en place des règles
complexes permettant de concilier densité et végétal en évitant la monotonie de l’îlot HAUSSMANNIEN.
C’est ainsi qu’OLIVIER MONGIN, écrivain français et directeur de la revue ESPRIT, n’hésite pas à appeler
les architectes et urbanistes de tous bords à un véritable travail de couture, avançant l’hypothèse « qu’avec
le troisième âge de la ville se joue l’avenir de la démocratie, tout simplement » [194].
Urbanisme durable et éco-quartiers Depuis quelques années, se développe ce qu’on appelle les "écoquartiers"
qui sont des projets urbains globaux à vocation écologique. Ce mouvement en plein développement
est né en Allemagne et en Hollande avec quelques exemples pionniers en Autriche, en Grande
Bretagne et dans les pays Scandinaves, et il a fini avec quelques décennies de retard par atteindre la France.
Il n’y a pas de norme ni de recette d’éco-quartier. Leur forme et contenu varie en fonction des lieux et des
enjeux. Tous les éco-quartiers n’ont pas les mêmes ambitions en terme d’économie énergétique, d’énergies
renouvelables ou en terme de déplacements.2.8. FORMES ET STRUCTURES DE LA VILLE CONTEMPORAINE 27
Urbanisme réglementaire et écologie Officiellement les PLU3 devraient être attentifs à l’environnement.
Dans les faits, l’interprétation de ce que doit être la protection de l’environnement varie et fait que les PLU
ne sont pas toujours réellement écologiques. Par exemple, certains articles du règlement imposent des règles
sur la hauteur ou l’aspect du bâtiment qui peuvent aller à l’encontre de la pose de panneaux solaires, de
toitures végétalisées, etc.
2.8 Formes et structures de la ville contemporaine
Nous sommes aujourd’hui dans une civilisation urbaine où le modèle de croissance radioconcentrique reste
le modèle de développement dominant des villes (le modèle « naturel »). Les rocades contribuent à cette
croissance, tout en créant de nouveaux pôles péri-urbains. Les nouveaux lotissements cherchent avant tout
une proximité avec les nœuds d’échanges du réseau. Les rocades génèrent ainsi des situations de périphérie
en rupture avec une croissance continue de l’agglomération. C’est aux nœuds de ces voies (croisements, sorties)
que s’implantent les nouvelles « centralités périphériques » que sont les zones d’activités, les centres
commerciaux du grand commerce qui, au-delà de leur fonction de base, intègrent de nouvelles activités
comme le travail tertiaire (bureaux) ou le loisir (multiplexes, centre de fitness, hôtels restaurants). Ce phé-
nomène peut être redoublé par la création de plusieurs anneaux de rocades, comme c’est le cas à Rennes ou
Paris. C’est le modèle français dominant.
Multiplication des types de tissus Avec l’éclatement urbain des années 1980-90, les formes urbaines se
multiplient : nouveaux villages, lotissements périurbains, lotissements rurbains, zones pavillonnaires diffuses,
villages ruraux, etc, ainsi que les nouvelles « centralités périphériques » : zones d’activités, zones
artisanales, zones commerciales. Ces dernières sont désormais les principaux acteurs de l’économie commerçante
en France : elles représentent 70 % des chiffres d’affaires contre 20 % dans les centres villes et
10 % dans les quartiers. La mutation touche aussi le centre ville qui d’un côté s’embourgeoise et de l’autre
voit sa structure commerciale se transformer. Les commerces se spécialisent (prêt-à-porter) et il devient le
lieu du développement d’annexes au grand commerce à travers le développement d’enseignes franchisées.
Sectorisation de la ville Le fonctionnement de ces fragments urbains diffère grandement de celui des
tissus antérieurs : la plupart sont conçus comme des secteurs autonomes, desservis uniquement par l’automobile
et dont les accès sont limités en nombre. On ne traverse pas ces secteurs comme on le faisait dans
les tissus urbains traditionnels et leur dimension est généralement très supérieure à celle des îlots antérieurs.
Pour ceux qui peuvent choisir leur mode de vie, cette sectorisation peut paraître positive. On peut vivre
entre soi dans un nouveau village, disposant à la fois du bien être de la campagne et, grâce à deux ou trois
voitures, des services urbains. Mais pour les moins favorisés, ceux qui abandonnent le centre ville parce
qu’il est trop cher, les choses sont moins positives. Déjà soumis aux nuisances induites par la voie rapide,
ceux-ci se voient de surcroît écartés du centre-ville et de ses services par des infrastructures rendues quasi
infranchissables.
Ces nouveaux types sont peu reliés aux autres secteurs et très figés dans leurs formes comme dans leurs
programmes. DAVID MANGIN parle de sectorisation de la forme urbaine [180]. De plus, les règlements des
lotissements interdisent toute activité (autre que les professions libérales), limitent fortement les extensions
et interdisent les divisions parcellaires ou la construction en hauteur. Ces tissus urbains sont donc figés à
l’exception de petits ajouts. De la même manière, bien qu’elles soient en permanentes transformations, les
zones d’activités et les zones commerciales n’admettent pas de mixité : on ne peut y implanter de logements.
Dédensification La dédensification de l’agglomération est d’abord liée à l’intégration de territoires périphériques
et rurbains dans l’aire urbaine. L’extension de la zone urbaine fait que désormais de nombreux
3Plan local d’urbanisme28 CHAPITRE 2. URBANISME
secteurs très peu denses sont intégrés. La dédensification touche aussi tous les tissus de centre ville. La
qualité de vie exige plus d’espaces verts avec des cours, des jardins et des logements plus grands. Pour le
public, la densité a mauvaise presse et les électeurs font pression sur les élus pour que les règlements urbains
minimisent les autorisations de construire. Toutes ces évolutions contribuent à faire baisser la densité
des centres urbains. Les seuls secteurs où la densité augmente sont ceux en mutation, banlieues ou friches
urbaines, qui lors du réaménagement sont construits alors qu’ils étaient souvent occupés par de grands
bâtiments de faible densité.
Entrées de ville et ville franchisée En France, première nation touristique au monde, l’apparence et
l’image de la ville ont une importance économique considérable. Toutefois, l’avènement du grand commerce,
en deux décennies, va conduire à une homogénéisation globale des parcours d’entrée de ville, qui
constitue une bien piètre vitrine pour la cité : les entrées des villes françaises sont largement composées de
hangars décorés (bâtiment économique dont la façade est utilisée comme grand panneau d’affichage pour
l’activité commerciale) alors que les canards (édifice ou enseigne géante qui épouse généralement la forme
du produit vendu) sont beaucoup plus rares [275]. Cela relève de trois phénomènes à l’œuvre :
• celui d’une logique d’investissement à court terme : les bâtiments sont en perpétuelle évolution et
sont amortis en quelques années, nous sommes dans la ville jetable ;
• celui d’une visibilité commerciale de la marque : logo, couleurs ou formes de bâtiment doivent être
les mêmes sur tout le territoire, voire dans le monde entier (Auchan, Carrefour, Leclerc, Mc Donald,
Ikéa, . . . ), les particularités locales doivent être gommées ;
• celui d’une visibilité locale du parking démontrant qu’il est simple de se garer.
De manière plus classique et plus conforme à la tradition urbaine européenne, les urbanistes français
requalifient les entrées de villes, en cherchant à les domestiquer et à les rendre plus urbaines. Plusieurs voies
ont été ouvertes pour cela :
• améliorations des aménagements urbains ;
• améliorations architecturales ;
• meilleure intégration du commerce d’entrée de ville dans la structure urbaine globale ;
• mutation du cadre législatif.
2.9 Conclusion
Pour OLIVIER MONGIN, « nous vivons le temps des métropoles encerclées de banlieues explosives, quand
ce n’est pas de bidonvilles menaçants, la ville devient alors une enclave protégeant des barbares » [194].
L’un des enjeux majeurs de l’urbanisme de demain sera donc de parvenir à réhabiliter les quartiers dits
« sensibles » et à transformer les bidonvilles en vraies villes.
Mais cette présentation montre toute la complexité intrinsèque de la structure d’une ville qui nécessite
la mobilisation de nombreuses disciplines complémentaires et parfois opposées pour la comprendre :
sociologie, économie, démographie, politique, histoire, écologie, etc.
La ville constitue un espace sensible en mouvement perpétuel dont il faut contrôler l’évolution en envisageant
le long terme. Et de nos jours, penser sur le long terme, c’est intégrer la notion du développement
durable (ou soutenable).3
Développement durable
Le concept de développement durable, apparu il y a une vingtaine d’années et approuvé par 178 états
lors de la première conférence de Rio en 1992, donne naissance à une conscience de la dégradation de
l’environnement. Depuis, il a souvent été vidé de son contenu ou réinterprété selon les intérêts des forces
en présence et du moment. Selon sa définition officielle (1987), le développement durable correspond à
"un développement qui répond aux besoins du présent, sans compromettre la capacité des générations
futures à répondre aux leurs". Il s’agit de proposer un changement de paradigme pour construire un monde
économiquement efficace, socialement équitable et écologiquement soutenable. À ces trois piliers, s’est
ensuite ajoutée la dimension culturelle [87].
3.1 Enjeux d’un développement soutenable sur le long terme
Les changements globaux Les changements globaux correspondent à l’ensemble des changements qui
s’observent à l’échelle de la planète entière. Mais de nos jours, cette expression fait plus particulièrement
référence aux effets de l’activité humaine sur l’environnement qui regroupent les nombreuses évolutions sociétales
(évolution démographique, mode de vie, . . . ) et environnementales (climat, couche d’ozone, usage
des sols, montée des océans, fonte des glaciers, biodiversité, . . . ). L’importance des changements globaux
est liée à l’incertitude qu’ils font planer sur les générations futures ainsi que sur le devenir des écosystèmes
dont elles dépendent. La complexité de ces changements résulte non seulement de leur dynamique spatiale
et temporelle, mais plus encore de l’interdépendance des différentes problématiques. L’activité humaine
dépasse depuis quelques décennies les capacités de l’environnement et, par conséquent, cette activité ne
se maintient que par la destruction du "capital naturel" qui nous a été confié. Elle doit impérativement se
réinscrire dans les limites de flux de matières premières et d’absorption de déchets autorisées par l’environnement
[173]. Du fait de l’inertie des systèmes naturels, les prochaines années pourraient engager sur des
siècles nos conditions de vie sur la Terre [82].
Deux exemples de l’obstination humaine La perspective d’une accélération de la hausse du niveau
des océans au cours du siècle prochain, éventuellement accompagnée d’une augmentation de la force
ou du nombre de tempêtes, laisse prévoir l’extension de submersions et l’exacerbation des reculs érosifs.
Convient-il alors de s’obstiner à vouloir maintenir un état du littoral qui serait condamné par les lois de la
Nature ? La solution de relocalisation des humains et de leurs activités se heurte à des mentalités collectives
qui évoluent avec lenteur et perçoivent tout repli comme un renoncement [160].
2930 CHAPITRE 3. DÉVELOPPEMENT DURABLE
Concernant la biodiversité, les projections pour le 21ème siècle font état de taux d’extinction d’environ
dix mille fois supérieurs aux taux moyens du passé. Quels que soient les chiffres exacts, nous sommes en
passe de connaître une crise majeure de la biodiversité. Mais cette fois ci, la cause est liée aux hommes
qui ont réussi à bouleverser les équilibres naturels par le biais de la connaissance et de la technique. Le
problème, c’est que cette espèce voit encore mal ce qui justifierait d’abandonner ce chemin [174].
De la croissance à tout prix Concernant le développement durable, il subsiste une ambiguïté liée à l’idée
même que le développement est très souvent associé à une logique de croissance, contrairement à ceux qui
revendiquent la fin de la croissance [87]. Les trois piliers identifiés lors du sommet de Rio (environnement,
économique, social) étant posés équivalents et substituables, le monde des affaires peut justifier une diminution
d’un pilier en contrepartie d’une augmentation sur un autre, le tout étant exprimé en valeur. Or, la
conception marchande de la société et de la nature confère une valeur nulle à celle-ci : le poisson, l’eau ou
la biomasse des sols n’ont pas de prix, leur seul prix apparent se réduisant à leur coût d’extraction. L’économie
marchande dérégulée produit mécaniquement la ruine de l’environnement et la dégradation du monde
vivant. Ne poursuivant aucun but autre que la croissance pour la croissance, le développement durable se
réduit à une mise en bourse de la nature [285].
Des responsabilités partagées Les décideurs qui ont en charge de construire la société de demain doivent
prendre en compte les changements globaux qui sont à l’œuvre pour assurer à nos sociétés un avenir sur le
long terme. Or, la recherche scientifique nourrit parfois l’illusion que la course à la technologie émanant des
travaux scientifiques peut proposer des issues à toute difficulté [82]. Sans prétendre aux miracles, il revient
donc aux scientifiques de toute part de jouer un rôle essentiel pour décrire, comprendre, analyser, modéliser,
prévoir et développer des stratégies adaptées à ces mutations. Dans ce contexte, l’interdisciplinarité est
une aide majeure dans l’analyse et la compréhension des phénomènes et des systèmes complexes, dans le
développement de technologies de rupture ou la compréhension et la conception de réponses aux grands
enjeux sociétaux de la planète [26]. Alors, bien plus que de se côtoyer, les différents champs disciplinaires
scientifiques de tous les horizons doivent absolument collaborer avec obstination, écoute réciproque et
humilité pour contribuer à relever ces défis colossaux qui se dressent face à nous.
Détour philosophique et politique Pour Kant, seuls les êtres raisonnables ont une valeur intrinsèque et
tout le reste est considéré comme moyen ou valeur instrumentale. Cette position "Anthropocentrique" ne
reconnaît de dignité morale qu’aux seuls êtres humains. Le "Biocentrisme" considère lui que tout individu
vivant est, à égalité avec tout autre, digne de considération morale. Certains environnementalistes vont plus
loin avec l’approche "Écocentrique" en considérant qu’il faut accorder de la valeur non pas à des éléments
séparés, mais à l’ensemble qu’ils forment [165].
D’un point de vue plus politique, l’affirmation qui laisse à penser que les sociétés humaines peuvent
avoir un avenir infini dans un monde aux ressources limitées reste un pari hasardeux [202]. Et après plusieurs
années de politiques qualifiées de développement durable, force est de constater la contradiction
entre l’intention de la durabilité et la continuité de pratiques court-termistes [277]. Pour rebâtir les conditions
d’un vrai développement durable, une refonte des régulations doit être opérée pour rendre très coûteux
tout comportement dégradant les écosystèmes et très profitable ceux qui contribuent au maintien ou à l’amé-
lioration des potentiels naturels [285]. L’objectif demeure le développement, mais encadré par une nouvelle
technique de gouvernance, fondée sur la recherche d’un équilibre.
3.2 Dimensions urbaines du développement durable
Le modèle actuel de développement urbain des pays riches n’est pas durable. Si tous les pays se mettaient à
consommer comme nous, les ressources seraient épuisées en quelques décennies. Le développement de la
Chine et de l’Inde selon nos modèles de consommation est un scénario catastrophe.3.2. DIMENSIONS URBAINES DU DÉVELOPPEMENT DURABLE 31
L’enjeu de l’urbanisme en Europe aujourd’hui est celui de créer une ville durable. Pour cela, il est
nécessaire de rendre plus dense et plus compacte la ville lors des mutations. C’est pourquoi on considère
aujourd’hui que les friches sont devenues des enjeux majeurs pour « reconstruire la ville sur la ville ». Il faut
donc veiller à ce que les projets soient denses, mais que cette densité soit acceptable pour le public. Il faut
chercher à densifier le plus possible la ville en fonction du contexte et à recréer des liens entre les secteurs.
Il faut redévelopper ce que DAVID MANGIN appelle la « ville passante » [180]. Mais, parallèlement, il
faut transformer les règlements urbains qui, bien souvent interdisent la densité et les mutations urbaines,
cherchant à préserver chaque fragment en l’état.
Métropolisation La métropolisation peut se comprendre comme l’avènement d’un réseau mondial d’aires
métropolitains connectées entre elles par des réseaux d’échanges. Elle résulte de deux processus :
• la métamorphose du capitalisme qui s’universalise, entraînant des mutations profondes des modes
d’organisation de la production parallèlement à la révolution numérique ;
• la polarisation spatiale croissante au profit des zones les plus développées.
A l’échelle locale, la métropolisation entraîne une restructuration spatiale et économique du marché du
travail qui concerne un territoire plus vaste que la ville centre incluant les banlieues, le périurbain et parfois
les espaces ruraux et naturels. Elle exige une grande mobilité de la part des individus pour effectuer les
trajets entre les espaces résidentiels, les lieux de travail, des loisirs et des services. Dans un monde globalisé,
seule la scène métropolitaine autorise le déploiement stratégique des contraintes économiques, sociales et
environnementales relevant simultanément de l’échelle planétaire et locale. À condition de l’intégrer dans
le territoire métropolitain, la ville représente donc un espace pertinent du développement durable en raison
de sa pérennité historique, de son ancrage dans l’économie globalisée et de ses capacités d’adaptation face
au changement climatique et des enjeux du mieux vivre ensemble [109].
Penser globalement / agir localement Les villes attirant l’essentiel des ressources et étant à l’origine, directement
ou indirectement, de la plupart des émissions, la connaissance et la maîtrise de leur métabolisme 1
constituent des enjeux majeurs.
L’architecte RAYMOND LORENZO note qu’un habitant de la ville de Denver, dont la densité est très
faible, consomme environ 3800 litres d’essence par an alors qu’un habitant de Manhattan en consomme
335 litres, soit onze fois moins. Cela veut donc dire que les formes de la ville, sa densité et les modes de
vie qui leur sont liés ont une influence importante et donc qu’il est possible d’agir à travers l’urbanisme. Il
faut repenser les infrastructures urbaines, mais il faut aussi agir localement, en particulier sur la manière
d’augmenter la densité par des aménagements favorisant un sentiment de faible densité : la présence vé-
gétale et les quartiers mixtes sont des éléments pouvant y contribuer. Il faut avoir des visions globales en
proposant des politiques spécifiques. Mais il faut ensuite que chaque agglomération ait une réflexion locale
sur son impact territorial et sur les moyens de l’améliorer. Comme l’a souvent montré FRANÇOIS ASCHER,
on ne peut plus aujourd’hui faire l’urbanisme du haut vers le bas, comme dans les années 60. Il faut écouter
les habitants de base, faire du bottom / up, de la pédagogie, convaincre mais aussi écouter pour inventer de
nouvelles solutions. Il faut donc avoir une action parallèle et forte à des échelles plus petites comme celle
du quartier.
En fait, il s’agit d’une application du principe « penser globalement, agir localement ».
Mais le renouvellement du parc urbain représentant environ 1 % par an, il ne suffira pas à lui seul à
produire une ville écologique. Il faut donc aussi réfléchir au moyen d’agir sur l’ancien, sur l’existant pour
l’améliorer et le rendre plus performant.
Comprendre et agir sur la forme des villes [71]
1Ensemble des processus par lesquels les villes importent, consomment, transforment, stockent ou exportent énergies et
matières.32 CHAPITRE 3. DÉVELOPPEMENT DURABLE
Les modes de transport ont façonné les villes La forme des villes est en grande partie liée aux
possibilités de déplacement des citadins. Les modes de transport rapide ont transformé la ville. Avec le
chemin de fer, la vitesse moyenne des citadins est passée de 3 km/h à 15 km/h et les villes ont connu une
première période d’étalement urbain caractérisée par des faubourgs et des banlieues disposées en « doigt de
gant » le long des axes ferroviaires. Avec l’automobile, et le passage à une moyenne de 30 km/h, la ville
a pu s’étendre à nouveau mais cette fois ci de façon dispersée : tout terrain étant devenu potentiellement
urbanisable dans un large rayon autour des centres urbains. La ville peut alors s’étaler et s’émietter puisque
les villages proches peuvent être le support d’une urbanisation souvent peu dense.
La vitesse a favorisé l’étalement urbain et les ségrégations La vitesse rend la proximité moins
impérieuse et permet à de nombreux citadins de s’affranchir de la promiscuité. Avec la vitesse et des mé-
canismes fonciers qui renforcent souvent les ségrégations sociales et fonctionnelles, la diversité dans la
proximité n’est plus le principe d’organisation de la ville, seulement celui de certains de ces quartiers. La
vitesse ne fait pas gagner de temps : elle accroît les possibilités de choix et permet l’espacement.
Impacts des choix passés En raison de leurs valeurs patrimoniales, les politiques de mise en valeur
des centres ont été plus fortes en Europe qu’en Amérique du Nord : leur dédensification a donc été moins
marquée. Concernant les politiques foncières visant à limiter la consommation des sols, elles ont été historiquement
puissantes dans un pays dense et vulnérable au risque d’inondation comme les Pays-Bas. Les
fortes densités de l’« Europe rhénane » ont impliqué très tôt une promotion des transports publics alors que
l’« Europe latine » y est restée longtemps indifférente, favorisant un système territorial fortement dépendant
des transports motorisés et d’une énergie peu chère et abondante. En France, le secteur résidentiel ne
compte que pour un quart de l’extension des surfaces urbanisées chaque année. Ce sont les infrastructures
de transports, notamment routes et aéroports, les zones commerciales et les espaces d’activités qui sont
responsables des trois quarts de l’extension spatiale.
Nécessité d’une approche systémique L’action sur la seule densité ne conduit pas nécessairement
à réduire les besoins de déplacement. Sans action simultanée sur la localisation des diverses ressources
territoriales, que ce soit les lieux d’emploi, de loisir, d’équipement ou encore d’habitat, la densification
ne permet pas une réduction des distances pour relier ces différentes ressources. D’autre part, certains
agencements périurbains ou ruraux peuvent se révéler favorables à la marche à pied, au vélo ou au transport
collectif et les zones d’imbrication entre espaces urbanisés et territoires agricoles et naturels peuvent être
intéressantes pour des circuits de proximité alimentaires et la préservation de la biodiversité. Enfin, bien
que décrié, n’oublions pas que l’étalement urbain a permis à de nombreux citadins d’accéder à la propriété.
Une politique relative aux formes de la ville ne peut se résumer à une simple limitation de l’usage des
sols, car agir sur la forme d’une ville, c’est agir sur les systèmes de formation de prix des fonciers, sur
l’organisation des réseaux ou encore sur les mécanismes économiques qui la sous-tendent.
Écologie urbaine D’après le dictionnaire Le Robert, le mot écologie aurait deux sens :
1. étude des milieux où vivent les êtres vivants ainsi que des rapports de ces êtres entre eux et avec le
milieu ;
2. mouvement visant à un meilleur équilibre entre l’homme et son environnement naturel, ainsi qu’à la
protection de celui-ci.
L’écologie urbaine doit partir de l’étude du milieu en incluant non seulement les aspects physico-biologiques
mais aussi les rapports sociaux humains, pour tendre vers un meilleur équilibre entre l’homme et son environnement
naturel, ainsi qu’à la protection de celui-ci. L’écologie ne peut pas se limiter aujourd’hui à "la
protection de la nature" mais doit avoir une vision plus large selon laquelle l’urbain est un milieu global et
que la densité urbaine n’est pas en soi un mal, peut-être même une qualité. La ville intelligente, intéressée3.2. DIMENSIONS URBAINES DU DÉVELOPPEMENT DURABLE 33
à sa propre survie, doit être plus économe et attentive aux composantes de l’environnement, mais aussi aux
équilibres sociaux qui, pour une part, la conditionnent.
Un aménagement écologique, c’est-à-dire répondant aux exigences de développement durable, doit porter
sur une dizaine de thèmes [69] :
• mixité et densité ;
• qualité de l’air ;
• qualité de l’environnement sonore ;
• transport et déplacement ;
• gestion du cycle de l’eau (pluies, eaux usées, alimentation, nappe phréatiques, rivières) ;
• gestion des déchets ;
• énergies : consommer moins et tendre vers les énergies renouvelables ;
• présence de la nature en ville : bio diversité, milieu naturel, faune et flore ;
• paysage et protection du patrimoine ;
• une économie durable.
Éco-quartiers Les planificateurs et gestionnaires de la ville ont utilisé depuis les vingts dernières années
différentes techniques pour limiter les émissions de polluants (en particulier les gaz à effet de serre) par les
transports [253] :
• proximité d’un tramway ou d’un métro ;
• rapprochement des commerces et des écoles ;
• priorité donnée à la marche ou au vélo ;
• réduction de la place de la voiture.
Grâce à la mobilisation des citadins et à la contribution des élus et techniciens locaux, les éco-quartiers
ont souvent dépassés les aspects environnementaux avec :
• une diversité du peuplement renforcée par une forte présence de logements ;
• l’intégration d’établissements pour personnes âgées favorisant l’intergénérationnel ;
• des lieux d’animation multiculturels et multifonctionnels.
Dans cette évolution liée aux éco-quartiers, l’enjeu est double :
• pousser le curseur écologique le plus loin possible ;
• faire en sorte que ce type d’approche ne soit pas réservé aux grandes opérations, mais imprègne toutes
les opérations, même les plus petits lotissements.
Pour ROLAND CASTRO, architecte et urbaniste de renom habitué des plateaux de télévision et des
stations radiaphoniques, les éco-quartiers posent effectivement la question des villes de demain. Mais au
terme éco-quartier qu’il n’aime pas beaucoup, il préférerait qu’on emploie le terme quartier-éco, parce que
l’objectif principal consiste d’abord à faire un quartier, un lieu que l’on habite, que l’on a envie de voir et
qui nous sourit. Ensuite seulement, il s’agit de sublimer la contrainte lorsqu’elle arrive pour ne pas la subir.
Dans notre cas, tout ne doit pas être subordonné à la contrainte écologique, ce qui pourrait alors conduire à
faire très mal les morceaux de la ville. Proposer une série de logements, de maisons de diverses formes, de
taille variable, mais à chaque fois dans un scénario de trajet, de rapport à l’autre, donner le sentiment qu’on
peut être à la fois chez-soi et avec les autres si on le veut : c’est vers cela qu’il faut tendre. De nos jours,
beaucoup d’architectes tentent de faire des logements qui ne soient pas alignés, des logements qui soient
dans un rapport les uns avec les autres, qui participent à la formation des rues, des places ou des venelles.
Des logements qui font les centres et qui fabriquent de la marche, du trajet, de la promenade. « Il faut faire
les quartiers comme un promeneur, comme un flâneur, et créer de la surprise ! ».
Renouvellement des grands ensembles Les pratiques actuelles en urbanisme de renouvellement des
grands ensembles en France [1] se concentrent autour du principe d’une recomposition urbaine visant à :34 CHAPITRE 3. DÉVELOPPEMENT DURABLE
• désenclaver les sites par la recomposition des rues, des parkings, la création de moyens de transports
collectifs, l’introduction d’équipements publics ;
• permettre une certaine mixité par la démolition des bâtiments posant le plus de problèmes (généralement
les immeubles les plus hauts, en particulier les tours) et la création de nouveaux bâtiments
valorisant le foncier, généralement des logements en accession pour les classes un peu moins pauvres
et des immeubles locatifs proposant un type de logement spécifique améliorant l’offre ;
• améliorer la qualité des lieux et les possibilités d’appropriation par les habitants grâce à la transformation
des espaces de proximité des immeubles.
Deux instruments majeurs sont aujourd’hui utilisés :
• la démolition- reconstruction ;
• la résidentialisation.
La démolition - reconstruction Pendant longtemps, l’État est resté réticent à l’idée de démolir des
bâtiments qui n’étaient pas toujours amortis. Ce n’est qu’à partir du milieu des années 90, que l’idée de
démolition va s’imposer avec, pour objectif, de modifier l’image des quartiers et d’inverser les processus de
dévalorisation. L’idée globale est que, pour modifier en profondeur ces quartiers, il faut recréer de la mixité
sociale et que, pour cela, il faut favoriser l’intervention d’opérateurs privés dont la production s’adresse aux
classes moyennes. On démolit donc beaucoup aujourd’hui et l’on reconstruit, soit sur place, soit en lisière
des zones, soit parfois un peu plus loin, des logements selon des formes urbaines plus traditionnelles :
des rues, des places, de petits immeubles avec un nombre limité de cages d’escalier et, généralement, des
hauteurs limitées.
La résidentialisation L’action sur le bâti ne répond pas à tous les problèmes, mais elle est utile. C’est
un des moyens de participer à une transformation positive du lieu. La résidentialisation est une forme particulière
d’action qui s’oppose dans son concept à la démolition / reconstruction : on requalifie les espaces
collectifs et les espaces publics, afin de transformer les formes urbaines issues des théories de l’urbanisme
moderne. La résidentialisation vise à "configurer un ou plusieurs immeubles et leurs abords en une unité
résidentielle clairement identifiée, matérialisée par un marquage plus ou moins symbolique de ses limites".
Cette requalification des espaces de proximité, publics et privés des grands ensembles, permet de gérer le
problème des poubelles, du nettoyage des espaces publics et privés. Mais aussi d’améliorer le confort du
logement : on peut ajouter des balcons, créer des jardinets pour les logements du rez-de-chaussée. En modi-
fiant le statut du sol et les formes urbaines, la résidentialisation répond aux besoins des habitants en créant
des lieux bien différenciés et supprime l’indétermination des espaces du quotidien au-delà du logement.
3.3 Enjeux à l’export du savoir-faire français en matière de ville durable
Le Paris de Haussmann a été interprété dans nombre de grandes villes à travers le monde. A l’échelle de la
planète, il est reconnu que Londres, New York, Paris et Tokyo sont observées et influencent les orientations
des autres grandes villes qui sont le réceptacle des populations qui s’y agglutinent [41].
Compte tenu de ces éléments et forts de leur expérience en matière de ville durable, certains acteurs
français se mobilisent et se regroupent pour exporter leur savoir faire. C’est le cas par exemple de VIVAPOLIS2
, une marque française de la ville durable qui cherche à fédérer de nombreux acteurs autour de quatre
caractéristiques fortes qui définissent la « French touch » :
• l’homme positionné au cœur de chaque projet pour améliorer les conditions de vie de l’habitant ou de
l’usager ;
2www.vivapolis.fr3.4. LA VOITURE AU CŒUR D’UNE NOUVELLE RÉVOLUTION INDUSTRIELLE ? 35
• la performance pour atteindre une consommation réduite des ressources naturelles et une intégration
optimale des fonctions de la ville ;
• une gouvernance forte et participative pour pouvoir organiser la ville, la projeter dans le futur, la
financer, définir des règles et la faire fonctionner au quotidien ;
• une adaptation systématique au contexte local reposant plus sur une démarche ou une vision que sur
un modèle tout fait : à chaque cas correspond une solution particulière en fonction du climat, de la
géographie des lieux, de la culture, de son histoire.
La France possède plusieurs champions dans différents domaines :
• en construction : BOUYGUES, VINCI, EIFFAGE ;
• en mobilité : ALSTOM ;
• en énergie : EDF, GDF SUEZ ;
• en gestion des déchets ou de l’eau : VÉOLIA.
Il y a également en France une multitude de petites et moyennes entreprises qui sont leaders sur des niches
du développement durable. L’objectif est d’arriver à une alchimie de la ville durable en regroupant différents
acteurs français autour d’une vision unique pour être capable de l’exporter. La construction de la ville se fait
partout, et plus particulièrement dans les pays émergents comme le Maroc, la Chine, le Brésil ou la Turquie.
Il faut être capable de travailler ensemble pour apporter des réponses globales aux questions posées afin de
réaliser un quartier ou une ville durable. Dans ce contexte, les collectivités locales françaises pourraient
servir de vitrine à ce qui peut être proposé à l’export.
Autre exemple, la création du Groupement d’Intérêt Scientifique « Modélisation Urbaine » (GISMu)3
qui s’est donné pour objectif de faire converger les besoins entre les mondes de la recherche, de l’ingénierie,
de la maîtrise d’ouvrage et de la maîtrise d’œuvre dans le champ de la modélisation urbaine, depuis la
gouvernance et la conception des villes jusqu’à leur exploitation [130]. Sa vocation consiste à promouvoir
une approche plus intégrée de la modélisation urbaine en abordant les différentes échelles spatiales et temporelles,
en intégrant un développement des villes plus durable, en étudiant différentes typologies de villes
et en explorant des domaines novateurs (comme la modélisation des flux entrants et sortants de la ville).
Cette entité regroupe à elle seule 73 membres dont 13 établissements, 12 entreprises, 38 unités de recherche
et 10 pôles, agences ou autres organisations. Parmi ses nombreuses missions, on retrouve la promotion à
l’exportation du savoir-faire français en matière de modélisation urbaine.
3.4 La voiture au cœur d’une nouvelle révolution industrielle ?
Autrefois un luxe, hier encore une commodité, la voiture est devenue une nécessité pour une large frange de
la population sous l’impulsion d’un mode d’urbanisation qui lui est dévolu et qui s’est largement répandu.
A cause de sa vitesse, des grandes distances qu’elle autorise, d’un très grand choix d’itinéraires et d’un
accès presque continu le long des voies, la voiture éparpille la ville et, avec elle, la demande de livraisons
ou de collectes. Elle favorise la diffusion de l’habitat, la décentralisation des activités ou la concentration de
certains services. Par les effets de coupure des voies rapides dangereuses et bruyantes, elle divise le territoire
et sépare plus qu’elle ne lie de grands pavés voisins. Et dès qu’une artère prend de l’importance, l’arrêt et
la vie en bordure devenant de moins en moins confortable, son accès se limite à quelques points de plus en
plus éloignés ou aléatoires. En conformant la ville à ses possibilités ou besoins, la demande de transport
s’est dispersée loin de l’offre crédible de transport en commun et l’éparpillement croissant a disqualifié les
modes de déplacement doux (marche à pied, vélo).
Cet outil toujours plus envahissant pousse à bitumer et à bétonner à grande échelle des surfaces toujours
plus gigantesques pour réaliser des infrastructures, des voies de circulation et des aires de stationnement qui
lui sont dédiés. Le transport routier de marchandises qui représente 1/3 des émissions de CO2 en ville a su
profiter des infrastructures développées pour la voiture sans supporter les dépenses liées aux dégradations
3http ://www.urban-modelling.org/36 CHAPITRE 3. DÉVELOPPEMENT DURABLE
qu’il occasionne. Le système routier en croissance a dépassé un seuil au-delà duquel il est devenu contreproductif.
Il produit de grandes injustices et complique toujours plus les politiques de redistribution des
richesses, quand ceux qui subissent ses nuisances ne sont pas ceux qui profitent de ses commodités. Les
populations les plus pauvres peuvent rester piégées dans les zones les plus pauvres, les plus polluées ou
bruyantes et les plus privées d’emplois, de services urbains ou de paysages agréables [186].
Néanmoins, les jeunes occidentaux éprouvent de moins en moins d’intérêt pour l’automobile et ils n’ont
plus envie de la grosse voiture de leurs parents. L’imaginaire dominant de notre univers automobile durant
les trente glorieuses n’est plus adapté à cette nouvelle génération qu’il va falloir prendre en compte pour
réinventer les moyens de déplacement de demain. L’automobile doit se redéfinir et on peut faire l’hypothèse
de nouveaux modes de transports situés aux interstices des deux et quatre roues : probablement un modèle
de petite voiture léger et écologique.
Mais pour le moment, des pays comme l’Inde ou la Chine sont dans une dynamique de rattrapage
économique et encore dans la fascination pour un modèle occidental qui n’est pourtant pas viable. Chaque
jour, 1 200 véhicules nouveaux sont immatriculés en Chine et la terre comptera cinq fois plus de voitures
d’ici 2050. Ceci va provoquer une course aux matières premières de plus en plus effrénée au fil des années
à venir, avec des conséquences déjà visibles (par exemple l’intérêt croissant de la Chine pour l’Afrique).
Il va pourtant falloir adopter de nouveaux modes de croissance écologiquement responsables et le modèle
énergivore apparu au début du 19ème siècle va devoir se réinventer. C’est une nouvelle révolution industrielle
qui est en train de se dessiner sous nos yeux, et la voiture est au cœur de ce bouleversement [20].
3.5 Utopies
3.5.1 Une « Utopie Concrète » pour Paris
Le Grand Paris ROLAND CASTRO fait partie d’une génération d’architectes et urbanistes qui a énormément
réfléchi et appris des échecs du passé, une génération qui a beaucoup déconstruit la pensée des
temps modernes. Sa pensée intègre l’aspect politique et citoyen d’une architecture urbaine. Il est partisan
de la réhabilitation par le remodelage des grands ensembles. Il a également initié le mouvement politique de
l’Utopie Concrète pour transformer sans révolution la société vers plus d’égalité républicaine et de justice.
Il y défend l’idée d’avancer des utopies concrètes et évolutionnaires pour redonner du sens à la politique.
Pour lui, l’utopie concrète : c’est la vérité de demain. Tout comme les congés payés ou l’abolition de la
peine de mort étaient des utopies en leurs temps, elles sont devenues des réalités de nos jours.
Il a été choisi par le président NICOLAS SARKOZY pour encadrer une équipe pluridisciplinaire lors de
la consultation sur le Grand Paris : un projet de loi adopté le 19 juillet 2013 et visant à créer une métropole
qui regroupera, dès 2016, Paris et trois départements de la petite couronne, doté de compétences en matière
de logement et d’aménagement du territoire. Ce projet a été initié sous FRANÇOIS MITTERRAND4
, lancé
par NICOLAS SARKOZY et repris sous FRANÇOIS HOLLANDE. Il s’agit donc d’un projet qui dépasse de
loin les clivages politiques habituels de la France (gauche / droite).
Lorsque ROLAND CASTRO décrit ce projet, il considère un territoire réel plus grand que celui retenu
par la loi, qu’il dit enfermée dans des limites administratives trop étroites. Pour lui, le Grand Paris s’étend
sur une zone de 40 km par 40 km, concerne 10 millions d’habitants et regroupe 400 communes. Ce projet
porte l’ambition de faire une métropole multipolaire caractérisée par une multitude d’éléments attractifs
en dehors du centre historique. A cette échelle, le Grand Paris sera aussi grand que Berlin ou le Grand
Londres. Le Grand Paris va permettre de faire la "ville à la campagne" avec un territoire beaucoup plus
riche du point de vue végétal ou même agricole, un espace métropolitain dans lequel chaque quartier est
attractif, sympathique, caractérisé par le plaisir d’y habiter et partagé par tous, ou chaque quartier « vaut
bien » n’importe quel autre. C’est en cela que le Projet du Grand Paris représente une utopie concrète.
Mais en dehors des aspects techniques, ce projet est soumis à d’importantes crispations politiques liées
4Projet Banlieues 89 comportant un volet Grand Paris, confié à Roland Castro et Michel Cantal-Dupart en 1983.3.5. UTOPIES 37
d’une part à l’insuffisance d’une implication forte au plus haut niveau de l’état, et d’autre part à la présence
de nombreux « barons » locaux qui disposent d’une influence importante et qui ne servent pas systématiquement
la cause collective. Pour ROLAND CASTRO, le manque de budget identifié pour financer le projet
n’est pas la question la plus grave car il y a beaucoup d’économies à réaliser en réformant des formes d’administration
du territoire devenues superfétatoires avec le temps (notamment en supprimant les conseils
généraux). De plus, le projet de loi relatif au Grand Paris prévoit :
• l’objectif de création d’un million d’emplois supplémentaires en Île-de-France sur les quinze prochaines
années5
;
• l’obligation de construire 70 000 logements par an.
Paris ville-monde Dans sa note ouverte d’octobre 2013 adressée au Président de la République et intitulée
« Vivre un Grand Paris » [41], Michel CANTAL-DUPART interpelle à sa manière François HOLLANDE
pour lui faire part de son inquiétude face aux orientations de ce projet qui sont contraires aux convictions
qu’il porte. Dans son document, il dresse un bilan complet de la situation et suggère sept objectifs pour
redresser la barre.
Raccommoder les quartiers Il n’y aura pas de Grand Paris possible dans une ville à plusieurs vitesses
: il ne s’agit pas de réaliser des opérations comme des éco-quartiers qui poussent de toute part sans
se soucier de l’évolution des quartiers dans lesquels ils s’insèrent. Plus que de revisiter les Quartiers Prioritaires,
il faut véritablement désenclaver les cités. Quand ils existent, les fleuves sont des éléments intéressants
pour fédérer une ville car ils ne subissent pas les limites administratives.
Premier et dernier logement Les petits logements disponibles pour les jeunes (premier logement)
sont souvent inaccessibles pour cause de loyer prohibitif et c’est la même chose pour un nombre important
de retraités (dernier logement) qui doivent quitter la capitale parce que la vie et les logements y sont devenus
trop chers : ce phénomène contribue à déséquilibrer la ville. Pour corriger ce phénomène, il est possible
d’augmenter encore la densité de la ville dans des proportions raisonnables en utilisant ses réserves foncières
aériennes qui sont vastes sans pour autant faire de grandes tours. D’autre part, il peut être intéressant de
revisiter les immenses zones d’activités et leurs parkings pour proposer une évolution foncière lorsqu’il est
possible d’y accueillir des logements. Au lieu de rajouter des bureaux déjà en nombre et parfois vacants,
il faudrait leur préférer des programmes d’habitation pour arriver à un équilibre, notamment à proximité
immédiate des gares pour inciter les habitants à utiliser les trains plutôt que des voitures (lorsqu’on construit
des bureaux à proximité immédiate des gares, c’est l’effet inverse qui se produit : les gens quittent leur
domicile avec leur véhicule et tentent par tous les moyens possibles de rejoindre leur lieu de travail en
voiture).
Les chemins de l’écolier L’école est un lieu d’apprentissage de la ville, tant par le contenu de ses
enseignements que par le chemin emprunté, itinéraire qui mène du domicile aux portes de l’école et fait
découvrir aux écoliers les réseaux de la ville. Contrairement au parvis des mairies et des églises, on soigne
rarement celui des écoles qui mériterait pourtant d’être plus accueillant pour recevoir les parents qui s’y
regroupent en attendant leurs écoliers.
Cultiver le bien être Concernant l’implantation hospitalière, une position centrale dans l’agglomération
peut être idéale à condition que les accès soient aisés et que soit prévue, pour le personnel soignant, une
possibilité d’un habitat adapté de proximité. Si l’implantation est périphérique, l’accès à une intermodalité
est impératif. Le plateau technique innovant et performant reste à l’hôpital, mais l’hôpital doit trouver des
moyens de se déployer en ville au plus près du milieu de vie de ses patients, pour leur confort. Concernant
5D’après l’étude d’impact annexée au projet de loi (source : http ://www.senat.fr/rap/l09-366/l09-3667.html)38 CHAPITRE 3. DÉVELOPPEMENT DURABLE
les possibilités de restauration des habitants et des visiteurs, la convivialité d’un Grand Paris passe par le
bien manger. Paris est une ville magnifique, riche d’une poésie fabuleuse, mais qui gagnerait tout de même
à offrir un meilleur accueil aux touristes venus du monde entier pour la rencontrer.
Donner accès à toute la ville Il est essentiel de pouvoir se déplacer dans toute la ville pour accéder
au savoir, au travail, à la promenade ou aux biens de consommation. Les nouvelles lignes de métro express
et les 70 gares et stations qui seront construites devront être l’occasion de valoriser les quartiers qui les
accueilleront en recherchant l’intermodalité et la transversalité sans imposer un passage obligé par le centre
de Paris.
Gommer l’attrait du vide Il faut délimiter de façon précise et sans tolérer de flou les parcelles urbanisées
et urbanisables des parcelles à vocation agricole pour concevoir un urbanisme d’une certaine densité
(sinon les lisières restent perméables pour les aménageurs) et créer un front de terre semblable à un front de
mer pour offrir de larges perspectives aux paysages franciliens et protéger les terres agricoles qui peuvent
fournir aux citadins des produits régionaux valorisants. Les terres agricoles ainsi protégées pourront évoluer
sereinement pour mieux assurer les besoins alimentaires de la ville qu’elles côtoient.
Valoriser la Seine La Seine est la plus belle avenue de Paris, mais dès qu’on quitte le centre et qu’on
arrive en banlieue, c’est fini ! Elle est pourtant un liant évident à tout le projet parce qu’elle coule à travers
le territoire sans se soucier des limites administratives et parce que se concentrent sur ses rives universités
et centres de recherche qui correspondent à l’image et à l’avenir du Grand Paris. De plus, elle abrite sur ses
berges de nombreuses friches industrielles qui permettraient de qualifier un paysage exceptionnel.
3.5.2 La « Ville Creuse » : un exemple de ville idéale
La ville est le lieu complexe où de multiples forces s’opposent et se disputent. Comment par exemple
réconcilier les attentes légitimes du citadin (plus d’espace, des facilités d’accès aux activités et services,
un cadre de vie de qualité, convivial et sain, etc.) avec une réduction de nos consommations en ressources
naturelles, une diminution de nos pollutions, de nos déchets ou d’un étalement urbain sans fin ? Existe-t-il
une forme de ville optimale capable d’améliorer son fonctionnement, de réduire ses besoins, ses gaspillages
et ses nuisances ? Y a-t-il une forme d’organisation de l’espace qui puisse nous conduire à ces différentes
optimisations ?
JEAN-LOUIS MAUPU6
, bien qu’il ne soit pas urbaniste, s’est risqué sans état d’âme à cet exercice dans
son livre intitulé « La ville creuse pour un urbanisme durable » [186]. La ville utopique qu’il propose repose
sur trois grands principes complémentaires :
• un réseau de transport multiple qui suit une forme hexagonale constituée de 6 nœuds et formant une
boucle (maille ou anneau) parsemée tous les 500 m d’une station de transport collectif (TC) ;
• des constructions avec une densité importante aux abords de la maille, son centre étant réservé à de
grands espaces verts et naturels traversés d’allées, d’une rivière, d’un lac, d’exploitations agricoles,
maraîchères et horticoles, de terrains de sport, d’un cimetière, de jardins et de vergers privés accessibles
aux seuls modes doux et véhicules de service ;
• une mixité des lieux de logement et d’activité jusqu’à même les superposer dès que c’est possible.
Chaque anneau autonome fait environ 4 km de largeur pour 12 km de longueur, son tracé étant enveloppé
d’un bâti mixte et dense pouvant accueillir 60 000 habitants dont 30 000 emplois et 25 000 ménages
comptabilisant de 10 à 20 000 voitures. La ville peut croître en y ajoutant des anneaux supplémentaires sur
le principe d’une structure alvéolaire en nid d’abeilles.
Sur le contour de chaque anneau, on retrouve une ligne de TC aérienne guidée qui comprend 24 stations
ainsi qu’une voie dédiée aux vélos et piétons, et une troisième ligne si possible en sous-sol réservée aux
6
Ingénieur Arts et Métiers, chercheur à l’Inrets : Institut National de Recherche sur les Transports et leur Sécurité.3.5. UTOPIES 39
véhicules utilitaires, aux véhicules de service ou de transport de marchandises ainsi qu’aux voitures particulières
qui se partagent l’espace du niveau inférieur également réservé aux machineries, aux divers réseaux
techniques, aux aires de stockage et à la totalité des parkings publiques et privés. Les activités engendrant
les plus gros trafics de marchandises se situent près ou au niveau de l’artère routière alors que celles qui
induisent un trafic de voyageurs sont positionnées à proximité de la ligne de TC. les lieux de logement et
d’activité sont mélangés et répartis selon leur nécessité en termes de proximité des diverses autres lieux, de
la lumière, de l’air libre ou en direction de la verdure, tout cela pour réduire les besoins de déplacement, la
longueur des trajets et respecter la diversité des attentes.
Toutes les constructions réparties de façon homogène étant à proximité immédiate de la boucle, et plus
particulièrement des stations de TC, la ligne de TC devient très attractive et la plupart du temps, la voiture
n’est plus d’une nécessité absolue. De plus, comme le réseau de TC dessert l’ensemble des lieux fréquentés
sur l’anneau, il est en mesure de capter 1 à 2 voyages par habitant et par jour contre 0,1 à 0,2 en règle
général. Compte tenu de sa structure en boucle, la ligne de TC peut donc être rentabilisée avec 10 fois
moins d’habitants desservis. Pour mieux répondre à la diversité des attentes individuelles, des pavillons,
villas et cabanons peuvent être tolérés dans l’espace de verdure en conservant des règles justes et strictes
d’accessibilité, d’implantation et de construction pour garder à la partie dense la vue et la proximité de la
verdure et des beaux espaces libres.
Pour l’approvisionnement en marchandises, les transporteurs déposent ou prennent leur chargement sur
des plateformes logistiques situées aux entrées de la ville et directement branchées sur les voies interurbaines
rapides ou sur une gare ferroviaire. Un service de véhicule adapté peut alors distribuer et collecter
les colis ou assurer les échanges internes en accédant aux points de livraison et de collecte localisés sur le
court linéaire de voirie couvert qui reste d’accès facile aux poids lourds.
Pour traverser un anneau (diamétralement), il faut compter entre 40 et 60 mn à pieds, 15 mn à vélo et 15
mn en TC. Une ville constituée de 3 hexagones formant un trèfle équivaut à 2,5 anneaux bâtis, soit 150 000
habitants. Un motif de 7 hexagones formant une fleur à 6 pétales équivalent à 5 anneaux, soit une ville de
300 000 habitants. Avec une bande urbanisée de 500 m de large sur une maille complète, on obtient une
densité de 100 hab/ha7
(carré de 500 m de cotés avec une station de TC en son centre, soit 25 ha avec 2 500
hab) où chaque habitant est à moins de 350 m d’une station de TC et à moins de 250 m d’un grand espace
de verdure. Avec une bande urbanisée de 1 000 m de large, la densité tombe à 50 hab/ha 8
et chacun est à
moins de 550 m d’une station de TC. Le grand espace de verdure central devient moins accessible (il reste
à moins de 500 m) mais il est davantage présent dans toute la bande construite.
Avec cette organisation, la ville creuse permet de réduire efficacement les besoins de mobilité et de
transport de biens, elle se caractérise par un trafic concentré sur sa boucle et une forme urbaine attractive
(densité pas trop élevée, logements individuels, proximité de la nature) économe en énergie et matériaux,
produisant peu de déchets et s’approvisionnant en priorité sur son territoire agricole. Elle peut s’accommoder
facilement de la géographie d’un lieu, de sa géologie ou de son histoire et s’y insérer en douceur tout
en le préservant, le tracé choisi pouvant suivre un chemin existant, encercler un petit bourg de caractère ou
l’intégrer comme nœud principal.
Une ville ainsi constituée pourra s’adapter à des temps plus difficiles, en particulier à une mobilité bien
plus coûteuse des biens et des personnes. Pour s’en persuader, récapitulons ici les attraits marquants de cette
ville pour un développement urbain durable, pour être riche de ce dont on n’a plus besoin :
• la structure compacte et dense du bâti favorise les économies (en matériaux de construction, d’énergie
de chauffage ou de climatisation, en eau, en linéaire et raccordement des réseaux techniques) ;
• la possibilité de circuler en zone couverte et continue favorise la marche à pied et l’usage du vélo ;
• la proximité des lieux (services, formation, travail) réduit la longueur, la durée et le coût des déplacements
contraints ;
• la surface occupée par le mode routier, parkings compris, est réduite (5 % de la surface de la maille) ;
7Densité proche de celle d’une cité jardin comprise entre 160 et 200 hab/ha
8Correspond à une densité proche d’une zone pavillonnaire40 CHAPITRE 3. DÉVELOPPEMENT DURABLE
• tout point du bâti principal est à proximité immédiate d’une ligne de TC ;
• continuité de service des TC (deux itinéraires pour se rendre d’un point à l’autre) ;
• proximité constante des espaces verts et de toutes les activités récréatives rendant la densité viable ;
• absence de nuisances liées à la circulation automobile : effet de coupure, bruit, pollution, danger,
bouchon ;
• possibilité d’extension de la ville par ajout de maille (reproduction du motif) sans remise en cause ou
dégradation des conditions existantes ;
• extrême simplicité grâce à une structure annulaire (flux de marchandises entrant et sortant faciles à
rationaliser, moins de carrefours, signalisation simplifiée, séparation des modes de transport, des flux
en eau, ordure, électricité ou de chaleur) ;
• plus d’éventration permanente des voiries par des tranchées ;
• facilité de maintenance des réseaux (bonne accessibilité, détection des fuites de fluides) ;
• pas d’extrémités de ligne de TC pauvres en trafic, pas de tronçon central surchargé.
JEAN-LOUIS MAUPU nous propose une armature de ville sans centre ni banlieue, une nouvelle machine
à habiter organisée tout simplement le long d’une ligne optimale de transport collectif. Mais cela
nécessite une autorité organisatrice indépendante (ou une auto-organisation durable) capable de la projeter,
de la bâtir et de la maintenir, capable aussi de transcender les contradictions de son opinion publique, et
c’est probablement ce dernier aspect qui constitue la principale utopie de son projet.
3.6 Conclusion
L’urbanisme moderne n’est pas durable car il crée des situations figées, non évolutives. De plus, la réalité
de l’évolution sociale des grands ensembles français a rappelé qu’on ne pouvait omettre les dimensions
anthropologiques et sociologiques de la ville et de l’habitat et qu’au-delà de la satisfaction de ses besoins
de base (manger, s’abriter), l’homme est un être social dont les besoins varient en fonction des cultures et
des organisations sociales. Il faut donc penser globalement tout en agissant localement.
L’un des enjeux majeurs d’un urbanisme durable est de redonner une certaine compacité à l’agglomération,
donc à augmenter la densité de ses secteurs périphériques. Pour y parvenir, il faut sans doute changer
les réglementations urbaines en imposant des densités minimales pour limiter la croissance urbaine et permettre
de doter l’agglomération de services performants et plus économiques. Une densité suffisante peut
être retrouvée en reconstruisant la ville sur la ville. L’introduction de la nature dans l’urbain est un facteur
déterminant pour rendre cette densité supportable. Dans ce contexte, il parait également nécessaire de redonner
à la voiture la place qu’elle mérite en ville, ni plus ni moins, et d’imaginer des transports collectifs
accessibles à tous et performants. D’autre part, la mixité sociale et fonctionnelle apparaît essentielle pour
limiter nos besoins en déplacements, et par conséquent limiter nos consommations d’énergies et diminuer
les nombreuses pollutions (qualité de l’air, bruit, danger, etc.) tout en assurant l’équilibre et la cohésion de
ces grands ensembles vivants.
Le développement de nos villes déterminera l’avenir de l’Europe9
[108].
Dans la pratique, il faut néanmoins distinguer deux situations : celle des pays développés qui possèdent
déjà un milieu très urbain et relativement stable et celle des pays en développement qui voient leurs paysages
urbains se métamorphoser sous l’impulsion de populations rurales nombreuses qui viennent s’agglutiner en
périphérie des villes ou dans les bidonvilles.
"Des solutions en matière de ville durable existent, mais on ne sait pas les rendre désirables. La ville
appelle de nouveaux récits, mais trop peu de personnes sont capables de les produire" [20]. Pour mettre en
œuvre ces solutions qui existent en matière de ville durable et les rendre accessibles au plus grand nombre
à défaut de les rendre désirables, de nombreux projets de recherche ont vu le jour ces dernières années pour
proposer des modèles et outils d’aide à la décision dans bien des domaines de l’urbanisme et accompagner
ainsi les décideurs dans des choix éclairés. C’est notamment le cas de ces travaux de thèse qui contribuent
9
Johannes Hahn, Membre de la Commission européenne en charge de la politique régionale.3.6. CONCLUSION 41
au projet de recherche SUSTAINS pour proposer une aide à la décision opérationnelle destinée à la pré-
programmation d’environnements urbains durables.4
Cadre méthodologique et problématique
Dans un premier temps, nous présentons le cadre méthodologique dans lequel s’inscrivent nos travaux en revenant
sur les contributions notables de l’urbanisme au développement durable et en présentant les grandes
lignes du projet de recherche SUSTAINS auquel nous participons. Il s’agit d’un projet de recherche pluridisciplinaire
qui propose de réaliser un outil d’aide à la décision pour la pré-programmation urbaine (4.1.2.1).
En nous associant à ce projet qui regroupe des experts de différents domaines (urbanistes, architectes, statisticiens,
concepteur d’interfaces homme machine ou de simulations 3D, chercheurs, ...), nous ancrons nos
travaux de recherche dans la réalité du terrain en profitant de compétences croisées et complémentaires sur
un domaine reconnu pour être complexe et très difficile à appréhender dans sa globalité. Ce sera également
un bon moyen de valider nos modèles et résultats par des professionnels du domaine.
A partir de ces éléments, nous décrivons notre problématique en détail en faisant l’inventaire des problèmes
de recherche que nous souhaitons adresser dans cette thèse. Après avoir évoqué les principaux
concepts et théories associés à ces problèmes, nous les déclinons en questions de recherche précises et faisons
une série d’hypothèses pour approcher des réponses présumées. Enfin, nous décrivons notre méthode
générale de travail pour y parvenir.
4.1 Synthèse des éléments contextuels
4.1.1 Articulations entre urbanisme et développement durable
La contribution de l’urbanisme au développement durable est une idée largement répandue qui s’inscrit en
France dans la loi de programmation relative au Grenelle de l’environnement avec une obligation pour les
collectivités publiques, de par leurs prévisions et leurs décisions d’utilisation de l’espace, de réduire à la
fois les émissions de gaz à effet de serre (GES) et les consommations d’énergies, notamment les ressources
fossiles [70]. Pour répondre à ces enjeux, les urbanistes préconisent différentes orientations :
• limitation de l’étalement urbain ;
• promotion des transports collectifs et de la marche à pied ;
• meilleure répartition des activités et des logements dans l’espace.
Malgré ces recommandations apparues dès les années 70, la ville a évolué de manière assez éloignée de
ces grands principes. Certaines études [185, 196, 209, 11, 262, 287, 36] contestent même l’efficacité de
l’urbanisme dans ces domaines, en évoquant :
• des impacts limités en comparaison de ceux attendus dans les domaines de l’automobile (amélioration
4344 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE
des moteurs) et du bâtiment (meilleure isolation) ;
• des coûts de mise en œuvre très importants ;
• des effets perçus sur le long terme inadaptés face à l’engagement de diminuer, en France, les émissions
de gaz à effets de serre par quatre d’ici à 2050.
Néanmoins, les modes d’organisation spatiale des villes, et notamment la densité, ne sont pas neutres
du point de vue des émissions de gaz à effet de serre. Il a été établi que, selon que l’on vit dans une zone
bien desservie et bien équipée, ou que l’on vit dans une zone peu dense et dépendante de l’automobile, la
consommation d’énergie pour la mobilité varie dans un rapport de 1 à 3 pour des personnes comparables en
termes de niveau de vie et d’âge. Ces variations sont principalement imputables aux distances parcourues
pour réaliser les activités quotidiennes. Les habitants des cœurs urbains réalisent une part plus importante
de leurs déplacements à pied ou en transport en commun, mais le gain obtenu par les habitants des zones
denses peut être contrebalancé par des déplacements saisonniers ou de fin de semaine plus importants,
l’accès à un jardin réduisant la mobilité de loisir grâce à « l’effet barbecue »
1
.
Outre la densité, de nombreuses études montrent que la répartition des ressources (logements, emplois,
services, etc.) à l’intérieur de l’espace urbain joue un rôle très important sur la consommation énergétique
et l’émission de GES du fait des déplacements. Le levier d’action principal est moins la forme urbaine ou
la densité que la manière dont s’agencent les individus, activités et réseaux de transport pour faciliter une
accessibilité peu émettrice de GES et peu consommatrice d’énergie.
Enfin, certains supposent qu’un prix élevé de l’énergie pourrait avoir un impact beaucoup plus efficace
que l’urbanisme et l’aménagement du territoire pour réduire les émissions de GES. Mais jouer sur le seul
effet du prix conduirait à faire l’impasse sur les conséquences sociales de telles mesures, les ménages
pauvres situés principalement dans les espaces périurbains à faible densité étant parmi les plus vulnérables
face à une augmentation du coût de l’énergie. Pour assurer l’équité sociale inscrite dans les principes du
développement durable, il est nécessaire de prévoir un aménagement urbain qui autorise au plus grand
nombre des déplacements quotidiens indispensables à la vie économique, sociale et culturelle de toutes les
villes, même en cas d’usage rare ou cher de l’énergie.
En complément des réductions de GES et des consommations d’énergies, le renforcement des liaisons
piétonnières, l’amélioration des réseaux de transport collectifs, une plus grande imbrication des logements
et des activités, etc. contribuent à la qualité urbaine dans ses différentes dimensions (sociale, environnementale
et économique). Ces principes d’aménagement jouent notamment un rôle majeur sur l’acceptabilité
sociale de la transition énergétique en marche.
Dans le cadre de nos travaux, nous nous intéressons plus particulièrement à une organisation de l’espace
urbain (occupation des sols) qui puisse satisfaire les objectifs suivants :
• densité maîtrisée ;
• proximité de la nature ;
• mixité sociale et fonctionnelle ;
• viabilité économique des projets urbains ;
• aménagement à l’échelle d’une ville nouvelle ou pour le renouvellement complet d’un quartier ;
• bien être des habitants (en évitant le bruit, en favorisant les modes de transport doux, . . . ).
4.1.2 Un champ d’application moteur de la recherche théorique
Les travaux de recherche relatifs à cette thèse s’inscrivent dans le cadre du projet de recherche national FUI2
SUSTAINS (http ://www.sustains.fr/). Ce projet propose de réaliser un outil d’aide à la décision pour la pré-
programmation urbaine (cf. définition dans la section ci-dessous) et le choix des systèmes énergétiques. Cet
outil doit permettre d’appréhender la complexité des modèles urbains (résidentiels, industriels, services pu-
1Dans un espace périurbain, on est généralement de gros consommateurs de kilomètres automobiles pour aller travailler, mais
le week-end, on a tendance à rester chez soi pour profiter du jardin et faire un barbecue.
2Fonds Unique Interministériel.4.1. SYNTHÈSE DES ÉLÉMENTS CONTEXTUELS 45
blics) dans ses dimensions sociales, économiques, énergétiques, de mobilité et de durabilité. L’intégration,
la visualisation et la manipulation de ces dimensions dans une plateforme informatique3 opérationnelle de la
ville visent à replacer les différents acteurs (élus, financeurs, société civile) au sein du processus de décision
en se focalisant sur deux enjeux : environnement et énergie.
Ce projet, commencé en 2011, s’est achevé le 11 février 2014 lors d’une présentation des principales
avancées scientifiques et résultats obtenus en présence de tous les acteurs impliqués, des différents financeurs
et représentants de structures associées au développement urbain.
4.1.2.1 Pré-programmation urbaine
Face à la nécessité d’opérer des choix de développement urbain qui s’inscrivent dans une perspective durable,
les collectivités sont amenées à réaliser des arbitrages complexes, en mesurant a priori les consé-
quences environnementales et économiques des solutions envisagées.
Pour être accompagné dans ces choix difficiles, il est désormais essentiel d’utiliser une méthodologie
et un outil permettant de modéliser la programmation d’environnements urbains dans une phase amont,
aussi bien pour la création de villes nouvelles que pour la restructuration urbaine. Cette phase constitue la
pré-programmation urbaine (PPU), étape préalable au lancement d’une étude urbaine complète. Elle permet
d’établir dans une démarche systémique les éléments de programmation (proportion de maison d’habitation,
immeuble collectif, bureau, zone artisanale ou industrielle, équipement, espace vert, etc.) essentiels à
intégrer dans la conception d’une ville durable. Elle fournit sur une emprise territoriale donnée des études
de capacité d’accueil d’un ensemble urbain avec tous les éléments de programmation y compris les équipements
publics induits à partir d’un taux d’emploi spécifié.
La pré-programmation comprend le positionnement des centralités et axes urbains, la répartition des
intensités (niveaux de densité urbaine, de mixité fonctionnelle, de mobilité) et des espaces de respiration,
l’organisation en quartiers et en îlots, le tout en fonction d’une population donnée, d’un taux d’emploi, d’une
emprise territoriale et d’un ensemble de descripteurs tels l’équilibre des aménagements logements/emplois,
la diversification des surfaces ou la création d’espaces de vie collectifs polyvalents.
4.1.2.2 Description générale du projet
Le projet SUSTAINS, réalisé en collaboration étroite entre des praticiens de la ville, des experts du domaine
de la production et distribution énergétique, et des chercheurs, consiste à :
• concevoir un modèle théorique de développement urbain durable reposant sur l’expérience pluridisciplinaire
de praticiens de l’aménagement urbain (Établissements Publics d’Aménagement de
Marne-la-vallée : ÉPAMARNE). Ce modèle de pré-programmation urbaine est construit autour de la
notion d’intensités urbaines intégrant niveau de densité, mixité fonctionnelle et support de mobilités.
• étudier et réaliser un modèle informatique interactif qui génère une planification urbaine à partir
des règles du modèle théorique de développement urbain durable et de contraintes posées sur les
indicateurs (par exemple le maintien d’indicateurs dans des fourchettes de valeurs). Ce modèle doit
permettre une visualisation de la ville et de ses indicateurs, ainsi qu’une interaction avec celle-ci (par
exemple modification des seuils ou déplacement des éléments de programmation). Cette démarche
inverse de conception consiste en (i) l’expression sous forme de contraintes des propriétés désirées de
la ville au travers des nombreux indicateurs qui la caractérisent (habitat, énergie, transport, services),
(ii) la génération d’une planification urbaine par résolution de ces contraintes (création d’un maillage
routier, identification des quartiers et des îlots, caractérisation de la nature des ilôts) et (iii) l’interaction
avec cette planification à différents niveaux (répartition spatiale, agencement des quartiers,
seuillage des indicateurs) en maintenant la satisfaction des contraintes et la cohérence de l’ensemble.
• concevoir et développer un module de simulation et d’optimisation des schémas énergétiques. Ce
module permet de modéliser les besoins énergétiques d’un ensemble urbain (zones résidentielles,
3On utilisera le terme de « plateforme » par ailleurs dans ce document pour faire référence à cette suite logicielle.46 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE
FIGURE 4.1 – Échanges entre les modules attribués aux différents acteurs du projet SUSTAINS : ① Surface
à aménager et autres paramètres ② Objectif en nombre d’îlots de chaque type (maisons, immeubles d’habitation,
commerces, écoles, bureaux, . . . ) ③ Adresse du fichier de configuration ④ Contenu du fichier de
configuration dans lequel est assigné à chaque îlot symbolique une fonction urbaine (maisons, immeubles
d’habitation, commerces, écoles, bureaux, . . . ) ⑤ Données sous la forme d’un fichier KML ⑥ Entrées issues
du traitement relatif au fichier KML ⑦ Volumes annuels de consommation par mode sous la forme
d’un fichier CSV ⑧ Fichier KML dans lequel a été inclus l’ensemble des résultats énergie et transport ⑨
Fichier 3D de base ⑩ État du traitement du fichier 3D et index du projet. (Schéma extrait du rapport de fin
de projet SUSTAINS.)
industries, services publics), de simuler les profils de production/distribution pour répondre à cette
demande et d’évaluer l’impact environnemental ainsi que les coûts complets correspondants.
• expérimenter et valider le modèle à différentes échelles de villes (éco-quartier, ville,. . . ) en utilisant
les données socio-économiques, écologiques et d’aménagement fournies par des projets en cours
menés par ÉPAMARNE.
La figure 4.1 présente les modules répartis entre les différents acteurs impliqués dans le projet SUSTAINS
ainsi que les flux d’échanges qui viennent constituer et enrichir une pré-programmation urbaine.
Cette thèse coïncide avec le module « LINA / Moteur IA4 » de la figure 4.1 qui a la charge de produire
un modèle informatique interactif (cf. section "Description générale du projet" ci-dessus).
4.2 Le cadre méthodologique
Notre travail s’intéresse d’une part aux contributions notables de l’urbanisme au développement durable
et se positionne d’autre part au cœur du projet de recherche SUSTAINS. La figure 4.2 illustre de façon
synthétique le cadre méthodologique qui s’articule autour d’une plateforme globale d’aide à la décision
pour la conception d’environnements urbains durables :
4Moteur IA pour "Moteur d’Intelligence Artificielle" : ce module informatique apporte l’intelligence nécessaire (artificielle)
pour répartir au mieux et de façon automatique les éléments urbains sur la ville, tout en proposant une interaction utilisateur
nécessaire à l’obtention d’une solution de compromis entre les décideurs.4.2. LE CADRE MÉTHODOLOGIQUE 47
FIGURE 4.2 – Conception d’un environnement urbain durable en 4 étapes : (1) paramétrage des contours du
territoire urbain, des propriétés, des axes principaux, des centralités et des zones d’intensités ; (2) calcul du
nombre de formes urbaines par niveau d’intensité ; (3) positionnement automatique des formes urbaines sur
la ville en respectant un équilibre entre les trois piliers d’un développement durable (économique, social,
et environnemental) sans privilégier l’un au détriment des autres ; (4) manipulation interactive des formes
urbaines avec maintien des contraintes et préférences. Les deux dernières étapes sont au cœur de notre
travail de thèse.
1. le concepteur fixe les contours de la ville, l’emplacement des centralités et l’emprise de chaque niveau
d’intensité sur une grille régulière.
2. un système expert (basé sur des règles métier) calcule le nombre de formes urbaines5 de chaque type
(maison, bureau, commerce, industrie, ...) par niveau d’intensité en fonction d’un taux d’emploi et
des capacités d’accueil du territoire ainsi délimité, de façon spécifique pour chaque pays.
3. les formes urbaines sont automatiquement réparties sur la grille régulière en respectant les contraintes
de placement et en favorisant les préférences entre les formes urbaines, le tout traduisant un équilibre
entre les différentes propriétés sociales, économiques et environnementales d’une ville durable.
4. les décideurs manipulent l’environnement urbain tandis que la cohérence des contraintes et des pré-
férences est maintenue.
Nous cherchons à simuler une organisation spatiale optimisée d’un espace urbain durable dans le cadre
d’une pré-programmation de façon à :
• respecter certaines contraintes structurelles ;
• tout en favorisant des préférences de placement liées aux formes urbaines.
5On parle ici du type dominante d’occupation du sol pour chaque cellule de la grille, à ne pas confondre avec la forme globale
de l’espace urbain. C’est cette signification qui primera dans la suite de ce document.48 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE
4.2.1 Un carroyage symbolique régulier
Pour représenter la ville, nous utilisons une représentation symbolique prenant la forme d’un carroyage
régulier où chaque carreau est desservi par quatre rues ou artères rectilignes (avenues, rues, dessertes, ...).
Une fois définies, les voies de communication restent fixes sans entraîner de rétro-action avec les formes
urbaines qui seront affectées aux carreaux. A notre niveau, nous nous intéressons plus particulièrement à la
répartition des formes urbaines sur la ville (dans chaque carreau) et non aux formes géométriques qu’elle
peut prendre. Une déformation à la marge de cette trame pourra être opérée par la suite (par exemple pour un
rendu 3D plus réaliste) afin de l’adapter aux courbes du terrain ou aux traits de l’architecte et de l’urbaniste,
sans pour autant modifier fondamentalement les résultats précédents.
Les données et ratios utilisés pour la conception de la plateforme, notamment le modèle urbain (fi-
gure 4.2, étape 2), s’appuient sur différentes réalisations urbaines afin de prendre en compte les contraintes
techniques, commerciales, économiques, sociales et environnementales. Ce faisant, la plateforme SUSTAINS
ne peut être exploitée en l’état que dans le cadre d’un développement urbain d’au moins cent cinquante
hectares, plat et non urbanisé. Mais ces limitations ne concernent pas directement nos travaux qui
peuvent être exploités avec ou en dehors de cette plateforme.
4.2.2 L’îlot comme unité de travail
Maintenant que nous avons identifié l’échelle globale d’un projet, il nous reste à définir la plus petite unité
de travail pertinente pour notre travail. En France, pour cette taille de projet6
, une concertation préalable
et une communication portant sur les enjeux et les objectifs de l’aménagement doivent être organisées et
des séances de présentation au public sont généralement prévues pour évaluer différents scénarios7
. Lors de
cette phase pouvant coïncider avec l’étape de pré-programmation, les résultats présentés au grand public ne
doivent pas apparaître trop réalistes pour favoriser le dialogue et renforcer l’idée que toutes les décisions ne
sont pas arrêtées. Rappelons également que cette étape de PPU (Pré-Programmation Urbaine) doit proposer
une vision à "gros grain" aux décideurs pour qu’ils ne s’embarrassent pas de détails superflus et qu’ils restent
focalisés à un niveau suffisamment général dans le but de prendre des décisions stratégiques qui engageront
le développement futur d’une ville entière ou d’un quartier sur le long terme. Dans ces circonstances, un
découpage du territoire en cellules fixes de 80 m x 80 m correspondant à un îlot urbain standardisé semble
suffisamment précis pour caractériser le niveau de granularité le plus fin d’une étude, sans devoir descendre à
la parcelle ou au bâtiment. Ce choix renforce une représentation symbolique de la ville (pouvant néanmoins
faire apparaître des bâtiments "simples") caractéristique d’une ébauche de projet pouvant encore évoluer.
4.2.3 Résolution optimale et résolution interactive
Intéressons-nous maintenant aux contextes de génération des différents scénarios. Les résultats que nous
fournirons seront intégrés dans la plateforme selon deux protocoles :
• le premier protocole correspond à une recherche initiale de solutions pouvant être lancée sur plusieurs
heures en ayant éventuellement recours à des ressources matérielles conséquentes ;
• le second protocole correspond à la modification interactive par les décideurs d’une solution initiale
pré-calculée (i.e. issue du premier protocole).
Dans le premier protocole, nos algorithmes sont utilisés pour fournir une solution initiale (ou plusieurs
propositions) dans un temps de résolution limité mais fixé à l’avance, l’échéance pouvant être de l’ordre de
quelques heures à une nuit entière pour générer les différents scénarios de base. Dans le second protocole,
6La concertation préalable est obligatoire en France pour les aménagements d’espaces publics dépassant le seuil de 1,9 million
d’euros d’investissement (cf. articles L 300-2 et R 300-1 du Code de l’Urbanisme).
7Un scénario correspond au résultat d’une simulation préalable retenue compte tenu de ses caractéristiques et pouvant repré-
senter (ou être à la base) une solution potentielle. Différentes simulations permettent généralement d’obtenir différents scénarios
présentant des caractéristiques différentes en fonction des choix opérés lors des processus de génération.4.3. PROBLÉMATIQUE 49
une solution initiale (basée sur un scénario) est projetée sur une grande table tactile et les décideurs interagissent
avec la solution pour l’adapter à leurs visions ou décisions. Nos outils doivent alors tenir compte
des modifications imposées par les utilisateurs tout en maintenant la cohérence des contraintes et des pré-
férences dans un contexte ne laissant guère que quelques secondes tout au plus à la procédure de réparation
pour opérer. Dans le premier cas, la priorité peut être donnée à la qualité des solutions produites alors que
dans le second, c’est le temps de réponse qui devient prioritaire. Notre problème revient alors à positionner
au mieux les formes urbaines issues du modèle urbain (figure 4.2, étape 2) sur chaque cellule libre de la
grille, chaque cellule représentant un îlot urbain, ceci quel que soit le contexte de résolution (correspondant
à nos deux protocoles). Sans en avoir la certitude à ce stade, nous faisons l’hypothèse qu’il sera possible
de répondre aux exigences de ces deux contextes (pour la résolution initiale et les réparations interactives)
grâce à une procédure d’optimisation unifiée capable de répondre de façon appropriée à chaque situation.
4.2.4 Positionnement de la PPU par rapport aux plateformes de conception urbaine
existantes
Si il existe beaucoup de modélisations urbaines sur des sujets spécifiques, il n’y a pas précisément de modélisation
relative à la pré-programmation urbaine. La PPU se positionne en amont des outils de simulation
actuels. Elle vient compléter une chaîne méthodologique dans une tâche de programmation urbaine qui
consiste à (i) modéliser une ville par ses caractéristiques et (ii) à simuler son évolution.
Parmi ces outils de simulation, on peut noter l’existence de la plateforme américaine URBANSIM [283]
classée dans la catégorie des modèles d’urbanisation (Land-Use model). Ce logiciel peut fonctionner en
interaction avec différents modèles externes de transport pour constituer un modèle complet de type LUTI
(Land Use Transportation Integrated model).
En infographie, de multiples recherches se focalisent sur la création de villes nouvelles. Mais bien
souvent, ces contributions s’attachent plus à la représentation esthétique des villes (en essayant de les imiter
avec le plus de réalisme possible) qu’à leurs dimensions fonctionnelles. Néanmoins, les travaux récents de
Vanegas et al. [273] tentent de combler ce vide en intégrant dans leurs outils les modèles d’évolution de la
suite URBANSIM sans toutefois proposer une interaction utilisateur permettant de modifier en temps réel
les caractéristiques de la ville et sans que cette plateforme soit conçue à l’intention expresse des urbanistes
et des décideurs.
Finalement, il existe des logiciels élaborés pour les urbanistes (comme CommunityViz [158]) qui proposent
des outils de conception automatisés et interactifs. Toutefois, ils se positionnent le plus souvent à
une échelle très détaillée (parcelle, bâtiment) et la phase de conception pouvant être assimilée à la PPU reste
pauvre en automatismes, privilégiant des tâches manuelles et répétitives assimilables à du dessin.
4.3 Problématique
Nous évaluons mieux après ces quelques pages l’étendue et la complexité du sujet traité dans cette thèse.
Pour l’aborder de façon méthodique, nous proposons de décomposer notre problématique en trois grandes
sections complémentaires :
• proposer un modèle de pré-programmation urbaine ;
• rechercher une bonne organisation spatiale de la ville à partir du modèle de PPU dans un contexte
batch ou interactif ;
• imaginer une interaction avec l’utilisateur capable de maintenir la cohérence globale d’une solution.
4.3.1 Proposer un modèle de pré-programmation urbaine
Le modèle proposé doit nécessiter très peu de données en entrée, ces données pouvant être limitées aux
éléments suivants :50 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE
• les contours du territoire à aménager ;
• l’emprise de chaque intensité ;
• le nombre et la position de chaque centralité ;
• un carroyage régulier définissant les axes de transport principaux et secondaires (avenues, rues et
dessertes) ;
• les zones non constructibles (rivières, forêts à préserver, . . . ) ;
• le nombre de chaque forme urbaine à répartir sur la ville, ces formes urbaines étant ventilées par
niveau d’intensité.
Le carroyage permet de découper le territoire en cellules régulières où chaque cellule représente un îlot
urbain. Une cellule peut être fixe ou libre. Pour une cellule fixe, la forme urbaine est imposée (rivière, forêt,
. . . ) alors que pour une cellule libre, aucune forme urbaine ne lui est affectée. Tout l’enjeu consiste à associer
à chaque cellule libre la meilleure forme urbaine possible en fonction des formes urbaines à répartir sur la
ville. La partie relative à la modélisation est très délicate compte tenu du nombre important de notions
à traiter et de la difficulté à les représenter. De plus, il faut appréhender le problème dans sa globalité
(approche systémique), avec par exemple une action simultanée touchant à la localisation des diverses
ressources territoriales, la densification ou encore des agencements favorables aux modes de transport doux
ou collectifs.
Par rapport à cette section, les questions suivantes se posent alors :
• une phase d’analyse approfondie avec des experts de l’aménagement urbain permettra-t-elle d’identifier
les propriétés d’un modèle de PPU pertinent avec si peu de données disponibles en entrée ?
• est-il possible de transposer ou d’adapter un modèle américain aux autres continents ?
• notre modèle sera-t-il circonscrit à la création d’une ville nouvelle ou pourrait-il être utilisé pour
l’extension d’une ville existante ou la réhabilitation d’un quartier (friche industrielle, . . . ) ?
• comment définir et représenter les règles de placement des formes urbaines pour satisfaire aux critères
d’un développement durable ?
• une propriété donnée du problème doit-elle être traduite en contrainte ou en préférence ?
• le modèle proposé sera-t-il suffisamment simple pour être compréhensible par des utilisateurs non
experts (décideurs), critère essentiel pour son adoption ?
• quel formalisme doit-on adopter pour représenter notre modèle ?
4.3.2 Rechercher une bonne organisation spatiale de la ville à partir du modèle de
PPU dans un contexte batch ou interactif
L’objectif consiste à générer (contexte batch) ou à maintenir (contexte interactif) une ville durable optimisée
et réaliste. Pour cela, nous allons exploiter notre modèle de PPU pour répartir au mieux et de façon automatique
les formes urbaines (calculées par le modèle urbain) sur chaque cellule libre du carroyage. On entend
par libre une cellule dont la forme urbaine n’a été imposée ni par le modèle urbain, ni par l’utilisateur.
Reste alors à répondre aux difficultés suivantes :
• y a-t-il toujours une solution au problème posé ?
• inversement, si il existe plusieurs solutions au problème, alors ces solutions sont-elles nombreuses et
pouvons nous trouver la meilleure solution ?
• existe-t-il des méthodes capables de résoudre efficacement notre problème et seront-elles en mesure
de passer à l’échelle pour des villes réelles de différentes tailles ou de différentes natures ?
• est-ce que la qualité des résultats obtenus peut être garantie ?
• face à une instance d’un problème particulier, est-t-il possible de prédire les temps ou la puissance de
calcul nécessaire ?
• les méthodes de résolution retenues pourront-elles s’adapter à la fois au contexte batch et au contexte
interactif ou bien faut-il prévoir une méthode dédiée à chaque contexte ?
• faudra-t-il dégrader le modèle pour le rendre compatible avec la partie interactive ?4.4. MÉTHODE GÉNÉRALE DE TRAVAIL 51
• ces méthodes pourront-elles être intégrées dans un solveur unifié ?
• si la taille du problème devient trop importante, la résolution pourra-t-elle encore se faire sur un
ordinateur classique ou bien faut-il prévoir une grille de calcul pour pouvoir augmenter la taille des
problèmes à traiter tout en conservant des temps de calcul raisonnables ?
4.3.3 Imaginer une interaction avec l’utilisateur capable de maintenir la cohérence
globale d’une solution
Bien qu’elle soit abordée en dernier, cette section occupe une place essentielle dans notre problématique
de par son aspect « aide à la décision » en lien directe avec les utilisateurs. Dans cette partie, les décideurs
doivent interagir directement avec un scénario et le système informatique sous-jacent doit être en mesure
de répondre en temps réel aux actions opérées pour maintenir de façon automatique la cohérence globale
de la solution en cours.
Bien qu’il faille représenter des scénarios réalistes sur une table tactile de grande surface avec des
quartiers, des îlots, des parcelles et des bâtiments de différentes natures (maison d’habitation, immeuble
collectif, bureau, usine, etc.) en y intégrant les rues, espaces verts, espaces naturels et équipements publics,
nous limiterons nos travaux à une représentation symbolique (et non géométrique) de la ville discrétisée par
une grille uniforme où chaque cellule représente un îlot urbain associé à une forme urbaine dominante.
Plus précisément, nous devrons répondre aux interrogations suivantes :
• quelles seront les manipulations proposées à l’utilisateur, seront-t-elles limitées ou étendues, aurontelles
une portée locale ou globale ?
• faut-il prévoir plusieurs échelles de modification ou des niveaux hiérarchiques pour appréhender le
problème interactif ?
• des contraintes peuvent-elles être violées suite à une opération, et si oui, quelles sont ces contraintes ?
• quelle forme doit prendre le processus de résolution : doit-il rester actif pendant toute la phase d’interaction
ou peut-on le relancer en réponse à un événement particulier ? Quels peuvent-être ces différents
événements et comment les propager à la procédure de résolution ?
• peut-on gérer la réparation d’une solution comme une résolution initiale et faudra-t-il incorporer des
données supplémentaires dans le modèle pour gérer l’interaction ?
• avec l’utilisation de tables tactiles multi-touch, faut-il prévoir plusieurs utilisateurs opérant des modi-
fications simultanées sur le même scénario ?
• en retour à chaque action, comment informer les décideurs des conséquences de leurs choix, à partir
de quels indicateurs ?
• comment représenter ces indicateurs et pourront-ils être calculés en temps réel ?
• sur quels critères pourra-t-on évaluer la pertinence du processus interactif ?
4.4 Méthode générale de travail
Pour répondre à toutes les questions qui se posent, nous allons étudier des projets qui se sont confrontés à
des problématiques voisines pour enrichir nos connaissances et trouver la bonne façon de les aborder. Nous
nous appuierons également sur des professionnels du secteur, en particulier les urbanistes, architectes et
concepteurs d’IHM8
impliqués dans le projet SUSTAINS, afin d’appréhender toutes les notions importantes
à intégrer. Grâce à des confrontations directes et régulières, des réponses concrètes pourront être apportées
au fil des rencontres. Plus tard, le point de vue des relecteurs de nos articles de recherche constituera
probablement une source utile tout comme les présentations scientifiques et les discutions associées.
Nous considérons que la réalisation de prototypes constitue un moyen objectif et efficace pour évaluer
différentes classes de méthodes sur nos problèmes, les comparer et savoir si elles répondent bien aux objec-
8
Interface Homme Machine52 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE
tifs fixés. Bien que la partie IHM ne soit pas directement de notre ressort, nous allons tout de même proposer
une procédure de saisie et de rendu graphique très simple gérant l’interaction avec les utilisateurs pour appréhender
l’ensemble des difficultés relatives aux modifications temps réel d’une solution et proposer en
retour des moyens pertinents d’informer les utilisateurs des conséquences de leurs choix.
Un aspect essentiel concerne la validation des résultats. Pour cela, nous travaillerons sur différentes
instances de nos problèmes : dans un premier temps avec des instances « jouets » plus ou moins grosses
pour les mises au point et l’évaluation des performances au sens informatique (temps de calcul, qualité des
résultats), et dans un second temps, avec des instances réelles provenant de Marne-la-vallée. A chaque fois,
les résultats seront soumis à des professionnels de l’aménagement urbain pour être validés.
Pour ce qui concerne la cohabitation de nos recherches avec le projet SUSTAINS, elle constitue une
réelle opportunité mais revêt également bien des difficultés. Par exemple, cela nécessite de synchroniser
l’avancement de la thèse avec le calendrier du projet en ne perdant pas de vue les objectifs communs et
les échéances qui ont été définis, ce qui peut favoriser une certaine rigidité. De plus, les décisions sur des
sujets aussi vastes que l’urbanisme peuvent dans certains cas déchaîner les passions ou donner lieu à des
discutions sans fin. D’un point de vue opérationnel et en l’absence d’une plateforme technique commune,
les différents modules doivent communiquer par le biais de services distants répartis sur les sites de chaque
partenaire en respectant des normes précises pour permettre aux différents services de travailler sur des
données partagées. Et compte tenu des accords de consortium, certains documents ou algorithmes peuvent
rester confidentiels de part et d’autre. Sous oublier que l’interdisciplinarité nécessite l’adoption d’un vocabulaire
commun pour réussir à se comprendre, une ouverture d’esprit sur des problématiques qui ne sont
pas directement en lien avec ses propres thèmes de recherche ou encore une adaptation permanente à des
niveaux de réflexion qui peuvent être très généraux ou très précis. Pour faciliter les choses, nos réalisations
doivent pouvoir fonctionner à la fois de façon intégrée avec la plateforme SUSTAINS, et de façon complè-
tement autonome pour ne pas être confronté à ses limitations (indisponibilité d’un module, bugs, retards,
expérimentations sur des échelles différentes, . . . ).
En tout état de cause, nous faisons ici l’hypothèse forte que les avantages d’une collaboration pluridisciplinaire
surclasseront largement tous les inconvénients, et qu’au final la plupart des difficultés se révéleront
être très probablement des opportunités (rigueur, consensus, organisation, partage du savoir, . . . ).
4.5 Conclusion
À partir d’une synthèse des éléments contextuels qui portent d’une part sur l’apport de l’urbanisme au
développement durable et d’autre part sur le projet de recherche SUSTAINS auquel nous participons, un
cadre méthodologique suffisamment précis a pu être identifié. Ces éléments nous ont permis de dégager
une problématique détaillée relative à cette thèse que nous avons décliné en trois grands aspects portant
sur la conception d’un modèle urbain, les possibilités de résolution correspondantes et la proposition d’une
interaction avec les utilisateurs.
Pour répondre aux nombreuses questions posées et aux difficultés scientifiques qu’elles soulèvent, nous
allons commercer par dresser un état de l’art complet qui porte sur trois sujets complémentaires :
• les problèmes d’optimisation combinatoire sous contraintes et les méthodes de résolutions associées ;
• les systèmes interactifs d’aide à la décision ;
• la modélisation urbaine et les problèmes de positionnement.II
État de l’art
535
Problèmes d’optimisation combinatoire sous
contraintes
Comment trouver le plus court chemin passant par vingt-cinq villes données sans devoir examiner un à un
les milliards de trajets possibles ? Ce sont de tels problèmes qu’informaticiens et mathématiciens étudient
depuis plusieurs décennies pour trouver des méthodes de résolution efficaces capables de fournir des solutions
avec un temps de réponse acceptable. Trouver une bonne solution consiste parfois à faire gagner
du temps ou de l’argent, mais avec les avancées scientifiques et techniques, nous devons faire face à de
nouveaux problèmes. C’est le cas par exemple de l’optimisation combinatoire appliquée à la génomique où
l’on s’efforce de décrypter l’information génétique d’un organisme vivant.
Les enjeux liés à la résolution des problèmes combinatoires sont donc essentiels, que cela soit sur le plan
scientifique pour produire du savoir algorithmique, ou sur le plan pratique pour améliorer la performance de
systèmes de plus en plus complexes (systèmes mécaniques, traitement d’images, électronique, . . . ). C’est
ainsi que l’optimisation combinatoire occupe une place très importante en recherche opérationnelle et en
informatique. De nombreuses applications peuvent être modélisées sous la forme d’un problème d’optimisation
combinatoire telles que le problème du voyageur de commerce, l’ordonnancement de tâches, le
problème de coloration de graphes, etc.
Après l’identification des caractéristiques essentielles relatives aux problèmes combinatoires, nous ferons
l’inventaire des principales méthodes capables d’adresser ces problèmes, ces méthodes pouvant être
classées dans la catégorie des méthodes complètes ou incomplètes. Nous nous intéressons plus précisé-
ment à deux méthodes de résolution efficaces applicables à ces problèmes : les méthodes complètes1 de
programmation par contraintes (PPC) et les techniques de recherche locale (RL) qui sont des méthodes
incomplètes2
.
Il existe bien d’autres techniques de résolution, comme les algorithmes génétiques [133], de colonies de
fourmis [78], l’optimisation par essaims particulaires [150] ou encore les systèmes multi-agents [81, 92].
Néanmoins, le sujet est si vaste qu’il est impossible ici d’aborder toutes les techniques de résolution en
détail.
Les problèmes d’optimisation étant de plus en plus complexes et les besoins en ressources ne cessant
d’augmenter, les métaheuristiques réputées pouvoir attaquer des problèmes très difficiles peuvent à leur tour
être limitées face à ces nouvelles exigences. Nous verrons alors comment le parallélisme permet d’étendre
les capacités de ces techniques sans remettre en cause leurs fondements.
1Peuvent prouver l’insatisfiabilité ou l’optimalité
2A l’inverse, elles ne sont pas en mesure de prouver l’insatisfiabilité ou l’optimalité
5556 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
Ce chapitre constitue une synthèse des travaux et documents de référence suivants : [16, 251, 226, 14,
76, 30, 47, 115, 44, 12].
5.1 Caractéristiques des problèmes combinatoires
Les problèmes de nature combinatoire possèdent un nombre fini de configurations possibles, mais ce
nombre est très grand, de sorte qu’une résolution par une simple énumération n’est pas concevable dans
la pratique. Ces problèmes sont souvent faciles à définir mais habituellement difficiles à résoudre [127].
5.1.1 Problème d’optimisation combinatoire
Explosion combinatoire Rechercher le chemin le plus court ou le plus rapide entre deux points est un
problème assez simple à résoudre. Mais quand le nombre d’étapes croît, le nombre de possibilités augmente
au-delà de ce que l’on peut énumérer de tête, et même au delà de ce que peuvent examiner les ordinateurs
les plus puissants en un temps raisonnable : il s’agit de l’explosion combinatoire.
Il existe bien souvent un nombre exponentiel de solutions à un problème en fonction de sa taille. Le
problème du voyageur de commerce (Traveling Salesman Problem, TSP) est un problème caractéristique
d’optimisation combinatoire. Pour ce problème, il s’agit de trouver un chemin qui passe une fois et une
seule par chaque ville en minimisant la distance totale parcourue pour revenir au point de départ. Si n
représente le nombre de villes et S l’ensemble des partitions d’un ensemble à n éléments, alors |S| =
(n−1)!
2
correspond au nombre de chemins possibles pour un problème symétrique.
Une résolution du problème avec une énumération exhaustive consiste à générer tous les trajets possibles,
à calculer leurs distances et à choisir le trajet ayant la distance minimale. La table 5.1 illustre le
phénomène d’explosion combinatoire pour le problème du voyageur de commerce avec un nombre croissant
de villes à parcourir.
TABLE 5.1 – Problème du voyageur de commerce : temps de calcul nécessaire pour trouver le trajet le plus
court en réalisant une énumération exhaustive de tous les trajets possibles en fonction du nombre de villes
(un trajet pouvant être évalué en une microseconde). D’après [24].
n |S| Temps de calcul
5 12 12 microsecondes
10 181 440 0,18 seconde
15 43 milliards 12 heures
20 6 E+16 19 siècles
25 3 E+23 9,8 milliards d’années
Pour repousser les limites et résoudre des problèmes d’optimisation combinatoire de plus grande taille
en un temps raisonnable, on peut certes compter sur l’augmentation des capacités matérielles mais bien plus
encore sur l’innovation algorithmique [24].
Definition 1 (Problème d’optimisation combinatoire). Un problème d’optimisation combinatoire est géné-
ralement caractérisé par un ensemble fini de solutions admissibles S et une fonction objectif f : S → R
qui associe une valeur à chaque solution admissible. La résolution du problème d’optimisation consiste à
déterminer la ou les solutions de S minimisant ou maximisant f.
Lorsque la fonction f représente un coût ou une perte, on parle d’un problème de minimisation. Lorsque
la fonction f représente un gain, on parle d’un problème de maximisation.5.1. CARACTÉRISTIQUES DES PROBLÈMES COMBINATOIRES 57
5.1.2 Complexité
Un algorithme nécessite deux ressources importantes pour résoudre un problème : du temps et de l’espace.
La complexité en temps d’un algorithme correspond à une estimation du nombre d’instructions (ou
d’étapes) à exécuter pour résoudre les instances d’un problème de taille n, cette estimation étant donnée en
ordre de grandeur dans le pire cas, c’est à dire pour l’instance la plus difficile à résoudre. La complexité
d’un problème est équivalente à la complexité du meilleur algorithme (au sens du plus rapide) pouvant
résoudre ce problème. Comme les problèmes combinatoires ne possèdent pas tous la même difficulté, on
utilise une classification définie par la théorie de la complexité pour cerner le niveau de difficulté lié à leur
résolution [214]. Cette classification prend ses sources en 1971, lorsque Stephen COOK et Leonid LEVIN
ont formulé quasiment au même moment deux classes importantes de problèmes de décision :
• la classe P : correspond à l’ensemble des problèmes de décision algorithmiques pouvant être résolus
en un temps polynomial (problèmes relativement faciles à résoudre) ;
• la classe N P : correspond à l’ensemble des problèmes de décision algorithmiques tels que, si une solution
possible est donnée, il est possible de vérifier cette solution en un temps polynomial (problèmes
faciles à vérifier mais difficiles à résoudre).
Un problème de décision correspond à une question mathématique qui a toujours une solution pouvant
s’exprimer par "oui" ou par "non". Un problème d’optimisation peut toujours être réduit à un problème de
décision.
La classe de complexité P contient l’ensemble de tous les problèmes de décision pouvant être résolus
par un algorithme de complexité polynomiale3
. Cette classe regroupe les problèmes qui peuvent être résolus
efficacement. La classe de complexité N P rassemble quant à elle les problèmes de décision pouvant
être résolus par un algorithme de complexité polynomiale pour une machine non déterministe, c’est à dire
capable d’évaluer en parallèle un nombre fini d’alternatives. La classe N P englobe ainsi la classe P. La
résolution des problèmes N P peut nécessiter l’examen d’un grand nombre de cas, éventuellement exponentiel4
, mais chaque cas doit pouvoir être examiné en un temps polynomial. Pour les problèmes les plus
difficiles de N P, on ne trouve jamais d’algorithme polynomial pour résoudre chaque cas avec une machine
déterministe. Ces derniers problèmes définissent la classe des problèmes N P-complet.
Definition 2 (N P-complet). Un problème est dit N P-complet si :
• il est dans N P ;
• et il est au moins aussi difficile que tout problème de N P.
Si on ne tient pas compte de la clause d’appartenance à la classe N P, on trouve la classe des problèmes
N P-difficile qui fait référence aux problèmes d’optimisation dont les problèmes de décision associés sont
N P-complet. Ces problèmes N P-difficile sont au moins aussi difficiles à résoudre que n’importe quel
problème de N P [252]. Pour ces problèmes N P-difficile, on présume qu’il n’existe pas d’algorithme polynomial
pour les résoudre à l’optimalité, c’est à dire un algorithme dont le temps de calcul soit proportionnel
à n
i
, n étant le nombre de variables inconnues du problème et i une constante entière.
Definition 3 (N P-difficile). Un problème est dit N P-difficile si il est au moins aussi difficile que tout
problème de N P. La catégorie N P-difficile inclut également les problèmes qui ne sont pas des problèmes
de décision.
Beaucoup de problèmes académiques populaires sont N P-difficile, parmi eux, nous pouvons citer :
• les problèmes d’affectation-localisation : problème d’affectation quadratique (Quadratic Assignment
Problem ou QAP), problème d’affectation généralisé (Generalized Assignment Problem ou GAP),
problème de localisation d’équipements (Facility Location Problem), problème de P-médian ;
3Complexité polynomiale notée O(n
i
) : quand n double, le temps d’exécution est multiplié par 2
i
; n étant le nombre de
variables inconnues du problème et i une constante entière.
4Complexité exponentielle notée O(i
n) : quand n double, le temps d’exécution est élevé à la puissance 2 ; n étant le nombre
de variables inconnues du problème et i une constante entière.58 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
• les problèmes de regroupement : Partitionnement de données (Data Clustering), Coloration de graphe
(Graph Coloring)
• le problème de couverture par ensembles (Set Cover Problem ou SCP).
En fait, une majorité des problèmes de la vie réelle [104, 266] appartiennent à la classe des problèmes
N P-difficile et ne possèdent pas de solution algorithmique efficace valable pour les résoudre à l’optimalité
lorsque la taille du problème augmente.
5.1.3 Problèmes de satisfaction de contraintes
Un très grand nombre de problèmes combinatoires appartient à la famille des problèmes de satisfaction de
contraintes (Constraint Satisfaction Problem ou CSP) : configuration, planification, ordonnancement, affectation
de ressources, etc. Étant donné un ensemble de contraintes, portant chacune sur un sous-ensemble
donné de variables auxquelles on cherche à affecter une valeur, la question centrale est de savoir s’il existe
une possibilité de satisfaire simultanément toutes ces contraintes et, le cas échéant, quelles valeurs peut-on
affecter à chaque variable pour satisfaire toutes les contraintes [27]. Ces problèmes partagent une description
commune, basée sur un formalisme très simple, qui autorise en général une modélisation claire et
intuitive.
Definition 4 (CSP). Un problème de satisfaction de contraintes (CSP) est défini par un triplet (X, D, C) tel
que :
• X = {x1, · · · , xn} est l’ensemble des variables (les inconnues) du problème,
• D = {D (x1), · · · , D (xn)} est l’ensemble des domaines et D (xi) correspond à l’ensemble fini des
valeurs possibles pour la variable xi
,
• C = {C1, C2, ..., Ck} représente l’ensemble des contraintes et Cj est une relation entre certaines
variables de X. Une contrainte définit les combinaisons de valeurs des variables autorisées. C’est une
relation logique (une propriété devant être vérifiée) entre différentes variables. Ainsi, une contrainte
restreint les valeurs que peuvent prendre simultanément les variables.
Definition 5 (Affectation). On appelle affectation (ou configuration) le fait d’instancier certaines variables
à des valeurs prises dans leurs domaines respectifs. Une affectation est dite totale si elle instancie toutes les
variables et partielle si elle n’en instancie qu’une partie. Une affectation (totale ou partielle) est consistante
si elle ne viole aucune contrainte, et inconsistante si elle viole une ou plusieurs contraintes.
Definition 6 (Espace de recherche). L’espace de recherche d’un CSP P = (X, D, C) est l’ensemble des
configurations possibles noté S, tel que :
S = D (x1) × D (x2) × · · · × D (xn)
L’espace de recherche est égal au produit cartésien de l’ensemble des domaines des variables et il croît de
façon exponentielle avec le nombre de variables.
Definition 7 (Solution). Une solution d’un CSP P = (X, D, C) est une affectation totale s ∈ S qui satisfait
toutes les contraintes (consistante). S correspond à l’ensemble des solutions de P tel que :
S = {s ∈ S | ∀c ∈ C, s satisfait c}
Résoudre un CSP consiste alors à trouver une solution réalisable, un nombre donné de solutions réalisables
ou toutes les solutions réalisables.5.1. CARACTÉRISTIQUES DES PROBLÈMES COMBINATOIRES 59
5.1.4 Problèmes d’optimisation sous contraintes
Beaucoup de problèmes combinatoires peuvent également s’exprimer comme des problèmes d’optimisation
sous contraintes (Constraint Satisfaction and Optimization Problem ou CSOP).
Un problème d’optimisation sous contraintes est un problème pour lequel on cherche parmi l’ensemble
de toutes les solutions réalisables la meilleure solution selon une fonction qui définit un objectif donné. La
fonction objectif a pour rôle d’évaluer la qualité d’une solution tandis que les contraintes permettent d’éliminer
les configurations qui ne sont pas des solutions. Le problème est alors double : le premier consiste à
trouver l’ensemble de toutes les solutions réalisables et le deuxième à trouver dans cet ensemble la meilleure
solution qui minimise ou maximise la fonction objectif. On parle d’un problème de minimisation quand la
qualité d’une solution est donnée par une fonction objectif à minimiser et d’un problème de maximisation
quand la qualité d’une solution est donnée par une fonction objectif à maximiser. L’étude d’un problème
d’optimisation révèle habituellement des contraintes impératives (structurelles ou dures) et des contraintes
indicatives (préférences ou molles) [46]. Les solutions retenues doivent respecter les contraintes impératives
qui limitent l’espace de recherche tandis que les contraintes indicatives doivent être respectées autant que
possible, le niveau de satisfaction de ces dernières devant être encodé dans la fonction objectif.
Definition 8 (CSOP). Un problème d’optimisation sous contraintes (CSOP) est défini par le quadruplet
(X, D, C, f) avec :
• X = {x1, · · · , xn} est l’ensemble des variables du problème,
• D = {D (x1), · · · , D (xn)} est l’ensemble des domaines,
• C = {C1, C2, ..., Ck} représente l’ensemble des contraintes,
• f est une fonction objectif définie sur un sous-ensemble de X (à minimiser ou à maximiser).
La fonction f permet de définir une relation d’ordre total entre n’importe quelle paire de solutions dans
S. Nous avons vu à la section 5.1.2 qu’on pouvait associer un problème de décision à chaque problème
d’optimisation, le but étant de déterminer s’il existe une solution pour laquelle la fonction objectif soit
supérieure (respectivement inférieure) ou égale à une valeur donnée. Ainsi, la complexité d’un problème
d’optimisation est liée à celle du problème de décision qui lui est associé. En particulier, si le problème de
décision est N P-complet, alors le problème d’optimisation est N P-difficile [252].
5.1.4.1 Multiobjectif versus multicritère
Pour certains problèmes combinatoires, plusieurs objectifs contradictoires doivent être optimisés en même
temps. Par exemple, lors de la préparation d’un voyage, il peut être demandé de choisir entre différents
modes de déplacement (avion, train, bateau, voiture, etc.) de façon à minimiser le coût de transport tout en
minimisant le temps du trajet.
On recense essentiellement deux approches associées à ces problèmes [51] : les techniques de géné-
ration (que nous appellerons multiobjectif) et les techniques à base de préférences (que nous nommerons
multicritère). Les techniques basées sur les préférences consistent à synthétiser les informations relatives à
différents points de vue ou aspects. Il s’agit de ramener un problème multiobjectif à un problème simple
objectif. Elles utilisent une méthode pour classer les objectifs et ainsi trouver une solution qui optimise
le classement. Ce classement peut être réalisé par une variété de moyens allant d’une simple somme pondérée
des objectifs à une fonction d’utilité complexe [33, 3]. Les techniques de génération quant à elles
recherchent dans un ensemble très grand de solutions celles qui satisfont au mieux l’ensemble des objectifs.
Pour cela, elles identifient les configurations optimales de Pareto où chaque configuration est telle qu’il est
impossible d’améliorer le score de l’une sans diminuer le score de l’autre.
Dans un contexte d’aide à la décision, les problèmes contiennent souvent une multitude d’aspects simultanés
à prendre en considération pour la prise de décision. Pour S. BEN-MENA [25], l’approche multicritère,60 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
capable d’intégrer tout type de critère5
, permet alors de se diriger vers un compromis judicieux plutôt qu’un
optimum qui n’a pas toujours de sens. Une technique classique consiste alors à encoder chaque aspect du
problème dans la fonction objectif, en attribuant à chaque critère un éventuel poids pour lui accorder plus
ou moins d’importance par rapport aux autres critères [234]. Bien que cette approche du « critère unique
de synthèse » soit soumise à une compensation possible entre critères ou à une forte sensibilité aux changements
d’échelle, les méthodes d’agrégation complète peuvent s’avérer intéressantes ou tout simplement les
seules utilisables [240].
5.1.5 Problèmes d’optimisation dynamique sous contraintes
Les problèmes d’optimisation dynamique sont présents dans beaucoup d’applications réelles et représentent
à ce titre un défi important. Ils sont caractérisés par des éléments en entrée du problème qui changent au fil
du temps [266]. Par exemple, ces changements peuvent être liés à des machines qui tombent en panne, à
une qualité variable de matières premières ou encore à l’introduction de nouvelles tâches à planifier. Cela
peut concerner des problèmes classiques comme le problème de tournées de véhicules (Vehicle Routing
Problem ou VRP), les problèmes d’ordonnancement de tâches ou des problèmes plus spécifiques comme le
contrôle de réactions chimiques liées à des conditions de température et de pression [168].
Bien que le formalisme et les algorithmes CSP permettent de représenter et de traiter de nombreux problèmes
d’intelligence artificielle et de recherche opérationnelle, le cadre CSP montre des limitations face à
des problèmes dynamiques du monde réel dans lesquels la définition du problème est modifiée incrémentalement.
La notion de CSP dynamique (Problème de Satisfaction de Contraintes dynamique ou Dynamic
Constraint Satisfaction Problem) a été introduite par [68] pour représenter de telles situations. Un DCSP
est une séquence de CSP dont chaque élément diffère du précédent par l’ajout et/ou le retrait de certaines
contraintes.
Concernant la fonction objectif associée au problème d’optimisation, et bien qu’elle soit déterministe,
elle change également au fil du temps au gré des modifications qui interviennent en entrée du problème [144] :
fdynamic(s) = ft(s) où t représente le temps au cours duquel la fonction objectif est évaluée. Et lorsque
la fonction objectif change, il y a de fortes chances pour que la solution optimale du problème change
également.
Compte tenu de ces éléments, les principales difficultés à surmonter pour un problème d’optimisation
dynamique sont [34, 198] :
• détecter le changement dans l’environnement lorsqu’il se produit ;
• répondre à ce changement pour suivre la nouvelle solution optimale.
Le processus de recherche doit alors s’adapter rapidement au changement de la fonction objectif. Le but
n’est plus seulement de trouver l’optimum global, mais de le suivre aussi fidèlement que possible dans le
temps [168]. Le principal défi consiste à réutiliser l’information des recherches précédentes pour s’adapter
au changement du problème au lieu de résoudre à nouveau le problème.
5.2 Résolution des problèmes d’optimisation combinatoire
Les problèmes d’optimisation combinatoire constituent une catégorie de problèmes très difficiles à ré-
soudre [215]. La résolution d’un problème d’optimisation combinatoire consiste à explorer un espace de
recherche afin de minimiser ou maximiser une fonction objectif pour trouver la meilleure solution, définie
comme la solution globalement optimale ou optimum global. Cette résolution est habituellement délicate
puisque le nombre de solutions réalisables croît généralement avec la taille du problème, rendant un parcours
exhaustif impraticable en pratique.
5Un critère permet de mesurer les préférences du décideur vis-à-vis d’une action. Par exemple, pour l’achat d’une voiture :
coût à l’achat, confort, sécurité, économie à l’usage ; ou pour le choix du meilleur emplacement pour la construction d’une station
d’épuration : nuisances olfactives, coût d’acheminement de l’eau, . . .5.2. RÉSOLUTION DES PROBLÈMES D’OPTIMISATION COMBINATOIRE 61
FIGURE 5.1 – Méthodes classiques d’optimisation. D’après le livre [266].
La complexité en taille ou en structure de l’espace de recherche d’une part et de la fonction objectif
d’autre part peut conduire à utiliser des méthodes de résolution différentes en fonction du problème ou
de l’instance à traiter. Intuitivement, on pourrait penser que la difficulté d’une instance d’un problème est
proportionnelle au nombre de variables, à la taille du domaine par variable et au nombre de contraintes.
Dans les faits, il est le plus souvent impossible de prévoir avec certitude l’efficacité d’une méthode donnée
pour un problème particulier. Le théorème "no free lunch" ("pas de dîner gratuit, NFL") [288] nous indique,
sous certaines hypothèses, qu’une méthode de résolution ne peut prétendre être la plus efficace sur tous les
problèmes.
Les méthodes de résolution liées aux problèmes d’optimisation peuvent être regroupées en deux grandes
familles (figure 5.1) :
• les méthodes dites complètes (ou exactes) qui obtiennent les solutions optimales et garantissent les
résultats ;
• les méthodes dites incomplètes (ou approchées) qui trouvent rapidement des solutions de bonne qualité
sans garantir l’optimalité.
L’optimisation combinatoire couvre un large éventail de techniques et fait toujours l’objet de recherches
intensives sur de nombreux domaines d’application (finance, transport, surveillance, biologie, . . . ) de sorte
qu’il est impossible de toutes les aborder ici en détail. Nous nous limitons dans un premier temps à un
panorama non exhaustif de chaque famille pour avoir une idée très générale des méthodes existantes.
5.2.1 Panorama des méthodes complètes
Les algorithmes complets (ou exacts) évaluent l’espace de recherche dans sa totalité en réalisant une énumération
intelligente. Ils donnent la garantie de trouver la solution optimale pour une instance de taille finie
dans un temps limité et permettent de prouver son optimalité [222].
5.2.1.1 La programmation linéaire
La programmation linéaire propose un cadre de modélisation mathématique permettant de résoudre des
problèmes d’optimisation avec des algorithmes efficaces comme la méthode du simplexe [62] ou les mé-
thodes de points intérieurs [148]. On parle de programme linéaire en nombres entiers (PLNE) lorsque les62 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
valeurs des variables du programme linéaire doivent être des nombres entiers et de programme linéaire
mixte (PLM) lorsque certaines variables doivent être entières et d’autres pas. Relaxer un PLNE ou un PLM
consiste en général à supprimer certaines de ses contraintes ou à les remplacer par des contraintes plus
faibles. Le problème résultant est souvent plus simple à résoudre que le problème original et sa solution optimale
peut être soit réalisable pour le problème original, donc optimale pour ce dernier, soit non réalisable
et avoir un coût proche de l’optimum du problème original.
5.2.1.2 L’algorithme de séparation et évaluation
L’algorithme de séparation et évaluation (Branch and Bound) [163] utilise une méthode arborescente de
recherche basée sur l’idée d’énumérer implicitement les solutions possibles d’un problème de PLNE pour
trouver la meilleure solution sans passer par une énumération explicite trop gourmande en temps. Cet algorithme
est composé de trois éléments principaux :
• la séparation : consiste à diviser le problème en sous-problèmes où chaque sous-problème contient
un ensemble de solutions réalisables tel que l’union de leurs espaces de solutions forme l’espace
des solutions du problème père. Cela revient à construire un arbre (arbre de recherche ou arbre de
décision) permettant d’énumérer toutes les solutions. Ainsi, en résolvant tous les sous-problèmes et
en gardant la meilleure solution trouvée, on est assuré d’avoir résolu le problème initial.
• l’évaluation : permet de réduire l’espace de recherche en éliminant les sous-ensembles qui ne contiennent
pas la solution optimale. Le principe consiste à mémoriser la solution de plus bas coût (pour un problème
de minimisation) rencontrée pendant l’exploration et à comparer le coût de chaque nœud parcouru
avec celui de la meilleure solution. Si le coût du nœud considéré est supérieur au meilleur coût
trouvé, on peut arrêter l’exploration de la branche car toutes les solutions de cette branche seront
nécessairement moins bonnes.
• une stratégie de parcours : en largeur, en profondeur ou le meilleur d’abord.
5.2.1.3 Les méthodes de coupes
Les méthodes de coupes ou plans sécants introduites par GOMORY [119] permettent de simplifier un PLNE
en relaxant certaines de ses contraintes. Si la solution optimale du problème relaxé est une solution valide
pour le problème original, alors elle correspond à l’optimum recherché. Sinon, des contraintes du problème
initial sont violées par la solution courante. Il s’agit alors de trouver un sous-ensemble de ces contraintes
appelées coupes, puis de les ajouter à la relaxation avant de la résoudre à nouveau. La procédure se poursuit
jusqu’à ce que la solution obtenue soit réalisable pour le problème original, ou que les procédures
d’identification des coupes n’arrivent plus à trouver de contraintes violées. Dans ce dernier cas, le coût de
la dernière solution trouvée est une borne inférieure du coût optimal pour un problème de minimisation
(respectivement une borne supérieure pour un problème de maximisation).
L’algorithme Branch and cut utilise des méthodes de coupes pour calculer de bonnes bornes inférieures
au cours de la procédure d’évaluation de la méthode de séparation et évaluation afin d’améliorer ses performances.
5.2.1.4 La méthode de génération de colonnes
La méthode de génération de colonnes [110, 13] est une méthode efficace pour résoudre des programmes
linéaires pour lesquels le nombre de variables (colonnes) et trop important pour qu’on puisse les représenter
de manière explicite. L’objectif est de résoudre un problème réduit avec un ensemble limité de variables.
Le problème initial est appelé problème maître, et le problème réduit est appelé problème restreint. Le
problème restreint est plus simple à résoudre, mais si l’ensemble de ses variables ne contient pas celles qui
donnent la solution optimale pour le programme maître, il faut rajouter au problème restreint des variables
pouvant être utilisées pour améliorer la solution. Un sous problème associé au problème maître consiste5.2. RÉSOLUTION DES PROBLÈMES D’OPTIMISATION COMBINATOIRE 63
à chercher la meilleure variable à rajouter dans le problème restreint : il doit trouver la variable la plus
prometteuse pour améliorer la solution.
La méthode de génération de colonnes peut être combinée avec un processus de séparation et évaluation
pour résoudre un PLNE, donnant alors naissance à la méthode appelée Branch and price [145].
5.2.1.5 La programmation dynamique
La programmation dynamique repose sur le principe d’optimalité de BELLMAN [23] selon lequel une sé-
quence optimale est composée de sous-séquences optimales. La solution optimale d’un problème peut alors
être déduite en combinant des solutions optimales d’une série de sous-problèmes. On commence par les
sous-problèmes les plus petits et on remonte vers les sous-problèmes de plus en plus difficiles en tirant
profit des résultats des problèmes déjà obtenus. La difficulté réside dans la formulation d’une séquence
de décisions permettant de calculer la solution du problème en fonction des solutions des sous-problèmes.
Son efficacité dépend de la propriété récursive et de l’efficacité des procédures de résolution des problèmes
intermédiaires.
5.2.1.6 La programmation par contraintes
Dans l’absolu, la programmation par contraintes (PPC) se situe au même niveau qu’un CSP et englobe à la
fois des méthodes de résolution exactes et approchées (e.g. Constraint-Based Local Search [272], CBLS).
Par abus de langage, nous réduisons la PPC au champ des méthodes de résolution complètes.
La programmation par contraintes (Constraint Programming) [16, 97, 9, 233] est une approche très
populaire qui repose sur le formalisme CSP avec une recherche arborescente incluant des notions liées à
la consistance locale des contraintes : elle effectue une recherche énumérative complète en inférant des
réductions de l’espace de recherche à partir des contraintes du problème. La recherche réalise un parcours
de l’espace de recherche par un jeu d’affectations et de retours arrières [169]. Souvent représentée par un
arbre, la recherche énumère toutes les instanciations possibles jusqu’à trouver une solution ou conclure qu’il
n’y en a pas. La propagation quant à elle vient assister la recherche en essayant de déduire de nouvelles
informations à partir de l’état courant des domaines. À partir d’une instanciation partielle, le mécanisme de
propagation tente de supprimer des valeurs impossibles des domaines des variables, réduisant ainsi la taille
de l’espace de recherche.
5.2.2 Panorama des méthodes incomplètes
Les méthodes incomplètes reposent en grande partie sur l’utilisation d’heuristiques [2, 127]. Elles explorent
une sous-partie de l’espace de recherche au moyen de techniques variées afin d’en extraire au plus vite
une solution qu’on espère de bonne qualité. Contrairement aux méthodes complètes, celles-ci ne sont pas
en mesure de prouver l’optimalité des solutions trouvées. L’efficacité d’une méthode incomplète réside
dans l’équilibre entre deux grandes notions : l’intensification d’une part et la diversification d’autre part.
L’intensification consiste à scruter une zone précise de l’espace de recherche afin d’en extraire un optimum
local (et si possible l’optimum global) alors que la diversification permet de déplacer la recherche dans des
zones variées et prometteuses de l’espace de recherche non encore explorées. Dans la classe des algorithmes
approchés, on peut distinguer trois sous-classes :
• les algorithmes d’approximation ;
• les heuristiques ;
• les métaheuristiques ;
5.2.2.1 Les algorithmes d’approximation
L’approximation d’un problème d’optimisation N P-difficile consiste à obtenir des informations sur sa solution
optimale sOpt sans la connaître. En général, il s’agit de résoudre un problème plus simple que le64 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.2 – Principe lié aux algorithmes d’approximation. D’après [239].
problème original, pour transformer ensuite la solution optimale sOpt0 du problème simplifié en une solution
s du problème original (voir la figure 5.2). La difficulté est de garantir une distance maximale entre
l’approximation s et l’optimum sOpt du problème original. Le problème simplifié est souvent obtenu en
relâchant des contraintes du problème original. Plus formellement, un algorithme d’approximation que l’on
note ρ-approximation est un algorithme polynomial qui renvoie une solution approchée garantie au pire
cas à un facteur ρ de la solution optimale [274]. Parfois, le facteur d’approximation dépend de la taille
de l’instance du problème. Toutefois, pour certains problèmes N P-difficile, il est impossible de faire des
approximations. De plus, ces algorithmes sont spécifiques au problème ciblé et les approximations fournies
sont souvent trop éloignées de la solution optimale, ce qui freine leur utilisation pour beaucoup d’applications
réelles [266].
5.2.2.2 Les heuristiques
Le terme heuristique peut avoir différentes significations et être employé dans différents contextes, y compris
par exemple dans le cadre des méthodes exactes pour le choix d’une variable ou d’une valeur particulière
à évaluer (e.g. dans un arbre de décision). Nous l’employons ici pour représenter trois notions
distinctes :
• soit une classe de méthodes approchées d’optimisation conformément à la classification proposée
dans la figure 5.1. Dans ce cas, les métaheuristiques représentent une déclinaison de cette famille ;
• soit des méthodes d’optimisation gloutonnes capables de construire une solution en partant d’une
configuration initialement vide et en choisissant à chaque étape la meilleure composante possible à
insérer dans la solution (par exemple une variable de décision et une valeur de son domaine) sans
jamais remettre en cause cette décision par la suite.
• soit des algorithmes problèmes-dépendants (spécifiques) connectés aux métaheuristiques pour fournir
une implémentation concrète aux méthodes d’optimisation abstraites, la partie abstraite étant repré-
sentée par les métaheuristiques.
5.2.2.3 Les métaheuristiques
Dans certaines situations, on doit chercher en un temps raisonnable des solutions de bonne qualité sans
pour autant garantir l’optimalité. Les métaheuristiques contournent le problème d’explosion combinatoire
en n’exploitant délibérément qu’une partie des combinaisons prometteuses. Par conséquent, elles peuvent5.3. DISCUSSION SUR LE CHOIX D’UNE MÉTHODE DE RÉSOLUTION 65
ne pas trouver la solution optimale, et encore moins prouver l’optimalité de la solution trouvée. En géné-
ral, elles n’offrent pas non plus de garantie d’approximation. En contrepartie, elles permettent d’obtenir
rapidement de bonnes solutions pour les problèmes de grandes tailles ou très difficiles.
Certaines métaheuristiques partent d’une solution valide qu’elles modifient légèrement à chaque itération
dans le but de l’améliorer. Au lieu de compter sur une solution unique pour découvrir de meilleures
solutions, certaines métaheuristiques utilisent plusieurs solutions de départ. Elles combinent alors les propriétés
de différentes solutions en espérant trouver des solutions de meilleure qualité.
Alors qu’une heuristique est souvent définie comme une procédure spécifique exploitant au mieux
la structure d’un problème dans le but de trouver une solution de qualité raisonnable en un temps de
calcul aussi faible que possible [206], les métaheuristiques sont des algorithmes génériques qui peuvent
être utilisés pour résoudre une grande variété de problèmes d’optimisation et d’instances différentes. Elles
peuvent être vues comme des méthodes générales de niveau supérieur (méta) utilisées pour guider la stratégie
de conception d’heuristiques sous-jacentes, ces dernières étant adaptées au problème d’optimisation
à résoudre. On retrouve au niveau des métaheuristiques les méthodes basées sur une solution unique qui
manipulent et transforment une seule solution pendant le processus de recherche tandis que les algorithmes
à base de population travaillent avec une population entière, c’est à dire un ensemble de solutions qui évolue
au fur et à mesure des itérations [286, 266].
Métaheuristiques basées sur une solution unique Les métaheuristiques basées sur une solution unique
regroupent les méthodes dites de recherche locale (ou à base de voisinages). Les méthodes de recherche
locale (RL) sont des algorithmes itératifs qui, à partir d’une solution de départ complète, explorent l’espace
de recherche en se déplaçant pas à pas d’une solution à une autre. Dans cette catégorie, nous pouvons
citer parmi les plus populaires les méthodes de descente, la recherche locale itérée (Iterated Local
Search, ILS) [177], le recuit simulé (Simulated Annealing, SA) [153, 42] et la recherche tabou (Tabu Seach,
TS) [111, 112, 113, 115, 125].
Métaheuristiques basées sur une population de solutions Les métaheuristiques basées sur une population
de solutions utilisent la population comme facteur de diversité et font intervenir plusieurs stratégies
d’évolution de cette population conduisant à des méthodes telles que les algorithmes génétiques (Genetic
Algorithm) [133, 118], la recherche par dispersion (Scatter Search, SS) [114, 116], l’algorithme des colonies
de fourmis (Ant Colony Optimization, ACO) [78] ou encore l’optimisation par essaims particulaires
(Particle swarm optimization, PSO) [150].
5.3 Discussion sur le choix d’une méthode de résolution
Nous savons qu’aucune méthode ne surclasse toutes les autres pour tous les problèmes. La complexité donne
une première indication sur la difficulté d’un problème. Lorsque le problème à résoudre est N P-difficile,
une méthode complète peut nécessiter un temps de calcul qui croît de façon exponentielle avec la taille
du problème à traiter [127]. Dans ce cas, l’utilisation d’une méthode incomplète peut s’avérer nécessaire
pour obtenir une solution approchée de bonne qualité en un temps raisonnable. Néanmoins, bien d’autres
facteurs doivent être pris en compte comme la taille des instances, leur structure, le nombre de solutions
admissibles, la rapidité de calcul de la fonction d’évaluation, etc.
Bien évidemment, compte tenu du nombre très important de méthodes de résolution existantes, il n’est
pas envisageable d’implémenter chaque méthode pour sélectionner la meilleure !
Pour Marc SEVAUX [244], lorsqu’on est face à un problème d’optimisation difficile, on commence par
réaliser la modélisation du problème qu’on essaie ensuite de transformer en un problème de programmation
mathématique pour tenter de le résoudre. La programmation mathématique permet alors d’obtenir des
bornes sur le problème et permet également de mieux appréhender sa difficulté. Une fois les bornes obtenues
avec quelques solutions éventuelles, on peut commencer à mettre en œuvre des métaheuristiques,66 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
notamment des techniques de recherche locale6
(appartiennent à la catégorie : Single-solution based Metaheuristics).
Nous verrons dans la suite de ce document que nous avons implémenté plusieurs méthodes caracté-
ristiques de ces différentes familles sur certaines instances de notre problème. Pour obtenir des bornes et
d’éventuelles solutions, nous avons commencé par évaluer une méthode complète sur notre problème. Ayant
alors une meilleure vision de sa difficulté, nous avons enchaîné sur des méthodes de résolution incomplètes
basées à la fois sur des heuristiques de construction (gloutonnes) pour générer des solutions initiales et sur
des métaheuristiques pour améliorer le plus rapidement possible ces solutions initiales.
Néanmoins, compte tenu de la complexité de notre modèle, de sa mise au point incrémentale au fur et
à mesure des réunions d’analyse avec les urbanistes et des échéances imposées pour finaliser le projet de
recherche SUSTAINS, il était essentiel que ces méthodes puissent reposer sur un formalisme unique, expressif,
facile à modifier et capable d’intégrer de nouvelles contraintes en fonction des nouvelles demandes
des utilisateurs.
Le panorama des méthodes de résolution que nous venons d’aborder montre que les techniques d’exploration
arborescente ou de programmation linéaire permettent de calculer des solutions optimales. Mais
pour être efficaces sur de grosses instances, ces méthodes de résolution doivent être couplées à des techniques
sophistiquées (méthodes de coupes, branch and cut, génération de colonnes, branch and price, . . . ).
On constate également que le formalisme relatif à ces méthodes s’adapte difficilement à de nouvelles
contraintes [267]. À travers cette étude très générale, il apparaît également que le formalisme CSP ré-
puté pour sa grande souplesse et son expressivité peut être exploité à la fois par les méthodes complètes
de programmation par contraintes et par les métaheuristiques de recherche locale, cette dernière approche
ayant donné naissance à la Constraint-Based Local Search [272].
Compte tenu de cette proximité entre PPC et RL à travers le formalisme CSP, nous proposons de mettre
en perspective, dans les sections suivantes, ces différents procédés en insistant plus particulièrement sur les
métaheuristiques de recherche locale qui regroupent de nombreuses méthodes. L’inventaire des principales
techniques nous permettra alors d’identifier les méthodes de RL les plus appropriées à nos problématiques.
Mais tout d’abord, soulignons que pour résoudre des problèmes industriels de plus en plus complexes,
la tendance actuelle est à l’hybridation de différentes méthodes pour s’appuyer sur les points forts de diffé-
rentes techniques sur le principe qui pourrait s’apparenter à : "l’union fait la force". Une autre voie consiste
à utiliser la parallélisation, avec une décomposition qui intervient soit au niveau des traitements (algorithmes),
soit au niveau de l’espace de recherche, soit sur l’évaluation de la fonction objectif, cette fois sur
le principe : "diviser pour mieux régner". Notons que ces deux approches ne sont pas exclusives et qu’elles
peuvent tout à fait cohabiter.
5.4 Programmation par contraintes
En programmation par contraintes (PPC), un problème est défini par un CSP (voir définition 4 page 58)
permettant de représenter un grand nombre de problèmes. Par exemple, une contrainte "x + 3∗y = 12" qui
restreint les valeurs que l’on peut affecter simultanément aux variables x et y.
Il existe de nombreuses méthodes pour résoudre les CSP :
• les méthodes de résolution complètes dont les plus élaborées exploitent les notions de consistance, de
filtrage et de propagation ;
• les méthodes de résolution incomplètes représentées par les métaheuristiques (i.e. Constraint-Based
Local Search [272, 47]) ;
• les méthodes hybrides qui combinent des méthodes complètes et incomplètes [76].
Nous décrivons ici les méthodes de résolution complètes basées sur les notions de consistance et faisant
appel aux techniques de filtrage et de propagation de contraintes.
6On parlera indifféremment de "méthodes de recherche locale" ou de "métaheuristiques à base de voisinages".5.4. PROGRAMMATION PAR CONTRAINTES 67
Résoudre un CSP consiste à trouver une affectation pour chaque variable satisfaisant l’ensemble des
contraintes. La notion de consistance repose sur la satisfaction des contraintes afin de réduire l’espace de
recherche pour rendre moins difficile la résolution du problème [76].
5.4.1 Principes de la PPC
La PPC utilise une approche de construction qui bâtit pas à pas une solution en partant d’une solution
partielle initialement vide qu’elle cherche à étendre à chaque étape. Pour cela, elle détermine la prochaine
variable, choisit une valeur dans son domaine et l’ajoute pour obtenir un nouvelle solution partielle, ce
processus étant répété jusqu’à ce que l’on obtienne une solution complète (ou la preuve qu’il n’y a pas
de solution). Durant la recherche d’une solution, une méthode de construction fait intervenir des heuristiques
pour effectuer (i) le choix de la variable et (ii) le choix de la valeur à affecter à cette variable. La
programmation par contraintes s’articule autour de quatre éléments majeurs :
• le CSP,
• les algorithmes de filtrage,
• la propagation,
• la recherche de solutions.
5.4.1.1 CSP (ou réseau de contraintes)
Étant donné le CSP P = (X, D, C), la résolution de P consiste à affecter des valeurs aux variables, de
telle sorte que toutes les contraintes soient satisfaites. Une solution est une "affectation totale consistante",
c’est-à-dire une valuation de toutes les variables du problème qui ne viole aucune contrainte.
Lorsqu’un CSP n’a pas de solution, on dit qu’il est surcontraint : il y a trop de contraintes et on
ne peut pas toutes les satisfaire. Dans ce cas, on peut souhaiter trouver l’affectation totale qui viole le
moins de contraintes possibles. Un tel CSP est appelé max-CSP, car on cherche alors à maximiser le
nombre de contraintes satisfaites. D’autres formalismes ont été proposés parmi lesquelles les CSP valués
(VCSP) [241]. Le formalisme VCSP introduit une graduation dans la violation des contraintes. Une valeur
(appelée valuation) est associée à chaque contrainte, cette valuation traduisant l’importance de la violation
de la contrainte. Une solution du problème est une affectation totale qui peut éventuellement violer certaines
contraintes et dont l’importance des violations est minimale suivant un critère et un ordre donnés.
Inversement, lorsqu’un CSP admet beaucoup de solutions différentes, on dit qu’il est sous-contraint. Si
les différentes solutions ne sont pas toutes équivalentes, dans le sens où certaines sont mieux que d’autres,
on peut exprimer des préférences entre les différentes solutions via un CSOP (voir définition 8). L’objectif
consiste alors à trouver une solution qui minimise (respectivement qui maximise) la fonction objectif liée
au CSOP.
5.4.1.2 Filtrage
La programmation par contraintes utilise pour chaque sous-problème une méthode de résolution spécifique
à ce sous-problème afin de supprimer les valeurs des domaines des variables impliquées dans le sousproblème
qui, compte tenu des valeurs des autres domaines, ne peuvent appartenir à aucune solution de
ce sous-problème. Ce mécanisme est appelé filtrage (voir algorithme 1). En procédant ainsi pour chaque
sous-problème, donc pour chaque contrainte, les domaines des variables vont se réduire, réduisant par la
même occasion l’espace de recherche associé au problème. Un algorithme de filtrage (ou de réduction de
domaines) est associé à chaque contrainte. Par exemple, pour la contrainte (x < y) avec D(x) = [10; 20] et
D(y) = [0; 15], un algorithme de filtrage associé à cette contrainte pourra supprimer les valeurs de 15 à 20
de D(x) et les valeurs de 0 à 10 de D(y). Un algorithme de filtrage associé à une contrainte binaire (qui porte
sur deux variables) réalise la consistance d’arc si il supprime toutes les valeurs des variables impliquées dans
la contrainte qui ne sont pas consistantes avec la contrainte. Par exemple, pour la contrainte x + 3 = y avec68 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
les domaines D(x) = {1, 3, 4, 5} et D(y) = {4, 5, 8}, un algorithme de filtrage établissant la consistance
d’arc modifiera les domaines pour obtenir D(x) = {1, 5} et D(y) = {4, 8}.
Algorithme 1 : Algorithme naïf de filtrage d’après la version proposée par Philippe DAVID (http:
//www.emn.fr/z-info/pdavid/Enseignement/IA/poly-ia/csp/arc-consistance.html).
Fonction Revise (x, y)
begin
1 SUPPRESSION ← Faux ;
2 forall (valeur valx de D(x)) do
3 if (il n’existe pas de valeur valy dans D(y) support de valx) then
4 Supprimer valx de D(x);
5 SUPPRESSION ← Vrai ;
6 return SUPPRESSION ;
end
5.4.1.3 Propagation
Après chaque modification du domaine d’une variable, il est utile de réétudier l’ensemble des contraintes
impliquant cette variable car cette modification peut conduire à de nouvelles déductions. Autrement dit,
la réduction du domaine d’une variable peut permettre de déduire que certaines valeurs d’autres variables
n’appartiennent pas à une solution. Ce mécanisme est appelé propagation. Dès lors qu’un algorithme de
filtrage associé à une contrainte modifie le domaine d’une variable, les conséquences de cette modification
sont étudiées pour les autres contraintes impliquant cette variable : les algorithmes de filtrage des autres
contraintes sont appelés afin de déduire éventuellement d’autres suppressions. On dit alors qu’une modi-
fication a été propagée. Ce mécanisme de propagation est répété jusqu’à ce que plus aucune modification
n’apparaisse.
5.4.1.4 Recherche de solutions
Afin de parvenir à une solution, l’espace de recherche va être parcouru en essayant d’affecter successivement
une valeur à toutes les variables. Les mécanismes de filtrage et de propagation étant bien entendu
relancés après chaque essai puisqu’il y a modification de domaines. Parfois, une affectation peut entraîner
la disparition de toutes les valeurs d’un domaine : on dit alors qu’un échec se produit ; le dernier choix
d’affectation est alors remis en cause, il y a "backtrack" ou "retour en arrière" et une nouvelle affectation
est tentée (voir algorithme 2). Une méthode de retour arrière avec une stratégie de recherche en profondeur
d’abord consiste à fixer à chaque étape la valeur d’une variable. Aussitôt qu’un échec est détecté, un retour
arrière est effectué, i.e., une ou plusieurs instanciations déjà effectuées sont annulées et de nouvelles valeurs
recherchées [29]. Par exemple, un algorithme typique avec retour arrière pour la résolution d’un problème
de satisfaction de contraintes cherche à prolonger à chaque étape l’assignation courante de manière consistante.
En cas d’échec, un retour arrière est effectué sur la dernière variable instanciée possédant encore des
valeurs non essayées [179]. Les méthodes avec retour arrière sont en général complètes et de complexité
exponentielle. Pour réduire le nombre de retour arrière (et le temps de recherche), on utilise les techniques
de filtrage décrites précédemment afin d’anticiper le plus tôt possible les échecs.
5.4.2 Complément sur les contraintes
Une contrainte est une relation entre différentes variables. Cette relation peut être définie en extension en
énumérant les tuples de valeurs appartenant à la relation (x = 0 et y = 1) ou en intension en utilisant des5.4. PROGRAMMATION PAR CONTRAINTES 69
Algorithme 2 : Backtrack (version rudimentaire) d’après la version proposée par Philippe DAVID
(http://www.emn.fr/z-info/pdavid/Enseignement/IA/poly-ia/csp/backtrack.html).
Procédure Backtrack(V-ins, var-courante, V-non-ins, val)
begin
1 var-courante ← val ;
2 if (l’instanciation courante est consistante) then
3 if (V-non-ins est vide) then
4 l’instanciation courante est une solution ;
else
5 soit y la prochaine variable à instancier
6 forall (valeur valy de D(y)) do
7 faire Backtrack(V-ins ∪ {var-courante}, y, V-non-ins −{y}, valy) ;
end
propriétés mathématiques connues (x < y). En fonction du nombre de variables sur lesquelles elle porte
(arité), on dira qu’une contrainte est unaire si elle porte sur une seule variable (x∗x = 4), binaire si elle met
en relation deux variables (x 6= y) ou encore n-aire si elle met en relation un ensemble de n variables. On
distingue différents types de contraintes en fonction des domaines de valeurs des variables. Il y a notamment
les contraintes numériques (sur les réels, les entiers) et les contraintes booléennes. Les contraintes peuvent
être exprimées sous différentes formes : formules mathématiques, tables de valeurs compatibles, etc.
5.4.3 Résolution des DCSP
Ayant résolu un problème P, il s’agit de résoudre un problème P
0
dérivé de P par l’ajout d’un ensemble
de contraintes Ca et le retrait d’un ensemble de contraintes Cr. Ce qui revient finalement à résoudre une
succession de problèmes statiques et permet au passage de s’appuyer sur les nombreux travaux existants
relatifs à la résolution de ces derniers.
5.4.4 Résolution des CSOP
Dans le cas de la résolution d’un CSOP, on veut à la fois (i) trouver une solution qui satisfait l’ensemble des
contraintes donné et (ii) optimiser une fonction définissant un objectif. Le but est de trouver une solution
pour P = (X, D, C) qui minimise (respectivement qui maximise) la fonction objectif f. Pour la résolution
des problèmes d’optimisation, on distinguera donc deux types de solutions :
• les solutions du problème de satisfaisabilité, c’est-à-dire celles qui ne tiennent pas compte de la fonction
f,
• les solutions optimales, c’est-à-dire les solutions du problème de satisfaisabilité qui minimisent (respectivement
qui maximisent) la fonction objectif f.
Definition 9 (Optimum global). Pour un problème de minimisation, une solution s
∗ ∈ S est un optimum
global (ou solution optimale) si f(s
∗
) ≤ f(s) pour tout élément s ∈ S. (et respectivement f(s
∗
) ≥ f(s)
pour un problème de maximisation).
Résoudre à l’optimalité un problème consiste à trouver une solution s
∗
correspondant à un optimum
global. Pour la résolution d’un CSOP, nous supposons qu’une variable x est ajoutée à la liste des variables
X de P avec x = f(X). L’approche la plus intuitive est de trouver une solution optimale par la résolution70 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
d’une séquence de CSP. Initialement, un algorithme de backtracking7
est utilisé pour trouver une solution
qui satisfait toutes les contraintes. Chaque fois qu’une solution s est trouvée, une contrainte s’ajoute au CSP
avec la forme x > f(s) qui exclut toutes les solutions qui ne sont pas meilleures que s pour un problème
de minimisation (respectivement x < f(s) pour un problème de maximisation). Ce processus est répété
jusqu’à ce que le CSP résultant soit infaisable ; dans ce cas la dernière solution trouvée est optimale.
5.4.5 Conclusion
La PPC permet de résoudre une grande variété de problèmes allant des problèmes de satisfaction de
contraintes aux problèmes d’optimisation combinatoire en passant par les problèmes dynamiques. Pour
cela, elle a su s’adapter à des variantes du CSP (VCSP, DCSP, CSOP, . . . ) imaginées par une communauté
scientifique dynamique afin de représenter ces différentes catégories de problèmes. Pour s’éviter une
énumération exhaustive de toutes les configurations possibles qui lui serait fatale, elle met en œuvre des procédés
élaborés basés sur la consistance pour réaliser un parcours intelligent de l’espace de recherche. Toutes
ces qualités font de la PPC un paradigme de programmation de premier plan pour résoudre les nombreux
problèmes liés à nos sociétés modernes.
5.5 Heuristiques de construction (approchées)
Les méthodes de construction produisent de façon incrémentale des solutions admissibles en partant d’une
configuration initialement vide. Elles insèrent à chaque étape une composante dans la configuration partielle
courante jusqu’à obtenir une solution complète. Elles opèrent ainsi, pas à pas, sans tenir compte de toutes
les conséquences sur le coût de la solution finale. A ce titre, elles sont souvent considérées comme des
méthodes "myopes".
Elles reposent sur une approche "basée sur les modèles" car elles utilisent un modèle pour choisir à
chaque itération la prochaine composante à ajouter à la configuration partielle [294]. A chaque étape, le
modèle doit déterminer le choix de la variable suivante et le choix de la valeur pour cette variable. Les
méthodes de cette classe différent entre elles selon les modèles utilisés et la performance de ces méthodes
dépend largement de leur capacité à exploiter la structure du problème.
Les méthodes de construction se distinguent par leur rapidité et leur grande simplicité. Néanmoins, leur
manque de visibilité sur la solution finale se traduit en général par des solutions produites de faible qualité.
Notre étude porte plus spécifiquement sur les méthodes de construction "gloutonnes" qui sont les plus
connues et les plus simples à mettre en œuvre. A noter toutefois que les algorithmes par estimation de
distributions (Estimation of distribution algorithms, EDA) [164] et l’optimisation par colonies de fourmis
viennent compléter cette catégorie d’heuristiques incomplète.
5.5.1 Algorithmes gloutons
En 1971, J. EDMONDS a introduit pour la première fois dans la littérature une étude sur les heuristiques
gloutonnes dans le cadre de l’optimisation combinatoire [85].
Les algorithmes gloutons (Greedy algorithm) choisissent à chaque étape un composant à insérer dans
la configuration partielle8 pour lequel une heuristique donnée produit un coût minimal (problème de minimisation).
Contrairement aux méthodes exactes avec retour arrière (backtracking), les choix opérés ne sont
jamais remis en cause par la suite. La qualité de la solution produite est directement liée à l’heuristique de
choix utilisée et les premières décisions prises influencent largement la qualité de la solution finale lorsque
7Algorithme à essais successifs qui explore l’arbre des solutions du problème combinatoire en élagant les branches n’aboutissant
pas à une solution et remettant en cause les choix antérieurs lorsqu’on atteint un cul-de-sac (une feuille de l’arbre non
solution du problème).
8On fixe la valeur d’une variable de décision libre (c’est à dire sans affectation).5.5. HEURISTIQUES DE CONSTRUCTION (APPROCHÉES) 71
les variables du problème sont liées. Pour certains problèmes (recherche d’un arbre recouvrant de poids minimum
avec l’algorithme de KRUSKAL), un algorithme glouton conduit à la solution optimale, mais c’est
rarement le cas.
Algorithme 3 : Algorithme glouton déterministe [267]
1 echec ← faux ;
2 c ← ∅ (configuration partielle initialement vide) ;
3 while (c incomplète et echec = faux) do
4 Construire la liste L des éléments insérables dans c ;
5 if (L6=∅) then
6 Évaluer le coût incrémental des éléments de L;
78 Insérer dans c l’élément de L ayant le coût incrémental le plus faible ;
else
9 echec ← vrai ;
10 return c ou echec ;
Selon l’algorithme 3, la configuration c initialement vide peut être vue comme un ensemble d’éléments
(i.e. de variables du problème dont les valeurs sont fixées). A chaque itération, on définit un ensemble
fini L = {e1, e2, · · · , en} constitué d’éléments pouvant être insérés dans la configuration partielle c. Une
fonction objectif définie comme f : L → R permet d’évaluer le coût incrémental de chaque élément de L.
L’élément de L ayant le coût incrémental le plus faible (i.e. celui qui engendre la plus petite augmentation
du coût de c) est inséré dans c. Lorsqu’un élément ei est sélectionné pour faire partie de la solution, il n’est
jamais remplacé par un autre élément. Les algorithmes gloutons sont des algorithmes déterministes [266].
5.5.2 Algorithmes gloutons aléatoires
Les algorithmes gloutons aléatoires (Greedy randomized algorithm) peuvent construire plusieurs configurations
et reposent sur une stratégie gloutonne pour le choix des composants à intégrer à chaque itération
dans les configurations en cours de construction. Néanmoins, l’étape de fixation de la variable courante et
de sa valeur est légèrement modifiée afin de permettre plusieurs choix plutôt qu’un seul à chaque itération.
Les choix potentiels constituent une liste (Restricted Candidate List, RCL) dans laquelle un candidat
sera retenu aléatoirement. Une fois le couple (variable, valeur) fixé, cette liste est mise à jour en tenant
compte de la configuration partielle courante. Cette étape est itérée jusqu’à l’obtention d’une configuration
complète [245].
Une première façon de procéder consiste à choisir aléatoirement le prochain composant parmi les k
meilleurs. Il est aussi possible de faire un choix aléatoire parmi les composants éloignés d’au plus un
certain pourcentage par rapport au meilleur composant trouvé. Enfin, une autre option consiste à choisir le
prochain composant en fonction de probabilités liées à la qualité des différents composants [143].
5.5.3 Conclusion
Les algorithmes gloutons permettent de construire très rapidement des solutions, ce qui constitue déjà un
résultat intéressant pour des problèmes contraints ou/et de très grande taille. Ces procédures sont relativement
simples à concevoir et reposent sur la structure du problème à considérer. Mais les résultats obtenus
grâce à ces techniques sont souvent de faible qualité.
Toutes ces caractéristiques font que les algorithmes gloutons sont des partenaires idéals pour les métaheuristiques
à base de voisinage qui ont besoin d’une solution initiale pour pouvoir fonctionner.72 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
5.6 Métaheuristiques à base de voisinages
Le terme métaheuristique a été introduit pour la première fois par F. GLOVER en 1986 [111]. Les métaheuristiques
permettent de s’attaquer à des instances difficiles de problèmes d’optimisation variés tout en
délivrant des solutions satisfaisantes en un temps raisonnable. En contrepartie, elles n’offrent pas la garantie
de trouver les solutions optimales ni même des solutions dont la qualité serait bornée. Les métaheuristiques
bénéficient d’un intérêt croissant depuis plus d’une vingtaine d’années et elles s’appliquent avec succès à
une large gamme de problèmes complexes et de grande taille. Beaucoup de critères différents peuvent être
utilisés pour regrouper les métaheuristiques :
• inspirée ou non de la nature ;
• avec ou sans mémoire ;
• déterministe ou stochastique ;
• basée sur un solution unique ou sur une population ;
• itérative ou gloutonne.
• etc.
Dans ce manuscrit, nous nous appuyons sur la classification qui distingue celles qui exploitent une
"population de solutions" et celles qui utilisent une "solution unique" pendant le processus de résolution.
Ce chapitre concerne plus précisément les métaheuristiques qui exploitent une solution unique, que l’on
retrouve également sous le nom de "métaheuristiques à base de voisinages" ou "recherche locale".
5.6.1 Généralités sur les métaheuristiques
5.6.1.1 Propriétés
Une métaheuristique est constituée d’un ensemble de concepts fondamentaux qui permet d’aider à la
conception de méthodes heuristiques pour un problème d’optimisation. Ainsi, une métaheuristique est adaptable
et applicable à une large classe de problèmes. C. BLUM et A. ROLI ont proposé dans [30] un ensemble
de propriétés intéressantes qui caractérisent les métaheuristiques :
• les métaheuristiques sont des stratégies qui permettent de guider la recherche d’une solution optimale.
• le but visé par les métaheuristiques est d’explorer l’espace de recherche efficacement afin de déterminer
des solutions (presque) optimales.
• les techniques qui constituent des algorithmes de type métaheuristique vont de la simple procédure
de recherche locale à des processus d’apprentissage complexes.
• les métaheuristiques sont en général non-déterministes et ne donnent aucune garantie d’optimalité.
• les métaheuristiques peuvent contenir des mécanismes qui permettent d’éviter d’être bloqué dans des
régions de l’espace de recherche.
• les concepts de base des métaheuristiques peuvent être décrits de manière abstraite, sans faire réfé-
rence à un problème spécifique.
• les métaheuristiques peuvent faire appel à des heuristiques qui tiennent compte de la spécificité du
problème traité mais ces heuristiques sont contrôlées par une stratégie de niveau supérieur.
• les métaheuristiques peuvent faire usage de l’expérience accumulée durant la recherche de l’optimum
pour mieux guider la suite du processus de recherche.
Ces propriétés définissent le comportement de toutes les métaheuristiques pendant la recherche d’une
solution, en allant de la plus simple à la plus complexe.
5.6.1.2 Quand utiliser une métaheuristique ?
Il n’est pas judicieux d’utiliser une métaheuristique pour résoudre des problèmes lorsqu’il existe des algorithmes
exacts qui sont efficaces pour le faire. Néanmoins, différentes situations justifient l’utilisation d’une
métaheuristique :5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 73
• un problème facile (appartenant à la classe P) avec de très grosses instances. Dans ce cas, des algorithmes
exacts en temps polynomial sont connus mais ils peuvent être trop coûteux compte tenu de la
taille des instances.
• un problème facile avec une contrainte forte de temps réel. Pour des problèmes d’optimisation temps
réel9
, les métaheuristiques sont largement utilisées. Dans cette classe de problèmes, nous devons
trouver une bonne solution en ligne. Même si il existe des algorithmes exacts efficaces pour résoudre
le problème, les métaheuristiques sont utilisées pour réduire le temps de recherche. Les problèmes
d’optimisation dynamique représentent un exemple de tels problèmes.
• un problème difficile (appartenant à la classe N P-difficile) avec des instances de taille modérée et/ou
des structures difficiles.
• des problèmes d’optimisation avec une fonction objectif et/ou des contraintes qui nécessitent beaucoup
de temps de calcul. Certains problèmes d’optimisation réels sont caractérisés par un temps de
calcul énorme de la fonction objectif.
• des modèles non analytiques de problèmes d’optimisation qui ne peuvent pas être résolus de façon
exhaustive : beaucoup de problèmes pratiques sont définis par une boîte noire noyée dans une fonction
objectif.
5.6.1.3 Définition du mot métaheuristique
Il existe beaucoup de tentatives pour définir ce qu’est une métaheuristique sans que l’on puisse toutefois
trouver une définition qui fasse vraiment l’unanimité.
Certaines se concentrent sur l’aspect problème-indépendant comme celle proposée sur le site "the metaheuristics
network"10 : "Une métaheuristique représente un ensemble de concepts utilisés pour définir des
méthodes heuristiques pouvant être appliquées à un large ensemble de problèmes différents. En d’autres
termes, une métaheuristique peut être vue comme un cadre algorithmique général qui peut être appliqué à
différents problèmes d’optimisation avec relativement peu de modifications pour les adapter à un problème
spécifique".
Dans [280], Voß et al. se concentrent quant à eux sur la distinction entre une stratégie de haut niveau et
des mécanismes de bas niveau : "Une métaheuristique est un processus itératif maître qui guide et modifie
les opérations des heuristiques subordonnées pour produire efficacement des solutions de haute qualité.
Elle peut manipuler une solution unique complète (ou incomplète) ou une collection de solutions à chaque
itération. Les heuristiques subordonnées peuvent être des procédures de haut ou de bas niveau, ou une
simple recherche locale, ou juste une méthode de construction".
OSMAN et LAPORTE insistent sur l’intensification et la diversification aussi bien que sur la nature
itérative du processus de recherche [210] : "Une métaheuristique est formellement définie comme un processus
de génération itératif qui guide une heuristique subordonnée en combinant intelligemment différents
concepts pour l’exploration et l’exploitation de l’espace de recherche, des stratégies d’apprentissage sont
utilisées pour structurer l’information afin de trouver efficacement des solutions quasi-optimales".
Parmi ces dernières, nous retiendrons pour définir une métaheuristique (i) l’aspect problème-indépendant
qui offre un cadre générique applicable à tout type de problème et (ii) l’équilibre nécessaire entre l’intensi-
fication et la diversification qui représente un aspect essentiel de toute métaheuristique.
5.6.1.4 Gestion des contraintes
Beaucoup de problèmes d’optimisation sont liés à des contraintes dures qu’on ne peut pas réduire dans la
fonction objectif. Pour permettre aux métaheuristiques de gérer efficacement ces contraintes, différentes
stratégies ont été mises au point [190, 212, 79, 266] :
9Les logiciels embarqués dans les récepteurs GPS (Global Positioning System) utilisent des heuristiques pour trouver un
chemin entre deux points compte tenu du nombre important de nœuds et de la nécessité de fournir une réponse en temps réel.
10http://www.metaheuristics.org/74 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
• rejet ;
• pénalité ;
• réparation ;
• décodage ;
• préservation.
Stratégie de rejet La stratégie de rejet est très simple : seules les solutions faisables sont conservées
durant la recherche et les solutions infaisables sont automatiquement jetées. Cette stratégie est concevable
si la portion des solutions infaisables de l’espace de recherche est réduite.
Stratégie de pénalité Avec la stratégie de pénalité, les solutions infaisables sont prises en compte pendant
le processus de recherche. La fonction objectif non contrainte est étendue par une fonction de pénalité qui
se chargera de pénaliser les solutions infaisables. C’est l’approche la plus populaire. Il existe beaucoup
d’alternatives pour définir les pénalités [105].
Stratégie de réparation Les stratégies de réparation mettent en œuvre des algorithmes heuristiques (procédure
de réparation) qui transforment une solution infaisable en solution faisable [157]. Ces stratégies
spécifiques au problème sont employées lorsqu’un opérateur de recherche peut générer des solutions infaisables.
Stratégie de décodage Cette stratégie utilise des encodages indirects qui transforment la topologie de
l’espace de recherche. Lorsqu’on utilise une représentation indirecte, l’encodage n’est pas une solution
complète du problème. Un décodeur est nécessaire pour exprimer la solution donnée par l’encodage. Selon
l’information présente dans l’encodage, le décodeur aura plus ou moins de travail à faire pour dériver
une solution complète. Le décodeur peut être non déterministe. Les contraintes associées au problème
d’optimisation peuvent être gérées par le décodeur qui garantira alors la validité de la solution dérivée.
La procédure de décodage peut être vue comme une fonction S → S qui associe à chaque configuration
c ∈ S une solution faisable s ∈ S dans l’espace de recherche. La fonction de décodage doit disposer des
propriétés suivantes [63] :
• à chaque configuration c ∈ S correspond une solution faisable s ∈ S ;
• pour chaque solution faisable s ∈ S, il y a une configuration c ∈ S qui lui correspond ;
• la complexité de calcul du décodeur doit être réduite ;
• les solutions faisables dans S doivent avoir le même nombre de configurations associées dans S ;
• l’espace de représentation doit posséder la propriété de localité dans le sens que la distance entre les
configurations de S doit être en corrélation avec la distance entre les solutions faisables dans S.
Stratégie de préservation Une représentation spécifique et des opérateurs garantissent la génération de
solutions faisables. Cette stratégie incorpore des connaissances spécifiques du problème dans la représentation
et dans les opérateurs de recherche pour générer uniquement des solutions faisables. Cette stratégie
est adaptée à des problèmes spécifiques et ne peut pas être généralisée à tous les problèmes d’optimisation
sous contraintes.
5.6.1.5 Réglage des paramètres
La majorité des métaheuristiques nécessite un ajustement méticuleux de beaucoup de paramètres en fonction
du problème à résoudre. Ces paramètres dont les valeurs sont parfois difficiles à définir a priori peuvent
avoir une grande influence sur l’efficacité de la résolution. Néanmoins, il n’existe pas de valeurs optimales
des paramètres pour une métaheuristique qui puissent être applicables à tous les problèmes.5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 75
Deux stratégies sont utilisées pour le réglage de ces paramètres : une initialisation hors ligne et une
initialisation en ligne.
Réglage hors ligne Dans ce mode, les valeurs des différents paramètres sont fixés avant l’exécution de la
métaheuristique.
Réglage en ligne Avec l’approche en ligne, les paramètres sont contrôlés et modifiés dynamiquement ou
de façon adaptative pendant l’exécution de la métaheuristique. La version dynamique prend en charge le
changement de valeur d’un paramètre sans prendre en compte la progression de la recherche alors que la
version adaptative change les valeurs en fonction de la progression de la recherche.
Différentes implémentations ont été proposées pour adapter le paramétrage pendant la phase de résolution
en fonction de l’instance. Avec l’approche Tabou réactive [18], on ajuste automatiquement (version
dynamique) la longueur de la liste tabou. Dans [203], les auteurs proposent une procédure dédiée pour régler
automatiquement (version adaptative) le paramètre « max » (i.e. nombre de voisins maximum à explorer
à chaque mouvement) de la métaheuristique ID Walk également décrite dans leur document. Cette procé-
dure de réglage automatique procède par apprentissage et elle a pu être appliquée avec succès à d’autres
algorithmes pour définir la valeur d’un ou de deux paramètres (e.g. recuit simulé, recherche tabou).
5.6.1.6 Mesures de performance
Pour les méthodes exactes capables de garantir l’optimalité des résultats, le temps de recherche représente
l’indicateur principal pour évaluer la performance des algorithmes. Pour les métaheuristiques n’offrant pas
les mêmes garanties, d’autres indicateurs doivent être pris en compte [15] :
• la qualité des solutions ;
• l’effort de calcul ;
• la robustesse.
Qualité des solutions La qualité des solutions obtenues s’évalue en terme de précision en considérant
une mesure de distance ou un pourcentage de déviation entre la solution obtenue et l’une des solutions
suivantes : solution optimale, borne inférieure, meilleure solution connue ou seuil à atteindre.
Les solutions optimales peuvent être trouvées par des algorithmes exacts. Néanmoins, pour beaucoup
de problèmes complexes, les solutions optimales ne sont pas connues. Dans ce cas, on peut utiliser des
bornes inférieures pour des problèmes de minimisation (et respectivement des bornes supérieures pour des
problèmes de maximisation) proches de ces valeurs optimales. Lorsqu’il s’agit de problèmes classiques, des
instances standards sont généralement disponibles avec les meilleures solutions connues. Enfin, pour des
instances de problèmes spécifiques, un décideur peut définir un seuil à atteindre sur la qualité de la solution
pour qu’elle puisse être acceptée.
Effort de calcul Lors d’une analyse empirique, on relève le temps de calcul exprimé soit en temps CPU,
soit en temps réel écoulé. Mais ces mesures ont l’inconvénient d’être liées aux caractéristiques du matériel
informatique utilisé, de l’infrastructure réseau, du système d’exploitation, etc. Le nombre d’évaluations de
la fonction objectif, indépendant de l’infrastructure informatique, peut également servir de mesure lorsque
le temps de calcul de la fonction est significatif et reste constant. Pour comparer les effets de différents
paramétrages d’une même méthode sur une instance de problème identique, on peut simplement évaluer le
nombre d’itérations de la boucle principale.
Robustesse En général, la robustesse peut être définie par une insensibilité vis à vis d’écarts minimes dans
les instances d’entrée ou vis à vis des paramètres utilisés : plus faible est la variation des solutions obtenues,
meilleur est la robustesse [195]. Pour les métaheuristiques, la robustesse peut également être évaluée par76 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.3 – Fonctionnement général d’une méthode de recherche locale : représentation sous la forme
d’une marche à travers l’espace de recherche en partant d’une solution initiale s0 et en se dirigeant de proche
en proche vers une solution optimale localement s
∗
.
rapport à des problèmes ou instances différentes. Et lorsque des algorithmes stochastiques sont utilisés, la
robustesse peut faire référence à des écarts de comportement de l’algorithme sur différentes exécutions pour
une même instance de problème.
5.6.2 Métaheuristiques de voisinage
Une métaheuristique de voisinage améliore une solution unique pendant toute la phase d’optimisation. Elle
peut être vue comme une marche de proche en proche dans les voisinages, une trajectoire de recherche à
travers l’espace de recherche du problème [57]. La marche (ou la trajectoire) est accomplie par des procé-
dures itératives de génération et de remplacement qui réalisent tour à tour un déplacement de la solution
courante à une solution voisine dans l’espace de recherche. Dans la phase de génération, un ensemble de
solutions candidates est généré à partir de la solution courante alors que dans la phase de remplacement,
on effectue la sélection d’un candidat à partir de l’ensemble des solutions candidates pour remplacer la
solution courante. Cette procédure se répète jusqu’à ce qu’un critère d’arrêt donné soit vérifié.
La recherche locale se base en effet sur l’idée d’amélioration d’une solution donnée s en appliquant
des changements sur ses affectations. Les solutions obtenues en modifiant s s’appellent les voisins de s
et constituent un ensemble qui représente le voisinage de s. Ainsi, la recherche locale commence par une
solution initiale (éventuellement non-consistante) pour se diriger vers une solution optimale (ou localement
optimale) :
• un voisinage est généré autour de la solution courante : il représente l’ensemble des solutions obtenues
en altérant localement la solution courante, par exemple en changeant la valeur de l’une de ses
variables ou en échangeant les valeurs de deux variables.
• une heuristique de sélection détermine l’un des voisins qui devient la solution courante, par exemple
celui qui permet de faire diminuer le plus le coût de la solution (pour un problème de minimisation).
• un critère d’arrêt est testé pour limiter le temps de calcul, par exemple un nombre maximum d’itérations
ou une durée de traitement maximale.
Le fonctionnement général d’une méthode de recherche locale peut être illustré par la Figure 5.3 : S
correspond à l’espace des solutions ; s0, s1, · · · , s4 sont des solutions admissibles et s
*
correspond à une
solution optimale localement.5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 77
FIGURE 5.4 – Optimum global et local pour un problème de minimisation.
Pour un voisinage donné, si on se contente de choisir systématiquement un voisin qui réduit le coût
de la solution courante (pour un problème de minimisation), le processus de résolution se retrouvera obligatoirement
bloqué dans un optimum local où tous les voisins dégradent le coût de la solution courante,
cet optimum local n’étant que très rarement l’optimum global (figure 5.4). C’est pour cette raison que les
métaheuristiques de RL utilisent des stratégies pour s’en échapper, par exemple en autorisant des transitions
défavorables (i.e. choix d’un voisin de coût supérieur) ou en recommençant la recherche avec une nouvelle
solution choisie aléatoirement.
Les algorithmes de RL ne sont pas complets car ils ne maintiennent pas de représentation de la partie
déjà explorée de l’espace de recherche, alors que les algorithmes systématiques le font en structurant l’espace
sous la forme d’un arbre. Ils ne peuvent donc pas garantir que tout l’espace de recherche sera exploré
ni qu’une même solution ne sera pas visitée plusieurs fois. Leur efficacité est donc empirique et dépend
de l’instance considérée. Toutefois, dans la pratique, ils fournissent souvent de très bons résultats en un
temps raisonnable pour une grande variété de problèmes. De plus, ils ont l’avantage de pouvoir résoudre
des problèmes sur-contraints car ils manipulent des solutions éventuellement non-consistantes. Ils peuvent
également fournir une solution à tout moment (algorithme anytime) car l’état courant est une instanciation
totale.
5.6.3 Concepts communs aux métaheuristiques de RL
Nous abordons ici les concepts qui sont communs aux différents algorithmes de recherche locale.
5.6.3.1 Solution initiale
Il existe deux stratégies principales pour générer une solution initiale : l’approche aléatoire et l’approche
gloutonne.
La génération aléatoire d’une solution initiale est rapide. Cette stratégie peut entraîner une déviation
importante en termes de solutions obtenues et constitue à ce titre une bonne base de diversification. Néanmoins,
pour certains problèmes contraints, il peut être difficile de générer des solutions faisables avec cette
technique. Dans ce cas, les algorithmes de construction gloutons représentent une bonne alternative. Géné-
ralement, une heuristique gloutonne peut être utilisée avec une complexité réduite à un temps polynomial.
Par rapport aux algorithmes aléatoires, les algorithmes gloutons conduisent souvent à une solution initiale78 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
de meilleur qualité. Dans ce cas, la RL nécessite généralement moins d’itérations pour converger vers un
optimum local. Mais rien ne garantit que l’utilisation d’une solution initiale de qualité supérieure conduira
systématiquement la RL à un meilleur optimum local. Habituellement, on constate que plus le voisinage est
grand, moins les performances de la RL sont sensibles à la solution initiale [266].
Des règles métier identifiées par des experts ou des solutions déjà implémentées peuvent également
servir de support pour générer une solution initiale.
5.6.3.2 Voisinage
La définition d’un voisinage est une opération délicate qui est requise pour utiliser n’importe quelle mé-
taheuristique de RL. Sa structure joue un rôle essentiel sur les performances. De plus, si elle n’est pas
adéquate au problème donné, la résolution échouera quelle que soit la méthode employée. La modélisation
du problème d’optimisation et le choix du voisinage doivent être effectués de telle sorte qu’il existe au
moins un chemin entre chaque solution s
0 ∈ S menant à une solution optimale s
*
.
Definition 10 (Voisinage). Étant donné une solution s, le voisinage de s est un sous-ensemble de solutions
noté N (s) ⊆ S ; N (s) contenant des solutions directement atteignables à partir d’une transformation
élémentaire donnée de s. Une solution s
0 ∈ N (s) est dite voisine de s.
Un voisin est généré par l’application d’une transformation élémentaire qui réalise une légère perturbation
de la solution s. Par exemple, une transformation élémentaire peut consister à effectuer une permutation
de valeurs entre deux variables (2-échanges) d’une même solution s. Dans ce cas, la taille du voisinage N (s)
est égale à n(n−1)
2
, avec n le nombre de variables du problème.
La structure du voisinage dépend de la transformation autorisée. Ainsi, à partir d’une solution donnée,
on peut établir plusieurs structures de voisinage différentes selon les transformations retenues.
Definition 11 (Optimum local). Une solution s est un optimum local si et seulement si il n’existe pas une
autre solution s
0 ∈ N (s) avec un coût (issu de la fonction objectif) strictement meilleur.
∀s
0 ∈ N (s)
(
f(s) ≤ f(s
0
) pour un problème de minimisation
f(s) ≥ f(s
0
) pour un problème de maximisation
La taille du voisinage pour une solution s correspond au nombre de voisins de s. Utiliser de grands
voisinages peut améliorer la qualité des solutions obtenues dans la mesure où on considère plus de voisins
à chaque itération. Mais dans ce cas, un temps de calcul supplémentaire sera requis pour effectuer chaque
itération. Lorsque le nombre de cycles à opérer est important pour la résolution d’un problème, le temps
additionnel occasionné peut devenir conséquent. Il faut donc trouver un compromis entre la qualité du
voisinage et la complexité nécessaire pour l’explorer. Lorsque la complexité d’exploration d’un voisinage
devient trop importante, ce problème devient à lui seul un problème d’optimisation. Il est alors indispensable
de concevoir des procédures efficaces pour réaliser l’exploration. En général, ces procédures cherchent à
identifier les meilleurs voisins (ou des voisins meilleurs) sans devoir énumérer l’ensemble du voisinage [5].
5.6.3.3 Paysage d’un problème d’optimisation
Le paysage d’un problème d’optimisation combinatoire est défini par le triplet (S, N , f) tel que :
• S : est l’ensemble des solutions réalisables ;
• N : S → 2
S
: est une relation de voisinage qui associe à toute solution s de l’ensemble des solutions
un sous-ensemble N (s) de solutions réalisables appelées voisins ;
• f : S → R : est une fonction objectif qui mesure la qualité des solutions réalisables.
La notion de paysage a été introduite pour la première fois dans la littérature par WRIGHT [289] en
lien avec la biologie. La structure de voisinage a été utilisée pour étudier les dynamiques des systèmes5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 79
FIGURE 5.5 – Paysage lisse d’après [181]. FIGURE 5.6 – Paysage rugueux d’après [181].
FIGURE 5.7 – Paysage d’un problème d’optimisation d’après [181].
biologiques et comprendre les processus d’évolution déterminés par des opérateurs comme la mutation
ou le croisement. Cette notion fut ensuite transposée à d’autres domaines comme celui de l’optimisation
combinatoire [257, 256].
On peut utiliser des termes géographiques pour décrire un paysage : l’espace de recherche représente
le sol, la relation de voisinage connecte les solutions les unes aux autres et la fonction objectif leur affecte
une qualité transcrite en altitude (figure 5.7). On obtient un paysage constitué de vallées, de plaines, de
sommets, de plateaux, de cuvettes, etc. Analyser la structure d’un paysage permet d’appréhender le degré
de difficulté d’un problème et peut aider à concevoir de meilleures représentations du voisinage. Il est
plus facile d’atteindre l’optimum global pour un paysage lisse (figure 5.5) que pour un paysage rugueux
(figure 5.6) où les optima locaux sont plus nombreux : on peut alors expliquer la réussite ou l’échec d’une
métaheuristique sur un problème donné.
Globalement, un paysage peut avoir un relief plat, rugueux ou vallonné [181]. Beaucoup de problèmes
d’optimisation sont caractérisés par un paysage plat dans lequel il y a beaucoup de plateaux, c’est à dire
beaucoup de voisins ayant la même qualité [266]. Lorsqu’une métaheuristique rencontre un plateau, aucune
information ne lui permet de guider sa recherche. Pour casser ces plateaux, une stratégie consiste à intégrer
dans la fonction objectif des informations supplémentaires permettant de discriminer les solutions ayant la
même valeur d’objectif [132, 84].
5.6.3.4 Évaluation incrémentale du voisinage
L’évaluation de la fonction objectif peut nécessiter un temps de calcul important. Une exploration naïve du
voisinage d’une solution s consiste à évaluer complètement la fonction objectif pour chaque voisin s
0 de s.
Lorsque cela est possible, il est plus performant d’évaluer chaque voisin par une évaluation incrémentale
représentée par 4(s, m) où s est la solution courante et m le mouvement (ou transformation) appliqué à s
pour obtenir un voisin s
0
. On limite ainsi l’évaluation à la transformation de s au lieu d’évaluer complète-80 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.8 – Principe de génération du voisinage à partir de la solution courante et sélection d’un voisin
d’après [35].
ment la solution voisine s
0
. Cette évaluation incrémentale peut être simple ou très complexe à implémenter
en fonction du problème et de la structure du voisinage.
5.6.4 Méthodes de descente (Simple Improvement-based Local Search)
Les méthodes de descente (amélioration continue) n’utilisent pas de stratégies avancées et à ce titre nous
les considérons comme des techniques de base pouvant être utilisées par différentes métaheuristiques plus
élaborées. On les retrouve sous le nom "hill climbing" pour les problèmes de maximisation.
Une méthode de descente (first improvement ou simple hill climbing) choisit à chaque étape une solution
voisine meilleure que la solution courante (figure 5.8). Quand plus aucune solution voisine n’améliore la
solution courante, un optimum local est atteint et le processus s’arrête. La méthode de plus forte descente
(best improvement ou steepest ascent hill climbing) est une variante qui choisit à chaque étape la meilleure
solution voisine parmi celles qui améliorent la solution courante.
En termes d’exploration du voisinage, les méthodes de descente (first improvement) font une exploration
partielle du voisinage (algorithme 4) alors que les méthodes de plus forte descente (best improvement)
nécessitent une exploration exhaustive du voisinage (algorithme 5).
L’avantage principal de ces méthodes de descente réside dans leur grande simplicité et leur rapidité.
Historiquement, ces méthodes ont toujours compté parmi les méthodes heuristiques les plus populaires
pour traiter les problèmes d’optimisation combinatoire. Toutefois, elles comportent deux obstacles majeurs
qui peuvent limiter considérablement leur efficacité :
• suivant la taille et la structure du voisinage N considéré, la recherche de la meilleure solution voisine
est un problème qui peut être aussi difficile que le problème initial.
• une méthode de descente est incapable de progresser au-delà du premier optimum local rencontré.5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 81
Algorithme 4 : Méthode de descente
1 Créer la solution initiale s ;
2 while (optimum local non atteint) do
3 repeat
Créer un nouveau voisin s
0
4 en réalisant un mouvement sur s ;
until (s
0 meilleur que s) ou (plus aucun mouvement disponible) ;
if (s
0
5 meilleur que s) then
Passer à la solution s
0
(la solution courante s est remplacée par s
0
6 ) ;
7 return s ;
Algorithme 5 : Méthode de plus forte descente
1 Créer la solution initiale s ;
2 while (optimum local non atteint) do
3 Déterminer le voisinage complet N de la solution courante s ;
4 if (N contient au moins une meilleure solution que s) then
Choisir la meilleure solution s
0
5 dans N ;
Passer à la solution s
0
(la solution courante s est remplacée par s
0
6 ) ;
7 return s ;
Or, les problèmes d’optimisation combinatoire comportent typiquement de nombreux optima locaux
pour lesquels la valeur de la fonction objectif peut être fort éloignée de la valeur optimale.
Pour remédier à ce dernier problème, la solution la plus simple est la méthode de descente avec relance
aléatoire (random restart hill climbing) qui consiste à générer une nouvelle solution de départ de façon
aléatoire et à relancer la méthode de descente. On remarquera cependant que cette solution ne tire aucun
profit des optima locaux déjà découverts. Une autre solution consiste à accepter des voisins de même qualité
que la configuration courante. Cette approche permet à la recherche de se déplacer sur les plateaux, mais
n’est pas suffisante pour ressortir d’un optimum local.
L’efficacité des méthodes de RL repose en réalité sur un équilibre entre deux notions essentielles repré-
sentées par l’intensification et la diversification.
5.6.5 Mécanismes d’intensification et de diversification
Ces deux termes ont été initialement introduits par GLOVER dans le contexte de la recherche tabou
[112, 113, 115] avant d’être généralisés puis vus comme des propriétés essentielles des métaheuristiques.
L’intensification (ou exploitation) insiste sur l’examen en profondeur d’une zone de recherche particulière
alors que la diversification (ou exploration) met en avant la capacité de découvrir des zones de
recherche prometteuses.
L’idée de base de l’intensification est d’exploiter une ou des solutions prometteuses. Elle se fonde sur
les notions liées à l’apprentissage en considérant que les attributs souvent présents dans les configurations
d’élite connues sont favorables, il faut donc les exploiter plus que les autres. Par contre, les attributs rarement
présents dans les configurations d’élite connues sont peu favorables, il faut donc les éviter. De nombreuses
techniques d’intensification ont été proposées [161, 30, 231, 128] :
• relancer la recherche à partir des bonnes solutions déjà rencontrées ;
• reconstruire une solution de départ qui tente de combiner des attributs souvent rencontrés dans les
meilleures configurations ;82 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.9 – Classification (I&D) des composants d’une stratégie de recherche proposée par BLUM et
ROLI [30] (OG = composants exclusivement guidés par la fonction objectif ; NOG = composants I&D
uniquement guidés par une ou plusieurs fonctions autres que la fonction objectif ; R = composants guidés de
façon totalement aléatoire). Le composant repéré par une croix ’X’ situé à mi-chemin entre l’intensification
et la diversification n’est pas stochastique.
• fixer certains attributs qui ont souvent été présents dans les configurations d’élite.
Cependant, l’application du seul principe d’intensification ne permet pas une recherche efficace. En effet,
elle conduit à confiner la recherche dans une zone limitée qui finit par s’épuiser. Le cas de l’amélioration
continue illustrée par les méthodes de descente (voir la section 5.6.4) rapidement piégées dans un optimum
local représente bien ce phénomène.
A contrario, la diversification est un mécanisme qui oblige la recherche à s’éloigner d’une zone où les
solutions sont connues pour se diriger vers d’autres zones inexplorées. HOOS et STÜTZLE ont établi un
lien étroit entre diversification et caractère aléatoire [135]. Pour eux, une part d’aléatoire introduite dans la
phase d’initialisation (pour créer la solution initiale) ou dans les étapes de recherche (en autorisant parfois la
dégradation du score) permet de contourner les principales limitations des méthodes de descente qui restent
piégées dans le premier minimum local rencontré.
De nombreuses techniques de diversification ont été proposées. La technique la plus simple consiste
à construire une nouvelle solution de départ pour relancer la recherche. Les changements de voisinage
(5.6.10.2) sont aussi une forme de diversification permettant d’atteindre de nouvelles solutions. D’autres
heuristiques peuvent réaliser une perturbation aléatoire (modifications aléatoires de la solution courante) ou
encore caractériser les régions visitées pour pouvoir ensuite s’en éloigner.
La recombinaison constitue un autre principe général qui complète l’intensification et la diversification.
Elle consiste à construire de nouvelles configurations en combinant la structure de deux ou plusieurs bonnes
configurations déjà trouvées. Cette idée issue des algorithmes génétiques (le croisement) a été introduite
dans des méthodes de voisinage, notamment dans la méthode de recherche par dispersion (Scatter Search).
Une stratégie de recherche efficace doit donc intégrer à la fois des mécanismes d’intensification et de
diversification et trouver un bon équilibre entre ces deux notions antagonistes. Bien que certains composants
d’une stratégie de recherche ne puissent être clairement catalogués comme participant soit à l’intensification,
soit à la diversification (car ils participent aux deux à la fois), BLUM et ROLI ont proposé
une classification [30] représentée par un triangle dans lequel on place les composants pour les évaluer en5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 83
fonction de leur position à l’intérieur du triangle (figure 5.9). Dans ce triangle, l’effet de l’intensification
diminue lorsque la distance au coin OG augmente tandis que la force de diversification augmente lorsqu’on
s’approche des coins R ou NOG. Ce schéma correspond à une signature simple du composant concerné
(e.g. composant repéré par une croix ’X’ dans la figure 5.9) et permet ainsi de représenter les mécanismes
qu’il met en œuvre en relation avec sa position.
5.6.6 Recherche Locale Itérée (Iterated Local Search, ILS)
La méthode de recherche locale itérée est une métaheuristique simple mais puissante [260, 176, 177, 184].
Il s’agit d’une amélioration des méthodes de descente qui propose une stratégie pour pallier l’arrêt de la
recherche sur le premier optimum local rencontré, problème inhérent aux techniques de descente. A partir
d’une solution initiale soumise à une méthode de descente classique, cette méthode enchaîne les trois étapes
suivantes jusqu’à ce qu’un critère d’arrêt soit satisfait :
• perturbation aléatoire de la solution courante ;
• optimisation de la solution perturbée par une méthode de descente jusqu’à obtenir un optimum local ;
• acceptation (ou non) du nouvel optimum local comme solution courante.
La phase de perturbation est essentielle et elle doit être bien dosée. En effet, si la perturbation est trop
faible, on ne pourra pas s’échapper du bassin d’attraction de l’optimum local précédent. Au contrainte, si la
perturbation est trop importante, l’algorithme se comportera comme une méthode de descente avec relance
aléatoire.
Pour ce qui est de l’acceptation d’une nouvelle solution courante, on peut imaginer un grand nombre de
possibilités comprises entre deux extrêmes qui consistent à (i) accepter le nouvel optimum local uniquement
si il améliore la dernière solution trouvée ou à (ii) accepter systématiquement la nouvelle solution.
Algorithme 6 : Méthode de recherche locale itérée
1 Créer la solution initiale s0 ;
s
∗
2 = Méthode de descente(s0) ;
3 repeat
s1 = Perturbation aléatoire(s
∗
4 , historique) ;
5 s2 = Méthode de descente(s1) ;
if (Acceptation(s
∗
6 , s2, historique)) then
s
∗
7 = s2 ;
until (critère de fin atteint) ;
5.6.7 Recuit Simulé (Simulated Annealing, SA)
Le recuit simulé est une métaheuristique populaire dont le mécanisme de recherche est calqué sur l’algorithme
de Metropolis [189] et les principes de recuit thermodynamiques utilisés en métallurgie. KIRKPATRICK
et al. [153] et CERNY [42] ont été les premiers à s’inspirer d’une telle technique pour résoudre des
problèmes d’optimisation combinatoire.
En partant d’une température élevée où le métal est liquide, on le refroidit progressivement en tentant
de trouver le meilleur équilibre thermodynamique. Chaque niveau de température est maintenu jusqu’à
obtenir un équilibre. Dans ces phases de température constante, on peut passer par des états intermédiaires
du métal non satisfaisants, mais conduisant à la longue à des états meilleurs. La vitesse de refroidissement
a un impact crucial sur la configuration finale, un alignement atomique approprié n’étant possible que si le
procédé de refroidissement est suffisamment lent.
Le voisinage N (s) d’une solution s ∈ S s’apparente à l’ensemble des états atteignables depuis l’état
courant en faisant subir des déplacements infinitésimaux aux atomes d’un système physique. A chaque84 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
itération de l’algorithme, une seule solution voisine s
0
est générée à partir du voisinage N (s). Celle-ci est
acceptée si elle est meilleure que la solution courante s. Dans le cas contraire, la solution s
0
est acceptée
avec une certaine probabilité prob(4f, T) qui dépend de la détérioration de la qualité 4f = f(s
0
) − f(s)
et d’un paramètre T correspondant à la température.
Les changements de température sont effectués sur la base d’un schéma de refroidissement précis. En
règle générale, la température est diminuée par paliers à chaque fois qu’un certain nombre d’itérations est
effectué. L’algorithme est interrompu lorsqu’aucune solution voisine n’a été acceptée pendant un cycle complet
d’itérations à température constante. La performance du recuit simulé est étroitement liée au schéma
de refroidissement considéré.
De nombreuses études théoriques ont été effectuées à ce sujet et plusieurs variantes ont été proposées
[52, 211].
Algorithme 7 : Méthode de recuit simulé
1 Créer la solution initiale s ;
2 Définir la température initiale T0 ;
3 Définir le nombre d’essais pour chaque niveau de température L;
4 Initialiser le compteur de niveau k ← 0 ;
5 while (critère de fin non satisfait) do
6 for (i = 1 to L) do
Créer un nouveau voisin s
0
7 en appliquant à s un mouvement choisi aléatoirement ;
Calculer la différence de coût 4f = f(s
0
8 ) − f(s);
9 if (4f ≤ 0) then
Passer à la solution s
0
(Remplacer la solution courante s par s
0
10 ) ;
else
11 Tirer un nombre aléatoire r ∈ [0, 1] ;
if
r ≤ exp
−4f
Tk
then 12
Passer à la solution s
0
(Remplacer la solution courante s par s
0
13 ) ;
14 Actualiser la meilleure solution trouvée (si nécessaire) ;
15 Définir k ← k + 1 ;
16 Définir la valeur de la température Tk pour le nouveau niveau k ;
17 return la meilleure solution trouvée ;
En début du processus de recherche, le système est chauffé en fixant T à une valeur élevée. L’algorithme
de Metropolis est exécuté pour un nombre déterminé d’itérations, tout en gardant la température fixe. Après
cela, la température diminue lentement et l’algorithme de Metropolis est relancé. Ce plan d’action est ré-
pété jusqu’à ce que le système soit gelé, c’est à dire lorsqu’on a atteint une température très basse et que
pratiquement aucune modification de configuration ne se produit (algorithme 7).
5.6.8 Recherche Tabou (Tabu Search, TS)
Introduite indépendamment par F. GLOVER [111] d’une part et par P. HANSEN [125] d’autre part, la recherche
tabou est une métaheuristique qui construit un voisinage en excluant un certain nombre de confi-
gurations récemment visitées (ou mouvements récents). Elle utilise toujours la meilleure solution voisine
indépendamment du fait qu’elle améliore ou non la qualité de la solution précédente.
Tant qu’on ne se trouve pas dans un optimum local, cette méthode se comporte comme une méthode
de plus forte descente qui améliore à chaque itération la valeur de la fonction objectif en choisissant une
configuration meilleure. Mais lorsqu’elle a atteint un optimum local, la recherche tabou cherche à s’en5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 85
FIGURE 5.10 – Recherche tabou pour un problème de minimisation : déplacement dans l’espace de recherche
en sélectionnant à chaque itération le meilleur voisin dans un voisinage débarrassé des solutions
récentes marquées tabou (pour éviter les cycles). On alterne ainsi entre des phases d’intensification et de
diversification qui poussent la recherche à se diriger vers un optimum global.
échapper en choisissant le voisin le moins mauvais, c’est à dire celui qui détériore le moins le coût de la
dernière solution sélectionnée (figure 5.10).
Pour éviter d’emprunter le chemin inverse (retour à une solution précédente) qui provoquerait un cycle,
la méthode se déplace d’une configuration à une autre en s’interdisant de revenir sur une configuration ré-
cente déjà rencontrée. Elle utilise pour cela une liste tabou qui contient les dernières configurations visitées
et interdites pendant un certain nombre d’itérations, le but étant de donner assez de temps à l’algorithme
pour lui permettre de sortir du minimum local.
Cependant, stocker dans la liste tabou des configurations entières et vérifier si elles correspondent à la
prochaine destination peut être coûteux en espace mémoire et en temps de calcul. Pour éviter ce problème,
une alternative courante consiste à stocker et à interdire un ensemble de mouvements récemment utilisés
(plutôt que des solutions), ces mouvements pouvant ramener à une configuration déjà visitée.
Dans le cas d’une liste tabou basée mouvements, l’interdiction d’emprunter un chemin ne porte pas
uniquement sur les solutions récemment visitées, elle porte plus globalement sur toutes les solutions qui
résulteraient de l’un des mouvements présents dans la liste. Le nombre de ces solutions involontairement
déclarées tabou dépend de la capacité de stockage de la liste tabou et peut varier très fortement en fonction
du problème et de la structure du voisinage. Il arrive même que cette interdiction empêche de visiter
des solutions supérieures (à la meilleure configuration déjà rencontrée) n’ayant pas encore été visitées, ce
qui rend le processus de recherche plus difficile. Pour ne pas interdire l’accès à ces configurations de qualité
supérieure, on peut ajouter un mécanisme dit d’aspiration qui permet d’enlever le caractère tabou à
certains mouvements jugés utiles pour accéder à des solutions de qualité exceptionnelle. D’autres critères
d’aspiration plus sophistiqués ont également été proposés [66, 131].
La durée tabou est un paramètre essentiel qui influence énormément les performances de la méthode,
il est donc crucial de bien la choisir en fonction du problème traité et de l’instance. La durée du statut
tabou peut être soit statique soit dynamique. Une durée statique est fixée en début de résolution et reste
constante durant toute la recherche. Une durée dynamique peut varier au cours de l’exécution. Plusieurs86 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
études [127] ont montré que les résultats obtenus avec les listes tabou dynamiques pouvaient être meilleurs
qu’avec une liste statique. Dans [72, 73], les auteurs proposent des techniques d’apprentissage pour définir
empiriquement les paramètres de durée.
Algorithme 8 : Méthode de recherche tabou
1 Créer la solution initiale s ;
2 Initialiser la liste tabou T ;
3 while (critère de fin non satisfait) do
4 Déterminer le voisinage complet N de la solution courante s ;
Choisir la meilleure solution s
0
5 non tabou dans N ;
Passer à la solution s
0
(la solution courante s est remplacée par s
0
6 ) ;
7 Modifier la liste tabou T ;
8 Actualiser la meilleure solution trouvée (si nécessaire) ;
9 return la meilleure solution trouvée ;
5.6.8.1 La liste tabou
La liste tabou contient habituellement une quantité limitée d’informations pouvant être de différentes natures
[106]. Elle est généralement organisée comme un buffer de type "first in first out". Lorsque le buffer
est plein et qu’un nouvel élément doit y être ajouté, l’élément le plus ancien est supprimé du buffer et
les éléments précédents sont décalés vers la fin. La capacité du buffer détermine la "durée tabou". Notons
qu’une liste tabou de taille fixe ne peut pas éviter avec certitude l’occurrence de cycles. Afin d’améliorer sa
protection contre les cycles, deux approches majeures ont été développées :
• faire varier la taille de la liste au fil du temps [112, 113, 250, 263].
• faire varier la durée tabou de chaque élément [107]. Cette approche nécessite une structure mémoire
adaptée. Les éléments tabou doivent être mémorisés dans un tableau avec une information de durée
tabou, typiquement le numéro d’itération à atteindre pour qu’ils passent du statut tabou au statut non
tabou.
5.6.8.2 Alternance entre intensification et diversification
Afin d’illustrer la stratégie de recherche tabou et le nécessaire équilibre entre intensification et diversification,
revenons sur la Figure 5.10.
Le processus d’optimisation démarre avec la solution initiale s1. Il entame alors une première phase
d’intensification de la recherche en opérant une méthode de descente jusqu’à ce qu’il rencontre un optimum
local (s6). Pour sortir de cette impasse, il a alors deux solutions : soit il revient à la solution s5, soit il avance
à la solution s7. La liste tabou ayant mémorisé les dernières solutions visitées, on suppose que la solution
s5 est interdite. La recherche tabou passe donc à la solution s7 correspondant à la meilleure solution voisine
non tabou. La solution s7 ayant été visitée, elle devient à son tour tabou. La recherche n’a pas d’autre
choix que de poursuivre sa phase de remontée jusqu’à atteindre la solution s10. Cette ascension l’éloigne
peu à peu de la vallée où la recherche était bloquée : il s’agit d’une phase de diversification qui guide la
recherche vers de nouveaux horizons. A partir du point s10, des solutions voisines d’amélioration non tabou
sont accessibles et le processus rentre à nouveau dans une phase d’intensification.
5.6.9 Adaptive Search (AS)
Adaptive Search est une méthode de recherche locale basée contraintes (i.e. Constraint-Based Local Search)
proposée au début des années 2000 [47, 48]. Cette métaheuristique tire parti de la structure d’un problème5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 87
en exploitant les contraintes et les variables d’un CSP donné. Elle peut ainsi guider la recherche avec plus
de précision qu’une simple fonction de coût globale à optimiser, qui mentionnerait uniquement le nombre
de contraintes violées [10]. L’algorithme utilise également une mémoire à court terme, dans l’esprit de la
recherche tabou, pour éviter (i) une stagnation dans un optimum local et (ii) des cycles infinis. De part sa
nature, cette métaheuristique gère de façon intrinsèque les problèmes sur-contraints.
L’algorithme 9 présente un schéma général de la métaheuristique Adaptive Search qui s’articule autour
de trois principes :
• considérer pour chaque contrainte une fonction heuristique capable de calculer un degré de satisfaction
des objectifs : l’erreur courante sur la contrainte ;
• regrouper les contraintes sur chaque variable et projeter les erreurs sur les variables dans le but de
réparer la plus mauvaise variable avec la valeur la plus prometteuse ;
• conserver dans une mémoire à court terme les mauvaises configurations pour éviter les cycles (i.e. à
la manière d’une liste tabou) et proposer un mécanisme de réinitialisation partielle.
Pour chaque contrainte, une fonction d’erreur doit être définie afin de fournir, pour chaque tuple "variable
| valeur", une indication sur son degré de violation. Cette idée a également été proposée indépendamment
par P. GALINIER et J.K. HAO [99], où il est question de "fonctions de pénalité", puis réutilisée dans
la plateforme Comet [272], où les auteurs parlent de "violations".
AS procède à une réparation itérative sur la base des erreurs liées aux variables et aux contraintes, en
cherchant à réduire l’erreur sur la variable ayant le coût le plus élevé. Pour cela, on calcule la fonction
d’erreur pour chaque contrainte, puis on combine pour chaque variable les erreurs de toutes les contraintes
où elles apparaissent, ce qui permet de projeter les erreurs des contraintes sur les variables correspondantes.
La procédure qui permet de transférer les erreurs des contraintes sur les variables est problème-dépendant.
Il s’agit généralement d’une simple somme, ou d’une somme de valeurs absolues, bien que cela puisse également
être une somme pondérée si les contraintes sont données avec des priorités différentes. Finalement,
la variable avec l’erreur la plus importante est désignée comme étant "la coupable" et sa valeur est modifiée.
Pour cette seconde étape, l’heuristique min-conflicts11 [192] est utilisée pour sélectionner la valeur dans le
domaine de la variable qui est la plus prometteuse, c’est à dire la valeur pour laquelle l’erreur totale dans la
configuration suivante est minimale.
Pour éviter d’être piégée dans un minimum local, la méthode AS incorpore un mécanisme de mémoire à
court terme permettant de mémoriser les configurations à éviter (les variables peuvent être marquées tabou
et être gelées pour un nombre d’itérations). Elle intègre également des étapes de réinitialisation. Une réinitialisation
consiste à assigner de nouvelles valeurs aléatoires pour certaines variables, ces dernières étant
également choisies de façon aléatoire. Par exemple, lorsque trop de variables deviennent tabou, l’algorithme
risque d’être piégé autour d’un minimum local. Une diversification peut alors être sollicitée par une réinitialisation
partielle en assignant de nouvelles valeurs à un pourcentage donné de variables du problème,
les variables et les valeurs étant choisies aléatoirement. Une réinitialisation peut être déclenchée lors d’une
itération dès qu’un nombre de variables marquées tabou est atteint.
Par rapport à l’algorithme de base (cf. algorithme 9), une amélioration peut être apportée lorsqu’on
se déplace sur un plateau. Dans ce cas, un système stochastique simple peut être utilisé pour décider de
poursuivre sur le plateau ou de s’en échapper, selon une certaine probabilité.
Bien que cette méthode soit très simple, elle n’en reste pas moins très efficace pour résoudre des problèmes
combinatoires complexes [49]. Soulignons également que cette métaheuristique exploite plusieurs
mécanismes stochastiques. D’une part dans l’algorithme de base pour la sélection d’une variable et d’une
valeur pour trancher entre des choix équivalents. D’autre part, dans la valeur des paramètres de contrôle
pouvant être fixés différemment par l’utilisateur à chaque exécution (% de variables concernées par une ré-
11La méthode min-conflicts cherche à éviter une exploration exhaustive du voisinage à chaque itération comme le fait la
méthode de plus forte descente (ou best improvement). Pour ce faire, une variable en conflit (impliquée dans une contrainte
violée) est choisie aléatoirement et instanciée avec la valeur qui minimise le nombre de conflits, avec un choix aléatoire en cas
d’égalité. Cette heuristique introduite pour des problèmes de satisfaction de contraintes tente ainsi de réparer une configuration
non consistante.88 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
Algorithme 9 : Algorithme de base pour la métaheuristique Adaptive Search, d’après [10].
Input : problème donné au format CSP : certains paramètres de règlage :
• variables Xi avec leurs domaines • TT : # iterations où une variable reste tabou
• contraintes Cj avec fonctions d’erreur • RL : # variables tabou pour déclencher un reset
• fonction pour projecter les erreurs sur les variables • RP : % de variables à réinitialiser
• fonction de coût à minimiser • MI : # max. iterations avant un redémarrage
• MR : # max. de redémarrages
Output : une solution si le CSP est satisfait ou une solution approchée de coût minimal sinon.
1 Restart ← 0 ;
2 Opt_Sol ← ∅ ;
3 Opt_Cost ← MAX ;
4 repeat
5 Restart ← Restart + 1 ;
6 Iteration ← 0 ;
7 Calculer une affectation aléatoire A de variables dans V ;
8 if (cost(A) < Opt_Cost) then
9 Opt_Sol ← A ;
10 Opt_Cost ← cost(A) ;
11 repeat
12 Iteration ← Iteration + 1 ;
13 Calculer les erreurs de toutes les contraintes dans C et combiner les erreurs sur chaque variable;
(en considérant uniquement les contraintes où la variable apparaît)
14 Sélectionner la variable X (non marquée tabou) avec l’erreur la plus forte ;
(si il y en a plusieurs avec le même coût, en sélectionner une de façon aléatoire dans la liste)
15 Évaluer les configurations du voisinage de A à partir de X ;
16 if (aucun changement ne permet d’améliorer le coût) then
17 marquer X comme tabou jusqu’à l’itération numéro : Iteration + T T ;
18 if (le nombre de variables marquées tabou ≥ RL) then
19 réinitialiser au hasard RP % variables dans V (et ne plus les considérer comme tabou) ;
else
Appliquer le meilleur changement à partir de X, donnant la configuration suivante A0
20 ;
A ← A0
21 ;
22 if (cost(A) < Opt_Cost) then
23 Opt_Sol ← A ;
24 Opt_Cost ← cost(A) ;
until (Opt_Cost = 0 (une solution est trouvée) ou Iteration ≥ MI) ;
until (Opt_Cost = 0 (une solution est trouvée) ou Restart ≥ MR) ;
25 output(Opt_Sol, Opt_Cost)5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 89
initialisation partielle, nombre maximum de variables marquées tabou pour déclencher une réinitialisation
partielle, . . . ).
5.6.10 Autres métaheuristiques obtenues par recombinaison de méthodes simples
Nous présentons ici quelques méthodes de RL originales qui combinent et exploitent des techniques de
base déjà abordées dans ce chapitre. L’association de techniques simples pour produire des techniques plus
sophistiquées nous permet d’illustrer tout le potentiel que représente l’hybridation de méthodes (complètes
et incomplètes) sans toutefois développer ce dernier aspect [127, 252, 162, 146, 76, 152].
5.6.10.1 Greedy Randomized Adaptive Search Procedure (GRASP)
La méthode GRASP [91, 230] consiste à répéter deux phases successives tant qu’un critère d’arrêt n’est pas
satisfait :
• la première phase construit une solution s par un algorithme glouton aléatoire (Greedy randomized,
section 5.5.2) ;
• la seconde phase utilise une méthode de descente pour trouver un optimum local à partir de s.
La méthode retourne la meilleure solution trouvée.
5.6.10.2 Recherche à voisinage variable (Variable Neighborhood Search, VNS)
Proposée par HANSEN et MLADENOVIC [126] en 1997, la méthode de recherche à voisinage variable est
une métaheuristique récente qui exploite un changement de structures de voisinage pour s’échapper d’un
optimum local. L’idée de base est de faire varier la structure de voisinage en se basant sur le fait qu’une
configuration s reconnue comme un optimum local pour une structure de voisinage donnée peut ne pas être
un optimum local pour une autre structure de voisinage.
Cette méthode fonctionne en plusieurs étapes. Tout d’abord, elle nécessite la définition de différentes
structures de voisinage, notées N1, ..., Nkmax
, allant d’une portée faible à une portée de plus en plus importante.
A partir d’une configuration complète de départ s, une solution s
0 voisine de s est sélectionnée
(de façon aléatoire) en utilisant la structure de voisinage N1 (de plus faible portée). On applique alors une
méthode de descente sur s
0
. Si la solution s
00 obtenue à l’issue de cette première recherche est meilleure que
la solution s de départ alors la solution s est remplacée par s
00 et la recherche reprend à partir de la première
structure de voisinage. Sinon, une autre configuration complète s
0 peut être sélectionnée dans le voisinage
de s en utilisant une structure de voisinage de portée supérieure (soit dans notre cas la structure de voisinage
N2). La même règle est appliquée pour les choix suivants jusqu’à l’obtention d’un critère d’arrêt. A noter
que les règles de changement de structure de voisinage peuvent être plus complexes.
Il peut être intéressant d’utiliser des algorithmes de ce type pour des problèmes disposant de nombreux
minimums locaux.
5.6.10.3 Recherche Locale Guidée (Guided Local Search, GLS)
La recherche locale guidée proposée par VOUDOURIS et TSANG [281] pénalise les propriétés caractéristiques
des solutions qui apparaissent dans un optimum local. Elle consiste à modifier dynamiquement la
fonction objectif pour exploiter ces pénalités et rendre moins attractifs les optima locaux.
La recherche démarre avec une solution initiale et toutes les valeurs de pénalité à zéro. Une méthode
de descente est utilisée jusqu’à ce qu’un optimum local soit trouvé. La solution trouvée est utilisée pour
calculer les nouvelles pénalités. Ces deux dernières étapes sont répétées jusqu’à ce qu’un critère d’arrêt soit
vérifié.90 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
5.6.11 Conclusion
Par rapport à cette étude relative aux méthodes de résolution incomplètes, nous souhaitons mettre en perspective
deux aspects qui nous paraissent essentiels : des différences significatives entre les méthodes d’une
part et des opportunités d’assemblage d’autre part.
D’un point de vue paramétrage, le recuit simulé paraît nettement plus compliqué que la méthode de
recherche tabou par exemple : d’un côté, il faut définir un système de refroidissement par paliers (tempé-
rature initiale, taux de décroissance de la température, durée des paliers de température, . . . ) [181, 245]
alors que d’un autre, il suffit de définir la taille d’une liste. Lorsqu’on doit satisfaire une contrainte de temps
importante, la méthode de recuit simulé ne semble pas bien positionnée non plus avec un temps de calcul
qui reste excessif dans certaines applications [245]. A l’inverse, les méthodes basées sur le principe de
plus forte descente semblent intéressantes pour améliorer très fortement la qualité d’une solution en tout
début du processus de résolution. On notera que la recherche tabou est une méthode aussi agressive qu’une
méthode de descente mais, si le temps le permet, elle sera capable de dépasser le premier optimum local.
Par rapport à un type de problème particulier, des instances de problèmes classiques sont disponibles pour
pouvoir évaluer la pertinence d’une méthode et la comparer aux autres (cf. les librairies : OR-Library12
,
TSPLIB13, QAPLIB14, . . . ). En fonction de la structure d’un problème ou d’une instance, une méthode sera
donc plus ou moins adaptée et obtiendra parfois les meilleurs résultats connus pour certains problèmes. Il
est donc important d’avoir une vision des différentes techniques disponibles pour retenir celle qui est la plus
prometteuse. Par exemple, parmi les métaheuristiques basées sur une recherche locale, la méthode tabou
semble être la plus performante pour résoudre les problèmes d’affectation quadratique. Pour ce probème et
dans la majorité des cas, c’est elle qui présente en effet le meilleur compromis entre qualité des solutions
et temps de calcul [187]. La méthode Adaptive Search quant à elle sait tirer parti de la structure d’un problème
pour guider la recherche en exploitant ses variables et ses différentes contraintes lorsqu’elles sont
exprimées sous la forme d’un CSP. Ces éléments confèrent à cette métaheuristique un intérêt particulier
dans notre contexte de travail.
D’un autre coté, on s’aperçoit que chaque technique apporte son lot de contributions et qu’il est tout à fait
possible de conjuguer certaines méthodes de base entre elles pour réaliser des méthodes plus sophistiquées.
Nous retenons plus particulièrement les procédés suivants qui peuvent être complémentaires :
• partir de solutions initiales différentes construites de façon aléatoire ou par une méthode de construction
gloutonne aléatoire ;
• enchaîner des phases successives constituées de différentes techniques et retourner le meilleur résultat
trouvé ;
• exploiter l’agressivité des méthodes de plus forte descente ;
• réaliser des perturbations aléatoires sur les variables ;
• accepter des solutions moins bonnes ;
• exploiter une mémoire à court terme pour ne pas revenir sur ses pas ou ignorer certaines possibilités
(configurations ou variables) ;
• utiliser la structure du problème pour guider la recherche en exploitant les contraintes et les variables
d’un problème (défini par un CSP).
5.7 Métaheuristiques parallèles (à base de voisinage)
Les métaheuristiques offrent souvent la seule possibilité de résoudre des problèmes complexes du monde
réel. Cependant, même en utilisant les métaheuristiques, les limites de ce qui peut être résolu dans un
temps de calcul raisonnable sont encore trop rapidement atteintes pour beaucoup de problèmes. Dans sa
12http://people.brunel.ac.uk/~mastjjb/jeb/info.html
13http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/
14http://anjos.mgi.polymtl.ca/qaplib/5.7. MÉTAHEURISTIQUES PARALLÈLES (À BASE DE VOISINAGE) 91
thèse [102], Vincent GARDEUX parle de "malédiction de la dimension". D’autre part, les métaheuristiques
n’offrent pas de garanties sur la qualité des solutions fournies et leurs performances dépendent souvent des
caractéristiques particulières du problème ou de l’instance.
La parallélisation des métaheuristiques permet justement d’adresser ces deux problèmes : (i) offrir un
maximum de performances et (ii) rendre les métaheuristiques robustes15 [58]. Elle peut également être
utilisée pour améliorer la qualité des solutions obtenues ou résoudre des problèmes de grande taille [266].
Mais en quoi consiste la parallélisation d’une métaheuristique ? Le calcul parallèle (ou distribué) met
en œuvre différents processus qui travaillent simultanément sur différents processeurs pour résoudre une
instance donnée d’un problème. Le parallélisme correspond à une décomposition de la charge totale de
calcul et à la distribution des tâches correspondantes sur les processeurs disponibles. Concernant les métaheuristiques,
il existe deux types majeurs de décomposition :
• décomposition algorithmique ;
• décomposition de l’espace de recherche ;
D’un point de vue algorithmique, la source principale de parallélisme pour les métaheuristiques concerne
l’évaluation concurrente des voisins, c’est à dire l’exécution concurrente des boucles d’itération pour l’évaluation
des voisins. Au niveau algorithmique, c’est souvent la seule source de parallélisme disponible
car beaucoup d’autres étapes dépendantes du temps sont liées les unes aux autres et nécessitent le calcul
d’étapes précédentes pour être réalisées.
L’espace de recherche du problème peut lui aussi être décomposé et une méthodologie particulière
employée pour adresser le problème sur chaque composante résultant de la décomposition. L’espace de
recherche est partitionné entre différents processeurs et chaque processeur procède à une évaluation séparée
du sous espace qui lui est assigné. Malgré le partitionnement, une énumération exhaustive du sous espace
n’est généralement pas envisageable et on recourt à une méthode exacte ou à une métaheuristique pour
explorer chaque partition. Deux approches peuvent être utilisées pour partitionner l’espace de recherche :
la décomposition de domaine et la recherche multiple.
5.7.1 Évaluation concurrente des voisins
Cette stratégie exploite le potentiel de décomposition intra-algorithme des tâches dans le cadre des boucles
d’évaluation des solutions voisines. Elle ne modifie ni la logique de l’algorithme de base, ni l’espace de
recherche. Son but est d’accélérer la recherche sans modifier le comportement de la métaheuristique sé-
quentielle.
Typiquement, l’exploration est initialisée à partir d’une solution initiale et la recherche se poursuit selon
la stratégie de la métaheuristique de base, seules les boucles de calcul internes sont décomposées et les
tâches correspondantes sont exécutées simultanément par plusieurs processus.
Cette stratégie est souvent implémentée [58] conformément au modèle parallèle de programmation
"master-slave" (figure 5.11) : Le programme master exécute la métaheuristique conformément au modèle
séquentiel en dispatchant en parallèle les tâches de calcul gourmandes sur différents slaves. Le programme
master reçoit et traite l’information résultant des opérations réalisées par les slaves, sélectionne et implé-
mente les mouvements, actualise la mémoire le cas échéant, et décide de poursuivre la recherche selon
différentes stratégies ou de l’arrêter.
Les programmes slaves se contentent de réaliser les évaluations demandées et retournent les résultats
au master, qui, lorsque tous les résultats sont disponibles, poursuit la logique normale de la métaheuristique
séquentielle. Le contrôle complet de l’exécution repose sur master qui décide d’allouer le travail aux autres
processeurs et initie la plupart des communications. Il n’y a pas de communication entre les processus
slaves.
15Robuste s’entend dans le sens d’offrir un haut niveau de performance uniforme pour une large variété de problèmes et de
caractéristiques.92 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.11 – Modèle parallèle de programmation Master-Slave d’après [58].
On parallélise la procédure d’évaluation du voisinage pour identifier la solution courante suivante de
l’heuristique de recherche locale liée à la métaheuristique. Chaque itération de la boucle génère et évalue
un voisin de la solution courante, et peut être exécutée indépendamment des autres itérations. Les calculs
de ces itérations peuvent être réalisés sur plusieurs processeurs réservés pour ces tâches. En fait, le master
regroupe les voisins dans un nombre approprié de tâches qui sont alors transmises aux slaves. A partir de
là, chaque slave peut évaluer chaque voisin appartenant à la partie de son voisinage et retourner le meilleur
voisin trouvé. Le master attend que tous les slaves terminent leur calculs, et lorsqu’ils ont tous répondus,
sélectionne le meilleur mouvement et poursuit la recherche. GARCIA et al. [101] ont proposé une application
de cette stratégie parallèle pour la recherche tabou appliquée à un problème de tournées de véhicules sous
contraintes de fenêtres de temps.
Il n’y a pas de taille optimale prédéfinie pour le nombre de tâches parallèles. Le nombre de processus
à définir est fortement liées au contexte et dépend entre autres du nombre de processeurs disponibles, des
temps de communication inter-processus et de l’architecture matérielle sur laquelle les calculs sont réalisés.
Lorsque l’évaluation des voisins est sensiblement la même, il est courant de partitionner les éléments du
voisinage en autant de groupes que de processeurs disponibles [58].
Lorsqu’une méthode de descente est utilisé pour retourner le premier meilleur voisin (First Improvement),
la procédure de recherche parallèle sera souvent différente de la version séquentielle, et de ce fait,
les deux algorithmes se comporteront différemment. De plus, le gain lié à la parallélisation sera limité
lorsque beaucoup de bons voisins sont facilement accessibles.
5.7.2 Décomposition de domaine
La décomposition de domaine [227] constitue une stratégie intuitivement simple (en apparence) et attrayante
: on divise l’espace de recherche en plus petits ensembles habituellement disjoints et pas nécessairement
exhaustifs, on résout les sous-problèmes correspondants en appliquant une métaheuristique séquentielle
sur chaque sous ensemble, on collecte les solutions partielles respectives et on reconstruit une solution
complète (figure 5.12).
Néanmoins, cette décomposition peut prendre plusieurs formes et un certain nombre de facteurs doivent
alors être spécifiés [58] :
1. la partition est-elle stricte ou bien les sous-ensembles peuvent-ils se superposer ?
2. les processus de recherche doivent-ils considérer des solutions complètes ou bien partielles du problème
(dans ce dernier cas, une solution complète doit être reconstruire à certains moments) ?
3. les mouvements réalisés sur le sous problème sont-ils restreints au sous espace de recherche correspondant
ou bien peuvent-ils intégrer des variables dans les sous espaces voisins créant ainsi une5.7. MÉTAHEURISTIQUES PARALLÈLES (À BASE DE VOISINAGE) 93
FIGURE 5.12 – Décomposition de domaine suivant le modèle de programmation Master-Slave d’après [58].
superposition indirecte des sous-ensembles ?
Un partitionnement "strict" réduit les processus concurrents de la métaheuristique à leur sous-ensemble
respectif et interdit les mouvements impliquant des solutions appartenant à deux sous-ensembles ou plus.
Ceci implique qu’une partie de l’espace de recherche est hors de portée et la métaheuristique parallèle
devient de fait non optimale. Un "recouvrement" permet d’adresser ce problème. Cependant, "le seul moyen
de garantir que toutes les solutions potentielles soient atteignables consiste à faire un chevauchement de la
totalité de l’espace de recherche correspondant à une non décomposition, ce cas étant non pertinent" [58].
En conséquence, un partitionnement strict ou un chevauchement très limité sont des approches préférées
avec une fonctionnalité de re-décomposition généralement incluse pour améliorer la minutie de la recherche
et permettre d’examiner toutes les solutions potentielles : la décomposition est modifiée à intervalle de
temps régulier et la recherche est relancée en utilisant cette nouvelle décomposition. Cette fonctionnalité
permet de définir des décompositions non exhaustives où l’union des sous-ensembles est plus petite que
l’espace de recherche complet. Une fonctionnalité de reconstruction d’une solution complète fait presque
toujours partie de la procédure.
Le processus master détermine les partitions et transmet les sous ensembles aux slaves, synchronise leur
travail et collecte les solutions, reconstruit les solutions (si nécessaire), modifie les partitions, et détermine
les conditions d’arrêt (algorithme 10). Chaque slave exécute de façon concurrente et indépendante une
métaheuristique séquentielle sur son sous espace de recherche assigné et retourne sa meilleure solution
courante après que le master a synchronisé toutes les activités.
Des adaptations sont nécessaires en fonction de la métaheuristique mise en œuvre. Par exemple, Avec
l’utilisation d’une recherche tabou, le master doit reconstruire simultanément une liste tabou globale en
dehors de la mémoire locale des slaves en lien avec la reconstruction de la solution complète avant de poursuivre
la recherche. Le comportement de la recherche et l’effort de calcul réalisé par les métaheuristiques
séquentielles et parallèles, tout comme la qualité des solutions respectives différent dans la plupart des
cas [268]. Imposer un comportement similaire nécessiterait des efforts importants qui emporteraient tout
l’avantage de la parallélisation.94 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
Algorithme 10 : Principe de décomposition de domaine - Processus Master [58]
1 Créer la solution initiale s ;
2 Décomposer l’instance du problème en n sous-problèmes : Sp1, Sp2, · · · , Spn ;
3 while (critère de fin non satisfait) do
4 i ← 1 ;
5 while (i ≤ n) do
execute-slave-process(Spi 6 , s);
7 i ← i + 1 ;
8 Synchronisation des slaves ;
9 i ← 1 ;
10 while (i ≤ n) do
11 si ← result-slave-process();
12 i ← i + 1 ;
13 s ← construction(s1, s2, · · · , sn);
14 Modifier les partitions : Sp1, Sp2, · · · , Spn ;
15 return s ;
5.7.3 Recherche multiple
Dans ce modèle parallèle, des métaheuristiques indépendantes ou coopératives sont utilisées.
La recherche multiple indépendante (independent multi-search) consiste à exécuter en parallèle de multiples
métaheuristiques indépendantes sur l’espace de recherche entier en initialisant les recherches avec des
solutions initiales identiques ou différentes et en sélectionnant à la fin la meilleure solution parmi toutes les
recherches. On parle également de portfolio d’algorithmes, notion introduite par HUBERMAN et al. [138]
qui définit une exécution concurrente de plusieurs algorithmes résolvant un même problème [205]. En
plus de la solution initiale, différents réglages de paramètres peuvent être utilisés pour la métaheuristique,
comme la taille d’une liste tabou par exemple. De plus, chaque composant de recherche d’une métaheuristique
peut être conçu différemment : encodage, opérateur de recherche, fonction objectif, contraintes,
critères d’arrêts, etc. [266]. Cette stratégie peut être vue comme une parallélisation directe de l’heuristique
multi-start16. Cette méthode cherche à accélérer l’exploration de l’espace de recherche en se dirigeant vers
une meilleure solution. Aucun avantage n’est attendu des multiples processus qui s’exécutent en parallèle
hormis celui d’identifier la meilleure solution globale lorsque tous les processus sont terminés. La recherche
multiple indépendante est la stratégie parallèle de recherche la plus simple et offre généralement de bonnes
performances, ce qui explique la popularité de cette stratégie pour la parallélisation des métaheuristiques
à base de voisinage. On trouve notamment plusieurs exemples de mise en œuvre pour la recherche tabou
[228, 265, 31] sur différents problèmes. Le paradigme master-slave est bien adapté à ce modèle : un
slave implémente toute la métaheuristique tandis que le master définit les différents paramètres à utiliser
par les slaves et détermine la meilleure solution trouvée à partir de toutes les solutions produites par les
différents slaves.
Les versions coopératives vont plus loin et intègrent des mécanismes de partage pendant la recherche en
cours, l’information obtenue permettant de diversifier la recherche. Le comportement global de recherche
de la métaheuristique parallèle émerge des interactions locales, ce qui modifie le comportement de la mé-
taheuristique de base. En général, ce partage permet de produire un résultat collectif avec de meilleures
solutions qu’une recherche parallèle indépendante.
Pour la mise au point d’une version coopérative, plusieurs questions se posent :
16Les méthodes "multi-start" sont des heuristiques itératives composées de deux phases successives : la première phase génère
une solution et la seconde améliore cette solution. Chaque itération produit une solution (habituellement un optimum local) et la
meilleure solution est retournée à la fin du processus.5.8. ENVIRONNEMENTS LOGICIEL ET CADRE GÉNÉRIQUE 95
• quand : quant faut-il échanger de l’information ?
• où : compte tenu de la topologie du réseau, quels sont les processus sources et destinations impliqués
dans la communication ?
• quoi : quelle information pertinente échanger entre les métaheuristiques ?
• comment : quel protocole d’échange exploiter ?
5.7.4 Conclusion
La parallélisation permet d’améliorer les performances et la robustesse des métaheuristiques. Il arrive également
qu’elle soit mise en œuvre pour améliorer la qualité des solutions ou résoudre des problèmes de grande
taille ne pouvant pas être adressés autrement. "Les métaheuristiques devenant de plus en plus efficaces, elles
sont de plus en plus souvent appliquées à la résolution de problèmes de très grande taille. On retrouve là
les deux principales motivations classiques de l’utilisation du parallélisme pouvant être résumées par plus
vite et plus grand" [187].
Trois formules principales plus ou moins invasives sont identifiées dans la littérature pour paralléliser
les métaheuristiques. On peut procéder à une évaluation concurrente du voisinage, à une décomposition du
domaine ou à une recherche multiple (indépendante ou coopérative).
Bien que les principes de parallélisation puissent paraître simples, la mise au point peut révéler des
aspects très complexes. Elle doit notamment tenir compte de l’infrastructure matérielle, des réseaux disponibles,
des systèmes d’exploitation, etc. Les protocoles de communication, les informations échangées et
les modes de synchronisation entre processus doivent être appropriés car ils peuvent inhiber tout le bénéfice
des traitements parallèles. D’autre part, la structure même d’une métaheuristique se prête plus ou moins
bien à la décomposition en tâches indépendantes. Et il peut être très difficile de reproduire dans la version
parallèle d’une métaheuristique le comportement exacte de sa version séquentielle. Par exemple, du fait
de la structure séquentielle intrinsèque au recuit simulé, la parallélisation en l’état de cette méthode peut
sembler paradoxale. Néanmoins, des modes de fonctionnement parallèles plus ou moins complexes de cette
métaheuristique ont tout de même été proposés [245].
La plupart du temps, la parallélisation des métaheuristiques permet d’obtenir facilement de très bonnes
accélérations [187]. Par exemple, pour rendre la méthode tabou parallèle, il suffit de répartir l’examen
du voisinage de la solution courante sur différents processeurs. La marche dans l’espace de recherche est
généralement très peu modifiée par rapport à la version séquentielle mais elle est effectuée plus rapidement
grâce aux calculs répartis sur plusieurs processeurs.
5.8 Environnements logiciel et cadre générique
La distinction entre "aspect problème-indépendant" intrinsèque aux métaheuristiques et "aspect problèmedépendant"
lié aux heuristiques de recherche révèle un atout majeur : les deux aspects peuvent être réalisés
séparément l’un de l’autre. Il devient possible d’implémenter les stratégies génériques de façon abstraite une
fois pour toutes dans le cadre d’un framework (éventuellement orienté objet). Face à un problème concret,
seules les heuristiques spécifiques devront être implémentées pour être connectées au framework.
Plusieurs librairies et frameworks ont été développés pour simplifier la mise en œuvre de métaheuristiques
et la réutilisation du code. Le lecteur intéressé par une liste complète des librairies et frameworks
disponibles pourra consulter [266, 146] pour obtenir leurs principales caractéristiques.
5.8.1 Les origines
Les premières études qui ont pour ambition d’unifier les différents types d’algorithmes de RL et d’améliorer
leur compréhension remontent à la fin des années 90. Dans [290], YAGIURA et IBARAKI proposent d’adopter
un cadre générique pour comparer les comportements des divers algorithmes et leurs raffinements. Plus96 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
générale et originale, l’approche de TAILLARD et al. [264] utilise le concept Adaptive Memory Programming
pour fédérer recherche tabou, algorithmes génétiques (AG), recuit simulé et même colonie de fourmis.
Par exemple, la population d’un AG est vue comme la mémoire de la recherche du passé, au même titre
qu’une liste tabou. Ce formalisme permet également de décrire et mieux comprendre le fonctionnement
hybride de ces métaheuristiques.
Les outils destinés à abstraire les mécanismes élémentaires de la résolution par RL sont apparus avec Localizer
[191], un langage de modélisation de haut niveau dédié à la spécification d’algorithmes de RL et de
ses structures de données qui permet d’exprimer de manière souple et concise la résolution d’un problème.
Le système maintient automatiquement et efficacement les structures de données lors de la recherche. Les
algorithmes de recherche locale peuvent être exprimés dans une notation proche de leurs descriptions informelles
présentes dans les papiers scientifiques.
Ensuite, des librairies de classes génériques ou des frameworks sont apparus. Parmi eux, on peut citer
par exemple : Comet, EasyLocal++, HotFrame, LocalSolver ou encore ParadisEO.
5.8.2 Bibliothèques et frameworks
Comet Comet [272, 183], qui fût la plateforme de recherche du laboratoire d’optimisation de la BROWN
UNIVERSITY, est un outil qui a été primé pour résoudre des problèmes complexes d’optimisation combinatoire
dans des domaines tels que l’allocation de ressources et l’ordonnancement. Il peut être vu comme une
hybridation d’algorithmes de recherche locale et de programmation par contraintes. En effet, une des principales
innovations de Comet repose sur le concept de recherche locale à base de contraintes (ConstraintBased
Local Search) : ce paradigme permet de construire des algorithmes de recherche locale en séparant
la modélisation de la recherche, et de promouvoir ainsi la réutilisation. Comet est basé sur un langage
spécifique orienté objet très riche qui supporte à la fois la modélisation et l’abstraction des recherches dans
l’esprit de la programmation par contraintes. Sa force peut être exprimée par la formule : "Recherche Locale
= modèle + recherche" signifiant que les algorithmes de recherche locale peuvent être spécifiés en termes
de modélisation et de composants de recherche. Les deux composantes "contraintes" et "recherche" sont
présentes et dissociées. Comet propose un langage de contraintes et des constructions pour programmer des
stratégies de branchement, des heuristiques d’ordonnancement (de listes), et aussi des parcours d’arbres.
Le langage offre des facilités pour l’ingénierie et permet par exemple différentes entrées / sorties pour se
connecter à des bases de données ou lire des fichiers XML. Comet permet aussi de construire des interfaces
utilisateur pour observer graphiquement l’évolution de l’exécution des modèles compilés. Enfin, le langage
prend le parti de programmer la recherche. Il offre des structures de contrôle comme les conditionnelles et
les boucles « tant que » et demande à déclarer, transformer ou manipuler les structures de données de telle
sorte qu’elles soient exploitables par des heuristiques. Malheureusement, cette plateforme ne semble plus
maintenue. De plus, son langage est dédié et Comet n’est pas disponible en open-source.
EasyLocal++ EasyLocal++ [74] est une librairie open-source orientée objet pouvant être utilisée pour
développer des algorithmes de recherche locale en C++. Elle offre une liberté totale à l’utilisateur pour
définir ses structures de données et les domaines des variables, mais fournit un cadre rigide pour contrôler
le flot d’exécution des principales métaheuristiques qu’elle propose en standard. EasyLocal++ fait un usage
équilibré de la programmation orientée objet utilisée pour la conception du framework. Les classes de données
sont fournies par des templates et les structures algorithmiques sont implémentées par des fonctions
virtuelles, offrant ainsi un maximum d’efficacité, de contrôle et de souplesse pour une implémentation incrémentale
en niveaux hiérarchiques. La modularité est l’une de ses principales caractéristiques : dès que
les structures de données et les opérations de base ont été définies et connectées, le système fournit en libre
service toutes les techniques standards de RL et une grande variété de combinaisons constituée à partir
de ces techniques de base. Le système permet également de construire et de tester de nouvelles combinaisons
de fonctionnalités (e.g. structures de voisinage, stratégies pour générer un état initial, mécanismes
d’interdiction de mouvement, . . . ). Ceci permet à l’utilisateur de concevoir et d’implémenter facilement5.9. CONCLUSION 97
de nouvelles heuristiques de façon très structurée pour adresser un problème donné. Ce framework peut
être personnalisé par un expert pour développer de nouvelles métaheuristiques, et son architecture facilite
grandement la réutilisation du code existant. On retrouve dans la librairie des classes pour supporter les
tests algorithmiques. Certaines classes permettent également de collecter des statistiques d’exécution, les
informations de sortie pouvant être générées dans différents formats.
HotFrame HotFrame [93] (Heuristic OpTimization FRAMEwork) est un framework implémenté en C++
qui propose des algorithmes de recherche locale et des algorithmes à base de population de solutions.
HotFrame repose sur une architecture de collaboration entre les composants standards et les heuristiques
spécifiques aux problèmes. Tous les concepts classiques spécifiques aux problèmes sont représentés par
des objets ou des classes : problème, solution, voisin, voisinage et mouvement. C’est la même chose pour
les concepts standards liés aux métaheuristiques, à savoir les différentes méthodes ou stratégies (intensi-
fication, diversification). HotFrame utilise la généricité comme mécanisme de base pour rendre ces objets
adaptables : le comportement commun des métaheuristiques est factorisé et regroupé dans des classes gé-
nériques. Les templates des classes représentant les métaheuristiques sont paramétrables selon différents
aspects comme les espaces solutions et les structures de voisinage. Tous les composants sont implémentés
de manière cohérente, ce qui facilite l’intégration d’heuristiques liées aux problèmes ou la conception de
nouvelles méthodes. L’utilisateur peut dériver des classes existantes ou implémenter de nouvelles classes
à partir de zéro suivant une interface prédéfinie. HotFrame propose également des structures de voisinage
standards, la représentation de solutions et de mouvements ainsi que des opérateurs de recombinaison. En
proposant ce framework, les concepteurs ont recherché à la fois la performance et la facilité de réutilisation
du code. La dernière version disponible17remonte à juillet 2003.
LocalSolver LocalSolver [103] est un solveur de programmation mathématique qui intègre la technologie
de recherche locale. LocalSolver est commercialisé par la société Innovation2418 sous la forme d’une
"boite noire". L’utilisateur modélise son problème dans un formalisme simple. Le solveur se charge d’exploiter
efficacement ce formalisme pour résoudre le problème sans qu’il soit nécessaire de programmer un
mouvement ou une recherche. Le langage dédié proposé (LSP) se veut adapté pour modéliser simplement
une grande variété de problèmes. Des Api C++, C# et Java sont également disponibles.
ParadisEO ParadisEO [38] est une plateforme logicielle orientée objet dédiée à la conception et à la
réutilisation de métaheuristiques. Il s’agit d’un framework open-source qui repose sur la notion de template
C++. Il est portable, très complet, et basé sur la librairie Evolving Objects19 (voir la figure 5.13). ParadisEO
supporte les métaheuristiques de recherche locale ou à base de population de solutions, l’optimisation
mono-objectif et multi-objectif ainsi que le parallélisme.
5.9 Conclusion
Nous avons abordé ce chapitre central en commençant par définir les caractéristiques principales des problèmes
combinatoires avant de recenser les méthodes disponibles pour résoudre ces problèmes souvent
difficiles. Nous avons vu qu’il existait deux grandes classes de méthodes adaptées à leur résolution : les
17Libre de droits pour une utilisation non commerciale, Institute of Information Systems de Hambourg : http://www1.
uni-hamburg.de/IWI/hotframe/hotframe.html.
18Filiale du Groupe BOUYGUES issue de son département de R&D (e-lab), il s’agit d’une société de services, éditrice de
logiciels dans le domaine de la recherche opérationnelle et de l’aide à la décision (http://www.innovation24.fr/).
19EO : framework pour l’implémentation de métaheuristiques à base de population. Propose des algorithmes évolutionnaires
et des algorithmes à essaim de particules (http://eodev.sourceforge.net/).98 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.13 – Modules de la plateforme ParadisEO d’après [146].
méthodes complètes d’une part qui obtiennent les solutions optimales et garantissent les résultats et les
méthodes incomplètes d’autre part qui trouvent rapidement de bonnes solutions sans garantir l’optimalité.
Face à ces nombreuses méthodes de résolution disponibles, le premier problème pratique qui se pose
à un utilisateur confronté à une application concrète est d’effectuer un choix parmi les techniques les plus
adaptées. Or ce choix est d’autant plus difficile qu’il ne semble pas exister de comparaison générale et fiable
entre les différentes techniques, ni même entre les différentes métaheuristiques.
Néanmoins, notre étude permet de faire un premier constat : il n’existe pas une méthode qui soit la
meilleure pour résoudre tous les problèmes. D’autre part, il est essentiel de prendre en compte, en plus du
problème, les contraintes qui entourent sa résolution, notamment le critère de temps de réponse qui sera
déterminant par la suite.
De plus, cet état de l’art permet de dégager des règles générales qui semblent s’imposer. Lorsqu’un
problème donné peut être résolu avec une méthode exacte tout en répondant aux besoins contextuels, il faut
privilégier ces techniques qui garantissent les résultats obtenus.
Toutefois, pour de nombreux problèmes, il arrive que les méthodes complètes ne soient pas en mesure de
délivrer un résultat dans le temps imparti. Dans ce cas, si la situation le permet, il est intéressant d’exploiter
ces méthodes complètes au moins pour cerner la difficulté du problème et identifier des solutions optimales
avec les coûts correspondants (valeur de la fonction objectif). Ensuite, la mise en œuvre d’une métaheuristique
permettra d’obtenir de bons résultats, même pour des instances de taille importante. Néanmoins,
si le problème est de très grande taille et si le temps de résolution devient trop important, les mécanismes
distribués constituent une alternative efficace pour repousser encore ces limites.6
Systèmes interactifs d’aide à la décision
Nous abordons la conception interactive sous l’angle d’une plateforme d’aide à la décision reposant sur des
composants informatiques en charge de fournir aux décideurs le maximum d’éléments dans les meilleurs
délais pour les aider à résoudre des problèmes complexes auxquels ils sont confrontés. La complexité des
systèmes informatiques mis en place pour explorer, traiter et présenter des informations capables d’aider
l’utilisateur dans ses décisions est une question de recherche difficile qui reste ouverte. Nous nous inté-
ressons plus particulièrement au temps de traitement ainsi qu’à la qualité des solutions proposées par les
applications de résolution sous-jacentes qui doivent répondre très rapidement aux sollicitations des utilisateurs
pour garantir la fluidité de l’interaction homme/machine. Concevoir un système d’aide à la décision,
c’est concevoir un système temps réel [258] capable de fournir des résultats dans un délai contrôlé. Or,
obtenir des résultats dans un délai très court fixé à l’avance reste très difficile pour des problèmes à forte
combinatoire. Néanmoins, dans le contexte des systèmes d’aide à la décision, une bonne solution obtenue
dans les temps est souvent préférable à un résultat optimal obtenu hors délais. L’approche de résolution
anytime que nous abordons dans ce chapitre permet de fournir des résultats de meilleure qualité à chaque
pas de temps faisant que plus on accorde de temps à la procédure, meilleur est le résultat [83]. Cette approche
permet de prendre en compte nos exigences (en qualité et en temps liées aux SIAD) et apparaît donc
pertinente pour répondre à notre problématique [237, 291].
6.1 Aide à la décision
Les décisions individuelles ou collectives prises au sein d’une organisation par les décideurs participent
d’une manière ou d’une autre à son devenir. Elles sont le plus souvent prises sur la base d’intuitions et d’expériences
du passé [4]. Comme indiqué par H.A. SIMON [249], ces stratégies ne peuvent s’appliquer qu’à
des problèmes familiers. En effet, la prise de décision devient nettement plus difficile face à des situations
nouvelles et la difficulté augmente encore avec l’évolution rapide d’un environnement de travail de plus en
plus complexe. Pour HOLTZMAN [134], l’un des principaux problèmes pour la prise de décision consiste
à déterminer les informations pertinentes. Pour prendre les bonnes décisions face à des circonstances nouvelles
et compliquées, l’utilisation des Systèmes Interactifs d’Aide à la Décision devient essentielle afin
d’évaluer la situation, les différentes alternatives et leurs impacts.
99100 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION
FIGURE 6.1 – Modèle IDC (Intelligence, Design, Choice) proposé par H.A. SIMON [249].
6.1.1 Décision
Pour nombre de chercheurs, la décision peut être perçue comme un choix entre plusieurs alternatives [242].
P. LÉVINE et J.C. POMEROL [171] la définissent comme une action prise pour faire face à une difficulté
ou répondre à une modification de l’environnement pour résoudre un problème qui se pose à l’individu ou
à l’organisation. B. ROY et D. BOUYSSOU [236] pensent que la décision est le fait d’un individu isolé (le
décideur) qui exerce librement un choix entre plusieurs possibilités d’actions à un moment donné. Pour
H. MINTZBERG [193], une décision individuelle ou collective peut être définie comme l’engagement dans
une action correspondant à une intention explicite d’agir.
6.1.2 Processus de décision
Herbert Alexander SIMON, qui a reçu le prix Turing en 1975 puis le prix Nobel d’économie en 1978, a
proposé en 1960 un schéma général du processus de décision 1
(voir la figure 6.1) en trois phases qui reste
encore le modèle de référence [249] :
1. phase d’intelligence (investigation) : il s’agit de recenser l’ensemble des informations utiles et prioritaires
dont le décideur aura besoin lors de la prise de décision (objectifs ou priorités, définition du
problème à résoudre).
2. phase de modélisation (conception) : concerne la génération et le développement des différentes
alternatives (ou scénarios). Cette étape peut nécessiter une recherche d’information complémentaire.
3. phase de choix (sélection) : le décideur évalue les différents scénarios réalisés pendant la phase de
conception pour en retenir un seul. Il s’agit de déterminer les critères d’évaluation des différentes
solutions possibles et de mesurer les conséquences de chaque alternative.
Bien que ce modèle ne reflète que partiellement la réalité, il permet d’avoir une vision globale des
différentes tâches à accomplir pour aboutir à une décision. Les différentes phases se succèdent sans logique
chronologique préétablie et la présence de boucles pendant le processus de décision dépend du niveau
de structuration du problème (contraintes). Dans la figure 6.2, LE MOIGNE [167] met en correspondance
l’importance des phases du modèle IDC au regard de la structuration des décisions (problèmes).
6.1.3 Aide à la décision
Pour B. ROY [235], aider à décider consiste tout d’abord à aider à clarifier la formulation, la transformation
et l’argumentation des préférences, la notion de critère étant au cœur de la démarche. L’activité de déduction
et de modélisation qui s’exerce en vue d’éclairer le comportement d’un individu dans le processus de
1Dans la suite de cette section, nous n’aborderons pas l’aspect mise en œuvre d’une décision.6.1. AIDE À LA DÉCISION 101
FIGURE 6.2 – Correspondance entre l’importante des phases du modèle IDC et la structuration des décisions
proposée par LE MOIGNE [167].
décision constitue l’essence même de l’aide à la décision [236]. L’objectif n’est donc pas de résoudre le
problème, mais d’aider le décideur à construire une représentation pertinente de la situation, sachant qu’il
n’existe pas toujours de solution optimale pouvant s’imposer compte tenu de la multiplicité des points de
vue et des intérêts défendus ou du caractère multidimensionnel des contextes en situation de décision. Dans
ce cadre, la notion de meilleure décision (solution optimale) peut parfois être vide de sens [240].
L’aide à la décision peut néanmoins reposer sur des techniques et des méthodologies issues du domaine
des mathématiques appliquées telles que l’optimisation, les statistiques ou la théorie de la décision.
Les décisions peuvent être classées en plusieurs groupes [193]. Certaines sont faciles à prendre et se font
par ajustement mutuel (via le dialogue) tandis que d’autres obéissent à un déroulement fixe. Ces dernières
intègrent parfois un aspect purement combinatoire pouvant être automatisé et confié à une machine. Cependant,
la majorité des décisions combinent les deux aspects à la fois : le dialogue et la combinatoire. Pour ce
type de problème, la machine peut devenir un acteur à part entière dans la prise de décision, mais elle ne doit
en aucun cas être perçue comme une contrainte supplémentaire qui imposerait ses propres décisions sans
laisser de marge suffisante aux vrais acteurs que sont les humains. L’aide à la décision réside sur l’équilibre
entre le jugement humain et le traitement informatique.
Lorsque l’évaluation globale d’un objectif est complexe, il est nécessaire de décomposer l’objectif à
atteindre en structurant l’ensemble des critères d’évaluation [219]. Construire un modèle prenant explicitement
appui sur plusieurs critères traduit et formalise un mode de raisonnement intuitif et naturel face à un
problème de décision qui consiste à analyser séparément chaque conséquence [234].
6.1.4 Systèmes Interactifs d’Aide à la décision
Les premiers outils d’aide au traitement de l’information et à la prise de décision sont apparus il y a une
quantaine d’années [170]. En France, ils sont connus sous le nom de « Système d’Aide à la Décision »
(SAD) alors que dans les pays anglo-saxons on parle de « Decision Support System » (DSS) [171]. Plus
qu’un simple système de traitement de l’information permettant d’extraire et de donner au décideur l’information
nécessaire au processus de décision [171], un SAD peut être considéré comme un résolveur de
problèmes (problem solver) [204].
Un SAD se compose de trois modules (figure 6.3) :
• un module de dialogue : permet au décideur d’accéder aux données et modèles et lui fournit en
retour le résultat de ses manipulations pour exercer son contrôle et sa recherche heuristique dans les102 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION
FIGURE 6.3 – Structure d’un SAD proposée par SPRAGUE [255].
meilleures conditions ;
• un module de données : stocke les données permanentes (statistiques, données qui décrivent la situation
courante ou passée, etc.) ou temporaires (données intermédiaires) ;
• un module contenant les procédures de calcul ou modèles : procédures de calculs standards (indices,
indicateurs, etc.) et procédures de représentation des données.
Le concept d’aide à la décision "interactive" fait référence à l’équilibre entre le jugement humain et le
traitement des informations par l’ordinateur. On parle alors de « Système Interactif d’Aide à la Décision »
(SIAD). Lorsque le SIAD intègre en plus une dimension spatiale (représentation de cartes géographiques,
plans, etc.), on est face à un « Système Spatial Interactif d’Aide à la Décision » (Spatial Decision Support
System en anglais). Les SIAD recouvrent un large spectre d’applications (potentiellement chaque activité
humaine nécessitant un processus de décision élaboré) et ils s’appuient sur plusieurs domaines de recherche
de l’informatique comme par exemple les systèmes de gestion de bases de données (SGBD), la recherche
opérationnelle ou l’intelligence artificielle.
Dès leur origine, on pouvait distinguer deux catégories de SIAD [50] :
• ceux qui font une large place aux algorithmes d’optimisation et aux calculs numériques ;
• ceux qui se consacrent exclusivement à la gestion de l’information.
P.G.W. KEEN et M.S. SCOTT-MORTON [149] présentent les SIAD comme des systèmes adaptés à la
résolution des problèmes de décision peu ou mal structurés où l’homme prend l’avantage sur la machine,
contrairement au traitement des problèmes structurés où la machine peut prédominer. Voici la définition
qu’ils en donnent : « Les systèmes d’aide à la décision permettent de coupler les ressources intellectuelles
des individus avec les capacités des ordinateurs pour améliorer la qualité des décisions. C’est un système
d’aide informatique aux décideurs qui traitent des problèmes semi-structurés ». Pour R.H. SPRAGUE et
E.D. CARLSON [254], « Les SIAD sont des systèmes informatisés et interactifs qui aident les décideurs en
utilisant des données et des modèles pour résoudre des problèmes mal structurés ».
Il existe un large consensus pour dire que les SIAD doivent posséder des facilités interactives afin
d’interroger l’utilisateur. La notion d’interactivité est une caractéristique commune à tous ces systèmes
qui renvoie au rôle actif indispensable de l’utilisateur dans leur fonctionnement au travers d’une interface
homme/machine bien intégrée [171]. L’information nécessaire à l’utilisateur doit être disponible sous sa
forme la plus adéquate pour qu’il puisse prendre des décisions. En permettant d’éliminer les données non
pertinentes et en présentant des faits déduits à partir des systèmes d’information, l’intelligence artificielle a
joué très tôt un rôle important dans ce dispositif et son lien avec les SIAD n’a fait que se renforcer au cours
des années [221, 56]. Le décideur contrôle le processus de décision et le SIAD l’assiste en effectuant les
calculs standards et répétitifs sur les données [151].6.2. RÉSOLUTION TEMPS RÉEL 103
Lorsque l’utilisateur est l’élément prépondérant du couple homme-machine, tout ou partie du processus
de décision lui revient. Toutes les solutions ne sont pas atteintes et seul un sous-espace de l’espace de
recherche est exploré. On parle de recherche heuristique 2 menée par le décideur avec un système qui
jalonne le processus de recherche à l’aide d’indicateurs et d’informations. Le décideur stoppe l’exploration
heuristique des actions possibles lorsque tout lui indique que la solution construite rencontre ses buts de
façon satisfaisante [221, 171]. La coopération entre le décideur et le système informatique ne peut alors être
fructueuse que dans le cadre d’un système interactif.
Enfin, pour qu’un SIAD soit accepté par ses utilisateurs, il faut non seulement qu’il puisse gérer toutes
les informations utiles à la décision, mais il faut également que sa logique décisionnelle puisse être appré-
hendée par ceux qui l’utilisent : l’explication permet en effet de juger de la pertinence de ses déductions
ou de ses inférences. Comme nous l’avons déjà évoqué, l’objectif n’est pas de rechercher une solution optimale,
mais plutôt d’orienter le décideur vers des points qu’il ne serait pas toujours en mesure d’observer
sans une assistance appropriée.
6.1.5 Classification des SIAD au niveau utilisateur
P. HÄTTENSCHWILER [98] énumère trois catégories de SIAD pouvant être observées du point de vue des
utilisateurs :
1. passif : aide le processus décisionnel mais n’est pas en mesure d’apporter de solutions ou de suggestions
de décisions explicites ;
2. actif : peut apporter des solutions ou suggestions de décisions explicites ;
3. coopératif : permet au décideur de modifier, de compléter ou d’affiner les suggestions de décisions
fournies par le système avant de les renvoyer au système pour validation. De son coté, le système
améliore à son tour, complète et affine les suggestions du décideur avant de les lui renvoyer pour
validation. Cette boucle de rétroaction se poursuit jusqu’à ce qu’une solution consolidée soit générée.
6.2 Résolution temps réel
Les applications temps réel sont présentes dans un nombre croissant de domaines comme l’industrie, la
médecine, les communications, l’aéronautique, la robotique, les transports ou l’armement [243]. Plus ré-
cemment, ces systèmes ont fait leur apparition dans bien d’autres secteurs, notamment le multimédia, les
consoles de jeux ou le suivi des malades [83]. La notion d’application temps réel est très souvent utilisée
sans qu’elle ne soit toujours bien définie. On peut néanmoins qualifier une application temps réel comme
une application dont l’exécution est soumise à des contraintes temporelles. Cindy A. O’REILLY et Andrew
S. CROMARTY [208] identifient un système temps réel comme un système devant donner une réponse en
un temps strict au regard de l’algorithme mis en œuvre. Pour Thomas J. LAFFEY et al. [159], c’est la possibilité
pour un système de garantir une réponse après qu’un certain temps se soit écoulé. On peut également
percevoir un système temps réel comme un système dont le temps de réponse est rapide [172]. Or selon
MUSLINER et al. [201], une application temps réel ne correspond pas à un système "rapide" mais plutôt
à un système "suffisamment rapide" pour répondre en un temps donné, ce temps étant lié au contexte de
résolution. Dans [243], lorsqu’on étudie un système de décision temps réel (Real-Time Decision System en
anglais ou RTDS), la première chose qui vient à l’esprit est probablement la notion de réaction rapide à un
événement externe.
Compte tenu de leur grande diversité, une classification courante de ces systèmes consiste à évaluer les
conséquences provoquées par le non respect de l’échéance :
• échéance stricte critique : le manquement de l’échéance peut avoir des conséquences catastrophiques
(pertes humaines, matériel, environnement, . . . ) ;
2Une méthode heuristique est une méthode dans laquelle, à chaque pas, le raisonneur fait des choix [56].104 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION
• échéance stricte non critique : lorsque l’échéance n’est pas respectée, la tâche devient caduque ;
• échéance non stricte : le dépassement de l’échéance est sans conséquence et la tâche peut se poursuivre,
seule la qualité du service sera diminuée.
Dans cette thèse, nous abordons la notion de résolution temps réel dans le cadre d’un SIAD en lien
avec des problèmes d’optimisation combinatoire dont l’échéance pourrait être considérée comme stricte
non critique voire non stricte. Pour un tel système interactif mettant en relation un utilisateur avec une
application chargée de l’accompagner dans ses décisions, l’application en question doit pouvoir réagir aux
événements de l’utilisateur en une fraction de seconde. Or, si un événement de cette application concerne
la résolution d’un problème combinatoire sur des instances réelles de grande taille, il parait difficile à
première vue d’atteindre l’objectif de temps fixé. Néanmoins, en admettant que notre application puisse
utiliser des résultats dont la qualité n’est pas optimale, nous pouvons explorer une voie prometteuse relative
aux algorithmes anytime ("à tout moment") apparus en intelligence artificielle à la fin des années 80 [67,
136].
6.2.1 Algorithme anytime
T. DEAN et M. BODDY [67, 32] définissent un algorithme anytime comme un algorithme itératif qui garantit
de produire une réponse à toute étape de calcul, où la réponse est supposée s’améliorer à chaque
itération. Du point de vue de l’implémentation, un algorithme anytime doit posséder les caractéristiques
suivantes [83] :
• la qualité du résultat est fonction du temps d’exécution alloué et de la qualité des ressources fournies
en entrée ;
• la qualité du résultat augmente toujours ou reste stable en fonction de l’évolution du temps de calcul
(monotonicité) ;
• on dispose d’informations statistiques sur la qualité des résultats en fonction du temps alloué (prévisibilité)
;
• il peut être interrompu à tout moment (interruptibilité) ;
• il peut poursuivre son exécution au delà du temps alloué si on change le temps prévu en cours d’exé-
cution (continuité) ;
• il doit pouvoir être suspendu et relancé au même point avec un temps de réponse négligeable.
On distingue deux types d’algorithme anytime : celui où le temps est connu avant de lancer la résolution
et celui où le temps n’est pas défini à l’avance. Si le temps de résolution est connu au lancement, on
parle de contexte contractuel et le processus de résolution doit absolument fournir une solution au terme de
l’échéance fixée. Dans le cas où le temps de résolution n’est pas connu à l’avance, on parle de contexte interruptible.
Dans une telle situation, l’algorithme de résolution doit être en mesure de fournir à tout moment
une solution de la meilleure qualité possible. Être dans la capacité de fournir à chaque instant un résultat
quel que soit le temps disponible représente une exigence très forte. Néanmoins, dans la pratique, le temps
de résolution attribué au contexte doit toujours être supérieur à un temps minimum permettant au processus
d’initialiser la recherche et de générer une première solution [243]. Un algorithme contractuel (ou algorithme
anytime contractuel) est plus facile à mettre au point qu’un algorithme interruptible (ou algorithme
anytime interruptible). Cependant, un algorithme interruptible peut être construit à partir d’un algorithme
contractuel au prix tout de même d’un temps de calcul supplémentaire pour atteindre une solution de même
qualité.
6.2.1.1 Qualité des solutions
Dès qu’une limite de temps est imposée, il n’est plus certain que la résolution puisse aller jusqu’à son terme.
Dans ce cas, le résultat peut être partiel (sous-optimal) ou même incorrecte si la solution produite n’est
pas admissible. Il peut donc être utile ou même indispensable dans certaines circonstances de connaître6.2. RÉSOLUTION TEMPS RÉEL 105
FIGURE 6.4 – Comparaison des profils de qualité de deux méthodes de résolution M1 et M2 sur une même
instance de problème. Bien que les deux méthodes atteignent l’optimum pour un temps T de résolution
identique, la méthode M1 apparaît plus efficace que M2 dans un contexte interruptible. D’après la thèse de
Lionel LOBJOIS [172].
précisément ou d’évaluer la qualité d’une solution afin de prendre une décision. Par exemple, dans un
contexte interruptible, l’utilisateur pourrait décider de ne pas poursuivre une résolution si la qualité de la
solution courante est satisfaisante. Connaître le coût d’une solution n’est pas toujours suffisant pour évaluer
la qualité de celle-ci. On doit en effet pouvoir évaluer sa distance à l’optimum. Cependant, la distance d’une
solution à l’optimum est aussi difficile à trouver que l’optimum lui même. Compte tenu de cette difficulté,
on se limite très souvent dans la pratique à rechercher la meilleure solution possible pour un contexte de
résolution donné. Cet objectif consiste alors à trouver une solution du meilleur coût possible sans pouvoir
quantifier sa qualité [172].
6.2.1.2 Profil de qualité
Le profil de qualité (PDQ) correspond à la courbe d’évolution du coût de la meilleure solution produite par
rapport à la progression du temps de résolution [172]. Le PDQ d’une méthode de résolution fournit beaucoup
plus d’indications qu’un simple temps de résolution global et il est particulièrement utile pour évaluer
une méthode de résolution dans un contexte interruptible. A titre d’exemple, imaginons deux méthodes M1
et M2 (voir la figure 6.4) capables de fournir toutes les deux une solution optimale sur la même instance
de problème pour la même échéance de temps. Dans un contexte interruptible, il semble évident que la
méthode M1 est plus efficace que la méthode M2 car elle produit à tout moment des solutions de meilleure
qualité. Cependant, il peut être difficile de comparer deux PDQ différents lorsque chaque méthode propose
tour à tour des solutions de meilleure qualité. Dans ce cas, une issue consiste à fixer soit un seuil de qualité
soit un seuil de temps pour permettre la comparaison. On utilisera le plus souvent un PDQ moyen compte
tenu du caractère stochastique de certaines méthodes pouvant produire pour une même instance de problème
des PDQ très différents. Le PDQ moyen correspond à la courbe de qualité moyenne de la meilleure
solution obtenue en fonction du temps de recherche imparti. Dans le cadre des problèmes d’optimisation
combinatoire et en l’absence d’information sur la qualité des solutions produites, il est courant d’utiliser le
PDQ moyen pour classer les méthodes de résolution.106 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION
6.2.2 Méthodes de résolution adaptées au contexte de décision temps réel
Pour R. SÉGUIN et al. [243], lorsque les temps de résolution imposés sont très courts, les méthodes approchées
(métaheuristiques, voir la section 5.2.2) constituent des classes d’algorithmes particulièrement
appropriées. Plus précisément, les algorithmes génériques issus de la recherche opérationnelle tels que le
recuit simulé (section 5.6.7), la recherche tabou (section 5.6.8), la méthode GRASP (section 5.6.10.1) ou
encore les algorithmes génétiques possèdent tous certaines caractéristiques requises pour la résolution de
problèmes de décision temps réel. Chacune des quatre méthodes expose notamment le comportement des
algorithmes anytime avec une qualité de la solution produite qui s’améliore avec le temps. Même si au sens
strict du terme ils ne peuvent pas être considérés tels quels comme des algorithmes anytime car incapables
de produire une solution initiale si le temps imposé est insuffisant, ils peuvent néanmoins être facilement
adaptés pour répondre au cas par cas à l’ensemble de caractéristiques requises.
D’un autre côté, les méthodes complètes (section 5.2.1) semblent peu adaptées à cet environnement
compte tenu de leur côté systématique et exhaustif [172]. Les méthodes de résolution basées sur une approche
de construction (section 5.5) ne sont pas adaptées non plus au contexte anytime car elles construisent
pas à pas une solution en partant d’une solution partielle initialement vide qu’elles cherchent à étendre à
chaque étape jusqu’à obtenir une solution complète [127], ce qui écarte de nombreuses méthodes comme
les méthodes gloutonnes (section 5.5.1), les méthodes avec retour arrière (section 5.4.1.4) ou encore celles
basées sur des algorithmes de séparation et d’évaluation (section 5.2.1.2) progressive.
6.2.3 Contribution du parallélisme
Dans un environnement temps réel, et bien que cela ne soit pas une démarche naturelle, il est souvent nécessaire
de mettre en œuvre des techniques de calcul parallèle pour améliorer la vitesse des traitements [243].
On constate en effet une activité de recherche importante autour de l’implémentation d’heuristiques de
recherche parallèles performantes (voir 5.7). Mais une telle démarche est souvent ardue. Par exemple, l’algorithme
de recherche tabou est à la base un algorithme séquentiel. On peut alors exploiter le parallélisme
pour permettre à différents processeurs d’explorer uniquement une petite portion du voisinage de la solution
courante. Des implémentations asynchrones peuvent également être exploitées en lançant différents processus
de recherche tabou séparés sur différents processeurs et en les faisant communiquer au travers d’un
espace mémoire partagé. Dès que la meilleure solution globale est améliorée par l’un des processus, la nouvelle
meilleure solution peut être mémorisée sur la mémoire partagée. À contrario, un processus n’arrivant
pas à améliorer sa meilleure solution sur une longue période pourrait utiliser la meilleure solution globale
présente dans l’espace mémoire partagé pour redémarrer son processus de recherche. Des dispositifs similaires
sont possibles pour paralléliser l’algorithme du recuit simulé. Concernant les algorithmes génétiques,
ils sont faciles à paralléliser car ils suivent nativement différents chemins de recherche. La méthode GRASP
peut également profiter du parallélisme grâce à une génération parallèle de nombreuses solutions à la phase
de construction. Au final, des approches hybrides sont possibles. Par exemple, on peut lancer différents
processus de recherche tabou concurrents sur différents processeurs pour combiner les meilleures solutions
trouvées de deux processus et utiliser cette nouvelle solution croisée comme solution de départ sur un
nouveau processeur.
6.3 Principe de maintien de solution dans un système dynamique
Nous étudions ici certains procédés [276, 22] liés au cadre des problèmes dynamiques de satisfaction de
contraintes (section 5.1.3) susceptibles d’être transposés à notre problème dynamique d’optimisation sous
contraintes (section 5.1.4).
Bien que la recherche se soit focalisée très longtemps sur des problèmes statiques, la plupart des problèmes
de RO ou d’IA sont en réalité des problèmes dynamiques, c’est à dire des problèmes où l’ensemble6.4. CONCLUSION 107
des variables et des contraintes à considérer pendant la phase de résolution évolue du fait de changements
(événements) provenant soit de l’environnement, soit de l’utilisateur ou plus généralement d’autres agents.
À titre d’exemples, ces changements peuvent intervenir :
• au niveau de l’environnement : l’état physique du système permettant de réaliser les actions prévues
évolue (pannes, incidents, ressources non disponibles, effets des actions, . . . ), ce qui rend leur exécution
rarement conforme aux prévisions ;
• au niveau de l’utilisateur : pour des problèmes de conception interactive, l’utilisateur travaille par
explorations successives de spécifications différentes pour évaluer les implications liées à tel ou tel
choix ;
• au niveau des agents : les décisions d’un agent dans un système distribué modifient les spécifications
des problèmes traités par d’autres agents.
Les systèmes d’aide à la décision font partie des nombreux problèmes soumis à des perturbations [86]
où l’utilisateur peut commander le système en lui fournissant de nouvelles données et où le solveur informe
l’utilisateur en retour.
6.3.1 Besoins utilisateurs
Concernant l’utilisateur, l’efficacité de la recherche et la stabilité des solutions successives sont deux besoins
essentiels :
• le besoin de mécanismes de recherche efficaces peut être plus fort dans le cadre de problèmes dynamiques
où le temps disponible pour produire une nouvelle solution est souvent limité.
• la stabilité des solutions successives peut être importante au cas où un certain travail a pu être engagé
sur la base de la solution précédente. La stabilité est une propriété qui lie les solutions successives
produites par un système dynamique. Une solution est stable par rapport à la solution précédente si le
passage d’une solution à l’autre se fait par de petits changements [86].
6.3.2 Réparation de la solution précédente
La méthode proposée par [192] s’attache à réparer une affectation complète issue de la recherche précédente
plutôt qu’à reconstruire une solution à partir de zéro. Une heuristique de réparation ou de minimisation
des conflits consiste à choisir une variable intervenant dans une contrainte insatisfaite et à choisir, pour
cette variable, une valeur qui minimise le nombre de contraintes insatisfaites. Ces heuristiques peuvent
être utilisées aussi bien dans le cadre d’une recherche systématique (section 5.2.1) ou non systématique
(section 5.2.2). Cette méthode donne de bons résultats à la fois en termes d’efficacités et de stabilité, sur
des problèmes sous-contraints. Néanmoins, pour fournir une solution proche de la solution précédente, des
techniques ont du être développées pour répondre notamment à l’objectif de minimisation du nombre de
variables dont l’affectation est modifiée [21]. Notons que le critère de distance entre deux solutions peut
être agrégé avec d’autres critères de type coût propres au contexte.
6.4 Conclusion
Les SIAD changent la manière de prendre les décisions face à une information qui a tendance à se globaliser,
des problèmes du plus en plus difficiles à résoudre et des délais de réflexion qui se réduisent. Ces
systèmes représentent désormais des dispositifs de collaboration particulièrement adaptés entre l’homme et
la machine pour accompagner des processus complexes devenus très souvent collectifs. Ils reposent en partie
sur des techniques issues du domaine des mathématiques appliquées comme l’optimisation combinatoire
pour aider efficacement les décideurs dans leurs tâches les plus ardues, notamment face à des problèmes
peu ou mal structurés. Le maintien de solution dans un cadre d’aide à la décision est un problème supplé-
mentaire qui a été abordé assez tardivement par les communautés scientifiques malgré une profusion de cas108 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION
disponibles dans nos quotidiens. Il pose une double difficulté : efficacité accrue de la résolution et stabilité
des solutions proposées. Dans ce contexte, La technique qui consiste à réutiliser une solution précédente
sur un problème dynamique semble être une voie incontournable pour répondre à ces deux objectifs. Enfin,
en résolution de problèmes combinatoires, garantir la prédictibilité des temps de calculs et la qualité des solutions
disponibles à chaque instant est particulièrement difficile à assurer avec les algorithmes classiques,
complets ou incomplets. L’ensemble de ces difficultés fait probablement que peu d’applications d’aide à
la décision développées autour des problèmes combinatoires sur de grosses instances soient réellement des
applications temps réel.7
Modélisation urbaine
Compte tenu de la puissance de calcul des ordinateurs actuels, le recours à la simulation est un moyen
crédible de nos jours pour s’attaquer à des problématiques complexes auxquelles nos sociétés modernes sont
confrontées. Or, toute simulation doit s’appuyer sur un modèle, c’est à dire une représentation simplifiée
d’une réalité qui lui donne du sens et permet de mieux la comprendre [123].
En matière d’environnements urbains, de nombreux travaux ont été proposés ces dernières décennies
pour mieux comprendre l’organisation des villes. C’est le cas notamment des modèles d’économie spatiale,
d’écologie urbaine ou encore d’interaction spatiale. Plus récemment, on a assisté à l’émergence de
l’approche systémique et individu-centrée annoncée comme une évolution majeure. Ces derniers modèles
sont réputés pouvoir représenter des systèmes complexes dans leur globalité en se basant sur le concept
d’émergence provenant des interactions entre les individus (emplacements, habitants, emplois, résidences,
entreprises, routes, . . . ) qui composent le système.
Dans ce chapitre, nous présentons un état de l’art de la modélisation urbaine restreint à des thèmes
proches de notre problématique. Pour positionner nos travaux dans le panorama de la recherche actuelle,
nous détaillons plus particulièrement trois approches représentées par les projets de recherche UrbanSim et
GeOpenSim d’une part, et par la plateforme commerciale CommunityViz d’autre part.
En effet, de nombreux projets de recherche relatifs aux problématiques urbaines sont initiés sur les différents
continents. Nombre d’entre eux s’intéressent à la fois aux problématiques du transport et à celles de
l’occupation du sol, le but étant de mieux évaluer l’impact des choix actuels sur le long terme. Ces modèles
sont regroupés sous l’abréviation LUTI (Land Use and Transport Interaction model). Dans ce contexte,
nous avons souhaité étudier le projet de recherche UrbanSim mis au point aux États-Unis par l’équipe de
Paul WADDEL et ayant une forte orientation pour l’aménagement des espaces urbains. Ce modèle dynamique
a su s’imposer ces dernières années, y compris au sein de certains projets de recherche européens.
Mais ce projet nécessite beaucoup de données en entrée. Or, beaucoup d’informations utiles peuvent être
exploitées à partir d’une simple photographie. C’est l’approche originale qui a été retenue par le projet
de recherche GeOpenSim qui a suscité notre curiosité et que nous décrivons brièvement. D’un autre côté,
on trouve la plateforme commercialisée sous le nom de CommunityViz qui se présente comme un outil de
nouvelle génération pour la planification urbaine : voyons ensemble si cet outil est adapté à nos besoins et
quelles sont les réponses innovantes qu’il est en mesure de délivrer aux urbanistes et décideurs ?
Indépendamment des modèles spécialisés relatifs à l’urbanisme, la famille des problèmes génériques
de positionnement révèle de très fortes similitudes par rapport à notre problématique qui consiste à positionner
au mieux des éléments urbains (habitations, écoles, commerces, . . . ) sur chaque cellule d’une grille
(emplacements libres), chaque élément devant être associé à une et une seule cellule. Parmi les nombreux
problèmes de positionnement référencés, nous introduisons plus particulièrement le problème d’affectation
109110 CHAPITRE 7. MODÉLISATION URBAINE
FIGURE 7.1 – Profit de la rente foncière et anneaux de Von THÜNEN (pour 3 anneaux). D’après J.H. VON
THÜNEN et al. [279].
quadratique représentatif des problèmes d’optimisation fortement combinatoire. L’étude de ce problème
de référence nous apportera peut-être les derniers éléments de réponse utiles à notre modèle spécifique de
pré-programmation urbaine.
7.1 Représentations historiques de la ville
Les premières représentations de la ville initiées par les économistes remontent au début du 19ème siècle.
Elles considèrent généralement la proximité urbaine comme source de profits, ces profits pouvant être maximisés
en choisissant une localisation optimale pour chaque type d’activité.
Ces travaux pouvaient s’intéresser aux critères de choix d’implantation d’une industrie, aux rapports
entre localisation et rente foncière en fonction de la distance au centre ville, en encore à la répartition des
villes et des activités au sein d’un espace régional.
7.1.1 Les modèles d’économie spatiale
Les premiers modèles d’urbanisation cherchent à étudier et à prévoir l’occupation du sol entre différents
types d’activités (résidentielles, économiques, équipements, . . . ). Ils ont une portée essentiellement théorique
et leur apport à l’urbanisme opérationnel reste généralement limité.
Dès 1820, Von THÜNEN cherche à expliquer la localisation des activités agricoles autour des villes
allemandes. Grâce à la formulation de plusieurs hypothèses sur les bases d’une ville théorique et d’un
espace isotrope1
, il a démontré que la production d’une denrée n’est rentable qu’à une distance donnée du
marché compte tenu de son coût de transport et du coût de la terre (rente foncière) [279]. Ainsi, plus le coût
de transport d’un produit est élevé, plus le produit sera proche du marché (cf. figure 7.1).
En 1933, W. CHRISTALLER [45] avec sa théorie des lieux centraux (cf. figure 7.2) tente d’expliquer
la taille, le nombre et la répartition hiérarchique et géographique des villes au sein d’un espace régional.
1Qui représente les mêmes caractéristiques physiques dans toutes les directions, en tout point homogène.7.1. REPRÉSENTATIONS HISTORIQUES DE LA VILLE 111
FIGURE 7.2 – Modèle de CHRISTALLER : théorie des lieux centraux. D’après W. CHRISTALLER [45].
Il montre qu’une région s’organise hiérarchiquement en fonction de l’offre en biens qu’elle propose sur la
base d’hypothèses simplistes (accessibilité et niveaux de revenus égaux en tout point, etc.).
En partant des travaux de A. LÖSCH (1940) [175] qui utilise des méthodes de découpage de l’espace
en zones homogènes pour faire des analyses spatiales de phénomènes urbains, K.G. ZIPF propose la loi
rang-taille en 1949 [292]. Cette loi considère que la taille des villes est distribuée de manière inverse à leur
rang, indépendamment de l’espace et du temps (cf. figure 7.3).
FIGURE 7.3 – Modèle de ZIPF : relation rang-taille des unités urbaines françaises en 1990. D’après
FABRIÈS-VERFAILLIE et al. [89].
En 1964, W. ALONSO [6] donne naissance à l’économie urbaine en élaborant un premier modèle basé
sur la théorie de la croissance urbaine. Ces modèles liés à l’étude des valeurs foncières veulent expliquer le
comportement des ménages et des activités économiques en cherchant un compromis entre proximité, pé-
nibilité du trajet, disponibilité du terrain et leur prix. Dans sa théorie, l’organisation spatiale de l’utilisation
du sol est déterminée par la valeur foncière, elle-même liée aux coûts de transport. Chaque activité est en
mesure de payer une rente en fonction de la distance au centre, les différentes localisations entre activités
étant interdépendantes (cf. figure 7.4).112 CHAPITRE 7. MODÉLISATION URBAINE
FIGURE 7.4 – Modèle de rente à payer en fonction de la distance au centre. D’après W. ALONSO [6].
7.1.2 Les modèles de l’écologie urbaine
L’écologie urbaine introduite par l’école de Chicago [120] consiste à étudier les interactions entre les êtres
vivants et la ville. Elle marque les débuts d’une analyse des espaces urbains par les sciences sociales en
proposant des modèles explicatifs de répartition des populations en fonction de leurs caractéristiques sociales,
familiales, ethniques, etc. Dans cette lignée, on recense trois principaux modèles complémentaires
qui décrivent la ville sous forme d’aires suivant différents critères.
Le modèle de BURGESS [37] (1925) étudie les itinéraires résidentiels socio-spatiaux et prend la forme
d’un schéma concentrique pour d’écrire l’organisation d’un espace urbain (cf. figure 7.5).
FIGURE 7.5 – Modèle radioconcentrique de BURGESS. D’après E.W. BURGESS [37].
Le modèle de HOYT [137] (1939) considère que des conditions particulières ou des lignes de communication
favorables ont un effet structurant sur les zones voisines qui deviennent plus attractives. À partir de
cette idée, la ville est structurée en arcs de cercles et en secteurs (cf. figure 7.6).
En 1945, HARRIS et ULLMAN [129] s’appuient sur une organisation de l’agglomération constituée de
noyaux, chaque noyau étant caractérisé par une fonction et articulé par des axes de transport (cf. figure
7.7). Dans leur modèle, certaines fonctions se repoussent alors que d’autres s’attirent ou dépendent des
caractéristiques du site.7.1. REPRÉSENTATIONS HISTORIQUES DE LA VILLE 113
FIGURE 7.6 – Modèle de HOYT sur la théorie des secteurs : (1) Centre des affaires, (2) Industries et entrepôts,
(3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences des classes
aisées. D’après H. HOYT [137].
FIGURE 7.7 – La théorie des centres multiples : (1) Centre des affaires, (2) Industries légères et entrepôts,
(3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences des classes aisées,
(6) Industries lourdes. D’après C.D. HARRIS et E.L. ULLMAN [129].
7.1.3 Les modèles d’interaction spatiale
La notion d’interaction spatiale est souvent définie comme l’étude de la décroissance des flux avec la distance,
la distance participant notamment à la structuration de l’espace géographique par des champs de
force [224].
Cette approche, ramenée par analogie aux lois de la gravitation universelle, a donné lieu aux modèles
déterministes de E.G. RAVENSTEIN [225] qui remontent à 1889. En général, ces modèles gravitaires font
dépendre le volume d’interaction entre deux lieux de la masse des lieux émetteurs et récepteurs ainsi que
de l’inverse du carré de la distance qui les sépare.
Les modèles gravitaires de STEWART [259] et de ZIPF [293] sont conformes à la théorie de la gravité
de NEWTON : l’interaction entre deux unités géographiques est proportionnelle au produit de leurs
masses respectives (population, richesse, etc.) et inversement proportionnelle à la distance qui les sépare.
Par ailleurs [224], ZIPF a proposé d’appeler « loi du moindre effort » la propension universelle à couper au
plus court et à aller au plus proche : ce qui revient à organiser les activités et les déplacements en fonction
de la distance.
Les modèles de REILLY [229] et HUFF [139] s’attachent quant à eux à déterminer les aires de marché
théoriques d’un ensemble de lieux centraux. Ils cherchent à décrire les lieux appartenant à une zone de
marché en exploitant les relations entre ces lieux.114 CHAPITRE 7. MODÉLISATION URBAINE
Comme le souligne Denise PUMAIN dans son "essai sur la distance et l’espace géographique" [224],
en référence au cartographe américain Waldo TOBLER : « tout interagit avec tout, mais la première loi de
la géographie est que deux choses proches ont plus de chances d’entrer en interaction que deux choses
éloignées ».
Bien que la majorité des modèles étudiés dans les sections précédentes n’apportent que de faibles justifications
théoriques, souvent dépassées et incapables à elles seules de décrire les situations actuelles, ils
constituent une base solide pour les modèles qui suivront.
7.2 Vers une approche systémique et individu-centrée
J. DE ROSNAY définit un système comme "un ensemble d’éléments en interaction dynamique, organisés
en fonction d’un but" [65]. Ainsi, la majorité des problèmes actuels peuvent être considérés comme des
systèmes complexes dans la mesure où ils font intervenir un grand nombre de variables connectées entre
elles, ils sont difficiles à comprendre dans leur globalité et peuvent être représentés de différentes façons.
L’approche analytique et sectorielle à partir de laquelle les systèmes complexes ont longtemps été étudiés
et décomposés en autant de champs que possible (économie, habitat, transport, etc.) est nécessairement
réductionniste et montre d’importantes limites [8]. Cette approche consistant à réduire la nature complexe
des choses en la décomposant mène à des solutions partielles qui ne traitent qu’un aspect du problème. Et
ces solutions fragmentaires ont souvent des conséquences indirectes non maîtrisées sur d’autres aspects du
problème. Au contraire, l’approche systémique proposée dès 1968 par L. VON BERTALANFFY [278] considère
un système complexe comme un ensemble de systèmes emboîtés les uns dans les autres et orientés dans
une finalité commune [154]. Les parties du système étudié ne peuvent être comprises si elles sont considé-
rées isolément. Elles sont dynamiquement reliées entre elles dans une interaction et une interdépendance
permanentes [95]. Cette démarche envisage tout système complexe comme un ensemble d’éléments faisant
système et encourage à un travail transdisciplinaire [39]. L’approche systémique permet d’appréhender un
problème dans sa globalité pour proposer des solutions qui prennent en compte l’ensemble des effets, "un
tout ne se réduisant pas à la somme de ses parties constitutives" [197].
La ville est faite de multiples composants, articulés entre eux au sein de sous-systèmes urbains en
interactions dynamiques, ces interactions étant à l’origine du comportement du système dans le temps.
La ville peut donc être vue comme un système complexe. Dès lors, l’approche systémique appliquée à la
ville apparaît pertinente pour la considérer comme « un tout » et rendre compte de sa complexité et de son
auto-organisation [223]. Ainsi, avec la parution de Urban Dynamics [96], J. FORRESTER est le premier à
proposer un modèle de dynamique urbaine destiné à la simulation du développement à très long terme et à
l’exploration des conséquences de politiques alternatives. Cette étude qui rompt avec les modèles précédents
a notamment permis de qualifier les systèmes urbains comme des systèmes contre intuitifs et extrêmement
robustes (peu sensibles aux valeurs des paramètres ou variables d’entrée du modèle).
A partir des années 1970, les termes quantification, modélisation, approche systémique et analyse spatiale
sont devenus des mots clés pour tout géographe. C’est alors que les travaux de modélisation se généralisent
et permettent la construction de scénarios, la discussion et la confrontation d’idées. Avec les progrès
techniques, on accède progressivement aux possibilités de traitement des données spatialisées. Cette évolution
permet le couplage des modèles avec des systèmes d’informations géographiques (SIG) et le développement
des modèles individu-centrés essentiellement composés des automates cellulaires2
et des systèmes
multi-agents3
. Les modèles centrés individus permettent de prendre en compte un grand nombre d’individus
(i.e. cellules ou agents) en désagrégeant les comportements de chacun d’entre eux. Cette technique liée à
2Un réseau d’automates cellulaires (AC) se présente comme "un système de cellules interagissant localement de manière
simple et manifestant un comportement global complexe"(Stephen WOLFRAM).
3Système composé d’un environnement, d’un ensemble d’objets passifs localisés et d’un ensemble d’agents actifs situés
capables de percevoir, produire, consommer, transformer et manipuler les objets (Jacques FERBER).7.3. LA MODÉLISATION LUTI 115
une dimension stochastique enrichit nettement la modélisation et prend le parti pris de l’émergence, l’un
des concepts les plus intéressants des modèles systémiques [39].
Il est indéniable que la modélisation à base d’agents (Agent-based modelling) a connu une très forte
adhésion pour la simulation sociale. Son succès peut s’expliquer en raison d’une vision du monde qui
suggère que les systèmes complexes émergent de la base, sont fortement décentralisés, et sont composés
d’une multitude d’objets hétérogènes. Néanmoins, avant d’adopter ce paradigme, il convient de prendre en
compte les nombreux défis que ce type de modélisation soulève encore [59] :
• construire le modèle au bon niveau de détail pour bien servir le but recherché,
• proposer un modèle qui puisse être généralisable (et non spécifique à un problème donné),
• assurer la robustesse du modèle dans différentes situations, notamment avec des données différentes,
• mettre au point un protocole pour vérifier et valider le modèle,
• permettre aux autres intervenants de comprendre le modèle pour favoriser son adoption,
• . . . .
Quelle que soit la technique employée, la modélisation urbaine a su se développer dans de nombreux
domaines et conduira au développement des modèles LUTI (Land Use and Transport Interaction) qui permettent
de modéliser les interactions entre les problématiques du transport et celles de l’occupation et de
l’usage des sols.
7.3 La modélisation LUTI
Les logiciels professionnels de type "transport-urbanisation" ou "transport-occupation du sol" plus connus
sous l’abréviation modèle LUTI (Land Use Transport Interaction model) représentent encore un marché
balbutiant. En fait, l’intérêt d’associer ces deux types de modélisation (transport et occupation des sols)
n’est apparu que depuis une dizaine d’années [61] et la plupart des modèles LUTI actuels sont en réalité
des modèles "connectés" résultant d’un couplage à posteriori d’un modèle de trafic et d’un modèle d’urbanisation.
En France, plusieurs projets de recherche de ce type ont vu le jour sous l’impulsion du PREDIT4
.
Par exemple, on peut citer les projets SIMAURIF5
en Île-de-France, SIMBAD6
à Lyon, MIRO7 ou encore
MOBISIM8
. On relève également des initiatives dans le secteur privé avec VINCI qui a proposé le modèle
PIRANDELLO9
. On peut retrouver dans le livre "Modéliser la ville" [8] une description détaillée de ces
différents projets.
Les modèles LUTI simulent les effets d’une nouvelle infrastructure de transport sur l’occupation des
sols à moyen ou long terme :
• localisation des ménages ;
• localisation des entreprises ;
• effets sur le prix du foncier et de l’immobilier.
Une boucle rétroactive se met en place entre le modèle de transport et le modèle d’urbanisation (voir Figure
: 7.8). Sous l’effet des nouvelles infrastructures de transport, les prix du foncier et de l’immobilier
évoluent et la répartition spatiale des populations et des emplois est également affectée. Cette nouvelle ré-
partition génère des déplacements qui sont réaffectés sur le réseau de transport. Les disponibilités foncières
et leurs prix sont à nouveau impactés ainsi que les réseaux de transport, etc. En général, les effets de la
boucle de rétroaction sont évalués annuellement sur une période pouvant aller de 20 à 30 ans.
Un modèle LUTI peut apporter des réponses à des questions du type :
4PREDIT : Programme de Recherche et d’Innovation dans les Transports Terrestres (http ://www.predit.prd.fr/predit4/).
5
http://isidoredd.documentation.developpement-durable.gouv.fr/documents/dri/RMT08-010.pdf
6
http://simbad.let.fr/
7
http://isidoredd.documentation.developpement-durable.gouv.fr/documents/dri/RMT07-013.pdf
8
http://www.mobisim.org/
9
http://www.etudesfoncieres.fr/articles/article-pirandello-un-modele-urbain-global-137-gratuit.pdf116 CHAPITRE 7. MODÉLISATION URBAINE
FIGURE 7.8 – Schéma simplifié d’un modèle dynamique de type LUTI. D’après le rapport final sur la
première phase d’ULTISIM [61].
• quelles sont les plus-values foncières et immobilières générées par une nouvelle infrastructure de
transport en commun à proximité d’une gare ?
• quel est l’impact d’une politique de transport particulière sur la relocalisation des ménages et des
emplois ou sur les émissions de CO2 ?
• quels sont les effets d’un péage autour du centre ville sur le développement économique régional et
local ? Va-t-il favoriser un étalement urbain ou une densification ?
• etc.
Cependant, un modèle macro-économique externe est nécessaire pour introduire par exemple la part de
création nette d’emplois en faisant des hypothèses de totaux par année de simulation. Pour plus de précisions
sur les modèles existants, on pourra se référer au rapport final du projet ULTISIM10 [61] qui propose une
étude de six modèles LUTI opérationnels, à savoir (par ordre alphabétique) :
• CUBE LAND ;
• DELTA (Development, Employment, status and communting, Location and property market, Transition
and growth, and Area quality) ;
• MARS (Metropolitan Activity Relocation Simulator) ;
• OPUS/UrbanSim ;
• PECAS (Production, Exchange and Consumption Allocation System) ;
• TRANUS ;
La figure 7.9 reprend pour chaque modèle LUTI son niveau de complexité et son degré d’implication
comme modèle d’urbanisation ou de transport. Compte tenu de son positionnement (Land Use Model) et
de son niveau de complexité (modèle dynamique à choix discrets), nous proposons d’étudier plus en détail
la plateforme UrbanSim dans la section suivante ; ceci pour mieux appréhender l’état de l’art en la matière
à partir d’un outil réputé et faisant référence dans son domaine. De plus, nous souhaitons évaluer dans
quelle mesure un tel modèle pourrait nous être utile pour répondre à notre problématique. En effet, bien
que notre projet ne soit pas lié à l’aspect dynamique évoqué ici, la dimension temporelle n’intervenant pas
dans notre cas, nous faisons l’hypothèse que nous pourrions utiliser le modèle UrbanSim pour générer une
ville de toute pièce. On partirait d’une ville initialement vide sans habitant ni bâtiment. A chaque année, il
10Le projet de recherche ULTISIM (Urban Land Transport Integrated SIMulation Model) a pour ambition de proposer un modèle
intégré transport-urbanisme au niveau européen. Ce projet de recherche financé dans le cadre du PREDIT se décompose en
deux phases : une phase de conception et une phase de développement. La première phase du projet prévue sur 20 mois (et achevée
en juin 2011) consiste à mener une réflexion approfondie sur les données d’entrée et sur la méthodologie de développement
pour aboutir à terme à un modèle LUTI opérationnel en Île-de-France.7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 117
FIGURE 7.9 – Positionnement des modèles LUTI. D’après le rapport final sur la première phase d’ULTISIM
[61].
faudrait injecter dans notre modèle un certain nombre d’éléments urbains (habitants, emplois, habitations,
entreprises, parcelles, routes, . . . ) et laisser le modèle œuvrer pour répartir ces éléments au mieux sur le
territoire. Le processus se poursuivrait d’année en année jusqu’à ce que tous les éléments prévus dans le
modèle urbain de pré-programmation (vu comme un modèle macro-économique externe) soient intégrés.
La ville ainsi constituée correspondrait au résultat d’une simulation, le nombre d’années utilisées pour les
opérations n’ayant que peu d’importance dans notre situation (car nous aurions détourné le modèle de sa
fonction originale) . . .
7.4 Trois modèles urbains passés au crible
7.4.1 Le projet UrbanSim
UrbanSim [283] est un modèle d’urbanisation (land-use model) basé sur la théorie des modèles de choix
discrets11 et sur le principe de la microsimulation12
. UrbanSim est apparu aux États-Unis en 1999 pour ré-
pondre aux nouvelles exigences de la loi, à savoir l’obligation de prendre en compte dans tout processus de
planification régional les dimensions relatives à l’urbanisation, aux transports et à l’environnement. Il s’agit
d’un logiciel de simulation complet qui repose sur une approche à base de modèles pour la planification et
l’analyse du développement urbain, en prenant en compte les différentes interactions entre l’utilisation des
espaces (terrains), les transports ainsi que les politiques publiques. Il est destiné aux organismes de plani-
fication métropolitaine et autres groupements qui ont besoin d’intégrer des modèles de transport existants
avec une nouvelle utilisation des espaces dans le but de faire des prévisions et des analyses de capacités.
Il a vu le jour sous l’impulsion de P. WADDELL au sein du CUSPA13 de l’Université de Washington
à Seattle. UrbanSim est l’aboutissement de nombreuses recherches commencées dès les années 1960 en
11La théorie des choix discrets a pour objet de décrire le comportement de choix d’un individu (ou d’un groupe d’individus
agissant indépendamment les uns des autres) en présence d’actions mutuellement exclusives [28].
12L’idée maîtresse de la microsimulation est que le meilleur moyen de simuler un système consiste souvent à modéliser et à
simuler les actions et les interactions de ses unités de plus petite échelle et d’obtenir les macrorésultats par agrégation [207].
13Center for Urban Simulation and Policy Analysis118 CHAPITRE 7. MODÉLISATION URBAINE
Amérique latine puis aux États-Unis. P. WADDELL a su tirer parti des autres logiciels existants à cette
époque pour concevoir un système qui intègre toutes les fonctionnalités d’un logiciel de prévision de l’occupation
des sols, basé sur un modèle de prix du foncier et des modèles de choix discrets de localisation des
ménages et des entreprises. Avec ce logiciel, chaque ménage, chaque emploi et chaque unité géographique
(cellules paramétrables de 500 mètres de côté par défaut) sont représentés dans le modèle, chacun avec ses
caractéristiques et ses comportements.
7.4.1.1 Motivations de base
Tout les aspects d’une agglomération sont interconnectés et interdépendants. Une action sur un secteur in-
fluence automatiquement les autres secteurs à des degrés différents et en fonction des autres actions opérées
au même moment. La coordination des différents événements constitue donc un élément important qui n’est
pas souvent pris en considération et qui peut aboutir parfois à des comportements inattendus. De plus, il
existe une grande variété d’intervenants différents (urbanistes, organismes publics, citoyens et associations,
etc.), qui, chacun à son niveau, doit pouvoir constater les conséquences et les alternatives possibles des
choix politiques et investissements. L’outil doit faciliter les délibérations publiques parfois houleuses relatives
à l’aménagement du territoire, aux transports ou à l’environnement en indiquant les conséquences et
alternatives possibles sur les effets à longs termes sur l’environnement et les considérations d’équité. Enfin,
il doit permettre aux différentes communautés (au sens de l’agglomération) d’avoir une vision globale pour
coordonner leurs actions.
7.4.1.2 Approche
La conception d’UrbanSim prend en compte les expériences du passé en terme de modélisation de l’urbanisation.
Cet environnement s’appuie sur un modèle dynamique (où la dimension du temps intervient)
qui reproduit l’évolution de l’occupation du sol au cours de la période simulée. La structure de données
d’UrbanSim permet de prendre en compte des données d’occupation du sol à un niveau infracommunal14
et donc de dépasser des approches classiques trop simplificatrices (découpage concentrique en trois zones
ou découpage par agrégation de communes). Les différents modules d’UrbanSim requièrent des données
spécifiques. Les données d’entrée sont composées :
• des données de l’année initiale ;
• des données de prévision macro-économiques ;
• des données sur les transports issues du modèle de trafic (temps et coûts de parcours par mode, etc.) ;
• les scénarios de politiques d’urbanisation tenant compte des schémas d’aménagement locaux et ré-
gionaux.
Les différents modules sont interdépendants car les sorties de l’un sont les entrées des autres. Le déroulement
des calculs est séquentiel et l’ordre peut être paramétré par l’utilisateur dans un fichier XML. Le
logiciel est conçu comme un ensemble de composants reflétant les choix des agents économiques (mé-
nages, entreprises) et leurs interactions avec le marché de l’immobilier. On retrouve par exemple :
• les choix de localisation résidentielle des ménages ;
• les choix de localisation des emplois ;
• les choix de développement immobilier.
Les modules de localisation sont basés sur un quadrillage fin de l’aire d’étude et les choix sont relatifs à
chaque cellule de ce quadrillage. Le secteur d’étude doit être découpé en mailles ou cellules carrées les plus
fines possibles, et les données d’entrée sont à recueillir dans ce maillage, pour l’année initiale et l’année de
calage. Le calage d’UrbanSim consiste à estimer les paramètres du modèle à partir de données désagrégées
sur une période constituée de deux années pour lesquelles il existe le maximum de données. Le modèle sera
14à l’intérieur des limites communales7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 119
FIGURE 7.10 – Cours du temps dans UrbanSim. D’après le Rapport 1 - SIMAURIF [246]
ensuite appliqué, avec les mêmes paramètres, à un horizon futur selon différents scénarios à définir (voir
figure 7.10).
Certains composants sont capables de simuler la mobilité des ménages et des emplois. En parallèle,
il existe des composants basés sur des données agrégées, comme les modules de transitions économique
et démographique. Ces modules non spatiaux sont liés aux données macro-économiques exogènes et permettent
de caler le modèle au niveau global. Un autre module permet de simuler le prix du foncier. Les
versions d’UrbanSim les plus récentes proposent des modules complémentaires (choix de localisation des
entreprises, choix de développement de projets, etc). Les différents modules s’exécutent sur un pas d’un
an, pendant toute la période de simulation (par exemple une période de vingt ans). Par ailleurs, UrbanSim
utilise une structure hiérarchique pour organiser les différentes simulations appelées "scénarios". UrbanSim
est prévu pour simuler et évaluer les effets potentiels de scénarios multiples. Dans ce contexte, un scénario
correspond à une combinaison de données en entrée et d’hypothèses, en incluant les hypothèses macroéconomiques
au regard de l’augmentation de la population et de l’emploi pour la zone étudiée. On considère
que la configuration des moyens de transport est connue pour les prochaines années et que les plans gé-
néraux des juridictions locales qui vont définir les types de développement sont disponibles pour chaque
localité. Une simulation UrbanSim consiste à faire tourner le moteur UrbanSim sur un "scénario". Les ré-
sultats de la simulation sont alors stockés dans une base de données unique (Output Database). Il existe un
moyen dans UrbanSim de prendre en compte des événements exceptionnels prévus dans le futur. Il suffit
pour cela de définir dans les fichiers de type « events » les nombres d’emplois, de ménages, le changement
de type urbain et l’année pour les cellules où se produisent ces événements. Enfin, le module d’export de
données permet le regroupement, l’agrégation et l’export des résultats dans des fichiers externes destinés à
l’analyse et à l’importation dans un système d’information géographique.
7.4.1.3 Un système basé sur les modèles
Les modèles d’UrbanSim interviennent à différents niveaux :
• simulent les décisions et choix qui impactent le développement urbain (mobilité, choix d’implantation
des habitations et des zones d’affaires, choix des constructeurs) ;
• prennent explicitement en compte les terrains, les structures (maisons d’habitation et bâtiments commerciaux)
ainsi que les occupants (ménages, commerces) ;
• simulent le développement urbain comme un processus dynamique dans le temps et l’espace ;
• simulent le prix des terrains en fonction de l’offre (espaces libres, nouvelles constructions ou rénovations)
et de la demande (emplacements préférés pour les maisons d’habitations ou les commerces) ;
• tiennent compte des choix politiques gouvernementaux et évaluent les impacts politiques en modélisant
les réactions du marché ;
• sont basés sur la théorie aléatoire pour impacter les composants ;
• sont conçus pour travailler sur une représentation de haut niveau de l’espace et des activités avec un120 CHAPITRE 7. MODÉLISATION URBAINE
système de zones identique à celui des déplacements ;
• sont adaptés aux besoins de développement ou de réaménagement, en travaillant au niveau du détail
des parcelles.
7.4.1.4 Une plateforme ouverte d’intégration
Une plateforme ouverte a été développée pour y intégrer UrbanSim. Il s’agit de la plateforme OPUS15 qui
permet une intégration d’extensions (plugin). UrbanSim constitue la pièce centrale de cette plateforme.
Après un premier développement en Java, l’application a été totalement réécrite en Python pour faciliter
l’intégration et son ouverture. Les développements exploitent le paradigme de la programmation orientée
objet pour offrir un maximum de flexibilité. L’application dispose d’une interface graphique écrite en PyQt4.
Elle peut s’interfacer avec les principales bases de données du marché (MySQL, Miscrosoft SQL Server,
Postgres, etc.) bien qu’elle dispose d’une base de données intégrée (SQLLite). Il est possible de travailler
avec les différents systèmes d’information géographique (ArcGIS, PostGIS, Quantum GIS, etc.) disponibles
sur le marché pour afficher les informations entrées (modèles) ou le résultat des simulations. Ce logiciel est
disponible en téléchargement libre sous licence publique générale GNU (GPL).
7.4.1.5 Un exemple de mise en œuvre d’UrbanSim
Dans l’étude de cas "la Tangentielle Nord", les rapports [246, 247, 248] relatifs au projet SIMAURIF (SIMulation
de l’interAction Urbanisation-transport en Région d’Ile-de-France) indiquent que ce projet a exploité
le modèle d’urbanisation UrbanSim avec succès mais non sans difficulté. En effet, la dimension historique
et la densité importante de la ville de Paris sont différentes d’une ville américaine moyenne ayant des
constructions beaucoup plus récentes et une organisation semble-t-il plus simple. D’autre part, les règles
d’accès aux données sont différentes et parfois plus strictes et contraignantes en France qu’aux États-Unis.
Enfin, ils ont été amenés au cours de ce projet à essayer plusieurs types de modèle afin d’en trouver un
de qualité explicative suffisante compte tenu des données disponibles mais surtout de qualité prédictive et
cette démarche s’est avérée très « gourmande » en temps de travail. Cette étude de cas permet également de
mettre en évidence les limites de la modélisation : les modèles ne sont pas en mesure de prédire des événements
exceptionnels, certains facteurs difficilement mesurables peuvent influencer les comportements et de
nombreux facteurs humains sont impossibles à intégrer.
7.4.1.6 Conclusion
Malgré sa qualité incontestable, le modèle UrbanSim requiert une grande quantité de données en entrée qui
ne sont pas toujours disponibles ou qui peuvent être soumises à des conditions strictes d’utilisation dans
certains pays. D’autre part, il nécessite beaucoup d’efforts et de temps dans sa phase de calibrage pour être
capable de reproduire l’évolution d’une ville au plus proche de la réalité entre l’année initiale et l’année
de calage (cf. figure 7.10). Ensuite seulement, il peut être utilisé pour entrevoir un avenir hypothétique
incapable de prendre en compte les événements exceptionnels (ce qui semble normal) ou de saisir toute la
complexité inhérente aux comportements humains.
Pour compléter notre hypothèse de départ liée à l’utilisation éventuelle d’un modèle LUTI dans le cadre
de cette thèse, nous pourrions imaginer différents paramétrages d’UrbanSim basés sur les résultats de différents
calages, chacun étant lié à une morphologie de ville caractéristique. Pour une simulation, il faudrait
alors se référer à un paramétrage particulier pour adopter un type de ville désiré. Néanmoins, les diffé-
rents aspects évoqués relatifs à UrbanSim sont contraires à la philosophie même de la pré-programmation
urbaine (voir section 4.1.2.1) caractérisée par un modèle simple pouvant être compris de tous avec un fonctionnement
nécessitant un nombre limité de données en entrée. De plus, malgré le haut niveau reconnu à
UrbanSim, il semble difficile de transposer un modèle américain aux villes européennes façonnées par de
15Open Platform for Urban Simulation7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 121
longues années d’histoire. Enfin et surtout, nous ne souhaitons pas simuler ou reproduire le comportement
probable lié à l’évolution d’une ville, nous souhaitons plutôt optimiser son organisation globale à priori.
7.4.2 Le projet GeOpenSim
Intéressons-nous maintenant à une approche radicalement différente d’UrbanSim qui tente néanmoins de
simuler l’évolution d’une ville en simplifiant le processus d’alimentation des modèles. Il s’agit d’une plateforme
géographique de simulation qui s’inscrit dans un projet ANR16 commencé en 2007 et qui s’est
achevé en avril 2011. Le projet GeOpenSim [216] vise le développement d’une plateforme Open Source
pour l’analyse et la simulation des dynamiques urbaines à l’aide de bases de données topographiques historiques.
Ces dernières sont construites à l’aide de bases de données topographiques récentes ainsi que de
photographies aériennes et/ou de cartes historiques. Ces bases de données sont analysées afin d’identifier :
• des règles d’évolution au niveau de la ville, du quartier ou de l’îlot ;
• des statistiques sur des objets spécifiques comme les bâtiments composant un îlot ou les îlots présents
dans un quartier.
Chaque simulation peut ainsi être paramétrée à l’aide de règles d’évolution provenant de l’analyse automatique
des données historiques, mais aussi de règles énoncées par des experts.
7.4.2.1 Approche
L’approche met en œuvre un système multi-agents qui comporte une hiérarchie d’agents topographiques
(bâtiments, routes, cours d’eau, îlots, quartiers, ville) qui peuvent être construits, modifiés, fusionnés, dé-
coupés, restructurés et détruits au cours du temps. Le comportement de chaque agent est contrôlé par un
ensemble de règles d’évolution, de contraintes et d’actions associées. GeOpenSim repose sur une structure
hiérarchique (allant du bâtiment à l’agglomération) organisée par des réseaux de communication (les
routes, les voies ferrées, etc.) et des graphes de voisinage (notamment entre bâtiments et entre les bâtiments
et les routes) permettant une certaine autonomie à l’échelle micro (bâtiments, routes, etc.) et des comportements
de régulation à différents niveaux macro (îlot, quartier, ville, etc.). Construit à partir d’un modèle
existant, le système multi-agent hiérarchique a été adapté aux besoins de la simulation urbaine et plusieurs
fonctionnalités ont été ajoutées, telles que les règles d’évolution et les méthodes de peuplement. Les règles
d’évolution sont définies soit par analyse de données historiques, soit par des experts afin d’affecter des
objectifs appropriés aux agents. Elles peuvent prendre en compte le voisinage des agents ainsi que leurs
différents attributs (pour les îlots : la densité, le type d’îlot, la localisation de l’îlot dans la ville, etc.) Les
méthodes de peuplement sont définies afin de modéliser les différentes stratégies que les agents peuvent utiliser
pendant leur évolution (par exemple, la façon dont les îlots se densifient en reproduisant leur structure
interne, en se restructurant ou en diversifiant leur structure). Le modèle GeOpenSim utilise des méthodes
d’analyse spatiale permettant la construction automatique des objets composant les différents niveaux de la
hiérarchie urbaine, ainsi que les relations entre ces objets. On peut ainsi reconstituer les objets ville, quartiers
et îlots à partir des objets bâtiments et routes présents dans les bases de données topographies. D’autres
structures telles que les alignements de bâtiments sont également automatiquement construites et utilisées
dans la simulation.
Les objets géographiques sont évalués sur des critères morphologiques et c’est l’évolution de ces caractéristiques
que l’on cherche à simuler :
• pour un bâtiment : sa surface, son élongation, sa concavité, son orientation, son type (habitation,
industriel, etc.) ;
• pour une route : sa sinuosité, son type (rue, autoroute, etc.) ;
• pour un îlot : sa densité (quotient de sa surface bâtie et de sa surface totale), sa taille, son type (tissu
urbain continu ou discontinu, industriel ou commercial, etc.), sa quantité d’espaces vides (par taille),
16Agence Nationale de la Recherche122 CHAPITRE 7. MODÉLISATION URBAINE
indicateurs statistiques sur les bâtiments le composant, etc ;
• pour un quartier : sa surface, périphérique ou non, indicateurs statistiques sur les îlots le composant,
etc ;
• pour une ville : sa surface totale, sa surface bâtie, la taille de ses réseaux de transport, la distribution
de ses bâtiments par type, par taille, par forme, etc.
Le modèle GeOpenSim permet de simuler l’évolution de ces objets en les modélisant comme des agents,
chaque agent ayant comme but de se transformer pour acquérir un état satisfaisant ses règles d’évolution.
Pour cela, l’état cible d’un agent à une date t + dt est décrit sous forme de contraintes sur ses caractéristiques
morphologiques ; les règles d’évolution sont utilisées uniquement pour calculer les valeurs buts de ces
contraintes. L’objectif de chaque agent est de satisfaire ses contraintes afin d’acquérir un état à la date
t + dt satisfaisant au mieux ses règles d’évolution. Lors de chaque activation, si l’état initial de l’agent
n’est pas parfait, une liste d’actions pouvant potentiellement améliorer son état est calculée. Cette liste est
fonction des contraintes insatisfaites de l’agent et de leur degré d’insatisfaction. Chaque action consiste à
déclencher un algorithme de transformation géométrique sur l’agent afin de faire évoluer certaines de ses
caractéristiques morphologiques. Ces essais sont effectués jusqu’à ce que l’agent atteigne un état parfait ou
que toutes les actions possibles aient été essayées. Tous les agents ont le même cycle de vie leur permettant
de satisfaire les contraintes relatives à leur niveau.
7.4.2.2 Conclusion
Cette plateforme opère à partir de données topographiques et utilise des règles d’évolution pour réaliser des
simulations. Les résultats obtenus peuvent être comparés aux données réelles lorsque les simulations reposent
sur des données historiques, permettant ainsi d’évaluer des hypothèses sur les dynamiques urbaines.
L’utilisation de données topographies comme informations d’entrée du modèle semble particulièrement sé-
duisante car ces informations sont largement répandues et de plus en plus précises. De plus, ces données
peuvent être réactualisées régulièrement pour être réinjectées dans le modèle sans erreur de transcription
grâce à des algorithmes capables de les interpréter automatiquement pour reconstituer tous les éléments
urbains.
Faisant référence à notre hypothèse précédente, nous pourrions très probablement réorienter l’utilisation
originale de cette plateforme pour générer une ville de toute pièce. Toutefois, le modèle GeOpenSim s’attache
à une représentation géométrique de la ville et travaille à un niveau très fin allant jusqu’au bâtiment.
Dans cette thèse, nous devons au contraire nous focaliser en priorité sur les caractéristiques fonctionnelles
de la ville dont le niveau de granularité le plus fin correspond à l’îlot urbain. Et tout comme UrbanSim, GeOpenSim
s’attache essentiellement à deviner une évolution probable d’un espace urbain sans nécessairement
chercher à l’optimiser.
7.4.3 CommunityViz
CommunityViz [284] est un logiciel de planification urbaine proposé par la société placeways17 qui se pré-
sente sous la forme d’un module d’extension (plugin) pouvant s’insérer et étendre les capacités du système
d’information géographique « ArcGIS for Desktop » de la société Esri18. Ce logiciel permet d’accompagner
les acteurs de l’urbain (urbanistes, gestionnaires des ressources naturelles, administrations locales, organismes
d’aménagement métropolitain, entreprises privées, . . . ) en les aidant à simuler le futur d’une ville
ou d’une région. Il permet de créer des plans ou des propositions de développement tout en présentant sur
la zone d’étude les impacts économiques, environnementaux et sociaux. A partir de ces impacts, et en comparant
différentes alternatives, la population est mieux informée et les décisionnaires peuvent prendre des
décisions éclairées en ayant connaissance des conséquences. CommunityViz dispose d’une large gamme de
17http://placeways.com/communityviz/index.html.
18Environmental Systems Research Institute : http://www.esri.com/7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 123
fonctionnalités pour aider les décisions de localisation, de type et de forme que peut prendre un développement
urbain.
Le logiciel s’adresse à différentes catégories d’acteurs et chacune selon son niveau peut tirer parti de
l’outil. Les membres du public sans connaissance particulière en urbanisme peuvent profiter des visualisations
interactives lors des réunions publiques, ces présentations étant également accessibles sur un site web
dédié. CommunityViz propose des outils faciles à utiliser et accessibles au plus grand nombre pour produire
des analyses de base et des visualisations. Concernant les experts, comme les urbanistes et les professionnels
en systèmes d’information géographique, ils peuvent utiliser le logiciel pour créer des études qui seront
ensuite exploitées par les entreprises privées, les administrations et les audiences publiques. Cette suite logicielle
est composée de deux modules principaux : (i) Scenario 360 qui fournit les outils interactifs d’analyse
et le framework d’aide à la décision et (ii) Scenario 3D qui offre un moyen de créer une information riche
au travers de scènes 3D interactives.
7.4.3.1 Scenario 360
Scenario 360 constitue la pièce centrale de CommunityViz. Elle a été conçue selon les principes suivants :
• créer et envisager des hypothèses selon la formule : « que se passerait-il si . . . ? »,
• évaluer graphiquement les impacts économiques, environnementaux et sociaux des aménagements
proposés (plan d’occupation des sols, investissements dans des infrastructures, . . . ),
• faire des hypothèses pouvant être rapidement remises en cause,
• travailler à l’échelle d’un site, d’un quartier, d’une ville ou d’une région,
• prendre des décisions globales et éclairées,
• se connecter à des outils de visualisation 3D.
Scenario 360 regroupe les fonctionnalités suivantes, en considérant que certains composants travaillent
ensemble (i.e. l’entrée d’un modèle correspond à la sortie d’un autre) :
• « Land Use Designer » : permet de dessiner sur une carte les types d’utilisation du sol (parmi une
liste disponible en standard ou spécifique) et de voir instantanément les impacts correspondants (sociaux,
économiques et environnementaux). Les différents scénarios construits permettent de donner
un sentiment à l’audience sur comment chaque alternative peut affecter le futur de leur communauté ;
• « Build-Out Wizard » : calcule la capacité de développement d’un territoire. Les analyses correspondantes
montrent combien d’immeubles de quel type peuvent être construits sur chaque emplacement
en fonction d’un règlement communautaire donné sur l’utilisation des sols, la densité, le renouvellement
urbain, les hauteurs, etc. Une fonction d’allocation permet de projeter la localisation du développement
au fil du temps ;
• « Suitability Wizard » : permet de calculer automatiquement un score lié à chaque emplacement pour
la localisation des activités (habitation, activité commerciale, activité artisanale, . . . ) selon différents
facteurs de qualité pouvant être pondérés (facteur d’attraction ou de répulsion par rapport à la proximité
d’une route, d’une ligne d’égoût, d’un cours d’eau, une pente, . . . ) ;
• « TimeScope » : permet de voir année après année l’évolution des changements. Calcule où et quand
un nouveau développement apparaîtra en fonction des hypothèses fournies concernant les taux et les
modèles de croissance (par exemple : 3 % de croissance par an, développement prioritaire des espaces
libres proches des routes, . . . ) ;
• des outils pour visualiser de multiples scénarios côte à côte sur une analyse ;
• des outils pour créer facilement des illustrations sur le web à partir d’une analyse pour une représentation
interactive en 2D ou en 3D via Google Earth ;
• des graphiques dynamiques, alertes et autres affichages actualisés en temps réel en fonction des
alternatives et des actions.
Plus globalement, ce module recherche l’efficacité à travers un processus de planification communautaire
axé sur une approche visuelle et collaborative prenant place lors des séances publiques. Il fonctionne124 CHAPITRE 7. MODÉLISATION URBAINE
comme une extension d’ArcMap19 et s’intègre par conséquent dans la suite « ArcGIS for Desktop ». CommunityViz
peut donc exploiter toutes les données géographiques et les plans accessibles ainsi que toutes les
fonctionnalités disponibles de cette suite logicielle.
7.4.3.2 Scenario 3D
Le module Scenario 3D vient accompagner Scenario 360 dans la suite CommunityViz. Scenario 3D permet
de créer des scènes 3D réalistes, interactives et partageables. Il suffit pour cela de spécifier une carte
ArcGIS et de dire comment les fonctionnalités 2D doivent être représentées dans la scène 3D. Lorsqu’on
visualise une scène, on peut alors se déplacer comme si on s’y trouvait, en marchant, en volant et en regardant
autour de soi. On peut également sélectionner un objet en cliquant dessus pour lire des informations
complémentaires où les entendre parler. Les constructions, arbres et routes apparaissent dans les détails de
façon photo-réaliste, en suivant le relief du terrain. Les ombres, lumières et effets de brouillard viennent
renforcer le côté réaliste des lieux : l’idée étant de traduire la sensation qui se dégage de l’endroit que l’on
perçoit.
Scenario 3D est composé de deux parties : un outil d’export et un outil de visualisation 3D. Le module
d’export est une extension d’ArcGIS tandis que l’outil de visualisation est une application indépendante
permettant de visualiser librement les scènes 3D générées. Par rapport à un export Google Earth disponible
dans Scenario 360, le niveau de détail fourni par Scenario 3D est supérieur, tout comme les possibilités de
navigation au sol, les effets disponibles (ombre, lumière, brouillard) ou le nombre de formats 3D supportés.
En contrepartie, le temps de génération nécessaire est plus long et il est préférable de circonscrire la zone
d’étude au quartier ou au site.
7.4.3.3 Conclusion
CommunityViz intègre une large gamme d’outils disponibles pour les urbanistes, les décisionnaires ou le
grand public, y compris des outils de conception automatisés et interactifs.
Néanmoins, pour instruire un projet, cette suite logicielle nécessite l’introduction de données initiales
conséquentes. Cela peut concerner la population existante, les polygones délimitant les parcelles, l’utilisation
des sols, les réseaux de transport, l’environnement naturel, les canalisations (eau, égouts, . . . ), la
fiscalité, l’économie locale, l’ensemble de l’environnement bâti existant, etc. Même si l’intégralité de ces
informations n’est pas obligatoire, ceci représente un travail conséquent et la mobilisation de compétences
spécifiques avant même de pouvoir faire la moindre simulation. D’autre part, cet outil travaille à un niveau
de détail très fin (habituellement la parcelle) et l’aspect géométrique y reste très présent.
Enfin, certaines fonctionnalités automatiques proposées dans CommunityViz reposent sur des techniques
d’optimisation combinatoire (par exemple : pour identifier une combinaison de sites naturels à traiter qui
apportent un maximum de bénéfice par rapport à un budget donné ou d’autres contraintes). Toutefois, ces
techniques sont peu documentées et elles deviennent vite inopérantes dès que le problème atteint une taille
trop importante (i.e. au delà de 500 éléments à prendre en compte).
7.5 Les problèmes de positionnement
Indépendamment des modèles urbains spécialisés que nous avons abordés jusqu’à présent, notre problé-
matique s’apparente plus spécifiquement à un problème de positionnement dans le sens où l’on se pose la
question suivante : « Où allons nous positionner les choses ? » [80, 218].
Les études relatives à la théorie de la localisation remontent à 1909 avec les travaux d’Alfred WEBER
qui cherchait à positionner un unique entrepôt tout en minimisant la distance totale entre son lieu d’implantation
et différents clients. Par la suite, cette théorie s’est développée sans sursaut au gré de quelques
19Module de la suite « ArcGIS for Desktop » capable de représenter les informations géographiques sous forme d’un ensemble
de couches (layers) et les autres informations sous la forme de cartes.7.5. LES PROBLÈMES DE POSITIONNEMENT 125
applications. Il faudra attendre 1964 pour que le sujet suscite à nouveau un regain d’intérêts avec la publication
de S.L. HAKIMI [124] qui s’intéressait au positionnement de centres de commutation dans un réseau
de communications et de postes de police sur un réseau routier.
Les problèmes de localisation peuvent être décrits à partir de quatre composants :
• les clients qui sont supposés être déjà positionnés à des points ou sur des routes ;
• les équipements que l’on cherche à positionner ;
• un espace où sont localisés les clients et les équipements ;
• une métrique qui indique les distances ou le temps entre les clients et les équipements.
Ce sujet correspond à des problèmes d’optimisation très étudiés en recherche opérationnelle compte
tenu des enjeux théoriques et applicatifs qu’ils suscitent et des répercussions que ce type de décision engendrent
[156]. En effet, des choix de positionnement sont fréquemment réalisés à tous les niveaux de
l’organisation humaine, aussi bien au niveau de l’individu qu’au niveau des organisations internationales
en passant par les ménages ou les entreprises. Ils impliquent souvent des ressources conséquentes avec des
impacts économiques et environnementaux importants sur le long terme (pollution, congestion du trafic,
etc.). D’un point de vue scientifique, ces problèmes sont souvent extrêmement difficiles à résoudre, sachant
que même les modèles les plus classiques sont N P-complet et difficilement surmontables pour de
grandes instances. Il a fallu attendre l’avènement d’ordinateurs suffisamment puissants pour susciter l’inté-
rêt de formalisation et d’implémentation de ces modèles de positionnement compte tenu de leur complexité
de calcul. Finalement, ces modèles sont spécifiques à l’application considérée, ce qui rend leur structure
(objectifs, contraintes et variables) particulière au problème étudié. Les décisions relatives aux problèmes
de positionnement font régulièrement intervenir de nombreuses parties prenantes et doivent considérer de
multiples objectifs souvent conflictuels [60].
Le lecteur intéressé pourra se référer au chapitre « Discrete Network Location Models » de J. Current
et al. [60] pour obtenir une description détaillée des modèles classiques de positionnement connus sous les
noms : set covering, maximum covering, p-center, p-dispersion, p-median, fixed charge, hub et maxisum.
Le livre « Facility Location » [90] constitue également une excellente source d’informations sur les
nombreux problèmes de positionnement qu’il aborde.
7.5.1 Cadre général d’un problème de positionnement
Dans le cadre du problème de positionnement d’équipements (Facility Location Problem, FLP), on cherche
à placer un certain nombre d’équipements par rapport à des demandes de façon à optimiser un ou plusieurs
critères, tels que la distance, la satisfaction de la demande ou encore les temps de parcours [199]. Dans
ce contexte, le terme équipement est à prendre au sens large et peut faire référence à des entrepôts, des
hôpitaux, des usines, des écoles, etc.
Ce type de problème soulève trois questions principales :
• quels sont les équipements à positionner : nombre et nature ;
• quels sont les emplacements disponibles : nombre et forme ;
• quels sont les critères à prendre en compte pour positionner chaque équipement sur un emplacement.
Dans la famille des problèmes de positionnement, le problème d’affectation quadratique est un problème
très réputé à la fois pour ses nombreuses applications pratiques et parce qu’il est particulièrement difficile à
résoudre. Nous proposons d’étudier plus spécifiquement ce problème compte tenu de l’intérêt qu’il suscite
et de sa proximité avec notre problématique.
7.5.2 Problème d’affectation quadratique (Quadratic Assignation Problem, QAP)
Le problème d’affectation quadratique est un problème d’optimisation combinatoire introduit pour la première
fois par C. KOOPMANS et M. BECKMANN [155] en 1957. Il s’agit d’un problème N P-difficile qui
n’est pas ρ-approximable quelle que soit la constante ρ choisie [238].126 CHAPITRE 7. MODÉLISATION URBAINE
FIGURE 7.11 – Affectation (assignment) π = (3, 2, 4, 1). D’après R.Z. FARAHANI et al. [90].
FIGURE 7.12 – Publications : proportions des solutions techniques proposées pour les QAP. D’après
R.Z. FARAHANI et al. [90].
7.5.2.1 Modélisation du problème
Ce problème peut être défini ainsi [187] (cf. figure 7.11) : un ensemble de n équipements ("facilities")
communiquant entre eux doivent être positionnés à moindre coût sur n emplacements prédéterminés ("locations").
La distance entre les emplacements k et l est notée dkl et le flux échangé entre les équipements
i et j est noté fij . Le coût d’interaction entre l’équipement i placé sur le site k et l’équipement j placé sur
le site l est considéré comme proportionnel au produit du flux échangé entre les deux équipements (fij )
par la distance entre les deux emplacements (dkl). Le problème consiste à affecter ("assignment") à chaque
emplacement un seul équipement tout en minimisant le coût :
C =
Xn
i=1
Xn
j=1
fij dp(i)p(j) (7.1)
où p(i) représente l’emplacement assigné à l’équipement i.
Pour des questions de simplification, cette modélisation ne prend pas en compte le coût d’implantation
d’un équipement sur un emplacement donné.
7.5.2.2 Résolution par des méthodes de RL
La difficulté de ce problème s’illustre par la faible taille des instances pouvant être résolues de façon exacte.
En effet, au delà d’une taille située aux alentours de 30 équipements, l’explosion combinatoire est telle
qu’une résolution exacte devient illusoire. Face à des instances de taille élevée, il est donc nécessaire de
recourir à une méthode de résolution approchée [187, 53, 90].
La nécessité de disposer de méthodes approchées performantes a incité de nombreux chercheurs à dé-
velopper des solutions métaheuristiques pour s’attaquer à ce problème (voir figure 7.12). En dehors des
algorithmes évolutifs, les méthodes de recherche locale sont celles qui apparaissent dans les travaux les
plus représentatifs.7.5. LES PROBLÈMES DE POSITIONNEMENT 127
TABLE 7.1 – Pourcentages d’erreur des meilleures métaheuristiques appliquées au QAP. RobuTS (Recherche
tabou robuste [263]), ReacTS (Recherche tabou réactive [17]), Rec-Sim (Recuit simulé [54]),
Hybrid-Gen (Algorithme génétique [94]), Hybrid-Ant (Méthode de colonies de fourmis [100]). D’après
T. MAUTOR [187].
Intervalle d’erreur RobuTS ReacTS (avec
22 instances)
Rec-Sim Hybrid-Gen Hybrid-Ant
<0.01% 12 - 1 13 13
0.01% - 0.1% 9 1 4 7 7
0.1% - 1% 12 17 18 15 10
1% - 10% 5 4 13 3 8
≥10% - - 2 - -
Mais avant même d’aborder les résultats obtenus par les meilleures méthodes de recherche locale pour
ce problème, il est primordial d’identifier une structure de voisinage adaptée au problème à traiter.
Structure du voisinage Les méthodes de recherche locale développées pour le problème d’affectation
quadratique utilisent très majoritairement une structure de voisinage très simple, basée sur les 2-échanges
(ou transpositions), c’est à dire toutes les solutions pour lesquelles la seule différence avec la solution courante
consiste à échanger le placement de deux équipements [187]. Selon Thierry MAUTOR, deux raisons
principales justifient le choix de cette structure de voisinage. D’une part, le voisinage est de taille raisonnable
: composé de n(n−1)
2
solutions. D’autre part, la variation du coût occasionnée par un 2-échanges peut
être calculée très rapidement grâce à un calcul incrémental.
Notons :
• p : la solution courante ;
• puv : la solution obtenue à partir de p en échangeant le placement des équipements u et v ;
• 4p(u, v) : la variation de coût occasionnée par l’échange du placement des équipements u et v, on a
4p(u, v) = Cout(puv) − Cout(p),
La variation de coût occasionnée par l’échange de placement des équipements u et v peut être calculée
selon la formule (en considérant des matrices D et F symétriques) :
4p(u, v) = 2 Xn
j=1,j6=u,,j6=v
(fuj − fvj )(dp(v)p(j) − dp(u)p(j)) (7.2)
De plus, lorsqu’un mouvement a été effectué en échangeant le placement des équipements x et y, différents
de u et v, la variation du coût occasionnée par l’échange de placement des équipements u et v
devient :
4pxy (u, v) = 4p(u, v) + 2(fux + fvy − fuy − fvx)(dp(v)p(y) + dp(u)p(x) − dp(u)p(y) − dp(v)p(x)) (7.3)
Avec un voisinage complexe, le coût pour chaque solution voisine devrait être évalué en O(n
2
). Avec un
voisinage en 2-échanges, lors d’une première itération, toutes les solutions voisines de la solution initiale
sont évaluées en O(n) (cf. l’équation 7.2). Ensuite, une fois cette initialisation réalisée, toutes les itérations
suivantes s’effectuent en O(1) en mettant à jour les 4p(u, v) calculés à l’itération précédente (cf. l’équation
7.3). L’évaluation complète d’un voisinage se fait alors en O(n
2
).
Résultats liés aux méthodes de RL Parmi les métaheuristiques existantes, les méthodes de recuit simulé
et de recherche tabou ont été appliquées dès leurs origines aux problèmes d’affectation quadratique. Dès le128 CHAPITRE 7. MODÉLISATION URBAINE
début, les résultats remportés à partir de ces deux méthodes ont très largement surclassé ceux obtenus par
les méthodes utilisées jusque là et basées sur des méthodes gloutonnes ou des procédures de descente. Sur
des problèmes de petite taille (inférieure à 15 équipements), ces nouvelles approches étaient très souvent
capables de trouver la solution optimale [187]. Avec des problèmes de taille plus élevée (inférieure à 50
équipements), il a été confirmé depuis, grâce aux progrès réalisés par les méthodes complètes, que les
résultats obtenus étaient capables de converger la plupart du temps vers la valeur optimale supposée. Pour
des problèmes de plus grande taille (comprise entre 50 et 150 équipements), les solutions optimales restent
encore inconnues et les approches métaheuristiques continuent de se mesurer entre elles pour améliorer les
meilleurs résultats connus.
Malgré leur ancienneté, les méthodes tabou proposées par TAILLARD [263] (recherche tabou robuste,
1991) ou par BATTITI et TECCHIOLLI [17] (recherche tabou réactive, 1994) sont très robustes et restent
des références difficiles à surclasser pour le problème d’affectation quadratique. Néanmoins, si on compare
entre elles les meilleures métaheuristiques appliquées à QAP (recuit simulé, recherche tabou, GRASP, mé-
thodes de colonies de fourmis, . . . ), on constate qu’elles obtiennent des résultats presque similaires et très
proches des meilleures solutions connues (cf. table 7.1).
7.6 Conclusion
« Le monde de la recherche en urbanisme et en aménagement s’attelle depuis plusieurs années à une tâche
complexe, voire à une gageure, fondée sur des savoirs interdisciplinaires à mobiliser et à intégrer dans
l’outillage technique des sciences humaines : la modélisation de la ville » [7].
En effet, cette tâche nécessite la mobilisation d’équipes pluridisciplinaires importantes qui doivent travailler
en collaboration étroite compte tenu du large spectre de connaissances et d’expertises requis pour
aboutir à un résultat opérationnel.
Les projets actuels liés aux problématiques de la modélisation urbaine s’intéressent plus particulièrement
aux évolutions permanentes qui s’opèrent dans les villes au niveau du temps et de l’espace. On parle
ainsi de modèle "dynamique". Cette approche très répandue nécessite une quantité importante de données
historiques en amont pour alimenter les modèles ainsi que la mise en place de règles énoncées par des
experts du domaine. Malgré la pertinence de ces modèles et les efforts consentis, nous devons néanmoins
rester vigilants par rapport à cette ambition car de nombreux projets architecturaux ou liés à des politiques
de la ville et du transport se sont soldés par un échec [7].
D’après le philosophe Maurice BLONDEL, « L’avenir ne se prévoit pas, il se prépare ». Or, pour Gaston
BERGER, « L’avenir n’est pas seulement ce qui peut arriver ou ce qui a le plus de chances de se produire.
Il est aussi, dans une proportion qui ne cesse de croître, ce que nous aurons voulu qu’il fût » [122].
Bien que notre problématique se situe à un stade précoce du processus de modélisation des villes, notre
approche s’inscrit clairement dans une démarche volontariste. C’est pour cela que nous proposons, dans nos
contributions, un modèle urbain durable basé sur des contraintes, composées essentiellement de préférences
qui garantiront un équilibre entre les enjeux sociaux, environnementaux et économiques. Ensuite, nous
proposons de résoudre le problème en cherchant parmi les solutions admissibles, la meilleure solution
possible. Dans ce sens, notre façon d’aborder le sujet par l’optimisation vient compléter les approches
classiques qui cherchent à prévoir ce qui a le plus de chances de se produire : notre objectif étant plutôt
de trouver le meilleur avenir possible. Et comme la modélisation n’est qu’une représentation simplifiée du
monde, nous permettons aux décideurs d’intervenir sur le résultat des simulations pour améliorer ce qui
peut l’être et prendre en compte les impératifs du moment ou les notions difficilement modélisables. Une
rétroaction entre l’homme et la machine peut alors se mettre en marche.III
Contributions
1298
Modèle
8.1 Introduction
La pré-programmation permet aux décideurs et aux parties prenantes (aménageurs, urbanistes, habitants,
. . . ) de se mettre d’accord sur les grandes lignes d’un projet urbain préliminaire avant d’engager des études
importantes, longues et coûteuses. Pour modéliser notre problème, nous allons commencer par décrire le
modèle urbain de pré-programmation durable tel qu’il a été spécifié par les urbanistes et les architectes
au fil de nos échanges. Dans cette première étape, l’enjeu consiste à relever et à expliquer les notions
fondamentales que nous avons décidé d’exploiter. Face à la complexité de l’organisation d’un espace urbain,
un travail conséquent a dû être réalisé en collaboration avec les spécialistes de la ville pour comprendre cette
complexité et en extraire les éléments significatifs.
Dans une seconde étape, nous décrivons le modèle de contrainte pour notre problème d’aménagement
urbain. Il s’agit d’un problème particulier de positionnement de formes urbaines sur un territoire pour
constituer une ville cohérente. Bien que l’on puisse faire des analogies avec des problèmes de positionnement
classiques comme le problème d’affectation quadratique, notre problème est constitué de nombreuses
contraintes spécifiques liées à l’aménagement urbain.
Ces différentes contraintes sont essentielles car elles permettent de décrire les règles qui régissent une
pré-programmation urbaine. Elles participent individuellement ou collectivement à la lutte contre l’étalement
urbain, la viabilité économique, la mixité fonctionnelle, le bien être des habitants, etc. Compte tenu
de leur importance, nous proposons pour chaque contrainte une description générale et une description
formelle accompagnées d’une représentation schématique pour illustrer chaque situation.
8.2 Modèle urbain de pré-programmation durable
La pré-programmation urbaine consiste d’abord à sélectionner le nombre et la nature de toutes les formes
urbaines1
composant la ville puis à les organiser spatialement, en prenant en compte les aspects environnementaux,
sociaux et économiques propres au développement durable (étalement urbain, mixité fonctionnelle,
mobilité, énergies, . . . ).
Plusieurs paramètres importants doivent être contrôlés : la densité de la population, les contraintes liées
au territoire à aménager et le taux d’emploi. Le taux d’emploi est calculé en divisant le nombre d’emplois
1La forme urbaine correspond à l’utilisation qui est faite de l’espace ou du bâti sur chaque îlot urbain (habitat, commerce,
. . . ), à ne pas confondre à la forme que peut prendre une ville entière (par exemple, forme radioconcentrique).
131132 CHAPITRE 8. MODÈLE
FIGURE 8.1 – Formes urbaines réparties automatiquement sur la zone expérimentale de la ville de Marnela-Vallée,
en prenant en compte les contraintes d’un développement urbain durable exprimées par les urbanistes.
D’après les travaux du projet SUSTAINS - schéma fourni par le LIMSI (Laboratoire d’informatique
pour la mécanique et les sciences de l’ingénieur).
par le nombre de personnes en âge de travailler et vivant dans la zone d’étude. Un taux d’emploi proche
de "1" correspond à une situation idéale où chaque résident peut accéder à un travail tout en vivant dans
la zone, minimisant ainsi les déplacements. Un taux d’emploi éloigné de "1" a des conséquences graves,
induisant un trafic important pour entrer et sortir de la ville.
8.2.1 Modèle urbain
En urbanisme, « la modélisation consiste à simplifier la réalité du monde pour mieux comprendre comment
les décisions et les événements interagissent les uns avec les autres. Elle permet alors de tester des solutions
susceptibles d’influencer ou d’orienter les décisions politiques et les stratégies pouvant conduire à un futur
souhaitable » [8]. Dans cette thèse, le modèle urbain proposé par les urbanistes repose sur les notions
essentielles représentées par les îlots, les centralités, les formes urbaines et les intensités, et il intègre, dans
une démarche systémique, les contraintes urbaines majeures liées à un développement urbain durable.
8.2.1.1 Îlot
L’îlot urbain dont les contours sont définis par les routes est le niveau de granularité le plus fin sélectionné
par les urbanistes. Sa dimension est fixée de façon à ce qu’un habitant puisse facilement en faire le tour à
pied. Les îlots sont représentés dans un quadrillage orthogonal avec une dimension de 80 mètres de côté. Il
est supposé que chaque îlot est associé à une seule forme urbaine (habitat, industrie, commerce, école, etc).
8.2.1.2 Centralité
Une notion très importante pour les urbanistes concerne la centralité : une place structurante (ou lieu central)
composée de quatre îlots tout au plus qui donne son nom au quartier. La centralité apparaît comme une
propriété fondamentale qui participe à la formation des agglomérations urbaines. La valorisation du capital
économique, social et symbolique accumulé localement suscite des investissements visant à renforcer l’accessibilité
du lieu central, au fur et à mesure de sa croissance, par rapport aux lieux avec lesquels il est en
concurrence. Et ce surcroît d’accessibilité rend le lieu encore plus attractif pour de nouvelles activités. Le8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 133
sentiment d’appartenir à un quartier coïncide avec la zone d’influence du lieu central, estimée à 300 mètres
de rayon.
8.2.1.3 Forme urbaine
Dans notre contexte, la forme urbaine correspond à un type d’utilisation dominant qui est fait de l’espace
ou du bâti pour un îlot complet. Néanmoins, une forme urbaine dite dominante peut tout à fait intégrer dans
sa déclaration une certaine mixité fonctionnelle (proportion d’habitat, de commerce, etc.). Vingt huit formes
urbaines ont été retenues (correspondant à quatre groupes : habitat, activité économique, infrastructure et
élément fixe) :
• maison individuelle ;
• maison de ville ;
• habitat intermédiaire ;
• habitat collectif (R+4)2
;
• habitat collectif (R+7)2
;
• bureau, petit immeuble (R+4)2
;
• bureau, grand immeuble (R+7)2
;
• parc d’entreprises ;
• industrie ;
• commerce et service de centre ville ;
• hypermarché
• école maternelle et élémentaire ;
• collège ;
• lycée ;
• équipement administratif ;
• équipement technique ;
• équipement sportif ;
• espace vert ;
• espace de respiration ;
• rivière ;
• route résidentielle ;
• route intermédiaire ;
• avenue ;
• terrain accidenté ;
• espace naturel ;
• voie préexistante ;
• voie de chemin de fer ;
• zone inconstructible ;
8.2.1.4 Intensité
L’intensité représente une échelle de mesure liée au niveau de densité de la population sur une zone donnée.
Elle permet également de traduire le niveau d’activité ou d’animation d’une région. Une intensité urbaine
élevée correspond à un quartier vivant, dense, mixte et pour lequel la marche à pied est le moyen de dé-
placement le plus simple pour accéder à toutes les fonctions urbaines essentielles. On retrouve ce niveau
d’intensité urbaine au centre ville tandis qu’une intensité urbaine faible est plutôt liée à un quartier à dominante
pavillonnaire. Six niveaux d’intensité sont définis allant de « 1 » pour l’intensité la plus faible à « 6 »
pour la plus élevée.
8.3 Modèle de contrainte pour le problème d’aménagement urbain
Pour un territoire donné, le modèle urbain nous fournit le nombre de formes urbaines de chaque type,
pour chaque niveau d’intensité. L’objectif consiste alors à répartir spatialement les formes urbaines sur
l’ensemble du territoire. Nous identifions ce problème comme un problème d’aménagement urbain.
Notre première tâche consiste à fournir une formalisation des contraintes et des préférences relatives
aux propriétés d’une ville durable. Les urbanistes expriment naturellement les interactions entre différentes
formes urbaines comme des préférences de positionnement au lieu de contraintes dures (par exemple, les
industries souhaitent être à proximité d’une voie ferrée ou d’un axe routier, mais elles préfèrent rester
éloignées des écoles ou des habitations). Nous exprimons donc ces préférences dans des fonctions de coût
et représentons le problème comme un problème d’optimisation combinatoire. Mais il y a également des
contraintes dures qui restreignent strictement les positions de certaines formes urbaines (Par exemple, on ne
2
(R+"x") signifie : rez-de-chaussée + "x" étages.134 CHAPITRE 8. MODÈLE
peut pas placer une maison individuelle, associée à une intensité urbaine très faible, en plein centre urbain
lié à une intensité urbaine très forte).
En fin de compte, notre problème englobe un grand nombre de contraintes, certaines étant très spéci-
fiques. Nous distinguons dans notre présentation les plus importantes, les contraintes générales qui s’appliquent
à toutes les variables, et les contraintes spécifiques qui s’appliquent uniquement à certaines zones
ou à certaines formes urbaines. Dans la suite, nous détaillons l’ensemble des fonctions de coûts et des
contraintes retenues pour modéliser notre problème d’aménagement urbain.
8.3.1 Représentation de la ville par une grille
Nous représentons la ville par une grille régulière où chaque cellule correspond à un îlot urbain. L’objectif
consiste à affecter à chaque cellule de la grille une forme urbaine parmi les formes possibles.
Certaines cellules spécifiques sont associées à des éléments fixes (routes, zones non constructibles, etc.).
Elles sont donc considérées comme non libres et ne sont pas prises en considération. Pourtant, elles sont
conservées sur la carte car elles peuvent interférer avec les autres formes urbaines. De plus, chaque cellule
est affectée à un niveau d’intensité spécifié manuellement par les urbanistes (au tout début du processus de
conception). Ceci permet par exemple de représenter les centralités sur la carte (zones commerciales, places
animées, etc.).
Par souci de simplicité, la grille est vue comme une matrice rectangulaire de cellules de taille (x × y),
mais cette représentation est plus symbolique que géométrique, dans la mesure où c’est le voisinage qui est
important et le placement relatif des formes urbaines, pas la géométrie rectangulaire.
Chaque cellule correspond à une variable dont la valeur est sélectionnée parmi toutes les formes urbaines.
Nous notons Vl,c la variable correspondant à la cellule en ligne l, colonne c. Les formes urbaines
sont encodées avec les valeurs entières suivantes :
0. non défini ;
1. maison individuelle ;
2. maison de ville ;
3. habitat intermédiaire ;
4. habitat collectif (R+4) ;
5. habitat collectif (R+7) ;
6. bureau, petit immeuble (R+4) ;
7. bureau, grand immeuble (R+7) ;
8. parc d’entreprises ;
9. industrie ;
10. commerce et service de centre ville ;
11. hypermarché
12. école maternelle et élémentaire ;
13. collège ;
14. lycée ;
15. équipement administratif ;
16. équipement technique ;
17. équipement sportif ;
18. espace vert ;
19. espace de respiration ;
20. rivière ;
21. route résidentielle ;
22. route intermédiaire ;
23. avenue ;
24. terrain accidenté ;
25. espace naturel ;
26. voie préexistante ;
27. voie de chemin de fer ;
28. zone inconstructible ;
Dans notre modèle, on s’intéresse à un problème d’optimisation sous contraintes où certaines contraintes
sont traduites en fonctions de coût alors que d’autres restreignent les affectations possibles lors de la résolution.
Lorsqu’une forme urbaine est assignée à une cellule, un coût pour cette cellule peut être calculé à
partir de chaque contrainte applicable. La somme de ces coûts permet d’obtenir un coût total pour la cellule
en question. L’objectif consiste à minimiser la somme des coûts sur l’ensemble des cellules, le coût global
étant noté Cost. On cherche alors à déterminer pour chaque cellule la forme urbaine Vl,c qui permet de
minimiser le coût global Cost issu du coût de chaque cellule Vl,c pour chaque contrainte ct applicable :
Cost =
Xx−1
l=0
X
y−1
c=0
Xz
ct=1
(wct ∗ Costct (Vl,c)) (8.1)8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 135
FIGURE 8.2 – Illustration de la distance de Tchebychev à partir de la cellule marquée par un « O » et
positionnée en ligne 3, colonne 3 : chaque colonne est repérée par sa distance (allant de 1 à 4) par rapport à
la cellule « O ».
où : z correspond au nombre de contraintes définies et wct au poids associé à chaque contrainte ct.
Par rapport à notre modèle, abordons dès à présent l’ensemble des notations générales, en lien avec la
représentation en grille, qui seront reprises par la suite dans la définition des contraintes.
8.3.1.1 Distance de Tchebychev
Pour certaines contraintes, nous utilisons la distance de Tchebychev (cf. figure 8.2) qui s’exprime en nombre
de cellules. Soit deux cellules Vi,j et Vk,l, la distance de Tchebychev séparant les cellules Vi,j et Vk,l est :
Dtch(Vi,j , Vk,l) = max (|k − i| , |l − j|) (8.2)
8.3.1.2 Distance de Manhattan
Pour d’autres contraintes, nous utilisons la distance de Manhattan (cf. figure 8.3) correspondant à la distance
parcourue en empruntant les rues agencées selon un quadrillage (en référence à la structure des villes
américaines, typiquement le quartier de Manhattan à New York). Soit deux cellules Vi,j et Vk,l, la distance
de Manhattan séparant les cellules Vi,j et Vk,l est :
Dman(Vi,j , Vk,l) = |k − i| + |l − j| (8.3)
8.3.1.3 Voisinage
Pour la variable Vl,c, son voisinage3
(cf. figure 8.4) correspond à l’ensemble noté V
d
l,c défini comme étant :
V
d
l,c = {Vi,j , i ∈ [l − d, l + d] , j ∈ [c − d, c + d]} \{Vl,c} (8.4)
3On parle ici des cellules voisines sur la grille dans le sens géométrique du terme, à ne pas confondre avec la notion de
voisinage exploitée par les algorithmes de recherche locale.136 CHAPITRE 8. MODÈLE
FIGURE 8.3 – Illustration de la distance de Manhattan à parcourir entre le point de départ « D » et le point
d’arrivée « A ».
où : d est un paramètre contrôlant la taille du voisinage. Cela correspond au voisinage de MOORE mais
privé de son centre, c’est à dire un ensemble de cellules délimité par une distance de Tchebychev non nulle
à partir de la cellule Vl,c.
8.3.1.4 Anneau de voisinage
Il nous arrivera également de considérer l’ensemble des cellules positionnées sur l’anneau de voisinage (cf.
figure 8.5) situé à la périphérique de V
d
l,c noté V¯d
l,c tel que :
V¯d
l,c = {Vi,j ,(|i − l| = d) ∨ (|j − c| = d)} (8.5)
8.3.1.5 Filtrage d’un ensemble de cellules relatives à une forme urbaine
Par rapport à un ensemble de cellules donné, on veut déterminer le sous-ensemble de ces cellules qui sont
affectées à une forme urbaine particulière.
Soit V un ensemble de cellules et f une forme urbaine donnée, VBf est l’ensemble des éléments Vl,c de
V tel que Vl,c = f.
8.3.1.6 Filtrage d’un ensemble de formes urbaines relatives à un ensemble de cellules
Cette fois, on dispose d’un ensemble de formes urbaines et on veut déterminer le sous-ensemble de ces
formes urbaines qui sont affectées à un ensemble de cellules donné.
Soit F un ensemble de formes urbaines et V un ensemble de cellules, la notation FBV retourne les
formes urbaines de F ayant une correspondance dans V. Par exemple, si F = {10, 12, 13, 14, 17, 18} et
V = {V1 = 6, V2 = 18, V3 = 18, V4 = 12}, alors FBV = {12, 18}.
8.3.2 Contraintes générales
Les contraintes générales s’appliquent à toutes les formes urbaines sur la totalité de la grille. Elles permettent
de définir une organisation générale de la ville qui sera raffinée par des contraintes plus spécifiques.8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 137
FIGURE 8.4 – (V
2
3,3
) représente le voisinage de la cellule marquée par un « O » et positionnée en ligne 3,
colonne 3 pour une taille de voisinage = 2 : le voisinage est constitué de toutes les cellules marquées par un
« 1 » et un « 2 ».
8.3.2.1 Cardinalité liée à chaque forme urbaine
Selon certaines caractéristiques de la ville à créer (nombre d’habitants, taille, taux d’emploi, etc.), les urbanistes
sont en mesure de déterminer le nombre d’occurrences de chaque forme urbaine devant apparaître
dans la ville : par exemple, une ville importante doit avoir une certaine surface de parcs, une certaines surface
d’industries, etc. Pour chaque forme urbaine, on a donc une contrainte de cardinalité sur l’ensemble
des îlots.
8.3.2.2 Correspondance des niveaux d’intensité
Le modèle urbain fournit un niveau d’intensité donné pour chaque forme urbaine, et un niveau d’intensité
pour chaque cellule de la grille. Sur la base de ces éléments, chaque assignation d’une forme urbaine à une
cellule doit respecter la correspondance d’intensité entre les formes urbaines et les cellules. Les différents
niveaux d’intensité sont définis par l’utilisateur sur la carte. Il s’agit d’une contrainte unaire.
8.3.2.3 Interactions entre formes urbaines
Chaque forme urbaine a des préférences de placement en fonction de sa nature. Par exemple, les unités
scolaires sont attirées par les unités résidentielles, et les unités résidentielles sont repoussées par les unités
industrielles [121]. Nous modélisons ces préférences par une fonction spécifiant l’attraction (ou inversement
la répulsion) de chaque forme urbaine pour une autre forme urbaine. Entre deux formes urbaines, les valeurs
d’interaction possibles sont :
• 0 : double attraction,
• 10 : simple attraction,
• 20 : neutre,
• 50 : simple répulsion,
• 100 : double répulsion.
La valeur d’interaction diminue avec l’augmentation de la distance entre deux cellules (cf. figure 8.6).
Les préférences d’interaction sont exprimées comme une fonction de coût. Nous notons Ω
I
la matrice138 CHAPITRE 8. MODÈLE
FIGURE 8.5 – (V¯2
3,3
) représente l’anneau de voisinage de la cellule marquée par un « O » et positionnée en
ligne 3, colonne 3 pour une taille de voisinage = 2 : l’anneau est constitué de toutes les cellules marquées
par un « 2 ».
d’interaction, qui est une entrée du système. Ω
I
p,q est la valeur d’interaction entre la forme urbaine p et la
forme urbaine q. Cette matrice est asymétrique, on peut donc avoir Ω
I
p,q 6= ΩI
q,p.
Pour une forme urbaine positionnée sur la cellule Vl,c, le coût d’interaction dépend uniquement de son
voisinage et de l’influence de la distance avec ses cellules voisines. Finalement, pour une cellule Vl,c, la
fonction de coût relative à notre contrainte est :
Cost1 (Vl,c) = X
δ1
d=1
P
v∈V¯d
l,c
Ω
I
Vl,c,v
V¯d
l,c
∗ d
2
(8.6)
où : δ1 est la distance d’interaction maximale (dans la suite, δ1 est fixé à « 3 ») à considérer entre deux formes
urbaines. Le coût de la cellule Vl,c intègre les contributions de tous les anneaux compris à la distance d de
Vl,c, mais ces contributions diminuent au fur et à mesure que d augmente. Pour un anneau, les contributions
moyennes des cellules (situées sur l’anneau) sont divisées par un facteur de correction égale à d
2
, afin
d’obtenir un effet similaire à l’attraction en physique (cf. les modèles d’interaction spatiale et les modèles
gravitaires 7.1.3).
Comme indiqué sur le graphique situé à droite dans la figure 8.6, les cellules en bordure de grille,
notamment dans les coins, ont un voisinage limité par rapport aux cellules éloignées des bords. Pour prendre
en compte cette variation de taille du voisinage, l’équation 8.6 prend en compte le nombre de cellules
présentes dans chaque anneau pour définir une moyenne des interactions de la cellule concernée avec ses
cellules voisines.
8.3.3 Contraintes spécifiques
Afin de renforcer les aspects durables de notre modèle, nous ajoutons des contraintes plus spécifiques visant
à améliorer l’équité sociale, la préservation de l’environnement et la viabilité économique.8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 139
FIGURE 8.6 – Contrainte d’interaction entre formes urbaines permettant d’exprimer les préférences de
positionnement des formes urbaines les unes par rapport aux autres. Chaque cellule est en interaction avec
ses cellules voisines dans un voisinage limité à une taille de 3 cellules. La force d’interaction entre deux
cellules diminue avec l’augmentation de la distance qui les sépare.
Interaction avec un voisinage complet Interaction avec un voisinage réduit
8.3.3.1 Distance minimale de séparation
Cette contrainte spécifie que certaines formes urbaines doivent être éloignées les unes des autres d’une
distance minimale, la distance étant exprimée en nombre de cellules (cf. figure 8.7). Par exemple, entre
une maison individuelle (no 1) et un immeuble tertiaire R+7 (no 7), il faut respecter une distance d’au moins
« 4 » cellules (i.e. trois cellules de séparation). Pour cette contrainte, nous utilisons la distance de Tchebychev
pertinente pour contrôler la proximité de formes urbaines dans un voisinage donné.
Nous notons Ω
D la matrice de distance, avec Ω
D
p,q la distance minimum autorisée entre la forme urbaine
p et la forme urbaine q. Cette matrice est symétrique. Par convention, Ω
D
p,q = 0 lorsqu’il n’y a pas de
contrainte de distance particulière entre p et q. Pour une forme urbaine Vl,c localisée en (l, c), la fonction de
coût liée à notre contrainte devient :
Cost2 (Vl,c) = X
v∈V3
l,c
max
Ω
D
Vl,c,v − Dtch(Vl,c, v), 0
(8.7)
Nota : On travaille ici avec une taille de voisinage limitée à « 3 » cellules car la distance minimale la
plus importante relevée dans notre matrice de distance est égale à « 4 ». Donc au delà de cette limite de
voisinage, il n’y a jamais de pénalité.
8.3.3.2 Regroupement
Les zones industrielles ou artisanales doivent atteindre une taille critique pour que leur construction soit
économiquement viable, c’est à dire un regroupement minimum de la même forme urbaine localisée dans
une même région, autrement la zone ne sera pas créée en pratique. Pour d’autres formes urbaines, en plus
d’une taille critique à atteindre, on doit limiter le regroupement à une taille maximale pour favoriser leur
répartition sur le territoire et indirectement leur accessibilité. C’est le cas des lycées et des hypermarchés.
Les paramètres de regroupement sont déterminés par les concepteurs urbains pour chaque forme urbaine
concernée par un regroupement (voir par exemple la table 8.1). D’un autre côté, bien que cela ne soit pas explicitement
exprimé par les concepteurs, la zone considérée doit avoir une structure suffisamment compacte140 CHAPITRE 8. MODÈLE
FIGURE 8.7 – Contrainte de distance minimale de séparation entre formes urbaines.
TABLE 8.1 – Paramètres des contraintes de regroupement par forme urbaine.
Forme urbaine Nombre
minimum d’îlots
Nombre
maximum d’îlots
Proportion d’îlots
voisins identiques
Artisanat 8 - 80 %
Industrie 42 - 80 %
Hypermarché 4 6 0 %
Lycée 2 2 0 %
pour le regroupement de certaines formes urbaines. Intuitivement, on peut penser qu’un regroupement sous
la forme d’un cercle est préférable à une ligne ou un rectangle plat. Pour ces formes urbaines, on pénalise
alors les cellules qui appartiennent à un groupe trop petit ou pas assez compact. On considère également
qu’un même groupe peut enjamber des éléments fixes positionnés sur le territoire comme une rivière, une
route ou un terrain accidenté, à condition toutefois que cette séparation ne soit pas supérieure à un îlot.
Soit les éléments suivants donnés en entrée du système :
• Freg l’ensemble des formes urbaines à regrouper, et f une forme urbaine appartenant à cet ensemble ;
• Sizef
min la taille minimale pour un groupe de f ;
• Sizef
max la taille maximale pour un groupe de f ;
• Coeff
struct le coefficient de structure pour un groupe de f avec 0 < Coeff
struct ≤ 1. Ce coefficient permet
de calculer la proportion, pour une cellule donnée, de ses cellules voisines devant appartenir au même
groupe (i.e. ayant la même forme urbaine). Il influence la structure géométrique des groupes : plus sa
valeur est proche de « 1 », plus la structure du groupe généré sera compacte ;
• Fcont l’ensemble des formes urbaines de continuité pouvant occuper une cellule à l’intérieur d’un
groupe sans provoquer la scission du groupe correspondant. Fcont est composé des formes urbaines
suivantes :
– rivière ;
– route (résidentielle, intermédiaire, avenue) ;
– terrain accidenté ;
– espace naturel ;
– voie préexistante ;8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 141
FIGURE 8.8 – Contraintes de regroupement d’une forme urbaine.
– voie de chemin de fer ;
– zone inconstructible ;
On note G
f
l,c le groupe de cellules associé à Vl,c avec f = Vl,c tel que :
G
f
l,c =
∅ Si Vl,c 6= f
Vl,c Si Vl,c = f
∀ Vl
0
,c0 ∈ V1
l,c, Gf
l
0
,c0 Si
Vl
0
,c0 ∈/ G
f
l,c
∧ ((Vl
0
,c0 = f) ∨ ((Vl
0
,c0 ∈ Fcont) ∧ (Vl,c = f)))
(8.8)
On note Cl,c le coût associé au groupe G
f
l,c tel que :
Cl,c =
SizeVl,c
min −
G
Vl,c
l,c
Si SizeVl,c
min >
G
Vl,c
l,c
G
Vl,c
l,c
− SizeVl,c
max
Si SizeVl,c
max <
G
Vl,c
l,c
0 Sinon
(8.9)
Le coût de regroupement associé à la variable Vl,c peut alors s’écrire :
Cost3 (Vl,c) =
max CoefVl,c
struct ∗
V
1
l,c
−
V
1
l,cBVl,c
, 0
+ Cl,c Si Vl,c ∈ Freg
0 Sinon
(8.10)
8.3.3.3 Accessibilité
Cette contrainte concerne uniquement la forme urbaine : espaces de respiration. Elle spécifie qu’en tout
point habité de la ville, on doit pouvoir accéder à un espace de respiration en moins de quinze minutes à
pied. Pour un piéton se déplaçant à une vitesse moyenne de 5 km/h, ce temps lui permet de parcourir une
distance d’environ 1,25 km, équivalente à la longueur de 15 cellules mises bout à bout.
Nous proposons deux versions complémentaires de cette contrainte. La première version dite « contrainte
d’accessibilité globale » pénalise les cellules habitées et non couvertes proportionnellement au dépassement142 CHAPITRE 8. MODÈLE
FIGURE 8.9 – Contrainte d’accessibilité globale avec une distance de couverture limitée à 4 cellules (en
distance de Manhattan) : coût imputé sur chaque cellule habitée et non couverte par un espace de respiration.
Dans cet exemple, la cellule marquée « ER » correspond à la seule cellule occupée par un espace de
respiration.
de leur distance autorisée à n’importe quel espace de respiration. La seconde version intitulée « contrainte
d’accessibilité locale » pénalise uniformément les cellules habitées et non couvertes par un espace de respiration.
La version globale est plus appropriée que la version locale si le nombre d’espaces de respiration à
répartir sur la ville est insuffisant pour couvrir la grille entière, mais son temps de calcul est lié à la taille de
la grille et peut donc devenir conséquent. En revanche, la version locale peut être calculée beaucoup plus
rapidement dans un espace limité autour de chaque cellule habitée et elle est pertinente si le modèle urbain
fournit suffisamment d’espaces de respiration pour couvrir toute la zone à développer.
Contrainte d’accessibilité globale À ce niveau, on mesure à quel point la contrainte est violée en quantifiant
la violation au lieu de simplement l’observer. La distance entre cellules est mesurée en distance de
Manhattan, pertinente pour un déplacement piétonnier en ville.
Les coûts correspondants liés à chaque cellule habitée sont illustrés sur la figure 8.9, en supposant qu’il
n’y ait qu’un seul espace de respiration (repéré par « ER ») dans la grille, que toutes les autres cellules sont
habitées et que la distance de couverture d’un espace de respiration, au dessous de laquelle il n’y a pas de
coût, soit fixée avec une distance de Manhattan δ2 = 4 (au lieu de 15 normalement, ceci pour simplifier la
représentation).
La fonction de coût associée à cette contrainte correspond alors à la somme de toutes les violations
pour toutes les cellules habitées. Pour la calculer, il est nécessaire de connaître les positions des espaces de
respiration dans la configuration courante, que l’on note ER1, . . . , ERm (en supposant qu’il y ait m espaces
de respiration). ER1 = (l, c) signifie que le premier espace de respiration correspond à la variable Vl,c. On
note Fhab = {1, 2, 3, 4, 5}, l’ensemble représentant les habitations et correspondant aux formes urbaines
suivantes :
• 1 maison individuelle ;
• 2 maison de ville ;
• 3 habitat intermédiaire ;
• 4 habitat collectif (R+4) ;
• 5 habitat collectif (R+7) ;8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 143
La fonction de coût associée à une cellule Vl,c pour la contrainte d’accessibilité globale vaut :
Cost4 (Vl,c) =
min(1≤α≤m) (max (Dman(Vl,c, ERα) − δ2, 0)) Si Vl,c ∈ Fhab
0 Sinon
(8.11)
où :
• m est le nombre d’espaces de respiration ;
• δ2 est une constante indiquant le nombre maximum d’îlots à parcourir à pied (distance de Manhattan)
pour accéder à un espace de respiration ;
• Fhab est l’ensemble représentant les habitations.
Contrainte d’accessibilité locale Dans cette version, on s’intéresse aux cellules habitées qui ne sont
couvertes par aucun espace de respiration. Contrairement à la contrainte d’accessibilité globale, on observe
simplement les violations sans les quantifier. Dès lors, tous les îlots habités sont pénalisés de la même
manière dès qu’ils ne sont pas couverts par un espace de respiration, que l’espace de respiration le plus
proche soit éloigné ou très éloigné.
Bien que la distance de Manhattan soit idéale pour mesurer le parcours d’un piéton en ville, on fait le
choix de travailler ici en distance de Tchebychev pour les raisons suivantes :
• on ne cherche pas à quantifier les violations ;
• on travaille à une échelle locale réduite autour de chaque espace de respiration ;
• le nombre d’espace de respiration est suffisant pour couvrir la ville entière (hypothèse de départ pour
que cette version soit pertinente) ;
• la distance de Tchebychev nous permet d’exploiter directement le voisinage V
d
l,c pour une distance d
égale à la distance de couverture imposée pour chaque espace de respiration (voir l’équation 8.12).
Profitons de cette argumentation sur le choix d’une unité de distance pour revenir aux origines de cette
version locale et nous permettre une petite intrusion technique. La contrainte d’accessibilité locale est une
version volontairement « dégradée » qui a été conçue pour améliorer les performances de la version globale
plus élaborée et permettre ainsi un passage à l’échelle. Lors des premières expérimentations, nous avons
en effet constaté qu’à partir d’une taille de grille 64 × 64, la version globale devenait trop pénalisante
en temps de réponse pour pouvoir être utilisée dans un contexte interactif. D’un point de vue purement
opérationnel et technique, l’utilisation du voisinage (représenté par V
d
l,c) permettait de réutiliser (i) des
procédés (algorithmes) et (ii) des données calculées par ailleurs et directement disponibles en cache (cf.
section 9.3.1).
Pour un espace de respiration repéré aux coordonnées (l, c), sa zone de couverture correspond au voisinage
V
δ3
l,c, avec δ3 correspondant à la distance de couverture retenue exprimée en distance de Tchebychev.
Contrairement à la version globale, on récupère ici le voisinage de couverture associée à chaque espace de
respiration et on cumule, au niveau de chaque cellule habitée, le nombre d’espaces de respiration qui les
recouvrent. Cette notion est illustrée dans la figure 8.10, en supposant qu’il y ait deux espaces de respiration
(repérés par ER1 et ER2) dans la grille, que toutes les autres cellules soient habitées et que δ3 = 4.
Les cellules de la grille qui contiennent le chiffre « 1 » sont couvertes par ER1 ou ER2, celles qui
contiennent le chiffre « 2 » sont couvertes à la fois par ER1 et ER2. Seul le nombre de cellules habitées non
couvertes, c’est à dire celles identifiées par le chiffre « 0 », sont comptabilisées pour déterminer le coût d’une
configuration. La fonction de coût associée à cette contrainte correspond alors au nombre total de cellules
habitées non couvertes. Pour la calculer, il est nécessaire, comme pour la version globale, de connaître les
positions des espaces de respiration dans la configuration courante, que l’on notera de la même manière. La
fonction de coût associée à la contrainte d’accessibilité locale pour la variable Vl,c est :144 CHAPITRE 8. MODÈLE
FIGURE 8.10 – Contrainte d’accessibilité locale avec une distance de couverture limitée à 4 cellules (distance
de Tchebychev) : on indique le nombre d’espaces de respiration qui couvrent chaque cellule habitée.
Dans cet exemple, les cellules marquées « ER1 » et « ER2 » correspondent aux cellules occupées par un espace
de respiration. Les cellules habitées marquées avec le chiffre « 0 » sont les cellules qui vont alimenter
la fonction de coût (pénalité pour chaque cellule sans couverture).
Cost4 (Vl,c) =
1 Si (Vl,c ∈ Fhab) ∧
X
1≤α≤m
(
1 Si Vl,c ∈ Vδ3
ERα
0 Sinon
= 0
0 Sinon
(8.12)
où :
• m est le nombre d’espaces de respiration ;
• δ3 est une constante indiquant le nombre maximum d’îlots à parcourir à pied (distance de Tchebychev)
pour accéder à un espace de respiration ;
• Fhab est l’ensemble représentant les habitations.
8.3.3.4 Séparation
C’est une contrainte inhérente aux espaces tampons ou aux équipements bâtis qui doivent s’intercaler entre
certaines formes urbaines ne pouvant pas se toucher. En effet, pour certaines formes urbaines proches les
unes des autres, il est demandé qu’elles ne soient pas contiguës (qu’elles ne se touchent pas), et qu’elles
soient séparées par un espace tampon ou un équipement bâti lorsqu’elles sont situées à proximité l’une de
l’autre. Les formes urbaines suivantes sont considérées comme des espaces tampon :
• équipement sportif ;
• espace de respiration ;
• espace vert
Tandis que les équipements bâtis sont représentés par les formes urbaines suivantes :
• école maternelle et élémentaire ;
• collège ;
• lycée ;
• équipement administratif ;
• équipement technique.8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 145
FIGURE 8.11 – Illustration des séparations simples ou doubles entre la cellule centrale et les cellules de
l’anneau périphérique situées à une distance stricte d = 2.
Séparation simple Double séparation
Par exemple, lorsqu’une maison individuelle et un habitat collectif R+7 se trouvent à proximité l’un
de l’autre, nous devons les séparer par un espace tampon. Lorsqu’une maison individuelle est proche d’un
habitat collectif R+4, il faut positionner entre les deux îlots un espace bâti.
Pour une forme urbaine repérée par Vl,c, on s’intéresse uniquement à ses variables voisines présentes
dans l’ensemble V
2
l,c. On note Ω
S
la matrice de séparation fournie en entrée du problème. Ω
S
p,q fournit
l’ensemble des formes urbaines autorisées pour séparer la forme urbaine p de la forme urbaine q. Soulignons
que chaque élément de cette matrice correspond à un ensemble (constitué de formes urbaines), pratique
suffisamment inhabituelle pour qu’elle soit précisée. Cette matrice est symétrique, on aura donc Ω
S
p,q = ΩS
q,p.
On peut avoir Ω
S
p,q = ∅ lorsqu’il n’y a pas de contrainte particulière de séparation entre les deux formes
urbaines p et q.
Pour chaque variable Vi,j située dans le voisinage V
1
l,c, on doit vérifier Ω
S
Vl,c,Vi,j = ∅. En effet, lorsqu’une
séparation est imposée entre deux formes urbaines, celles-ci ne doivent pas être contiguës. D’autre part,
pour chaque cellule Vi,j située sur l’anneau de voisinage V¯2
l,c, si Ω
S
Vl,c,Vi,j
6= ∅, il faut vérifier que les formes
urbaines positionnées sur les cellules qui séparent Vl,c et Vi,j appartiennent bien à l’ensemble Ω
S
Vl,c,Vi,j
.
La notation S(Vl,c, Vi,j ) désigne l’ensemble des formes urbaines positionnées sur les cellules qui sé-
parent Vl,c et Vi,j . Cet ensemble peut contenir un ou deux éléments comme le montre la figure 8.11 qui
indique les variables de séparation entre la cellule centrale V3,3 et ses cellules voisines Vi,j situées à une
distance stricte d = 2. Par exemple, S(V3,3, V1,1) contient la forme urbaine de V2,2 et S(V3,3, V1,2) contient
les formes urbaines de V2,2 et de V2,3.
La fonction de coût pour la variable Vl,c peut alors s’exprimer ainsi :
Cost5 (Vl,c) = X
v∈V1
l,c
(
1 Si
Ω
S
Vl,c,v 6= ∅
0 Sinon
+
X
v∈V¯2
l,c
(
S(Vl,c, v)\Ω
S
Vl,c,v
Si
Ω
S
Vl,c,v 6= ∅
0 Sinon
(8.13)
8.3.3.5 Emprise au sol
Le principe est le suivant : pour des formes urbaines particulières (maison individuelle, maison de ville,
habitat intermédiaire ou collectif, bâtiment tertiaire) que l’on trouve dans le voisinage proche d’un collège
ou d’un lycée, il faut réserver une surface autour de l’école, en positionnant, à coté de l’édifice, un nombre
plus ou moins important d’espaces verts.146 CHAPITRE 8. MODÈLE
FIGURE 8.12 – Emprise au sol : le nombre d’espaces verts au pied d’un collège ou d’un lycée est imposé et
ce nombre dépend de la présence de certaines formes urbaines particulières à proximité de l’établissement.
Par exemple, si on ne trouve à proximité d’un collège que des maisons individuelles, des maisons de
ville ou de l’habitat intermédiaire, il faut prévoir au moins un espace vert à côté de l’école. Cependant, dès
qu’il y a de l’habitat collectif ou des bâtiments tertiaires aux environs du collège, nous devons prévoir une
surface plus importante constituée d’au moins deux espaces verts (cf. figure 8.12). On note Ω
E la matrice
qui contient le paramétrage d’emprise au sol, tel que Ω
E
p,q identifie le nombre minimum d’espaces verts à
positionner autour de la forme urbaine p compte tenu de la proximité de la forme urbaine q. Cette matrice
est asymétrique, donc Ω
E
p,q peut être différent de Ω
E
q,p. On peut également avoir Ω
E
p,q = 0 lorsqu’il n’y a pas
de conditions particulières d’emprise au sol entre les deux formes urbaines p et q. Concernant la proximité
liée à une forme urbaine Vl,c de référence, seules les cellules voisines représentées par l’ensemble V
4
l,c sont
considérées.
Soit :
• Fres l’ensemble des formes urbaines concernées par la réservation d’un ou de plusieurs espaces verts
dans leur voisinage immédiat (i.e. collège et lycée) ;
• EV représentant la forme urbaine « espace vert »,
Si Vl,c ∈ Fres, le coût associé à cette variable correspond au nombre d’espaces verts manquants à
proximité immédiate de Vl,c :
Cost6 (Vl,c) = (
max max(v∈V4
l,c)
Ω
E
Vl,c,v
−
V
1
l,cBEV
, 0
Si (Vl,c ∈ Fres)
0 Sinon
(8.14)
8.3.3.6 Filtrage et diversité
Cette contrainte est liée aux centralités (voir la section 8.2.1.2). Les centralités sont identifiées par des
cellules spéciales marquées par l’utilisateur pour représenter le centre d’un quartier. Elles peuvent regrouper
une, deux ou quatre cellules contiguës pour former une centralité plus ou moins importante, ces cellules
pouvant être séparées par une route. Chaque cellule centralité est identifiée par l’utilisateur. On parlera
indifféremment de « centralité » pour faire référence soit à une cellule marquée par l’utilisateur, soit à un
groupe de cellules appartenant à la même centralité. Cette contrainte est utilisée pour (cf. figure 8.13) :8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 147
FIGURE 8.13 – Filtrage et diversité des formes urbaines sur chaque centralité : la centralité principale est
constituée de quatre cellules repérées par l’utilisateur avec la lettre « C » et disposées de part et d’autre d’un
axe routier important (avenues). Les formes urbaines positionnées sur ces cellules doivent être « 6= » entre
elles pour favoriser la diversité et un filtre « F » limite les formes urbaines pouvant prendre place sur chaque
cellule.
• filtrer les formes urbaines pouvant occuper une centralité (cellule) ;
• participer à la diversité des formes urbaines localisées sur une même centralité (groupe).
Pour calculer cette contrainte, il est nécessaire de connaître l’ensemble des cellules repérées par l’utilisateur
comme étant des centralités, que l’on note Vcent = {Vi,j , . . . , Vk,l}, Vi,j correspondant à la première centralité
et Vk,l à la dernière. On note Fcent = {10, 12, 13, 14, 17, 18}, l’ensemble des formes urbaines autorisées
à être positionnées sur une centralité et correspondant aux formes urbaines suivantes :
• 10 : commerce et service de centre ville ;
• 12 : école maternelle et élémentaire ;
• 13 : collège ;
• 14 : lycée ;
• 17 : équipement sportif ;
• 18 : espace vert.
Pour une variable Vl,c, la centralité (groupe) qui lui est associée correspond à toutes ses cellules voisines
repérées comme des centralités par Vcent, ces cellules pouvant être séparées par une route. Pour prendre en
compte cette séparation éventuelle et regrouper des centralités non contiguës (séparées par une route), on
considère un voisinage complet V
2
l,c, pour ne retenir que les cellules marquées comme des centralités. On
note Cl,c la centralité (groupe) associée à la variable Vl,c tel que :
Cl,c =
Vi,j , Vi,j ∈
V
2
l,c ∪ Vl,c
∩ Vcent (8.15)
Pour une cellule Vl,c liée à une centralité (cellule), son coût correspond à une pénalité composée des
éléments suivants :
1. un coût fixe (défini à 10) si la cellule Vl,c est associée à une forme urbaine non autorisée ;
2. le nombre des cellules de la centralité associées à une forme urbaine non autorisée ;
3. la différence entre le nombre de cellules de la centralité (|Cl,c|) et la diversité des formes urbaines
autorisées qui leur sont imputées
FcentBCl,c
.148 CHAPITRE 8. MODÈLE
Compte tenu de ces éléments, le coût global associé à la cellule Vl,c peut s’écrire ainsi :
Cost7 (Vl,c) =
10 Si Vl,c ∈ F/ cent
0 Sinon
+
X
v∈Cl,c
1 Si (v /∈ Fcent)
0 Sinon
+ |Cl,c| −
FcentBCl,c
Si Vl,c ∈ Vcent
0 Sinon
(8.16)
8.4 Conclusion
« Pour construire un modèle qui sera souvent unique en son genre, l’informaticien doit être capable d’écouter,
d’aider, de faire et de refaire : il doit renoncer à venir avec ses modèles tout faits qui seraient à prendre
ou à laisser » [220]. Conformément aux préconisations de Jean-Charles POMEROL, c’est au prix d’efforts
importants et de nombreuses réunions que nous sommes parvenus à réaliser avec l’aide indispensable des
praticiens de la ville cette modélisation. Nous ne reprenons ici que les éléments essentiels retenus parmi
une multitude de notions mises en lumière pendant des heures et des heures d’échanges passionnants et
de formalisation, de nombreuses propositions de toutes parts ou d’explorations successives, parfois des
abandons ou des retours en arrière. Un travail d’écoute, de compréhension et d’analyse en continu nous a
permis, progressivement, de dégager et de mettre en forme des propriétés et des contraintes « à gros grain »
caractéristiques d’une pré-programmation à la base de cette représentation formelle.
Nous nous intéressons plus particulièrement à une représentation symbolique de la ville qui permet
de simplifier une réalité trop complexe pour être complètement appréhendée. Notre modèle de contrainte
pour ce problème d’aménagement urbain reste volontairement simple pour qu’il puisse être compris par
les décideurs, élément crucial pour qu’il soit accepté et utilisé dans la pratique. Malgré la particularité du
problème, la modélisation proposée reste générique et repose sur les notions de voisinage et d’interaction
entre formes urbaines, complétées par des contraintes plus spécifiques permettant de renforcer les aspects
durables dans notre modèle. Dans ce cadre symbolique, la majorité des contraintes a pu être traduite en
fonctions de coût pour exprimer des préférences de positionnement. Dès lors, l’objectif consiste à rechercher
une configuration qui minimise un coût global traduisant le meilleur compromis entre les différentes
préférences.
Ce modèle peut être résolu indifféremment par des méthodes complètes ou incomplètes. Il est prévu
pour représenter des villes importantes comme l’exemple de Marne-la-vallée (8 728 hectares pour 234 644
habitants) illustré au début de ce chapitre. De plus, il sera exploité dans un cadre interactif où l’utilisateur
peut interagir avec la résolution pour traduire des aspects impossibles à représenter dans le modèle. En effet,
un système interactif d’aide à la décision (ou SIAD, voir le chapitre 6) doit rester un modèle inachevé [220],
ce qui participe à son acceptation par les utilisateurs qui conservent une part non négligeable de liberté. Sans
incertitude, la résolution du modèle pourrait être totalement robotisée sans laisser de place au processus de
décision. Au contraire, la part d’incertitude qui reste dans les mains des opérateurs est une façon d’améliorer
les processus de décision sans les bouleverser. C’est justement parce que l’on ne sait pas terminer le modèle
qu’il est indispensable d’avoir un décideur devant l’écran pour l’achever. L’interactivité représente alors une
part inexprimable de la modélisation pour des problèmes non structurés, c’est à dire impossibles à décrire
entièrement.9
Résolution initiale basée sur Adaptive Search
Le problème d’aménagement urbain qui nous intéresse peut être vu comme une variante du problème de
positionnement d’équipements [80, 218] (Facility Location Problem, Cf. section 7.5), mais dans lequel
tous les éléments urbains doivent être placés simultanément. Ce problème est fortement combinatoire [199,
200, 282]. Par conséquent, il est difficile de le résoudre lorsque le nombre de variables devient important.
De plus, nous devons faire face à deux exigences spécifiques liées au contexte applicatif. Premièrement,
l’algorithme doit être capable de passer à l’échelle pour se mesurer à des dimensions de villes réelles, avec
une taille pouvant atteindre 10 000 cellules libres pour une surface totale de plus de 80 km2
(correspondant
aux éléments libres et fixes). Deuxièmement, les utilisateurs (urbanistes et décideurs) doivent pouvoir garder
la main sur le système, en modifiant de façon interactive l’emplacement des éléments urbains, ceci pour
répondre à leurs propres représentations et attentes.
Pour satisfaire ces deux exigences, nous avons conçu un même système qui intervient à deux étapes
de résolution distinctes. Dans la première étape, qui correspond plus particulièrement à ce chapitre, le
système calcule et propose une ou plusieurs bonnes solutions répondant aux contraintes urbaines. Et pour
adresser le problème de complexité, nous avons développé une technique de résolution spécifique pour
gérer efficacement la répartition des calculs sur plusieurs processeurs. La seconde étape est interactive et
sera décrite en détail dans le prochain chapitre (cf. chapitre 10).
9.1 Choix d’une méthode de résolution
Une première tentative pour résoudre notre problème s’est appuyée sur les techniques complètes [222] de
programmation par contraintes [16, 97, 9, 233]. Un tout premier prototype a été conçu avec le solveur
CHOCO [147] pour une partie seulement des contraintes principales avec 17 formes urbaines différentes (au
lieu de 28) :
• cardinalité liée à chaque forme urbaine ;
• interactions entre formes urbaines pour un voisinage limité à une distance maximale d’une seule
cellule.
Ce prototype a été évalué sur une grille 16×16 avec un serveur de test du LINA1
. Mais au bout de 12 jours,
le traitement a dû être interrompu faute de résultats.
Dans le même contexte technique, nous avons réalisé un second prototype plus limité de placement des
formes urbaines basé sur un algorithme de type glouton [85] (cf. section 5.5.1). Au lieu de répartir simul-
1Dell M610 quadri coeurs multithreadés (l’équivalent de 16 cœurs) Xeon E5620 à 2,40GHz, et 16 Go de RAM.
149150 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
tanément toutes les formes urbaines sur la grille, cette version positionnait une à une les formes urbaines
sur la ville sans remettre en cause les choix précédents. On intégrait une seule forme urbaine à la fois dans
le problème et lorsque sa position optimale était trouvée (cellule), on fixait la variable qui lui était associée
(devenant une constante du problème). Le processus se poursuivait alors en injectant une nouvelle forme
urbaine dans le problème, en itérant jusqu’à ce que toutes les formes urbaines soient réparties sur l’espace
urbain. Avec cette formule simplifiée, l’ordre dans lequel les formes urbaines sont sélectionnées joue
bien entendu un rôle déterminant dans la qualité des solutions obtenues. Pour remplir une grille complète
16 × 16 composée de 206 variables libres au départ (les autres formes urbaines étant liées à des éléments
fixes comme des routes ou des rivières), une résolution avec ce second prototype ne nécessitait plus qu’une
vingtaine de minutes.
Notre problème est bien plus complexe que cette version simplifiée et sa taille typique peut atteindre
10 000 variables. De plus, une résolution avec des algorithmes gloutons ne conduit pas à des solutions de
bonne qualité, ces algorithmes étant plutôt réservés à la génération de solutions initiales pouvant ensuite
être améliorées. Enfin, le temps de résolution en contexte interactif doit être très rapide et ne pas dépasser
quelques secondes [258].
Compte tenu de ces premiers résultats, nous avons abandonné l’idée d’une résolution avec des méthodes
complètes et opté pour une méthode de résolution incomplète [2, 127] basée sur les techniques de recherche
locale [177, 153, 42, 111, 112, 113, 115, 125]. Nous décrivons par la suite nos travaux réalisés sur les bases
de la métaheuristique Adaptive Search [47, 48, 10] (cf. section 5.6.9) en commençant par la génération
d’une configuration initiale.
9.2 Configuration initiale
Pour créer une configuration initiale soumise ensuite au processus de résolution, nous proposons deux
heuristiques différentes pouvant être activées/désactivées selon un paramètre de l’application :
• une initialisation aléatoire simple ;
• une initialisation gloutonne aléatoire [245, 143](cf. section 5.5.2) qui cherche à positionner en priorité
les formes urbaines les plus contraintes.
Dans la suite de ce chapitre, nous employons le terme « coût » pour désigner une pénalité calculée par
les fonctions de coût liées à notre modélisation (voir chapitre 8) ; ce coût pouvant être associé, compte tenu
du contexte d’utilisation, soit à une cellule de la grille, soit à la grille entière (coût d’une configuration), soit
représenter une variation de ces coûts.
9.2.1 Initialisation aléatoire
Dans un premier temps, cette heuristique constitue une liste « A » qui répertorie par niveau d’intensité des
listes « B » contenant les quantités à allouer (nombre d’îlots à occuper) par forme urbaine (cf. figure 9.1).
Par exemple, la liste « B[1] » indique qu’il y a 10 maisons individuelles (forme urbaine no 1) à répartir sur
des cellules d’intensité 1 ; 8 maisons de ville (forme urbaine no 2) à répartir sur des cellules d’intensité 1 ;
et 20 espaces de respiration (forme urbaine 19) à répartir sur des cellules d’intensité 1 ; etc.
L’heuristique parcourt ensuite la grille en sélectionnant une à une chaque cellule libre. Pour la cellule
courante, elle récupère son niveau d’intensité et recherche, à partir de la liste « A », la liste « B » associée à ce
niveau d’intensité. Si il n’y a plus d’élément disponible dans la liste « B » trouvée, une erreur d’incohérence
est émise indiquant qu’il n’y a pas suffisamment de formes urbaines allouées pour ce niveau d’intensité.
Dans le cas contraire, un élément de la liste « B » est choisi aléatoirement. On récupère la forme urbaine
correspondante et on l’assigne à la cellule courante. La quantité à allouer liée à cette forme urbaine est
décrémentée et lorsqu’elle devient nulle, l’élément correspondant de la liste « B » est supprimé.
A la fin du processus, toutes les listes « B » doivent être vides. Dans le cas contraire, il s’agit d’une
seconde incohérence et un message d’anomalie est émis indiquant qu’il y a trop de formes urbaines à9.2. CONFIGURATION INITIALE 151
FIGURE 9.1 – Initialisation aléatoire : structures de données utilisées pour créer une solution initiale.
allouer par rapport au nombre de cellules libres.
9.2.2 Initialisation gloutonne aléatoire
Cette initialisation repose sur un paramétrage de l’application (cf. table 9.2) qui définit pour chaque forme
urbaine :
• la priorité de placement (première colonne représentant le classement) ;
• le mode de sélection d’une cellule (dernière colonne « random » avec la valeur vrai ou faux).
Le classement représente la difficulté de placement de chaque forme urbaine. Il cherche à traduire le
poids des contraintes qui pèse sur chaque forme urbaine. En effet, par rapport aux contraintes spécifiques,
seules quelques formes urbaines sont concernées : certaines peuvent donc être plus contraintes que d’autres
non concernées par les contraintes spécifiques. L’idée générale consiste alors à positionner en priorité sur
la grille les formes urbaines pour lesquelles il y a un maximum de contraintes qui s’exercent.
Le mode de sélection d’une cellule indique comment on doit, pour une forme urbaine donnée, choisir
une cellule parmi les cellules libres et disponibles dans la grille (i.e. sans affectation de forme urbaine). Si
« Random = vrai », on choisit une cellule au hasard sinon on choisit la cellule qui génère le coût d’affectation
minimum.
9.2.2.1 Fonctionnement de l’heuristique
L’heuristique considère une à une chaque catégorie de forme urbaine en fonction du classement prioritaire
spécifié par le paramétrage (industrie, . . . , espace de respiration). Pour la forme urbaine courante, on
récupère la liste « B » qui lui est associée et qui contient les quantités à allouer de cette forme urbaine,
ces quantités étant ventilées par niveau d’intensité (cf. figure 9.3). Chaque élément présent dans la liste
« B » sélectionnée vient s’insérer dans une liste « C » temporaire qui contient autant d’éléments qu’il y
a d’allocations prévues, chaque élément représentant une affectation à prévoir pour le niveau d’intensité
spécifié.
Tant que la liste temporaire « C » n’est pas vide, on choisit un élément aléatoire dans cette liste (une
intensité) que l’on retire de la liste. A ce stade, on dispose d’une allocation à réaliser pour : (i) une forme152 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
FIGURE 9.2 – Initialisation gloutonne : paramétrage, par forme urbaine, de la priorité de placement et
du mode de sélection d’une cellule. On commence par positionner l’industrie (no 1) et on termine par le
placement des espaces de respiration (no 19). La colonne « random » indique si on doit choisir une cellule
disponible au hasard ou si on choisit celle qui génère un coût d’affectation minimum.
No Forme urbaine Random
1 Industrie faux
2 Parc d’entreprises faux
3 Collège faux
4 Lycée faux
5 Maison individuelle vrai
6 Maison de ville vrai
7 Habitat intermédiaire faux
8 Bureau, grand immeuble (R+7) faux
9 École maternelle et élémentaire faux
10 Équipement administratif faux
No Forme urbaine Random
11 Équipement technique faux
12 Équipement sportif faux
13 Habitat collectif (R+7) faux
14 Bureau, petit immeuble (R+4) faux
15 Habitat collectif (R+4) faux
16 Commerce et service de centre ville faux
17 Hypermarché faux
18 Espace vert faux
19 Espace de respiration faux
urbaine prioritaire et (ii) une intensité tirée aléatoirement. On récupère alors la liste « D » des cellules libres,
et sans affectation, pour ce niveau d’intensité. Si la liste « D » est vide, une anomalie est émise indiquant
qu’il n’y a pas assez de cellules disponibles par rapport au nombre de formes urbaines à ventiler sur la
ville. Dans le cas inverse, on détermine la cellule disponible qui recevra la forme urbaine. Pour cela, deux
possibilités se présentent en fonction du « mode de sélection d’une cellule » (colonne « random ») paramétré
pour la forme urbaine :
• soit on sélectionne un élément de façon aléatoire dans la liste « D » (une cellule) ;
• soit on recherche, parmi toutes les cellules de la liste « D », la cellule avec le coût le plus faible.
Pour identifier la cellule la moins coûteuse, on évalue pour chaque cellule de la liste « D » le coût que
représenterait l’affectation de la forme urbaine courante et on retient la cellule avec le coût minimum (si il
y a plusieurs cellules avec le même coût minimum, on fait un tirage aléatoire parmi ces cellules).
Pour la cellule retenue (quelle que soit la valeur du paramètre mode aléatoire), on lui attribue la forme
urbaine courante et on retire cette cellule de la liste « D » des cellules libres pour le niveau d’intensité.
9.2.2.2 Évaluation du coût lié à une affectation
Nous verrons que notre algorithme d’optimisation (cf. section 9.3) réalise une série de permutations (i.e.
échanges des valeurs entre deux variables) afin d’améliorer pas à pas le coût global d’une solution de dé-
part. Or, la procédure gloutonne d’initialisation cherche à positionner à chaque itération une forme urbaine
donnée à moindre coût sur une cellule libre, sans passer par ce mécanisme des permutations.
Afin de mutualiser ces procédures, notamment les fonctions de calcul incrémental décrites en section
9.3.1, nous avons introduit la forme urbaine « non défini » portant le code « 0 » qui occupe initialement
toutes les cellules libres de la grille, aucune contrainte n’étant définie sur cette forme urbaine. On cherche
alors à évaluer le remplacement de la forme urbaine « non défini » de chaque cellule libre par une autre
forme urbaine à positionner, cette opération de placement devenant pour une large partie similaire à une
permutation.
9.3 Algorithme séquentiel
Nous avons retenu la méthode Adaptive Search (AS) qui a prouvé son efficacité sur des instances variées
et de grandes tailles [47]. Cette méthode nous permet d’améliorer, tant que c’est possible, une solution9.3. ALGORITHME SÉQUENTIEL 153
FIGURE 9.3 – Initialisation gloutonne : structures de données utilisées pour créer une solution initiale.
courante par une succession de permutations (échange des valeurs entre deux variables) dans le but d’approcher
le plus rapidement possible une solution optimale. En plus d’exploiter la fonction de coût global,
cette métaheuristique tire avantage de la structure du problème en termes de contraintes et de variables pour
guider la recherche.
Pour chaque contrainte, une fonction d’erreur doit être définie afin de fournir, pour chaque tuple "va-154 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
Algorithme 11 : Notre algorithme séquentiel dérivé de la méthode Adaptive Search de base
1 /* Paramètres :
maxRestart est le nombre maximum de réinitialisations partielles de l’algorithme
f est la fonction de coût globale, fi est la fonction de coût pour la variable Vi
s est la configuration courante
best est la meilleure configuration trouvée
T est la liste des candidats bannis
j est l’index de la variable avec le pire coût (candidat) */
2 best ← s ← configuration initiale ;
3 while (maxRestart non atteint) do
4 T ← ∅ ;
5 while (T ne contient pas la totalité des variables) do
6 forall (i tel que Vi ∈/ T) do
7 Calculer fi(s) ;
8 Sélectionner Vj une variable pour laquelle fj (s) est maximum (avec Vj ∈/ T) ;
9 Calculer le coût f des configurations voisines obtenues à partir de s en échangeant Vj avec
une autre variable ;
Sélectionner s
0
la configuration pour laquelle f(s
0
10 ) est minimum;
if (s
0
11 peut améliorer la solution courante s) then
12 Modifier T en supprimant sa variable la plus ancienne ;
s ← s
0
13 ;
else
14 T ← T ∪ {Vj};
15 if (s est meilleure que best) then
16 best ← s;
17 Réinitialiser un certain pourcentage de variables dans s en réalisant des permutations aléatoires ;
18 return best
riable | valeur", une indication sur son degré de violation [99, 272]. AS procède à une réparation itérative sur
la base des erreurs liées aux variables et aux contraintes, en cherchant à réduire l’erreur sur la variable ayant
le coût le plus élevé. Pour cela, on calcule la fonction d’erreur pour chaque contrainte, puis on combine
pour chaque variable les erreurs de toutes les contraintes où elles apparaissent, ce qui permet de projeter les
erreurs des contraintes sur les variables correspondantes. La procédure qui permet de transférer les erreurs
des contraintes sur les variables est problème-dépendant.
On peut retrouver une description détaillée de la métaheuristique AS dans sa version générale en section
5.6.9. Pour ce qui nous concerne, nous proposons dans un premier temps une implémentation séquentielle
(cf. algorithme 11) directement dérivée de la version originale.
Notre algorithme démarre à partir d’une configuration initiale générée soit par une affectation aléatoire,
soit par une affectation gloutonne aléatoire : un paramètre permet d’identifier le mode d’initialisation à
utiliser (cf. section 9.2). À ce stade, nous nous assurons que l’assignation initiale respecte à la fois le niveau
d’intensité de chaque cellule et le nombre donné de cellules de chaque forme urbaine (de façon analogue à la
contrainte unaire de correspondance des niveaux d’intensité et de cardinalité liée à chaque forme urbaine).
L’algorithme réalise alors une variante de la méthode de réparation itérative (Iterative Repair), basée sur
les données d’erreur relatives aux variables et aux contraintes, cherchant à réduire à chaque itération l’erreur
sur la variable de pire coût [192]. Notre modélisation (cf. chapitre 8) permet de calculer la fonction de coût
de chaque contrainte combinée à chaque variable pour toutes les contraintes où elle apparaît, projetant
directement les erreurs identifiées par les contraintes sur chaque variable. Pour obtenir un coût total par9.3. ALGORITHME SÉQUENTIEL 155
variable, nous pondérons les coûts des contraintes de sorte que les contraintes peuvent avoir une priorité
différente.
À chaque itération, la variable avec l’erreur la plus importante est désignée comme « le candidat » choisi
pour être à l’origine d’une permutation, c’est à dire impliqué dans un échange de sa valeur avec une autre
variable. Dans cette étape, on considère toutes les permutations possibles impliquant le « candidat » en
choisissant la meilleure permutation, c’est à dire la permutation qui permettra de minimiser le plus possible
le coût global de la configuration courante. Cependant, il y a des restrictions à l’ensemble des échanges
considérés : nous pouvons échanger les valeurs de deux cellules uniquement si elles possèdent des formes
urbaines différentes (sinon l’échange est neutre) et si elles sont affectées au même niveau d’intensité, ceci
afin de satisfaire la contrainte d’intensité à tout moment. Cette politique liée aux permutations assure que
la contrainte de correspondance des niveaux d’intensité est maintenue satisfaite à chaque itération, tout
comme la contrainte de cardinalité des formes urbaines.
L’algorithme utilise également une mémoire dynamique de court terme dans l’esprit de la recherche
tabou [111, 112, 113, 115, 125], que nous intitulerons « liste des candidats bannis ». Notons que seuls les
candidats incapables d’améliorer le coût global sont marqués bannis (aucune permutation avec une autre
variable ne permet de diminuer le coût global de la configuration courante). Tant qu’une variable appartient
à la liste des candidats bannis, elle ne peut pas être considérée comme un candidat pour les itérations
suivantes.
Lorsque l’algorithme est bloqué car toutes les variables sont bannies, il redémarre en permutant sur
la configuration courante un pourcentage donné de variables choisies aléatoirement. Néanmoins, avant de
réaliser une permutation à partir de deux variables choisies au hasard, le système vérifie que l’échange des
valeurs entre les deux variables soit autorisée (i.e. même intensité, formes urbaines différentes, . . . ). Le
nombre de relances et de variables à réinitialiser dépendent de paramètres configurables.
Dans les sections suivantes, nous commençons par décrire une série d’optimisations mises en œuvre
pour améliorer de façon significative la vitesse des calculs avant d’étudier en détail le fonctionnement de la
liste des candidats bannis. En vue de distribuer efficacement l’algorithme AS et de pouvoir comparer les
gains obtenus avec la version séquentielle, nous introduisons dès à présent deux nouvelles fonctionnalités :
le mode « multi-candidats » et le mode « multi-permutations ».
9.3.1 Cache de données et calcul incrémental
Pour améliorer la vitesse des calculs, nous utilisons différents caches de données pour toutes les informations
qui nécessitent un accès fréquent, les données mémorisées pour chaque contrainte étant problèmedépendant.
À titre d’exemple, on mémorise les éléments suivants :
• objets généraux pouvant être réutilisés fréquemment sans devoir être recréés (e.g. positions, cellules,
candidats, permutations, configurations, . . . ) ;
• coût global de la configuration courante ;
• mesure du coût d’accessibilité sur chaque cellule habitée pour chaque point d’origine (cellule occupée
par un espace de respiration) pour la contrainte d’accessibilité globale ;
• nombre d’espaces de respiration qui recouvre chaque cellule habitée pour la contrainte d’accessibilité
locale ;
• constitution des groupes (zone industrielle, artisanale, etc.) avec leur structure et les coûts associés ;
• les voisinages de chaque cellule pour la contrainte d’interactions entre formes urbaines ;
• . . . .
A chaque fois qu’une permutation est appliquée, un mécanisme générique associé à chaque contrainte
permet de supprimer le cache de données dépendant des deux cellules concernées, de sorte qu’à la prochaine
interrogation des données en cache, ces informations soient recalculées localement pour être à nouveau
disponibles.156 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
Pour évaluer l’impact d’une permutation, nous déterminons également tous les coûts de chaque contrainte
de façon incrémentale, en calculant uniquement la différence de coût induite par la permutation sur une
configuration donnée (cf. sections 5.6.3.4 et 7.5.2.2). Néanmoins, ce coût incrémental peut être déterminé
pour une permutation potentielle sans devoir modifier la configuration, ce qui est très utile, notamment vis à
vis du cache de données qui peut ainsi rester intact. Ceci est possible en considérant un objet spécial nommé
swap transmis systématiquement à la méthode chargée de récupérer la forme urbaine d’une cellule pour une
configuration donnée (voir l’algorithme 12).
Algorithme 12 : Fonction permettant de récupérer la forme urbaine d’une configuration à la position
(row, col) en considérant un composant de permutation noté swap.
1 if (swap) then
2 if ((row = swap.fromRow) et (col = swap.fromCol)) then
3 return getUrbanFrom(swap.toRow, swap.toCol) ;
4 if ((row = swap.toRow) et (col = swap.toCol)) then
5 return getUrbanFrom(swap.fromRow, swap.fromCol);
6 return getUrbanFrom(row, col) ;
9.3.2 Liste des candidats bannis
Le fonctionnement de la liste des candidats bannis est inspiré de la liste tabou (voir descriptif de la recherche
tabou en section 5.6.8). La liste des candidats bannis permet d’éliminer temporairement du processus de
recherche les « mauvais » candidats. Les mauvais candidats sont des variables qui ont eu les coûts les plus
importants à un moment donné mais qui ont néanmoins été incapables de participer, en lien avec une autre
variable, à une permutation permettant d’améliorer la solution courante du moment (en diminuant son coût
global). Cette liste évite donc à l’algorithme de boucler sur un mauvais candidat.
Cependant, ce n’est pas sa seule utilité : elle permet également d’améliorer les performances du système.
En éliminant temporairement un mauvais candidat du processus de recherche, on fait l’hypothèse suivante :
un candidat identifié comme mauvais à un moment donné risque de rester mauvais un certain temps, ce délai
(évalué en nombre d’itérations) s’allongeant au fur et à mesure que le processus de résolution progresse.
En retirant momentanément du circuit ces variables, on évite à l’algorithme d’évaluer inutilement une série
de permutations générées à partir de candidats potentiellement défaillants. On réduit ainsi la complexité de
la métaheuristique grâce à une réduction de la taille du voisinage à évaluer à chaque itération et on améliore
de fait sa rapidité.
Il s’agit d’une liste dynamique de type FIFO2 dont la dimension augmente avec le temps. Lorsqu’elle est
pleine (i.e nombre d’éléments présents dans la liste = dimension courante de la liste), l’ajout d’un nouvel
élément provoque la sortie du plus ancien. Sa dimension initiale est déterminée en pourcentage par rapport
au nombre de variables libres de l’instance. Typiquement, ce pourcentage peut être fixé à 25 %. Ensuite, sa
dimension va évoluer par palier jusqu’à atteindre le nombre total de variables libres de l’instance. A chaque
palier, la dimension de la liste progresse d’un certain pourcentage (e.g. +25 %) par rapport à sa dimension
courante. Reste à déterminer le moment où interviennent ces paliers ?
La dimension de la liste reste stable tant que l’algorithme peut identifier un bon candidat sur une itération
(i.e un candidat capable de produire au moins une permutation qui améliore la solution courante) ou
tant que la liste n’est pas pleine. Si à l’issue d’une itération donnée le candidat sélectionné s’avère mauvais3
et si la liste est pleine, alors un palier d’extension est sollicité par la métaheuristique pour tenter d’agrandir
2First In, First Out
3Dans le mode multi-candidats (voir la section 9.3.3), lire : « si tous les candidats sélectionnés s’avèrent mauvais ».9.3. ALGORITHME SÉQUENTIEL 157
la dimension de la liste. Dans cette situation, on considère en effet que la capacité de la liste n’est plus suf-
fisante pour contenir l’ensemble des mauvais candidats et qu’il faut l’agrandir dans la limite de sa capacité
maximale autorisée, égale au nombre de variables libres.
Lorsque la liste a atteint sa capacité maximale et qu’elle est pleine, plus aucun candidat ne peut être
trouvé car ils sont tous bannis. Dans ce cas de figure extrême, deux possibilités se présentent en fonction
des paramètres de configuration4
retenus :
• soit une perturbation de la solution courante est appliquée (cf. algorithme 11, lignes 3, 5 et 17) avant
de relancer la résolution ;
• soit on enchaîne directement sur une nouvelle itération après avoir vidé la liste de son contenu (suppression
de tous les candidats bannis) pour donner la possibilité à certains candidats précédemment
bannis de se racheter ; ce procédé étant similaire au mécanisme d’aspiration [66, 131] décrit pour la
méthode tabou [111] (cf. section 5.6.8).
Dans les deux cas, l’opération en question peut être répétée dans la limite d’un nombre d’occurrences
paramétrable.
9.3.3 Mode multi-candidats
Dans l’algorithme général AS, une seule variable à la fois peut être désignée comme candidat pour rechercher
une permutation en lien avec les autres variables, qui puisse minimiser le coût global de la configuration
courante. Nous introduisons un mode multi-candidats où un ensemble restreint de variables associées
aux coûts les plus importants d’une même configuration sont sélectionnées pour rechercher la meilleure
permutation, le nombre de candidats à considérer étant un paramètre de l’application (cf. algorithme 13).
Un composant logiciel dédié a été conçu pour maintenir une liste de variables triée par ordre décroissant
de coût et limitée en nombre d’éléments. Lorsque la liste est pleine, l’introduction d’un nouvel élément
permet soit de l’intégrer en retirant l’élément de plus faible coût, soit de ne rien faire si le nouvel élément a
un coût inférieur ou égal au dernier élément de la liste.
Dans un premier temps, on parcourt séquentiellement la grille en vérifiant que la variable courante ne
soit ni fixe, ni bannie. On récupère son coût disponible en cache et on l’injecte dans ce composant. Lorsque
toutes les variables ont été évaluées, on dispose d’une liste avec les meilleurs candidats de la configuration
courante. Il reste alors, dans un deuxième temps, à évaluer chaque candidat avec la totalité des autres
variables libres pour trouver la meilleure permutation. Au cours de cette procédure, si on ne trouve aucune
permutation favorable pour un candidat donné, le candidat en question est inséré dans la liste des candidats
bannis. Si on ne trouve aucune permutation favorable pour l’ensemble des candidats, alors on vérifie l’état
de la liste des candidats bannis. Si elle n’est pas pleine ou si elle peut encore être agrandie, on relance la
procédure courante (recherche des meilleurs candidats et de la meilleure permutation). Dans le cas contraire,
soit on vide la liste des candidats bannis et on relance la procédure courante, soit la procédure se termine.
Pour justifier ce mode de fonctionnement, il faut prendre en considération les deux remarques suivantes
qui sont complémentaires. Premièrement, notre algorithme cherche à se diriger le plus rapidement possible
vers une solution optimale en réparant au mieux, à chaque itération, la configuration courante. Or, la plus
mauvaise variable peut ne pas être celle qui conduira à la meilleure permutation (i.e. la meilleure réparation).
Chercher la meilleure permutation en se basant sur plusieurs candidats augmente nos chances de trouver
la meilleure permutation liée à la configuration courante. Toutefois, cette recherche impliquant plusieurs
candidats, le nombre de permutations à évaluer devient supérieur, ce qui occasionne un temps de traitement
supérieur. Deuxièmement, dans un mode distribué, la recherche de la meilleure permutation pour plusieurs
candidats peut être réalisée en parallèle, chaque processus évaluant les permutations d’un candidat. Dans ce
cas, le temps de calcul global pour tous les candidats reste identique à l’évaluation d’un seul candidat, mais
la chance de trouver une permutation de meilleure qualité devient supérieure.
4Ne pas confondre la configuration qui regroupe l’ensemble des paramètres qui conditionnent le fonctionnement du solveur
avec la notion de configuration équivalente à une affectation.158 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
Algorithme 13 : Mode multi-candidats
1 /* Paramètres donnés en entrée :
• maxCandidates est le nombre maximum de meilleurs candidats à sélectionner
• s est la configuration courante
• fi(s) est la fonction de coût de la variable Vi pour la configuration s
• T est la liste des candidats bannis
• EVAL(s, Vi
, Vj ) est la fonction qui évalue sur la configuration s le gain pour un échange
des valeurs entre les deux variables Vi et Vj
• VERIFIER(s, T) est la fonction qui gère T si aucune permutation gagnante n’existe pour s */
2 /* Variables de travail :
• bestCandidates est la liste triée (par ordre de coût décroissant) des meilleurs candidats
• metCandidates est la liste des meilleurs candidats déjà traités
• 4cost est le gain pouvant être apporté à s en échangeant les valeurs de deux variables
• bestDeltaCost est le meilleur gain qu’un candidat peut apporter à s en échangeant sa valeur
avec celle d’une autre variable
• improvement est un booléen à true si au moins une permutation permet d’améliorer le coût de s
• worstCost est le coût du candidat de bestCandidates le moins bien classé (dernier de la liste) */
3 worstCost ← 0 ;
4 bestCandidates ← ∅ ;
forall (i tel que : Vi ∈/ T et Vi 5 libre) do
6 Récupérer la valeur de fi(s) si présente en cache ou la recalculer ;
7 if (|bestCandidates| = maxCandidates) then
8 if (fi(s) ≤ worstCost) then
9 Ne rien faire et passer à l’indice i suivant ;
else
10 Supprimer le dernier élément de bestCandidates ;
bestCandidates ← bestCandidates ∪ Vi 11 ;
12 if (|bestCandidates| = maxCandidates) then
13 worstCost ← coût du dernier élément de bestCandidates ;
14 metCandidates ← ∅ ;
15 improvement ← f alse ;
16 forall (i tel que Vi ∈ bestCandidates) do
metCandidates ← metCandidates ∪ Vi 17 ;
18 bestDeltaCost ← 0 ;
forall (j tel que : Vj ∈/ T et Vj ∈/ metCandidates et Vj 19 libre) do
4cost ← EVAL(s, Vi 20 , Vj ) ;
21 if (4cost < bestDeltaCost) then
bestDeltaCost ← 4cost 22 ;
23 if (bestDeltaCost = 0) then
T ← T ∪ Vi 24 ;
else
25 improvement ← true ;
26 if ( ! improvement) then
27 VERIFIER(s, T) ;9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 159
9.3.4 Mode multi-permutations
Au lieu de travailler avec la meilleure permutation issue d’un ou de plusieurs candidats (selon que le mode
multi-candidats soit actif ou non), nous proposons de mémoriser dans une liste les meilleures permutations
issues des différents candidats à considérer. Cette liste est triée par ordre décroissant du gain5
lié à chaque
permutation et sa taille est limitée (paramétrable), de sorte qu’on ne conserve qu’un nombre restreint de
permutations, ces permutations étant considérées comme les meilleures pour la configuration courante.
Ce fonctionnement ne nécessite pas un temps de calcul supplémentaire significatif car ces permutations
doivent de toute façon être évaluées, que le mode multi-permutations soit actif ou non. Ce mécanisme introduit
simplement une empreinte mémoire additionnelle liée à la liste, mais sa taille reste contrôlée et limitée.
Lorsque la liste est renseignée avec les meilleures permutations identifiées pour les différents candidats,
nous appliquons séquentiellement sur la configuration courante toutes les permutations mémorisées dans
la liste, sous certaines conditions. Typiquement, réaliser une première permutation peut fortement impacter
les scores obtenus sur les permutations suivantes de la liste. Pour qu’une permutation reste valide et qu’elle
soit appliquée, elle doit donc toujours produire un bénéfice qui soit au moins égal à un certain ratio (paramé-
trable) de son profit initial. Lors de ce processus séquentiel, nous garantissons uniquement l’application du
premier élément de la liste qui correspond à la meilleure permutation, les permutations suivantes pouvant
devenir obsolètes.
Notons que pour revenir au fonctionnement général AS, il suffit de limiter à un seul le nombre maximum
de candidats et le nombre maximum de permutations, ce qui revient à désactiver ces deux modes.
En mode mono-candidat et mono-permutation de l’algorithme, des résultats liés à la recherche de la
meilleure permutation se trouvent gaspillés à chaque itération. Bien que les permutations appliquées en
rafale en mode multi-permutations puissent ne pas être les meilleures lorsqu’elles sont appliquées séquentiellement,
plusieurs d’entre elles peuvent néanmoins améliorer le coût de la solution courante. De plus,
travailler avec différents candidats permet de diversifier l’origine des permutations à appliquer en cascade,
minimisant ainsi l’impact d’une permutation sur les suivantes. Dans la version distribuée de l’algorithme,
ces deux mécanismes conjoints (multi-candidats et multi-permutations) sont supposés tirer profit des travaux
réalisés par les différents processus parallèles sans nécessiter un effort de calcul additionnel.
9.4 Version distribuée de l’algorithme
Pour faire face à la complexité des problèmes de grande taille, nous proposons de distribuer l’algorithme
sur une grille de calcul [58, 266]. Un système basé sur une marche multiple parallèle [138, 205] (« multiwalk
») dont les principes sont décrits en section 5.7.3 a déjà été proposé pour AS [40, 75], avec de bonnes
accélérations (speed-ups) sur des problèmes classiques. Toutefois, entre plusieurs exécutions de notre version
séquentielle sur des instances identiques du problème d’aménagement urbain, nous relevons de faibles
écarts de temps entre les différentes résolutions ; la même remarque pouvant être faite sur la qualité des
résultats obtenus. Dans notre situation, ces informations indiquent qu’il sera difficile pour une approche
distribuée basée sur une marche multiple de diminuer significativement les temps de résolution.
Compte tenu de ces éléments, nous choisissons un système maître-esclave pour distribuer l’évaluation des
voisins : à chaque itération, nous parallélisons la recherche des meilleures permutations [266, 10]. Ce principe
rappelle le fonctionnement « Évaluation concurrente des voisins » décrit en section 5.7.1, mais avec des
processus esclaves qui disposent ici d’une plus large autonomie. En fait, le fonctionnement retenu se situe
à mi-chemin entre une évaluation distribuée des voisins et le principe de décomposition de domaine [227]
(cf. section 5.7.2) : nous parlerons de décomposition de variable pour faire référence à notre approche.
Bien qu’il ne réalise pas lui même l’ensemble des opérations habituelles, le processus maître fonctionne
de façon analogue au mode séquentiel multi-candidats, multi-permutations.
5Comme on mémorise des valeurs négatives dans cette liste (variations sur le coût global de la configuration courante engendrées
par les permutations bénéfiques), elle est triée par ordre croissant.160 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
Algorithme 14 : Mode multi-permutations
1 /* Paramètres donnés en entrée :
• maxP ermutations est le nombre maximum de meilleures permutations à sélectionner
• s est la configuration courante
• EVAL(s, Vi
, Vj ) est la fonction qui évalue sur la configuration s le gain pour un échange des valeurs
entre les deux variables Vi et Vj et qui mémorise les meilleures permutations
• APPLY(s) est la fonction qui applique en série les meilleures permutations trouvées
• maxDeviation est le % maximum de déviation autorisé sur le gain initial pour garder une permutation */
2 /* Variables de travail :
• bestP ermutations est la liste triée (par ordre croissant de variation de coût) des meilleures permutations
• 4cost est le gain pouvant être apporté à s en échangeant les valeurs de deux variables
• worstDeltaCost est la variation de coût de la permutation dans bestP ermutations la moins bien classée
(dernière de la liste) */
3 worstDeltaCost ← 0 ;
4 bestP ermutations ← ∅ ;
Fonction EVAL(s, Vi 5 , Vj )
6 begin
7 Calculer 4cost en évaluant l’échange des valeurs entre Vi et Vj dans s;
8 if (4cost ≥ 0) then
return 4cost 9 ;
10 if (|bestP ermutations| = maxP ermutations) then
11 if (4cost ≥ worstDeltaCost) then
return 4cost 12 ;
else
13 Supprimer le dernier élément de bestP ermutations ;
Création de la permutation p(4cost, Vi 14 , Vj ) ;
15 bestP ermutations ← bestP ermutations ∪ p ;
16 if (|bestP ermutations| = maxP ermutations) then
17 worstDeltaCost ← variation de coût du dernier élément de bestP ermutations ;
return 4cost 18 ;
end
19 Fonction APPLY(s)
20 begin
21 forall (p ∈ bestP ermutations) do
22 Calculer 4cost (actualisé) en évaluant l’échange des valeurs entre p.Vi et p.Vj dans s;
23 if (4cost ≥ 0) then
24 valid = f alse ;
else
25 if (4cost ≤ p.4cost) then
26 valid = true ;
else
variation = 4cost − p.4cost 27 ;
28 valid = (variation ≤ kp.4cost ∗ maxDeviation/100k) ;
29 if (valid) then
30 Échanger les valeurs des variables p.Vi et p.Vj dans s ;
end9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 161
FIGURE 9.4 – Mode distribué : fonctionnement général maître-esclaves. La partie « itérations » signalée
en foncé est spécifique à chaque protocole distribué que nous proposons et elle fera l’objet d’un schéma
complémentaire dans les sections correspondantes.
Au début de l’algorithme (cf. figure 9.4), le processus maître détermine les partitions et transmet les
sous-ensembles de variables aux processus esclaves. Il synchronise6
ensuite le travail de chaque processus
esclave, à chaque itération, et collecte les permutations qu’il choisit ou non d’appliquer sur la configuration
courante partagée entre tous les processus. Finalement, il détermine les conditions d’arrêt de l’algorithme et
retourne la meilleure solution trouvée. Pendant ce temps, chaque processus esclave opère de façon concurrente
avec les variables qui lui sont attribuées, de façon à ce que l’ensemble des processus esclaves réunis
puisse évaluer à chaque itération la totalité des permutations possibles sur la configuration courante partagée,
tout comme le ferait l’algorithme séquentiel.
Avec ce principe, non seulement nous tirons bénéfice de tous les calculs réalisés sans les gaspiller, mais
6Dans le sens qu’il attend une réponse (le résultat) de chaque processus esclave avant de poursuivre son travail.162 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
TABLE 9.1 – Principales caractéristiques liées au fonctionnement des différents protocoles distribués.
Caractéristiques Protocoles
1 2 3 4
#phases (séries d’échanges sur le réseau) 2 1 1 1
#PbE par rapport au #partition #part #part #part #part*(#part+1)/2
évaluation parallèle des meilleurs candidats O N O O
étendue de recherche des meilleurs candidats partition grille grille 1 à 2 partitions
qui évalue les meilleurs candidats PbE PbM PbE PbE
agrégation des meilleurs candidats dans une liste globale O N N N
transfert liste des meilleurs candidats PbE→PbM et
PbM→PbE
PbM→PbE - -
transfert du meilleur gain trouvé par candidat (PbE→PbM) O O O N
transfert des candidats à bannir (PbM→PbE) O O O N
transfert des meilleures permutations trouvées (PbE→PbM) O O O O
transfert des permutations appliquées (PbM→PbE) O O O O
itération locale si pas de permutation favorable N N N O
liste globale des candidats bannis présente sur le PbM N O N N
étendue de la liste des candidats bannis sur chaque PbE partition partition grille 1 à 2 partitions
nous profitons également de la disposition géographique / géométrique de notre problème pour répartir de
façon cohérente les différentes parties de la carte sur les différents processus : un découpage spatial pour un
problème spatial.
Dans la suite, nous choisissons de présenter les caractéristiques principales liées au fonctionnement
de notre algorithme distribué. En effet, nous proposons différentes implémentations (voir la figure 9.6 qui
récapitule le fonctionnement des différents protocoles distribués), et chaque protocole expose des caracté-
ristiques différentes qui permettent de les comparer. Nous étudierons ensuite les éléments complémentaires
intégrés au modèle pour supporter le mode distribué. Nous disposerons alors de tous les éléments pour
examiner en détail le fonctionnement de chaque protocole.
9.4.1 Caractéristiques liées au fonctionnement de la version distribuée
Chaque processus esclave a en charge une partie des variables de la grille (partition) et dispose d’une
représentation synchronisée de la configuration courante globale qui est partagée entre tous les processus,
y compris avec le processus maître. Pour un processus esclave, l’enjeu consiste à déterminer localement
une liste des meilleures permutations uniquement pour les variables qu’il a en charge, de telle manière
que toutes les combinaisons possibles (permutations) puissent être évaluées par la totalité des processus
esclaves, de façon analogue au mode séquentiel.
Étant donné que la recherche des meilleures permutations n’affecte pas l’état de la configuration globale
partagée entre tous les processus, les processus esclaves peuvent fonctionner en parallèle sans aucune diffi-
culté et sans nécessiter une adaptation conséquente des procédures séquentielles. Pour abréger les écritures,
nous utilisons les notations suivantes :
• PbM pour désigner le processus maître ;
• PbE pour désigner un processus esclave ;
• CbG pour désigner la configuration globale qui est partagée et synchronisée entre tous les processus.
Pour illustrer le fonctionnement du mode distribué lié à chaque protocole proposé, nous avons sélectionné
quatorze caractéristiques principales (cf. table 9.1) que l’on commente dans les paragraphes suivants.9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 163
Nombre de phases
Valeurs possibles :
• 1 : 1 échange réseau lors d’une itération entre le PbM et les PbE ;
• 2 : 2 échanges réseau lors d’une itération entre le PbM et les PbE ;
Il s’agit du nombre d’échanges, engagés entre le PbM d’une part et les PbE d’autre part, qui nécessitent
une synchronisation. Rappelons qu’il n’y a aucune communication directe entre les PbE. En général, une
phase commence par un premier message initié par le PbM à destination de tous les PbE, se poursuit par les
réponses de chaque PbE, et prend fin lorsque tous les PbE ont répondu au PbM. Une phase regroupe donc plus
ou moins de messages qui transitent sur le réseau entre différents processus, chaque message pouvant avoir
une taille variable et regrouper des informations de différentes natures. Par exemple, une première phase
peut consister à interroger les PbE pour qu’ils fournissent chacun à leur tour une liste locale de leurs meilleurs
candidats au PbM. Ce message d’interrogation peut contenir les permutations venant d’être réalisées par le
PbM et devant être répliquées sur chaque PbE pour synchroniser leur CbG. Lorsque le PbM a obtenu toutes les
réponses, il peut poursuivre son travail et engager une seconde phase, c’est à dire un second dialogue avec
les PbE.
Nombre de processus esclaves par rapport au nombre de partitions
Valeurs possibles :
• un entier positif : nombre de PbE (déterminé en fonction du nombre de partitions).
Le nombre de PbE nécessaire pour résoudre une instance donnée de notre problème dépend du nombre
de partitions qui a été demandé (par un paramétrage). Les partitions correspondent à des regroupements de
cellules libres pour un découpage donné de la grille, chaque partition étant de taille identique (à l’arrondi
près). Ces regroupements peuvent être opérés de façon plus ou moins sophistiquée. Dans notre implémentation,
un découpage simple est réalisé conformément à l’exemple de la figure 9.5. Par principe, on cherche à
définir le plus grand nombre de partitions tout en minimisant le nombre de processus nécessaires pour gérer
ces partitions. En effet, un nombre important de partitions permet une forte décomposition des variables de
notre problème alors qu’un nombre important de processus nécessite la mobilisation de ressources maté-
rielles importantes (avec un processeur dédié par processus) et des échanges réseaux entre le PbM et chaque
PbE.
Évaluation parallèle des meilleurs candidats
Valeurs possibles :
• O : plusieurs processus sont impliqués au même moment dans la recherche des meilleurs candidats ;
• N : la recherche des meilleurs candidats est réalisée sur un seul processus.
En fonction du protocole, la recherche des meilleurs candidats peut être réalisée soit en bloc par un seul
processus, soit être répartie sur différents processus. Cette caractéristique permet de savoir si la recherche
est parallélisée.
Étendue de recherche des meilleurs candidats
Valeurs possibles :
• 1 partition : la recherche des meilleurs candidats est effectuée sur une partition au maximum ;
• 1 à 2 partitions : la recherche des meilleurs candidats est effectuée sur 1 ou 2 partitions au maximum ;
• grille : la recherche des meilleurs candidats est effectuée sur la grille entière ;
En fonction du protocole, la recherche des meilleurs candidats peut être réalisée soit à l’échelle de la
grille entière, soit à l’échelle d’une seule partition ou bien à l’échelle d’une à deux partitions.164 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
FIGURE 9.5 – Exemple de découpage d’une grille pour former 4 partitions de même taille : chaque groupe
est composé de 18 cellules libres, les cellules fixes étant repérées par un caractère « X ».
Qui évalue les meilleurs candidats
Valeurs possibles :
• PbM : c’est le PbM qui évalue les meilleurs candidats ;
• PbE : chaque PbE évalue les meilleurs candidats.
En fonction du protocole, la recherche des meilleurs candidats peut être prise en charge soit par le PbM,
soit par chaque PbE.
Agrégation des meilleurs candidats dans une liste globale
Valeurs possibles :
• O : une agrégation des meilleurs candidats dans une liste globale est nécessaire ;
• N : aucune agrégation n’est réalisée.
Lorsque la recherche des meilleurs candidats est effectuée à l’échelle d’une partition, la question est de
savoir si le protocole nécessite d’agréger les résultats de toutes les recherches à partir de toutes les partitions
pour constituer une liste globale des meilleurs candidats.
Transfert liste des meilleurs candidats
Valeurs possibles :
• PbE→PbM : on transfert la liste des meilleurs candidats de chaque PbE vers le PbM ;
• PbM→PbE : on transfert la liste des meilleurs candidats du PbM vers chaque PbE ;
• - : aucun transfert n’est nécessaire.
Une fois établie, on se demande si la liste des meilleurs candidats doit transiter entre le PbM et les PbE.
Notons que la liste des meilleurs candidats qui transite peut être globale (i.e. concerner la grille entière) ou
être partielle (i.e. limitée à une ou deux partitions).9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 165
Transfert du meilleur gain trouvé par candidat des processus esclaves vers le processus maître
Valeurs possibles :
• O : le meilleur gain trouvé par candidat doit être transmis des PbE vers le PbM ;
• N : aucun transfert n’est nécessaire.
Lorsqu’on ne retrouve pas de permutation, pour un candidat prometteur, dans la liste locale des meilleures
permutations trouvées, cela ne signifie pas pour autant qu’il s’agit d’un mauvais candidat. En effet, la liste
des meilleures permutations étant limitée en taille, on ne conserve que les meilleures permutations lors
d’une itération. Donc, il se peut que d’autres candidats aient de meilleures permutations en nombre suf-
fisant pour ne pas considérer celles du candidat en question. D’autre part, lorsqu’il s’agit d’un candidat
global, il peut n’avoir des permutations bénéfiques que sur une seule partition, ce qui est suffisant pour ne
pas le bannir. Afin de savoir si un candidat prometteur doit être banni ou non, il faut donc récupérer les
meilleurs gains trouvés de chaque candidat sur le PbM, ce qui nécessite dans ce cas un transfert de données.
Transfert des candidats à bannir du processus maître vers les processus esclaves
Valeurs possibles :
• O : le PbM doit transmettre aux PbE la liste des candidats à bannir ;
• N : aucun transfert n’est nécessaire.
Il arrive que les processus esclaves seuls n’aient pas une visibilité suffisante pour déterminer si il faut
bannir ou non un candidat prometteur. Dans ce cas, l’information doit provenir du PbM qui est en mesure
d’agréger les résultats des différents PbE pour en déduire une information pertinente.
Transfert des meilleures permutations trouvées des processus esclaves vers le processus maître
Valeurs possibles :
• O : les PbE doivent transmettre au PbM leur liste des meilleurs permutations ;
• N : aucun transfert n’est nécessaire.
Le but du mode distribué étant de répartir la recherche des meilleures permutations sur les différents PbE
puis de récupérer le résultat sur le PbM, un transfert réseau est obligatoire pour chaque protocole.
Transfert des permutations appliquées du processus maître vers les processus esclaves
Valeurs possibles :
• O : le PbM doit transmettre aux PbE les meilleures permutations qu’il a retenu et appliqué sur sa CbG ;
• N : aucun transfert n’est nécessaire.
Les différents processus que nous exploitons peuvent être localisés soit sur la même machine, soit sur
des machines distantes. Pour partager la CbG entre ces différents processus, nous n’utilisons pas de mécanisme
automatique de mémoire partagée. Pour que la CbG reste synchronisée, il faut donc répliquer systématiquement
les modifications effectuées sur chaque processus. Le PbM est le seul habilité à opérer des
modifications sur la CbG, c’est à dire à appliquer des permutations. Il faut donc acheminer les permutations
qu’il a réalisé vers les PbE pour que chaque PbE puisse reproduire ces modifications, c’est à dire rejouer localement
chaque permutation sur sa CbG. L’ensemble des permutations réalisées à l’occasion d’une itération
est reporté en une seule étape du PbM vers les PbE.
Itération locale si pas de permutation favorable
Valeurs possibles :
• O : Si aucune permutation favorable n’est trouvée par un PbE, un dispositif est prévu pour refaire une
nouvelle recherche localement sans en informer le PbM ;166 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
• N : Si aucune permutation favorable n’est trouvée par un PbE, il retourne une liste vide au PbM et se
met en attente.
Si un PbE ne trouve pas de permutation favorable après avoir fait une première recherche à partir de la
liste des meilleurs candidats, il a deux possibilités : soit il est capable de lancer une nouvelle recherche
localement avec de nouveaux critères (renouvellement des candidats) sans communiquer avec le PbM, soit
il est incapable de relancer une nouvelle recherche. Dans ce cas, il retourne une liste (de ses meilleures
permutations) vide et il attend les nouvelles instructions du PbM.
Liste globale des candidats bannis présente sur le processus maître
Valeurs possibles :
• O : le PbM doit mémoriser une liste globale des candidats bannis ;
• N : le PbM n’a pas besoin de mémoriser une liste globale des candidats bannis.
En fonction du protocole en œuvre, il peut être nécessaire de maintenir une liste globale des candidats
bannis sur le PbM.
Étendue de la liste des candidats bannis sur chaque processus esclave
Valeurs possibles :
• 1 partition : la taille de la liste des candidats bannis présente sur chaque PbE est relative à 1 partition ;
• 1 à 2 partitions : la taille de la liste des candidats bannis présente sur chaque PbE est relative à 1 ou 2
partitions ;
• grille : la taille de la liste des candidats bannis présente sur chaque PbE est relative à la grille entière ;
L’étendue de la liste des candidats bannis présente sur chaque PbE varie en fonction du protocole utilisé.
Elle peut correspondre à 1 partition, à 1 ou 2 partitions, ou à la totalité de la grille.
9.4.2 Compléments intégrés au modèle
Avant d’identifier les compléments intégrés à notre modèle pour gérer le mode distribué, nous avons besoin
de définir la notion de partition.
Definition 12 (Partition). Une partition correspond à un regroupement de cellules libres de la grille, le
nombre de partitions étant imposé par un paramétrage et chaque partition étant de même taille (à l’arrondi
près). Toutes les cellules libres de la grille sont affectées aux partitions. Pour associer une cellule à une
partition, un découpage simple de la grille est réalisé conformément à l’exemple de la figure 9.5.
Compte tenu du regroupement des cellules en partitions, et de la répartition des partitions entre différents
PbE, nous introduisons les informations suivantes associées à chaque cellule de la grille :
• numéro de groupe : pouvant prendre la valeur « 0 », « 1 » ou « 2 » ;
• indicateur de sélection : pouvant prendre la valeur « vrai » ou « faux ».
Ces informations sont intégrées dans la CbG de chaque PbE sans pour autant être synchronisées entre les
différents processus. Elles sont prévues pour restreindre les permutations pouvant être réalisées sur chaque
PbE (cf. algorithme 15).
9.4.2.1 Numéro de groupe
Chaque PbE se charge d’attribuer un numéro de groupe aux cellules libres qui sont sous sa responsabilité,
c’est à dire qui appartiennent à ses partitions. Un PbE peut avoir une ou deux partitions qui lui sont associées.
Si une seule partition est attribuée au PbE, toutes les cellules ont un numéro de groupe égal à « 0 » ;
Par contre, si il a deux partitions sous sa responsabilité, il attribue aux cellules de sa première partition un
numéro de groupe à « 1 » et aux cellules de sa seconde partition un numéro de groupe égale à « 2 ».9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 167
Algorithme 15 : Contrôle de validité d’une permutation (échange de valeurs entre deux variables).
1 /* Paramètre donné en entrée :
• cellF rom est la cellule d’origine impliquée dans la permutation
• cellT o est la cellule de destination impliquée dans la permutation
• checkCellF rom indique si il faut que la cellule d’origine soit obligatoirement sélectionnable ? */
2 Fonction ACCEPTABLE(cellF rom, cellT o, checkCellF rom)
3 begin
4 if ( ! cellFrom.libre) then
5 return false ;
6 if ( ! cellTo.libre) then
7 return false ;
8 if (checkCellFrom et ( ! cellFrom.selectionnable) then
9 return false ;
10 if ( ! cellTo.selectionnable) then
11 return false ;
12 if (cellFrom.formeUrbaine = cellTo.formeUrbaine) then
13 return false ;
14 if (cellFrom.intensite != cellTo.intensite) then
15 return false ;
16 if (cellFrom.groupe = cellTo.groupe) et (cellFrom.groupe != 0) then
17 return false ;
18 return true ;
end
Dès lors, pour qu’un PbE puisse autoriser une permutation entre deux cellules, il faut que les conditions
suivantes soient remplies (cf. algorithme 15, lignes 16-17) :
• soit les deux cellules ont un numéro de groupe à zéro : ce qui revient à autoriser les permutations au
sein d’une même partition ;
• soit les deux cellules ont un numéro de groupe différent : ce qui limite les permutations aux cellules
de partitions différentes.
9.4.2.2 Indicateur de sélection
Definition 13 (Indicateur de sélection). Un indicateur de sélection spécifie si une cellule donnée de la
grille peut être utilisée pour participer à une permutation. On dira d’une cellule qu’elle est sélectionnable si
l’indicateur de sélection qui lui est associé est positionné à vrai.
L’indicateur de sélection est positionné à « vrai » pour toutes les cellules qui appartiennent aux partitions
affectées à chaque PbE. Une permutation n’est possible qu’entre cellules sélectionnables (cf. algorithme 15,
lignes 8-11) sauf lorsque le candidat (cellule à l’origine des permutations) est imposé au PbE par le PbM.
Dans ce cas, la cellule d’origine liée à la permutation peut correspondre à un candidat provenant des autres
partitions.
Nous verrons, dans l’étude de certains protocoles (no 1 et 4), que cet indicateur de sélection est également
utilisé pour limiter la recherche des meilleurs candidats sur chaque PbE aux partitions qui leurs sont
associées. Cela correspond à la propriété « étendue de recherche des meilleurs candidats » que nous venons
de décrire (cf. paragraphe 9.4.1).168 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
FIGURE 9.6 – Comparaison du fonctionnement général de chaque protocole distribué pour une itération.
Avec : (DC) Demande Candidats ; (RC) Recherche Candidats ; (SC) Synchronisation Candidats ; (DP) Demande
Permutations ; (RP) Recherche Permutations ; (SP) Synchronisation Permutations ; (AP) Application
Permutations. Le bleu représente un travail à l’échelle d’une partition et le jaune au niveau de la grille entière.
Un ovale en pointillé englobe les tâches réalisées par les esclaves, le reste étant pris en charge par le
processus maître. Les doubles traits pointillés indiquent un échange via le réseau.
Protocole 1 Protocole 2 Protocole 3 Protocole 4
9.4.3 Protocoles distribués
Les quatre protocoles distribués que nous proposons (voir figure 9.6) exploitent différemment le découpage
de la grille pour identifier à chaque itération les meilleurs candidats puis les meilleures permutations gagnantes
qui leur sont associées. Ces approches différentes sont synthétisées dans la table 9.1 qui reprend
pour chaque protocole ses principales caractéristiques. En nous appuyant sur ces caractéristiques, nous
expliquons maintenant le fonctionnement détaillé de chaque protocole, sachant que la grille globale est
toujours découpée en partitions de même taille, le nombre de partitions étant un paramètre de l’application.
Soulignons dès à présent que nos expérimentations (voir le chapitre 11) sont essentiellement basées sur
le protocole no 1 et le protocole no 4.
9.4.3.1 Protocole no 1
Dans ce protocole, chaque PbE est définitivement associé à une partition différente de la grille. À chaque
itération, il est nécessaire avec ce protocole de réaliser deux échanges entre le PbM et les PbE.
Dans un premier temps, le PbM demande aux PbE d’identifier leurs meilleurs candidats. Chaque PbE
recherche alors ses meilleurs candidats parmi les variables qui lui sont attribuées pour la configuration
globale partagée (concerne uniquement les cellules de CbG avec un indicateur de sélection à vrai). Grâce
aux informations collectées sur chaque PbE, le PbM peut constituer une liste globale des meilleurs candidats.9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 169
FIGURE 9.7 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 1. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations »
(cf. figure 9.4).
Dans un deuxième temps, le PbM demande aux PbE d’identifier leurs meilleures permutations à partir
de la liste globale des meilleurs candidats qu’il leur transmet. Chaque PbE recherche alors les meilleures
permutations possibles en considérant la liste des meilleurs candidats qui lui est imposée avec les cellules
qui lui sont attribuées.
Le PbM collecte les meilleures permutations provenant de chaque PbE et reconstitue une liste globale des
meilleures permutations. Pour reconstituer la liste globale des meilleures permutations, le PbM ajoute à cette
liste les meilleures permutations provenant de chaque PbE pour ne conserver que les meilleures (i.e. celles
qui apportent le meilleur gain) dans la limite d’une taille maximum définie par un paramètre.
Il applique alors ces permutations sur la CbG (comme on le ferait avec la version séquentielle). Il poursuit
en demandant à nouveau les meilleurs candidats aux PbE, tout en profitant de cet échange (i.e. message)
pour transmettre les permutations qu’il a effectivement réalisé afin que chaque PbE puisse synchroniser170 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
localement sa CbG.
Par rapport à l’algorithme séquentiel, le fonctionnement diffère dans la mesure où une liste de candidats
bannis doit être gérée localement sur chaque PbE, la recherche des candidats bannis étant de leur ressort.
Dans ces conditions, les dimensions dynamiques de la liste des candidats bannis sont calculées par rapport
au nombre de variables libres attribuées à chaque PbE. De plus, pour identifier les mauvais candidats qui
doivent être insérés dans ces listes locales, il est nécessaire de croiser les informations du PbM et des PbE
à chaque itération. Pour ce faire, après avoir identifié localement ses meilleures permutations, chaque PbE
transmet au PbM le meilleur gain trouvé par candidat imposé. Ces informations sont agrégées par le PbM qui
détermine pour chaque candidat le meilleur gain obtenu. Il retourne ensuite aux PbE la liste globale agrégée
des candidats incapables de générer un gain. Charge ensuite à chaque PbE de mémoriser dans sa liste locale
des candidats bannis les mauvais candidats reçus qui font partie des cellules dont il a la charge.
Les principes mis en œuvre avec ce protocole sont simples mais ce dernier laisse néanmoins apparaître
de nombreuses faiblesses :
• chaque itération nécessite une communication en 2 phases entre le PbM et les PbE pour identifier les
meilleurs candidats puis les meilleures permutations ;
• si on travaille avec un nombre réduit de meilleurs candidats et que les candidats considérés n’apportent
pas de gain, deux échanges (communications) sont réalisés entre le PbM et les PbE sans amé-
liorer la CbG ;
• à l’inverse, si on travaille avec beaucoup de candidats, on augmente le nombre de permutations à
évaluer séquentiellement sur chaque PbE, ce qui pénalise fortement les temps de calcul ;
• comme on recherche les meilleures permutations à partir des mêmes candidats sur chaque PbE, l’origine
des permutations remontées au PbM est réduite aux mêmes candidats, ce qui limite la diversité
spatiale des permutations et l’efficacité du mode multi-permutations.
Pour contourner certaines de ces difficultés, une solution consiste à aménager le mode multi-candidats
pour stopper le processus de recherche des meilleures permutations sur chaque PbE dès que le processus
a rencontré « x » candidats offrant un gain (« x » étant un paramètre de l’application). Mais dans ce cas,
l’identification des candidats bannis devient un peu plus complexe et on s’éloigne un peu plus du fonctionnement
séquentiel de l’algorithme. D’autre part, le temps de calcul pour les différents PbE risque alors de
varier fortement, la synchronisation entre les différents PbE rendant le temps de chaque itération dépendante
du PbE le plus long. Par exemple, imaginons pour une itération donnée que la liste globale des meilleurs candidats
imposés soit composée des candidats {c1, c2, . . . , c10} et que le processus de recherche des meilleures
permutations soit limité aux x = 2 premiers candidats offrant des gains. Si {c3, c5, c6, c8, c10} sont les seuls
bons candidats de la liste globale pour un PbE, ce dernier devra évaluer les permutations uniquement pour
{c1, c2, c3, c4, c5} ; c3 et c5 lui permettant d’honorer l’obligation de deux candidats avec gains.
Dans le même esprit, une autre possibilité (celle-ci n’ayant pas été implémentée) consisterait à poursuivre
l’évaluation des permutations à partir de la liste des candidats imposés jusqu’à ce qu’un nombre
minimum de permutations bénéfiques soit atteint.
9.4.3.2 Protocoles no 2 et 3
Ces deux protocoles tentent d’améliorer le protocole no 1 en éliminant une phase de communication sur
les deux obligatoires sans toutefois augmenter le nombre de PbE nécessaires. Ils fonctionnent en une seule
phase avec un nombre de partitions (lié au découpage de la grille) égal au nombre de PbE, chaque PbE étant
définitivement associé à une partie différente de la grille. Pour pouvoir fonctionner dans ces conditions,
ces protocoles abandonnent l’idée d’une recherche parallèle et fractionnée des meilleurs candidats et font
le choix d’identifier à chaque itération les meilleurs candidats de façon globale et séquentielle (par un
processus) sur la totalité de la grille.
Spécificités du protocole no 2 : meilleurs candidats identifiés par le processus maître9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 171
FIGURE 9.8 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 2. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations »
(cf. figure 9.4).
Pour ce deuxième protocole, l’identification des meilleurs candidats est totalement prise en charge par
le PbM, la liste étant ensuite transmise à tous les PbE en transitant par le message de demande des meilleures
permutations. En retour, chaque PbE retourne sa liste des meilleures permutations avec le score des candidats
effectivement évalués. Bien que les candidats bannis soient identifiés par le PbM, il est utile pour un PbE de
connaître les candidats bannis correspondant aux cellules de sa partition pour ne pas avoir à évaluer des
permutations y faisant référence. Compte tenu de cette remarque, on doit synchroniser la liste locale des
candidats bannis sur chaque PbE.
Spécificités du protocole no 3 : meilleurs candidats identifiés par chaque processus esclave
Pour ce troisième protocole, la charge d’identifier les meilleurs candidats sur la grille complète revient
à chaque PbE. À partir de cette liste générée à l’identique par chaque PbE, les PbE recherchent les meilleures
permutations gagnantes générées entre chaque candidat et les cellules sous leur responsabilité. Comme les
meilleurs candidats sont recherchés par chaque PbE sur l’ensemble de la grille, une liste des candidats bannis172 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
FIGURE 9.9 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 3. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations »
(cf. figure 9.4).
relative à la totalité de la grille doit être synchronisée sur chaque PbE et collaborant avec le PbM.
Ces deux protocoles éliminent une phase de communication (avec synchronisation) par rapport au protocole
no 1 tout en exploitant le même nombre de PbE. En contrepartie, l’évaluation séquentielle requise pour
identifier la liste globale des meilleurs candidats peut être pénalisante. D’autre part, même si le nombre de
phases a été réduit, la quantité d’informations devant transiter entre le PbM et les PbE reste quasiment la
même (avec moins de messages, mais plus d’informations dans chaque message), les PbE devant faire appel
au PbM pour synchroniser leur liste locale des candidats bannis. Finalement, les difficultés principales du
protocole no 1 relatives à la diversité spatiale des permutations et à la perte de temps occasionnée si aucun
candidat prometteur ne produit une permutation gagnante restent présentes.
9.4.3.3 Protocole no 4
Avec ce protocole, une seule phase (échange réseau synchronisé) est nécessaire à chaque itération entre
le PbM et les PbE. Néanmoins, pour le même nombre de partitions, il faut prévoir beaucoup plus de PbE, avec
|PbE| = |partition| ∗ (|partition| + 1)/2. Par exemple, pour un grille globale découpée en quatre parties
de même taille, il faut prévoir dix PbE, chaque processus esclave étant définitivement associé à une ou deux
parties de la grille (voir table 9.2).9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 173
FIGURE 9.10 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 4. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations »
(cf. figure 9.4).
À chaque itération, chaque PbE recherche les meilleures permutations possibles uniquement entre les
parties qui lui sont assignées. Par exemple, le PbE n
o 1 de la table 9.2 examine les permutations des cellules
localisées dans la zone ① avec les autres cellules de la zone ①. Le PbE n
o 5 examine les permutations
des cellules de la zone ① avec les cellules de la zone ②, etc. Cette façon de procéder permet de couvrir
localement l’ensemble des permutations possibles sur la grille globale.
La recherche des meilleures permutations est bien entendu soumise à une liste des meilleurs candidats
établie préalablement. Lors d’une itération, chaque PbE commence par constituer en fonction des parties
qui lui sont confiées sa propre liste locale des meilleurs candidats. Pour un PbE affecté à une seule partie, il
recherche ses meilleurs candidats uniquement sur cette partie. Pour un PbE affecté à deux parties, il recherche
ses meilleurs candidats sur les deux parties (suivant l’indicateur de sélection décrit en section 9.4.2.2). Pour
chaque PbE, nous disposons d’une liste locale des candidats bannis dont la taille dynamique dépend du
nombre de cellules libres associées au PbE. Chaque candidat, de la liste locale des meilleurs candidats,
incapable de fournir le moindre bénéfice est directement ajouté à la liste locale des candidats bannis.
Les PbE sont synchronisés avec le PbM qui collecte les meilleures permutations et décide de celles qui
devront être appliquées. Une fois cette opération réalisée, le PbM demande à nouveau les meilleures per-174 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
TABLE 9.2 – Protocole no 4 : exemple de décomposition de la carte d’une ville en quatre parties de taille
uniforme (à gauche) et distribution de ces parties sur dix processus esclaves (à droite).
① ②
③ ④
Esclave 1 2 3 4 5 6 7 8 9 10
Partie ① ② ③ ④ ① ;② ① ;③ ① ;④ ② ;③ ② ;④ ③ ;④
mutations aux PbE en profitant de cet échange (message) pour transmettre à chaque PbE les permutations
qu’il a effectivement réalisé sur la CbG. Une fois synchronisés, les PbE peuvent rechercher les nouvelles
permutations en parallèle pour la même CbG.
Précisons tout de même que lorsqu’un PbE ne trouve aucune permutation favorable à partir de sa liste
locale des meilleurs candidats, il ne se synchronise pas immédiatement avec le PbM. Dans ce cas, au lieu
de rendre une réponse sans permutation au PbM, il relance automatiquement le processus local de recherche
de ses meilleurs candidats avant de rechercher les meilleures permutations correspondantes limitées à ses
zones de responsabilité. Le PbE poursuit cette succession de recherches jusqu’à ce que l’un des critères
suivants soit atteint :
1. il trouve des permutations favorables ;
2. il ne trouve plus de candidats (sa liste de candidats bannis est pleine et elle ne peut plus être agrandie) ;
3. son PbM le force à synchroniser sa CbG.
Concernant le critère no 3 évoqué ci-dessus, le PbM peut en effet reprendre la main au bout d’un certain
temps d’attente : lorsque certains PbE ne fournissent pas de réponse au bout d’un délai (timeout), le PbM
abandonne la communication en cours avec les PbE qui n’ont pas été en mesure de répondre dans les délais
à sa requête (pour fournir leur liste des meilleures permutations locales). Le PbM poursuit son travail avec
les résultats partiels obtenus (application des meilleures permutations) et réinterroge l’ensemble des PbE.
C’est à ce moment là que les PbE n’ayant pas encore répondus sont obligés de synchroniser leur CbG en
abandonnant leur recherche en cours.
Un mécanisme spéciale est mis en œuvre pour écarter les messages obsolètes qui ont pu être émis par
les PbE retardataires entre le moment où le PbM a abandonné son attente et le moment où les PbE ont été
sommés de se synchroniser. Pour écarter ces messages obsolètes qui peuvent arriver lors des synchronisations
ultérieures, un numéro d’itération est intégré dans tous les messages (doit être identique entre une
demande et les réponses correspondantes) et les réponses associées à un numéro d’itération inférieur au
numéro d’itération courant sont systématiquement ignorées par le PbM.
Concernant le délai d’attente (timeout) exploité par le PbM, il est difficile de le fixer de façon statique
compte tenu du contexte matériel, de la performance des réseaux en place ou encore de l’avancement dans le
processus de résolution. Nous avons donc fait le choix de le calculer de façon dynamique à chaque itération.
Pour le calculer, le PbM doit attendre la première réponse valide du PbE le plus rapide. Il peut alors définir le
timeout lié à l’itération en fonction du temps mis par le PbE le plus rapide, ce temps étant multiplié par un
coefficient paramétrable.
9.5 Conclusion
Ce chapitre dresse un inventaire des techniques principales que nous proposons pour générer une pré-
programmation urbaine à partir du modèle de contrainte défini pour notre problème d’aménagement urbain.
Dans un premier temps, cet inventaire décrit les méthodes mises au point pour générer des configurations
initiales ainsi que notre algorithme de recherche locale basé sur Adaptive Search. Après avoir identifié
différentes optimisations qui permettent d’améliorer les performances de cette métaheuristique, nous
introduisons les modes multi-candidats et multi-permutations qui viennent enrichir les possibilités déjà disponibles.
Dans un contexte séquentiel, l’exploitation de plusieurs candidats renforce la recherche d’une
meilleure permutation à chaque itération mais au prix d’un effort de calcul supplémentaire puisqu’il faut9.5. CONCLUSION 175
évaluer les permutations de chaque candidat. D’un autre côté, le mode multi-permutations profite d’une
exploration du voisinage de toute façon nécessaire pour mémoriser les meilleures permutations qui pourront
être appliquées en série sans nécessiter d’efforts significatifs de calcul. Ces deux modes peuvent être
activés séparément ou fonctionner simultanément. Lorsqu’ils collaborent, le mode multi-candidats peut
apporter de la diversité dans les meilleures permutations retenues. Provenant de secteurs géographiques différents,
les permutations sélectionnées ont alors plus de chance de ne pas interférer les unes avec les autres,
augmentant ainsi le nombre de permutations restant valides pour une application consécutive (i.e. en mode
multi-permutations, les permutations retenues lors d’une même itération sont appliquées en cascade).
Pour faire face à des instances de grande taille tout en contenant les temps de résolution, nous optons
pour une version distribuée de notre algorithme basée sur une décomposition de variables et pouvant être
déployée à grande échelle sur une grille de calcul. Cette version permet alors d’exploiter toute la puissance
des modes multi-candidats et multi-permutations sans nécessiter des temps de calcul supplémentaires, différentes
portions de la grille étant confiées à des processus œuvrant en parallèle pour identifier à chaque
itération les meilleures permutations d’une configuration globale synchronisée. Pour ce mode distribué,
nous avons exploré quatre protocoles pouvant être mis en œuvre, le quatrième étant celui qui offre le plus
d’autonomie aux processus esclaves qui s’affranchissent dans certaines circonstances des ordres donnés par
un processus maître qui sait mieux déléguer ses tâches tout en orchestrant un fonctionnement global de
l’algorithme cohérent et efficace.10
Mode interactif
La seconde étape de notre processus de résolution est interactive. Le but est de permettre aux utilisateurs de
garder le contrôle sur la solution à travers des manipulations interactives sur la ville. Dans le sens d’intégrer
intelligemment les interactions des utilisateurs, l’idée consiste à maintenir actif le processus de résolution
pendant que l’utilisateur effectue des modifications sur la solution.
Lorsque l’on évoque une possible interaction, on sous-entend généralement l’engagement d’au moins
deux acteurs (ou composants) impliqués dans une communication pour participer à une activité partagée.
D’ailleurs, le dictionnaire LAROUSSE donne au mot interaction la définition suivante : « Action réciproque
qu’exercent l’un sur l’autre deux ou plusieurs systèmes physiques ». Dans notre cas, on comprend aisément
l’interaction qui se joue entre les utilisateurs du système et l’interface graphique. Mais de notre point de
vue, l’interaction ne s’arrête pas là et elle intègre également le solveur qui doit, à tout moment, réagir aux
actions des utilisateurs [149, 171, 254, 255].
Dans ce chapitre, nous revenons sur les grands principes qui ont guidé nos choix pour mettre au point ce
mode interactif et nous présentons les différents composants impliqués dans l’interaction. Parmi les parties
prenantes, le système qui gère les communications entre les acteurs est considéré comme un élément à part
entière contribuant pour une large part à la réussite du processus global.
En contexte interactif, le support de multiples scénarios en lien avec un projet est essentiel du point de
vue de l’utilisateur, chaque scénario lui permettant de représenter une solution possible avec ses avantages
et inconvénients [249]. Nous commençons donc par présenter nos travaux dans ce domaine.
Nous expliquons ensuite le fonctionnement général de notre système en commençant par détailler les
différents paramétrages qui ont un effet indirect sur son comportement interactif. Nous décrivons ensuite les
manipulations directes qui peuvent être opérées sur la grille en relevant les principales difficultés techniques
qu’elles soulèvent. Enfin, un paragraphe entier est dédié aux composants graphiques mis au point pour
informer à la volée les utilisateurs des conséquences de leurs choix.
Ce qui nous importe dans ce chapitre, ce sont les fonctionnalités interactives ; l’aspect esthétique de
l’IHM n’étant ici qu’un aspect secondaire. Pour une question de simplification, nous proposons une version
2D de l’IHM qui peut très facilement être transposée en 3D compte tenu de la stratégie qui a guidé nos
choix.
10.1 Principes retenus
Pour que l’application soit réactive en toutes circonstances, les traitements gourmands (i.e. avec des temps
de calcul supérieurs à la seconde) exécutés à la demande du dispositif tactile doivent être lancés en mode
177178 CHAPITRE 10. MODE INTERACTIF
asynchrone dès que c’est possible : ceci permet aux utilisateurs de poursuivre leurs manipulations sans attendre
le résultat des calculs. En contrepartie, une technique (à base de synchronisation1
) doit être proposée
pour intégrer avec un temps de décalage le résultat des calculs asynchrones sans interférer avec les opérations
courantes des utilisateurs. De plus, les dispositifs utilisés pouvant être multi-utilisateurs (e.g. grandes
tables tactiles multi-touch), il est important que le système proposé puisse supporter le travail concurrent de
plusieurs utilisateurs sur des portions différentes d’une même ville.
D’autre part, les contraintes techniques ou bien les préoccupations n’étant pas les mêmes entre le dé-
veloppement d’une IHM et le développement d’un solveur, une exécution autonome et parallèle dans des
processus distincts est souhaitée. De cette manière, l’IHM peut être développée dans un langage de programmation
ou/et avec des outils différents de ceux retenus pour implémenter le solveur. Finalement, l’IHM et
le solveur doivent pouvoir fonctionner de part et d’autre sur des machines distantes, sans que la communication
entre les deux processus ne nécessite un couplage fort. Par exemple, on peut imaginer que la partie
IHM s’exécute sur l’ordinateur associé physiquement au dispositif tactile tandis que le solveur est déployé
sur une grille de calcul répartie sur plusieurs sites [243].
10.2 Présentation des composants impliqués dans l’interaction
Compte tenu des principes annoncés, nous proposons d’organiser l’interaction entre trois composants majeurs
(cf. figure 10.1) pour permettre à notre système d’être efficace (i.e. réactif aux demandes des utilisateurs)
:
• un gestionnaire de messages (asynchrone) ;
• une application liée au dispositif tactile ;
• un solveur interactif.
10.2.1 Gestionnaire de messages
Notre gestionnaire de messages (GDM) se charge de router les messages d’un processus émetteur à un processus
récepteur de façon asynchrone. Il peut être installé sur la machine qui héberge les processus qui vont
l’utiliser (émetteur et récepteur) ou bien sur une machine distante. Il n’y a aucune communication directe
entre l’émetteur et le récepteur : toutes les communications transitent par le GDM. En mode asynchrone,
l’émetteur confie son message au GDM et passe immédiatement à ses autres occupations. En complément
du GDM, un gestionnaire d’événements doit être activé sur chaque processus connecté au GDM pour qu’il
soit alerté dès qu’un message (lui étant destiné) est disponible.
Files de messages Une file de messages conserve les messages qui lui sont confiés tant qu’ils ne sont
pas explicitement récupérés par le destinataire. Les messages sont mis en file les uns à la suite des autres
sachant que les premiers entrés dans la file sont les premiers sortis. Un nom peut être donné à une file et
plusieurs files peuvent cohabiter en même temps. On peut choisir la file à utiliser en fonction de son nom.
Connecteurs d’entrée et de sortie Un connecteur d’entrée et un connecteur de sortie sont installés sur
chaque processus voulant travailler avec le GDM. Le connecteur d’entrée peut être vu comme un thread2
spécialisé capable de détecter à tout moment l’arrivée d’un message sur une file particulière. Dans ce cas,
il peut récupérer le message et lancer un traitement particulier. Ensuite, soit il passe au message suivant
présent dans la file, soit il se met en attente d’un prochain message à venir.
1Dans le sens d’une protection des données partagées entre différents processus légers.
2Processus léger qui partage sa mémoire virtuelle et qui est capable d’interagir directement avec le processus principal ou
avec d’autres threads associés au processus principal.10.2. PRÉSENTATION DES COMPOSANTS IMPLIQUÉS DANS L’INTERACTION 179
FIGURE 10.1 – Routage des messages et interception des événements entre le dispositif tactile et le solveur
interactif. Le gestionnaire de messages prend en charge le transfert des informations sur le réseau et permet
un couplage faible entre les deux processus. Deux connecteurs repérés par les lettres « E » et « S » permettent
à chaque processus (émetteur/récepteur) d’intercepter les messages qui lui sont destinés ou d’injecter de
nouveaux messages vers un processus destinataire dans une file donnée. Le solveur interactif incorpore les
fonctionnalités du solveur de base mis au point pour la résolution initiale et lui apporte les fonctionnalités
nécessaires pour gérer l’interaction.
Le connecteur de sortie permet de créer un nouveau message et de l’injecter dans le GDM sur une file
donnée. Les connecteurs d’entrée et de sortie peuvent œuvrer simultanément (en parallèle). Dans ce cas, les
traitements associés doivent être prévus pour protéger les données partagées susceptibles d’être modifiées
et exploitées par les traitements exécutés en entrée ou en sortie (protection nécessaire via un dispositif de
synchronisation).
10.2.2 Dispositif tactile
Le processus interactif doit permettre à un ou plusieurs utilisateurs de modifier l’organisation de la ville
en changeant l’emplacement des formes urbaines affectées aux cellules de la grille. On veut conserver un
fonctionnement par permutation au niveau de chaque action utilisateur : si l’utilisateur prend une forme
urbaine pour la positionner sur une autre cellule, il faudra donc procéder par échange des formes urbaines
entre ces deux cellules. Ces permutations imposées par l’opérateur sont alors transmises au solveur interactif
pour qu’il prenne en compte ces changements et qu’il calcule une nouvelle solution optimisée. Après cette
étape d’optimisation, le dispositif tactile doit être en mesure de récupérer les permutations automatiques
opérées par le solveur pour les reporter sur l’IHM.
Dans ce contexte, il faut donc distinguer deux origines possibles pour une permutation :
• soit il s’agit d’une permutation manuelle imposée par l’utilisateur ;
• soit il s’agit d’une permutation automatique issue du processus de résolution pour optimiser la solution
courante.
Les permutations manuelles sont issues de l’IHM tandis que les permutations automatiques sont géné-180 CHAPITRE 10. MODE INTERACTIF
rées par le solveur interactif. Pendant que le solveur interactif intègre les permutations manuelles et recalcule
une nouvelle solution proche de la précédente, il faut néanmoins permettre aux utilisateurs de poursuivre
leurs actions sans attendre les résultats des résolutions demandées.
10.2.2.1 Déplacement des formes urbaines
Du point de vue de l’utilisateur, nous représentons le déplacement des formes urbaines comme un « drag &
drop » qui lui permet de :
• sélectionner une ou plusieurs formes urbaines associées à des cellules d’origine ;
• déplacer le groupe des formes urbaines sélectionnées en faisant apparaître visuellement le groupe et
la trajectoire empruntée ;
• lâcher le groupe des formes urbaines sur les emplacements de destination.
Bien qu’il s’agisse d’un procédé classique dans l’utilisation et la perception, sa mise en œuvre relève
d’une implémentation particulière qui doit tenir compte de la contrainte de correspondance d’intensité ou
des cellules figées (routes, rivières, . . . ) qui ne doivent pas être modifiées et qui pourront être enjambées au
cours du déplacement. On doit également représenter la trajectoire empruntée en indiquant à l’utilisateur si
les cellules situées au dessous du groupe en mouvement sont compatibles pour accepter les formes urbaines
sélectionnées.
10.2.2.2 Réception et émission de messages
Les actions déterminantes des utilisateurs sont interceptées localement par l’IHM, un message correspondant
est généré et confié au GDM à destination du solveur interactif. Chaque message en provenance du
GDM et destiné au dispositif tactile est intercepté, interprété et une action adaptée est exécutée localement.
C’est toujours le dispositif tactile qui prend le premier l’initiative d’envoyer un message au solveur interactif,
ce dernier se mettant au service de l’utilisateur pour exécuter les actions qui lui sont demandées et
émettre un message en réponse à la demande lorsque l’action a été réalisée.
10.2.2.3 Liste des Permutations Imposées (LPI)
Lorsque l’opérateur réalise un déplacement de formes urbaines par drag & drop, le système génère un
nombre de permutations correspondant au nombre de formes urbaines impliquées dans le déplacement. Ces
permutations forment alors une liste de permutations imposées (LPI) qui est incorporée dans le message à
destination du solveur interactif.
10.2.3 Solveur interactif
Nous voulions utiliser un même solveur que cela soit dans le cadre d’une résolution initiale ou dans le cadre
de l’interaction avec les utilisateurs. Pour que cela soit possible, nous encapsulons (enveloppons) le solveur
de base (i.e. celui mis au point pour la résolution initiale) afin de le doter de fonctionnalités complémentaires
nécessaires à l’interaction, sans pour autant modifier le solveur de base. Le solveur interactif est connecté
au dispositif tactile par l’intermédiaire du GDM. Il doit être lancé avant les premières interactions et il se
termine automatiquement lorsque l’utilisateur ferme l’IHM. Le solveur interactif charge et mémorise la solution
courante dès le lancement de l’application. Il se synchronise (dans le sens d’actualiser) alors avec le
dispositif tactile en lui transmettant sa solution courante. Ensuite, à chaque fois qu’une action utilisateur est
interceptée par l’IHM, un message est transmis au solveur interactif pour qu’il reporte les opérations manuelles
issues de l’IHM sur sa solution courante. Il demande alors au solveur de base (celui qu’il encapsule)
d’exécuter une résolution initiale basée sur cette solution courante. Le résultat de la résolution calculé par
le solveur de base devient alors la solution courante du solveur interactif. Cette nouvelle solution est alors
communiquée au dispositif tactile pour une nouvelle actualisation des données liées à l’IHM.10.3. GESTION DES SCÉNARIOS 181
Au niveau de notre modélisation, nous consentons quelques compléments sur le modèle (lié au problème
d’aménagement urbain) pour mémoriser les choix des utilisateurs en terme de placement des formes
urbaines.
10.2.3.1 Modèle : mémorisation des cellules verrouillées par les utilisateurs
En complément des propriétés déjà présentes dans notre modèle (voir chapitre 8), nous proposons d’y
intégrer un indicateur (prenant la valeur vrai ou faux) associé à chaque cellule pour indiquer si la forme
urbaine affectée à la cellule est verrouillée (i.e. imposée) par l’utilisateur. Tant qu’une forme urbaine est
verrouillée à une cellule, le solveur ne peut pas la déplacer de lui même pour optimiser la solution courante.
10.2.3.2 Réception et émission de messages
Un gestionnaire d’événements écoute en permanence les messages en provenance du GDM et destinés
au solveur interactif. Dès qu’un message est disponible, il est récupéré, interprété et une action adaptée
est exécutée. L’action entreprise par le solveur doit être terminée avant qu’un autre message puisse être
« consommé » dans la file des messages entrants. En effet, nous souhaitons réutiliser telles quelles les fonctionnalités
du solveur de base sans devoir synchroniser (dans le sens de protéger les informations partagées
entre les processus légers) ses traitements/données internes. D’autre part, nous avons fait le choix d’empiler
les actions des utilisateurs pour les traiter séquentiellement. Cette façon de procéder permet de gérer de
façon transparente les actions provenant de plusieurs utilisateurs travaillant simultanément sur des parties
différentes d’une même ville. En réponse à l’action entreprise, le solveur peut émettre à son tour un message
destiné au dispositif tactile qu’il confie au GDM.
Si les utilisateurs sont très actifs ou/et que les opérations qu’ils demandent au solveur sont gourmandes
en temps, les messages en provenance du dispositif tactile vont pouvoir s’empiler dans le GDM et seront
traités un à un dès que le solveur sera à nouveau disponible.
10.2.3.3 Liste des permutations imposées (LPI)
Certains messages contiennent des permutations imposées par une action de déplacement (ou plusieurs
actions regroupées, ceci étant dû au mode de fonctionnement autonome, cf. section 10.4.3) réalisée par un
utilisateur. Dans ce cas, chaque permutation imposée par l’utilisateur est appliquée sur la solution courante
en échangeant les formes urbaines des cellules concernées. Pour chaque permutation de la liste prise une
à une et dans l’ordre d’arrivée, la cellule d’origine est marquée « déverrouillée » alors que la cellule de
destination est marquée « verrouillée ».
10.2.3.4 Résolution locale
En réponse à certaines actions d’un utilisateur, une résolution peut être lancée pour tenter d’améliorer la
solution courante tout en conservant les choix antérieurs réalisés par les opérateurs. Pour chaque action
associée à un déplacement de formes urbaines, les permutations imposées par l’utilisateur permettent d’établir
un périmètre autour des cellules d’origine et de destination, la taille de ce périmètre étant paramétrable.
Avant la résolution, toutes les cellules de la grille sont rendues non sélectionnables sauf celles comprises
dans le périmètre identifié. Ensuite, une résolution est demandée et le résultat (formes urbaines qui occupent
les cellules) est intégré dans un message à destination du dispositif tactile.
10.3 Gestion des scénarios
Compte tenu du caractère stochastique lié à la procédure de résolution initiale, il est possible de lancer
plusieurs fois la procédure à partir des mêmes critères (paramètres, territoire, formes urbaines à répartir182 CHAPITRE 10. MODE INTERACTIF
FIGURE 10.2 – Chargement d’un scénario mémorisé préalablement. Dans un premier temps, l’utilisateur
indique la ville de référence. Ensuite, il a la possibilité de charger un scénario de travail particulier relatif à
cette ville.
MLV avant
chargement
scénario
MLV après
chargement
scénario
sur la ville, etc.) pour obtenir des solutions différentes, chaque solution étant mémorisée dans une structure
XML3
autonome. À partir de ces différentes solutions, les experts peuvent en sélectionner une qu’ils vont
retravailler en opérant diverses modifications. Il faut pouvoir conserver le travail réalisé pour revenir dessus
par la suite afin de le compléter, pour le partager avec d’autres personnes ou tout simplement pour en garder
une trace. On peut également prévoir différentes versions de travail à partir de la même solution de départ
pour représenter différents scénarios possibles. Nous permettons de sauvegarder chaque scénario (au format
XML) indépendamment de la solution de départ (cf. listing 10.1). Pour cela, nous mémorisons pour chaque
cellule libre (GridCell) représentée par son numéro de ligne et de colonne :
• l’indicateur de verrouillage (CellLocked)
• la forme urbaine affectée (CellUrbanForm)
L’utilisateur pouvant personnaliser le poids de chaque contrainte pendant l’interaction, ces éléments (CompWeight)
doivent également être intégrés à la structure XML.
10.4 Paramétrage du comportement interactif
Le comportement des interactions entre le dispositif tactile et le solveur peut être modifié selon différents
paramètres que l’utilisateur peut changer à tout moment. Certains paramètres agissent sur les prochaines
saisies tandis que d’autres modifient le comportement du solveur. L’étude de ces différents paramètres permet
de dresser un premier inventaire des fonctionnalités interactives mises à la disposition des opérateurs.
10.4.1 Comportement de saisie
On propose aux utilisateurs quatre paramètres qui permettent de modifier le comportement de saisie sur
l’IHM :
3Extensible Markup Language.10.4. PARAMÉTRAGE DU COMPORTEMENT INTERACTIF 183
Listing 10.1 – Exemple de scenario mémorisé au format XML
1 xml v e r s i o n =" 1 . 0 " e n c o di n g =" ut f −8" ?>
2 < S i m u l a t i o n >
3 < F i l e Name=" / home / b r u n o / Documents / . . . / c o n t r i b −i n t e r a c t i o n / s c e n a r i o −mlv−v14 . xml " / >
4 < G r i d C e l l s >
5 < G r i d C e l l CellRow=" 0 " C ell C ol =" 0 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
6 < G r i d C e l l CellRow=" 0 " C ell C ol =" 1 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
7 < G r i d C e l l CellRow=" 0 " C ell C ol =" 2 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
8 . . .
9 < G r i d C e l l CellRow=" 101 " C ell C ol =" 256 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
10 < G r i d C e l l CellRow=" 101 " C ell C ol =" 257 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
11 < G r i d C e l l CellRow=" 101 " C ell C ol =" 258 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
12 < / G r i d C e l l s >
13
14
15
16 . . .
17
18
19 < / CompWeights>
20 < / S i m u l a t i o n >
FIGURE 10.3 – Paramétrage du comportement interactif.
• changement continu ;
• correspondance d’intensité obligatoire ;
• type de sélection ;
• taille du cercle d’influence.184 CHAPITRE 10. MODE INTERACTIF
FIGURE 10.4 – Mode continu désactivé (à gauche) ou activé (à droite).
10.4.1.1 Changement continu
Lorsque l’opérateur se saisit d’une forme urbaine affectée à une cellule4 pour la déposer à un autre emplacement,
soit on considère que l’opération se fait en un seul mouvement, soit on réalise une série de
mouvements tout au long du déplacement en considérant l’itinéraire emprunté pour aller de l’emplacement
d’origine jusqu’à l’emplacement de destination (voir la figure 10.4).
Un mouvement correspond à une permutation, la forme urbaine de la cellule d’origine étant échangée
avec la forme urbaine de la cellule de destination. Si le mode continu est désactivé, une seule permutation
est générée entre les cellules d’origine et de destination. Dans le cas contraire, le système tient compte de la
trajectoire empruntée à partir de la cellule d’origine, et à chaque fois qu’on se déplace d’une cellule sur la
trajectoire, une permutation est réalisée avec la cellule voisine. Après une série de permutations continues
impliquant la forme urbaine prise à la source, celle-ci vient se loger sur la cellule de destination. Dans ce
cas, toutes les formes urbaines rencontrées sur le parcours sont décalées d’une cellule vers l’emplacement
d’origine. Si on considère par exemple la suite de formes urbaines suivante {A, B, C, D, E, F, G} pour aller
de l’origine « A » à la destination « G », on obtient {G, B, C, D, E, F, A} hors mode continu alors qu’on
obtient {B, C, D, E, F, G, A} si le mode continu est activé.
10.4.1.2 Correspondance d’intensité obligatoire
Si le paramètre « même intensité » est activé (ce qui correspond à la valeur par défaut), l’opérateur est obligé
de sélectionner une cellule de destination dont l’intensité correspond à la cellule d’origine pour réaliser un
mouvement. Néanmoins, si on rencontre des intensités différentes sur la trajectoire qui séparent les deux
cellules origine et destination, en mode continu, ces dernières ne sont pas impliquées dans les échanges.
Par exemple, si le trajet implique les formes urbaines {A, B, C, D, E, F, G} pour aller de l’origine « A » à
la destination « G » et que les cellules liées à « C », « D » et « E » ont toutes des intensités différentes de
l’origine « A », on obtiendra la suite {B, F, C, D, E, G, A}
5
.
Cette option n’a aucun effet sur la contrainte de correspondance des niveaux d’intensité du solveur qui
reste toujours active pour réduire les mouvements possibles initiés par la résolution.
10.4.1.3 Type de sélection
Le type de sélection peut correspondre à l’une des options suivantes :
• sélection simple : une seule cellule peut être sélectionnée ;
• sélection étendue : pour sélectionner plusieurs cellules contiguës ou non ;
• sélection contiguë : pour sélectionner des cellules contiguës (en forme de rectangle).
Lorsque plusieurs cellules sont impliquées dans un même mouvement de groupe (le groupe correspondant
4En réalité, l’opérateur peut sélectionner plusieurs formes urbaines en même temps et le comportement reste le même pour
une ou plusieurs formes urbaines.
5La même remarque peut être faite pour des cellules fixes présentes sur le parcours10.4. PARAMÉTRAGE DU COMPORTEMENT INTERACTIF 185
FIGURE 10.5 – Déplacement d’un groupe de formes urbaines en une seule opération. Lorsque la correspondance
d’intensité doit être respectée, il faut conserver une correspondance stricte entre les intensités
des cellules d’origine et des cellules de destination, ces intensités étant repérées dans cet exemple par les
chiffres 1, 2, 3, 4.
aux cellules sélectionnées au même moment par l’utilisateur), elles représentent toutes les cellules d’origine.
Le processus de déplacement devient alors plus compliqué mais les principes évoqués jusqu’à présent
restent applicables, que le mode continu soit activé ou non. Dans ce cas, un mouvement est autorisé uniquement
avec un ensemble de cellules de destination ayant une correspondance stricte en nombre de cellules
impliquées, en organisation spatiale (liée aux cellules sélectionnées) et en intensité (si la correspondance
entre intensités est demandée) (voir figure 10.5).
10.4.1.4 Taille du cercle d’influence
Le cercle d’influence prend forme autour des cellules impliquées dans un déplacement et correspond à la
fois à :
• un indicateur visuel permettant à l’opérateur de repérer les zones de la grille qui seront impactées par
un mouvement ;
• une distance permettant au solveur de déterminer les zones de la grille à considérer autour des changements
imposés par l’utilisateur pour exécuter une résolution locale limitée à ces zones.
La taille du cercle peut être paramétrée par l’opérateur pour agrandir ou réduire les zones impactées par un
déplacement (voir figure 10.6). Plus le cercle est important, plus les effets d’un déplacement seront pris en
compte sur la réorganisation automatique d’une ville en contre partie d’un temps de résolution plus long.
L’utilisateur doit donc trouver un juste compromis entre la réactivité du système et la portée des réparations
automatiques réalisées par le solveur, en fonction de son contexte de travail (puissance du matériel, temps
d’attente admissible, etc.). D’autre part, il peut changer la taille du cercle à tout moment. Par exemple,
l’utilisateur peut décider de fixer une taille du cercle en adéquation avec l’importance des opérations qu’il
réalise, cette importance pouvant être liée au type des formes qu’il déplace, au nombre de formes urbaines
impliquées dans un déplacement ou à la distance du déplacement.
10.4.2 Administration distante du solveur
Par l’intermédiaire de l’IHM, il est possible de :
• désactiver le solveur de base ;
• réactiver le solveur de base ;
• demander une résolution globale sur le solveur.
Par défaut, le solveur de base est actif. Lorsque l’opérateur demande sa désactivation, on conserve un
échange des messages à la volée entre le dispositif tactile et le solveur interactif. Dans cette situation, le
solveur interactif continue d’appliquer les permutations demandées par l’opérateur sur sa solution courante186 CHAPITRE 10. MODE INTERACTIF
FIGURE 10.6 – Cercle d’influence permettant d’identifier la taille des zones impactées par un mouvement.
Dans cet exemple, le cercle de gauche identifie la zone d’origine et le cercle de droite la zone de destination,
les cellules appartenant à ces deux zones étant soumises à une résolution locale. En dehors des cercles, les
formes urbaines restent en place.
mais il ne demande plus aucune résolution locale, ce qui revient à une saisie manuelle coté IHM et à un
report automatique des saisies sur la configuration courante du solveur interactif sans optimisation.
La réactivation du solveur de base intervient sur les prochains mouvements sans être rétroactive. Compte
tenu de ce fonctionnement, il peut être utile de demander une résolution globale après avoir fait une série
de modifications en mode désactivé. La résolution globale considère toutes les cellules de la grille comme
sélectionnables. Par contre, les cellules qui ont été verrouillées par l’utilisateur restent verrouillées.
En associant ces différentes fonctionnalités, l’opérateur peut réaliser une série de modifications en maintenant
une cohérence entre ses saisies et la configuration courante du solveur interactif, sans demander de
résolution. Lorsque ses saisies sont terminées, il peut alors demander une résolution globale qui tiendra
compte de tous les déplacements opérés et cherchera à réparer l’ensemble de la configuration courante sans
remettre en cause les choix réalisés en bloc par l’opérateur.
10.4.3 Mode de fonctionnement autonome
Cette option intitulée « empiler les permutations » permet de travailler en mode autonome sur le dispositif
tactile en interrompant jusqu’à nouvel ordre les communications réseau avec le solveur. Au lieu de
transmettre, au fur et à mesure des saisies, les permutations imposées au solveur ; le système mémorise
ces permutations dans une liste locale d’attente. Lorsque l’opérateur demande à « désempiler les permutations
», la liste locale d’attente est transmise en un seul bloc au solveur qui applique en séquence toutes les
permutations imposées. On revient alors à un mode de fonctionnement normal.
10.4.4 Administration des composants graphiques de retour
Il est possible de désactiver/réactiver la mise à jour temps réel des composants graphiques en charge de
faire un retour visuel aux utilisateurs (cf. section 10.6). En effet, lorsque ces composants sont actifs, ils
nécessitent des informations particulières en provenance du solveur après chaque résolution :
• coûts par contrainte ;
• coûts par cellule.
La désactivation permet d’alléger temporairement les échanges réseau entre le dispositif tactile et le solveur.10.5. MANIPULATIONS DIRECTES SUR LA GRILLE 187
10.4.5 Réglage du poids de chaque contrainte
Côté modèle, un poids est spécifié pour chaque contrainte (voir la section 8.3.1). Grâce à ce dispositif
graphique permettant d’ajuster dynamiquement les poids, l’utilisateur peut revenir sur les valeurs par dé-
faut pour modifier la priorité donnée à chaque contrainte en fonction de ses propres appréciations (voir
figure 10.3). Après la modification des poids sur le dispositif tactile, il faut demander une « synchronisation
» qui se charge de transmettre ces nouveaux paramètres au solveur et qui demande en retour les
nouveaux coûts par contrainte et par cellule pour réactualiser les composants graphiques de retour visuel
lorsqu’ils sont actifs.
10.4.6 Taille de chaque cellule
Il s’agit de définir la taille graphique des cellules sur le dispositif tactile, chaque cellule correspondant
toujours à un îlot urbain de 80x80 mètres. Cette fonctionnalité est très pratique pour représenter les villes
importantes sur le dispositif tactile sans nécessiter trop de place à l’écran, ce qui permet à l’utilisateur de
travailler à l’échelle graphique voulue, une petite taille étant propice à un déplacement groupé de plusieurs
formes urbaines ou à des déplacements importants (en distance).
FIGURE 10.7 – Paramétrage de la taille des cellules.
Taille cellules = 30x30 Taille cellules = 14x14
10.5 Manipulations directes sur la grille
10.5.1 Déplacer une forme urbaine ou un ensemble de formes urbaines
Pour éviter qu’une modification locale réalisée par l’utilisateur puisse impacter la ville entière (i.e. changer
l’ensemble de la solution), la manipulation d’un ensemble de formes urbaines a été définie de manière
à impacter localement la carte. À cette fin, la taille du cercle d’influence est tout d’abord précisée par
l’utilisateur (voir la section 10.4.1.4) pour définir la région dans laquelle les calculs (i.e. optimisation) seront
effectués autour des changements demandés par l’utilisateur. Les utilisateurs peuvent alors sélectionner une
ou plusieurs formes urbaines qu’ils déplacent interactivement sur la carte.
Deux modes d’interaction sont proposés :
• soit le calcul est effectué uniquement lorsque l’utilisateur dépose les formes urbaines sélectionnées à
un nouvel emplacement ;
• soit le calcul est effectué en continu dès que l’utilisateur déplace les formes urbaines.188 CHAPITRE 10. MODE INTERACTIF
Dans le premier cas, les permutations imposées sont identifiées au moment où l’utilisateur dépose les
formes urbaines. On demande alors au solveur une optimisation locale. Cette situation correspond au graphique
de gauche de la figure 10.4 et ne nécessite qu’une seule demande d’optimisation.
Dans le second cas, à chaque mouvement (dans le sens d’un déplacement du pointeur sur la trajectoire),
les permutations imposées sont définies et on demande une optimisation locale. Par rapport à la figure 10.4,
ce cas est représenté par le graphique de droite et l’exemple nécessite six demandes successives d’optimisation,
chaque demande correspondant à un mouvement sur l’itinéraire emprunté. Si on s’en tient aux
traitements réalisés, le mode continu peut être ramené au premier cas : c’est comme si l’utilisateur avait
demandé six drag & drop consécutifs en se déplaçant à chaque fois d’une seule cellule.
10.5.1.1 Construction de la LPI (Liste des Permutations Imposées)
Si le déplacement ne concerne qu’une forme urbaine, la construction de la LPI est simple car elle ne contient
qu’une seule permutation liée aux deux cellules d’origine et de destination. Une fois la permutation récupérée
coté solveur, les deux cellules sont identifiées et on procède à l’échange des valeurs entre les deux
cellules.
Le problème est un peu plus complexe lorsque plusieurs formes urbaines sont impliquées dans un même
déplacement. Dans ce cas, il faut projeter le déplacement sur les cellules de départ pour identifier une à une
les cellules de destination. Par rapport à l’exemple à gauche de la figure 10.8, si l’utilisateur sélectionne les
deux formes urbaines « 1 » et « 2 » du haut pour les déplacer vers le bas, on obtient les deux permutations
suivantes :
• la permutation « A » correspond à la cellule d’origine (1,2) avec la cellule de destination (4,5) ;
• la permutation « B » correspond à la cellule d’origine (2,3) avec la cellule de destination (5,6).
Quel que soit l’ordre d’insertion des permutations dans la LPI, le solveur sera en mesure de placer les
bonnes formes urbaines sur les bonnes cellules.
Néanmoins, si on considère l’exemple à droite sur la figure 10.8, la situation devient encore un peu
plus difficile. Dans cet exemple, le déplacement concerne les deux cellules du haut positionnées en (1,2) et
(2,3) mais l’utilisateur demande un décalage d’une seule cellule en descendant sur la diagonale. Nous avons
toujours deux permutations à générer, mais dans le cas d’un chevauchement (intersection non vide) entre la
zone d’origine et de destination, il faut tenir compte de la trajectoire pour déterminer l’ordre dans lequel les
permutations imposées doivent être ajoutées à la LPI, pour qu’elles puissent être rejouées ensuite de façon
cohérente sur le solveur. Si on considère les deux permutations suivantes :
• la permutation « A » correspond à la cellule d’origine (1,2) avec la cellule de destination (2,3) ;
• la permutation « B » correspond à la cellule d’origine (2,3) avec la cellule de destination (3,4).
Il faut impérativement appliquer la permutation « B » avant la permutation « A » pour que la cohérence
du déplacement soit maintenue. Lorsque le mode continu est sélectionné avec un déplacement groupé de
plusieurs formes urbaines, ces situations sont habituelles puisque le système doit actualiser la LPI à chaque
mouvement.
10.5.1.2 Prise en compte du cercle d’influence par le solveur
Au lieu de transférer vers le solveur interactif les identifiants des cellules présentes dans les cercles d’in-
fluence (représentés sur l’IHM), on transmet uniquement la dimension du cercle d’influence (le rayon) dans
chaque message de type déplacement. C’est le solveur interactif qui se charge ensuite d’identifier les cellules
appartenant aux cercles d’influence liés aux permutations imposées. Afin de simplifier les procédures,
ces cellules correspondent à l’union des voisinages V
d
l,c de chaque cellule Vl,c impliquée dans une permutation
imposée, avec d correspondant au rayon du cercle (voir figure 10.9). Ces notations proviennent de la
section 8.3.1.3.10.5. MANIPULATIONS DIRECTES SUR LA GRILLE 189
FIGURE 10.8 – Création de la liste des permutations imposées en fonction du type de sélection et de déplacement
des formes urbaines.
Ici, l’ordre d’application des
permutations est sans importance
Lorsqu’il y a chevauchement entre la
zone d’origine et de destination, il faut
tenir compte de la trajectoire pour définir
l’ordre d’application des permutations :
échanger 2 ↔ 3 puis 1 ↔ 3
FIGURE 10.9 – Cercles d’influences interprétés sur le solveur interactif : lorsque l’utilisateur déplace (en
groupe) les formes urbaines des cellules « 1 » et « 2 » sur les cellules « 3 » et « 4 » (en une seule opération), le
solveur interactif identifie autour des cellules d’origine et de destination les cellules faisant partie des cercles
d’influence. Pour cela, il utilise le voisinage V
d
l,c de chaque cellule Vl,c impliquée dans une permutation
imposée, avec d correspondant au rayon du cercle. Ces cellules sont alors marquées « sélectionnables »
pour participer à l’optimisation locale.190 CHAPITRE 10. MODE INTERACTIF
10.5.1.3 Cohabitation entre actualisation automatique de la grille et manipulations utilisateur
Le système que nous proposons permet à l’opérateur de poursuivre ses manipulations sur l’interface graphique
alors même que les résultats des optimisations demandées au solveur interactif :
• ne sont pas encore connus ;
• sont connus et éventuellement en cours de report sur l’IHM.
Pour autoriser ce fonctionnement particulier, plusieurs règles ont été élaborées :
• la solution courante présente sur le solveur interactif sert de référence : si il y a des différences entre
la représentation de la solution courante sur l’IHM et celle du solveur interactif, c’est la solution
présente sur le solveur interactif qui reste prioritaire ;
• l’IHM ne demande jamais au solveur de positionner une forme urbaine particulière sur une cellule.
Au lieu de cela, elle demande au solveur d’échanger les formes urbaines présentent sur deux cellules
données ;
• on s’autorise ponctuellement de légères différences entre les formes urbaines de la grille représentée
sur l’IHM et la solution courante localisée sur le solveur ;
• le solveur transmet au dispositif tactile le résultat de ses optimisations en indiquant la forme urbaine
associée à chaque cellule.
10.5.2 Verrouiller ou déverrouiller des cellules à la demande
À tout moment, l’utilisateur peut sélectionner un ensemble de cellules pour les verrouiller (sans avoir à
réaliser de déplacement). Il peut également sélectionner un ensemble de cellules pour les déverrouiller.
10.6 Retours visuels
Les retours visuels sont prévus pour permettre aux utilisateurs d’évaluer les impacts de leurs décisions.
Ces graphiques sont actualisés à la volée dès que des changements sont opérés sur la solution courante du
solveur interactif.
10.6.1 Carte de chaleur
La carte de chaleur présente les régions sur la carte où les coûts sont les plus importants (voir la fi-
gure 10.10), la couleur rouge de la légende correspondant aux coûts les plus élevés.
Pour actualiser ce graphique, le solveur transmet simplement le coût de chaque cellule pour la solution
courante. Les cellules étant situées sur la grille, on obtient instantanément une représentation spatialisée
des coûts. Ces coûts sont directement disponibles dans notre modèle (cf. chapitre 8) grâce aux fonctions de
coût définies pour chaque contrainte qui permettent de reporter les coûts des contraintes sur chaque tuple
« variable | valeur ».
En mode continu, l’utilisateur peut suivre les impacts sur la carte en fur et à mesure qu’il déplace un
groupe de formes urbaines, ce graphique étant actualisé à la volée à chaque mouvement.
10.6.2 Historique d’évolution des coûts
Une seconde représentation graphique, actualisée à intervalle de temps régulier (e.g. toutes les secondes),
affiche le changement de coût global, ainsi que l’évolution des coûts pour chaque contrainte considérée
(distance, accessibilité, taille critique, . . . ). Ainsi, l’utilisateur peut suivre l’impact de ses changements sur
chaque contrainte et identifier les contraintes qui s’améliorent au fil du temps ou au contraire celles qui se
dégradent (voir la figure 10.11).10.6. RETOURS VISUELS 191
FIGURE 10.10 – Carte de chaleur : les zones en rouge sur la carte font apparaître les régions correspondant
aux coûts les plus élevés. Cette carte est directement actualisée avec les coûts de chaque variable disponibles
dans notre modèle.
FIGURE 10.11 – Historique d’évolution des coûts par contrainte : ce graphique est composé de deux parties.
La partie de gauche indique le coût lié à chaque contrainte pour la configuration courante tandis que la partie
principale représente l’évolution des coûts par contrainte à intervalle de temps régulier.
A gauche du graphique, on retrouve un récapitulatif des coûts par contrainte lié à la dernière solution
connue. La grille du milieu quant à elle permet de voir l’évolution des coûts de chaque contrainte en fonction
du temps. Par défaut, ce graphique est rafraîchi à chaque seconde, cette intervalle de temps pouvant être
modifié par l’utilisateur (actualisation toutes les 2 secondes, . . . ). Dès qu’une modification est appliquée par
le solveur sur la solution courante, il transmet les nouvelles informations de coût par contraintes qui seront192 CHAPITRE 10. MODE INTERACTIF
prises en compte au rafraîchissement suivant de l’écran.
10.7 Vidéo d’accompagnement
Certaines options du processus interactif de résolution sont détaillées dans la vidéo d’accompagnement
(voir ici http://vimeo.com/80211470). En particulier, dans les situations où l’utilisateur déplace
volontairement une partie d’une zone industrielle (pour laquelle une taille de zone critique est spécifiée), le
processus de résolution repositionne automatiquement toutes les formes urbaines industrielles pour reformer
une nouvelle zone industrielle pour la taille critique spécifiée en intercalant des espaces de respiration
entre les usines et les maisons individuelles.
10.8 Conclusion
L’interaction entre composants est au cœur des systèmes complexes et, suivant la formule désormais bien
connue, « le tout qu’ils forment représente plus que l’addition des parties ». Notre système d’aide à la
décision n’échappe pas à cette formule et s’enrichit de l’interaction entre une IHM « taillée sur mesure »
et un solveur interactif, qui communiquent entre eux par l’intermédiaire d’un gestionnaire de messages
autonome.
Le système proposé maintient l’utilisateur au cœur du dispositif grâce à des fonctionnalités simples qui
lui permettent de garder un contrôle total sur la solution finale. Il a également à sa disposition une série de
paramétrages qui lui permettent d’adapter les comportements de l’interaction à ses propres besoins. Notre
modèle (voir le chapitre 8) mis au point pour la résolution initiale est réutilisable dans ce contexte avec
un minimum de modification, tout comme l’est le solveur de base utilisé pour la résolution initiale. En
encapsulant le solveur de base dans un solveur interactif, ce dernier peut bénéficier de toute sa puissance
tout en apportant de nouvelles fonctionnalités nécessaires à l’interactivité : le routage des messages, la
détection d’événements, la mémorisation de la solution courante avec des traitements permettant de la
manipuler, l’appel aux traitements d’optimisation, etc. La transformation des manipulations demandées par
l’utilisateur en permutations permet de se conformer au fonctionnement habituel. On retrouve d’une part
les permutations imposées par l’utilisateur sur l’IHM et d’autre part les permutations automatiques issues
des optimisations réalisées par le solveur.
Le gestionnaire de messages asynchrones se révèle pertinent pour actualiser les informations de part
et d’autre tout en conservant une IHM fluide et réactive en toutes circonstances. Pour que les résolutions
puissent se faire à la volée sans trop s’écarter de la solution courante, un cercle d’influence est automatiquement
défini autour des modifications opérées par l’utilisateur et seules les zones correspondantes sont
concernées par le processus d’optimisation. Cette fonctionnalité est prise en charge par le solveur interactif
qui ne rend sélectionnable, sur sa solution courante, que les cellules présentes dans les cercles d’influence.
En réduisant la zone à (ré)optimiser, on réduit les temps de résolution et on améliore la solution courante
sans trop s’en éloigner, la taille du cercle pouvant être modifiée pour ajuster l’éloignement autorisé et les
temps de calcul.11
Expérimentations
Dans ce chapitre, nous cherchons à évaluer différents aspects de nos travaux, à savoir les performances de
nos différents algorithmes de résolution (voir le chapitre 9), la qualité des solutions générées à partir de
notre modèle (voir le chapitre 8) ou encore la pertinence du mode interactif (voir le chapitre 10).
Pour faciliter la phase d’expérimentation, un paramétrage complet du solveur a été mis en place permettant
de tester tel ou tel aspect de son fonctionnement en modifiant un fichier unique contenant les valeurs des
différents paramètres. Parmi ces paramètres, on retrouve les entrées du modèle (avec les matrices d’interaction,
etc.), la déclaration de chaque contrainte, le type de déploiement et des paramètres plus spécifiques
comme la possibilité d’activer ou non la génération d’un tableau de bord complet. Le tableau de bord correspond
à une série de sondes logicielles positionnées au sein du solveur qui, si elles sont activées, mémorisent
au cours de la résolution des informations internes servant à générer des clichés instantanés sur son état
(représentés par des graphiques et vidéos).
Afin d’évaluer l’efficacité de nos différents algorithmes, nous activons ou désactivons par des paramétrages
adaptés certaines fonctionnalités proposées (e.g. version séquentielle ou distribuée, activation du
mode multi-candidat, etc.). Nous comparons ensuite les temps nécessaires à une résolution initiale par rapport
aux fonctionnalités mises en œuvre pour atteindre une qualité de solution qui soit acceptable pour un
problème réel : Marne-La-Vallée1
.
Pour les deux autres aspects, à savoir la qualité des solutions et la pertinence de l’interaction, nous avons
fait appel aux urbanistes impliqués dans le projet de recherche SUSTAINS pour avoir leurs retours. Pour
évaluer la qualité, les expérimentations ont également été menées sur Marne-La-Vallée. Différentes cartes
reprenant un nombre limité de formes urbaines ont été générées à partir de nos résolutions initiales, puis
analysées pour vérifier l’emplacement des formes urbaines par rapport aux différentes zones d’intensité ou
par rapport aux autres formes urbaines. Pour évaluer la pertinence de l’interaction, des démonstrations ont
été menées avec trois urbanistes expérimentés pour recueillir leurs opinions. Une vidéo a également été
mise à leur disposition pour représenter le fonctionnement général du mode interactif (cf. section 10.7).
11.1 Méthodologie
Dans la suite de ce chapitre, on parlera de version pour spécifier une exécution de la résolution initiale sur
un seul processus (version mono-processus, voir section 9.3) ou distribuée sur plusieurs processus (version
distribuée, voir section 9.4). On parlera de mode de fonctionnement pour indiquer si on supporte ou non
1Une ville nouvelle située à l’est de Paris, pour laquelle les urbanistes du projet SUSTAINS disposent de toutes les données
utiles.
193194 CHAPITRE 11. EXPÉRIMENTATIONS
de multiples candidats (mode multi-candidat, voir section 9.3.3) et si on supporte ou non de multiples
permutations (mode multi-permutation, voir section 9.3.4). On réservera le terme protocole pour savoir de
quelle manière on exploite la version distribuée (protocoles 1 à 4, voir la section 9.4.3).
11.1.1 Versions incrémentales de nos prototypes
Le premier prototype de notre solveur (résolution initiale) a été développé en Java avec CHOCO [147]
pour évaluer une méthode complète [222] de programmation par contraintes [16, 97, 9, 233]. Ce premier
prototype ne donnant pas des résultats satisfaisants pour une version limitée de notre problème (voir la
section 9.1 pour plus de détails), nous avons réalisé un second prototype en Java pour la même version du
problème afin d’évaluer les métaheuristiques de voisinage [111] (cf. section 5.6.2), notamment les méthodes
de descente (cf. section 5.6.4).
Compte tenu des résultats encourageants obtenus avec ce dernier prototype, la preuve du concept étant
faite, nous nous sommes orientés vers une version opérationnelle, pour notre problème complet, réalisée en
C++ et basée sur le framework EasyLocal++ [74] (voir le paragraphe 5.8.2). EasyLocal++ a été retenu
pour la puissance de son langage d’implémentation orienté objet, sa modularité et le fait qu’il soit dédié aux
techniques de recherche locale, ce qui lui confère une grande cohérence et une facilité de prise en main.
Dans la suite, nous considérons uniquement cette version opérationnelle.
11.1.2 Jeux de données
Nos jeux de données peuvent être exprimés sous la forme d’une représentation simplifiée, c’est à dire une représentation
de la ville qui ne détermine qu’une partie des propriétés du problème (voir la section 11.1.2.1).
Afin de réaliser nos expérimentations, nous avons exploité différents jeux de données pour représenter
les villes :
• neuf représentations simplifiées avec des tailles de grille différentes (voir la table 11.1) ;
• trois représentations complètes avec des tailles différentes : petite, moyenne, grande ;
• une représentation complète correspondant à la ville de Marne-La-Vallée (issue de données réelles
liées à cette zone urbaine, fournies par les urbanistes du projet SUSTAINS).
TABLE 11.1 – Neuf jeux de données proposés avec une représentation simplifiée de la ville pour participer à
nos expérimentations. Pour chaque taille de grille, nous mettons en correspondance le nombre de variables
du problème (i.e. nombre de cellules libres).
Grille Nombre de variables
8 × 8 64
16 × 16 256
24 × 24 576
32 × 32 1 024
40 × 40 1 600
48 × 48 2 304
56 × 56 3 136
64 × 64 4 096
128 × 128 16 384
11.1.2.1 Représentation simplifiée
Ce type de représentation ne détermine qu’une partie des propriétés du problème :11.1. MÉTHODOLOGIE 195
Listing 11.1 – Exemple de représentation simplifiée d’une ville constituée de 16 × 16 cellules, mémorisée
au format XML.
1 xml v e r s i o n =" 1 . 0 " e n c o di n g =" ut f −8" ?>
2 < M ai n C o n fi g u r ati o n >
3 < I n i t >
4 . . .
5 < G ri d SizeX=" 16 " SizeY=" 16 " / >
6
7 < I n t e n s i t i e s B y B l o c k V al u e s ="
8 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
9 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2
10 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2
11 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2
12 1 1 1 2 2 2 3 3 3 2 2 2 2 2 2 2
13 1 1 1 2 2 3 3 3 3 3 3 2 2 2 2 2
14 1 1 1 2 2 3 3 3 3 3 3 3 2 2 2 2
15 1 1 1 2 3 3 3 3 3 3 3 3 3 2 2 2
16 1 1 1 2 3 3 3 3 3 3 3 3 3 2 2 2
17 1 1 1 2 3 3 3 3 3 3 3 3 3 2 2 2
18 1 1 1 2 2 3 3 3 3 3 3 3 2 2 2 2
19 1 1 1 1 2 2 3 3 3 3 3 2 2 2 2 2
20 1 1 1 1 1 2 2 3 3 3 2 2 2 2 2 2
21 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
22 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
23 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 " / >
24
25
26
27 < A l l o c a t i o n I n t e n s i t y =" 1 " Numbe rO fBlocks=" 38 " / >
28 < / UrbanForm>
29 . . .
30
31 < A l l o c a t i o n I n t e n s i t y =" 1 " Numbe rO fBlocks=" 5 " / >
32 < A l l o c a t i o n I n t e n s i t y =" 2 " Numbe rO fBlocks=" 8 " / >
33 < A l l o c a t i o n I n t e n s i t y =" 3 " Numbe rO fBlocks=" 5 " / >
34 < / UrbanForm>
35 < / U rbanFo rms>
36 . . .
37 < / I n i t >
38 < / M ai n C o n fi g u r ati o n >
• la taille de la grille (16 × 16) (balise « Grid ») ;
• l’intensité de chaque cellule (balise « IntensitiesByBlock ») ;
• le nombre de chaque catégorie de forme urbaine à ventiler sur la ville, par niveau d’intensité (balise
« UrbanForms »).
Avec ces représentations, il n’y a pas de centralité et toutes les cellules font partie d’une ville carrée ou
rectangulaire. Les représentations simplifiées peuvent être construites manuellement. Par exemple, le listing
11.1 fournit une représentation simplifiée pour une grille 16 × 16.
11.1.2.2 Représentation complète
Les représentations complètes incorporent toutes les données du problème, y compris des informations
nécessaires aux applications des différents partenaires impliqués dans le projet SUSTAINS. On y retrouve
des éléments généraux de paramétrage (formes urbaines, axes routiers principaux, . . . ) et une information
détaillée pour chaque cellule :196 CHAPITRE 11. EXPÉRIMENTATIONS
• coordonnées spatiales ;
• indicateur (o/n) pour savoir si la cellule est présente ou non dans la ville ;
• indicateur (o/n) pour savoir si la cellule correspond ou non à une centralité ;
• indicateur (o/n) pour savoir si la cellule est constructible ;
• forme urbaine fixe liée à la cellule (route, rivière, . . . ) ;
• élévation de la cellule ;
• etc.
Les représentations complètes sont générées automatiquement par les logiciels du LIMSI2
, un partenaire
du projet SUSTAINS en charge d’identifier les propriétés d’une ville (contours, zones d’intensité, avenues
principales, etc.). La masse des informations présentes dans cette représentation est telle qu’une construction
manuelle de ce fichier n’est pas envisageable. Notre solveur3
récupère en entrée les éléments qui lui
sont utiles et incorpore le résultat de ses optimisations dans une copie du fichier avant de la transmettre aux
partenaires, notre objectif étant de renseigner une forme urbaine pour chaque cellule libre.
11.1.3 Paramètres de configuration
Le comportement du solveur dépend de nombreux paramètres que nous avons choisi de structurer et de
regrouper dans un fichier de configuration4
(au format XML). Plusieurs fichiers avec des paramètres particuliers
ont été créés pour définir des configurations différentes, ce qui permet de choisir un fichier de
configuration spécifique au lancement du solveur pour qu’il utilise des paramètres particuliers.
11.1.3.1 Indépendance des paramètres par rapport au problème à résoudre
Pour que les paramètres de configuration soient indépendants du problème à résoudre, deux approches
complémentaires ont été mises en place :
• certains paramètres sont exprimés en pourcentage pour les rendre dynamiques (e.g. taille initiale de
la liste des candidats bannis) ;
• la description du problème à résoudre (sous une forme simplifiée ou complète) dépend d’un fichier
XML indépendant du fichier de configuration.
L’utilisateur doit donc préciser deux éléments au lancement d’une résolution :
• l’emplacement et le nom du fichier qui contient les paramètres de configuration ;
• l’emplacement et le nom du fichier qui contient la représentation du problème.
11.1.3.2 Tirage de nombres aléatoires
Un paramètre de configuration particulier concerne le tirage de nombres aléatoires. Il s’agit du paramètre
« SeedValue » qui prend une valeur entière positive ou nulle. Si SeedV alue = 0, une même séquence
de tirages aléatoires donnera des résultats différents. Dans le cas contraire, pour une valeur donnée de
SeedV alue, une même séquence de tirages aléatoires donnera les mêmes résultats (i.e. une série de nombres
aléatoires identiques). Par exemple, ce paramètre permet de générer (ou non) des solutions aléatoires suivant
une même séquence de tirages aléatoires : ceci est essentiel lorsque l’on veut comparer des résultats en
partant d’une solution de départ identique.
En effet, les données indiquées dans nos expérimentations correspondent à une moyenne de 10 exécutions,
chaque exécution étant réalisée avec une valeur différente pour SeedV alue que l’on notera
{seed1, seed2, . . . , seed10}. De cette façon, chaque exécution démarre avec une solution initiale aléatoire
2Le Laboratoire d’Informatique pour la Mécanique et les Sciences de l’Ingénieur (LIMSI) http://www.limsi.fr/
index.fr.html.
3Lorsqu’aucune précision n’est donnée, cela concerne indifféremment le solveur de résolution initiale et le solveur interactif.
4
Il s’agit ici d’un fichier de paramétrage, à ne pas confondre avec une configuration dans le sens solution à un problème.11.1. MÉTHODOLOGIE 197
FIGURE 11.1 – Résumé des mesures sur l’application développée. Généré par l’outil SourceMonitor
(http://www.campwoodsw.com/sourcemonitor.html). Le nombre de lignes indiqué écarte les
lignes vides (*).
différente. Lorsque l’on veut comparer plusieurs versions (mono-processus ou distribué) ou modes de fonctionnement
(multi-candidats, multi-permutation) différents, chaque série d’exécutions reprend la même sé-
quence de valeurs pour SeedV alue, correspondant à la même séquence de solutions de départ.
11.1.4 Implémentation et déploiement
11.1.4.1 Implémentation
L’application a été développée en C++ et s’appuie sur le framework EasyLocal++ [74]. La communication
entre les processus distants se fait par échanges de messages en utilisant le middleware orienté message
Apache ActiveMQ (http://activemq.apache.org/) en lien avec la librairie ActiveMQ-CPP
(http://activemq.apache.org/cms/using-activemq-cpp.html).
Cette communication distante intervient à deux niveaux :
• en version distribuée : pour gérer les communications entre le processus maître et ses esclaves ;
• en mode interactif : pour gérer les communications entre le dispositif tactile et le solveur interactif.
La figure 11.1 fournit un résumé de l’application sur la base de métriques standards. Il s’agit d’un dé-
veloppement conséquent qui définit un peu plus de 200 classes C++ pour 30 000 lignes de code. Cette application
fonctionne sur les systèmes d’exploitation Windows et Linux. Nous utilisons le service InriaForge
pour faciliter le travail collaboratif, notamment Apache Subversion (https://subversion.apache.
org/) comme gestionnaire centralisé de versions pour le code source de l’application. Il s’agit en effet
d’un travail d’équipe réparti entre les sites de Nantes et de Rennes, avec une partie des développements
confiée à un ingénieur de l’Université Rennes 1 qui a pris en charge :
• le support complet des données XML ;198 CHAPITRE 11. EXPÉRIMENTATIONS
• les développements PHP5 pour gérer les échanges via HTTP avec les applications des partenaires,
notre moteur de résolution initiale étant exposé comme un service accessible via le Web ;
• la construction des principales IHM de rendu (en dehors des parties liées au mode interactif, cf.
chapitre 10).
11.1.4.2 Déploiement
Nous avons opéré trois types de déploiement différents et complémentaires sur des machines Linux.
Station de travail Dans un premier temps, les différentes versions sont déployées pour être testées sur ma
station de travail portable équipée de 3,8 Gio de mémoire et d’un processeur multi-cœurs Intel® CoreTM i7-
2630QM CPU @ 2.00GHz x 8. Le système d’exploitation correspond à la version Ubuntu 12.04 (precise)
64 bits.
Serveur de l’INRIA à Rennes Une version stable du solveur est déployée sur un serveur de l’INRIA
à Rennes pour assurer un service permanent de résolution initiale ouvert aux partenaires du projet SUSTAINS.
La communication se fait par échange, via HTTP6
, du fichier qui décrit la ville d’étude (voir la
section 11.1.2.2 qui décrit la représentation complète).
Grid’5000 Concernant la version distribuée, elle est déployée sur la plate-forme française Grid’50007
,
une grille de calcul expérimentale dédiée à la recherche pour réaliser des calculs distribués à grande échelle.
11.2 Tableau de bord
Nous avons instrumentalisé le code source de nos applications pour pouvoir analyser après coup le fonctionnement
interne de notre solveur et le comportement des différentes contraintes. Les analyses fournies
par le tableau de bord correspondent à des graphiques et à une vidéo, générés à la suite d’une résolution
initiale. Ces analyses ont permis d’adapter notre modèle lorsque cela était nécessaire (e.g. problème de performance
avec la contrainte globale de regroupement sur des instances de taille importante : grille 64x64).
Elles peuvent également être utilisées pour améliorer les performances du solveur ou procéder aux réglages
des nombreux paramètres de lancement utilisés lors des expérimentations.
Les graphiques repris dans cette section ont pour la grande majorité été réalisés à partir d’une résolution
initiale lancée le 7 février 2013 à 16h10 en utilisant une représentation incomplète basée sur notre grille
32 × 32. Il s’agit de données de tests qui ne correspondent pas nécessairement à la réalité, et qui peuvent
être en décalage avec la dernière version de notre modèle (voir la section 8.3.1). Cette résolution était liée
au paramétrage suivant des contraintes :
• Interaction entre formes urbaines : poids = 1 ;
• Accessibilité en tout point : poids = 100 ;
• Éloignement : poids = 15 ;
• Espace ou équipement tampon : poids = 20 ;
• Emprise (place) : poids = 15 ;
• Taille mini zone activité artisanale : taille minimum d’un groupe = 6 et poids = 1 ;
• Taille mini zone activité industrielle : taille minimum d’un groupe = 12 et poids = 1.
5Hypertext Preprocessor : langage de programmation principalement utilisé pour produire des pages Web dynamiques
(http://php.net/).
6Hypertext Transfer Protocol en anglais ou protocole de transfert hypertexte.
7Remerciements : plusieurs expériences présentées dans cette thèse ont été réalisées en utilisant la plateforme expérimentale
Grid’5000, issue de l’Action de Développement Technologique (ADT) Aladdin pour l’INRIA, avec le support du CNRS, de
RENATER, de plusieurs Universités et autres contributeurs (voir https://www.grid5000.fr)11.2. TABLEAU DE BORD 199
Listing 11.2 – Paramètres de configuration : exemple de paramétrage des sondes logicielles intégrées au
solveur. La totalité des sondes peut être désactivée (OverallActivation). L’activation/désactivation peut également
intervenir au niveau de chaque sonde (isActivated).
1 < O b s e r v e r s O v e r a l l A c t i v a t i o n =" f a l s e ">
2 < O b s e r v e r I d =" Be stM o veO b se r ve r " D e s c r i p t i o n =" M e i l l e u r s c o r e t r o u v e ( a c ha q ue i t e r a t i o n ) "
3 I s A c t i v a t e d =" t r u e " / >
4 < O b s e r v e r I d =" D e l t a C o s t O b s e r v e r " D e s c r i p t i o n ="Temps moyen p a r c y c l e ( i t e r a t i o n ) "
5 I s A c t i v a t e d =" t r u e " NbEventByCycle=" 20000 " N umE v e nt St a rt =" 0 " NumEventStop=" 0 " / >
6 < O b s e r v e r I d =" MakeMoveGUIObserver " D e s c r i p t i o n =" P e r m u t a t i o n a p p l i q u e e " I s A c t i v a t e d =" t r u e " / >
7 < O b s e r v e r I d =" R u n n e r O b s e r v e r St a rt E n d " D e s c r i p t i o n =" Du ree / c o ut au d e b ut / f i n de r e s o l u t i o n "
8 I s A c t i v a t e d =" t r u e " / >
9 < O b s e r v e r I d =" R u n ne rO b se r ve rNewBe st " D e s c r i p t i o n =" Du ree / d e l t a C o s t g l o b a l e t p a r c o n t r a i n t e "
10 I s A c t i v a t e d =" t r u e " / >
11 < O b s e r v e r I d =" S c o r e L a n d s c a p e O b s e r v e r " D e s c r i p t i o n =" P a y s a g e d e s d e l t a C o s t s p a r c e l l u l e "
12 I s A c t i v a t e d =" t r u e " / >
13 < / O b s e r v e r s >
D’autre part, il y avait 1 024 formes urbaines à répartir sur le territoire, ce nombre étant ventilé de la façon
suivante (ventilation fournie ici sans reprendre le détail par niveau d’intensité) :
• 152 maisons individuelles ;
• 120 maisons de ville ;
• 88 habitats intermédiaires ;
• 48 habitats collectifs R+4 ;
• 40 habitats collectifs R+7 ;
• 80 bâtiments tertiaires R+4 ;
• 40 bâtiments tertiaires R+7 ;
• 140 activités artisanales ;
• 80 activités industrielles ;
• 32 centres commerciaux ;
• 16 écoles maternelles ;
• 20 écoles primaires ;
• 20 collèges ;
• 12 lycées ;
• 12 équipements administratifs ;
• 12 équipements techniques ;
• 20 espaces sportifs de quartier ;
• 20 espaces sportifs inter quartier ;
• 72 espaces de respiration.
11.2.1 Mode opératoire
La génération des éléments du tableau de bord est prise en charge par des sondes logicielles positionnées
au cœur du solveur (voir un exemple de paramétrage avec le listing 11.2). Lorsqu’elles sont activées, elles
génèrent automatiquement des fichiers de trace pendant la phase de résolution. A la fin du processus de ré-
solution, des scripts sont disponibles pour générer les différents graphiques ainsi qu’une vidéo d’évolution
des paysages (voir la section 11.2.5). Pour retrouver les valeurs des principaux paramètres de configuration
utilisés lors de l’expérimentation, un fichier est généré afin d’en garder une trace. Tous les résultats
sont stockés dans un répertoire dont le nom est dynamique, en tenant compte de la date et de l’heure de
lancement.200 CHAPITRE 11. EXPÉRIMENTATIONS
11.2.2 Variation des coûts
Chaque permutation (i.e. échange des valeurs entre deux cellules de la grille, voir la section 8.3.1) appliquée
sur une configuration impacte son coût global en plus ou en moins. Cette différence correspond à la variation
de coût relative à chaque permutation appliquée sur une configuration courante (i.e. à chaque itération de
notre algorithme de résolution). Nous verrons dans les sections suivantes qu’une variation de coût peut
également être calculée pour une permutation sans qu’elle soit appliquée sur la configuration courante.
Dans ce cas, on parlera d’une variation de coût potentielle.
Les graphiques de variation des coûts que nous proposons se présentent sous deux formes :
• une partie récapitulative mettant en parallèle les différentes contraintes sur le même graphique (voir
la figure 11.2).
• une partie détaillée avec un graphique différent par contrainte (voir la figure 11.3) ;
A chaque itération, le système indique la variation du coût enregistrée pour chaque contrainte. La plupart
du temps, la variation est négative, ce qui contribue à la réduction du coût global sur la configuration
courante (nota : les variations apparaissent inversées sur nos graphiques). Il arrive néanmoins que la variation
soit positive sur une ou plusieurs contraintes. Ceci traduit une situation de conflit entre les différentes
contraintes où le gain obtenu pour l’une se fait au détriment des autres, le solde permettant tout de même
de réduire le coût global.
A la lecture des exemples proposés (voir la figure 11.2 ou 11.3), on voit une très forte activité tout
au long du processus de résolution pour les contraintes d’interaction (voir la section 8.3.2.3), d’éloignement
(voir section 8.3.3.1) et d’espace ou équipement tampon (voir section 8.3.3.4). Ceci paraît normal
pour la contrainte d’interaction qui est une contrainte générale qui s’applique à l’ensemble des cellules
(voir la section 8.3.2). Les deux autres contraintes (éloignement et espace ou équipement tampon) sont des
contraintes spécifiques (voir la section 8.3.3), néanmoins elles s’appliquent à beaucoup de formes urbaines
et tout comme la contrainte d’interaction, elles concernent le voisinage d’un nombre important de cellules.
La contrainte d’éloignement est néanmoins plus active au début de la résolution que la contrainte d’espace
ou équipement tampon qui présente une plus forte activité au milieu de la résolution. On peut en déduire
qu’une fois les formes urbaines suffisamment éloignées les unes des autres, elles rentrent moins en conflit
avec la contrainte d’éloignement. En fait, ces trois contraintes sont étroitement liées les unes aux autres, la
modification de l’une ayant des incidences directes sur les deux autres.
La contrainte d’accessibilité (dans sa version locale, voir la section 8.3.3.3) travaille beaucoup au tout
début de la résolution, ceci étant provoqué par son poids, le plus important parmi l’ensemble des contraintes,
qui la rend prioritaire sur les autres. Et une fois que les espaces de respiration sont bien répartis sur le
territoire, cette contrainte n’est que très rarement impactée.
Les deux contraintes de taille minimum qui s’appliquent aux zones d’activité artisanale et industrielle
présentent une activité différente l’une par rapport à l’autre. Il s’agit pourtant de la même contrainte appliquée
à deux formes urbaines distinctes ! Ceci peut s’expliquer, d’une part, par des paramètres de regroupement
différents, le nombre de formes industrielles à regrouper (nombre minimum pour former un groupe)
étant plus important que celui des activités artisanales. Une fois le regroupement des industries réalisé, il
est donc plus difficile à remettre en question. D’autre part, les relations entre les activités artisanales et les
autres formes urbaines sont plus souples (moins contraignantes) que celles liées aux industries, ce qui fait
que les industries sont plus vite isolées du reste, et moins impactées au fil de la résolution.
La contrainte d’emprise (formation des places, voir la section 8.3.3.5) est la contrainte qui est de loin
la moins active. Malgré son activité très faible, les variations de coût qu’elle présente sont globalement
importantes à chaque fois qu’elle est impactée. Cette contrainte intervient uniquement autour des collèges
et lycées, elle est donc limitée en nombre de cellules. Ceci explique probablement pourquoi elle est rarement
impactée.11.2. TABLEAU DE BORD 201
FIGURE 11.2 – Récapitulatif des variations de coût par itération pour chaque contrainte. Les variations de
coût qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte qu’une variation
négative apparaît au dessus de l’axe des abscisses, l’axe des abscisses représentant l’évolution du nombre
des itérations au cours d’une résolution.202 CHAPITRE 11. EXPÉRIMENTATIONS
FIGURE 11.3 – Détail des variations de coût par itération pour chaque contrainte. Les variations de coût
qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte qu’une variation négative
apparaît au dessus de l’axe des abscisses, l’axe des abscisses représentant l’évolution du nombre des
itérations au cours d’une résolution.11.2. TABLEAU DE BORD 203
11.2.3 Répartition des coûts par contrainte
Le graphique de répartition des coûts par contrainte permet de visualiser au fil des itérations la réduction des
coûts de chaque contrainte et la proportion qu’occupe chaque contrainte dans le coût global de la configuration
courante (répartie dans le temps). Par rapport à l’exemple de la figure 11.4, les coûts les plus importants
au début de la résolution sont répartis entre les deux contraintes Éloignement et Espace ou équipement tampon.
Ce sont également ces deux contraintes qui voient leurs coûts respectifs diminuer le plus par rapport
aux autres contraintes, ces diminutions étant les plus importantes au milieu de la résolution. Concernant la
contrainte Accessibilité en tout point, elle subit une diminution importante au tout début du processus de ré-
solution. La même remarque peut être faite pour la contrainte Interaction entre formes urbaines qui diminue
toutefois moins fortement et met plus de temps à se stabiliser, son coût restant globalement constant à partir
de l’itération 150. Les coûts des autres contraintes (Emprise, Taille minimum zone d’activité artisanale et
industrielle) restent très faibles tout au long de la résolution. Ceci peut s’expliquer par un nombre limité
de formes urbaines concernées par ces contraintes. Pour leur donner plus d’expressivité, on pourrait fixer
des poids supérieurs aux contraintes de regroupement (taille minimum), ce qui permettrait de rééquilibrer
la proportion des coûts entre l’ensemble des contraintes (voir la section 8.3.1).
FIGURE 11.4 – Répartition des coûts par contrainte : à chaque itération (en abscisse), on superpose le coût
total de chaque contrainte (en ordonnée). On reconstitue ainsi le coût global de la configuration courante
qui diminue au fil de la résolution. La représentation correspond à un histogramme très resserré, on ne peut
donc pas distinguer les barres qui sont réduites à des lignes verticales dont les couleurs correspondent aux
rectangles de la légende : la première forme urbaine indiquée dans la légende correspond à la forme urbaine
positionnée en bas du diagramme, etc.
11.2.4 Répartition des temps de calcul par contrainte
On s’intéresse ici à la performance des fonctions qui calculent, pour chaque contrainte, la variation du coût
occasionnée par les permutations potentielles ou par les permutations effectivement appliquées. Le nombre
d’évaluations étant très important (pour les variations de coût potentielles, voir le paragraphe 7.5.2.2), on204 CHAPITRE 11. EXPÉRIMENTATIONS
calcule une moyenne des temps de calcul pour un nombre d’appels donné. Par exemple, tous les 20 000
appels à ces fonctions, on enregistre le temps moyen requis pour chaque contrainte et on recommence pour
les 20 000 appels suivants, etc. Les temps sont exprimés en millisecondes avec une représentation cumulée
pour chaque contrainte. Sur la figure 11.5, on démarre la résolution avec un temps moyen cumulé de 0,11 ms
et on la termine avec un temps moyen cumulé à 0,18 ms. L’analyse de ce graphique permet d’expliquer cette
augmentation du temps de calcul moyen. En effet, au fur et à mesure de la résolution, le temps moyen de
calcul pour la contrainte Espace ou équipement tampon diminue très légèrement alors que le temps moyen
de calcul lié aux contraintes de taille minimum augmente plus fortement, avec une augmentation supérieure
pour la contrainte de taille minimum liée aux zones d’activité artisanale. Le nombre de formes urbaines à
répartir pour les activités artisanales est supérieur à celui des activités industrielles (140 contre 80) alors que
la taille minimale pour former une zone d’activité artisanale est inférieure à celle des activités industrielles
(6 contre 12). Ceci est suffisant pour expliquer le surcroît de temps nécessaire afin de gérer les activités
artisanales : plus de formes urbaines et plus de groupes (plus petits) à gérer.
FIGURE 11.5 – Répartition des temps de calcul par contrainte.
11.2.5 Paysage des gains lié à chaque candidat sélectionné
Les gains correspondent uniquement aux variations de coût négatives liées aux permutations évaluées (en
inversant les signes). A chaque itération du processus de résolution initiale, le solveur détermine un candidat
qui sera à l’origine d’une permutation gagnante. Ce graphique représente la répartition spatiale des gains11.2. TABLEAU DE BORD 205
pouvant être obtenus (voir la figure 11.6) en impliquant chaque cellule de la grille à la permutation gagnante
(i.e. avec le candidat retenu). La cellule la plus sombre correspond à celle qui offre le gain le plus important.
Un graphique différent est généré à chaque itération. La figure 11.7 reprend les premières itérations
une à une tandis que la figure 11.8 fait apparaître les premières itérations avec un pas de 10 en 10. Sur les
exemples, les représentations du début font apparaître plusieurs cellules très foncées, signe que plusieurs
gains importants sont réalisables à partir d’un même candidat. Mais l’aspect foncé disparaît rapidement
laissant entrevoir des gains moins significatifs. D’autre part, la répartition spatiale de ces gains varie et leur
nombre également, ceci pouvant être dû à la forme urbaine associée au candidat, les contraintes spatiales
spécifiques qui s’appliquent n’étant pas les mêmes d’une forme urbaine à une autre (voir la section 8.3.3).
Le nombre de cellules proposant un gain peut être important au début du processus en s’affichant avec
plusieurs nuances de gris. Mais très rapidement, ce nombre se réduit et les cellules offrant un gain deviennent
de plus en plus claires. Il est donc plus difficile de trouver une permutation gagnante au fur et
à mesure de la résolution. Un tirage aléatoire d’une cellule gagnante pourrait être envisagé au début du
processus mais ce choix ne semble pas judicieux pour les étapes suivantes.
A la fin du processus de résolution, une procédure automatique rassemble tous les graphiques générés
dans une vidéo unique pour représenter l’évolution du paysage des gains au fil de la résolution.
FIGURE 11.6 – Paysage des permutations gagnantes avec le candidat retenu pour une itération donnée. Pour
l’itération courante (no 1), un candidat (i.e. cellule non représentée ici) a déjà été identifié pour participer
à une permutation gagnante. Ce graphique représente la répartition spatiale des gains pouvant être obtenus
en impliquant une à une chaque cellule de la grille à la permutation gagnante (i.e. avec le candidat retenu) :
plus le gain potentiel est important, plus la cellule est sombre.206 CHAPITRE 11. EXPÉRIMENTATIONS
FIGURE 11.7 – Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la
résolution (i.e. à chaque itération), limitée aux 12 premières itérations. Chaque graphique correspond à une
itération. A chaque itération, un candidat est identifié pour participer à une permutation gagnante. Chaque
graphique correspond au paysage des permutations gagnantes avec le candidat retenu pour l’itération indiquée.11.2.
TABLEAU DE BORD 207
FIGURE 11.8 – Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la
résolution (toutes les 10 itérations). Chaque graphique correspond à une itération. A chaque itération, un
candidat est identifié pour participer à une permutation gagnante. Chaque graphique correspond au paysage
des permutations gagnantes avec le candidat retenu pour l’itération indiquée.
11.2.6 Comparaison des performances entre différentes versions de l’algorithme
de résolution
Comme indiqué dans la section sur le paysage des gains (voir section 11.2.5), un gain correspond à une
variation de coût négative liée à une permutation gagnante (en inversant son signe). On parlera également
ici de durée cumulée : il s’agit du temps mis par le processus de résolution pour atteindre une itération208 CHAPITRE 11. EXPÉRIMENTATIONS
donnée. Par exemple, la première itération est atteinte avec une durée cumulée = 0, la centième itération
correspond à une durée cumulée de 50 s, etc. Cette durée cumulée dépend bien évidemment de l’algorithme
employé pour résoudre un problème.
Sur un même graphique, nous comparons les performances de trois versions de l’algorithme de résolution
pour une même instance de problème en représentant à chaque itération :
• les gains obtenus sur le coût global de la configuration courante ;
• la durée cumulée utilisée par le processus de résolution depuis son démarrage.
En faisant apparaître ces résultats pour chaque version, on peut facilement comparer l’évolution des
gains au cours des processus de résolution et le temps global nécessaire à chaque version.
FIGURE 11.9 – Comparaison des temps et des gains obtenus à chaque itération entre différentes versions de
l’algorithme de résolution. L’instance correspond à une représentation simplifiée pour une grille 32x32. Les
temps sont exprimés en secondes. Les échelles de temps et de gains sont identiques d’une figure à l’autre.
L’axe des abscisses correspond à l’évolution du nombre des itérations au cours d’une résolution.
L’exemple proposé en figure 11.9 remonte au 14 mars 2013 et nous le reprenons ici pour illustrer cette
représentation (type de graphique) qui fait partie du tableau de bord, pas pour comparer précisément les
performances des différentes versions qui ont évolué depuis et que nous décrivons rapidement ci-dessous
sans rentrer dans les détails. La version standard recherche à chaque itération la meilleure permutation à
appliquer sur la configuration courante en évaluant toutes les combinaisons possibles. Il s’agit de la version
de référence correspondant à une méthode de plus forte descente (voir la section 5.6.4). La version candidat11.3. EXPÉRIMENTATIONS LIÉES À LA RÉSOLUTION INITIALE 209
recherche la meilleure permutation à chaque itération en évaluant les permutations possibles uniquement à
partir d’un meilleur candidat identifié (conforme à la méthode Adaptive Search, cf. section 5.6.9). La version
distribuée correspond au protocole no 4 (cf. section 9.4.3.3), avec un découpage de la grille en 4 partitions
confiées à 10 processus esclaves. Chaque processus esclave recherche 24 permutations au maximum à partir
d’un seul candidat. Le processus maître collecte alors l’ensemble des permutions provenant des différents
esclaves et applique en série les meilleures permutations collectées encore capables de produire un gain.
L’exemple de la figure 11.9 montre une version standard capable de trouver les meilleurs gains à chaque
itération mais dont le temps de résolution s’envole. Les deux autres versions (candidat et distribuée) né-
cessitent plus d’itérations, mais elles s’exécutent beaucoup plus rapidement. Ceci est lié au fait qu’elles
travaillent avec un nombre limité de candidats (voir la section 9.3), ce qui réduit très fortement le nombre
de permutations à évaluer à chaque itération. En contrepartie, il n’est pas sûr que la permutation retenue
pour une itération soit la meilleure. Toutefois, ce schéma indique que les candidats identifiés lors d’une
résolution sont pertinents pour générer des gains. Certes, les variations dans les gains trouvés sont importantes
pour la version candidat, mais on atteint tout de même des niveaux de gain comparables à la version
standard.
La version distribuée fait apparaître une variation des gains plus importante encore que le version candidat,
ceci étant lié à son mode de fonctionnement qui permet d’appliquer plusieurs permutations en série
(voir la section 9.3.4), certaines permutations retenues pouvant subir une dégradation importante par rapport
aux gains prévus. Mais en compensation, son fonctionnement permet de trouver un nombre supérieur
de permutations.
11.3 Expérimentations liées à la résolution initiale
11.3.1 Comparaison entre les principales versions et modes de fonctionnement
Nous comparons dans la figure 11.10 les temps de calcul pour une résolution initiale lancée dans différentes
conditions :
• version mono-processus ou distribuée (uniquement avec le protocole no 4, voir la section 9.4.3.3) ;
• mode multi-candidat activé ou non ;
• mode multi-permutation activé ou non ;
• nombre de processus esclaves (slaves) plus ou moins important.
Les tests sont réalisés sur la ville de Marne-La-Vallée qui contient 9038 cellules libres (i.e. variables).
Les résolutions s’arrêtent lorsqu’elles atteignent une qualité de solution acceptable ou dès qu’un timeout
spécifié est atteint. Nous définissons une solution acceptable comme une solution ayant un coût inférieur ou
égal à celui de la meilleure solution trouvée pendant la résolution distribuée mettant en œuvre 36 processus
esclaves (i.e. 1 260 717).
Les résultats indiqués pour les cinq expérimentations correspondent à une moyenne de 10 exécutions,
chaque exécution partant d’une instance aléatoire différente. Entre chaque expérimentation, on utilise néanmoins
les mêmes instances aléatoires de départ pour que les comparaisons soient cohérentes (cf. section
11.1.3.2).
Lors de ces expérimentations, nous utilisons les serveurs granduc situés au Luxembourg, avec 22 nœuds,
chacun ayant 2 CPU Intel à 2.0 GHz, 4 cores/CPU et 15 GB RAM.
Concernant la contrainte d’accessibilité (voir la section 8.3.3.3), nous avons activé la version locale
qui offre de bien meilleurs temps de calcul compte tenu de la taille réelle de nos instances (e.g. permet de
réduire le temps de recherche d’une itération de 4 minutes à quelques millisecondes sur une grille 64x64).
Les résultats montrent que la version séquentielle (mono-processus) est légèrement améliorée en activant
le mode multi-permutation. Mais les meilleures améliorations proviennent de la version distribuée,
qui tire le maximum d’avantages des modes multi-candidat et multi-permutation. Finalement, en considé-
rant le score cible de 1 260 717, on constate un accélération ×11.51 entre la version mono-processus de210 CHAPITRE 11. EXPÉRIMENTATIONS
FIGURE 11.10 – Tests des performances pour différentes versions (mono-processus, distribuée) et différents
modes de fonctionnement (multi-candidat et multi-permutation). Comparaison des temps de résolution (en
faisant une moyenne sur 10 exécutions par méthode) pour obtenir une solution initiale dont la qualité est
imposée sur l’instance de Marne-La-Vallée. La version distribuée est évaluée avec le protocole no 4.
base (modes multi-candidat et multi-permutation désactivés) et la version distribuée (36 processus esclaves,
mode multi-candidat activé avec 1 candidat par esclave, mode multi-permutation activé avec 10 permutations
par esclave).
Ces premiers résultats montrent que l’on peut exécuter nos algorithmes d’optimisation sur des villes de
taille réelle en moins d’une heure, ce qui paraît suffisant pour les besoins des urbanistes.
11.3.2 Évaluation des protocoles 1 et 4 de la version distribuée
Pour cette série d’expérimentations sur Grid’5000, nous avons utilisé les serveurs griffon de Nancy équipés
de processeurs Intel Xeon L5420 cadencés à 2,5 Ghz. Chaque nœud dispose de 2 CPU et chaque CPU de 4
cores, ce qui fait 8 cores disponibles par nœud.
Concernant les protocoles 1 et 4 qui ont été évalués ici, le mode multi-candidat est activé avec 1 candidat
par esclave. On récupère 10 permutations sur chaque esclave et pour rejouer une permutation sur le maître,
son gain ne doit pas varier (i.e. diminution par rapport à l’évaluation initiale) de plus de 80%.11.3. EXPÉRIMENTATIONS LIÉES À LA RÉSOLUTION INITIALE 211
FIGURE 11.11 – Recherche du nombre optimal de processus esclaves à mobiliser.
11.3.2.1 Nombre optimal de processus esclaves à mobiliser
Avec la figure 11.11, nous cherchons à déterminer le nombre optimal de processus esclaves à mobiliser sur
le problème de Marne-La-Vallée afin d’obtenir les meilleurs temps de résolution possibles pour atteindre
un coût global cible fixé à 1 350 000. Ce coût global cible a évolué par rapport aux expérimentations de la
figure 11.10 car le paramétrage des contraintes a été modifié entre temps.
Nous avons évalué les performances pour 36, 120, 231 et 465 esclaves sur les deux protocoles. Le
protocole no 4 a également été évalué avec 820 esclaves, en réalisant toujours une moyenne des résultats
sur 10 exécutions. Avec un nombre de processus esclaves identique, le protocole no 4 propose toujours des
temps de résolution inférieurs à ceux du protocole no 1. Pour le protocole no 1, on peut estimer un nombre
optimal de processus compris entre 100 et 200 compte tenu de la granularité de nos tests. Pour le protocole
n
o 4, il semblerait que le nombre optimal soit situé bien au delà, aux alentours de 800 esclaves.
Ces résultats mériteraient d’être approfondis en évaluant les temps de résolution pour un nombre d’esclaves
plus fin sur certaines portions de la courbe (e.g. incrémenter le nombre d’esclaves de 10 en 10 entre
100 et 200 esclaves pour le protocole no 1). Néanmoins, ils apportent la démonstration que le protocole no 4
est plus performant que le protocole no 1 pour un nombre d’esclaves équivalent, et que ce protocole supporte
également une bien meilleure montée en charge : 495 secondes, soit un peu plus de 8 minutes pour résoudre
le problème de Marne-La-Vallée, en mobilisant 820 esclaves.212 CHAPITRE 11. EXPÉRIMENTATIONS
FIGURE 11.12 – Comparaison des temps de résolution entre la version mono-processus et la version distribuée
déployée à grande échelle. Les protocoles 1 et 4 sont des protocoles distribués. Les intitulés « protocol-
[x]-[y]s » identifie le no du protocole (x) et le nombre de processus esclaves mobilisés (y).
11.3.2.2 Comparaison des temps de résolution entre la version mono-processus et la version distribuée
déployée à grande échelle
Finalement, nous comparons avec la figure 11.12 les performances des protocoles 1 et 4 de la version
distribuée avec la version mono-processus pour évaluer les accélérations maximales pouvant être obtenues
en mobilisant un nombre important de processus esclaves.
Concernant la version mono-processus, le mode multi-candidat est désactivé alors que le mode multipermutation
est activé avec 10 permutations. La meilleure accélération par rapport à la version monoprocessus
est obtenue par le protocole distribué no 4 en mobilisant 820 processus esclaves, on mesure alors
une accélération de ×36.45.
11.4 Retour des urbanistes
11.4.1 Évaluation des solutions initiales
Les urbanistes impliqués sur le projet SUSTAINS ont cherché un moyen d’analyser de manière précise la
répartition des formes urbaines sur le territoire de Marne-La-Vallée, ces éléments étant automatiquement11.4. RETOUR DES URBANISTES 213
générés par notre résolution initiale. Pour cela, ils ont sélectionné à partir de nos résultats certaines formes
urbaines qu’ils ont représentées séparément. Ils ont ainsi généré différentes cartes qui permettent de visualiser
la répartition des formes urbaines retenues en fonction de la zone d’intensité. Ces cartes ont été réalisées
pour les formes urbaines suivantes :
• l’habitat collectif R+4 et R+7 (cf. figure 11.13) ;
• les zones d’activités industrielles et artisanales (cf. figure 11.14) ;
• les espaces verts (cf. figure 11.15).
Une dernière carte reprend ensemble différentes formes urbaines positionnées par nos procédures d’optimisation
: les établissements scolaires avec les différentes formes d’habitat, ceci pour évaluer leur localisation
les unes avec les autres (cf. figure 11.16).
A partir de ces différentes représentations, ils ont pu analyser nos résultats au regard de leurs règles
métier.
Nous reprenons telle quelle leur conclusion :
« Ces représentations permettent de vérifier que la forme urbaine ne génère pas d’incohérence majeure,
mais également de considérer les voies possibles d’amélioration de ce module. En ce qui concerne par
exemple les établissements scolaires, on peut ainsi vérifier que les lycées correspondent bien à deux îlots
(une taille minimale est en effet requise afin que toutes les filières puissent y être représentées). De plus, on
observe qu’un collège peut être attenant à un lycée ».
FIGURE 11.13 – Répartition de l’habitat collectif par rapport aux niveaux d’intensité urbaine (intensités :
2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure
extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNELA-VALLEE.
Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO).214
CHAPITRE 11. EXPÉRIMENTATIONS
FIGURE 11.14 – Répartition des zones d’activité par rapport aux niveaux d’intensité urbaine (intensités :
2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure
extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNELA-VALLEE.
Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO).
FIGURE 11.15 – Répartition des espaces verts par rapport aux niveaux d’intensité urbaine, hors espaces
de respiration (intensités 2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une
résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE
TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) &
Valérie GACOGNE (COMPLEXIO).11.4. RETOUR DES URBANISTES 215
FIGURE 11.16 – Visualisation des établissements scolaires et de l’habitat. Formes urbaines positionnées sur
la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 :
EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs :
Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO).
11.4.2 Évaluation du mode interactif
Trois urbanistes expérimentés ont évalué de façon moins formelle les bénéfices du mode interactif au travers
de discussions ouvertes. Au cours des démonstrations avec eux, nous avons passé sous silence la sélection
et le chargement d’un scénario de travail, tellement cette opération parait naturelle. Nous avons donc récupéré
une ville déjà organisée (résultat d’une résolution initiale) pour la modifier manuellement. Si l’on se
réfère à la figure 10.2 qui met en parallèle la ville de Marne-La-Vallée organisée sous une forme aléatoire
(en haut) et sous une forme optimisée (en bas), il parait beaucoup plus facile d’opérer des arrangements
sur la carte optimisée qui est déjà bien structurée par rapport à l’autre totalement désorganisée. De plus,
une ré-optimisation locale est beaucoup plus rapide sur une partie perturbée ayant déjà fait l’objet d’une
optimisation.
Passée cette étape de chargement d’un scénario de travail, les urbanistes ont été très intéressés par la
possibilité de réarranger les éléments urbains sur la ville pendant que la carte se réorganise, en maintenant à
la volée la cohérence des contraintes. Dans la pratique, les manipulations des utilisateurs sont susceptibles
de réduire les coûts sur la contrainte d’interaction par exemple, mais il est commode de ne pas avoir à
traiter manuellement ces contraintes structurelles. Un autre exemple particulièrement expressif concerne la
contrainte de regroupement qui provoque le rassemblement des activités artisanales ou industrielles autour
des éléments d’un groupe fragmenté en cours de déplacement.
La carte de chaleur (voir la section 10.6.1) a été particulièrement appréciée car elle permet de repérer
de façon très intuitive et naturelle les régions de la ville dont les propriétés urbaines sont les plus dégradées.
Son actualisation « en temps réel » permet d’évaluer les impacts en cours de manipulation et guide les
déplacements de l’utilisateur, ce qui constitue une aide efficace lors de ses choix.
Le graphique qui propose un historique d’évolution des coûts (voir la section 10.6.2) apparaît moins
intuitif et a nécessité une explication préalable avant d’être accepté des utilisateurs. La partie à gauche de
l’écran, reprenant le détail des coûts par contrainte pour la configuration courante, pourrait être avantageusement
remplacée par un graphique en forme de camembert plus rapide à interpréter dans ce contexte
interactif.216 CHAPITRE 11. EXPÉRIMENTATIONS
11.5 Conclusion
Ce chapitre commence en expliquant notre méthodologie de travail. A cette occasion, nous sommes revenus
sur les premiers prototypes de notre solveur qui nous ont permis de faire des choix progressifs et éclairés.
Nous avons également présenté nos différents jeux de données et l’organisation mise en place pour gérer
les nombreux paramètres de configuration. Les sections implémentation et déploiement apportent des pré-
cisions sur l’architecture technique mise en œuvre, le volume des développements que nous avons réalisés
en équipe et mes choix de déploiement.
La partie suivante aborde les composantes du tableau de bord proposé pour analyser le fonctionnement
du solveur et le comportement des différentes contraintes. Plusieurs graphiques sont présentés : la variation
des coûts, la répartition des coûts, la répartition des temps de calcul ou encore la vidéo qui séquence le
paysage des gains potentiels liés à chaque candidat sélectionné. Cette partie se termine avec la présentation
d’un graphique capable de comparer la proportion des gains obtenus et des temps cumulés (depuis le début
des résolutions) à chaque itération pour trois versions différentes de nos algorithmes de résolution.
Nous abordons ensuite la partie « expérimentations liées à la résolution initiale ». La première section
compare les performances des principales versions (mono-processus et distribuée) en exploitant des modes
de fonctionnement différents (multi-candidat, multi-permutation). Nous nous focalisons ensuite sur deux
protocoles distribués (1 et 4) afin d’optimiser leur fonctionnement en qualifiant un nombre de processus
esclaves permettant d’obtenir les meilleures performances possibles (en temps de résolution pour un coût
cible sur une instance de taille réelle). Les meilleurs temps ont été atteints grâce à un déploiement sur
820 processus esclaves avec le protocole distribué no 4. Testé sur la ville de Marne-La-Vallée, ce protocole
distribué permet une accélération ×36 par rapport à la version mono-processus exploitée en mode multipermutation
activé (avec un maximum de 10 permutations).
Nous terminons ce chapitre en donnant la parole aux urbanistes qui ont pu évaluer deux aspects importants
de nos travaux : (i) la qualité des solutions générées par une résolution initiale et (ii) la pertinence du
mode interactif. Pour les résolutions initiales proposées, aucune incohérence majeure n’a été relevée. Des
possibilités d’amélioration existent et ouvrent la voie vers des perspectives de recherche complémentaires.
Le mode interactif a également suscité un fort intérêt, notamment pour ses possibilités de réarranger manuellement
des éléments urbains sur une ville désormais capable de s’adapter à la volée aux changements
demandés, en maintenant au mieux la cohérence des contraintes urbaines. La carte de chaleur capable de
représenter les anomalies urbaines par degré d’importance et de façon spatialisée constitue une véritable
aide aux utilisateurs pour opérer des choix en évaluant instantanément leurs impacts.IV
Conclusion
21712
Conclusion générale et perspectives
12.1 Conclusion générale
Nous avons commencé ce manuscrit en présentant les villes et les concepts du développement durable, deux
sujets qui ont des impacts importants sur les conditions de vie des populations urbaines de plus en plus
nombreuses. La conception de villes durables nécessite de prendre des décisions complexes qui engagent
des moyens souvent très importants et dont les effets sont visibles sur le long terme. Un état de l’art du
domaine ainsi qu’une analyse des outils mis à disposition des urbanistes nous ont permis d’étayer nos
propos.
Afin d’aider les urbanistes, aménageurs et décideurs dans le processus de conception de villes durables,
ma première contribution a été de proposer un modèle pour notre problème d’aménagement urbain qui
repose sur des contraintes spatiales, le but étant de répartir un ensemble équilibré de formes urbaines (ré-
sidences, commerces, industries, écoles, parcs, . . . ) sur un territoire vierge et délimité dans l’espace tout
en assurant la satisfaction des contraintes. Pour optimiser les instances de ce problème, nous avons associé
à chaque contrainte spatiale une fonction de coût capable d’évaluer le niveau de violation des différentes
propriétés urbaines qu’elle représente. Une description formelle de chaque contrainte a été proposée.
Ma seconde contribution porte sur la réalisation d’un solveur basé sur une méthode de recherche locale,
Adaptive Search [47, 48], étendu avec des heuristiques novatrices pour améliorer les temps de calcul. Une
version distribuée a également été proposée. Cette version distribuée a été déployée sur une grille de calcul1
pour générer différentes solutions sur Marne-La-Vallée, une ville nouvelle qui s’étend sur 8 728 hectares et
qui regroupe 234 644 habitants.
Les expérimentations menées sur cette ville ont mis en évidence des gains de temps significatifs liés
à la version distribuée de notre solveur. Cette version est capable de fournir de bons résultats dans des
temps raisonnables pour des villes importantes. De leur coté, les urbanistes associés au projet de recherche
SUSTAINS ont vérifié la qualité des différentes solutions générées (en automatique) par notre solveur sans
relever d’incohérence majeure. Ils évoquent des voies possibles pour l’amélioration de notre module.
La seconde étape du processus de résolution est interactive et elle correspond à ma troisième contribution
: le concepteur peut interagir avec les solutions générées tandis que le solveur ré-optimise localement
les zones autour des modifications demandées. Des retours graphiques générés à la volée permettent aux
opérateurs de visualiser les impacts occasionnés par leurs modifications. Une vidéo est disponible (voir ici
http://vimeo.com/80211470) pour illustrer le mode de fonctionnement interactif.
1https://www.grid5000.fr
219220 CHAPITRE 12. CONCLUSION GÉNÉRALE ET PERSPECTIVES
12.2 Perspectives de recherche
Concernant les performances tout d’abord, la version distribuée de notre solveur peut certainement être
optimisée. Pour cela, nous pourrions envisager une organisation maître-esclaves plus sophistiquée avec
des agents intermédiaires permettant de limiter les communications réseau les plus pénalisantes tout en
renforçant une autonomie plus grande localement (i.e. sur chaque nœud du réseau).
Suite aux évaluations des urbanistes, nous savons que le modèle que nous proposons peut être enrichi.
Reste à définir avec les experts du domaine les pistes pour l’étendre ou pour l’adapter à de nouveaux besoins.
En effet, le sujet que nous abordons est vaste et propice à de nouveaux projets de recherche très diversifiés.
Un projet urbain peut être envisagé à différentes échelles (ville, quartier, îlot, parcelle, . . . ), et il traverse
une succession d’étapes (pré-programmation, programmation, construction, . . . ) pouvant être en ruptures
les unes avec les autres. Fédérer cette succession d’étapes en envisageant une continuité entre les différentes
échelles constitue une perspective de recherche intéressante dans laquelle nos travaux pourraient s’intégrer.
Le développement durable repose sur un équilibre entre trois piliers de base représentés par l’économie,
l’écologie et les aspects sociaux. Il pourrait être utile de regrouper les contraintes de notre modèle sur la
base de ces différents piliers pour envisager une résolution multi-objectifs [51]. Cette approche renforcerait
la possibilité d’arbitrer des efforts limités dans un domaine pour procurer des gains significatifs dans les
autres.
Enfin, l’interaction que nous proposons est basée sur une représentation en 2D. Une interaction mettant
en scène des scénarios de villes en 3D pourrait se justifier pour des projets qui s’intéressent plus spécifiquement
à la perception visuelle ou aux ambiances urbaines. Aujourd’hui, rien ne nous empêche d’imaginer
une immersion interactive dans une ville virtuelle animée où l’utilisateur modifierait la ville à son gré et se
déplacerait dans les rues pour la percevoir sous ses différents points de vue et à différentes échelles : une
expérience urbaine numérique pour améliorer la qualité des villes du futur.
Bien que notre modèle soit limité, n’adoptant qu’une vue partielle du problème, appliqué seulement
à des villes nouvelles (ou à des nouveaux quartiers), il présente de premiers éléments de réponse dans
la tâche complexe d’aide à la création de villes plus durables, et ouvre des perspectives encourageantes
quant à la création d’une nouvelle génération d’outils de conception, dans une approche fondamentalement
pluridisciplinaire.Liste des tableaux
5.1 Problème du voyageur de commerce : temps de calcul nécessaire pour trouver le trajet le
plus court en réalisant une énumération exhaustive de tous les trajets possibles en fonction
du nombre de villes (un trajet pouvant être évalué en une microseconde). D’après [24]. . . 56
7.1 Pourcentages d’erreur des meilleures métaheuristiques appliquées au QAP. RobuTS (Recherche
tabou robuste [263]), ReacTS (Recherche tabou réactive [17]), Rec-Sim (Recuit
simulé [54]), Hybrid-Gen (Algorithme génétique [94]), Hybrid-Ant (Méthode de colonies
de fourmis [100]). D’après T. MAUTOR [187]. . . . . . . . . . . . . . . . . . . . . . . . 127
8.1 Paramètres des contraintes de regroupement par forme urbaine. . . . . . . . . . . . . . . 140
9.1 Principales caractéristiques liées au fonctionnement des différents protocoles distribués. . . 162
9.2 Protocole no 4 : exemple de décomposition de la carte d’une ville en quatre parties de taille
uniforme (à gauche) et distribution de ces parties sur dix processus esclaves (à droite). . . . 174
11.1 Neuf jeux de données proposés avec une représentation simplifiée de la ville pour participer
à nos expérimentations. Pour chaque taille de grille, nous mettons en correspondance le
nombre de variables du problème (i.e. nombre de cellules libres). . . . . . . . . . . . . . . 194
221Table des figures
1.1 Organisation de la thèse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1 Comparaison entre planification des villes et urbanisme ; d’après [69]. . . . . . . . . . . . 22
4.1 Échanges entre les modules attribués aux différents acteurs du projet SUSTAINS : ① Surface
à aménager et autres paramètres ② Objectif en nombre d’îlots de chaque type (maisons,
immeubles d’habitation, commerces, écoles, bureaux, . . . ) ③ Adresse du fichier de
configuration ④ Contenu du fichier de configuration dans lequel est assigné à chaque îlot
symbolique une fonction urbaine (maisons, immeubles d’habitation, commerces, écoles,
bureaux, . . . ) ⑤ Données sous la forme d’un fichier KML ⑥ Entrées issues du traitement
relatif au fichier KML ⑦ Volumes annuels de consommation par mode sous la forme d’un
fichier CSV ⑧ Fichier KML dans lequel a été inclus l’ensemble des résultats énergie et
transport ⑨ Fichier 3D de base ⑩ État du traitement du fichier 3D et index du projet.
(Schéma extrait du rapport de fin de projet SUSTAINS.) . . . . . . . . . . . . . . . . . . 46
4.2 Conception d’un environnement urbain durable en 4 étapes : (1) paramétrage des contours
du territoire urbain, des propriétés, des axes principaux, des centralités et des zones d’intensités
; (2) calcul du nombre de formes urbaines par niveau d’intensité ; (3) positionnement
automatique des formes urbaines sur la ville en respectant un équilibre entre les trois piliers
d’un développement durable (économique, social, et environnemental) sans privilégier l’un
au détriment des autres ; (4) manipulation interactive des formes urbaines avec maintien des
contraintes et préférences. Les deux dernières étapes sont au cœur de notre travail de thèse. 47
5.1 Méthodes classiques d’optimisation. D’après le livre [266]. . . . . . . . . . . . . . . . . . 61
5.2 Principe lié aux algorithmes d’approximation. D’après [239]. . . . . . . . . . . . . . . . . 64
5.3 Fonctionnement général d’une méthode de recherche locale : représentation sous la forme
d’une marche à travers l’espace de recherche en partant d’une solution initiale s0 et en se
dirigeant de proche en proche vers une solution optimale localement s
∗
. . . . . . . . . . . 76
5.4 Optimum global et local pour un problème de minimisation. . . . . . . . . . . . . . . . . 77
5.5 Paysage lisse d’après [181]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.6 Paysage rugueux d’après [181]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.7 Paysage d’un problème d’optimisation d’après [181]. . . . . . . . . . . . . . . . . . . . . 79
5.8 Principe de génération du voisinage à partir de la solution courante et sélection d’un voisin
d’après [35]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.9 Classification (I&D) des composants d’une stratégie de recherche proposée par BLUM et
ROLI [30] (OG = composants exclusivement guidés par la fonction objectif ; NOG = composants
I&D uniquement guidés par une ou plusieurs fonctions autres que la fonction objectif
; R = composants guidés de façon totalement aléatoire). Le composant repéré par une
croix ’X’ situé à mi-chemin entre l’intensification et la diversification n’est pas stochastique. 82
223224 TABLE DES FIGURES
5.10 Recherche tabou pour un problème de minimisation : déplacement dans l’espace de recherche
en sélectionnant à chaque itération le meilleur voisin dans un voisinage débarrassé
des solutions récentes marquées tabou (pour éviter les cycles). On alterne ainsi entre des
phases d’intensification et de diversification qui poussent la recherche à se diriger vers un
optimum global. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.11 Modèle parallèle de programmation Master-Slave d’après [58]. . . . . . . . . . . . . . . . 92
5.12 Décomposition de domaine suivant le modèle de programmation Master-Slave d’après [58]. 93
5.13 Modules de la plateforme ParadisEO d’après [146]. . . . . . . . . . . . . . . . . . . . . . 98
6.1 Modèle IDC (Intelligence, Design, Choice) proposé par H.A. SIMON [249]. . . . . . . . . 100
6.2 Correspondance entre l’importante des phases du modèle IDC et la structuration des décisions
proposée par LE MOIGNE [167]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3 Structure d’un SAD proposée par SPRAGUE [255]. . . . . . . . . . . . . . . . . . . . . . 102
6.4 Comparaison des profils de qualité de deux méthodes de résolution M1 et M2 sur une même
instance de problème. Bien que les deux méthodes atteignent l’optimum pour un temps T
de résolution identique, la méthode M1 apparaît plus efficace que M2 dans un contexte
interruptible. D’après la thèse de Lionel LOBJOIS [172]. . . . . . . . . . . . . . . . . . . 105
7.1 Profit de la rente foncière et anneaux de Von THÜNEN (pour 3 anneaux). D’après J.H. VON
THÜNEN et al. [279]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.2 Modèle de CHRISTALLER : théorie des lieux centraux. D’après W. CHRISTALLER [45]. . . 111
7.3 Modèle de ZIPF : relation rang-taille des unités urbaines françaises en 1990. D’après FABRIÈSVERFAILLIE
et al. [89]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.4 Modèle de rente à payer en fonction de la distance au centre. D’après W. ALONSO [6]. . . 112
7.5 Modèle radioconcentrique de BURGESS. D’après E.W. BURGESS [37]. . . . . . . . . . . . 112
7.6 Modèle de HOYT sur la théorie des secteurs : (1) Centre des affaires, (2) Industries et entrepôts,
(3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences
des classes aisées. D’après H. HOYT [137]. . . . . . . . . . . . . . . . . . . . . . 113
7.7 La théorie des centres multiples : (1) Centre des affaires, (2) Industries légères et entrepôts,
(3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences
des classes aisées, (6) Industries lourdes. D’après C.D. HARRIS et E.L. ULLMAN [129]. . 113
7.8 Schéma simplifié d’un modèle dynamique de type LUTI. D’après le rapport final sur la
première phase d’ULTISIM [61]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.9 Positionnement des modèles LUTI. D’après le rapport final sur la première phase d’ULTISIM
[61]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.10 Cours du temps dans UrbanSim. D’après le Rapport 1 - SIMAURIF [246] . . . . . . . . . 119
7.11 Affectation (assignment) π = (3, 2, 4, 1). D’après R.Z. FARAHANI et al. [90]. . . . . . . . 126
7.12 Publications : proportions des solutions techniques proposées pour les QAP. D’après R.Z. FARAHANI
et al. [90]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.1 Formes urbaines réparties automatiquement sur la zone expérimentale de la ville de Marnela-Vallée,
en prenant en compte les contraintes d’un développement urbain durable exprimées
par les urbanistes. D’après les travaux du projet SUSTAINS - schéma fourni par le
LIMSI (Laboratoire d’informatique pour la mécanique et les sciences de l’ingénieur). . . . 132
8.2 Illustration de la distance de Tchebychev à partir de la cellule marquée par un « O » et
positionnée en ligne 3, colonne 3 : chaque colonne est repérée par sa distance (allant de 1 à
4) par rapport à la cellule « O ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.3 Illustration de la distance de Manhattan à parcourir entre le point de départ « D » et le point
d’arrivée « A ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136TABLE DES FIGURES 225
8.4 (V
2
3,3
) représente le voisinage de la cellule marquée par un « O » et positionnée en ligne 3,
colonne 3 pour une taille de voisinage = 2 : le voisinage est constitué de toutes les cellules
marquées par un « 1 » et un « 2 ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.5 (V¯2
3,3
) représente l’anneau de voisinage de la cellule marquée par un « O » et positionnée
en ligne 3, colonne 3 pour une taille de voisinage = 2 : l’anneau est constitué de toutes les
cellules marquées par un « 2 ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.6 Contrainte d’interaction entre formes urbaines permettant d’exprimer les préférences de
positionnement des formes urbaines les unes par rapport aux autres. Chaque cellule est en
interaction avec ses cellules voisines dans un voisinage limité à une taille de 3 cellules. La
force d’interaction entre deux cellules diminue avec l’augmentation de la distance qui les
sépare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
8.7 Contrainte de distance minimale de séparation entre formes urbaines. . . . . . . . . . . . . 140
8.8 Contraintes de regroupement d’une forme urbaine. . . . . . . . . . . . . . . . . . . . . . 141
8.9 Contrainte d’accessibilité globale avec une distance de couverture limitée à 4 cellules (en
distance de Manhattan) : coût imputé sur chaque cellule habitée et non couverte par un
espace de respiration. Dans cet exemple, la cellule marquée « ER » correspond à la seule
cellule occupée par un espace de respiration. . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.10 Contrainte d’accessibilité locale avec une distance de couverture limitée à 4 cellules (distance
de Tchebychev) : on indique le nombre d’espaces de respiration qui couvrent chaque
cellule habitée. Dans cet exemple, les cellules marquées « ER1 » et « ER2 » correspondent
aux cellules occupées par un espace de respiration. Les cellules habitées marquées avec le
chiffre « 0 » sont les cellules qui vont alimenter la fonction de coût (pénalité pour chaque
cellule sans couverture). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
8.11 Illustration des séparations simples ou doubles entre la cellule centrale et les cellules de
l’anneau périphérique situées à une distance stricte d = 2. . . . . . . . . . . . . . . . . . . 145
8.12 Emprise au sol : le nombre d’espaces verts au pied d’un collège ou d’un lycée est imposé et
ce nombre dépend de la présence de certaines formes urbaines particulières à proximité de
l’établissement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
8.13 Filtrage et diversité des formes urbaines sur chaque centralité : la centralité principale est
constituée de quatre cellules repérées par l’utilisateur avec la lettre « C » et disposées de
part et d’autre d’un axe routier important (avenues). Les formes urbaines positionnées sur
ces cellules doivent être « 6= » entre elles pour favoriser la diversité et un filtre « F » limite
les formes urbaines pouvant prendre place sur chaque cellule. . . . . . . . . . . . . . . . . 147
9.1 Initialisation aléatoire : structures de données utilisées pour créer une solution initiale. . . . 151
9.2 Initialisation gloutonne : paramétrage, par forme urbaine, de la priorité de placement et
du mode de sélection d’une cellule. On commence par positionner l’industrie (no 1) et on
termine par le placement des espaces de respiration (no 19). La colonne « random » indique
si on doit choisir une cellule disponible au hasard ou si on choisit celle qui génère un coût
d’affectation minimum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
9.3 Initialisation gloutonne : structures de données utilisées pour créer une solution initiale. . . 153
9.4 Mode distribué : fonctionnement général maître-esclaves. La partie « itérations » signalée
en foncé est spécifique à chaque protocole distribué que nous proposons et elle fera l’objet
d’un schéma complémentaire dans les sections correspondantes. . . . . . . . . . . . . . . 161
9.5 Exemple de découpage d’une grille pour former 4 partitions de même taille : chaque groupe
est composé de 18 cellules libres, les cellules fixes étant repérées par un caractère « X ». . 164226 TABLE DES FIGURES
9.6 Comparaison du fonctionnement général de chaque protocole distribué pour une itération.
Avec : (DC) Demande Candidats ; (RC) Recherche Candidats ; (SC) Synchronisation Candidats
; (DP) Demande Permutations ; (RP) Recherche Permutations ; (SP) Synchronisation
Permutations ; (AP) Application Permutations. Le bleu représente un travail à l’échelle
d’une partition et le jaune au niveau de la grille entière. Un ovale en pointillé englobe les
tâches réalisées par les esclaves, le reste étant pris en charge par le processus maître. Les
doubles traits pointillés indiquent un échange via le réseau. . . . . . . . . . . . . . . . . . 168
9.7 Mode distribué : traitements réalisés à chaque itération avec le protocole no 1. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section
« Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.8 Mode distribué : traitements réalisés à chaque itération avec le protocole no 2. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section
« Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
9.9 Mode distribué : traitements réalisés à chaque itération avec le protocole no 3. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section
« Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
9.10 Mode distribué : traitements réalisés à chaque itération avec le protocole no 4. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section
« Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
10.1 Routage des messages et interception des événements entre le dispositif tactile et le solveur
interactif. Le gestionnaire de messages prend en charge le transfert des informations sur le
réseau et permet un couplage faible entre les deux processus. Deux connecteurs repérés par
les lettres « E » et « S » permettent à chaque processus (émetteur/récepteur) d’intercepter les
messages qui lui sont destinés ou d’injecter de nouveaux messages vers un processus destinataire
dans une file donnée. Le solveur interactif incorpore les fonctionnalités du solveur
de base mis au point pour la résolution initiale et lui apporte les fonctionnalités nécessaires
pour gérer l’interaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.2 Chargement d’un scénario mémorisé préalablement. Dans un premier temps, l’utilisateur
indique la ville de référence. Ensuite, il a la possibilité de charger un scénario de travail
particulier relatif à cette ville. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.3 Paramétrage du comportement interactif. . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.4 Mode continu désactivé (à gauche) ou activé (à droite). . . . . . . . . . . . . . . . . . . . 184
10.5 Déplacement d’un groupe de formes urbaines en une seule opération. Lorsque la correspondance
d’intensité doit être respectée, il faut conserver une correspondance stricte entre les
intensités des cellules d’origine et des cellules de destination, ces intensités étant repérées
dans cet exemple par les chiffres 1, 2, 3, 4. . . . . . . . . . . . . . . . . . . . . . . . . . . 185
10.6 Cercle d’influence permettant d’identifier la taille des zones impactées par un mouvement.
Dans cet exemple, le cercle de gauche identifie la zone d’origine et le cercle de droite la zone
de destination, les cellules appartenant à ces deux zones étant soumises à une résolution
locale. En dehors des cercles, les formes urbaines restent en place. . . . . . . . . . . . . . 186
10.7 Paramétrage de la taille des cellules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.8 Création de la liste des permutations imposées en fonction du type de sélection et de déplacement
des formes urbaines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189TABLE DES FIGURES 227
10.9 Cercles d’influences interprétés sur le solveur interactif : lorsque l’utilisateur déplace (en
groupe) les formes urbaines des cellules « 1 » et « 2 » sur les cellules « 3 » et « 4 » (en
une seule opération), le solveur interactif identifie autour des cellules d’origine et de destination
les cellules faisant partie des cercles d’influence. Pour cela, il utilise le voisinage
V
d
l,c de chaque cellule Vl,c impliquée dans une permutation imposée, avec d correspondant
au rayon du cercle. Ces cellules sont alors marquées « sélectionnables » pour participer à
l’optimisation locale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
10.10Carte de chaleur : les zones en rouge sur la carte font apparaître les régions correspondant
aux coûts les plus élevés. Cette carte est directement actualisée avec les coûts de chaque
variable disponibles dans notre modèle. . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.11Historique d’évolution des coûts par contrainte : ce graphique est composé de deux parties.
La partie de gauche indique le coût lié à chaque contrainte pour la configuration courante
tandis que la partie principale représente l’évolution des coûts par contrainte à intervalle de
temps régulier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
11.1 Résumé des mesures sur l’application développée. Généré par l’outil SourceMonitor (http:
//www.campwoodsw.com/sourcemonitor.html). Le nombre de lignes indiqué
écarte les lignes vides (*). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.2 Récapitulatif des variations de coût par itération pour chaque contrainte. Les variations de
coût qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte
qu’une variation négative apparaît au dessus de l’axe des abscisses, l’axe des abscisses
représentant l’évolution du nombre des itérations au cours d’une résolution. . . . . . . . . 201
11.3 Détail des variations de coût par itération pour chaque contrainte. Les variations de coût
qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte qu’une
variation négative apparaît au dessus de l’axe des abscisses, l’axe des abscisses représentant
l’évolution du nombre des itérations au cours d’une résolution. . . . . . . . . . . . . . . . 202
11.4 Répartition des coûts par contrainte : à chaque itération (en abscisse), on superpose le coût
total de chaque contrainte (en ordonnée). On reconstitue ainsi le coût global de la confi-
guration courante qui diminue au fil de la résolution. La représentation correspond à un
histogramme très resserré, on ne peut donc pas distinguer les barres qui sont réduites à des
lignes verticales dont les couleurs correspondent aux rectangles de la légende : la première
forme urbaine indiquée dans la légende correspond à la forme urbaine positionnée en bas
du diagramme, etc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.5 Répartition des temps de calcul par contrainte. . . . . . . . . . . . . . . . . . . . . . . . . 204
11.6 Paysage des permutations gagnantes avec le candidat retenu pour une itération donnée. Pour
l’itération courante (no 1), un candidat (i.e. cellule non représentée ici) a déjà été identifié
pour participer à une permutation gagnante. Ce graphique représente la répartition spatiale
des gains pouvant être obtenus en impliquant une à une chaque cellule de la grille à la
permutation gagnante (i.e. avec le candidat retenu) : plus le gain potentiel est important,
plus la cellule est sombre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.7 Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la
résolution (i.e. à chaque itération), limitée aux 12 premières itérations. Chaque graphique
correspond à une itération. A chaque itération, un candidat est identifié pour participer à
une permutation gagnante. Chaque graphique correspond au paysage des permutations gagnantes
avec le candidat retenu pour l’itération indiquée. . . . . . . . . . . . . . . . . . . 206
11.8 Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la
résolution (toutes les 10 itérations). Chaque graphique correspond à une itération. A chaque
itération, un candidat est identifié pour participer à une permutation gagnante. Chaque graphique
correspond au paysage des permutations gagnantes avec le candidat retenu pour
l’itération indiquée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207228 TABLE DES FIGURES
11.9 Comparaison des temps et des gains obtenus à chaque itération entre différentes versions de
l’algorithme de résolution. L’instance correspond à une représentation simplifiée pour une
grille 32x32. Les temps sont exprimés en secondes. Les échelles de temps et de gains sont
identiques d’une figure à l’autre. L’axe des abscisses correspond à l’évolution du nombre
des itérations au cours d’une résolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
11.10Tests des performances pour différentes versions (mono-processus, distribuée) et différents
modes de fonctionnement (multi-candidat et multi-permutation). Comparaison des temps
de résolution (en faisant une moyenne sur 10 exécutions par méthode) pour obtenir une
solution initiale dont la qualité est imposée sur l’instance de Marne-La-Vallée. La version
distribuée est évaluée avec le protocole no 4. . . . . . . . . . . . . . . . . . . . . . . . . . 210
11.11Recherche du nombre optimal de processus esclaves à mobiliser. . . . . . . . . . . . . . . 211
11.12Comparaison des temps de résolution entre la version mono-processus et la version distribuée
déployée à grande échelle. Les protocoles 1 et 4 sont des protocoles distribués. Les
intitulés « protocol-[x]-[y]s » identifie le no du protocole (x) et le nombre de processus esclaves
mobilisés (y). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.13Répartition de l’habitat collectif par rapport aux niveaux d’intensité urbaine (intensités : 2,
3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale.
Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE
TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT
(SIMARIS) & Valérie GACOGNE (COMPLEXIO). . . . . . . . . . . . . . . . . . . . . . 213
11.14Répartition des zones d’activité par rapport aux niveaux d’intensité urbaine (intensités : 2, 3
et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale.
Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE
TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT
(SIMARIS) & Valérie GACOGNE (COMPLEXIO). . . . . . . . . . . . . . . . . . . . . . 214
11.15Répartition des espaces verts par rapport aux niveaux d’intensité urbaine, hors espaces de
respiration (intensités 2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur
suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 :
EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord
des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO). . . . 214
11.16Visualisation des établissements scolaires et de l’habitat. Formes urbaines positionnées sur
la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS
Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LAVALLEE.
Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE
(COMPLEXIO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Bibliographie
[1] Droit et politiques de renouvellement urbain. Cahiers du GRIDAUH. : Droit de l’urbanisme. GRIDAUH,
2004. 33
[2] Emile Aarts and Jan K. Lenstra, editors. Local Search in Combinatorial Optimization. John Wiley
& Sons, Inc., New York, NY, USA, 1st edition, 1997. 63, 150
[3] Mohammed Abdellaoui and Christophe Gonzales. Théorie de l’Utilité Multi-attributs. [33], pages
25–62. 59
[4] A. Adla. Aide à la facilitation pour une prise de décision collective : proposition d’un modèle et
d’un outil. PhD thesis, Université de Toulouse III - Paul Sabatier, Spécialité : Informatique, 2010. 99
[5] Ravindra K. Ahuja, Özlem Ergun, James B. Orlin, and Abraham P. Punnen. A survey of very largescale
neighborhood search techniques. Discrete Applied Mathematics, 123(1-3) :75–102, 2002. 78
[6] W. Alonso. Location and land use : toward a general theory of land rent. Publication of the Joint
Center for Urban Studies. Harvard University Press, 1964. 111, 112, 224
[7] Jean-Philippe Antoni. L’ambition de modéliser la ville. In Gérard Brun, editor, Ville et mobilité -
nouveaux regards, pages 227–238. Economica, 2013. 128
[8] J.P. Antoni. Modéliser la ville : Formes urbaines et politiques de transport. Collection "Méthodes et
approches". Economica, 2010. 114, 115, 132, 231
[9] Krzysztof Apt. Principles of Constraint Programming. Cambridge University Press, New York, NY,
USA, 2003. 63, 149, 194
[10] Alejandro Arbelaez and Philippe Codognet. A GPU Implementation of Parallel Constraint-based
Local Search. Techniques foR Implementing Constraint programming Systems (TRICS), 2013. 87,
88, 150, 159
[11] François Ascher. Effet de serre, changement climatique et capitalisme cleantech. Esprit, Fé-
vrier :150–164, 2008. 43
[12] Olivier Bailleux. Cours de programmation par contraintes, 2011. Master-II BD-IA & Image-IA. 56
[13] Cynthia Barnhart, Ellis L. Johnson, George L. Nemhauser, Martin W. P. Savelsbergh, and Pamela H.
Vance. Branch-and-price : Column generation for solving huge integer programs. Operations Research,
46 :316–329, 1996. 62
[14] Nicolas Barnier. Application de la programmation par contraintes à des problèmes de gestion du
trafic aérien. PhD thesis, Thèse doctorat informatique de l’INP Toulouse, 2002. 56
[15] Richard S. Barr, Bruce L. Golden, James P. Kelly, G. C Mauricio, William Resende, and R. Stewart.
Designing and reporting on computational experiments with heuristic methods. Journal of
Heuristics, 1 :9–32, 1995. 75
229230 BIBLIOGRAPHIE
[16] Roman Bartak. Constraint programming : In pursuit of the holy grail. In in Proceedings of WDS99
(invited lecture, pages 555–564, 1999. 56, 63, 149, 194
[17] R. Battiti, G. Tecchiolli, and Others. The Reactive Tabu Search. ORSA Journal on Computing,
6 :126, 1994. 127, 128, 221
[18] Roberto Battiti and Marco Protasi. Reactive local search for the maximum clique problem. Algorithmica,
29(4) :610–637, 2001. 75
[19] G. Bauer and J.M. Roux. La rurbanisation ; ou, La ville éparpillée. Collection Espacements. Éditions
du Seuil, 1976. 25
[20] François BELLANGER. La recherche urbaine à l’heure de la ville 2.0, Oct 2012. Entretien scienti-
fique. 36, 40
[21] A. Bellicha. Maintenance of Solution in a Dynamic Constraint Satisfaction Problem. In Proc. of
Applications of Artificial Intelligence in Engineering VIII, pages 261–274, Toulouse, France, 1993.
107
[22] Amit Bellicha, Bertrand Neveu, Brigitte Trousse, Christian Bessière, Christine Gaspin, David Lesaint,
Fabrice Bouquet, Florence Dupin de Saint-Cyr, Gilles Trombettoni, Gérard Verfaillie, Hélène
Fargier, Jean-Charles Régin, Jean-Pierre Rellier, Jérôme Amilhastre, Jérôme Lang, Khaled Ghedira,
Marie-Catherine Vilarem, Martin Cooper, Mouhssine Bouzoubaa, Olivier Lhomme, Philippe Charman,
Philippe David, Philippe Janssen, Philippe Jégou, Pierre Berlandier, Roger Martin-Clouaire,
Thomas Schiex, and Tibor Kökény. Autour Du Problème De Satisfaction De Contraintes. In In Actes
des 5èmes journées nationales du PRC GDR Intelligence Artificielle, pages 159–178, 1994. 106
[23] Richard Bellman. Dynamic Programming. Princeton University Press, Princeton, NJ, USA, 1 edition,
1957. 63
[24] Sahbi BEN ISMAIL. Cours d’ingénieurs généralistes - Introduction à l’optimisation combinatoire,
2012. 56, 221
[25] S. Ben-Mena. Introduction aux méthodes multicritères d’aides à la décision. Biotechnologie, Agronomie,
Société et Environnement, 2000. 59
[26] F. Benhamou. Stratégie de développement de la recherche de l’université de nantes, programme
université 2020, 2014. 30
[27] Nicolas Berger. Modélisation et résolution en programmation par contraintes de problèmes mixtes
continu/discret de satisfaction de contraintes et d’optimisation. PhD thesis, Université de Nantes,
October 2010. 58
[28] Antoine Billot and Jacques-François Thisse. Modèles de choix individuels discrets : théorie et applications
à la micro-économie. Revue économique, 46(3) :921–931, 1995. 117
[29] James R. Bitner and Edward M. Reingold. Backtrack programming techniques. Commun. ACM,
18(11) :651–656, November 1975. 68
[30] Christian Blum and Andrea Roli. Metaheuristics in combinatorial optimization : Overview and
conceptual comparison. ACM Comput. Surv., 35(3) :268–308, September 2003. 56, 72, 81, 82,
223
[31] Stefan Bock and Otto Rosenberg. A new parallel breadth first tabu search technique for solving
production planning problems. International Transactions in Operational Research, 7(6) :625 – 635,
2000. 94BIBLIOGRAPHIE 231
[32] Mark Boddy and Thomas Dean. Solving time-dependent planning problems. In Proceedings of the
11th International Joint Conference on Artificial Intelligence - Volume 2, IJCAI’89, pages 979–984,
San Francisco, CA, USA, 1989. Morgan Kaufmann Publishers Inc. 104
[33] Denis Bouyssou, Didier Dubois, Marc Pirlot, and Henri Prade. Concepts et méthodes pour l’aide à
la décision, analyse multicritère, volume 3. Hermés, 2006. 59, 229
[34] Jurgen Branke. Evolutionary Optimization in Dynamic Environments. Kluwer Academic Publishers,
Norwell, MA, USA, 2001. 60
[35] R. Braune and G. Zäpfel. Metaheuristic Search Concepts : A Tutorial with Applications to Production
and Logistics. Springer, 2010. 80, 223
[36] Marilyn A. Brown, Frank Southworth, and Andrea Sarzynski. The geography of metropolitan carbon
footprints. Policy and Society, 27(4) :285 – 304, 2009. 43
[37] E.W. Burgess. The Growth of the City : an Introduction to a Research Project. University of Chicago
Press, 1925. 21, 112, 224
[38] S. Cahon, N. Melab, and E.-G. Talbi. Paradiseo : A framework for the reusable design of parallel
and distributed metaheuristics. Journal of Heuristics, 10(3) :357–380, May 2004. 97
[39] Aurore Cambien. La modélisation urbaine : une approche historique. [8], pages 19 – 49. 114, 115
[40] Yves Caniou, Philippe Codognet, Daniel Diaz, and Salvador Abreu. Experiments in parallel
constraint-based local search. In EvoCOP’11, 11th European Conference on Evolutionary Computation
in Combinatorial Optimisation, Lecture Notes in Computer Science, Torino, Italy, 2011.
Springer Verlag. 159
[41] Michel Cantal-Dupart. Vivre un grand paris, Oct 2013. Note ouverte au Président de la République
sur le Grand Paris. 19, 34, 37
[42] V Cerny. Thermodynamical approach to the traveling salesman problem : An efficient simulation
algorithm. Journal of Optimization Theory and Applications, 45(1) :41–51, 1985. 65, 83, 150
[43] F. Choay. L’Urbanisme : utopies et réalités. Points (Paris). Éditions du Seuil, 1965. 22
[44] Solver Choco. Présentation - tutorial et documentation, 2011. 56
[45] Walter Christaller. Central Places in Southern Germany. Prentice-Hall, 1966. 110, 111, 224
[46] Maurice Clerc and Patrick Siarry. Une nouvelle métaheuristique pour l’optimisation difficile : la
méthode des essaims particulaires, 2004. J3eA. 59
[47] Philippe Codognet and Daniel Diaz. Yet Another Local Search Method for Constraint Solving. In
proceedings of SAGA’01, volume 2264 of Lecture Notes in Computer Science, pages 73–90. Springer
Verlag, 2001. 56, 66, 86, 150, 152, 219
[48] Philippe Codognet and Daniel Diaz. An Efficient Library for Solving CSP with Local Search. In 5th
international Conference on Metaheuristics, pages 1–6, Kyoto, Japan, 2003. 86, 150, 219
[49] Philippe Codognet, Daniel Diaz, and Charlotte Truchet. The Adaptive Search Method for Constraint
Solving and its application to musical CSPs. In International Workshop on Heuristics, page 9 pages,
Beijing, Chine, 2002. 87
[50] S. G. Cohen and D. E. Bailey. What makes teams work : Group effectiveness research from the shop
floor to the executive suite. Journal of Management, 23(3) :239–291, 1997. 102232 BIBLIOGRAPHIE
[51] Jared L. Cohon. Multiobjective Programming and Planning. Mathematics in science and engineering.
Academic Press, 1978. 59, 220
[52] N. E. Collins, R.W. Eglese, and Golden B.L. Simulated Annealing : an Annotated Bibliography.
American Journal of Mathematical and Management Sciences, 8(3-4) :209–307, January 1988. 84
[53] Clayton W. Commander. A survey of the quadratic assignment problem, with applications. Morehead
Electronic Journal of Applicable Mathematics, 4 :MATH–2005–01, 2005. 126
[54] David T. Connolly. An improved annealing scheme for the {QAP}. European Journal of Operational
Research, 46(1) :93 – 100, 1990. 127, 221
[55] L. Corbusier and J. Giraudoux. La charte d’Athènes. Cahiers forces vives. Éditions de Minuit, 1957.
11, 24
[56] J.-C. COURBON, D. DUBOIS, and B. ROY. Autour de l’aide à la décision et l’intelligence artifi-
cielle. IBP-Laforia, 1994. Rapport de Recherche. 102, 103
[57] Teodor Gabriel Crainic and Michel Toulouse. Parallel Strategies for Meta-heuristics. [117], pages
475–513. 76
[58] Teodor Gabriel Crainic and Michel Toulouse. Parallel Meta-Heuristics. In Handbook of metaheuristics,
pages 497–541. Springer US, 2010. 91, 92, 93, 94, 159, 224
[59] Andrew Crooks, Christian Castle, and Michael Batty. Key challenges in agent-based modelling
for geo-spatial simulation. Computers, Environment and Urban Systems, 32(6) :417 – 430, 2008.
GeoComputation : Modeling with spatial agents. 115
[60] John Current, Mark Daskin, and David Schilling. Discrete Network Location Models. [80], pages
81–118. 125
[61] Institut d’aménagement et d’urbanisme de la région d’Île-de France. ULTISIM, vers un modèle
intégré transport-urbanisme européen : première phase : rapport final. IAU Île-de-France, 2011.
115, 116, 117, 224
[62] G. B. Dantzig. Maximization of a Linear Function of Variables Subject to Linear Inequalities, in
Activity Analysis of Production and Allocation, chapter XXI. Wiley, New York, 1951. 61
[63] D. Dasgupta and Z. Michalewicz. Evolutionary Algorithms in Engineering Applications. U.S. Government
Printing Office, 1997. 74
[64] C. de Portzamparc. la Ville âge III. Éditions du Pavillon de l’Arsenal, 1997. 26
[65] J. de Rosnay. Le Macroscope : vers une vision globale. Collection Civilisation. Éditions du Seuil,
1975. 114
[66] D. de Werra and A. Hertz. Tabu search techniques. Operations-Research-Spektrum, 11(3) :131–141,
1989. 85, 157
[67] Thomas Dean and Mark Boddy. An analysis of time-dependent planning. In Proceedings of the
Seventh National Conference on Artificial Intelligence (AAAI-88), pages 49–54. AAAI Press/MIT
Press, August 1988. 104
[68] Rina Dechter and Avi Dechter. Belief Maintenance in Dynamic Constraint Networks. Proceedings
of AAAI, pages 37–42, 1988. 60BIBLIOGRAPHIE 233
[69] Philippe Dehan, Enseignant-Chercheur. Cours ingénieur - modes opératoires de l’urbanisme contemporain,
2011. 19, 22, 33, 223
[70] Xavier Desjardins. Pour l’atténuation du changement climatique, quelle est la contribution possible
de l’aménagement du territoire ?, March 2011. Cybergeo : European Journal of Geography [En
ligne], Aménagement, Urbanisme, document 523. 43
[71] Xavier Desjardins. Formes urbaines. [88], pages 108–109. 31
[72] I. Devarenne, A. Caminada, and H. Mabed. Analysis of adaptive local search for the graph coloring
problem. In Proceedings of the 6th Metaheuristics International Conference, MIC 2005, Vienne
Autriche, 2005. 86
[73] Isabelle Devarenne, Hakim Mabed, and Alexandre Caminada. Intelligent neighborhood exploration
in local search heuristics. In Proceedings of the 18th IEEE International Conference on Tools with
Artificial Intelligence, ICTAI ’06, pages 144–150, Washington, DC, USA, 2006. IEEE Computer
Society. 86
[74] Luca Di Gaspero and Andrea Schaerf. Easylocal++ : An object-oriented framework for the flexible
design of local-search algorithms. Softw. Pract. Exper., 33(8) :733–765, July 2003. 96, 194, 197
[75] Daniel Diaz, Salvador Abreu, and Philippe Codognet. Targeting the cell/be for constraint-based local
search. Concurrency and Computation : Practice and Experience, 24(6) :647–660, 2012. 159
[76] Mohammad Dib. Tabu-NG : hybridation de programmation par contraintes et recherche locale pour
la résolution de CSP. PhD thesis, Université de Technologie de Belfort-Montbeliard, December
2010. 56, 66, 67, 89
[77] J. Donzelot, C. Mével, and A. Wyvekens. Faire société : la politique de la ville aux États-Unis et en
France. La couleur des idées. Seuil, 2003. 20
[78] Marco Dorigo. Ant colony optimization : A new meta-heuristic. In Proceedings of the Congress on
Evolutionary Computation, pages 1470–1477. IEEE Press, 1999. 55, 65
[79] J. Dréo. Metaheuristics for Hard Optimization : Methods and Case Studies. Springer, 2006. 73
[80] Z. Drezner and H.W. Hamacher. Facility Location : Applications and Theory. Springer series in
operations research. Springer, 2004. 124, 149, 232, 241
[81] Alexis Drogoul. De la simulation multi-agent à la résolution collective de problèmes. PhD thesis,
Université Paris VI, 1993. 55
[82] Dominique Dron. Origine du développment durable. [88], pages 24–25. 29, 30
[83] Claude Duvallet. Des systèmes d’aide à la décision temps réel et distribués : modélisation par agents.
PhD thesis, Doctorat Informatique de l’Université du Havre, 2001. 99, 103, 104
[84] D. Duvivier, Ph. Preux, and E.-G. Talbi. Climbing up NP-hard hills. In Parallel Problem Solving
from Nature - PPSN IV, volume 1141 of Lecture Notes in Computer Science, pages 574–583. Springer
Berlin Heidelberg, 1996. 79
[85] J. Edmonds. Matroids and the greedy algorithm. Mathematical Programming, 1 :127–136, 1971.
70, 149
[86] A. Elkhyari. Outils d’aide à la décision pour des problèmes d’ordonnancement dynamiques. 2003.
107234 BIBLIOGRAPHIE
[87] Agathe Euzen. À propos du développment durable. [88], page 23. 29, 30
[88] Agathe Euzen, Laurence Eymard, and Françoise Gaill. Le développement durable à découvert. A
découvert. CNRS Editions, 2013. 233, 234, 235, 238, 240, 242, 244
[89] M. Fabriès-Verfaillie, P. Stragiotti, and A. Jouve. La France des villes : le temps des métropoles ?
Bréal, 2000. 111, 224
[90] R.Z. Farahani and M. Hekmatfar. Facility Location : Concepts, Models, Algorithms and Case Studies.
Contributions to Management Science. Physica, 2009. 125, 126, 224
[91] Thomas A. Feo and Mauricio G.C. Resende. Greedy Randomized Adaptive Search Procedures.
Journal of Global Optimization, 6 :109–133, 1995. 89
[92] J. Ferber. Les systèmes multi-agents : Vers une intelligence collective. I.I.A. Informatique intelligence
artificielle. InterEditions, 1995. 55
[93] Andreas Fink, Stefan Voß, and DavidL. Woodruff. Building reusable software components for heuristic
search. 1998. 97
[94] Charles Fleurent and Jacques A. Ferland. Genetic Hybrids for the Quadratic Assignment Problem.
In DIMACS Series in Mathematics and Theoretical Computer Science, pages 173–187. American
Mathematical Society, 1993. 127, 221
[95] R. Fondi and P. Baillet. La Révolution organiciste : entretien sur les nouveaux courants scientifiques.
Livre-club du Labyrinthe. Labyrinthe, 1986. 114
[96] J.W. Forrester. Urban dynamics. M.I.T. Press, 1969. 114
[97] T. Frühwirth and S. Abdennadher. Essentials of Constraint Programming. Cognitive Technologies.
Springer, 2003. 63, 149, 194
[98] Alexandre Gachet. A framework for developing distributed cooperative decision support systems -
inception phase, 2001. Informing Science - Challenges to Informing Clients : A Transdisciplinary
Approach. 103
[99] Philippe Galinier and Jin-Kao Hao. A General Approach for Constraint Solving by Local Search. In
In CP-AI-OR’00, 2000. 87, 154
[100] L. M. Gambardella, E. Taillard, and M. Dorigo. Ant colonies for the Quadratic Assignment Problem.
Journal of the Operational Research Society, (50) :167–176, 1999. 127, 221
[101] Bruno-Laurent Garcia, Jean-Yves Potvin, and Jean-Marc Rousseau. A Parallel Implementation of
the Tabu Search Heuristic for Vehicle Routing Problems with Time Window Constraints. Computers
& Operations Research, 21(9) :1025 – 1033, 1994. 92
[102] V. Gardeux. Conception d’heuristiques d’optimisation pour les problèmes de grande dimension.
Application à l’analyse de données de puces à ADN. PhD thesis, Paris-Est University, Créteil, France,
November 2011. 91
[103] F. Gardi, T. Benoist, J. Darlay, B. Estellon, and R. Megel. Mathematical Programming Solver Based
on Local Search. Wiley, 2014. 97
[104] Michael R. Garey and David S. Johnson. Computers and Intractability : A Guide to the Theory of
NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1979. 58BIBLIOGRAPHIE 235
[105] M. Gen and R. Cheng. A survey of penalty techniques in genetic algorithms. In Evolutionary
Computation, 1996., Proceedings of IEEE International Conference on, pages 804–809, May 1996.
74
[106] M. Gendreau. An Introduction to Tabu Search. In F. Glover and G. Kochenberger, editors, Handbook
of Metaheuristics, chapter 2, pages 37–54. Kluwer Academic Publishers, 2003. 86
[107] Michel Gendreau, Alain Hertz, and Gilbert Laporte. A tabu search heuristic for the vehicle routing
problem. Management Science, 40(10) :1276–1290, 1994. 86
[108] Commission Européenne. Direction générale de la politique régionale. Les villes de demain : Défis,
visions et perspectives. Office des publications de l’Union européenne, 2011. 40
[109] Cynthia Ghorra-Gobin. Le territoire métropolitain à l’heure de la mondialisation. [88], pages 28–29.
31
[110] P. C. Gilmore and R. E. Gomory. A Linear Programming Approach to the Cutting-Stock Problem.
Operations Research, 9(6) :849–859, November 1961. 62
[111] Fred Glover. Future paths for integer programming and links to artificial intelligence. Comput. Oper.
Res., 13(5) :533–549, May 1986. 65, 72, 84, 150, 155, 157, 194
[112] Fred Glover. Tabu Search - Part I. ORSA Journal on Computing, 1(3) :190–206, 1989. 65, 81, 86,
150, 155
[113] Fred Glover. Tabu Search - Part II. ORSA Journal on Computing, 2 :4–32, 1990. 65, 81, 86, 150,
155
[114] Fred Glover. Scatter search and path relinking. New ideas in optimization, pages 297–316, 1999. 65
[115] Fred Glover and Manuel Laguna. Tabu Search. Kluwer Academic Publishers, Norwell, MA, USA,
1997. 56, 65, 81, 150, 155
[116] Fred Glover, Manuel Laguna, and Rafael Martí. Fundamentals of scatter search and path relinking.
CONTROL AND CYBERNETICS, 39 :653–684, 2000. 65
[117] Fred W. Glover and Gary A. Kochenberger. Handbook of Metaheuristics. International Series in
Operations Research & Management Science. Springer, 1 edition, 2003. 232, 238
[118] David E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. AddisonWesley
Longman Publishing Co., Inc., Boston, MA, USA, 1st edition, 1989. 65
[119] R. E. Gomory. Outline of an algorithm for integer solutions to linear programs. Bulletin of the
American Society, 64 :275–278, 1958. 62
[120] Yves Grafmeyer and Isaac Joseph. L’École de Chicago. Naissance de l’écologie urbaine. Aubier,
1984. 112
[121] S. A. Groenewegen, R. M. Smelik, K. J. de Kraker, and R. Bidarra. Procedural city layout generation
based on urban land use models. In EUROGRAPHICS, 2009. 137
[122] William Grossin. Berger gaston, phénoménologie du temps et prospective. Revue française de
sociologie, 6(3) :388–389, 1965. 128
[123] P. Haggett and R.J. Chorley. Models, paradigms and the new geography. The Trinity Press, 1967.
109236 BIBLIOGRAPHIE
[124] S. L. Hakimi. Optimum Locations of Switching Centers and the Absolute Centers and Medians of a
Graph. Operations Research, 12(3) :450–459, 1964. 125
[125] P. Hansen. The Steepest Ascent Mildest Descent Heuristic for Combinatorial Programming. In
Proceedings of the Congress on Numerical Methods in Combinatorial Optimization, Capri, Italy,
1986. 65, 84, 150, 155
[126] Pierre Hansen and Nenad Mladenovic. Variable neighborhood search : Principles and applications.
European Journal of Operational Research, 130(3) :449–467, 2001. 89
[127] J K Hao, P Galinier, and M Habib. Métaheuristiques pour l’optimisation combinatoire et l’affectation
sous contraintes. Revue d’intelligence artificielle, 13(2) :283–324, 1999. 56, 63, 65, 86, 89, 106, 150
[128] Jin-Kao Hao and Christine Solnon. Algorithmes pour l’intelligence artificielle, chapter Métaheuristiques
et intelligence artificielle. Cépaduès, December 2014. 81
[129] C.D. Harris and E.L. Ullman. The Nature of Cities, volume 242. 1945. 112, 113, 224
[130] G. Hégron, L. Tapadinhas, and Groupement d’intérêt scientifique Modélisation urbaine (France).
Modélisation urbaine : de la représentation au projet : [actes du colloque tenu à Paris, École des
Ponts-Paris Tech, 23-24 février 2011]. RéférenceS / Commissariat général au développement durable.
Commissariat général au développement durable, 2012. 35
[131] A. Hertz and D. de Werra. The tabu search metaheuristic : How we used it. Annals of Mathematics
and Artificial Intelligence, 1(1-4) :111–121, 1990. 85, 157
[132] A. Hertz and M. Widmer. La méthode TABOU appliquée aux problèmes d’ordonnancement. Journal
européen des systémes automatisés : JESA., 1995. 79
[133] John H. Holland. Adaptation in Natural and Artificial Systems : An Introductory Analysis with
Applications to Biology, Control and Artificial Intelligence. MIT Press, Cambridge, MA, USA,
1992. 55, 65
[134] S. Holtzman. Intelligent Decision Systems. Teknowledge Series in Knowledge Engineering.
Addison-Wesley, 1989. 99
[135] H.H. Hoos and T. Stützle. Stochastic Local Search : Foundations & Applications. The Morgan
Kaufmann Series in Artificial Intelligence. Elsevier Science, 2004. 82
[136] Eric J. Horvitz. Reasoning about beliefs and actions under computational resource constraints. In In
Proceedings of the 1987 Workshop on Uncertainty in Artificial Intelligence, pages 429–444, 1987.
104
[137] H. Hoyt. The Structure and Growth of Residential Neighborhoods in American Cities. Federal
housing administration. U.S. Government Printing Office, 1939. 112, 113, 224
[138] B. A. Huberman, R. M. Lukose, and T. Hogg. An economic approach to hard computational problems.
Science, 27 :51–53, 1997. 94, 159
[139] D. L. Huff. Defining and Estimating a Trading Area. Journal of Marketing, 28,(3) :34–38, 1964. 113
[140] J.L. Huot. La Ville neuve : une idée de l’Antiquité ? Cahiers du G.S. 72, Terrains et théories en
archéologie. Éditions Errance, 1988. 19
[141] IBM France. Réinventons la ville. Regards sur des villes intelligentes, 2010. Think. 19BIBLIOGRAPHIE 237
[142] J. Jacobs. The economy of cities. Vintage international. Random House, 1969. 20
[143] Arun Jagota and LauraA. Sanchis. Adaptive, restart, randomized greedy heuristics for maximum
clique. Journal of Heuristics, 7(6) :565–585, 2001. 71, 150
[144] Yaochu Jin and J. Branke. Evolutionary optimization in uncertain environments-a survey. Trans.
Evol. Comp, 9(3) :303–317, June 2005. 60
[145] EllisL. Johnson. Modeling and strong linear programs for mixed integer programming. In SteinW.
Wallace, editor, Algorithms and Model Formulations in Mathematical Programming, volume 51 of
NATO ASI Series, pages 1–43. Springer Berlin Heidelberg, 1989. 63
[146] Laetitia Jourdan. Métaheuristiques Coopératives : du déterministe au stochastique. Hdr, Université
des Sciences et Technologie de Lille - Lille I, September 2010. 89, 95, 98, 224
[147] Narendra Jussien, Guillaume Rochart, and Xavier Lorca. Choco : an Open Source Java Constraint
Programming Library. In CPAIOR’08 Workshop on Open-Source Software for Integer and Contraint
Programming (OSSICP’08), pages 1–10, Paris, France, France, 2008. 149, 194
[148] N. Karmarkar. A new polynomial-time algorithm for linear programming. In Proceedings of the
Sixteenth Annual ACM Symposium on Theory of Computing, STOC ’84, pages 302–311, New York,
NY, USA, 1984. ACM. 61
[149] P. G. W. Keen and M. S. Scott Morton. Decision Support Systems : An Organizational Perspective.
Addison-Wesley, Reading, 1978. 102, 177
[150] J. Kennedy and R. Eberhart. Particle swarm optimization. In Neural Networks, 1995. Proceedings.,
IEEE International Conference on, volume 4, pages 1942–1948 vol.4, Nov 1995. 55, 65
[151] Gregory E. Kersten and Geoffrey R. Mallory. Supporting problem representations in decisions with
strategic interactions. European Journal of Operational Research, 46(2) :200 – 215, 1990. 102
[152] Madjid Khichane. Optimisation sous contraintes par Intelligence Collective Auto-adaptative. Thèse
de doctorat en informatique, Université Claude Bernard, October 2010. 89
[153] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by simulated annealing. Science,
Number 4598, 13 May 1983, 220, 4598 :671–680, 1983. 65, 83, 150
[154] A. Koestler and G. Fradier. Le Cheval dans la locomotive : le Paradoxe humain. Génie et folie de
l’homme. Calmann-Lévy, 1968. 114
[155] Tjalling C. Koopmans and Martin Beckmann. Assignment Problems and the Location of Economic
Activities. Econometrica, 25(1) :53–76, 1957. 125
[156] Jakob Krarup and Peter Mark Pruzan. The simple plant location problem : Survey and synthesis.
European Journal of Operational Research, 12(1) :36 – 81, 1983. 125
[157] Krzysztof Krawiec. Metaheuristic Design Pattern : Candidate Solution Repair. In Proceeding of
the sixteenth annual conference on Genetic and evolutionary computation conference, GECCO ’14,
New York, NY, USA, 2014. ACM. 74
[158] M. Kwartler and R Bernard. Communityviz : an integrated planning support system. Planning
Support Systems, November 2001. 49
[159] Thomas J. Laffey, Preston A. Cox, James L. Schmidt, Simon M. Kao, and Jackson Y. Read. Real-time
knowledge-based systems. AI Magazine, 9(1) :27–45, 1988. 103238 BIBLIOGRAPHIE
[160] Yannick Lageat. Variation du trait de côte. [88], pages 76–77. 29
[161] Manuel Laguna, Rafael Marti, and Vicente Campos. Intensification and diversification with elite tabu
search solutions for the linear ordering problem. Computers & Operations Research, 26(12) :1217 –
1230, 1999. 81
[162] Tony Lambert. Hybridation de méthodes complètes et incomplètes pour la résolution de CSP. These,
Université de Nantes, October 2006. 89
[163] A. H. Land and A. G Doig. An automatic method of solving discrete programming problems. Econometrica,
28(3) :497–520, 1960. 62
[164] Pedro Larraanaga and Jose A. Lozano. Estimation of Distribution Algorithms : A New Tool for
Evolutionary Computation. Kluwer Academic Publishers, Norwell, MA, USA, 2001. 70
[165] Catherine Larrère. Éthique et philosophie de l’environnement. [88], pages 48–49. 30
[166] P. Lavedan. Géographie des villes. Géographie humaine. Gallimard, 1936. 19
[167] J.L. Le Moigne. Les systèmes de décision dans les organisations. Systèmes décisions. Section 1 :
Systèmes, plans, contrôles. Presses universitaires de France, 1974. 100, 101, 224
[168] Julien Lepagnot. Conception de métaheuristiques pour l’optimisation dynamique : application à
l’analyse de séquences d’images IRM. These, Université Paris-Est, December 2011. 60
[169] Arnaud Letort. Passage à l’échelle pour les contraintes d’ordonnancement multi-ressources. These,
Ecole des Mines de Nantes, October 2013. 63
[170] P. Lévine, G. Benchimol, and J.C. Pomerol. Systèmes experts dans l’entreprise. Traité des Nouvelles
Technologies : Série décision assistée par ordinateur. Hermes, 1990. 101
[171] P. Lévine and J.C. Pomerol. Systèmes interactifs d’aide à la décision et systèmes experts. Hermes,
1989. 100, 101, 102, 103, 177
[172] L. Lobjois. Problèmes d’optimisation combinatoire sous contraintes : vers la conception automatique
de méthodes de résolution adaptées à chaque instance. 1999. 103, 105, 106, 224
[173] Pierre-Yves Longaretti. Changements globaux. [88], pages 40–41. 29
[174] Michel Loreau. Modélisation et expérimentation pour la biodiversité. [88], pages 90–91. 30
[175] A. Lösch. Die räumliche Ordnung der Wirtschaft. G. Fischer, 1940. (L’organisation spatiale de
l’économie - ouvrage non traduit en français). 111
[176] Helena R. Lourenço, Olivier C. Martin, and Thomas Stützle. A Beginner’s Introduction to Iterated
Local Search. In Proceedings of MIC 2001, Porto, Portuga, July 2001. 83
[177] Helena R. Lourenço, Olivier C. Martin, and Thomas Stützle. Iterated Local Search. [117], pages
321–353. 65, 83, 150
[178] F. Loyer and H. Guéné. Henri Sauvage : les immeubles à gradins. Mardaga, 1987. 23
[179] A.K. MACKWORTH. Constraint satisfaction. S.C. Shapiro (Ed.) Encyclopedia on Artificial Intelligence,
John Wiley & Sons, NY, 1987. 68
[180] D. Mangin. La Ville franchisée : Formes et structures de la ville contemporaine. Éd. de la Villette,
2004. 27, 31BIBLIOGRAPHIE 239
[181] Marie-Eleonore Marmion. Recherche locale et optimisation combinatoire : de l’analyse structurelle
d’un problème à la conception d’algorithmes efficaces. These, Université des Sciences et Technologie
de Lille - Lille I, December 2011. 79, 90, 223
[182] N. Mars, A. Hornsby, and Dynamic City Foundation. The Chinese Dream : A Society Under
Construction. 010 Publishers, 2008. 12
[183] J.P. Martin. Un langage de modélisation à base de règles pour la programmation par contraintes.
PhD thesis, UNIVERSITÉ PIERRE ET MARIE CURIE, 2010. 96
[184] Olivier Martin, Steve W. Otto, and Edward W. Felten. Large-Step Markov Chains for the Traveling
Salesman Problem. Complex Systems, 5 :299–326, 1991. 83
[185] H. Mathieu and M. Tilmont. Étude sur les relations entre problèmes énergétiques et aménagement
urbain. Centre de Recherche d’Urbanisme, 1978. 43
[186] J.L. Maupu. La ville creuse pour un urbanisme durable. Editions L’Harmattan, 2006. 36, 38
[187] Thierry Mautor. Méta-heuristiques et méthodes exactes pour les problèmes d’optimisation combinatoire
difficiles : illustration sur le problème d’affectation quadratique. Hdr, Université de Versailles
- Saint-Quentin-en-Yvelines, 2001. 90, 95, 126, 127, 128, 221
[188] P. Merlin. L’urbanisme. Que sais-je ? Presses universitaires de France, 2007. 20
[189] Nicholas Metropolis, Arianna W. Rosenbluth, Marshall N. Rosenbluth, Augusta H. Teller, and Edward
Teller. Equation of State Calculations by Fast Computing Machines. The Journal of Chemical
Physics, 21(6) :1087–1092, June 1953. 83
[190] Zbigniew Michalewicz, Dipankar Dasgupta, Rodolphe G. Le Riche, and Marc Schoenauer. Evolutionary
algorithms for constrained engineering problems. Evolutionary Computation, 4 :1–32, 1996.
73
[191] L. Michel and P. Van Hentenryck. Localizer : A Modeling Language for Local Search. In Third
International Conference on the Principles and Practice of Constraint Programming (CP’97), Lintz,
Austria, October 1997. 96
[192] Steven Minton, Mark D. Johnston, Andrew B. Philips, and Philip Laird. Minimizing Conflicts : A
Heuristic Repair Method for Constraint Satisfaction and Scheduling Problems. Artificial Intelligence,
58(1-3) :161–205, 1992. 87, 107, 154
[193] H. Mintzberg. The structuring of organizations : a synthesis of the research. Theory of management
policy series. Prentice-Hall, 1979. 100, 101
[194] O. Mongin. Vers la troisième ville ? Questions de société : savoirs, enjeux, débats. Hachette, 1995.
26, 28
[195] D.C. Montgomery. Design and Analysis of Experiments. Number vol. 2. Wiley, 1984. 75
[196] A. Morcheoine, B. Bresse, and J.P. Orfeuil. Énergie, environnement et déplacements urbains :
quelques points de repère. Techniques Sciences Méthodes, génie urbain génie rural, no 1, pages
17-25, 1996. 43
[197] E. Morin. Introduction à la pensée complexe. Collection Communication et complexité. ESF, 1990.
114240 BIBLIOGRAPHIE
[198] R.W. Morrison. Designing Evolutionary Algorithms for Dynamic Environments. Natural Computing
Series. Springer, 2004. 60
[199] Sana Moujahed. Approche multi-agents auto-organisée pour la résolution de contraintes spatiales
dans les problèmes de positionnement mono et multi-niveaux. PhD thesis, Université de Technologie
de Belfort-Montbéliard, 2007. 125, 149
[200] Sana Moujahed, Olivier Simonin, and Abderrafiaa Koukam. Location problems optimization by a
self-organizing multiagent approach. Multiagent and Grid Systems, 5(1) :59–74, 2009. 149
[201] D.J. Musliner, J.A. Hendler, A.K. Agrawala, E.H. Durfee, J.K. Strosnider, and C.J. Paul. The Challenges
of Real-Time AI. 28(1) :58–66, 1995. 103
[202] Ioan Negrutiu and Jean-Michel Salles. Les ressources : la capital naturel évanescent et le défi démographique.
[88], pages 38–39. 30
[203] Bertrand Neveu, Gilles Trombettoni, and Fred Glover. Id walk : A candidate list strategy with a
simple diversification device. In Mark Wallace, editor, CP, volume 3258 of Lecture Notes in Computer
Science, pages 423–437. Springer, 2004. 75
[204] A. Newell and H.A. Simon. Human problem solving. Prentice-Hall, 1972. 101
[205] Yanik Ngoko. L’Approche du portfolio d’algorithmes pour la construction des algorithmes robustes
et adaptatifs. These, Université de Grenoble, July 2010. 94, 159
[206] T.A.J. Nicholson. Optimization in Industry : Industrial applications. London Business School series.
Aldine Atherton, 1971. 65
[207] Guy Orcutt. A new type of socio-economic system. International Journal of Microsimulation,
1(1) :3–9, 1957. 117
[208] Cindy A. O’Reilly and Andrew S. Cromarty. "Fast" Is Not "Real-Time" : Designing Effective RealTime
AI Systems. Proc. SPIE, 0548 :249–257, 1985. 103
[209] Jean-Pierre Orfeuil and Marie-Hélène Massot. La contrainte énergétique doit-elle réguler la ville ou
les véhicules ? Mobilités urbaines et réalisme écologique. Annales de la recherche urbaine, no 103,
pages 18-29, 2007. 43
[210] Ibrahim Osman and Gilbert Laporte. Metaheuristics : A bibliography. Annals of Operations Research,
63(5) :511–623, October 1996. 73
[211] Ibrahim H. Osman and Nicos Christofides. Capacitated clustering problems by hybrid simulated
annealing and tabu search. International Transactions in Operational Research, 1(3) :317–336, 1994.
84
[212] I.H. Osman and J.P. Kelly. Meta-Heuristics : Theory and Applications. Springer, 1996. 73
[213] A. Oyon. Une véritable cité ouvrière : Le Familistère de Guise. Librairie des sciences sociales, 1865.
23
[214] Christos H. Papadimitriou. Computational complexity. Addison-Wesley, 1994. 57
[215] Christos H. Papadimitriou and Kenneth Steiglitz. Combinatorial optimization : algorithms and complexity.
Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1982. 60BIBLIOGRAPHIE 241
[216] Julien Perret, Florence Curie, Julien Gaffuri, and Anne Ruas. Un système multi-agent pour la simulation
des dynamiques urbaines. In Michel Occello and Lilia Rejeb, editors, JFSMA, pages 205–213.
Cepadues Editions, 2010. 121
[217] H. Pirenne. L’origine des constitutions urbaines au moyen âge. Revue Historique, 1895. 19
[218] Franck Plastria. Continuous Covering Location Problems. [80], pages 37–79. 124, 149
[219] J-Ch Pomerol and S. Barba Romero. Choix Multicritère dans l’enterprise. Hermes, Paris, 1993. 101
[220] Jean-Charles Pomerol. Systèmes experts et SIAD : enjeux et conséquences pour les organisations.
Technologies de l’Information et Société, Volume 3, no 1, pages 37-64, 1990. 148
[221] Jean-Charles Pomerol. Artificial intelligence and human decision making. European Journal of
Operational Research, 99(1) :3 – 25, 1997. 102, 103
[222] Jakob Puchinger and Günther R. Raidl. Combining Metaheuristics and Exact Algorithms in Combinatorial
Optimization : A Survey and Classification. In Lecture Notes in Computer Science, volume
3562, pages 41–53, 2005. 61, 149, 194
[223] D. Pumain, L. Sanders, and T. Saint-Julien. Villes et auto-organisation. Economica, 1989. 114
[224] Denise Pumain. Essai sur la distance et l’espace géographique. Revue ATALA - Numéro 12 - La
distance, objet géographique, 2009. 113, 114
[225] Ernest G. Ravenstein. The Laws of Migration. Journal of the Royal Statistical Society, 52(2) :241–
305, June 1889. 113
[226] Jean-Charles Régin. Modélisation et contraintes globales en programmation par contraintes. Hdr,
Université de Nice Sophia-Antipolis, November 2004. 56
[227] Jean-Charles Régin, Mohamed Rezgui, and Arnaud Malapert. Embarrassingly Parallel Search. In
Principles and Practice of Constraint Programming - 19th International Conference, CP 2013, Uppsala,
Sweden, September 16-20, 2013. Proceedings, pages 596–610, 2013. 92, 159
[228] César Rego and Catherine Roucairol. A parallel tabu search algorithm using ejection chains for the
vehicle routing problem. In IbrahimH. Osman and JamesP. Kelly, editors, Meta-Heuristics, pages
661–675. Springer US, 1996. 94
[229] W.J. Reilly. The Law of Retail Gravitation. W.J. Reilly, 1931. 113
[230] Mauricio G. C. Resende. Greedy Randomized Adaptive Search Procedures (GRASP). Journal of
Global Optimization, 6 :109–133, 1999. 89
[231] Celso C. Ribeiro and Mauricio G. C. Resende. Path-relinking intensification methods for stochastic
local search algorithms. J. Heuristics, 18(2) :193–214, 2012. 81
[232] P. Riboulet. Onze Lecons Sur La Composition Urbaine. Presses de l’École Nationale des Ponts et
Chaussées, 1998. 20
[233] Francesca Rossi, Peter van Beek, and Toby Walsh. Handbook of Constraint Programming. Elsevier
Science Inc., New York, NY, USA, 2006. 63, 149, 194
[234] B. Roy. Méthodologie multicritère d’aide à la décision. Economica, Paris, 1985. 60, 101
[235] B. Roy. Réflexions sur le thème : Quête de l’optimum et aide à la décision. Cahier du LAMSADE
no 167, Université de Paris Dauphine, février 2000. 32 pages. 100242 BIBLIOGRAPHIE
[236] B. Roy and D. Bouyssou. Aide Multicritère à la Décision : Méthodes et Cas. Economica, Paris,
1993. 100, 101
[237] S. J. Russell and S. Zilberstein. Anytime sensing, planning, and action : A practical model for
robot control. In Ruzena Bajcsy, editor, Proceedings of the International Conference on Artificial
Intelligence (IJCAI-93), pages 1402–1407, Chambéry, France, 1993. Morgan Kaufmann publishers
Inc. : San Mateo, CA, USA. 99
[238] Sartaj Sahni and Teofilo F. Gonzalez. P-complete approximation problems. J. ACM, 23(3) :555–565,
1976. 125
[239] Nicolas Schabanel. Algorithmes d’approximation et Algorithmes randomisés, 2003. CIRM - ENS
LYON. 64, 223
[240] A. Schärlig. Décider sur plusieurs critères : panorama de l’aide à la décision multicritère. Collection
Diriger l’entreprise. Presses polytechniques romandes, 1985. 60, 101
[241] Thomas Schiex, Hélène Fargier, and Gérard Verfaillie. Valued Constraint Satisfaction Problems :
Hard and Easy Problems. In IJCAI-95, pages 631–639. Morgan Kaufmann, 1995. 67
[242] D.K. Schneider. Modélisation de la démarche du décideur politique dans la perspective de l’intelligence
artificielle. PhD thesis, 1996. 100
[243] René Séguin, Jean-yves Potvin, Michel Gendreau, Teodor G. Crainic, and Patrice Marcotte. Realtime
decision problems : an operations research perspective. Journal of the Operational Research
Society, 48 :162–174, feb 1997. 103, 104, 106, 178
[244] Marc Sevaux. Métaheuristiques : Stratégies pour l’optimisation de la production de biens et de
services. Hdr, University of Valenciennes, July 2004. 65
[245] P. Siarry. Métaheuristiques : Recuits simulé, recherche avec tabous, recherche à voisinages variables,
méthodes GRASP, algorithmes évolutionnaires, fourmis artificielles, essaims particulaires et autres
méthodes d’optimisation. Algorithmes. Eyrolles, 2014. 71, 90, 95, 150
[246] SIMAURIF. Rapport 1 : Modèle dynamique de simulation de l’interaction urbanisation-transports
en région ile-de-france. Projet de recherche, September 2004. 119, 120, 224
[247] SIMAURIF. Rapport 2 : Modèle dynamique de simulation de l’interaction urbanisation-transports
en région ile-de-france. Projet de recherche, October 2005. 120
[248] SIMAURIF. Rapport 3 : Modèle dynamique de simulation de l’interaction urbanisation-transports
en région ile-de-france. Projet de recherche, November 2007. 120
[249] Herbert Alexander Simon. The New Science of Management Decision. Prentice Hall PTR, Upper
Saddle River, NJ, USA, 1977. 99, 100, 177, 224
[250] Jadranka Skorin-Kapov. Tabu search applied to the quadratic assignment problem. INFORMS Journal
on Computing, 2(1) :33–45, 1990. 86
[251] Christine Solnon. Cours de programmation par contraintes, 2003. 56
[252] Christine Solnon. Contribution à la résolution pratique de problèmes combinatoires - des fourmis et
des graphes. Hdr, 2005. 57, 59, 89
[253] Taoufik Souami. De l’écoquartier à la ville intelligente. [88], pages 112–113. 33BIBLIOGRAPHIE 243
[254] R.H. Sprague and E.D. Carlson. Building effective decision support systems. Grolier Computer
Sciences Library. Prentice-Hall, 1982. 102, 177
[255] Ralph H. Sprague Jr. DSS in context. Decision Support Systems, 3(3) :197 – 202, 1987. 102, 177,
224
[256] P. F. Stadler. Towards a Theory of Landscapes. In Lopéz, R. Capovilla, García R. Pelayo, H. Waelbroeck,
and F. Zertuche, editors, Complex Systems and Binary Networks (Proceeding of the Guanajuato
Lectures 1995), pages 77–163. Springer-Verlag, 1996. 79
[257] P.F. Stadler and W. Schnabl. The landscape of the traveling salesman problem. Preprint. Sonderforschungsbereich
343, 1991. 79
[258] John A. Stankovic and K. Ramamritham, editors. Tutorial : Hard Real-time Systems. IEEE Computer
Society Press, Los Alamitos, CA, USA, 1989. 99, 150
[259] J. Q. Stewart. Demographic Gravitation : Evidence and Applications. Sociometry, 11(1/2) :31–58,
1948. 113
[260] Thomas Stützle. Local search algorithms for combinatorial problems - analysis, improvements, and
new applications., volume 220 of DISKI. Infix, 1999. 83
[261] Jean-Pierre SUEUR, sénateur. Villes du futur, futur des villes - quel avenir pour les villes du monde ?,
June 2011. 19
[262] J. Syrota. Perspectives énergétiques de la France à l’horizon 2020-2050 : Rapport de la Commission
Énergie. Rapports et documents. Centre d’analyse stratégique - Documentation française, 2008. 43
[263] E. Taillard. Robust tabou search for the quadratic assignment problem. Parallel Computing, 17(4-
5) :443–455, 1991. 86, 127, 128, 221
[264] Éric D. Taillard, Luca Maria Gambardella, Michel Gendreau, and Jean-Yves Potvin. Adaptive Memory
Programming : A Unified View of Meta-Heuristics. European Journal of Operational Research,
135(1) :1–16, 2001. 96
[265] E. G. Talbi, Z. Hafidi, and J.-M. Geib. A parallel adaptive tabu search approach. Parallel Comput.,
24(14) :2003–2019, December 1998. 94
[266] E.G. Talbi. Metaheuristics : From Design to Implementation. Wiley Series on Parallel and Distributed
Computing. Wiley, 2009. 58, 60, 61, 64, 65, 71, 73, 78, 79, 91, 94, 95, 159, 223
[267] H. Toussain. Algorithmique rapide pour les problèmes de tournées et d’ordonnancement. PhD thesis,
Université Blaise Pascal - Clermont-Ferrand II, 2010. 66, 71
[268] Charlotte Truchet, Florian Richoux, and Philippe Codognet. Prediction of parallel speed-ups for
las vegas algorithms. In 42nd International Conference on Parallel Processing, ICPP 2013, pages
160–169. IEEE, 2013. 93
[269] United-Nations. Department of economic and social affairs, population division : World population
2012. 19
[270] United-Nations. Department of economic and social affairs, population division : World urbanization
prospects, the 2011 revision, population of urban agglomerations. 19
[271] United-Nations. Department of economic and social affairs, population division : World urbanization
prospects, the 2011 revision, urban and rural areas 2011. 19244 BIBLIOGRAPHIE
[272] Pascal Van Hentenryck and Laurent Michel. Constraint-Based Local Search. The MIT Press, 2005.
63, 66, 87, 96, 154
[273] Carlos A Vanegas, Daniel G Aliaga, Peter Wonka, Pascal Müller, Paul Waddell, and Benjamin Watson.
Modelling the appearance and behaviour of urban spaces. In Computer Graphics Forum, volume
29, pages 25–42. Wiley Online Library, 2010. 49
[274] Vijay V. Vazirani. Approximation Algorithms. Springer-Verlag New York, Inc., New York, NY, USA,
2001. 64
[275] R. Venturi, D.S. Brown, and S. Izenour. L’Enseignement de Las Vegas ou le symbolisme oublié de la
forme architecturale. Collection architecture. Architecture + recherches. Mardaga, 1987. 28
[276] Gérard Verfaillie and Thomas Schiex. Maintien de solution dans les problèmes dynamiques de satisfaction
de contraintes : Bilan de quelques approches, 1995. 106
[277] Bruno Villalba. La dimension politique refoulée du développement durable. [88], pages 26–27. 30
[278] L. von Bertalanffy and J.B. Chabrol. Théorie générale des systèmes. Sciences des organisations.
Dunod, 1993. 114
[279] J.H. von Thünen and J. Laverrière. Recherches sur l’influence que le prix des grains, la richesse du
sol et les impots exercent sur les systèmes de culture. 1851. 110, 224
[280] Stefan Voß, Ibrahim H. Osman, and Catherine Roucairol, editors. Meta-Heuristics : Advances and
Trends in Local Search Paradigms for Optimization. Kluwer Academic Publishers, Norwell, MA,
USA, 1999. 73
[281] Chris Voudouris and Edward Tsang. Guided local search. Technical report, European Journal of
Operational Research, 1995. 89
[282] Jens Vygen. Approximation algorithms for facility location problems, 2005. 149
[283] Paul Waddell. UrbanSim : Modeling Urban Development for Land Use, Transportation and Environmental
Planning. Journal of the American Planning Association, 68(3) :297–314, 2002. 49,
117
[284] D. Walker and T.L. Daniels. The Planners Guide to CommunityViz : The Essential Tool for a New
Generation of Planning. Orton Family Foundation Books. Planners Press, American Planning Association,
2011. 122
[285] Jacques Weber. Développement viable, durable ou du rabe ? [88], pages 50–51. 30
[286] Marino WIDMER. Les métaheuiristiques : des outils performants pour les problèmes industriels.
In 3e Conférence Francophone de MOdélisation et SIMulation : Conception, Analyse et Gestion des
Systèmes Industriels, MOSIM’01, Troyes (France), April 2001. 65
[287] Marc Wiel. Comment construire une ville cohérente ? Études foncières, no 138, pages 12-17, 2009.
43
[288] D. H. Wolpert and W. G. Macready. No free lunch theorems for search. Tech. Rep. No. SFI-TR-95-
02-010, Santa Fe Institute, Santa Fe, NM, 1995. 61
[289] S. Wright. The roles of mutation, inbreeding, crossbreeding and selection in evolution. pages 355–
366, 1932. 78BIBLIOGRAPHIE 245
[290] Mutsunori Yagiura and Toshihide Ibaraki. On metaheuristic algorithms for combinatorial optimization
problems. Systems and Computers in Japan, 32(3) :33–55, 2001. 95
[291] Shlomo Zilberstein and Stuart Russell. Optimal composition of real-time systems. ARTIFICIAL
INTELLIGENCE, 82 :181–213, 1996. 99
[292] G. Zipf. Human Behaviour and the Principle of Least-Effort. Addison-Wesley, Cambridge, MA,
1949. 111
[293] G. K. Zipf. The P1P2
D
hypothesis : on the intercity movement of persons, 1946. 113
[294] M. Zlochin, M. Birattari, N. Meuleau, and M. Dorigo. Model-based search for combinatorial optimization
: A critical survey. Annals of Operations Research, 131 :373–395, 2004. 70Thèse de Doctorat
Bruno BELIN
Conception interactive d’environnements urbains durables à base de
résolution de contraintes
Interactive design of sustainable cities with constraints solving
Résumé
La conception de villes plus durables est devenue un
problème de société central. Une ville, à un stade très
en amont du processus de conception, peut être vue
comme un ensemble équilibré de formes urbaines
(unités résidentielles, commerciales, artisanales,
industrielles, routes, écoles, parcs, ...) qui doivent être
spatialement organisées suivant des règles
complexes issues d’une vision systémique de la ville,
intégrant les facettes sociales, économiques,
écologiques et de transport. Dans cette thèse, nous
proposons un outil d’aide à la décision pour assister
les urbanistes et les décideurs dans cette tâche de
conception de villes durables. Nous modélisons le
problème d’aménagement urbain comme un problème
d’optimisation que nous résolvons par des techniques
de recherche locale en réalisant une succession de
permutations entre formes urbaines. Notre outil
organise alors automatiquement les formes urbaines
sur un territoire vierge, et délimité dans l’espace. Nous
étendons cet algorithme séquentiel avec des
heuristiques novatrices pour améliorer les temps de
calcul, et nous proposons une version distribuée
efficace pour des problèmes de grande taille. Enfin,
nous y ajoutons des fonctionnalités interactives
permettant aux experts de modifier l’organisation
spatiale de la ville, tout en maintenant à la volée les
relations entre les formes urbaines, et en les informant
des impacts de leurs choix. Les avantages de notre
approche sont mis en évidence par des exemples et
des évaluations d’experts du domaine, et ouvrent la
voie vers de nouvelles façons de concevoir les villes
du futur.
Abstract
The design of more sustainable cities has emerged as
a central society issue. A city, in the early stage of its
design process, can be seen as a balanced set of
urban shapes (residential, commercial, artisanal and
industrial units, roads, schools, parks, ...). These
shapes need to be spatially organized following
complex rules based on a systemic view of the city,
including social, economic, ecological and
transportation aspects. In this thesis, we provide a
computer-aided decision tool to assist urban planners
and decision makers in the task of designing
sustainable cities. We cast the urban planning
problem as an optimization problem that we solve with
local search techniques, by iteratively swapping the
urban shapes. At this stage, our tool automatically
organizes urban shapes over a given empty, spatially
delimited territory. We extend this sequential algorithm
with novel heuristics to improve the computation time,
and propose a distributed version, efficient on large
problems. Finally, we add interactive features that
allow the experts to modify the spatial organization of
the city, while maintaining on the fly the relations
between shapes and informing the experts of the
impacts of their choices. The benefits of our approach
are highlighted by examples and feedbacks from
experts in the domain, and open the way for new
approaches to design the cities of the future.
Mots clés
Système interactif d’aide à la décision, recherche
locale distribuée, planification urbaine, ville
durable.
Key Words
Decision support system, distributed local
search, urban planning, sustainable city.
L’UNIVERSITÉ NANTES ANGERS LE MANS
Intelligence en essaim pour la distribution de
simulations dans un ´ecosyst`eme computationnel
Guilhelm Savin
To cite this version:
Guilhelm Savin. Intelligence en essaim pour la distribution de simulations dans un ´ecosyst`eme
computationnel. Artificial Intelligence. Universit´e du Havre, 2014. French. .
HAL Id: tel-00932194
https://tel.archives-ouvertes.fr/tel-00932194
Submitted on 16 Jan 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.UNIVERSITÉ DU HAVRE
UFR Sciences et Techniques
THÈSE
pour obtenir le grade de
DOCTEUR DE L’UNIVERSITÉ DU HAVRE
Discipline : Informatique
Guilhelm S
7 janvier 2014
Directeur :
Damien O Professeur à l’université du Havre
Co-directeur :
Antoine D Maître de conférence à l’université du Havre
Rapporteurs :
Pascal B Professeur à l’université du Luxembourg
Cyril F Professeur à l’université du Littoral Côte d’Opale
Examinateurs :
Paul B Directeur de recherche à l’école Polytechnique de Paris
Nicolas M Maître de conférence à l’université de ToursR
Me voici donc à rédiger ces quelques mots qui clôturent la rédaction de ce manuscrit, et
qui suscitent en moi à la fois impatience et circonspection ; l’impatience de pouvoir remercier
toutes ces personnes avec lesquelles j’ai eu l’occasion d’interagir au cours de mon doctorat.
Cependant, je l’écris avec toute la réserve possible de crainte d’en oublier certains. S’il y a
bien une partie qui vient du cœur, je pense qu’il s’agit de celle-ci, vous m’excuserez donc, je
l’espère, de ne pas l’aborder avec la rigueur d’un quelconque conformisme.
J’ai découvert le monde de la recherche durant mes premières années de fac. C’était pour
moi une nouveauté à laquelle mes enseignants de cette époque, pour la plupart cités dans
ces remerciements, ont su me donner goût. Par la suite, il m’a été donnée l’occasion de faire
un pas de plus dans cet univers et pour cela, je n’en remercierai jamais assez Damien. Merci
de m’avoir donné ma chance et d’avoir cru en moi malgré les passes difficiles. Toutes les
rencontres sont enrichissantes dans une vie, mais certaines se démarquent des autres. Tu
fais, sans conteste, partie de ces personnes à part, qui m’ont permis d’évoluer et d’élargir
ma vision du monde. Si je devais retenir une seule des choses que j’ai pu apprendre en te
côtoyant, ce serait que rien n’est plus enrichissant que d’être soi-même une entité qui participe,
avec d’autres entités au travers d’une collaboration dans la joie et la bonne humeur,
à la création d’un tout plus grand que nous. Cette thèse est aussi un travail collectif, il s’agit
d’une structure qui émerge de nombreuses interactions et je suis très honoré d’avoir pu faire
partie de son noyau à tes côtés. J’espère que les moutons remplacent désormais les avions.
Cette thèse n’aurait sûrement pas pu voir le jour sans Antoine, autre particule du noyau,
avec qui je suis resté en contact durant mon année bordelaise et qui m’a motivé pour me
lancer dans ce projet. Un énorme merci d’avoir accepté de la co-encadrer. Merci pour toutes
les ren
lectures dont je t’ai abreuvé en flux continu. Tu fais aussi partie des enseignants qui ont
participé à forger mon attirance pour la recherche et qui m’ont permis d’être là aujourd’hui.
Plus important encore, merci de m’avoir fait découvrir ces petites choses formidables que
sont le maki et le sushi.
La spatialisation, quelque peu inhabituelle, dans laquelle j’ai évolué ces dernières années,
m’a apporté une dimension humaine particulière qui a complété l’apport scientifique
de ces travaux. Je tiens à exprimer toute mon affection à ma famille d’adoption havraise,
Nath et Ced, pour m’avoir fait comprendre que de se sentir chez soi ne dépendait pas tant
du lieu, que des personnes qui s’y trouvent. Vous êtes tous les deux de superbes personnes,
qui tiennent désormais une place particulière dans mon cœur. Je souhaite que la vie vous
iR
apporte ce que vous désirez.
L’aboutissement de cette thèse n’est possible que grâce aux personnes qui ont accepté
de la rapporter et de participer au jury. Un grand merci à Pascal B et Cyril F
pour m’avoir fait l’honneur d’être rapporteurs de cette thèse. C’est un moment quelque peu
angoissant d’avoir terminé la rédaction de son manuscrit et d’être en attente des rapports
qui vont évaluer les travaux qui y sont présentés et qui correspondent à plusieurs années de
travail. Mais quel profond soulagement de découvrir, à leur réception, que cette thèse a été
jugée suffisamment digne d’intérêt pour mériter d’être soutenue. Je remercie très sincèrement
Paul B et Nicolas M pour m’avoir eux aussi fait l’honneur d’accepter
d’examiner ce manuscrit. Vous faites tous partie des personnes jouant un rôle déterminant
dans la conclusion de ces travaux, et je vous en suis profondément reconnaissant.
Merci à Stefan qui, non satisfait de m’avoir appris à équilibrer les arbres de manière stendhaleuse,
m’a fait découvrir la réaction hors du commun se produisant lorsqu’un échantillon
de Bg est plongé dans une solution aqueuse dans des conditions de température faible. Et
plus généralement, merci pour toutes les aventures de la même-pas-cap team. Un grand
merci pour ta relecture très constructive de ce manuscrit.
Merci à Yoann pour les nombreux moments partagés. Et il y en a ! D’abord en tant qu’enseignant,
puis en tant que thésard collègue de bureau, et désormais en tant qu’ami. Je pense
que notre invention du frigo-luge, sport méconnu du grand public, restera dans les méandres
oubliés de l’histoire, faute d’avoir prévu un podium adapté.
La plupart des thésards présents au début de ma thèse sont désormais partis. Seuls deux
restent, perdus dans les abîmes d’une rédaction qui semblait ne pas vouloir se terminer.
Merci à Haïfa pour avoir formé le groupe de vétérans des thésards de la B213 ! Ainsi que pour
ta bonne humeur quasi permanente. Je n’oublie pas les différents thésards qui se sont peu
à peu éloignés vers de nouveaux horizons : Nizar, Michel, Gaétan, Karim, Franzo, Cédric,
Djam, Fahem, et, plus au sud, Frédéric.
Quand tout semble se dérober sous nos pieds, il reste toujours une base solide sur laquelle
s’appuyer. Je tiens donc à remercier ma famille pour son soutien tout au long de ces années.
En particulier ma mère, Catherine, pour sa chasse aux fautes d’orthographe et ma grandmère,
Christiane, pour m’avoir fréquemment offert le gîte et régalé de raie au beurre noir.
Mais aussi mon père Jean-Noël, Stéphanie, et bien sûr, mes sœurettes Laureline et Maïté
et mon frère Thibault. J’ai aussi une pensée affectueuse pour mes grand-parents jurassiens,
Danièle et Michel, que je ne vois pas aussi souvent que je le souhaiterai. Ainsi que pour mon
grand-père, Bernard, qui s’est éteint avant d’avoir pu voir cette thèse terminée. Merci à
ma tante Valérie de m’avoir permis de me ressourcer régulièrement là où la terre prend fin.
Merci à tous les membres de ma famille que je n’ai pas la place de citer ici, mais qui n’en sont
pas moins la cible de mes remerciements. Merci aussi à ma belle-famille, Antoine, Candice,
Dominique, Nadine, pour m’avoir souvent accueilli et nourri ; ainsi que pour votre soutien.
Merci aux différents membres de l’équipe RI2C, et plus généralement du LITIS, voire
du LMAH ! En particulier, Véronique, toujours souriante et à l’écoute ; Frédéric, avec qui il
est vraiment plaisant d’interagir. Mais aussi Éric, et, plus récemment Rodolphe. Sans oublier
les irréductibles Cyrille et Aziz, qui ne doivent avoir un badge que pour entrer dans
iile bâtiment. J’ai une pensée chaleureuse pour Claire ; ainsi que pour Laurent, Dominique,
Jean-Luc, Guillemette, Pierrick, Guillaume, et Arnaud.
Merci aux amis avec qui j’ai pu passé régulièrement de bons moments. En particulier le
clan des amis de toujours, Cédric, Jérémy, François, Mathieu, Antony, Aline, Élise ; Cédric
et Aline ont aussi eu à subir mes squattes réguliers, au détriment de certaines madeleines
dont mes papilles en remercient encore la cuisinière. Le clan Chateau-Corson, Yann, Rachel,
Antoine, Paula, Marie, Philippe, Catherine. Le clan voileux, dont la première rencontre se
fit au milieu de délicieuses effluves de fromage, sous la supervision intransigeante de Nath ;
merci donc à Clem, Tanguy, Benj, Romain, Julie. Sans oublier Vesela, Raphaël, Fabienne,
Gaby, Rafika, Caroline, Maya. Et le clan d’Oc, Xavier, Manu, Carine, Benjamin, Mélanie,
Christine, Gérard, Corinne, Isabelle. Je m’excuse par avance auprès de ceux que j’ai oublié,
car il y en a très certainement !
Je remercie également ceux qui suivent les chemins d’Iwama. J’ai pu, grâce à vous, trouver
une paix intérieure qui a contribué à me donné la force de terminer. Merci donc à JeanLouis,
pour tes discussions enrichissantes, et pour m’avoir poussé à finaliser ce manuscrit.
Merci à Alexis, Virginie et Christelle, mais aussi à tout les autres. Namasté.
Merci à la SNCF, pour m’avoir gracieusement offert des heures gratuites à bord de ses
trains, même si j’aurais aimé pouvoir en contrôler le moment pour en profiter. Merci au
Trappiste, à la Petite Rade, au Miyaki et aux kebabs.
Enfin, une place spéciale pour quelqu’un de spécial, ma dulcinée, Solenne, qui me fait la
joie de partager ma vie depuis bientôt huit années. Désolé pour les absences, et l’humeur parfois
(souvent ?) irascible. Mais surtout, merci pour ta présence, ton soutien, et ton amour.
Il va être temps pour nous de prendre de la hauteur pour continuer de découvrir de nouveaux
horizons, peuplés d’étoiles encore inconnues. Avec tout mon amour.
Merci à vous, qui parcourez cette page et peut être les suivantes, car, ce faisant, vous
contribuez à leur donner un sens.
iiiÀ ma puce Daelys, qui a vu le jour au début de cette thèse,
et qui m’a accompagné toutes ces années.
Tous ceux là, ce sont des individus, qui ne sont pas des dieux bien sûr, ce sont des
hommes, mais ces hommes, ils communiquent les uns avec les autres, ils mettent
en commun, ils créent quelque chose qui est supérieur à eux, par leurs liens, par
leur mise en commun, par leurs échanges, ils font plus qu’eux même et au fond
c’est toute la réalité de notre univers, que chaque fois que l’on assemble, on fait
apparaître autre chose, on fait apparaitre de l’inattendu ; et bien quand on assemble
des hommes, quelque chose de nouveau apparait.
Albert Jacquard, Noms de dieux, 1994
vT
Remerciements i
Table des matières vi
Table des figures xi
Liste des algorithmes xv
I Introduction générale 1
Préambule 3
1 Contexte 7
1.1 Systèmes complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Écosystème computationnel . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.2 Vers une écologie computationnelle . . . . . . . . . . . . . . . 16
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 Problèmatique 19
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
II Positionnement 27
3 Réseaux d’interactions 29
3.1 Graphes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.1 Une première approche . . . . . . . . . . . . . . . . . . . . . 31
3.1.2 Modélisation de la dynamique . . . . . . . . . . . . . . . . . . 36
3.1.3 Une approche stochastique des graphes : les chaînes de Markov . 40
3.1.4 Vers une représentation formelle . . . . . . . . . . . . . . . . . 41
3.1.5 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
viTable des matières
3.2 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2.1 Communautés et organisations . . . . . . . . . . . . . . . . . . 54
3.2.2 Forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4 Répartition de charge 63
4.1 Partitionnement du graphe . . . . . . . . . . . . . . . . . . . . . . . 64
4.2 Approches statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2.1 Technique de la bissection récursive . . . . . . . . . . . . . . . 65
4.2.2 Technique multi-niveaux . . . . . . . . . . . . . . . . . . . . . 65
4.2.3 Classification hiérarchique . . . . . . . . . . . . . . . . . . . . 66
4.2.4 Théorie spectrale . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.5 Approches bio-inspirées . . . . . . . . . . . . . . . . . . . . . 71
4.3 Approches dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.1 Approches par diffusion . . . . . . . . . . . . . . . . . . . . . 77
4.3.2 Approches par particules . . . . . . . . . . . . . . . . . . . . . 77
4.3.3 Diffusion de labels . . . . . . . . . . . . . . . . . . . . . . . . 78
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5 Calcul distribué 83
5.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1 Le système distribué, cette super-machine . . . . . . . . . . . . 84
5.1.2 Réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.1.3 Stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.4 Intergiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2 Différents types de systèmes distribués . . . . . . . . . . . . . . . . . . 89
5.2.1 Grappe de calcul . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2.2 Grille de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.3 Cloud computing . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2.4 Écosystème computationnel . . . . . . . . . . . . . . . . . . . 92
5.3 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.1 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.2 Marche aléatoire dans un graphe . . . . . . . . . . . . . . . . . 97
5.3.3 Algorithmes fourmis . . . . . . . . . . . . . . . . . . . . . . . 98
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
viiT
III Modèle 103
6 Modélisation des interactions 105
6.1 Qu’est ce que l’interaction ? . . . . . . . . . . . . . . . . . . . . . . . 106
6.1.1 Interactions & Émergence . . . . . . . . . . . . . . . . . . . . 106
6.1.2 Causalité ascendante et descendante . . . . . . . . . . . . . . . 107
6.2 Propriétés des interactions . . . . . . . . . . . . . . . . . . . . . . . . 107
6.2.1 Interaction directe ou indirecte . . . . . . . . . . . . . . . . . . 107
6.2.2 Interaction synchrone ou asynchrone . . . . . . . . . . . . . . 108
6.2.3 Interaction ciblée ou diffuse . . . . . . . . . . . . . . . . . . . 109
6.3 Représentation et manipulation des interactions . . . . . . . . . . . . . 109
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7 Modélisation des organisations 113
7.1 Qu’est ce qu’une organisation ? . . . . . . . . . . . . . . . . . . . . . 113
7.2 Du micro au macro : le changement d’échelle . . . . . . . . . . . . . . . 114
7.2.1 Granularité de la vue sur le modèle . . . . . . . . . . . . . . . . 115
7.2.2 Intérêt du changement d’échelle . . . . . . . . . . . . . . . . . 115
7.2.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.3 Réification des organisations . . . . . . . . . . . . . . . . . . . . . . . 117
7.3.1 Propriété de connexité . . . . . . . . . . . . . . . . . . . . . . 117
7.3.2 Fusion d’organisations connexes . . . . . . . . . . . . . . . . . 118
8 Détection des centroïdes 119
8.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.2 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.2.2 Centres et centroïdes . . . . . . . . . . . . . . . . . . . . . . 121
8.3 Des fourmis et des centroïdes . . . . . . . . . . . . . . . . . . . . . . 122
8.4 Application aux organisations . . . . . . . . . . . . . . . . . . . . . . 125
8.5 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.5.1 Condition d’arrêt . . . . . . . . . . . . . . . . . . . . . . . . 128
8.5.2 Comparaison des résultats . . . . . . . . . . . . . . . . . . . . 128
8.5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
9 Outil de modélisation 133
9.1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
9.2 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.2.1 Générateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.2.2 Métriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.2.3 Recherche de structures . . . . . . . . . . . . . . . . . . . . . 138
9.3 Exportation, importation et visualisation . . . . . . . . . . . . . . . . . 138
viiiTable des matières
9.3.1 Formats de fichier . . . . . . . . . . . . . . . . . . . . . . . . 138
9.3.2 Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.3.3 Communications réseaux, inter-threads et inter-plateformes . . . 142
9.4 Comment l’utiliser . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
IV Distribution 149
10 Répartition de charges 151
10.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
10.1.1 Pourquoi une répartition dynamique ? . . . . . . . . . . . . . . 152
10.1.2 Organisations et répartition . . . . . . . . . . . . . . . . . . . 153
10.1.3 Répartition dynamique . . . . . . . . . . . . . . . . . . . . . 153
10.1.4 Qui répartit le répartiteur ? . . . . . . . . . . . . . . . . . . . . 153
10.2 AntCo2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.2.2 Extraction des organisations . . . . . . . . . . . . . . . . . . . 159
10.2.3 Lissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.3 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.3.1 Description des simulations . . . . . . . . . . . . . . . . . . . 163
10.3.2 Méthodes existantes . . . . . . . . . . . . . . . . . . . . . . . 163
10.3.3 Intégration du nombre de migrations . . . . . . . . . . . . . . . 169
10.3.4 Synthèse générale sur les résultats . . . . . . . . . . . . . . . . 177
11 Intergiciel 179
11.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
11.2 L’acteur, un objet actif . . . . . . . . . . . . . . . . . . . . . . . . . . 180
11.2.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
11.2.2 Le paradigme acteur . . . . . . . . . . . . . . . . . . . . . . . 184
11.2.3 Gestion des différents mécanismes . . . . . . . . . . . . . . . . 184
11.3 Une architecture décentralisée . . . . . . . . . . . . . . . . . . . . . . 187
11.3.1 Agence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
11.3.2 Le tout acteur . . . . . . . . . . . . . . . . . . . . . . . . . . 187
11.4 Services des agences . . . . . . . . . . . . . . . . . . . . . . . . . . 188
11.4.1 Découverte d’autres agences . . . . . . . . . . . . . . . . . . . 188
11.4.2 Lucioles et horloge globale décentralisée . . . . . . . . . . . . . 188
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
ixT
Conclusion & Perspectives 193
Annexes 199
A Un modèle de comportement de groupe : les boids 199
A.1 Règles de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
A.2 Voisinage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
A.3 Intégration dans GS . . . . . . . . . . . . . . . . . . . . . 201
B Simulations de tests 203
B.1 Simulation statique, S1 . . . . . . . . . . . . . . . . . . . . . . . . . 203
B.2 Simulation dynamique, S2 . . . . . . . . . . . . . . . . . . . . . . . . 204
C GraphStream 207
C.1 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . . 207
C.1.1 Éléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
C.1.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
C.1.3 Source et puits . . . . . . . . . . . . . . . . . . . . . . . . . 211
C.1.4 Fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
C.1.5 Algorithmes et générateurs . . . . . . . . . . . . . . . . . . . 215
C.2 Spécifications de DGS au format BNF . . . . . . . . . . . . . . . . . . . 215
D Plateforme d3 217
D.1 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . 217
D.2 Requêtes aux acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Bibliographie et index 223
Bibliographie 225
Publications 237
Index 239
Résumé 243
xT
0.1 Yet Another Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 Fourmis mangeant un morceau de pomme. . . . . . . . . . . . . . . . . . 8
1.2 Essaim d’abeilles sur un arbre. . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Nuée d’oiseaux marins aux îles Shumagin. . . . . . . . . . . . . . . . . . . 10
1.4 Organisation entre fourmis pour traverser un trou. . . . . . . . . . . . . . . 12
1.5 Homéostasie du système thyroïdien. . . . . . . . . . . . . . . . . . . . . . 13
1.6 Système fermé, système ouvert . . . . . . . . . . . . . . . . . . . . . . . 14
1.7 Les différentes couches d’un système distribué . . . . . . . . . . . . . . . . 15
2.1 Description du contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Résilience d’ingénierie et résilience écologie . . . . . . . . . . . . . . . . . 23
2.3 Exemples de formes d’organisation . . . . . . . . . . . . . . . . . . . . . 24
2.4 Décomposition d’une organisation . . . . . . . . . . . . . . . . . . . . . . 25
3.1 Quelques exemples de réseaux . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Exemple de réseau sans échelle . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Présentation des différentes couches en se basant sur une simulation de boids :
(a) le réseau d’interactions, (b) le graphe dynamique initial modélisant le ré-
seau, (c) une vue macroscopique du graphe dynamique . . . . . . . . . . . 35
3.4 Illustration du modèle de dynamique séquentielle . . . . . . . . . . . . . . 37
3.5 Illustration du modèle de dynamique cumulative . . . . . . . . . . . . . . . 38
3.6 Illustration du modèle de dynamique en flux . . . . . . . . . . . . . . . . . 39
3.7 Quelques exemples de mesure de la centralité . . . . . . . . . . . . . . . . 45
3.8 Graphes jouets utilisés pour illustrer les différentes centralités . . . . . . . . 46
3.9 La centralité utilisant le degré appliquée aux graphes G1 et G2 . . . . . . . . 47
3.10 Mesure de la proximité appliquée aux graphes G1 et G2 . . . . . . . . . . . . 48
3.11 Application de l’intermédiarité aux graphes G1 et G2 . . . . . . . . . . . . . 50
3.12 Application du PageRank aux graphes G1 et G2 . . . . . . . . . . . . . . . . 51
3.13 3 communautés formant des cliques . . . . . . . . . . . . . . . . . . . . . 55
3.14 Concept de processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.15 Un graphe dynamique vu comme le résultat d’un ensemble de processus . . . 57
3.16 Transmission discrète et continue . . . . . . . . . . . . . . . . . . . . . . 58
xiT
3.17 Processus micro/macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.18 Processus local/global. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1 Un exemple de partitionnement d’un graphe . . . . . . . . . . . . . . . . . 64
4.2 Illustration de l’approche multi-niveaux appliquée au partitionnement. . . . . 66
4.3 Dendrogramme associé à une classification hiérarchique ascendante . . . . . 68
4.4 Matrice d’adjacence et Laplacienne non-normalisée d’un graphe. . . . . . . . 71
4.5 Codage, croisement et mutation dans un algorithme génétique . . . . . . . . 76
5.1 Classification de l’architecture des machines proposée par Michael J. F . . 85
5.2 Une grappe réalisée avec des R P. . . . . . . . . . . . . . . . . . 90
5.3 Répartition, entre utilisateur et fournisseur du cloud, de la gestion des diffé-
rentes couches d’un système distribué en fonction du modèle (IaaS, PaaS, SaaS). 93
5.4 Un automate e/s de processus . . . . . . . . . . . . . . . . . . . . . . . . 96
5.5 Un automate e/s de communication . . . . . . . . . . . . . . . . . . . . . 96
6.1 Causalité ascendante et descendante. . . . . . . . . . . . . . . . . . . . . 108
6.2 Interaction (a) synchrone et (b) asynchrone entre une entité source et une entité
cible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.3 Création d’interactions naïve . . . . . . . . . . . . . . . . . . . . . . . . 111
6.4 Création d’interactions avancée avec ρini t = 1, δρ = 0.5, ϖ = 0.7 et ρdel = 0.3. 112
7.1 Vue microscopique et vues macroscopiques . . . . . . . . . . . . . . . . . 116
7.2 Exemple de détection d’organisations non-connexes . . . . . . . . . . . . . 118
8.1 Distances des nœuds. La structure en gras représente le sous-graphe induit par
les nœuds dont la distance est minimale, ce qui correspond au centroïde de ce
graphe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
8.2 une organisation comportant une partie faible (en orange). . . . . . . . . . . 126
8.3 (a) une organisation est fournie par un algorithme de détection d’organisations,
(b) une partie faible est détectée, (c) l’organisation initiale est scindée en deux
nouvelles organisations sans partie faible. . . . . . . . . . . . . . . . . . . 127
8.4 Dans cet arbre de 50 nœuds, les fourmis ont détecté le centroïde optimal . . . 127
9.1 Un exemple basique de réseau composé d’une source, de canaux, et d’un puits 136
9.2 Un générateur de graphe dynamique basé sur le modèle des boids. . . . . . . 137
9.3 Résultat d’une marche aléatoire . . . . . . . . . . . . . . . . . . . . . . . 139
9.4 Exemple de fichier DGS . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.5 Affichage avancé dans GS . . . . . . . . . . . . . . . . . . . . 142
9.6 Le protocole NetStream . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.7 Intégration de GS dans NetLogo . . . . . . . . . . . . . . . . . 144
9.8 Le réseau routier du Havre et de ses environs modélisé en tant que graphe par
GS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
xiiTable des figures
10.1 Différents scénarios d’utilisation du répartiteur de charges . . . . . . . . . . 154
10.2 Application de AntCo2
à un graphe de 400 nœuds généré par attachement pré-
férentiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.3 Graphe du Zachary Karate Club . . . . . . . . . . . . . . . . . . . . . . . 161
10.4 Tracé de la mesure r1 pour la simulation S1 . . . . . . . . . . . . . . . . . . 166
10.5 Tracé de la mesure r2 pour la simulation S1 . . . . . . . . . . . . . . . . . . 167
10.6 Impact de la valeur du délai sur l’évolution de r1 pour la simulation S1. . . . . 168
10.7 Impact de la valeur du délai sur l’évolution de r2 pour la simulation S1. . . . . 169
10.8 Impact de la valeur du délai sur l’évolution de r1 pour la simulation S2. . . . . 170
10.9 Impact de la valeur du délai sur l’évolution de r2 pour la simulation S2. . . . . 171
10.10 Tracé de la mesure r1 pour la simulation S2 . . . . . . . . . . . . . . . . . . 172
10.11 Tracé de la mesure r2 pour la simulation S2 . . . . . . . . . . . . . . . . . . 173
10.12 Évolution du nombre total de communications effectives et de migrations pour
la simulation S1 (échelle logarithmique) . . . . . . . . . . . . . . . . . . . 174
10.13 Évolution du nombre total de communications effectives et de migrations pour
la simulation S2 (échelle logarithmique) . . . . . . . . . . . . . . . . . . . 175
10.14 Évolution de C en fonction de k pour la simulation S1 . . . . . . . . . . . . 177
10.15 Évolution de C en fonction de k pour la simulation S2 . . . . . . . . . . . . 177
11.1 Appel de méthode entre objets classiques et objets actifs. Un objet A appelle une
méthode d’un objet B. B exécute alors cette méthode et retourne un résultat à
A qui effectue alors un traitement. . . . . . . . . . . . . . . . . . . . . . . 182
11.2 Architecture d’un acteur. . . . . . . . . . . . . . . . . . . . . . . . . . . 183
11.3 Protocole de migration . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
11.4 Différences entre unicast, broadcast et multicast . . . . . . . . . . . . . . . 189
11.5 Les lucioles « synchrones » à Elkmont dans le parc national des Great Smoky
Mountains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
11.6 Synchronisation des lucioles . . . . . . . . . . . . . . . . . . . . . . . . . 192
A.1 Règles appliquées aux boids telles que définies par Craig R. . . . . . 200
B.1 Une grille de dimension 11×11 . . . . . . . . . . . . . . . . . . . . . . . 204
B.2 Un exemple de grille plaquée sur un tore . . . . . . . . . . . . . . . . . . . 204
D.1 Exemple de méthode invocable dans d3
. . . . . . . . . . . . . . . . . . . 221
xiiiL A
1 Calcul d’une partition à l’aide de la théorie spectrale . . . . . . . . . . . . 72
2 Recuit simulé appliqué au partitionnement . . . . . . . . . . . . . . . . 73
3 Algorithme génétique appliqué au partitionnement . . . . . . . . . . . . . 75
4 Cycle d’un algorithme fourmis . . . . . . . . . . . . . . . . . . . . . . . 100
5 Calcul classique du centroïde . . . . . . . . . . . . . . . . . . . . . . . 123
6 Algorithme général . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7 Étape d’une fourmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8 Cycle d’une luciole . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
xvPremière partie
Introduction générale
1P
Ce manuscrit présente nos travaux sur la distribution de simulations de système complexe.
À une autre échelle, nous considérons l’ensemble des entités de la simulation, et l’infrastructure
matérielle utilisée pour la distribution, comme un système complexe à part entière.
Nous effectuons le parallèle avec les écosystèmes naturels afin de mettre en évidence
que nous sommes en présence d’un environnement (le système distribué) qui fournit des ressources
(calcul, mémoire, etc…) à un ensemble d’organismes (les entités) afin de leur permettre
de se développer, de s’exécuter mais aussi d’interagir. Ces éléments nous amènent à
penser en terme d’écosystème computationnel désignant l’ensemble de notre système distribué
dédié aux simulations de système complexe. Au travers de cette vision nous cherchons à
dégager des propriétés souvent propres aux systèmes naturels que l’on souhaiterait obtenir,
sur le long terme, pour ce type de système distribué : robustesse, adaptabilité, résilience.
Notre travail n’est qu’un pas dans cette direction. Nous proposons de centrer ce dernier
autour des interactions et, à cette fin, de modéliser les simulations sous la forme d’un graphe
dynamique les représentant. Cela nous amène à réfléchir sur les différentes façons d’aborder
la dynamique, mais aussi la lecture de ce modèle. En effet, nous cherchons dans ce graphe
des motifs, c’est à dire des organisations, qui vont nous permettre d’obtenir un plus haut
niveau de représentation du graphe et, éventuellement, de gouverner le système de façon à
en optimiser les propriétés qui lui permettront de résister et de s’adapter aux perturbations.
Ces éléments sont complétés par le développement d’une bibliothèque de graphe dynamique
permettant à la fois la modélisation, mais également des mesures locales, globales ou structurelles.
À cela s’ajoute un intergiciel offrant aux simulations la possibilité d’utiliser les informations
collectées au niveau du modèle et la possibilité de migrer les entités composant ces
simulations afin d’aller vers une distribution efficace.
Nous avons choisi de diviser la présentation de ces travaux en quatre parties. La première
partie, nommée « Introduction générale », nous permet de développer le cadre global
des travaux qui seront présentés dans les parties suivantes. Ainsi, un premier chapitre
« Contexte » aborde les systèmes complexes et les réseaux d’interactions ; puis nous dé-
taillons la notion de système distribué, suivi d’une analogie entre un système distribué dédié
aux simulations de système complexe et un écosystème naturel. Nous présentons ensuite,
dans un second chapitre, notre «Problèmatique» qui introduit les contraintes liées à la modélisation
des interactions et à la dynamique. D’une part la dynamique du réseau d’interactions,
et d’autre part celle de l’environnement de distribution.
3. P
Dans la seconde partie, « Positionnement », nous présentons l’état de l’art des diffé-
rents problèmes abordés. Ainsi le chapitre « Réseaux d’interactions » présente la modélisation
d’un réseau d’interactions sous forme de graphe dynamique. Différentes approches de
la modélisation de la dynamique sont abordées. Puis nous nous intéressons aux structures
qui apparaissent dans ce graphe, ainsi qu’aux processus qui vont participer à la dynamique
du graphe. Le chapitre suivant aborde la « Répartition de charge » sous l’angle du partitionnement
de graphes, d’abord de manière générale, puis en s’appuyant sur les différentes
approches statiques et dynamiques. Enfin, le chapitre «Calcul distribué» expose l’architecture
générale de l’infrastructure d’un système distribué. Ce chapitre nous permet de décrire
différents types de systèmes distribués tels que les grappes de calcul, les grilles, le cloud
computing, pour terminer sur les écosystèmes computationnels ; et d’exposer une première
approche sur la manière d’envisager l’algorithmique dans un tel système.
La troisième partie, « Modèle», est dédiée aux modèles que nous proposons pour repré-
senter les interactions entre les entités et les organisations. Nous consacrons le premier chapitre
de cette partie à la « Modélisation des interactions », en décrivant leur importance au
sein du système, leur rôle dans l’émergence d’organisation, ainsi que certaines de leurs propriétés.
Nous nous intéressons à la « Modélisation des organisations » dans le chapitre suivant,
et plus particulièrement aux différentes échelles de représentation du système. Puis,
nous verrons des « Détection des centroïdes » que nous pouvons appliquer à nos modèles
afin d’augmenter la robustesse du système. Nous décrivons, en particulier, une mesure de
centralité, basée sur une approche à base de fourmis numériques, dont le but est de détecter
les centroïdes des organisations. Enfin, nous terminerons cette partie par une présentation
de notre « Outil de modélisation », GS, dont le but est de permettre la manipulation
de la dynamique d’un graphe.
Enfin, la dernière partie «Distribution» expose notre contribution à la répartition dynamique
et décentralisée de charge, ainsi qu’à la modélisation de l’environnement de distribution.
Le chapitre « Répartition de charges », quant à lui, montre les enjeux de la répartition
dynamique de charge. Il développe l’algorithme AntCo2 qui est notre approche à base de colonie
de fourmis utilisée pour détecter des organisations dans le graphe dynamique modélisant
les entités. Ces organisations nous permettent de répartir les entités de manière à équilibrer
la charge et à réduire la bande passante du réseau. Cet algorithme peut cependant conduire
à l’oscillation de certaines entités entre plusieurs organisations, ce qui conduit à des migrations
intempestives venant dégrader les performances globales du système. Nous proposons
des méthodes de lissage pour permettre de réduire ces oscillations, suivies de résultats. Nous
présentons dans un dernier chapitre « Intergiciel » notre contribution à la modélisation de
l’intergiciel d’un écosystème computationnel. Ce modèle propose une architecture décentralisée,
où les entités peuvent communiquer de manière asynchrone.
Nous terminons sur une discussion qui nous permet de conclure ce manuscrit et de pré-
senter les perspectives qui pourront définir une suite future à ces travaux.
4.
Intelligence en
essaim pour
la distribution
de simulations
dans un
écosystème
computationnel
.
Introduction
générale
.
Contexte
.
Problèmatique
.
Positionnement
.
Réseaux
d’interactions
.
Répartition
de charge
.
Calcul
.
distribué
Modèle
.
Modélisation
des interactions
.
Modélisation
des organisations
.
Détection
des centroïdes
.
Outil de
modélisation
.
Distribution
.
Répartition
de charges
.
Intergiciel
.
F 0.1 : Yet Another Table of Contents
5C
1
C
1.1 Systèmes complexes . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Écosystème computationnel . . . . . . . . . . . . . . . . . . . . . 13
1.2.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . 14
1.2.2 Vers une écologie computationnelle . . . . . . . . . . . . . 16
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Nous nous plaçons dans le cadre d’étude des systèmes complexes qui n’est pas sans poser
de problème étant un domaine dynamique et foisonnant. En effet, il n’offre pas de définition
consensuelle : certains abordent le problème à l’aide d’exemples tels que le vol en essaim
(cf. figure 1.3), le trafic routier et ses embouteillages, ou encore les sociétés d’insectes (cf.
figures 1.1 et 1.2)… D’autres l’abordent à l’aide de formulations généralistes telles que « le
tout est plus que la somme des parties » qui bien qu’intéressantes ne peuvent constituer un
cadre formel.
Il n’est pas dans nos prétentions dans cette introduction de proposer une définition qui
lèverait tous ces manques et comblerait toutes les ambiguïtés. Notre propos se situe dans le
contexte systémique où les interactions s’expriment et définissent des propriétés locales et
globales à différents niveaux d’échelle éventuels.
1.1 Systèmes complexes
Les systèmes complexes sont un des composants de bases de nos travaux et pourtant, il
est difficile d’en fournir une définition formelle et consensuelle, qui serait valable pour toutes
7. C
.
F 1.1 : Fourmis mangeant un morceau de pomme. Image sous licence Creative Commons 3.0
par Zainichi Gaikokujin
les personnes travaillant sur le sujet, du fait que le terme même de complexité est polysé-
mique. La difficulté réside d’une part dans les multiples disciplines utilisant le paradigme des
systèmes complexes qui rendent nécessaire l’utilisation d’un vocabulaire commun, et d’autre
part dans la compréhension que nous avons du terme complexité. En tant qu’informaticiens,
nous sommes habitués à manipuler des complexités qui expriment le temps de calcul nécessaire
à un algorithme pour s’exécuter, la quantité de mémoire nécessaire à son exécution,
ou encore la complexité aléatoire de Kolmogorov [K 1965] qui définit la taille du
plus petit algorithme (en nombre de caractères) nécessaire à la production d’une donnée de
sortie à partir de données d’entrée. Les systèmes complexes rentrent dans un champ multidisciplinaire
ce qui implique que la compréhension de la complexité ne peut se restreindre
aux définitions du domaine de l’informatique seul qui se limitent à la théorie de l’information
et ne capturent pas des dimensions essentielles. Nous allons donc tenter dans la suite de
fixer les notions de systèmes et de leur complexité tels que nous les appréhendons.
D’une manière générale, un système est un environnement, délimité du milieu extérieur
81.1. Systèmes complexes
.
F 1.2 : Essaim d’abeilles sur un arbre. Image sous licence CC BY-NC par Fir0002/Flagstaffotos
par une membrane, dans lequel un ensemble d’éléments va avoir la possibilité d’interagir et
éventuellement de s’organiser. Cet environnement et ces éléments sont régis par un certain
nombre de contraintes qui vont permettre de caractériser le système. Les interactions
peuvent être fixes comme dans le cas d’un moteur constituant un système électrique, ou
libres, mais dans ce cas soumises à des contraintes comme par exemple un écosystème naturel.
Nous verrons par la suite que cette membrane qui isole l’environnement peut être
ouverte ou fermée en fonction du fait qu’elle permette ou non des échanges avec le milieu
extérieur. Les éléments, que nous nommerons par la suite entités, ont la possibilité d’interagir
entre eux mais aussi avec l’environnement. Celui-ci peut d’ailleurs servir d’intermé-
diaire à une forme d’interaction indirecte comme par exemple la stigmergie chez les termites
constructeurs [G 1959]. La stigmergie est un mode de communication qui consiste à
déposer un message dans l’environnement qui déclenchera ensuite une réaction de la part
9. C
.
F 1.3 : Nuée d’oiseaux marins aux îles Shumagin. Cette image est dans le domaine publique
des entités qui en prendront connaissance. Des interactions entre les entités peut se dégager
de l’organisation entre les entités, et de ce fait, on ne peut limiter le système à la somme
de ses parties. Le système est au contraire formé par l’environnement, les entités, leurs interactions
ainsi que des propriétés qui émergent du comportement et des interactions des
entités.
On retrouve cette notion d’organisation formant un tout dans la définition de système
donnée dans [S 1931] :
.
“
Totalité organisée, faite d’éléments solidaires ne pouvant être définis que les uns
par rapport aux autres en fonction de leur place dans cette totalité..
Un système peut être ouvert ou fermé. Lorsqu’il est ouvert, la membrane qui délimite
”
l’environnement du système est poreuse et laisse donc passer des flux de l’extérieur du système
qui viennent perturber le système. Le système peut émettre en retour des flux vers
l’extérieur. Ces flux qui traversent le système et sur lesquels le système n’a ni contrôle ni
possibilité de prédiction absolue cassent le déterminisme du système et vont être responsables
de phénomènes d’auto-organisation qui peuvent apparaître. Le système suit alors une
trajectoire qui est non-déterministe. La définition d’un système fermé découle naturellement
de la précédente comme étant son contraire : la membrane du système est hermétique et
les flux traversant l’environnement se cantonnent donc à ceux générés par le système lui
101.1. Systèmes complexes
même. Un système totalement fermé relève du concept. En effet, la nature ne possède pas
d’exemple de tels systèmes et leur observation en serait d’ailleurs impossible : comment observer
quelque chose qui ne se laisse pas traverser par la moindre particule et qui n’en émet
aucune ? C’est pourquoi dans ces travaux nous considérerons que le système est ouvert afin
d’être au plus proche de la réalité des systèmes naturels dont nous nous inspirons.
Le système que nous considérons peut donc être assimilé aux systèmes dissipatifs tels
que formulés par Ilya P et Isabelle S dans [P et S 1996].
Ces systèmes ouverts sont traversés par des flux d’énergie et de matière provenant de l’environnement
extérieur et convertissent une partie de ce flux en informations afin de créer
de l’ordre à l’intérieur du système. Cette absorption d’énergie conduit à l’augmentation de
l’entropie globale du système, qui est dissipée par des phénomènes d’auto-organisations.
La complexité repose sur plusieurs choses. Tout d’abord sur l’appréhension que l’on peut
avoir sur les entités et leurs interactions. En effet, la quantité de ces éléments peut être telle
qu’il devient difficile voire impossible, que ce soit pour un observateur humain ou même
pour une machine, de considérer la totalité des éléments du système et de ce fait de pouvoir
étudier le système par des approches globales. Elle est aussi liée au fait que le système
soit plongé dans le temps [C et H 1997]. Ce temps va définir une succession
d’états du système. Il peut être continu, c’est à dire que peu importe deux temps réels t1
et t2 auxquels correspond un état du système, on peut trouver un état au temps t3 tel que
t1 < t3 < t2. Au contraire, le temps peut être discret : l’état du système n’est défini que
pour certaines valeurs de temps qui sont séparées par un intervalle constant ou non. Dans
ces travaux, nous nous focaliserons sur une approche par événements discrets qui consiste à
considérer les modifications qui surviennent dans le système plutôt que le temps lui même
[Z, P et K 2000]. Cette temporalité, qu’elle soit événementielle ou non,
mène donc au fait que l’on observe une dynamique des différents composants du système,
que ce soit l’apparition ou la disparition d’entités ou d’interactions entre les entités, ou encore
la dynamique des propriétés du système. L M dans [L M 1994] intègre
cette notion d’évolution dans sa description du Système Général :
.
“
un objet qui, dans un environnement, doté de finalités, exerce une activité et voit
sa structure interne évoluer au fil du temps, sans qu’il perde pourtant son identité
unique..
Du fait des interactions entre les entités et de la temporalité, on observe des
”
phénomènes
qui créent de l’organisation au sein du système et qui peuvent intervenir sur différentes
échelles, spatiales ou temporelles. Il est donc nécessaire d’être capable d’effectuer un changement
d’échelle, grâce à la détection des organisations, pour pouvoir observer à un plus
haut niveau d’organisation. Ces phénomènes peuvent survenir à l’échelle microscopique sur
une période de temps suffisamment courte pour pouvoir considérer le phénomène comme
instantané. Ils oscillent autour d’un point d’équilibre. Ces phénomènes, que l’on qualifiera de
synchroniques, bien qu’agissant à l’échelle microscopique ont des conséquences sur l’échelle
macroscopique par leur répétition qui renforce d’autres phénomènes, qualifiés de diachroniques,
qui agissent à une échelle macroscopique. L’action de ces derniers s’effectue sur une
11. C
.
F 1.4 : Organisation entre fourmis pour traverser un trou. L’auteur de cette image est inconnu
fenêtre de temps beaucoup plus large avec des conséquences non-réversibles sur l’environnement
qui entraînent des conséquences sur les phénomènes synchroniques. On peut citer
comme exemple l’infiltration d’une goutte d’eau au travers d’une faille (phénomène synchronique),
la répétition de ce phénomène sur des décennies voire des siècles aboutit à la création
de concrétions, les stalactites ou stalagmites (phénomène diachronique).
Les interactions dans le système peuvent être de type rétroactif ou de type proactif. Dans
le cas d’interactions rétroactives, l’entité va réagir à un stimulus indirectement provoqué par
une entité de plus haut niveau, que ce soit une organisation, l’environnement ou le système
lui-même. L’entité n’a ni contrôle ni but dans cette réaction. Le rôle de la rétroaction va être
d’amplifier (rétroaction positive) ou de diminuer (rétroaction négative) l’intensité d’un phé-
nomène. On retrouve des exemples de ce type d’interactions dans le système endocrinien,
en particulier dans l’homéostasie de la thyroïde [D, L et F 2012] :
un faible niveau d’hormones thyroïdiennes T3/T4 va entraîner de la part de l’hypothalamus
la libération d’hormone thyréotrope (TRH) qui à son tour va stimuler l’hypophyse ; cette stimulation
va aboutir à la production de thyréostimuline par l’hypophyse qui va stimuler la
production d’hormone thyroïdienne jusqu’à un retour à un niveau normal dans le sang (voir
la figure 1.5).
Les interactions proactives impliquent non seulement un contrôle de l’entité mais également
la recherche d’un objectif au travers de l’interaction. L’entité cherche alors à agir à un
plus haut niveau sur une organisation, l’environnement ou le système entier en le transformant,
et en provoquant éventuellement les rétroactions d’autres entités. Cette action résulte
de l’anticipation d’un possible événement à venir qui peut être prédit par l’analyse de ce que
l’entité perçoit du système. Une interaction proactive peut être le résultat de la répétition
d’une même interaction réactive qui, grâce à un mécanisme de mémoire et d’apprentissage,
permet à l’entité de détecter le contexte précédant une certaine interaction, ce qui lui permet
121.2. Écosystème computationnel
.
Hypothalamus
taux en T3/T4 faible taux en T3/T4 normaux
Hypophyse
production de TSH
Thyroïde
stimulée par TSH production de T3/T4
libération de TRH
F 1.5 : Homéostasie du système thyroïdien.
d’anticiper l’interaction. On peut considérer comme exemple le système de régulation thermique
d’un bâtiment dont le rôle serait d’y maintenir une certaine température. Ce système
peut être équipé d’une sonde qui mesure la température extérieure et grâce à l’analyse de
l’évolution de cette température, la sonde peut anticiper l’impact de la température de l’extérieur
sur l’intérieur et ainsi agir de manière proactive en ajustant le réglage des appareils
thermiques pour maintenir la température intérieure constante.
Un système complexe, bien que composé d’entités en interactions, est avant tout le fruit
de ces interactions. On peut d’ailleurs considérer que le système est composé d’interactions
plutôt que d’entités. Ceci implique qu’on ne peut limiter le système à ses seules entités et
qu’on ne peut limiter son analyse à celle d’une partie de ses entités. Il s’agit d’un système nonlinéaire
dans lequel les interactions locales entre entités impliquent des réactions globales du
système.
1.2 Écosystème computationnel
.
“
An ecosystem is a community of living organisms (plants, animals and microbes)
in conjunction with the nonliving components of their environment (things like air,
water and mineral soil), interacting as a system..
”
Cette citation, extraite de W , reprend un vocabulaire qui nous est familier et
qui nous permet de faire le lien avec la notion de système complexe dont il était question
1. https://en.wikipedia.org/wiki/Ecosystem, consultée le 4 août 2013
13. C
. .
F 1.6 : À gauche, un système fermé dans lequel les perturbations extérieures ne
peuvent franchir la membrane du système. Au contraire, à droite, un flux est généré par
les perturbations qui traversent le système.
précédemment : il est question d’entités (les organismes) qui interagissent dans un environnement
en formant un système. Il est aussi question d’éléments « sans vie » que l’on peut
désigner comme étant les ressources de l’environnement. Nous allons maintenant définir et
approfondir ce que nous entendons par écosystème computationnel.
1.2.1 Système distribué
Nous évoluons dans un monde qui est de plus en plus peuplé d’appareils divers et variés.
Grâce à l’essor de la technologie, ces appareils se sont vus dotés de mobilité, mais plus
important encore, leur capacité de communiquer et d’interagir entre eux n’a de cesse d’augmenter.
De l’ordinateur de bureau à la maison elle même, en passant par le téléphone, la
voiture…Tous ces appareils forment un ensemble de sous-réseaux qui peuvent s’interconnecter.
Ces appareils vontformer un système distribué qui va permettre l’exécution de programmes
dont la fonction se réduit au calcul dans le but de générer et d’échanger de l’information. Là
où par le passé un programme se réduisait à une séquence d’instructions qui s’exécutaient
sur un système isolé, il s’agit désormais d’ensembles de programmes qui s’organisent afin de
fournir des services de plus haut niveau. Grâce aux connections existantes entre les appareils,
les programmes peuvent être dispersés sur un ensemble de systèmes.
Il existe différents types de systèmes distribués, liés par exemple aux types d’unité de
calcul ou encore à la topologie du réseaux, ce qui conduit à différentes définitions de ces systèmes.
L. L en 1987 donne la définition suivante d’un système distribué dans [L-
1987] :
141.2. Écosystème computationnel
.
Applications
Intergiciels et services
Ressource 1 Ressource 2 … Ressource n
Entités
Infrastructure d’interconnection
Ressources partagées
F 1.7 : Les différentes couches d’un système distribué
.
“
A distributed system is one in which the failure of a computer you didn’t even know
existed can render your own computer unusable..
Cette définition considère donc un système distribué comme un ensemble de machines
”
qui sont dépendantes les unes des autres à tel point que la perte inopinée d’une de ces machines
peut entraîner un gel complet du système le rendant ainsi inutilisable. Elle transmet
donc l’idée d’une infrastructure statique monolithique. Plus récemment en 2000 dans [E-
2000], W. E nous donne la définition suivante :
.
“
A distributed system consists of a collection of autonomous hosts that are connected
through a computer network. Each host executes components and operates a
distribution middleware, which enables the components to coordinate their activities
in such a way that users perceive the system as a single, integrated computing
facility..
L’auteur utilise ici le terme plus général d’
”
hôte pour désigner les machines faisant partie
du système et ici ces hôtes sont autonomes : nous avons donc une infrastructure modulaire
dont les parties sont communicantes et indépendantes. L’ensemble agit de concert par
l’intermédiaire d’un intergiciel qui permet aux différents composants s’exécutant dans le système
de s’abstraire de leur environnement d’exécution en le considérant comme un unique
environnement dans lequel ils peuvent évoluer.
Bien que cette dernière définition implique une certaine tolérance aux pannes dans le système,
elle n’inclut pas toute la dynamique qui peut régir certains systèmes. Cela peut suffire
pour des systèmes distribués purement dédiés au calcul, comme les grilles ou les grappes,
qui ont une dynamique faible : celle-ci se limite aux pannes de machines et à l’ajout ou la suppression
de ressources qui surviennent à une faible fréquence. On peut cependant considérer
15. C
des systèmes où les machines ont une fréquence d’apparition/disparition plus importante :
par exemple, si le réseau comporte des appareils mobiles tels que des smartphones, du fait
de leur mobilité et d’une connexion sans-fil au réseau sujette aux perturbations, ces périphériques
peuvent se retrouver facilement déconnectés du réseau pour le ré-intégrer par la
suite.
1.2.2 Vers une écologie computationnelle
Le terme « écologie » a été emprunté à la langue allemande Ökologie qui est une combinaison
par le zoologiste et biologiste allemand E. H. H des termes du grec ancien
« οἶκος » (oîkos) signifiant « maison » et du suffixe utilisé pour la construction du nom
des sciences « λογία » (logia) signifiant « discours » . L’écologie peut donc être considé-
rée comme la science de la maison, mais comment peut-on définir maison dans ce contexte ?
Avec « écologie » vient la notion d’écosystème dont l’étymologie peut nous permettre de le
voir comme le système formé par la maison. On peut donc considérer cette maison comme un
système composé d’un ensemble d’habitants (la biocénose), et d’un milieu (la bâtiment, le
biotope) proposant un certain nombre de ressources à ses habitants (nourriture, couchage,
sanitaires, eau, électricité, …). Les ressources arrivent de l’extérieur du système et les habitants
peuvent entrer et sortir : le système formé par la maison est donc ouvert.
Dans notre cas, la maison est un système distribué ouvert dont les habitants sont des entités
logicielles. Tout comme la maison dispose de ressources permettant à ses habitants d’y
vivre, notre système dispose de ressources (capacité de calcul, mémoire, …) qui permettent
à ses entités logicielles de calculer et d’échanger de l’information.
Les différentes machines d’un système distribué vont former le biotope d’un écosystème
computationnel dans lequel nous allons trouver des ressources (capacité de calcul, mémoire,
…). Ce biotope va permettre d’accueillir une biocénose formée par les entités logicielles qui
vont pouvoir évoluer, interagir et s’organiser.
Le terme d’écosystème computationnel a été principalement introduit par [K,
H et H 1989 ; H 1988]. S’inspirer du naturel n’est pas un fait nouveau,
et ceci à différentes échelles : physique, chimique, biologique et sociale [Z
et V 2011]. On trouve par exemple la métaheuristique du recuit simulé s’inspirant des
systèmes thermodynamiques [K, V et G 1983 ; Č 1985], l’algorithme
d’optimisation PSO qui utilise des essaims de particules [K et E
1995] ou encore les algorithmes fourmis s’inspirant des colonies de fourmis ainsi que de
leur mode de communication indirecte [D, M et C 1996]. On retrouve
aussi cette inspiration dans les algorithmes évolutionnistes tels que les programmes évolutionnistes
[F 1962], les algorithmes génétiques [H 1975] ou encore la programmation
génétique [C 1985]. Il s’agit de méta-heuristiques s’inspirant de la théorie de
l’évolution afin de faire évoluer, à l’aide de mécanismes de croisement et de mutation, une
2. Source : Trésor de la Langue Française informatisé, http://www.cnrtl.fr/etymologie/écologie
3. Particule Swarm Optimisation
16Références
population initiale de solutions à un problème donné afin de produire une nouvelle génération
de meilleures solutions.
Si la nature est une source d’inspiration, c’est qu’elle sait faire preuve d’une adaptabilité
que l’on souhaiterait pouvoir reproduire dans nos modèles. Au travers de la métaphore bioinspirée
des écosystèmes computationnels, nous voyons le système distribué comme étant
lui même un système complexe afin d’en obtenir les avantages tout en devant en accepter
les difficultés. Les entités logicielles sont alors les entités de ce système complexe qui interagissent
dans le milieu formé par l’ensemble des ressources de calcul . L’avantage majeur que
l’on souhaite obtenir de cet environnement de distribution vu comme un système complexe
est la capacité d’adaptation dont sont capables de faire preuve de tels systèmes. Cette adaptabilité
émerge autant de mécanismes de collaboration que de mécanismes de compétition
qui permettent tout deux l’auto-organisation.
Nous pouvons clore ce chapitre par une citation de J. L dans [L 1993]
qui présente un système comme un objet adaptatif, contrôlé par des boucles de rétroaction
et capable d’utiliser de l’information afin d’évoluer :
.
“
En définitive, que nous considérions un simple four électrique, une chaîne de magasins
de détail gérée par ordinateur, un chat endormi, un écosystème, ou Gaïa
elle-même tant que nous nous intéressons à quelque chose qui est adaptatif, capable
de récolter de l’information et d’emmagasiner expérience et savoir, son étude
est une question de cybernétique et l’objet étudié peut être nommé un ”système”..
”
Références
Č, V. (1985). “Thermodynamical approach to the traveling salesman problem : An ef-
ficient simulation algorithm”. In : Journal of Optimization Theory and Applications 45,
p. 41–51.
C, P. et D. R. C. H (1997). Modélisation et Simulation des Écosystèmes. Masson.
C, Nichael Lynn (1985). “A Representation for the Adaptive Generation of Simple
Sequential Programs”. In : ICGA, p. 183–187.
D, Johannes, Gabi L et Elisavet H F (2012). “TSH and Thyrotropic
Agonists : Key Actors in Thyroid Homeostasis”. In : Journal of thyroid research.
D, Marco, Vittorio M et Alberto C(1996). “The Ant System : Optimization
by a colony of cooperating agents”. In :IEEE TRANSACTIONS ON SYSTEMS, MAN,
AND CYBERNETICS-PART B 26 (1), p. 29–41.
E, Wolfgang (2000). Engineering distributed objects. Wiley.com.
F, Lawrence J. (1962). “Autonomous automata”. In : Industrial Research 4 (2), p. 14–
19.
17. C
G, Pierre-Paul (1959). “La Reconstruction du nid et les coordinations interindividuelles
chez Bellicositermes natalensis et Cubitermes sp. La théorie de la stigmergie : essai d’interprétation
du comportement des Termites constructeurs”. In : Insectes sociaux.
H, John H. (1975). Adaptation in Natural and Artificial Systems. University Michigan
Press.
H, Bernado A (1988). The ecology of computation. Elsevier Science Inc.
K, J et R E (1995). “Particle Swarm Optimization”. In : IEEE International
of first Conference on Neural Networks.
K, Jeffrey O, TadH et Bernado AH (1989). “Dynamics of computational
ecosystems”. In : Physical Review A.
K, Scott, Mario P V et D. G (1983). “Optimization by simulated annealing”.
In : science 220 (4598).
K, Andreï (1965). “Three Approaches for Defining the Concept of Information
Quantity”. In : Problems of information transmission 1 (1), p. 1–7.
L, Leslie (18 mai 1987). distribution. English. E-mail. : https://research.
microsoft . com / en - us / um / people / lamport / pubs / distributed - system . txt
(visité le 08/08/2013).
L M, Jean-Louis (1994). La théorie du système général, théorie de la modélisation. Les
classiques du réseau intelligence de la complexité.
L, James (1993). La terre est un être vivant : l’hypothèse Gaïa. Champs sciences.
Flammarion. : 978-2-0812-4481-8.
P, Ilya et Isabelle S (1996). La fin des certitudes : temps, chaos et les lois
de la nature. Odile Jacob. : 2738103308.
S, Ferdinand de (1931). Cours de linguistique générale. Payot. Geneva.
Z, Franco et Mirko V(2011). “A survey on nature-inspired metaphors for pervasive
service ecosystems”. In : International Journal of Pervasive Computing and Communications
7 (3), p. 186–204.
Z, Bernard P., Herbert P et Tag Gon K (2000). Theory of Modeling and Simulation
[Second Edition] : Integrating Discrete Event and Continuous Complex Dynamic
Systems.
18C
2
P
Nous avons présenté dans le chapitre précédent notre vision d’un système distribué comme
un écosystème computationnel composé de son biotope (un ensemble de ressources de
calcul interconnectées) et de sa biocénose (les entités logicielles qui vont s’exécuter). La
mise en pratique de ce modèle n’est pas sans soulever certains problèmes, liés d’une part à
l’environnement et d’autre part aux entités, que nous allons présenter dans ce chapitre.
La figure 2.1 montre les différents éléments qui vont intervenir dans le système distribué.
Nous avons à la base une simulation, que l’on souhaite répartir sur un ensemble de
machines, qui va produire un réseau d’interactions. Nous allons modéliser ce réseau d’interactions
grâce à un graphe dynamique que nous allons pouvoir manipuler et analyser. Ce
graphe va évoluer dans un environnement modélisant l’ensemble des machines qui sont à
disposition. De cette analyse, nous allons pouvoir fournir des informations concernant la
distribution de la simulation sur l’ensemble des machines.
D’un point de vue écologique, nous avons vu qu’un écosystème est composé d’un biotope
et d’une biocénose. Le biotope représente un environnement spatialisé qui va fournir un
habitat ainsi que des ressources à la biocénose pour lui permettre de vivre. Cette biocénose
comporte l’ensemble des êtres vivants de l’écosystème (flore, faune, micro-organismes).
Un ensemble de biotopes caractérisés par un climat forme un biotope de plus haut niveau
appelé biome . Ce dernier peut être terrestre ou aquatique. Enfin, l’ensemble des biomes va
former la biosphère.
Dans le cadre des systèmes distribués, nous avons une infrastructure composée de machines
et d’un réseau qui permet l’exécution d’entités logicielles. Cette infrastructure va pro-
1. Terme introduit pour la première fois par Frederic Edward C en 1916
19. P
.
Simulation
Réseaux d’interactions
Ensemble de machines
Modèle : graphe dynamique
micro macro
Environnement
Système distribué
Écosystème computationnel
F 2.1 : Description du contexte. La partie colorée désigne ce à quoi nous nous intéressons
c’est à dire d’une part le modèle d’un réseau d’interactions créé par une simulation et
d’autre part un environnement de distribution modélisant les ressources disponibles.
poser des ressources (capacité de calcul, mémoires, accès à diverses sondes ou autres périphériques,
etc…) aux entités logicielles afin de leur permettre de remplir leurs fonctions.
La table 2.1 récapitule la comparaison entre un écosystème d’un point de vue écologique
et l’écosystème formé par un système distribué.
Nous manipulons et analysons la syntaxe de la simulation dont la sémantique nous est
inaccessible. Tout au plus, nous approchons la sémiologie de la simulation. Cette syntaxe
nous permet de mettre en relation l’ensemble des éléments intervenant dans le système. Afin
de pouvoir l’analyser, il est nécessaire de définir un modèle qui nous fournisse les moyens de
la manipuler.
Tout d’abord se pose le problème de la modélisation de la biocénose logicielle. Il s’agit
d’entités logicielles qui ont la possibilité d’interagir entre elles. Deux problèmes se posent
alors :
1. comment modéliser le réseau d’interactions formé par les entités en interaction ?
2. quel est le modèle d’interaction qui va nous permettre de définir de quelle manière des
entités interagissent entre elles ?
La modélisation du réseau d’interaction peut être réalisée grâce à un graphe dans lequel
chaque entité représente un nœud et où une arête représente une interaction entre deux entités.
Il y a cependant un premier problème qui se pose : du fait que les entités sont réparties
sur un ensemble de machines, chaque machine ne peut construire qu’un sous-graphe local,
représentant les entités qu’elle héberge. On considère en effet comme contrainte que le
nombre potentiel d’entités est trop important pour pouvoir réifier sur une seule machine une
20Écologie Computationnel
aquatique, terrestre ensemble de machines
connectées via un réseau Milieu
eau, air, énergie capacité calcul, mémoire,
sondes, périphériques Ressources
Population flore, faune entités logicielles
Dynamique
du milieu
climatique (saisons, météo),
géologique (tectonique des
plaques, érosion)
ajout/suppression de ressources,
pannes, connexion/déconnexion
de ressources
Dynamique de
la population
cycle naissance/mort,
reproduction
début et éventuellement fin de
programmes
Interactions
liées aux sens/à la perception de
l’autre liées aux communications
contraintes liées à l’environnement
T 2.1 : Comparaison entre la vision d’un écosystème d’un point de vue écologique et d’un
point de vue computationnel.
structure de données dont la taille serait proportionnelle aux nombres d’entités ou d’interactions.
Il est donc impossible de construire un graphe global qui représenterait l’ensemble
des entités, ce graphe est donc un graphe distribué formé par l’ensemble des sous-graphes
locaux de chaque machine.
De plus, afin de pouvoir modéliser la dynamique liée à la fois aux entités et aux interactions,
le graphe devra lui même être dynamique. Nous avons besoin d’un modèle de dynamique
qui soit adapté à la distribution du graphe et à l’absence de réification de la structure
globale.
Nous avons vu que le système distribué que nous cherchons à modéliser est en soi un système
complexe. Le contrôle de tels systèmes est un défi majeur. Plusieurs verrous en sont
les causes, l’aspect multi-échelles temporelles et spatiales de la dynamique constitue sans
doute l’élément essentiel. Une des méthodes consiste à identifier et modéliser des motifs de
dynamique qui capturent plus ou moins grossièrement temporellement et spatialement la
trajectoire du système. Cette démarche entreprise, il est alors envisageable à l’aide de ces
informations d’influencer la trajectoire du système afin de le faire se diriger vers un objectif
recherché. On tente de gouverner le système plutôt que de tenter d’obtenir un contrôle
21. P
optimal que nous sommes incapables d’exercer du fait que cela impliquerait de contrôler
l’ensemble des variables qui, dans le cadre de tels systèmes, est considérable.
Nous complétons cette démarche en essayant également de découvrir des solutions sur
la façon dont il est possible de gouverner un tel système afin d’en améliorer la robustesse et
la résilience. La robustesse permet de quantifier la capacité du système à maintenir sa trajectoire
lorsqu’il est soumis à des aléas qui créent des perturbations souvent majeures et en
chaîne. La notion de résilience peut être définie de deux manières [C S. H 1996] :
d’une part la résilience d’ingénierie définie dans [P 1984], et d’autre part la résilience
écologique telle que décrite dans [C. S H 1973]. La résilience d’ingénierie permet de
mesurer la stabilité autour d’un état d’équilibre en s’appuyant sur la capacité du système à
résister aux perturbations et sa vitesse à revenir à l’état d’équilibre. Cette définition est cependant
insuffisante car elle ne prend pas en compte la possibilité de multiples états d’équilibre
pour le système. La résilience écologique quant à elle permet de mesurer, pour un état
d’équilibre stable, l’amplitude de la perturbation nécessaire pour modifier la trajectoire du
système en le plaçant dans un autre domaine de stabilité. D’une manière plus générale, on
peut considérer la résilience comme la capacité d’un système à s’adapter aux perturbations
en ré-organisant sa structure interne afin de lui permettre de conserver ses caractéristiques
globales [W et al. 2004] :
.
“
Resilience is the capacity of a system to absorb disturbance and reorganize while
undergoing change so as to still retain essentially the same function, structure,
identity, and feedbacks..
”
Dans le cadre des écosystèmes computationnels, cette dernière définition reflète ce que
l’on souhaite obtenir du système distribué : peu importe les perturbations venant agir sur le
système (dynamique des ressources de calcul, dynamique des entités, …), on souhaite que
ce système s’adapte et continue à remplir sa fonction.
Afin d’illustrer notre propos, nous pouvons considérer que nous avons besoin de calculer
et de maintenir un plus court chemin entre deux nœuds du modèle, pour optimiser le routage
des communications par exemple. Nous calculons donc une solution initiale puis, du fait de
la dynamique, des perturbations viennent remettre en question la validité de notre solution.
Il peut s’agir en l’occurrence de la suppression de certains nœuds ou arêtes faisant partie de
la solution ou l’ajout de nouveaux éléments dans le graphe qui vont contribuer à l’apparition
d’une nouvelle solution significativement meilleure. Nous attendons de notre système que
malgré ces perturbations il soit capable de s’adapter en mettant à jour la solution initiale de
façon à ce qu’elle continue à être valable. C’est cela que nous entendons par résilience.
Cette résilience du système repose sur l’auto-organisation qui émerge des interactions
entre les entités et plus particulièrement de mécanismes de collaboration mais aussi de compétition.
On trouvera principalement de la collaboration à l’intérieur de l’organisation, c’est
à dire entre ses membres, tandis que la compétition résulte d’interactions entre des entités
situées aux limites des organisations. La gouvernance du système, dans l’optique d’optimiser
sa résilience, nécessite dans un premier temps la détection des organisations de manière
22.
A
B
états du système
niveau d’énergie
.
Énergie nécessaire au changement d’état
. état .
. état stable x.
.
. domaine de stabilité
F 2.2 : Résilience d’ingénierie et résilience écologie. On constate qu’il faut plus d’énergie
au système pour quitter l’état d’équilibre A que pour quitter l’état B : la résilience d’ingénierie
est plus forte en A que en B. En revanche, le domaine de stabilité associé à l’état B
est plus important que celui associé à l’état A : la résilience écologie de B est plus forte que
celle de A.
à maximiser la robustesse de ces organisations. Pour cela, il est important de comprendre et
de définir ce qui caractérise une organisation.
Une organisation est une structure du graphe associée à une sémantique qui va donner
un sens et un rôle à l’organisation. Cette structure possède une forme qui va influencer la
robustesse de l’organisation face aux perturbations. Par exemple, si la structure de l’organisation
forme un sous-graphe complet, sa robustesse sera maximale car très difficile à casser.
Au contraire, si la structure forme un chemin, la suppression d’un seul élément peut casser
l’organisation.
La difficulté liée à la dynamique réside dans l’entretien de la structure de l’organisation
afin de maintenir cette dernière dans le temps. En effet, une entité qui disparaît va modifier
la structure de l’organisation dont elle fait partie. De même que l’ajout d’une nouvelle entité
va nécessiter de déterminer si elle fait partie d’une nouvelle organisation en formation ou si
elle peut être intégrée à une organisation existante ; dans ce dernier cas, il est nécessaire de
mettre à jour la structure de cette organisation.
Afin de mieux analyser les organisations, on peut considérer que trois parties peuvent
potentiellement composer une organisation (voir la figure 2.4) :
— le noyau qui, s’il existe, correspond à la partie intérieure stable de l’organisation ;
— une membrane regroupant l’ensemble des entités de l’organisation qui interagissent
23. P
. .
F 2.3 : Exemples de formes d’organisation. Les éléments colorés forment l’organisation.
avec au moins une entité en dehors de l’organisation ;
— une partie intérieure intermédiaire.
Le noyau reflète l’idée d’un point d’équilibre de l’organisation et offre donc des éléments
d’informations nous permettant d’affiner la détection des organisations : si l’on est capable
de détecter la présence de multiples points centraux à l’intérieur d’une même organisation,
l’organisation a une forte probabilité d’être instable. L’affinage consiste alors à diviser l’organisation
afin d’obtenir de nouvelles organisations plus petites mais plus robustes. Cela implique
de disposer d’un outil adapté à notre contexte et permettant de caractériser ces points
d’équilibres. Nous verrons par la suite une présentation de mesures de centralité qui permettent
de détecter les points centraux d’un graphe.
Références
H, C. S (1973). “Resilience and stability of ecological systems”. In : Annual review of
ecology and systematics 4, p. 1–23.
H, C S. (1996). “Engineering resilience vs. ecological resilience”. In : Engineering Within
Ecological Constraints. The National Academies Press, p. 31–44. : 9780309051989.
P, Stuart L (1984). “The complexity and stability of ecosystems”. In :Nature 307 (5949),
p. 321–326.
W, Brian et al. (2004). “Resilience, Adaptability and Transformability in Social– ecological
Systems”. In : Ecology and Society 9 (2).
24Références
.
F 2.4 : Décomposition d’une organisation possédant les trois composantes : en orange
le noyau, en noir la partie intermédiaire et en rouge la membrane. Les nœuds gris repré-
sentent les nœuds ne faisant pas partie de l’organisation.
25Deuxième partie
Positionnement
27C
3
R
3.1 Graphes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.1 Une première approche . . . . . . . . . . . . . . . . . . . 31
3.1.2 Modélisation de la dynamique . . . . . . . . . . . . . . . . 36
3.1.3 Une approche stochastique des graphes : les chaînes de Markov 40
3.1.4 Vers une représentation formelle . . . . . . . . . . . . . . . 41
3.1.5 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2.1 Communautés et organisations . . . . . . . . . . . . . . . . 54
3.2.2 Forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Les réseaux d’interactions sont partout dans le monde qui nous entoure. On les retrouve
à tous niveaux : des interactions chimiques entre des molécules aux interactions sociales
entre des êtres vivants. Ce chapitre est consacré à présenter la modélisation de réseaux d’interactions
et en particulier celle de la dynamique présente dans ces réseaux.
De manière formelle, un réseau est un système dans lequel un ensemble d’entités sont
connectées entre elles [M. E. J. N 2003]. Ces connections résultent d’une interaction
entre les entités concernées, c’est pourquoi on parlera de réseau d’interactions. Lorsque ce
réseau est plongé dans le temps, nous allons pouvoir observer une dynamique au niveau des
29. R
entités, de nouvelles pouvant apparaître, d’autres existantes pouvant disparaître, ainsi qu’au
niveau des interactions entre les entités. On observe aussi une dynamique des propriétés
qui composent ces différents éléments. Cette dynamique, qui est en soi une composante du
réseau, va être la pierre angulaire de nos travaux.
Parmi l’ensemble des réseaux, une certaine catégorie se distingue en regroupant des
réseaux qui partagent certaines des caractéristiques suivantes :
— une structure complexe de par son irrégularité ou un nombre d’entités et d’interactions
suffisamment important, rendant la visualisation et la compréhension du ré-
seau trop compliquées pour l’œil humain ;
— une dynamique portant à la fois sur la structure (évolution des entités ainsi que des
interactions) mais aussi sur les informations caractérisant les éléments du réseaux
(entités et interactions) ;
— un comportement non-prédictible ;
— l’émergence de nouvelles propriétés du système, comme par exemple d’auto-organisation
dont nous reparlerons par la suite ;
— des mécanismes de collaboration/compétition.
Ces réseaux sont associés aux systèmes complexes et vont être l’objet de notre attention.
Les mondes réel et virtuel regorgent d’exemples de tels réseaux : les interactions protéinesprotéines,
les échanges entre individus sur Internet, les collaborations scientifiques, les communications
entre des machines, etc… Certains exemples sont présentés sur la figure 3.1.
Nous avons vu dans ce qui précède que nous pouvons distinguer trois composants des
réseaux d’interactions :
— tout d’abord, un ensemble d’entités ;
— puis des interactions entre ces entités ;
— et enfin, une dynamique omniprésente.
Nous utilisons le terme entité afin de définir de manière générique les processus autonomes
qui composent ces systèmes : il s’agira selon le contexte de molécules, de cellules,
d’individus ou encore d’ordinateurs voire de processus. On peut trouver ces objets sous
d’autres noms dans la littérature (agents, nœuds, sommets). Les entités peuvent correspondre
à des objets localisables dans notre espace physique lorsque le réseau est spatialisé,
ou au contraire les entités peuvent évoluer dans un espace virtuel tel que le web.
Une interaction représente l’action réciproque d’une entité sur une autre. Cette action
peut être directe lorsque une entité demande explicitement à une autre d’effectuer une certaine
action, ou au contraire l’interaction peut se faire indirectement lorsque l’action d’une
entité est le résultat du comportement d’autres entités. Les interactions indirectes peuvent
par exemple être liées à des mécanismes de rétro-action, ou des mécanismes de dépôt de
message. L’entité qui est à l’origine de l’interaction peut procéder de deux manières :
— soit elle rentre dans un état bloquant dont elle ne sortira qu’à la réception de la ré-
ponse de l’entité cible, une telle interaction peut alors être qualifiée de synchrone ;
— soit elle continue à effectuer d’autres actions tant que celles-ci ne dépendent pas du
résultat de l’action initiale, puis lorsque ce résultat est disponible, l’entité peut alors
303.1. Graphes dynamiques
s’occuper de son traitement, on parlera alors d’interaction asynchrone ;
L’action que représente une interaction est elle aussi dépendante du contexte : réaction
chimique, échange de courrier, connexion d’un câble sont autant d’exemples de ce que peut
être cette action. La figure 3.1 illustre certaines de ces possibilités.
Afin d’être capables d’étudier et de manipuler ces réseaux, nous avons besoin d’une
structure capable des les modéliser. La modélisation d’un ensemble d’éléments et d’un ensemble
de paires de ces mêmes éléments est possible grâce aux graphes. Cependant, les
graphes tels quels ne nous permettent pas de modéliser l’élément moteur qu’est la dynamique
globale du réseau, c’est pourquoi nous allons nous intéresser au domaine des graphes
dynamiques.
3.1 Graphes dynamiques
3.1.1 Une première approche
Le graphe est un objet à la fois informatique et mathématique permettant la représentation
de problèmes composés d’un ensemble d’éléments pouvant être reliés entre eux. Dans
la littérature, le graphe trouve son origine il y a quelques siècles, dans le problème des sept
ponts de Königsberg de L. E[E 1741].
Les éléments représentés par le graphe sont appelés nœuds, et les relations existantes
entre ces nœuds sont appelés respectivement arcs ou arêtes selon que la relation est ordonnée
ou non. Dans le cas où les relations sont ordonnées, on parlera de graphe orienté ou
di-graphe. Un graphe G est alors noté G = (V,E) où V représente l’ensemble des nœuds du
graphe et E l’ensemble des arêtes (des arcs dans le cas d’un graphe orienté).
Certains problèmes nécessitent que les nœuds et/ou les arêtes du graphe possèdent un
poids. C’est le cas, par exemple, du problème de l’arbre couvrant de poids minimal [B
1926] où l’on cherche à extraire un sous-graphe dont l’ensemble des nœuds soit le même
que celui du graphe d’origine et dont l’ensemble de arêtes soit un sous ensemble qui permette
de connecter tous les nœuds sans qu’il y ait de cycle et de telle sorte que la somme
des poids des arêtes de ce sous ensemble soit minimale. C’est aussi le cas de certains algorithmes
de plus court chemin tel que D [D 1959] dans lesquels on cherche à
minimiser la somme des poids de arêtes composant le chemin, ou encore le problème de flot
maximum comme l’algorithme de F-F [F 1956]. Lorsque les éléments du
graphe disposent de tels poids, on parle alors de graphe pondéré en précisant éventuellement
si la pondération porte sur les nœuds, les arêtes voire même les deux. Un graphe pondéré
alors noté G = (V,E,pV ,pE ) ou pV est une fonction de V → R et pE une fonction de E → R
représentant respectivement les poids des nœuds et ceux des arêtes.
De manière plus générale, on peut souhaiter associer plus d’une valeur aux éléments du
graphe. Ces valeurs, que nous allons désigner sous le terme d’attributs, vont pouvoir être utilisées
pour caractériser les éléments. Il s’agit alors d’une association entre un mot, la clef, et
la valeur correspondante. Si les ensembles KV etKE représentent respectivement l’ensemble
31. R
.
(a) La plus grande composante du réseau de collaboration
de l’institut Santa Fe, avec les divisions
principales indiquées par différentes formes
de nœuds [G et M. E. J. N 2002]
.
(b) Le réseau trophique (ici d’un milieu cô-
tier) décrit les liens existant entre les diffé-
rents organismes d’un écosystème en terme de
nutrition. Il se base sur les chaînes alimentaires
et permet de visualiser les flux d’énergie
et de matière existant au sein de l’écosystème.
Source : https://fr.wikipedia.org/
wiki/Réseau_trophique, consultée le 30 octobre
2013.
.
(c) Réseau d’interactions entre un échantillon de livres
vendus sur le site Amazon. Les nœuds représentent des
livres. Une interaction entre deux livres signifie que ces
livres ont été achetés ensemble.
F 3.1 : Quelques exemples de réseaux
323.1. Graphes dynamiques
des clefs possibles pour les nœuds et les arêtes, on peut alors généraliser les fonctions pV et
pE précédentes :
pV : V ×KV → R
pE : E ×KE → R
(3.1)
Nous choisissons ici l’ensemble R pour désigner l’ensemble dont font partie les valeurs
des attributs. Ces valeurs peuvent cependant être autre chose que des réels, il peut s’agir
d’entiers, de couleurs, etc… L’ensemble R permet cependant d’englober toutes ces valeurs
et de fournir ainsi une manière générique de décrire les attributs.
Un graphe dynamique permet de modéliser les modifications pouvant survenir au niveau
de la structure du graphe (modification de l’ensemble des nœuds V (G) ou de celui des arêtes
E(G)) mais aussi sur l’évolution des attributs associés aux éléments (nœuds, arêtes).
Dans la littérature, la notion de graphe dynamique est référencée sous différents termes
qui dépendent du contexte et du domaine dans lesquels le graphe est exploité. Par exemple
la notion de réseaux complexes est particulièrement utilisée dans l’étude de réseaux extraits
du monde réel comme c’est le cas de [B et al. 2006] dans une étude du graphe du
net. La particularité de ces réseaux est d’être constitués d’un ensemble massif et dynamique
d’entités en forte interaction. La notion de réseaux complexes englobe entre autres celle de
réseaux sans échelle ainsi que celle de réseaux petit-monde [S et W 1998] . Les
réseaux sans échelle introduits par A.-L. B et E. B [B et B
2003] sont des réseaux dans lesquels la distribution des degrés suit une loi de puissance,
ainsi quelques nœuds sont fortement connectés tandis que la grande majorité ne le sont que
très faiblement. Cette répartition des degrés fait que le réseau est invariant d’échelle, c’est
à dire que l’on observe les mêmes propriétés peu importe l’échelle considérée (cf. la figure
3.2). Les réseaux petit-monde quant à eux possèdent une grande partie de nœuds faiblement
connectés mais de telle sorte que la longueur moyenne du plus court chemin entre deux
nœuds du réseau soit faible. Afin de montrer que le réseau que nous formons, en tant qu’être
humain connecté à un certain nombre d’autres humains que nous connaissons, est de type
petit-monde, le sociologue Stanley M mena une expérience en 1967 dans laquelle il
tente de faire transiter 60 lettres remises à des personnes d’une ville du Nebraska et devant
atteindre une ville du Massachusetts en échangeant ces lettres uniquement en mains propres
avec des connaissances personnelles. Sur ces 60 lettres, seulement 3 arrivèrent... mais en
quatre jours (les deux villes étant séparées d’environ 2250 km).
Notre objectif n’est pas de nous consacrer ici à la description de l’ensemble des termes
utilisés pour désigner un graphe dynamique. On trouvera dans la thèse de Yoann P [P-
2008] une partie permettant d’approfondir la description de plusieurs des termes que
nous avons vus. Pour notre part, nous retiendrons le terme réseau d’interactions pour dé-
signer la structure réelle ou virtuelle émergeant d’interactions entre des éléments que nous
nommons entités. Le terme graphe dynamique désigne l’objet qui va nous permettre de modéliser
ce réseau. La figure 3.3 permet de visualiser ces différentes couches :
1. scale-free networks et small-world networks
33. R
.
.
0 20 40 60 80 100 120 140 160 180 200 220 240
0
5,000
10,000
degrés
nombre de nœuds
distribution des degrés
34 F 3.2 : Réseau sans-échelle généré avec GS par attachement préférentiel.3.1. Graphes dynamiques
.
a
b
c
F 3.3 : Présentation des différentes couches en se basant sur une simulation de boids :
(a) le réseau d’interactions, (b) le graphe dynamique initial modélisant le réseau, (c) une
vue macroscopique du graphe dynamique
a. un ensemble d’agents nommés boids est simulé [R 1987] , leur but est de
reproduire le comportement de groupe d’organismes vivants tels que certaines espèces
de poissons ou encore certaines espèces d’oiseaux ; on considère qu’il y a une
interaction entre deux boids lorsque la distance qui les sépare est suffisamment faible
pour que l’un influence le comportement de l’autre ;
b. le graphe dynamique modélisant le réseau d’interactions : chaque boid est représenté
par un nœud, les interactions sont représentées par une arête entre les nœuds correspondants
; il s’agit là d’une vue du graphe à l’échelle microscopique ;
c. le même graphe mais vu d’une échelle macroscopique : les boids ont été regroupés
afin de former des structures.
Une vue macroscopique du graphe signifie que l’on va désormais observer des structures
2. le modèle des boids est présenté en détail dans l’annexe A
35. R
composées de nœuds plutôt que les nœuds eux mêmes. Ces structures seront principalement
des organisations que nous allons présenter par la suite (cf .3.2.1). Ce type de vue
implique de procéder à un changement d’échelle qui passera par une phase de détection des
structures qui nous intéressent, puis par la création d’un nouveau graphe donc les nœuds
représenteront les structures détectées à l’étape précédente.
3.1.2 Modélisation de la dynamique
Si les nœuds et les arêtes du graphe sont des éléments dont la représentation ne pose pas
de problème majeur, la représentation de la dynamique qui va opérer à plusieurs niveaux sur
le graphe est bien moins intuitive.
Nous allons nous intéresser aux différentes manières de modéliser la dynamique dans
un graphe. Cette dynamique est composée d’un ensemble de modifications qui peuvent survenir
dans le graphe. Dans [F. H et G 1997], F. H et G. G proposent
différents types de dynamiques de graphe qui vont permettre de définir que les ensembles
d’éléments du graphe (nœuds et arêtes) vont pouvoir évoluer. C’est à dire qu’il est possible
que le graphe se voie ajouter ou retirer des nœuds ou des arêtes au fil du temps. Les auteurs
définissent alors un type de graphe où seul l’ensemble des nœuds évolue, puis de manière
similaire un graphe où seul l’ensemble des arêtes évolue. On notera que la dynamique ne
peut difficilement porter que sur les nœuds du fait que la suppression d’un nœud implique
la suppression de l’ensemble des arêtes adjacentes à ce nœud. Les auteurs définissent aussi
des types de dynamiques permettant de faire évoluer le poids des nœuds et/ou des arêtes.
Cette première approche de la dynamique nous permet d’énumérer les modifications qui
vont survenir sur un graphe dynamique. Tout d’abord des modifications sur les ensembles
de nœuds et d’arêtes, il y a alors la possibilité d’ajouter et/ou de supprimer des éléments, et
ensuite, des modifications sur les attributs associés aux éléments.
Nous allons voir dans ce qui suit différentes façons de modéliser ces modifications et par
conséquent la dynamique du graphe.
Dynamique séquentielle
Une première approche de la dynamique d’un graphe G consiste à le modéliser comme
une séquence de graphes statiques Gi. i symbolise alors un temps discret et Gi représente
l’état du graphe au temps i. Le graphe G est alors un triplet (V (G),E(G),{Gi}) où V (G) est
l’ensemble des nœuds présents dans au moins un des graphes Gi, de même pour E(G) qui
représente l’ensemble des arêtes présentes dans au moins un des graphes Gi.
On retrouve alors la définition de graphe évolutif proposé dans [Afonso F 2002 ;
B-X, A. F et J 2003] :
.
“
Soit G = (V,E) un graphe orienté avec V un ensemble de sommets et E un ensemble
d’arêtes dont les extrémités appartiennent à V . Soit SG = (G1,G2,...,GT )
un ensemble de sous-graphes de G. Le système GE = (G,SG ) est appelé ”graphe
évolutif”..
”
363.1. Graphes dynamiques
.
V (G) = {A,B,C,D,E}
E(G) = {AB, AC, AD,BD,BE,CD,DE}
.
A
B
D
i = 1
V1(G) = {A,B,D}
E1(G) = {AD,BD}
.
A
B
C
D
i = 2
V2(G) = {A,C,D}
E2(G) = {AC, AD}
.
A
B
C
D
E
i = 3
V3(G) = {B,C,D,E}
E3(G) = {BE,CD,DE}
.
A
B
C
D
E
i = 4
V4(G) = {A,B,C,D,E}
E4(G) = {AB, AD,CD,DE}
F 3.4 : Illustration du modèle de dynamique séquentielle
Dans ce modèle, la dynamique se produit étape par étape, chaque étape correspondant
à un graphe statique. La figure 3.4 propose un exemple de ce type de dynamique.
Dynamique cumulative
Une dynamique cumulative consiste à agréger la totalité du graphe dynamique en un
graphe statique contenant les informations sur les périodes de présence de chaque élément
dans le graphe. Ces périodes sont des segments du temps dans lequel le graphe est plongé
qui indique quand un élément était présent dans le graphe. On notera alors le graphe G =
(V,E,PV ,PE ) où V (respectivement E) est l’ensemble des nœuds (des arêtes) apparaissant
au moins une fois dans le graphe dynamique. PV et PE sont des fonctions permettant de dé-
finir la présence dans les graphes des nœuds (respectivement des arêtes). Cette dynamique
est illustrée figure 3.5.
Contrairement à une dynamique séquentielle où l’échantillonnage impose d’avoir un temps
discret, il est ici possible d’utiliser un temps continu. Nous utiliserons donc T afin de désigner
le temps de manière générique, cet ensemble couvrant tout ou partie de l’ensemble N si l’on
souhaite utiliser un temps discret, ou de l’ensemble R pour un temps continu. PV et PE sont
alors des fonctions de V → P(T) (respectivement E → P(T)).
Dans [C, P et V 2003], les auteurs utilisent ce type de dynamique
pour l’étude de grands graphes représentant des télécommunications. Une fenêtre de temps
est définie, c’est à dire un segment de l’ensemble T, puis un graphe statique correspondant
à l’agrégation des événements survenus pendant cette fenêtre de temps est extrait à partir
du graphe dynamique.
3. P(X) désigne l’ensemble des parties de X
37. R .
V (G) = {A,B,C,D,E}
E(G) = {AB, AC, AD,BD,BE,CD,DE}
.
PV (A) = {1,2,4}
PV (B) = {1,3,4}
PV (C) = {2,4}
PV (D) = {1,4}
PV (E) = {3,4}
.
PE (AB) = {4}
PE (AC) = {2}
PE (AD) = {1,2,3}
PE (BD) = {1}
PE (BE) = {3}
PE (CD) = {3,4}
PE (DE) = {3,4}
.
A
B
C
D
E
i = 1
A
B
C
D
E
i = 2
A
B
C
D
E
i = 3
A
B
C
D
E
i = 4
F 3.5 : Illustration du modèle de dynamique cumulative. Les éléments en pointillés ne
sont pas présents dans le graphe pour le temps donné.
Dynamique par flux d’événements
On considère que la dynamique du graphe est définie par un flux d’événements généré
par un processus PG . Ce processus prend la forme d’une fonction qui à un intervalle temporel
associe un ensemble ordonnée d’événements survenus dans cet intervalle. L’ensemble U
représente l’ensemble de tous les événements possibles. Chaque événement u ∈ U est un
triplet (ϑ,w,e) dans lequel :
— ϑ désigne la date à laquelle l’événement survient ;
— w est un élément d’un ensemble W définissant l’ensemble des actions pouvant venir
modifier le graphe ; cette action peut être l’ajout ou la suppression d’un élément
(nœud ou arête) ou la modification d’un attribut. Dans ce dernier cas, w contient
aussi la clef et la nouvelle valeur de l’attribut modifié ;
— e désigne l’élément impliqué dans l’événement.
Le processus PG peut alors être défini :
PG :
T×T → P(U)
(t,t
′
) →
{
u = (ϑ,w,e) | t < ϑ ≤ t
′
} (3.2)
On introduit l’opérateur ⊕ entre un graphe G = (V,E) et un ensemble d’événements
U ∈ U qui permet d’appliquer à G les événements contenus dans U. À l’aide d’un processus
itératif qui opère aux moments choisis ti et en prenant un graphe initial G0 au temps t0,
il nous est alors possible de construire le graphe Gi, i > 0 :
Gi = Gi−1 ⊕PG (ti−1,ti) (3.3)
383.1. Graphes dynamiques .
A
B
D
t = 1
u1 = (1, A JOUT, A)
u2 = (1, A JOUT,B)
u3 = (1, A JOUT,D)
u4 = (1, A JOUT, AD)
u5 = (1, A JOUT,BD)
.