Optimisation Stochastique
Transcription
Optimisation Stochastique
Optimisation Stochastique Pr Pierre Collet Laboratoire ICUBE Campus Numérique des Systèmes Complexes [email protected] 1 Problématique ◆ Problèmes inverses Ø Profil d’aile Ø Évaluation de la qualité par équations de Navier-Stokes Problèmes difficiles ◆ Problèmes NP-complets très difficiles à résoudre ◆ Voyageur de commerce : (n-1)!/2 chemins possibles ! ◆ Si un ordinateur est capable d'évaluer 1 milliard de chemins / s. Ø 16 villes : 653.109 chemins = 653s = 0,18h. Ø 17 villes : 10461.109 chemins = 10461s = 2,9h. Ø 18 villes : 177843.109 chemins = 177843s = 49h = 2,05j Ø 25 villes : 3,10.1023 chemins = 3,10.1014s = 86 milliards d'heures = 9,8 millions d'années !!! 3 Pierre Collet : Optimisation Stochastique Types de problèmes (fonctions) à optimiser q Unimodal Un optimum Plusieurs optima global locaux q Multimodal (Dans ce cours, on cherchera à minimiser les valeurs) Notion d'optimisation q Trouver x* tq F(x*) = Inf { F(y) pour y ∈ Ω } E, espace mesuré, Ω ⊂ E, F: ΩR F est la fonction objectif à minimiser Minimum global : x* tq ∀ x ∈ Ω, F(x*) ≤ F(x) Minima locaux : x* tq ∃ ε > 0, ∀ x ∈ B (x*, ε) ∩ Ω, F(x*) ≤ F(x) (Minima stricts si inégalités strictes pour x≠x*) Espaces de recherche en optimisation q Continus Ø Dérivables Ø Non dérivables q Discontinus q Discrets q Combinatoires q Mixtes Méthode locale pour problème discret q Algorithme « Glouton » Ø xi+1= « Meilleur voisin » de xi Ø Contexte: – Tout espace (possiblement discrétisé) – Fonctionne avec toute fonction Ø Optimum global ici ! Ou plutôt là ? Condition nécessaire: – x0 bien choisi. x0 Méthode locale, coûteuse (surtout si plusieurs dimensions), qui détermine le plus proche optimum local (attention à la discrétisation !) Fonction continue et dérivable q Descente de gradient (gradient search) Dérivée nulle = optimum local ! x1 x2 x0 q q q q La fonction doit être gentille (continue et dérivable) xi+1 = xi – α f’(xi) Efficace, mais c’est une recherche locale (et il faut avoir le bon α !) On ne trouve l’optimum global que si x0 est bien choisi L Méthodes énumératives ◆ Contexte: Ø Espace fini Ø Toute fonction F Ø Ordre de parcours Optimum global apparemment ici ! Mais en fait là ! – Fixé – Dépend du problème ◆ Conditions nécessaires Ø Taille de l’espace limitée Ø Discrétisation bien choisie Méthodes globales, mais coûteuses et non fiables pour des problèmes continus 9 Méthodes stochastiques ◆ Utilisent des variables aléatoires permettant de ne pas tout explorer de manière exhaustive (problèmes difficiles) ◆ Sélectionner xi dans Ω d’après une distribution de probabilités ◆ Monte-Carlo (Metropolis, Ulam 1949) ◆ Évolution Artificielle (1953, renaissance en 1990) ◆ Recuit simulé (Kirkpatrick, Gelatt et Vecchi, 1983) Méthode de Monte-Carlo ◆ Méthode née avec les ordinateurs, inventée par Fermi, Ulam, von Neumann, … Metropolis et utilisée sur ENIAC, MANIAC à partir de 1947 pour prédire (sans les résoudre) le résultat d’équations différentielles. ◆ Naissance des mathématiques expérimentales grâce aux ordinateurs. ◆ L’idée est d’utiliser un grand nombre d’essais aléatoires pour trouver une solution approchée à un problème donné. ◆ Le degré zéro d’une approche Monte-Carlo est la recherche aléatoire (on essaie des millions de solutions au hasard et on garde la meilleure). N. Metropolis and S. Ulam, « The Monte Carlo method », Journal of the American Statistical Association 44:335-341, 1949. Surface d’un étang par Monte-Carlo ◆ Utilisation plus subtile : Sur 100 cailloux envoyés, 34 « ploufs » ! q Pour augmenter la précision : envoyer plus de cailloux ! q Qualité du résultat dépendant de la qualité du générateur de nombres pseudo-aléatoires ! Ø Mersenne twister (2è version) Recuit simulé (simulated annealing) ◆ Kirkpatrick, Gelatt, Vecchi, 1983. ◆ Analogie avec procédés métallurgiques pour un « Hill-Climbing avancé » ◆ Au début, x0 pour lequel on calcul l’ « énergie » E0 (fonction d’évaluation qu’on cherche à minimiser) et on choisit arbitrairement une « température » de départ élevée T0. ◆ On se déplace la solution dans Ω dépendant de T. ◆ Si la solution est meilleure, on la garde. Sinon, on prend la nouvelle solution avec la probabilité e–(ΔE)/T (algo de Metropolis/Hastings). ◆ On fait baisser la température, (linéairement ou par paliers). Ø Variation linéaire : Ti+1=0,99 Ti ◆ Sous certaines conditions, on finit par trouver l’optimum global après une série de mutations de plus en plus faibles (température qui diminue) en un temps infini. Pierre Collet : Intelligence Artificielle 13 Fonctionnement visuel On commence par secouer fort Fonctionnement visuel Puis on secoue moins fort Garantie de trouver l’optimum global ◆ Recuit simulé : sous certaines conditions, on peut garantir qu’on trouvera avec certitude l’optimum global dans un temps infini. ◆ Dans la pratique, la convergence requise est si lente que les utilisateurs du recuit simulé font converger l’algo trop vite pour conserver cette garantie è Possibilité de convergence prématurée vers un optimum local, même avec un recuit simulé !!! ◆ Les algorithmes évolutionnaires ne garantissent pas l’obtention de l’optimum global, sauf à paramétrer pou Comment choisir quel algorithme ? ◆ Critère de choix des méthodes de recherche : Ø Ø Ø Complexité du problème (unimodal, multimodal) Type d’espace de recherche (continu, discontinu, discret, mixte) Régularité de la fonction objectif (forme de l’espace de recherche) ◆ Algorithme stochastique : la qualité des résultats dépend de la qualité du générateur de nombres pseudo-aléatoires No free lunch theorem ◆ En 1997, démonstration mathématique par McCready et Wolpert qu’on ne peut pas espérer qu’il existe un algorithme d’optimisation meilleur que les autres sur l’ensemble des problèmes existants : Il n’y a pas de miracle à attendre : pas de « repas gratuit » ◆ Grandes implications ! ◆ Les algorithmes miraculeux « boîte noire » n’existent pas, ou plutôt : si tous les algorithmes sont au mieux équivalents, il est impossible de faire mieux qu’une recherche aléatoire !!! Retour de la recherche aléatoire ! ◆ Si (sur tous les problèmes existants) tous les algorithmes d’optimisation sont équivalents, alors aucun ne peut faire mieux (sur tous les problèmes existants) qu’une recherche aléatoire ! ◆ Surtout : on peut faire pire !!! ◆ Pourquoi essayer de faire mieux ? Problèmes combinatoires de type « voyageur de commerce » Performance recherche aléatoire Ensemble des problèmes existants Algorithmes d’optimisation ◆ Objectif : faire mieux que la recherche aléatoire sur un domaine particulier (car, par le NFL, …) ◆ Il faut s’écarter de la Recherche Aléatoire pour faire mieux sur le domaine à résoudre (quitte à faire moins bien ailleurs) ◆ Il faut un algorithme avec tout plein de paramètres pour le faire « coller au problème » Paramétrage d’algorithme d’optimisation ◆ Beaucoup d’algorithmes avec « deux boutons » pour régler EvE (Exploitation vs Exploration) : Ø Optimisation par colonie de fourmis (pondération objectif vs comportement collectif) Ø Optimisation par essaim particulaire (pondération meilleure position globale / meilleur position personnelle connue) ◆ Mais comment coller à un problème précis avec 2 boutons ? ◆ Algorithmes génétiques : très grand nombre de paramètres (taille de la population, opérateurs génétiques (croisement, mutation), opérateurs de sélection, de remplacement, … ◆ Garantie qu’on peut coller au problème à résoudre mais… paramétrage très difficile ! Conclusion NFL ◆ NFL => Impossible de faire mieux que Recherche Aléatoire sur l’ensemble des problèmes ◆ Pour faire mieux, il faut accepter de faire pire (danger) ◆ Nécessiter d’adapter l’algorithme au problème à résoudre ◆ Nécessité de pouvoir jouer sur un grand nombre de paramètres : Ø Ø Ø Ø Peu de paramètres : facile à paramétrer mais difficile de coller au problème Nombreux paramètres… Tentation : paramétrage automatique mais… si objectif « boîte noire » cf. NFL !!! Possible pour une catégorie de problèmes Intérêt des algorithmes évolutionnaires : tout plein de paramètres ! Ils peuvent ainsi être très performants !