Algorithme d`approximation du noyau de viabilité avec procédure de

Algorithme d’approximation du noyau de viabilité avec procédure de
classification
W. Wei1I. Alvarez1,2S. Martin1
1Laboratoire d’Ingénierie pour les Systèmes Complexes (LISC) Cemagref
24 Avevue des landais B.P. 50085 - 63172 Aubière Cedex
2Laboratoire d’Informatique de Paris 6 (LIP6), CNRS - Université Pierre et Marie Curie
4 place Jussieu - 75252 PARIS cedex 05
isabelle.alv[email protected]
Résumé
La théorie de la viabilité propose des concepts et méthodes
pour contrôler un système dynamique afin de le mainte-
nir dans un ensemble de contraintes de viabilité. Intégrer
les modèles de la viabilité dans un outil d’aide à la ges-
tion participative est une nouvelle application de la théo-
rie de la viabilité. Dans ce contexte, nous proposons un
algorithme d’approximation du noyau de viabilité qui se
concentre sur la réduction du temps de calcul. Cet al-
gorithme utilise une procédure de classification du type
"plus proche voisin". L’algorithme satisfait les conditions
de convergence, et est facile à manipuler en utilisant une
interface graphique utilisateur. Nous comparons les résul-
tats obtenus pour des problèmes de viabilité pour lesquels
les noyaux théoriques ont été calculés. La fidélité de cet al-
gorithme est toujours supérieure à 90 pourcents. Le temps
de calcul est très intéressant pour les outils d’aide à la dé-
cision.
Mots clés
Théorie de viabilité, Système dynamique, Gestion partici-
pative, Noyau de viabilité, Aide à la Décision.
Abstract
Viability theory proposes concepts and tools to control a
dynamical system such that it can remain inside a viability
constraint set. Integrating viability models in a tool support
for participatory management is a new application of the
viability theory. In this context, we propose an algorithm
for viability kernel approximation, which focuses on impro-
ving the computing time. This algorithm uses the classifi-
cation procedure based on the method of Nearest Neighbor
Search. The algorithm satisfies the conditions of conver-
gence, and is easy to use with a graphical user interface.
We compare its results for models for which the exact via-
bility kernels have been determined. The accuracy of this
algorithm is always greater than 90 percent. The compu-
ting time is very interesting for decision support tools.
Keywords
Viability theory, Dynamical system, Participatory mana-
gement, Viability Kernel, Decision Support.
1 Introduction
La théorie mathématique de la viabilité initiée dans les
années 1990 par Jean-Pierre Aubin [1], étudie la compati-
bilité entre des dynamiques et des contraintes. Le concept
essentiel est celui de noyau de viabilité qui rassemble
l’ensemble des états du système à partir desquels il existe
au moins une fonction de contrôle qui assure le respect
des contraintes indéfiniment. Plusieurs algorithmes ont
été développés pour approcher le noyau de viabilité :
l’algorithme de Patrick Saint-Pierre [2] utilise une discréti-
sation de l’espace des états sur une grille régulière. Kviar,
l’algorithme de Guillaume Deffuant et al. [3] utilise des
Support Vector Machines. Coquelin et al. [4] proposent
une approche de programmation dynamique qui ne permet
pas de gain en espace mémoire mais en temps de calcul.
Les domaines dans lesquels la théorie de viabilité est utili-
sée sont très variés (économie, sciences cognitives, théorie
des jeux, biologie, automatique ..), citons en bio-économie
et en écologie [5]-[7]. Les jeux sérieux sont une approche
nouvelle et efficace pour explorer et tester des possibili-
tés d’évolutions dans un contexte réaliste mais sans coût ni
risque [8]. En effet, ces jeux sont un substitut intéressant
à l’expérience directe dans le monde réel ou sur des infra-
structures réelles, qui peuvent permettre des apprentissages
relativement rapides et sans danger [9].
Dans le domaine de la gestion de la biodiversité [10],
hal-00656555, version 1 - 17 Jan 2012
Manuscrit auteur, publié dans "RFIA 2012 (Reconnaissance des Formes et Intelligence Artificielle), Lyon : France (2012)"
un défi important concerne la gestion d’aires protégées
comme les parcs nationaux, qui sont soumis à de nom-
breuses pressions sur l’utilisation et l’accès aux ressources
ce qui engendre souvent des conflits. Le projet SimParc
[13] appartient au domaine de l’aide à la gestion partici-
pative et a pour but d’aider les différents acteurs à créer
une compréhension collective des conflits et à négocier des
stratégies pour y faire face. Le gestionnaire du parc agit
comme un arbitre dans le jeu, il prend une décision finale
sur les types de conservation à attribuer à chaque unité de
paysage. Les autres acteurs (joueurs) font des propositions.
Il y a également des agents artificiels qui peuvent rempla-
cer certains acteurs et des agents experts capables de ren-
seigner les autres joueurs sur la viabilité des solutions pro-
posées (en terme de préservation des espèces menacées, par
exemple) [12].
Or, dans le contexte de l’outil d’aide à la gestion participa-
tive SimParc, l’agent expert viabilité doit pouvoir fournir
aux joueurs rapidement des résultats sur la viabilité des
solutions proposées. Malheureusement, l’algorithme de
Patrick Saint-Pierre [2] est difficile d’emploi dans le cadre
d’un jeu sérieux où les modifications du modèle doivent
être prises en compte très rapidement alors qu’il n’y a
pas encore d’interface pour gérer les modifications. Kviar
[3] dispose d’une telle interface mais l’algorithme est très
lent. L’approximation du noyau de viabilité de Coquelin et
al. [4] est l’ensemble des points de la grille pour lesquels
la fonction valeur prend des valeurs inférieures à un seuil
dont la détermination n’est pas évidente. Par conséquent,
nous proposons un nouvel algorithme d’approximation
du noyau de viabilité muni d’une interface et utilisant
une procédure de classification conçue pour accélérer le
temps de calcul. Les contraintes, la plage des contrôles
possibles sont proposés par les utilisateurs et font l’objet
de discussions, ainsi que le choix des contrôles à mettre en
oeuvre de manière effective.
Ce papier sera divisé en trois parties. Tout d’abord,
nous rappelons l’algorithme de calcul d’une approxi-
mation du noyau de viabilité à l’aide d’une procédure
de classification et les conditions de sa convergence.
Ensuite, nous allons décrire l’ensemble des fonctions de
classification que nous proposons d’utiliser et montrer
qu’elles respectent bien les conditions de convergence
précédentes. Enfin, nous allons présenter une inter-
face graphique utilisateur et comparer les noyaux obtenus
pour des modèles dont le noyau théorique peut être calculé.
2 L’approximation du noyau de via-
bilité discret avec une procédure de
classification
2.1 Contexte et notations
Nous considérons un système dynamique défini par son
état ~x(t)XRNet nous supposons que son évolu-
tion peut être influencée par un contrôle ~u(t):
~x0(t) = ϕ(~x(t), ~u(t))
~u(t)U(~x(t)) (1)
L’ensemble des contrôles admissibles peut dépendre de
l’état du système, ~u(t)est choisi dans un sous-ensemble
U(~x(t)) Rq.
L’ensemble des contraintes de viabilité est un sous-
ensemble de Xnoté K. Le noyau de viabilité de Kpour
la dynamique φdéfinie par (1) est :
V iab(K)={~x K| ∃~u(.)|~x(t)Kt[0,+[}.
V iab(K)rassemble les états dans Xà partir desquels on
trouve toujours une suite de contrôles ~u qui permette au
système de rester dans l’ensemble des contraintes K.
Considérons un intervalle de temps dt, le système dyna-
mique discret en temps associé à (1) est défini par la cor-
respondance G:X7→ X(qui associe à ~x l’ensemble de
ses successeurs) :
G(~x) = {~x +ϕ(~x, ~u)dt, ~u U(~x)}.(2)
Nous supposons que Gest une correspondance µ-Lipschitz
à images fermées 1, c’est à dire que les images de deux
points quelconques ne peuvent pas être éloignées de ma-
nière arbitraire, mais au contraire restent dans un voisinage
l’une de l’autre proportionel à la distance des points de dé-
part.
Notre objectif est d’approcher V iabG(K)qui est le noyau
de viabilité de la dynamique discrète (2). D’après les théo-
rèmes de viabilité [1], V iabG(K)est le plus grand sous-
ensemble Ede Ktel que :
~x E, G(~x)TE6=(3)
L’algorithme utilisant des fonctions de classification décrit
dans [3] est le suivant :
Soit une grille, Kh, telle que :
~x K, ~xhKh,tel que k¯x~xhk ≤ β(h)(4)
avec β(h)0quand h0. Une telle grille existe
puisque Kest compact.
De plus,
lest une procédure d’apprentissage qui associe à un en-
semble Sde paires (~xi,ei)K× {−1,1}, une fonction
de classification lS(~x):K→ {−1,1}.
d(E, F ), la distance entre deux sous-ensembles Eet F.
E\F, l’ensemble complémentaire de Fdans Elorsque
FE.
1~x, ~x0K, G(~x0)G(~x) + µ||~x ~x0||BBest la boule unité
et ~x K, l’ensemble G(~x)est fermé
hal-00656555, version 1 - 17 Jan 2012
2.2 Les étapes de l’algorithme
A chaque étape, sont définis un ensemble discret Kn
h
Kn1
hKh, et un ensemble continu, noté L(Kn
h), qui est
une généralisation de cet ensemble discret, et qui constitue
l’approximation courante du noyau de viabilité :
1. Initialisation : K0
h:= Khet L(K0
h) :=K.
2. Récurrence :
Définition de l’ensemble discret Kn+1
hà partir de
Kn
het L(Kn
h) :
Kn+1
h={~xhKn
h|d(G(~xh), L(Kn
h)) µβ(h)}
si Kn+1
h6=Kn
h, utiliser la procédure d’apprentis-
sage lavec les points ~xhde la grille Kh, avec l’éti-
quette +1 si ~xhKn+1
het l’étiquette -1 sinon.
Soit ln+1
hla fonction de classification obtenue de
Kdans {−1,1},L(Kn+1
h)est défini ainsi :
L(Kn+1
h) = ~x K, |ln+1
h(~x) = +1(5)
sinon, arrêt et retourner L(Kn
h).
2.3 Le théorème de convergence de l’algo-
rithme
La démonstration de ce théorème est donnée dans [3].
Theorem 1 S’il existe un réel λ1tel que, pour toutes
les itérations n, l’approximation L(Kn
h)satisfait les condi-
tions suivantes :
~x L(Kn
h)d(~x, Kn
h)λβ(h)(6)
~x K\L(Kn
h)d(~x, Kh\Kn
h)β(h)(7)
alors, l’algorithme d’approximation du noyau de viabilité
fournit un résultat qui converge vers le noyau de viabilité
exact lorsque le pas de la grille htend vers 0.
Ces conditions signifient que tout point de L(Kn
h)doit être
près d’un point de Kn
het que tout point de K\L(Kn
h)doit
être près d’un point de Kh\Kn
h.
3 Choix de la procédure de classifi-
cation
Malgré leur utilité pour le calcul de noyaux de viabilité, les
SVMs classiques ne vérifient pas toujours les conditions
du théorème 1. Nous proposons ici d’utiliser des fonctions
de type "plus proche voisin" qui vérifient les conditions du
théorème.
3.1 Les fonctions de classification utilisées
Nous nous plaçons dans le cas d’une grille Khrégulière de
pas h. Ainsi, β(h) = Nh.
Nous notons y0la fonction "plus proche voisin" :
y0:KKh
~x y0(~x) = argmin(d(~x, Kh)) (8)
C’est le point le plus proche de ~x dans Kh, et nous avons
y0(~x)Khet d(~x, y0(~x)) h0,Nh/2i.
Nous posons également :
yi(~x)Kh
:= {~y Kh, d(y0(~x), ~y) = h, d(~x, ~y)N+ 3h/2}
Soit SKh. Si les points de SKhsont associés à l’éti-
quette +1 et ceux de Kh\Sà l’étiquette -1, nous proposons
d’associer la fonction de classification suivante :
l
S(~x) = +1
si y0(~x)Set ~y yi(~x)|~y /S, d(~x, ~y)> αh
l
S(~x) = 1
sinon,
(9)
avec α[0,1[.
(a) (b)
(c)
FIG. 1: Les points noirs appartiennent à Kn
h, les points blancs
à son complémentaire dans Kh. Cas 1(a), ~xh/Kn+1
hcar
y0(G(~xh)) /Kn
h. Cas 1(b), ~xhKn+1
hcar y0(G(~xh)) Kn
h
et ~y yi(G(~xh)),~y Kn
h. Cas 1(c), y0(G(~xh)) Kn
hmais
~y yi(G(~xh)),~y /Kn
h. Donc pour déterminer si ~x Kn+1
h,
il faut vérifer que d(G(~xh), ~y)> αh.
3.2 Démonstration de la convergence
Dans cette section, nous allons vérifier que lvérifie bien
les conditions du théorème 1 :
Satisfaction de la condition (6). Si l
S(~x)=1alors
y0(~x)S. Or, d(~x, y0(~x)) β(h)donc d(~x, S)β(h).
hal-00656555, version 1 - 17 Jan 2012
Satisfaction de la condition (7). Si l
S(~x) = 1, nous
avons deux possibilités :
y0(~x)S
y0(~x)/S
Si y0(~x)/S,d(~x, Kh\S) = d(~x, y0(~x)) β(h), et la
condition (7) est satisfaite.
Si y0(~x)S,yyi(~x)tel que y /Set d(~x, y)αh.
Ainsi, d(~x, Kh\S)αh hβ(h).
4 Implémentation et Tests
Dans cette section, nous proposons une méthode d’im-
plémentation qui privilégie la mise en oeuvre par les
utilisateurs, au risque d’une perte de précision des ré-
sultats. Nous comparons ensuite les résultats obtenus
pour deux modèles pour lesquels les Noyaux de Viabilité
Théoriques (noté NVT) ont pu être calculés.
4.1 Découplage modèle / algorithme
Dans le jeu de rôle [12] d’aide à la gestion participative
SimParc, les joueurs sont amenés à réfléchir sur différents
domaines d’une aire protégée, et le jeu comporte deux
phases de négociation assez conséquentes. Ceci amène les
joueurs à utiliser l’expert viabilité de manière répétée, avec
des modifications substantielles de contraintes et éventuel-
lement des paramètres du modèle (voire du modèle lui-
même). L’interface graphique utilisateur de l’expert viabi-
lité doit donc être très facile à comprendre et à manipuler.
Or le code du modèle est utilisé en profondeur par l’algo-
rithme de Patrick Saint-Pierre [2], pour estimer localement
le coefficient de Lipschitz de la dynamique (2), ce qui rend
l’utilisation de cet algorithme difficile dans ces conditions.
Pour faciliter l’utilisation dans le jeu sérieux, nous propo-
sons un découplage entre l’algorithme de calcul du noyau
et l’implémentation du modèle. Le système dynamique est
décrit dans un module “implémentation du modèle”, et
une estimation du coefficient de Lipschitz est fixée pour
l’ensemble de l’espace de contraintes : ceci peut entraîner
une perte de précision de l’algorithme avec pour résultat
une approximation relativement grossière du noyau de
viabilité. Dans le module “algorithme” est implémentée la
méthode décrite dans les sections précédentes. Pour utiliser
l’agent expert et lancer un calcul de noyau de viabilité,
les utilisateurs doivent juste définir les paramètres de
l’algorithme et sélectionner un modèle.
4.2 Expérimentation
Modèle de croissance de population dans un espace
limité. Ce modèle a été élaboré par Maltus et Ve-
rhulst. L’état du système est décrit par deux variables,
(x(t), y(t)) :x(t)représente la taille de la population et
y(t)son taux d’accroissement. La dynamique à temps dis-
cret avec un pas de temps dt est la suivante :
x(t+dt) = x(t) + x(t)y(t)dt
y(t+dt) = y(t) + u(t)dt avec |u(t)| ≤ c(10)
cest la variation maximale du taux d’accroissement à
chaque pas de temps.
Aubin [14] rajoute des contraintes sur la taille de la po-
pulation qui doit rester entre deux bornes : l’ensemble des
contraintes est ainsi défini par K= [a, b]×R, avec a > 0.
Ce système a un noyau de viabilité théorique (quand
dt 0), qui est étudié par Aubin [14] :
Viab(K) =
(x, y)R2|x[a;b], y [p2.c.log(x
a); q2.c.log(b
x)]
Nous prenons comme valeurs des paramètres a= 0,b= 3,
c= 0.5. Le tableau 1 rassemble les résultats de quatre
simulations avec des nombres de points par dimension
croissants : tous les noyaux calculés représentent en
volume entre 55%et 60%du volume de l’ensemble des
contraintes. La fidélité au NVT (mesurée par l’écart en
volume entre le NVT et le noyau calculé) est supérieure
à 90%et elle augmente avec le nombre des points de la
grille. Nous avons également comparé le temps de calcul
avec celui du logiciel Kviar [3], le temps de calcul est
toujours plus faible et le gain augmente avec le nombre de
points. La figure 2 représente les résultats des simulations
du tableau 1 avec dt = 0.1. Les résultats que nous avons
obtenus sont sous forme d’un ensemble de points que nous
notons NoyauApp. L’approximation est bien sûr meilleure
quand le nombre de points augmente (c’est le théorème de
convergence).
Simulations Simu 1 Simu 2 Simu 3 Simu 4
Nb pts dim x 56 112 448 896
Nb pts dim y 80 160 640 1280
Nb pts total 4480 17920 286720 1146880
NoyauApp/K(%) 59.88 57.19 55.34 55.33
Nb Iterations 18 23 34 34
Taux NVT(%) 89.97 93.33 95.16 95.47
Temps 8s 2m09s 22m 1h40m
Temps(Kviar) 19s 2m59s 1h59m >10h
TAB. 1: Toutes les simulations utilisent les valeurs dt = 0.1et
α= 0.5. Pour chaque simulation nous acons renseigné le nombre
de points selon x, le nombre de points selon y, le nombre de points
de la grille (x*y), le volume du noyau de viabilité approché en pour-
centage du volume de l’ensemble des contraintes (nombre de points de
NoyauApp/ nombre de points total), le nombre d’itérations avant l’ar-
rêt de l’algorithme, le volume du NVT en pourcentage du volume du
noyau de viabilité approché (nombre de points communs au NoyauApp
et au NVT) / (nombre de points de NoyauApp). Les 2 dernières lignes
renseignent les temps de calcul respectifs de notre algorithme et de
Kviar. Toutes les simulations sont effectuées avec un processeur Core
2,13 GHz d’Intel (TM) 2 CPU, 2 Go RAM.
hal-00656555, version 1 - 17 Jan 2012
(a) (b)
(c) (d)
FIG. 2: Les approximations du noyau de viabilité du problème de population avec α= 0.5et dt = 0.1du tableau 1. L’axe horizontal
représente la taille de la population (x) et l’axe vertical son taux d’accroissement (y). L’ensemble des contraintes est le rectangle noir. Le
noyau de viabilité théorique (NVT) est représenté en rouge. Le noyau de viabilité calculé approche le NTV par l’extérieur, les erreurs sont
en bleu. Les graphiques (a) à (d) correspondent aux simulations 1 à 4 respectivement.
Modèle de consommation. Ce problème est étudié par
Aubin [1], le problème est modélisé en deux dimensions
x(t)et y(t).x(t)représente la consommation d’une ma-
tière première et y(t)représente son prix. L’ensemble de
contraintes est K= [0; b]×[0; e]. La variation des prix
entre deux pas de temps est déterminée par un variable de
contrôle u(t)et bornée par le paramètre c. La dynamique
du système représente la consommation d’une matière pre-
mière, freinée par les prix :
x(t+dt) = x(t)+(x(t)y(t))dt
y(t+dt) = y(t) + u(t)dt avec |u(t)| ≤ c(11)
Pour ce système simple, il est possible de déterminer
analytiquement le noyau de viablité [1] (quand dt 0) :
Viab(K) =
n(x, y)|x[a;b], y [xc+c.expx
c;x+cc.expxb
c]o
Nous prenons b= 2,c= 0.5et e= 3. La figure 3
représente deux simulations d’approximation du noyau de
viabilité avec dt = 0.1.
Dans le tableau 2, tous les volumes des noyaux approchés
représentent entre 25%et 27%du volume de l’ensemble
des contraintes, la fidélité au NVT est supérieure à 97%,
et elle augmente avec le nombre des points. Le temps de
calcul est beaucoup plus faible que celui de Kviar quand
le nombre de points augmente. La figure 3 représente les
résultats des simulations du tableau 2 avec dt = 0.1.
hal-00656555, version 1 - 17 Jan 2012
1 / 7 100%

Algorithme d`approximation du noyau de viabilité avec procédure de

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !