Problèmes d optimisation. Algorithmes gloutons. Problèmes d optimisation. Problèmes d optimisation. [Solutions] [Solutions optimales] [Exemples]

Documents pareils
L exclusion mutuelle distribuée

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Définitions. Numéro à préciser. (Durée : )

Programmation linéaire

Programmation Par Contraintes

Optimisation for Cloud Computing and Big Data

Limites finies en un point

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Jean-Philippe Préaux

Algorithmes d'apprentissage

Chapitre 5 : Flot maximal dans un graphe

Principes d implémentation des métaheuristiques

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Utilisation du backtrack intelligent dans un branch-and-bound Application au problème d Open-Shop

Cours 1 : Qu est-ce que la programmation?

MABioVis. Bio-informatique et la

Probabilités sur un univers fini

L apprentissage automatique

Annexe 6. Notions d ordonnancement.

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Continuité et dérivabilité d une fonction

Problème à résoudre. min f(s) s.c. s S

Programmation Linéaire - Cours 1

Rapport d'analyse des besoins

Cours de Master Recherche

Algorithmes de recherche

1 Première section: La construction générale

Programmation linéaire et Optimisation. Didier Smets

Bases de données documentaires et distribuées Cours NFE04

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Quantification Scalaire et Prédictive

Alarme domestique- Présentation

Objets Combinatoires élementaires

Arbres binaires de décision

4.2 Unités d enseignement du M1

Intelligence Artificielle Planification

Structures algébriques

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Algorithmique et programmation : les bases (VBA) Corrigé

Séminaire TEST. 1 Présentation du sujet. October 18th, 2013

Chp. 4. Minimisation d une fonction d une variable

Avis sur la 1 ère révision du schéma d'aménagement et de gestion des eaux «Nappes profondes de Gironde»

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

La classification automatique de données quantitatives


Stratégie de recherche adaptative en programmation par contrainte

Listes de fournitures du secondaire pour la rentrée

Résolution de systèmes linéaires par des méthodes directes

Pourquoi l apprentissage?

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Quelques algorithmes simples dont l analyse n est pas si simple

= constante et cette constante est a.

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage

Quelques Algorithmes simples

Apprentissage par renforcement (1a/3)

La gestion de données dans le cadre d une application de recherche d alignement de séquence : BLAST.

v Sygic, a.s. All rights reserverd. Manuel utilisateur

Application de K-means à la définition du nombre de VM optimal dans un cloud

Contrainte de flot pour RCPSP avec temps de transfert

COMMUNAUTE ECONOMIQUE ET MONETAIRE DE L AFRIQUE CENTRALE LA COMMISSION

Coefficients binomiaux

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

Nombre de marches Nombre de facons de les monter

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie. Agnès Dullin, lycée J. Racine 20 rue du Rocher, Paris

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

«Cours Statistique et logiciel R»

Le produit semi-direct

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Algèbre binaire et Circuits logiques ( )

Auteure : Natalie Poulin-Lehoux

Credo21 Safe Dynamic (Plan)

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Polynômes à plusieurs variables. Résultant

Resolution limit in community detection

Analyse de la variance Comparaison de plusieurs moyennes

COORDINATION NON COOPÉRATIVE: MÉTHODES D ENCHÈRES

Introduction à l étude des Corps Finis

LE PROBLEME DU PLUS COURT CHEMIN

alg - Classes, instances, objets [oo] Exercices résolus

TABLE DES MATIÈRES. PRINCIPES D EXPÉRIMENTATION Planification des expériences et analyse de leurs résultats. Pierre Dagnelie

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Introduction au Data-Mining

Travaux pratiques avec RapidMiner

Théorèmes de Point Fixe et Applications 1

Les algorithmes de base du graphisme

La persistance des nombres

MODELES DE DUREE DE VIE

Calculabilité Cours 3 : Problèmes non-calculables.

DES FOURMIS POUR LIVRER DU MAZOUT

Transcription:

Algorithmes gloutons Stéphane Grandcolas p.2 Algorithmes gloutons Stéphane Grandcolas p.3 Problèmes d optimisation. Algorithmes gloutons Stéphane Grandcolas stephane.grandcolas@univ-amu.fr [Solutions] permutations, sous-ensembles, configurations particulières,... problème de décision : existe-t-il une solution? [Solutions optimales] les solutions qui maximisent (resp. minimisent) une fonction donnée problème d optimisation : trouver une solution optimale. Algorithmes gloutons Stéphane Grandcolas p.1 Problèmes d optimisation. Problèmes d optimisation. [Exemples] arbres couvrants de minimal, plus longue sous séquence commune, plus court trajet passant par une ensemble de villes donné, permutation d une séquence de colis la mieux équilibrée,... [Approche générale] un premier choix, des sous-problèmes correspondants aux différents choix, une solution optimale est déduite des solutions optimales des sous-problèmes. [Une solution est une suite de choix]

