Cours 8: Algorithmes online



Documents pareils
Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre 5 : Flot maximal dans un graphe

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

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

Chp. 4. Minimisation d une fonction d une variable

Structure fonctionnelle d un SGBD

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Statistique : Résumé de cours et méthodes

Fonctions de plusieurs variables

Introduction à la théorie des files d'attente. Claude Chaudet

Programmation linéaire

Raisonnement probabiliste

Designer d escalier GUIDE DE L UTILISATEUR. Stair Designer-1

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Intégration et probabilités TD1 Espaces mesurés Corrigé

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Programmation linéaire et Optimisation. Didier Smets

Sujet 4: Programmation stochastique propriétés de fonction de recours

REFORME DU CREDIT A LA CONSOMMATION DECRET SUR LE REMBOURSEMENT MINIMAL DU CAPITAL POUR LES CREDITS RENOUVELABLES

L exclusion mutuelle distribuée

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

3 Approximation de solutions d équations

Continuité et dérivabilité d une fonction

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Programmation Linéaire - Cours 1

Intégration et probabilités TD1 Espaces mesurés

La classification automatique de données quantitatives

Lagrange, où λ 1 est pour la contrainte sur µ p ).

FIMA, 7 juillet 2005

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

Optimisation for Cloud Computing and Big Data

Plus courts chemins, programmation dynamique

Configuration d un Client VPN «TheGreenBow» 1) Création d un compte utilisateur dans la base LDAP Netasq

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

TSTI 2D CH X : Exemples de lois à densité 1

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

Architecture des Systèmes d Information Architecture des Systèmes d Information

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Optimisation Discrète

Algorithmes de recherche

Optimisation for Cloud Computing and Big Data

Métriques de performance pour les algorithmes et programmes parallèles

Fête de la science Initiation au traitement des images

OPTIMISATION À UNE VARIABLE

Guide d installation CLX.PayMaker Office (3PC)

Apprentissage Automatique

APPENDICE B SYSTÈME DE PESAGE INTELLIGENT MODÈLE ILC3 ET LM3D VERSION 1.7

Chapitre 4 : Exclusion mutuelle

Ordonnancement temps réel

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

TEST D APTITUDES PHYSIQUES POUR LES TECHNIQUES AMBULANCIÈRES (TAPTA)

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Cours de Master Recherche

Partie 7 : Gestion de la mémoire

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

BACCALAUREAT GENERAL MATHÉMATIQUES

Traitement des données avec Microsoft EXCEL 2010

Infolettre #18 : Les graphiques avec Excel 2010

LES DÉTERMINANTS DE MATRICES

Résolution d équations non linéaires

Dérivés Financiers Contrats à terme

AU DELA DU TEST 3 vers les nages codifiées, le sauvetage, la natation synchronisée

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

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

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

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

Ouvrir le compte UQÀM

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

PROGRAMME D HABILETÉS EN FAUTEUIL ROULANT (WSP-F)

3. Caractéristiques et fonctions d une v.a.

Trépier avec règle, ressort à boudin, chronomètre, 5 masses de 50 g.

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

Calcul différentiel sur R n Première partie

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Lecture graphique. Table des matières

LE PROBLEME DU PLUS COURT CHEMIN

Rappels sur les suites - Algorithme

Chapitre VI - Méthodes de factorisation

IDENTIFIER LES TEMPS DE JEU NE PAS PERDRE LE BALLON

Mathématiques et petites voitures

1 Recherche en table par balayage

Chapitre 7. Récurrences

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

Cours d Analyse. Fonctions de plusieurs variables

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Thème 17: Optimisation

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Document de recherche n 1 (GP, EF)

CHAPITRE 5. Stratégies Mixtes

E-Commerce à Orthez E-Commerce : Se lancer - Générer des commandes - Se positionner : Explications et témoignages Orthez 15 mai 2008

Se connecter en WiFi à une Freebox

Stopack : logiciel pour l entrepôt

Principe de symétrisation pour la construction d un test adaptatif

Formation. Module WEB 4.1. Support de cours

1 ) L élaboration des factures, des bordereaux de livraison et des factures proforma.

Transcription:

Cours 8: Algorithmes online Offline / Online, compétitivité Bin packing, lien avec algo d approx Cache paging, adversaire, borne inférieure Accès de liste, méthode du potentiel Les k serveurs, adversaires multiples Robots et exploration 1-1

Cours 8: Algorithmes online Offline / Online, compétitivité Bin packing, lien avec algo d approx Cache paging, adversaire, borne inférieure Accès de liste, méthode du potentiel Les k serveurs, adversaires multiples Robots et exploration 2-1

Online contre Offline Offline: toutes les données sont disponibles dès le début Online: il faut décider au fur et à mesure de l arrivée des données 3-1

Online contre Offline Offline: toutes les données sont disponibles dès le début Online: il faut décider au fur et à mesure de l arrivée des données Compétitivité: Un algorithme online est α-compétitif si pour toute entrée x, online(x) α OPT(x) + cte 3-2

Online contre Offline Vélib ou Gitane? Offline: toutes les données sont disponibles dès le début Online: il faut décider au fur et à mesure de l arrivée des données Compétitivité: Un algorithme online est α-compétitif si pour toute entrée x, online(x) α OPT(x) + cte L exemple de base: Louer un vélib pour une journée coûte 1 euro. Acheter un vélo coûte 250 euros. Comment ne pas trop dépenser, sachant qu un jour ou l autre on arrêtera le vélo... Donnée: La suite des jours: V,V,V,V,F. 3-3

Online contre Offline Vélib ou Gitane? Offline: toutes les données sont disponibles dès le début Online: il faut décider au fur et à mesure de l arrivée des données Compétitivité: Un algorithme online est α-compétitif si pour toute entrée x, online(x) α OPT(x) + cte L exemple de base: Louer un vélib pour une journée coûte 1 euro. Acheter un vélo coûte 250 euros. Comment ne pas trop dépenser, sachant qu un jour ou l autre on arrêtera le vélo... Donnée: La suite des jours: V,V,V,V,F. Algorithme on-line: louer le vélo 250 fois puis l acheter. 3-4

Online contre Offline Vélib ou Gitane? Offline: toutes les données sont disponibles dès le début Online: il faut décider au fur et à mesure de l arrivée des données Compétitivité: Un algorithme online est α-compétitif si pour toute entrée x, online(x) α OPT(x) + cte L exemple de base: Louer un vélib pour une journée coûte 1 euro. Acheter un vélo coûte 250 euros. Comment ne pas trop dépenser, sachant qu un jour ou l autre on arrêtera le vélo... Donnée: La suite des jours: V,V,V,V,F. Algorithme on-line: louer le vélo 250 fois puis l acheter. Cet algorithme est 2-compétitif: l algorithme optimal décide en fonction du nombre J de jours d utilisation du vélo 3-5

Online contre Offline Vélib ou Gitane? Offline: toutes les données sont disponibles dès le début Online: il faut décider au fur et à mesure de l arrivée des données Compétitivité: Un algorithme online est α-compétitif si pour toute entrée x, online(x) α OPT(x) + cte L exemple de base: Louer un vélib pour une journée coûte 1 euro. Acheter un vélo coûte 250 euros. Comment ne pas trop dépenser, sachant qu un jour ou l autre on arrêtera le vélo... Donnée: La suite des jours: V,V,V,V,F. Algorithme on-line: louer le vélo 250 fois puis l acheter. Cet algorithme est 2-compétitif: l algorithme optimal décide en fonction du nombre J de jours d utilisation du vélo Si J < 250 alors online=opt 3-6

Online contre Offline Vélib ou Gitane? Offline: toutes les données sont disponibles dès le début Online: il faut décider au fur et à mesure de l arrivée des données Compétitivité: Un algorithme online est α-compétitif si pour toute entrée x, online(x) α OPT(x) + cte L exemple de base: Louer un vélib pour une journée coûte 1 euro. Acheter un vélo coûte 250 euros. Comment ne pas trop dépenser, sachant qu un jour ou l autre on arrêtera le vélo... Donnée: La suite des jours: V,V,V,V,F. Algorithme on-line: louer le vélo 250 fois puis l acheter. Cet algorithme est 2-compétitif: l algorithme optimal décide en fonction du nombre J de jours d utilisation du vélo Si J < 250 alors online=opt Si J 250 alors online=500 et OPT=250. 3-7

Portefeuille boursier, paliers Problème: vendre un portefeuille d actions au cours d une période fixe, sachant que les prix flucturont entre un prix plancher p et un prix plafond P 4-1

Portefeuille boursier, paliers Problème: vendre un portefeuille d actions au cours d une période fixe, sachant que les prix flucturont entre un prix plancher p et un prix plafond P Algo palier (déterministe): fixer un prix palier q et vendre dès que ce prix est atteint, sinon vendre au prix final, ie au moins p. 4-2

Portefeuille boursier, paliers Problème: vendre un portefeuille d actions au cours d une période fixe, sachant que les prix flucturont entre un prix plancher p et un prix plafond P Algo palier (déterministe): fixer un prix palier q et vendre dès que ce prix est atteint, sinon vendre au prix final, ie au moins p. Analyse: si le prix max m observé est < q, au pire on a vendu à p: ratio q/p; sinon m q et on a vendu à q: ratio P/q. 4-3

Portefeuille boursier, paliers Problème: vendre un portefeuille d actions au cours d une période fixe, sachant que les prix flucturont entre un prix plancher p et un prix plafond P Algo palier (déterministe): fixer un prix palier q et vendre dès que ce prix est atteint, sinon vendre au prix final, ie au moins p. Analyse: si le prix max m observé est < q, au pire on a vendu à p: ratio q/p; sinon m q et on a vendu à q: ratio P/q. Le pire cas max(q/p, P/q) est minimum pour le choix q = pp l algo est p P/p-compétitif. 4-4

Portefeuille boursier, paliers Problème: vendre un portefeuille d actions au cours d une période fixe, sachant que les prix flucturont entre un prix plancher p et un prix plafond P Algo palier (déterministe): fixer un prix palier q et vendre dès que ce prix est atteint, sinon vendre au prix final, ie au moins p. Analyse: si le prix max m observé est < q, au pire on a vendu à p: ratio q/p; sinon m q et on a vendu à q: ratio P/q. Le pire cas max(q/p, P/q) est minimum pour le choix q = pp l algo est p P/p-compétitif. Algo palier par fraction (déterministe): supposons P = p2 k, vendre 1 k des actions quand on atteint p2i pour i = 0,..., k 1 4-5

Portefeuille boursier, paliers Problème: vendre un portefeuille d actions au cours d une période fixe, sachant que les prix flucturont entre un prix plancher p et un prix plafond P Algo palier (déterministe): fixer un prix palier q et vendre dès que ce prix est atteint, sinon vendre au prix final, ie au moins p. Analyse: si le prix max m observé est < q, au pire on a vendu à p: ratio q/p; sinon m q et on a vendu à q: ratio P/q. Le pire cas max(q/p, P/q) est minimum pour le choix q = pp l algo est p P/p-compétitif. Algo palier par fraction (déterministe): supposons P = p2 k, vendre 1 k des actions quand on atteint p2i pour i = 0,..., k 1 Analyse: si m est entre p2 j et p2 j+1, on a gagné 1 k p(1 + 2 +... + 2j ) contre m p2 j+1 soit un ratio de k = log 2 P/p. l algo est (log 2 P/p)-compétitif 4-6

