Table des matières - Gilles Daniel
Table des matières - Gilles Daniel Table des matières - Gilles Daniel
290 Modélisation et simulation multi-agents pour Sciences de l'Homme et de la Société. Pour introduire la logique qui sous-tend un algorithme génétique, considérons le problème d’optimisation suivant. Supposons que nous cherchions le maximum global x* d’une fonction y = f(x) d’un vecteur x sur un domaine compact D. Pour rendre l’exemple intéressant, supposons que le graphe de cette fonction, c’est-à-dire le paysage que nous voulons explorer, soit compliqué dans le sens où il comprend entre autres de nombreux minima et maxima locaux et n’est pas toujours différentiable. Pour reprendre une image de Holland, faisons l’hypothèse qu’il ne consiste pas seulement de pics et de vallées, mais aussi de ponts, de tunnels, et autres structures complexes. Si le domaine D est compact, il est nécessaire de le discrétiser afin de pouvoir l’explorer numériquement. Soit D’ la discrétisation de D retenue, et soit x*’ le maximum de f(x) sur D’. Après discrétisation, chaque point de D’ peut être exprimé par une chaîne binaire, c’est-à-dire par une succession de 0 et de 1 de longueur donnée. Si les éléments de D sont des points dans un espace cartésien, chaque chaîne représentera ainsi les coordonnées d’un point x. En codage binaire, le nombre maximum de points x que l’on peut représenter par des chaînes de longueur n est de 2 n . La longueur de la chaîne nécessaire pour encoder tous les points de D’, c’est-à-dire pour les représenter chacun par une chaîne différente, dépend ainsi de la cardinalité de D’. En d’autres termes, la précision du codage et la qualité potentielle de la solution en termes du problème original (non discrétisé) augmentent avec la longueur des chaînes utilisées. Trouver le x*’ qui maximise f(x) sur D’ revient ainsi à trouver la ou les meilleures dans un ensemble de chaînes binaires décrivant tous les points en D’. Si la cardinalité de D’ est très grande, il sera pratiquement impossible de procéder par comparaison directe de tous les points de D’. Pour trouver le maximum global x* (où plus précisément : pour trouver presque sûrement un point qui lui soit très proche) un GA commence par générer de façon aléatoire une population initiale X(0) de solutions potentielles du problème, c'est-àdire de chaînes x’(0), x’’(0), x’’’(0) ∈ D’. A chacun des éléments de la population initiale correspond une valeur f(.) plus ou moins élevée de la fonction objectif. L’algorithme génétique va itérativement remplacer la population initiale par des populations X(1), X(2), …, en cherchant à chaque itération (a) à augmenter la proportion de chaînes pour lesquelles f(.) atteint des valeurs élevées ; et (b) à introduire dans la population d’autres chaînes correspondants à des valeurs encore plus élevées de f(.). La taille de la population initiale doit être beaucoup plus petite que la cardinalité de D’ afin que l’utilisation de l’algorithme présente un avantage comparée à une recherche directe. Elle doit cependant être suffisante pour que l’algorithme puisse explorer de façon efficace et robuste la quasi-intégralité de D’. Plus spécifiquement, un algorithme génétique cherche à améliorer itérativement les caractéristiques d’une population de taille constante de chaînes de longueur donnée de caractères a i ∈A, où A est un ensemble fini : a 1 a 2 a 3 a 4 a 5
Apprentissage dans les modèles multi-agents 291 Par analogie avec les objets et phénomènes biologiques qui ont inspiré les GAs, les chaînes sont communément appelées chromosomes, les caractères gènes. Très souvent, les symboles a i seront des entiers, en particulier des 0 ou 1 (codage binaire). Un système de codage/décodage associe à chaque chromosome un et un seul élément du problème concret d’intérêt (dans le cadre de notre exemple introductif de problème d’optimisation, cet élément était une valeur de x), et viceversa. Le codage n’est pas en lui-même un élément du GA. Il s’agit d’une procédure annexe qui met les objets d’intérêt sous une forme appropriée à leur traitement par un ordinateur. Cependant, le choix de codage n’est pas neutre. Il structure le paysage sur lequel s’effectue la recherche, et influence l’efficacité de cette recherche. Voir par exemple [GOL 89] [ANT 89] [GRE 89]. L’ensemble de tous les chromosomes pouvant être formés à l’aide de l’alphabet A forme l’espace de recherche, typiquement très grand. A longueur égale des chromosomes, un alphabet riche augmente la cardinalité de l’espace de recherche. Si les chromosomes sont définis comme des chaînes de n éléments pouvant chacun prendre m valeurs distinctes a i , l’espace de recherche sera de dimension m n . Bien que de nombreux auteurs recommandent l’utilisation d’un alphabet binaire (cf. le « principe de l’alphabet minimal », [GOL 89]), la taille de l’alphabet la plus efficace dans un contexte donné reste une question ouverte. La qualité des différents chromosomes dans le contexte du problème spécifique étudié est évaluée par une fonction scalaire, la fonction d’aptitude. Dans le cadre de notre exemple introductif, il pouvait apparaître naturel de définir un chromosome comme représentant les coordonnées d’un point x∈D’ et d’identifier la fonction d’aptitude avec la fonction objectif f(x) (en pratique, cependant, on préférera souvent travailler avec des fonctions dérivées). Dans un contexte multi-agents, typiquement : – chaque chromosome peut représenter une règle de comportement possible pour un même individu. La fonction f(x) évaluera alors la valeur de chaque règle pour satisfaire les buts de l’individu ; – alternativement, chaque chromosome peut représenter un individu différent. La fonction d’aptitude mesurera alors la capacité de l’individu à survivre et à avoir du succès dans le monde artificiel défini par le GA. Si un chromosome représente un individu, le GA modélise un processus d’évolution, car certains individus disparaissent d’itération en itération tandis que de nouveaux individus apparaissent. Si une chaîne représente une règle de comportement, le GA modélise un processus d’apprentissage, car seules les caractéristiques des agents changent, et non la population elle-même. Les GAs peuvent ainsi être utilisés pour modéliser aussi bien des phénomènes d’évolution que des processus d’apprentissage.
- Page 235 and 236: Des réseaux d’automates aux mod
- Page 237 and 238: Des réseaux d’automates aux mod
- Page 239 and 240: Des réseaux d’automates aux mod
- Page 241 and 242: Des réseaux d’automates aux mod
- Page 243 and 244: Des réseaux d’automates aux mod
- Page 245 and 246: Des réseaux d’automates aux mod
- Page 247 and 248: Des réseaux d’automates aux mod
- Page 249 and 250: Des réseaux d’automates aux mod
- Page 251 and 252: Des réseaux d’automates aux mod
- Page 253 and 254: Des réseaux d’automates aux mod
- Page 255 and 256: Des réseaux d’automates aux mod
- Page 257 and 258: Des réseaux d’automates aux mod
- Page 259 and 260: Des réseaux d’automates aux mod
- Page 261 and 262: Chapitre 12 Modélisation, impléme
- Page 263 and 264: Modélisation, implémentation et e
- Page 265 and 266: Modélisation, implémentation et e
- Page 267 and 268: Modélisation, implémentation et e
- Page 269 and 270: Modélisation, implémentation et e
- Page 271 and 272: Modélisation, implémentation et e
- Page 273 and 274: Modélisation, implémentation et e
- Page 275 and 276: Modélisation, implémentation et e
- Page 277 and 278: Chapitre 13 Apprentissage dans les
- Page 279 and 280: Apprentissage dans les modèles mul
- Page 281 and 282: Apprentissage dans les modèles mul
- Page 283 and 284: Apprentissage dans les modèles mul
- Page 285: Apprentissage dans les modèles mul
- Page 289 and 290: Apprentissage dans les modèles mul
- Page 291 and 292: Apprentissage dans les modèles mul
- Page 293 and 294: Apprentissage dans les modèles mul
- Page 295 and 296: Apprentissage dans les modèles mul
- Page 297 and 298: Apprentissage dans les modèles mul
- Page 299 and 300: Chapitre 14 Influence sociale, jeux
- Page 301 and 302: Influence sociale, jeux de populati
- Page 303 and 304: Influence sociale, jeux de populati
- Page 305 and 306: Influence sociale, jeux de populati
- Page 307 and 308: Influence sociale, jeux de populati
- Page 309 and 310: Influence sociale, jeux de populati
- Page 311 and 312: Influence sociale, jeux de populati
- Page 313 and 314: Influence sociale, jeux de populati
- Page 315 and 316: Influence sociale, jeux de populati
- Page 317 and 318: Influence sociale, jeux de populati
- Page 319 and 320: Influence sociale, jeux de populati
- Page 321 and 322: Influence sociale, jeux de populati
- Page 323 and 324: Troisième Partie Introduction à l
- Page 325 and 326: Modélisation multi-agents des syst
- Page 327 and 328: Chapitre 15 Approche conceptuelle d
- Page 329 and 330: Approche conceptuelle de l’espace
- Page 331 and 332: Approche conceptuelle de l’espace
- Page 333 and 334: Approche conceptuelle de l’espace
- Page 335 and 336: Approche conceptuelle de l’espace
Apprentissage dans les modèles multi-agents 291<br />
Par analogie avec les objets et phénomènes biologiques qui ont inspiré les GAs,<br />
les chaînes sont communément appelées chromosomes, les caractères gènes. Très<br />
souvent, les symboles a i seront <strong>des</strong> entiers, en particulier <strong>des</strong> 0 ou 1 (codage<br />
binaire). Un système de codage/décodage associe à chaque chromosome un et un<br />
seul élément du problème concret d’intérêt (dans le cadre de notre exemple<br />
introductif de problème d’optimisation, cet élément était une valeur de x), et viceversa.<br />
Le codage n’est pas en lui-même un élément du GA. Il s’agit d’une procédure<br />
annexe qui met les objets d’intérêt sous une forme appropriée à leur traitement par<br />
un ordinateur. Cependant, le choix de codage n’est pas neutre. Il structure le paysage<br />
sur lequel s’effectue la recherche, et influence l’efficacité de cette recherche. Voir<br />
par exemple [GOL 89] [ANT 89] [GRE 89].<br />
L’ensemble de tous les chromosomes pouvant être formés à l’aide de l’alphabet<br />
A forme l’espace de recherche, typiquement très grand. A longueur égale <strong>des</strong><br />
chromosomes, un alphabet riche augmente la cardinalité de l’espace de recherche. Si<br />
les chromosomes sont définis comme <strong>des</strong> chaînes de n éléments pouvant chacun<br />
prendre m valeurs distinctes a i , l’espace de recherche sera de dimension m n . Bien<br />
que de nombreux auteurs recommandent l’utilisation d’un alphabet binaire (cf. le<br />
« principe de l’alphabet minimal », [GOL 89]), la taille de l’alphabet la plus efficace<br />
dans un contexte donné reste une question ouverte.<br />
La qualité <strong>des</strong> différents chromosomes dans le contexte du problème spécifique<br />
étudié est évaluée par une fonction scalaire, la fonction d’aptitude. Dans le cadre de<br />
notre exemple introductif, il pouvait apparaître naturel de définir un chromosome<br />
comme représentant les coordonnées d’un point x∈D’ et d’identifier la fonction<br />
d’aptitude avec la fonction objectif f(x) (en pratique, cependant, on préférera souvent<br />
travailler avec <strong>des</strong> fonctions dérivées). Dans un contexte multi-agents, typiquement :<br />
– chaque chromosome peut représenter une règle de comportement possible pour<br />
un même individu. La fonction f(x) évaluera alors la valeur de chaque règle pour<br />
satisfaire les buts de l’individu ;<br />
– alternativement, chaque chromosome peut représenter un individu différent. La<br />
fonction d’aptitude mesurera alors la capacité de l’individu à survivre et à avoir du<br />
succès dans le monde artificiel défini par le GA.<br />
Si un chromosome représente un individu, le GA modélise un processus<br />
d’évolution, car certains individus disparaissent d’itération en itération tandis que de<br />
nouveaux individus apparaissent. Si une chaîne représente une règle de<br />
comportement, le GA modélise un processus d’apprentissage, car seules les<br />
caractéristiques <strong>des</strong> agents changent, et non la population elle-même. Les GAs<br />
peuvent ainsi être utilisés pour modéliser aussi bien <strong>des</strong> phénomènes d’évolution<br />
que <strong>des</strong> processus d’apprentissage.