Algorithmes gloutons Stéphane Grandcolas p.6 Algorithmes gloutons Stéphane Grandcolas p.7 Exemple : placement des convives. Exemple : placement des convives. Placer n convives en minimisant le nombre de voisins en conflits. placer_les_convives (E, P ) 1 si E = alors 2 si P est meilleur que M alors 3 M := P, 4 sinon 5 pour chaque c E faire on envisage successivement de placer 6 placer_les_convives (E {c}, P c), chaque convive de E à la position courante On va énumérer les n! permutations des n convives Approche glouton : on envisage un seul choix à chaque étape, celui qui semble le meilleur à cet instant (par exemple le convive qui devrait être le plus difficile à placer). placer_les_convives (E) 1 S :=, 2 tant que E faire 3 U := { c E tel que c n est pas en conflit avec le dernier convive des}, 4 si U = alors 5 U := E, 6 choisir le convive c U qui est le plus en conflit avec des convives de E, 7 E := E {c}, 8 S := S c, 9 renvoyer S Pas de garantie de l optimalité mais coût réduit. Algorithmes gloutons Stéphane Grandcolas p.4 Algorithmes gloutons Stéphane Grandcolas p.5 recherche exhaustive : on explore systématiquement tous les choix possibles, programmation dynamique : mémorisation des solutions de sous-problèmes qui apparaissent plusieurs fois (si il y en a), algorithmes gloutons : sélection d un choix particulier et traitement du sous-problème correspondant (et non pas de tous les sous-problèmes) : heuristique de choix Un algorithme glouton construit une solution pas à pas sans revenir sur ses décisions, en effectuant à chaque étape le choix qui semble le meilleur, en espérant obtenir un résultat optimum global Exemple rendu de monnaie : avec le moins possible de pièces. Algorithme glouton : répéter le choix de la pièce de plus grande valeur qui ne dépasse pas la somme restante tant que celle-ci n est pas nulle

Algorithmes gloutons Stéphane Grandcolas p.8 Algorithmes gloutons Stéphane Grandcolas p.9 énumération de toutes les configurations possibles solution optimale solution optimale choix gloutons Choix glouton : solution non optimale (heuristique glouton) Algorithmes gloutons Stéphane Grandcolas p.8 Algorithmes gloutons Stéphane Grandcolas p.8 Approche glouton suivant les problèmes pas de garantie d optimalité (heuristique glouton) peu couteuse (comparée à une énumération exhaustive) choix intuitif solution optimale Choix glouton optimal Une très bonne approche lorsqu elle produit des solutions optimales Une bonne approche pour des problèmes difficiles (i.e. les autres approches sont très couteuses) où on ne cherche pas absolument l optimalité

un ensemble d objets E = {1,..., n} de p 1,..., p n des boites de capacités C Problème : placer les objets dans les boites en respectant leurs capacités en utilisant le moins possible de boites Méthode : par choix successifs d un objet et d une boite Choix glouton : placer le premier objet dans la première boîte où c est possible Algorithmes gloutons Stéphane Grandcolas p.10 7

3 3 4 3 4 8

Algorithmes gloutons Stéphane Grandcolas p.11 Algorithmes gloutons Stéphane Grandcolas p.12 3 4 8 5 3 4 8 5 9 3 4 2 8 5 9 procédure Empaqueter(n, p, C) n objets, p[ ] leurs (p[i] C), C la capacité des boites, out : le nombre de boites utilisées, c[ ] représente les capacités résiduelles des boites 1 m = 0, 2 c[1] = C, 3 pour i = 1 à n faire 4 b = 1, 5 tant que p[i] > c[b] et b m faire 6 b = b + 1, 7 si b = m + 1 alors 8 m = m + 1, 9 c[b] = C, 10 c[b] = c[b] p[i], 11 renvoyer m