Portefeuille boursier, paliers Problème: vendre un portefeuille d actions au cours d une période fixe, sachant que les prix flucturont entre un prix plancher p et un prix plafond P Algo palier (déterministe): fixer un prix palier q et vendre dès que ce prix est atteint, sinon vendre au prix final, ie au moins p. Analyse: si le prix max m observé est < q, au pire on a vendu à p: ratio q/p; sinon m q et on a vendu à q: ratio P/q. Le pire cas max(q/p, P/q) est minimum pour le choix q = pp l algo est p P/p-compétitif. Algo palier par fraction (déterministe): supposons P = p2 k, vendre 1 k des actions quand on atteint p2i pour i = 0,..., k 1 Analyse: si m est entre p2 j et p2 j+1, on a gagné 1 k p(1 + 2 +... + 2j ) contre m p2 j+1 soit un ratio de k = log 2 P/p. l algo est (log 2 P/p)-compétitif Algo probabiliste: choisir i [0, k[ avec proba 1 k puis algo palier à q = p2i. 4-7

4-8 Portefeuille boursier, paliers Problème: vendre un portefeuille d actions au cours d une période fixe, sachant que les prix flucturont entre un prix plancher p et un prix plafond P Algo palier (déterministe): fixer un prix palier q et vendre dès que ce prix est atteint, sinon vendre au prix final, ie au moins p. Analyse: si le prix max m observé est < q, au pire on a vendu à p: ratio q/p; sinon m q et on a vendu à q: ratio P/q. Le pire cas max(q/p, P/q) est minimum pour le choix q = pp l algo est p P/p-compétitif. Algo palier par fraction (déterministe): supposons P = p2 k, vendre 1 k des actions quand on atteint p2i pour i = 0,..., k 1 Analyse: si m est entre p2 j et p2 j+1, on a gagné 1 k p(1 + 2 +... + 2j ) contre m p2 j+1 soit un ratio de k = log 2 P/p. l algo est (log 2 P/p)-compétitif en moyenne Algo probabiliste: choisir i [0, k[ avec proba 1 k puis algo palier à q = p2i.

Cours 8: Algorithmes online Offline / Online, compétitivité Bin packing, lien avec algo d approx Cache paging, adversaire, borne inférieure Accès de liste, méthode du potentiel Les k serveurs, adversaires multiples Robots et exploration 5-1 INF-550-9: Algorithmes Online

Rangement optimal et approximation gloutonne Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. On a vu un algorithme glouton approché à un facteur 3/2, qui classe les objets par poids décroissant et les range de manière gloutonne. 6-1

Rangement optimal et approximation gloutonne Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. On a vu un algorithme glouton approché à un facteur 3/2, qui classe les objets par poids décroissant et les range de manière gloutonne. Version Online: on ne peut plus classer les objets par poids décroissant, on doit les traiter au fur et à mesure qu ils arrivent. 6-2

Rangement optimal et approximation gloutonne Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. On a vu un algorithme glouton approché à un facteur 3/2, qui classe les objets par poids décroissant et les range de manière gloutonne. Version Online: on ne peut plus classer les objets par poids décroissant, on doit les traiter au fur et à mesure qu ils arrivent. Algorithme glouton Online: on place les objets dans l ordre où ils arrivent en n ouvrant une nouvelle boite que si c est nécessaire. 6-3

Rangement optimal et approximation gloutonne Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. On a vu un algorithme glouton approché à un facteur 3/2, qui classe les objets par poids décroissant et les range de manière gloutonne. Version Online: on ne peut plus classer les objets par poids décroissant, on doit les traiter au fur et à mesure qu ils arrivent. Algorithme glouton Online: on place les objets dans l ordre où ils arrivent en n ouvrant une nouvelle boite que si c est nécessaire. Analyse: similaire à l analyse de l algo précédent. 6-4

Rangement optimal et approximation gloutonne Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. On a vu un algorithme glouton approché à un facteur 3/2, qui classe les objets par poids décroissant et les range de manière gloutonne. Version Online: on ne peut plus classer les objets par poids décroissant, on doit les traiter au fur et à mesure qu ils arrivent. Algorithme glouton Online: on place les objets dans l ordre où ils arrivent en n ouvrant une nouvelle boite que si c est nécessaire. Analyse: similaire à l analyse de l algo précédent. il faut au moins une nouvelle boite pour chaque objet de taille > P/2 6-5

Rangement optimal et approximation gloutonne Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. On a vu un algorithme glouton approché à un facteur 3/2, qui classe les objets par poids décroissant et les range de manière gloutonne. Version Online: on ne peut plus classer les objets par poids décroissant, on doit les traiter au fur et à mesure qu ils arrivent. Algorithme glouton Online: on place les objets dans l ordre où ils arrivent en n ouvrant une nouvelle boite que si c est nécessaire. Analyse: similaire à l analyse de l algo précédent. il faut au moins une nouvelle boite pour chaque objet de taille > P/2 si l algo online place un gros objet dans chaque boite, il est optimal 6-6

Rangement optimal et approximation gloutonne Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. On a vu un algorithme glouton approché à un facteur 3/2, qui classe les objets par poids décroissant et les range de manière gloutonne. Version Online: on ne peut plus classer les objets par poids décroissant, on doit les traiter au fur et à mesure qu ils arrivent. Algorithme glouton Online: on place les objets dans l ordre où ils arrivent en n ouvrant une nouvelle boite que si c est nécessaire. Analyse: similaire à l analyse de l algo précédent. il faut au moins une nouvelle boite pour chaque objet de taille > P/2 si l algo online place un gros objet dans chaque boite, il est optimal sinon considérons la dernière boite ouverte qui n ait pas de gros objet 6-7

Rangement optimal et approximation gloutonne Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. On a vu un algorithme glouton approché à un facteur 3/2, qui classe les objets par poids décroissant et les range de manière gloutonne. Version Online: on ne peut plus classer les objets par poids décroissant, on doit les traiter au fur et à mesure qu ils arrivent. Algorithme glouton Online: on place les objets dans l ordre où ils arrivent en n ouvrant une nouvelle boite que si c est nécessaire. Analyse: similaire à l analyse de l algo précédent. il faut au moins une nouvelle boite pour chaque objet de taille > P/2 si l algo online place un gros objet dans chaque boite, il est optimal sinon considérons la dernière boite ouverte qui n ait pas de gros objet l objet pour lequel elle a été ouverte n entrait dans aucune des autres boites 6-8

Rangement optimal et approximation gloutonne Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. On a vu un algorithme glouton approché à un facteur 3/2, qui classe les objets par poids décroissant et les range de manière gloutonne. Version Online: on ne peut plus classer les objets par poids décroissant, on doit les traiter au fur et à mesure qu ils arrivent. Algorithme glouton Online: on place les objets dans l ordre où ils arrivent en n ouvrant une nouvelle boite que si c est nécessaire. Analyse: similaire à l analyse de l algo précédent. il faut au moins une nouvelle boite pour chaque objet de taille > P/2 si l algo online place un gros objet dans chaque boite, il est optimal sinon considérons la dernière boite ouverte qui n ait pas de gros objet l objet pour lequel elle a été ouverte n entrait dans aucune des autres boites toutes les boites sauf une sont au moins 1 2 -pleine 6-9

6-10 Rangement optimal et approximation gloutonne Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. On a vu un algorithme glouton approché à un facteur 3/2, qui classe les objets par poids décroissant et les range de manière gloutonne. Version Online: on ne peut plus classer les objets par poids décroissant, on doit les traiter au fur et à mesure qu ils arrivent. Algorithme glouton Online: on place les objets dans l ordre où ils arrivent en n ouvrant une nouvelle boite que si c est nécessaire. Analyse: similaire à l analyse de l algo précédent. il faut au moins une nouvelle boite pour chaque objet de taille > P/2 si l algo online place un gros objet dans chaque boite, il est optimal sinon considérons la dernière boite ouverte qui n ait pas de gros objet l objet pour lequel elle a été ouverte n entrait dans aucune des autres boites toutes les boites sauf une sont au moins 1 2 -pleine Glouton Online 2 OPT+1

Cours 8: Algorithmes online Offline / Online, compétitivité Bin packing, lien avec algo d approx Cache paging, adversaire, borne inférieure Accès de liste, méthode du potentiel Les k serveurs, adversaires multiples Robots et exploration 7-1

Gestion du cache mémoire, borne inférieure Donnée: mémoire centrale organisée en pages, mémoire cache de k pages; le chargement d une page coûte 1 (et on sort une des pages du cache). Problème: être α-compétitif pour toute séquence de consultations de pages. 8-1

Gestion du cache mémoire, borne inférieure Donnée: mémoire centrale organisée en pages, mémoire cache de k pages; le chargement d une page coûte 1 (et on sort une des pages du cache). Problème: être α-compétitif pour toute séquence de consultations de pages. Une politique de cache consiste à choisir la page qui est éliminée du cache lorsqu une nouvelle page doit entrer, exemple: LRU (least recently accessed), FIFO (first in first out), LFU (least frequently used). 8-2

Gestion du cache mémoire, borne inférieure Donnée: mémoire centrale organisée en pages, mémoire cache de k pages; le chargement d une page coûte 1 (et on sort une des pages du cache). Problème: être α-compétitif pour toute séquence de consultations de pages. Une politique de cache consiste à choisir la page qui est éliminée du cache lorsqu une nouvelle page doit entrer, exemple: LRU (least recently accessed), FIFO (first in first out), LFU (least frequently used). Comparer à OPT (offline): éliminer la page qui sera redemandée le plus tard 8-3

Gestion du cache mémoire, borne inférieure Donnée: mémoire centrale organisée en pages, mémoire cache de k pages; le chargement d une page coûte 1 (et on sort une des pages du cache). Problème: être α-compétitif pour toute séquence de consultations de pages. Une politique de cache consiste à choisir la page qui est éliminée du cache lorsqu une nouvelle page doit entrer, exemple: LRU (least recently accessed), FIFO (first in first out), LFU (least frequently used). Comparer à OPT (offline): éliminer la page qui sera redemandée le plus tard Analyse: pour tout algorithme online k-page détermiste on peut construire une séquence sur k + 1 pages qui nécessite de faire entrer une nouvelle page à chaque consultation (le faire en se plaçant en adversaire de l algorithme) 8-4

Gestion du cache mémoire, borne inférieure Donnée: mémoire centrale organisée en pages, mémoire cache de k pages; le chargement d une page coûte 1 (et on sort une des pages du cache). Problème: être α-compétitif pour toute séquence de consultations de pages. Une politique de cache consiste à choisir la page qui est éliminée du cache lorsqu une nouvelle page doit entrer, exemple: LRU (least recently accessed), FIFO (first in first out), LFU (least frequently used). Comparer à OPT (offline): éliminer la page qui sera redemandée le plus tard Analyse: pour tout algorithme online k-page détermiste on peut construire une séquence sur k + 1 pages qui nécessite de faire entrer une nouvelle page à chaque consultation (le faire en se plaçant en adversaire de l algorithme) L algo optimal offline pour cette séquence élimine la page parmi celles présentes qui sera redemandée le plus tard, i.e. dans k tours au moins, il n aura donc pas besoin de faire entrer d autre page avant k tours. 8-5

Gestion du cache mémoire, borne inférieure Donnée: mémoire centrale organisée en pages, mémoire cache de k pages; le chargement d une page coûte 1 (et on sort une des pages du cache). Problème: être α-compétitif pour toute séquence de consultations de pages. Une politique de cache consiste à choisir la page qui est éliminée du cache lorsqu une nouvelle page doit entrer, exemple: LRU (least recently accessed), FIFO (first in first out), LFU (least frequently used). Comparer à OPT (offline): éliminer la page qui sera redemandée le plus tard Analyse: pour tout algorithme online k-page détermiste on peut construire une séquence sur k + 1 pages qui nécessite de faire entrer une nouvelle page à chaque consultation (le faire en se plaçant en adversaire de l algorithme) L algo optimal offline pour cette séquence élimine la page parmi celles présentes qui sera redemandée le plus tard, i.e. dans k tours au moins, il n aura donc pas besoin de faire entrer d autre page avant k tours. un algo online déterministe est au mieux k-compétitif 8-6

Gestion du cache mémoire, algorithme déterministe un algo online déterministe est au mieux k-compétitif peut il vraiment être pire? 9-1

Gestion du cache mémoire, algorithme déterministe un algo online déterministe est au mieux k-compétitif peut il vraiment être pire? Oui: par exemple Least Frequently Used n est pas k-compétitif (cf PC) 9-2

Gestion du cache mémoire, algorithme déterministe un algo online déterministe est au mieux k-compétitif peut il vraiment être pire? Oui: par exemple Least Frequently Used n est pas k-compétitif (cf PC) Il n est en fait pas compétitif, i.e. il n est α-compétitif pour aucun α. 9-3

Gestion du cache mémoire, algorithme déterministe un algo online déterministe est au mieux k-compétitif peut il vraiment être pire? Oui: par exemple Least Frequently Used n est pas k-compétitif (cf PC) Il n est en fait pas compétitif, i.e. il n est α-compétitif pour aucun α. Théorème. LRU et FIFO sont k-compétitifs. 9-4

Gestion du cache mémoire, algorithme déterministe un algo online déterministe est au mieux k-compétitif peut il vraiment être pire? Oui: par exemple Least Frequently Used n est pas k-compétitif (cf PC) Il n est en fait pas compétitif, i.e. il n est α-compétitif pour aucun α. Théorème. LRU et FIFO sont k-compétitifs. LRU et FIFO: dans les deux cas, si on paye k alors OPT doit payer au moins 1, car cela veut dire que k pages différentes sont entrées. 9-5

Gestion du cache mémoire, algorithme déterministe un algo online déterministe est au mieux k-compétitif peut il vraiment être pire? Oui: par exemple Least Frequently Used n est pas k-compétitif (cf PC) Il n est en fait pas compétitif, i.e. il n est α-compétitif pour aucun α. Théorème. LRU et FIFO sont k-compétitifs. LRU et FIFO: dans les deux cas, si on paye k alors OPT doit payer au moins 1, car cela veut dire que k pages différentes sont entrées. En PC: on peut faire mieux avec un algorithme probabiliste 9-6

Cours 8: Algorithmes online Offline / Online, compétitivité Bin packing, lien avec algo d approx Cache paging, adversaire, borne inférieure Accès de liste, méthode du potentiel Les k serveurs, adversaires multiples Robots et exploration 10-1

Accès séquenciels dans une liste Données: Une liste simplement chainée L. Problème: coût min pour traiter une suite d accès (on peut réorganiser L) L accès à la clef en position i coûte i opérations (accès séquenciel). Un échange de clef voisines coûte 1 et on peut gratuitement amener la clef à laquelle on accède en tête de liste. 11-1

Accès séquenciels dans une liste Données: Une liste simplement chainée L. Problème: coût min pour traiter une suite d accès (on peut réorganiser L) L accès à la clef en position i coûte i opérations (accès séquenciel). Un échange de clef voisines coûte 1 et on peut gratuitement amener la clef à laquelle on accède en tête de liste. Théorème (admis): la recherche de la séquence d opérations optimale offline est NP-dure. 11-2

Accès séquenciels dans une liste Données: Une liste simplement chainée L. Problème: coût min pour traiter une suite d accès (on peut réorganiser L) L accès à la clef en position i coûte i opérations (accès séquenciel). Un échange de clef voisines coûte 1 et on peut gratuitement amener la clef à laquelle on accède en tête de liste. Théorème (admis): la recherche de la séquence d opérations optimale offline est NP-dure. Exemple d algo online: Transpose: la clef demandée est avancée d une place Compteur: les clefs sont classées par nb d accès décroissants. Move-to-front: la clef demandée est mise en tête de liste 11-3

Accès séquenciels dans une liste Données: Une liste simplement chainée L. Problème: coût min pour traiter une suite d accès (on peut réorganiser L) L accès à la clef en position i coûte i opérations (accès séquenciel). Un échange de clef voisines coûte 1 et on peut gratuitement amener la clef à laquelle on accède en tête de liste. Théorème (admis): la recherche de la séquence d opérations optimale offline est NP-dure. Exemple d algo online: Transpose: la clef demandée est avancée d une place Compteur: les clefs sont classées par nb d accès décroissants. Move-to-front: la clef demandée est mise en tête de liste Résultat: Transpose et Compteur non compétitif, Move-to-Front l est. 11-4

Accès séquenciels dans une liste Données: Une liste simplement chainée L. Problème: coût min pour traiter une suite d accès (on peut réorganiser L) L accès à la clef en position i coûte i opérations (accès séquenciel). Un échange de clef voisines coûte 1 et on peut gratuitement amener la clef à laquelle on accède en tête de liste. Théorème (admis): la recherche de la séquence d opérations optimale offline est NP-dure. Exemple d algo online: Transpose: la clef demandée est avancée d une place Compteur: les clefs sont classées par nb d accès décroissants. Move-to-front: la clef demandée est mise en tête de liste Résultat: Transpose et Compteur non compétitif, Move-to-Front l est. Pour Transpose et compteur il suffit d exhiber des requêtes pénibles (cf PC) 11-5

Accès séquenciels dans une liste Données: Une liste simplement chainée L. Problème: coût min pour traiter une suite d accès (on peut réorganiser L) L accès à la clef en position i coûte i opérations (accès séquenciel). Un échange de clef voisines coûte 1 et on peut gratuitement amener la clef à laquelle on accède en tête de liste. Théorème (admis): la recherche de la séquence d opérations optimale offline est NP-dure. Exemple d algo online: Transpose: la clef demandée est avancée d une place Compteur: les clefs sont classées par nb d accès décroissants. Move-to-front: la clef demandée est mise en tête de liste Résultat: Transpose et Compteur non compétitif, Move-to-Front l est. Pour Transpose et compteur il suffit d exhiber des requêtes pénibles (cf PC) Pour Move-to-front il faut un moyen de comparer à OPT... 11-6

Méthode du potentiel La méthode du potentiel peut être utile pour déterminer le facteur de compétitivité d un algo A lorsqu on ne connait pas l OPT. L idée est d associer un potentiel φ mesurant la différence entre les configurations dans lesquelles se trouvent A et OPT 12-1

Méthode du potentiel La méthode du potentiel peut être utile pour déterminer le facteur de compétitivité d un algo A lorsqu on ne connait pas l OPT. L idée est d associer un potentiel φ mesurant la différence entre les configurations dans lesquelles se trouvent A et OPT On note φ i le potentiel après l étape i, A i le coût de l étape i pour l algo A. Le coût amorti d une étape est a i = A i + φ i φ i 1 : on espère ainsi compenser une étape coûteuse par une baisse de potentiel. 12-2

Méthode du potentiel La méthode du potentiel peut être utile pour déterminer le facteur de compétitivité d un algo A lorsqu on ne connait pas l OPT. L idée est d associer un potentiel φ mesurant la différence entre les configurations dans lesquelles se trouvent A et OPT On note φ i le potentiel après l étape i, A i le coût de l étape i pour l algo A. Le coût amorti d une étape est a i = A i + φ i φ i 1 : on espère ainsi compenser une étape coûteuse par une baisse de potentiel. Proposition: si le coût amorti a i est inférieur à c OP T i, et si le potentiel final est positif, alors A est c-compétitif. A = P i A i = φ 0 φ k + P i a i φ 0 + P i c OP T i = φ 0 + c OP T 12-3

Méthode du potentiel La méthode du potentiel peut être utile pour déterminer le facteur de compétitivité d un algo A lorsqu on ne connait pas l OPT. L idée est d associer un potentiel φ mesurant la différence entre les configurations dans lesquelles se trouvent A et OPT On note φ i le potentiel après l étape i, A i le coût de l étape i pour l algo A. Le coût amorti d une étape est a i = A i + φ i φ i 1 : on espère ainsi compenser une étape coûteuse par une baisse de potentiel. Proposition: si le coût amorti a i est inférieur à c OP T i, et si le potentiel final est positif, alors A est c-compétitif. A = P i A i = φ 0 φ k + P i a i φ 0 + P i c OP T i = φ 0 + c OP T Cette méthode est inspirée de l analyse amortie des structures de données 12-4

Accès dans une liste: Move-to-front Théorème: Move-to-front est 2-compétitif On considère la fonction potentiel suivante: φ = nombre d inversions entre la liste de MTF et celle d OPT. 13-1

Accès dans une liste: Move-to-front Théorème: Move-to-front est 2-compétitif On considère la fonction potentiel suivante: φ = nombre d inversions entre la liste de MTF et celle d OPT. Étudions le coût du traitement de la ième requête: 13-2

Accès dans une liste: Move-to-front Théorème: Move-to-front est 2-compétitif On considère la fonction potentiel suivante: φ = nombre d inversions entre la liste de MTF et celle d OPT. Étudions le coût du traitement de la ième requête: OP T i = k + l + 1 + E i et A i = k + m + 1, où E i est le nb d échanges effectués par OPT, k est le nb d éléments devant r i dans les 2 listes, l et m le nb de ceux qui sont devant dans l une et pas dans l autre 13-3

Accès dans une liste: Move-to-front Théorème: Move-to-front est 2-compétitif On considère la fonction potentiel suivante: φ = nombre d inversions entre la liste de MTF et celle d OPT. Étudions le coût du traitement de la ième requête: OP T i = k + l + 1 + E i et A i = k + m + 1, où E i est le nb d échanges effectués par OPT, k est le nb d éléments devant r i dans les 2 listes, l et m le nb de ceux qui sont devant dans l une et pas dans l autre mais on a aussi: φ i φ i 1 k m + E i : le nb d inversions change en fonction des opérations effectuées. 13-4

Accès dans une liste: Move-to-front Théorème: Move-to-front est 2-compétitif On considère la fonction potentiel suivante: φ = nombre d inversions entre la liste de MTF et celle d OPT. Étudions le coût du traitement de la ième requête: OP T i = k + l + 1 + E i et A i = k + m + 1, où E i est le nb d échanges effectués par OPT, k est le nb d éléments devant r i dans les 2 listes, l et m le nb de ceux qui sont devant dans l une et pas dans l autre mais on a aussi: φ i φ i 1 k m + E i : le nb d inversions change en fonction des opérations effectuées. Finalement le coût amorti a i = A i + φ i φ i 1 2 OP T i 13-5

Accès dans une liste: Move-to-front Théorème: Move-to-front est 2-compétitif On considère la fonction potentiel suivante: φ = nombre d inversions entre la liste de MTF et celle d OPT. Étudions le coût du traitement de la ième requête: OP T i = k + l + 1 + E i et A i = k + m + 1, où E i est le nb d échanges effectués par OPT, k est le nb d éléments devant r i dans les 2 listes, l et m le nb de ceux qui sont devant dans l une et pas dans l autre mais on a aussi: φ i φ i 1 k m + E i : le nb d inversions change en fonction des opérations effectuées. Finalement le coût amorti a i = A i + φ i φ i 1 2 OP T i Mais P A i = φ 0 φ k + P a i et donc A cte + 2 OP T. (φ 0 ne dépend que de la longueur de la liste L) 13-6

Cours 8: Algorithmes online Offline / Online, compétitivité Bin packing, lien avec algo d approx Cache paging, adversaire, borne inférieure Accès de liste, méthode du potentiel Les k serveurs, adversaires multiples Robots et exploration 14-1

Le problème des k serveurs Donnée: un espace métrique (inégalité triangulaire), le nb k de serveurs Requête: une suite de points v 1 v 2... Problème: pour chaque v i déplacer un (ou plusieurs serveurs) de façon à en mettre un en v i, en minimisant la somme des déplacements. Modélise la gestion d un service d intervention : pas de retour à la base entre les interventions. 15-1

Le problème des k serveurs Donnée: un espace métrique (inégalité triangulaire), le nb k de serveurs Requête: une suite de points v 1 v 2... Problème: pour chaque v i déplacer un (ou plusieurs serveurs) de façon à en mettre un en v i, en minimisant la somme des déplacements. Modélise la gestion d un service d intervention : pas de retour à la base entre les interventions. Espace continu ou ensemble fini de points (matrice des distances) 15-2

Le problème des k serveurs Donnée: un espace métrique (inégalité triangulaire), le nb k de serveurs Requête: une suite de points v 1 v 2... Problème: pour chaque v i déplacer un (ou plusieurs serveurs) de façon à en mettre un en v i, en minimisant la somme des déplacements. Modélise la gestion d un service d intervention : pas de retour à la base entre les interventions. Espace continu ou ensemble fini de points (matrice des distances) Si tous les points sont à égale distance politique de cache 15-3

Borne inf par adversaires multiples Donnée: un espace métrique (inégalité triangulaire), le nb k de serveurs Requête: une suite de points v 1 v 2... Problème: pour chaque v i déplacer un (ou plusieurs serveurs) de façon à en mettre un en v i, en minimisant la somme des déplacements. 16-1

Borne inf par adversaires multiples Donnée: un espace métrique (inégalité triangulaire), le nb k de serveurs Requête: une suite de points v 1 v 2... Problème: pour chaque v i déplacer un (ou plusieurs serveurs) de façon à en mettre un en v i, en minimisant la somme des déplacements. Thèorème: un algo online est au mieux k-compétitif 16-2

Borne inf par adversaires multiples Donnée: un espace métrique (inégalité triangulaire), le nb k de serveurs Requête: une suite de points v 1 v 2... Problème: pour chaque v i déplacer un (ou plusieurs serveurs) de façon à en mettre un en v i, en minimisant la somme des déplacements. Thèorème: un algo online est au mieux k-compétitif On considère le cas de k serveurs pour k + 1 points et un algorithme A qui démarre avec ses serveurs en x 1,..., x k, et qui doit répondre à la requête calamiteuse lui demandant toujours le point vide. 16-3

Borne inf par adversaires multiples Donnée: un espace métrique (inégalité triangulaire), le nb k de serveurs Requête: une suite de points v 1 v 2... Problème: pour chaque v i déplacer un (ou plusieurs serveurs) de façon à en mettre un en v i, en minimisant la somme des déplacements. Thèorème: un algo online est au mieux k-compétitif On considère le cas de k serveurs pour k + 1 points et un algorithme A qui démarre avec ses serveurs en x 1,..., x k, et qui doit répondre à la requête calamiteuse lui demandant toujours le point vide. Définissons k autres algorithmes A i, le ième initialisé avec x i vide. 16-4

Borne inf par adversaires multiples Donnée: un espace métrique (inégalité triangulaire), le nb k de serveurs Requête: une suite de points v 1 v 2... Problème: pour chaque v i déplacer un (ou plusieurs serveurs) de façon à en mettre un en v i, en minimisant la somme des déplacements. Thèorème: un algo online est au mieux k-compétitif On considère le cas de k serveurs pour k + 1 points et un algorithme A qui démarre avec ses serveurs en x 1,..., x k, et qui doit répondre à la requête calamiteuse lui demandant toujours le point vide. Définissons k autres algorithmes A i, le ième initialisé avec x i vide. Lorsque A déplace un serveur de x i à x j, l unique autre algorithme ayant x i libre déplace son serveur de x j en x i (après avoir traité j). 16-5

Borne inf par adversaires multiples Donnée: un espace métrique (inégalité triangulaire), le nb k de serveurs Requête: une suite de points v 1 v 2... Problème: pour chaque v i déplacer un (ou plusieurs serveurs) de façon à en mettre un en v i, en minimisant la somme des déplacements. Thèorème: un algo online est au mieux k-compétitif On considère le cas de k serveurs pour k + 1 points et un algorithme A qui démarre avec ses serveurs en x 1,..., x k, et qui doit répondre à la requête calamiteuse lui demandant toujours le point vide. Définissons k autres algorithmes A i, le ième initialisé avec x i vide. Lorsque A déplace un serveur de x i à x j, l unique autre algorithme ayant x i libre déplace son serveur de x j en x i (après avoir traité j). Les points libres des k + 1 algos sont ainsi toujours distincts. 16-6

Borne inf par adversaires multiples Donnée: un espace métrique (inégalité triangulaire), le nb k de serveurs Requête: une suite de points v 1 v 2... Problème: pour chaque v i déplacer un (ou plusieurs serveurs) de façon à en mettre un en v i, en minimisant la somme des déplacements. Thèorème: un algo online est au mieux k-compétitif On considère le cas de k serveurs pour k + 1 points et un algorithme A qui démarre avec ses serveurs en x 1,..., x k, et qui doit répondre à la requête calamiteuse lui demandant toujours le point vide. Définissons k autres algorithmes A i, le ième initialisé avec x i vide. Lorsque A déplace un serveur de x i à x j, l unique autre algorithme ayant x i libre déplace son serveur de x j en x i (après avoir traité j). Les points libres des k + 1 algos sont ainsi toujours distincts. On a alors A(v 1 v 2...) = P k i=1 A i(v 1 v 2...) k min i A i (v 1 v 2...) 16-7

Le problème des k serveurs: Algo Double-Service Considérons le cas où l espace est une ligne: Les k serveurs sont aux points x 1 <... < x k, la requête est un point x. 17-1

Le problème des k serveurs: Algo Double-Service Considérons le cas où l espace est une ligne: Les k serveurs sont aux points x 1 <... < x k, la requête est un point x. Si x < x 1 ou x > x k on bouge x 1 := x ou x k := x respectivement. 17-2

Le problème des k serveurs: Algo Double-Service Considérons le cas où l espace est une ligne: Les k serveurs sont aux points x 1 <... < x k, la requête est un point x. Si x < x 1 ou x > x k on bouge x 1 := x ou x k := x respectivement. Plus généralement on déplace le serveur le plus proche? 17-3

Le problème des k serveurs: Algo Double-Service Considérons le cas où l espace est une ligne: Les k serveurs sont aux points x 1 <... < x k, la requête est un point x. Si x < x 1 ou x > x k on bouge x 1 := x ou x k := x respectivement. Plus généralement on déplace le serveur le plus proche? Non: si la situation est : a b x 1 x 2 la requête bababababa... a un coût linéaire alors qu il suffirait de mettre x 2 en b pour avoir un coût constant. 17-4

Le problème des k serveurs: Algo Double-Service Considérons le cas où l espace est une ligne: Les k serveurs sont aux points x 1 <... < x k, la requête est un point x. Si x < x 1 ou x > x k on bouge x 1 := x ou x k := x respectivement. Plus généralement on déplace le serveur le plus proche? Non: si la situation est : a b x 1 x 2 la requête bababababa... a un coût linéaire alors qu il suffirait de mettre x 2 en b pour avoir un coût constant. Algo double service: si x est entre x i et x i+1 approcher x i et x i+1 à même vitesse jusqu à ce que l un des deux atteigne x 17-5

Le problème des k serveurs: Algo Double-Service Considérons le cas où l espace est une ligne: Les k serveurs sont aux points x 1 <... < x k, la requête est un point x. Si x < x 1 ou x > x k on bouge x 1 := x ou x k := x respectivement. Plus généralement on déplace le serveur le plus proche? Non: si la situation est : a b x 1 x 2 la requête bababababa... a un coût linéaire alors qu il suffirait de mettre x 2 en b pour avoir un coût constant. Algo double service: si x est entre x i et x i+1 approcher x i et x i+1 à même vitesse jusqu à ce que l un des deux atteigne x Théorème: Double service est k-compétitif. 17-6

Le problème des k serveurs: Algo Double-Service Considérons le cas où l espace est une ligne: Les k serveurs sont aux points x 1 <... < x k, la requête est un point x. Si x < x 1 ou x > x k on bouge x 1 := x ou x k := x respectivement. Plus généralement on déplace le serveur le plus proche? Non: si la situation est : a b x 1 x 2 la requête bababababa... a un coût linéaire alors qu il suffirait de mettre x 2 en b pour avoir un coût constant. Algo double service: si x est entre x i et x i+1 approcher x i et x i+1 à même vitesse jusqu à ce que l un des deux atteigne x Théorème: Double service est k-compétitif. En PC: L algo peut s adapter aux arbres. 17-7

Le problème des k serveurs: service double Algo double service: si x est entre x i et x i+1 approcher x i et x i+1 à même vitesse jusqu à ce que l un des deux atteigne x Théorème: Double service est k-compétitif. 18-1

Le problème des k serveurs: service double Algo double service: si x est entre x i et x i+1 approcher x i et x i+1 à même vitesse jusqu à ce que l un des deux atteigne x Théorème: Double service est k-compétitif. On utilise la méthode du potentiel, avec un φ 0 tel que les déplacements de coût x de OPT induisent un φ kx et ceux de A un φ x. En effet on aura alors φ n φ 0 k OP T A et donc A k OP T + cte 18-2

Le problème des k serveurs: service double Algo double service: si x est entre x i et x i+1 approcher x i et x i+1 à même vitesse jusqu à ce que l un des deux atteigne x Théorème: Double service est k-compétitif. On utilise la méthode du potentiel, avec un φ 0 tel que les déplacements de coût x de OPT induisent un φ kx et ceux de A un φ x. En effet on aura alors φ n φ 0 k OP T A et donc A k OP T + cte Le φ utilisé est φ = kψ + ϑ où ψ est la somme des distances entre les ième serveurs de OPT et de A de gauche à droite et ϑ est la somme des distances 2 à 2 des serveurs de A. Il reste à vérifier que les déplacements de serveurs induisent des variations de φ comme indiquée ci-dessus. 18-3

Cours 8: Algorithmes online Offline / Online, compétitivité Bin packing, lien avec algo d approx Cache paging, adversaire, borne inférieure Accès de liste, méthode du potentiel Les k serveurs, adversaires multiples Robots et exploration 19-1

Des robots aveugles Sur une ligne: le robot est en x = 0, son objectif est en position y R. Chercher alternativement à gauche à dist d 1 puis à droite à dist d 2, etc. Choisir la suite d i pour minimiser le coût rapporté à l optimum y. 20-1

Des robots aveugles Sur une ligne: le robot est en x = 0, son objectif est en position y R. Chercher alternativement à gauche à dist d 1 puis à droite à dist d 2, etc. Choisir la suite d i pour minimiser le coût rapporté à l optimum y. Théorème: L algo avec d i = 2 i est 9-compétitif. Les pires cas sont pour les y = 2 j + 1 et on paye alors: 2 (1 + 2 + 4 +... + 2 j + 2 j+1 ) + 2 j + 1 = 2 j+3 + 2 j + 1 = 9 (2 j + 1) + cte. 20-2

Des robots aveugles Sur une ligne: le robot est en x = 0, son objectif est en position y R. Chercher alternativement à gauche à dist d 1 puis à droite à dist d 2, etc. Choisir la suite d i pour minimiser le coût rapporté à l optimum y. Théorème: L algo avec d i = 2 i est 9-compétitif. Les pires cas sont pour les y = 2 j + 1 et on paye alors: 2 (1 + 2 + 4 +... + 2 j + 2 j+1 ) + 2 j + 1 = 2 j+3 + 2 j + 1 = 9 (2 j + 1) + cte. On considère maintenant un robot qui se déplace selon les axes de coordonnées et qui doit atteindre la droite x = n en évitant des obstacles rectangulaires. Il s agit de minimiser la distance parcourue, compétitivement à la distance minimale en connaissant le terrain. 20-3

Des robots aveugles: borne inf? Théorème: Tout algo est au mieux c n-compétitif. 21-1

Des robots aveugles: borne inf? Théorème: Tout algo est au mieux c n-compétitif. On construit pour tout robot A un ensemble de n/2 rectangles 1 n tel que le chemin parcouru par le robot est de longueur au moins n 2 alors qu il existe une ligne droite qui coupe au plus n rectangle, et donc un chemin de longueur au plus n 3/2. 21-2

Des robots aveugles: borne inf? Théorème: Tout algo est au mieux c n-compétitif. On construit pour tout robot A un ensemble de n/2 rectangles 1 n tel que le chemin parcouru par le robot est de longueur au moins n 2 alors qu il existe une ligne droite qui coupe au plus n rectangle, et donc un chemin de longueur au plus n 3/2. Soit y l abscisse a laquelle le robot arrive pour la 1ère fois en colonne 2i + 1. On y place un rectangle 1 n centré à hauteur y. Le robot doit alors parcourir une distance n/2 au moins avant de pouvoir aller sur la droite. 21-3

Des robots aveugles: borne inf? Théorème: Tout algo est au mieux c n-compétitif. On construit pour tout robot A un ensemble de n/2 rectangles 1 n tel que le chemin parcouru par le robot est de longueur au moins n 2 alors qu il existe une ligne droite qui coupe au plus n rectangle, et donc un chemin de longueur au plus n 3/2. Soit y l abscisse a laquelle le robot arrive pour la 1ère fois en colonne 2i + 1. On y place un rectangle 1 n centré à hauteur y. Le robot doit alors parcourir une distance n/2 au moins avant de pouvoir aller sur la droite. Dans une zone de hauteur n 3/2 on peut placer n lignes horizontales espacées d une hauteur n/2. Un rectangle coupe au plus 2 lignes donc il existe une ligne qui en coupe moins de n. 21-4

Des robots aveugles: borne inf? Théorème: Tout algo est au mieux c n-compétitif. On construit pour tout robot A un ensemble de n/2 rectangles 1 n tel que le chemin parcouru par le robot est de longueur au moins n 2 alors qu il existe une ligne droite qui coupe au plus n rectangle, et donc un chemin de longueur au plus n 3/2. Soit y l abscisse a laquelle le robot arrive pour la 1ère fois en colonne 2i + 1. On y place un rectangle 1 n centré à hauteur y. Le robot doit alors parcourir une distance n/2 au moins avant de pouvoir aller sur la droite. Dans une zone de hauteur n 3/2 on peut placer n lignes horizontales espacées d une hauteur n/2. Un rectangle coupe au plus 2 lignes donc il existe une ligne qui en coupe moins de n. Il faut monter au plus de n 3/2 pour trouver la ligne, puis faire n contournement de longueur n. 21-5

Des robots aveugles: algo n-compétitif Théorème: Il existe un algo c n-compétitif. 22-1

Des robots aveugles: algo n-compétitif Théorème: Il existe un algo c n-compétitif. Il faut trouver une façon de se déplacer qui induit une borne inférieure sur la longueur du chemin optimal qu on aurait pu faire. 22-2

Des robots aveugles: algo n-compétitif Théorème: Il existe un algo c n-compétitif. Il faut trouver une façon de se déplacer qui induit une borne inférieure sur la longueur du chemin optimal qu on aurait pu faire. Phase montante (respectivement descendante) de paramètre τ et largeur L: - quand on arrive sur une barre près d un coin (d τ), on la contourne. - sinon on monte le long de la barre - on s arrête quand on est monté d au moins 2L. 22-3

Des robots aveugles: algo n-compétitif Théorème: Il existe un algo c n-compétitif. Il faut trouver une façon de se déplacer qui induit une borne inférieure sur la longueur du chemin optimal qu on aurait pu faire. Phase montante (respectivement descendante) de paramètre τ et largeur L: - quand on arrive sur une barre près d un coin (d τ), on la contourne. - sinon on monte le long de la barre - on s arrête quand on est monté d au moins 2L. Lemme: On enchaîne une phase montante et une descendante en partant de (x, 0) pour arriver à (x, 0): Alors le plus court chemin entre (x, 0) et la droite d abscisse x se déplace verticalement au moins de τ. 22-4

Des robots aveugles: algo n-compétitif Théorème: Il existe un algo c n-compétitif. Il faut trouver une façon de se déplacer qui induit une borne inférieure sur la longueur du chemin optimal qu on aurait pu faire. Phase montante (respectivement descendante) de paramètre τ et largeur L: - quand on arrive sur une barre près d un coin (d τ), on la contourne. - sinon on monte le long de la barre - on s arrête quand on est monté d au moins 2L. Lemme: On enchaîne une phase montante et une descendante en partant de (x, 0) pour arriver à (x, 0): Alors le plus court chemin entre (x, 0) et la droite d abscisse x se déplace verticalement au moins de τ. Algo: enchaîner les balayages de hauteur 2W et paramètre τ = 2W/ n, où W est la hauteur du chemin optimal: il en faut au plus W/τ. 22-5

Des robots aveugles: algo n-compétitif Théorème: Il existe un algo c n-compétitif. Il faut trouver une façon de se déplacer qui induit une borne inférieure sur la longueur du chemin optimal qu on aurait pu faire. Phase montante (respectivement descendante) de paramètre τ et largeur L: - quand on arrive sur une barre près d un coin (d τ), on la contourne. - sinon on monte le long de la barre - on s arrête quand on est monté d au moins 2L. Lemme: On enchaîne une phase montante et une descendante en partant de (x, 0) pour arriver à (x, 0): Alors le plus court chemin entre (x, 0) et la droite d abscisse x se déplace verticalement au moins de τ. Algo: enchaîner les balayages de hauteur 2W et paramètre τ = 2W/ n, où W est la hauteur du chemin optimal: il en faut au plus W/τ. On découvre la longueur du chemin optimal par exponentiation. 22-6

Cours 8: Algorithmes online Offline / Online, compétitivité Bin packing, lien avec algo d approx Cache paging, adversaire, borne inférieure Accès de liste, méthode du potentiel Les k serveurs, adversaires multiples Robots et exploration Retenir: Online/Offline, α-compétitivité Liens avec algos approchés, notions d adversaire, de potentiel. 23-1