Algorithmes gloutons Stéphane Grandcolas p.13 Algorithmes gloutons Stéphane Grandcolas p.13 Un bon choix glouton : prendre l objet de plus grand Un bon choix glouton : prendre l objet de plus grand 9 8 5 4 3 2 9 8 5 4 3 2 9 8 5 9 8 Algorithmes gloutons Stéphane Grandcolas p.13 Algorithmes gloutons Stéphane Grandcolas p.13 Un bon choix glouton : prendre l objet de plus grand Un bon choix glouton : prendre l objet de plus grand 9 8 5 4 3 2 9 8 5 4 3 2 4 5 9 8 3 4 5 9 8

Algorithmes gloutons Stéphane Grandcolas p.15 Algorithmes gloutons Stéphane Grandcolas p.16 Un bon choix glouton : prendre l objet de plus grand Le choix du paquet de plus grand n est pourtant pas optimal 9 8 5 4 3 2 6 5 5 3 3 2 2 3 4 5 9 8 5 6 capacité 12 3 3 5 3 2 3 5 2 6 5 Algorithmes gloutons Stéphane Grandcolas p.13 Algorithmes gloutons Stéphane Grandcolas p.14 Algorithmes gloutons : optimalité. Algorithmes gloutons : choix optimal. Un algorithme glouton produit des solutions optimales si les deux propriétés suivantes sont vérifiées : premier choix glouton [propriété du choix glouton] il existe toujours une solution optimale qui contient un premier choix glouton En général on montre que toute solution optimale contient ou débute par un choix glouton. [propriété de sous-structure optimale] toute solution optimale contient une sous-structure optimale Soit S une solution optimale du problème P contenant le choix C, et S = S {C}. Alors, S est une solution optimale du sous-problème P C résultant du choix C dans le problème P. solution optimale

Algorithmes gloutons Stéphane Grandcolas p.19 Algorithmes gloutons Stéphane Grandcolas p.20 Algorithmes gloutons : choix optimal. Exemple : rendu de monnaie. sous structure optimale s : somme à atteindre M : valeurs des pièces de monnaie Objectif : constituer la somme s avec le moins possible de pièces Exemple : M = {1, 2, 5} et s = 10 Solution optimale : 5 + 5 (2 pièces) solution optimale du sous problème induit par le premier choix Algorithmes gloutons Stéphane Grandcolas p.17 Algorithmes gloutons Stéphane Grandcolas p.18 Exemple : rendu de monnaie. Rendu de monnaie. Algorithme glouton : choisir des pièces tant que la somme n est pas atteinte Heuristique de choix : la pièce de valeur la plus grande (inférieure à la somme restant à compléter) [propriété du choix glouton] Remarque : toute solution optimale contient deux pièces de 2 et aucune de 1 ou au plus une pièce de 1 et au plus une pièce de 2 0/0 0/1 1/0 1/1 2/0 Si s 5 toute solution optimale contient au moins une pièce de 5 : c est le choix glouton. Si s vaut 1, 2, 3 ou 4, l algorithme fait un bon premier choix (la valeur 2 ou la valeur 1) Toute solution optimale contient donc un choix glouton

Algorithmes gloutons Stéphane Grandcolas p.23 Rendu de monnaie. [propriété de sous-structure optimale] Soit S une solution optimale pour la somme s, soit C S un choix glouton (la plus grosse pièce de S). Alors S = S {C} est une solution optimale pour s valeur(c). Preuve. Par l absurde : soit S meilleure que S pour s valeur(c), alors S {C} est meilleure que S {C} pour s. Contredit l hypothèse que S {C} = S est optimale. Rendu de monnaie : preuve de l optimalité. P n : caractérise les problèmes dont les solutions optimales comportent au plus n pièces Preuve par récurrence sur n : base : le choix glouton produit des solutions optimales pour les problèmes P 1 (la solution se réduit à la plus grande pièce de valeur inférieure ou ègale à s) hypothèse : l algorithme glouton produit des solutions optimales pour les problèmes P n induction : l algorithme glouton produit des solutions optimales pour les problèmes P n+1 Algorithmes gloutons Stéphane Grandcolas p.21 Algorithmes gloutons Stéphane Grandcolas p.22 Rendu de monnaie : preuve de l optimalité. preuve : soit S une solution optimale de taille n + 1 (somme s), S contient donc un premier choix glouton C S (propriété du choix glouton). Alors S {C} est une solution optimale de taille n pour s valeur(c) (propriété de sous-structure optimale). Hypothèse de récurrence : l algorithme glouton produit une solution optimale S pour la somme s valeur(c). S {C} constitue donc une solution optimale pour s correspondant au choix glouton.