CSI 3505 Algorithmes Voraces - PowerPoint PPT Presentation

About This Presentation
Title:

CSI 3505 Algorithmes Voraces

Description:

Algorithmes voraces pour l'ordonnancement des (t che) travaux: probl me de ... La t che i apporte un gain gi 0 si et seulement si elle est ex cut e au plus ... – PowerPoint PPT presentation

Number of Views:119
Avg rating:3.0/5.0
Slides: 15
Provided by: Universi57
Category:

less

Transcript and Presenter's Notes

Title: CSI 3505 Algorithmes Voraces


1
CSI 3505Algorithmes Voraces
  • Algorithmes voraces pour l'ordonnancement des
    (tâche) travaux problème de minimisation de
    l'attente

n clients Un seul serveur
ti temps que prendra le client i (connu
a-priori)
On veut minimiser la somme totale des attentes
des clients
2
CSI 3505Algorithmes Voraces
  • Exemple

Il y a 6 ordres possibles 123 5 (5 10)
(5 10 3) 38 132 5 (5 3) (5
3 10) 31 213 10 (10 5) (10 5
3) 43 231 10 (10 3) ( 10 3 5)
41 312 3 (3 5) (3 5 10) 29 321
3 (3 10) ( 3 10 5 ) 34
t1 5 t2 10 t3 3
Algorithme voraceA chaque étape, ajouter à la
fin de la liste le client demandant le moins de
service entre tous ceux qui restent.
3
CSI 3505Algorithmes Voraces
  • Théorème. L'algorithme vorace donne toujours la
    solution optimale.
  • Preuve.
  • Soit I (i1,i2,,in) une permutation quelconque
    des
  • entiers 1,2, , n. Si les clients sont servis
    dans l'ordre I,
  • le temps total que tous les clients passent dans
    le système
  • T(I) ti1 (ti1 ti2 ) (ti1 ti2 ti3
    ) ..

4
CSI 3505Algorithmes Voraces
  • Supposons que dans cet ordre
  • I 1 2 .... a ... b . n
  • On a a lt b et tia gt tib

Si on inverse les positions de ces deux clients
I 1 2 .... b ... a . n
ti1 ti2 .... tib ... tia . tin
5
CSI 3505Algorithmes Voraces
  • Comparons les deux ordres

T(I) - T(I') (n - a 1) (tia- tib) (n - b
1) (tib - tia) (b-a) (tia- tib) gt 0
Donc lordre I dexécution des tâches est
meilleur que I
6
CSI 3505Algorithmes Voraces
  • Conclusion Lalgorithme vorace donne toujours
    une solution optimale.
  • Une solution qui nest pas construite avec une
    méthode vorace ne peut être optimale.

7
CSI 3505Algorithmes Voraces
  • Ordonnancement avec échéances
  • n tâches a exécuter - chacune en temps unitaire
  • une et une seule tâche est exécuter a chaque
    instant
  • t 1, 2 .
  • La tâche i apporte un gain gi gt 0 si et seulement
    si elle est exécutée au plus tard a l'instant di

On nest pas obligé dexécuter toutes les tâches
Exemple n 4
i 1 2 3 4 gi 50 10 15 30 di 2 1 2 1
8
CSI 3505Algorithmes Voraces
  • Il y des séquences qui ne donne aucun gain  0 
    les autres ..

Séq. possibles gain 1 50 2 10 3 15 4
30 1,3 65 2,1 60 2,3 25 3,1 65 4,1 80
4,3 45
i 1 2 3 4 gi 50 10 15 30 di 2 1 2 1
Les séquences 1 et 1, 2, 3 correspondent au même
gain. Il ny a que la tâche 1 qui donne un gain.
9
CSI 3505Algorithmes Voraces
  • Ensemble de tâche T est réalisable sil existe au
    moins un ordre des tâche de T (séquence
    réalisable) et qui permet d'exécuter toutes les
    tâches de l'ensemble T avant leur échéances
  • Un ensemble de tâche T est réalisable si est
    seulement si la séquence croissante des tâches de
    T triées par leurs temps déchéance est
    réalisable

10
CSI 3505Algorithmes Voraces
  • Supposons que S est réalisable suivant lordre
  • t1 t2 ti tj tk
  • Et que d(tj) lt d(ti), en échangeant ti et tj dans
    lordre S, on obtient un ordre réalisable
  • t1 t2 tj ti tk
  • En utilisant dune façon répétitive ces échanges
    on arrive aux mêmes tâches dans lordre
    croissant, et qui est aussi réalisable.
  • Linverse est évidemment vrai.

11
CSI 3505Algorithmes Voraces
  • Conséquence
  • Comment savoir si un ensemble de tâches est
    réalisable?
  • Il suffit de tester les tâches dans un seul
    ordre lordre croissant des tâches de T triées
    par leurs temps déchéance

12
CSI 3505Algorithmes Voraces
  • Algorithme vorace
  • Construire l'ensemble des tâches à exécuter
    étape par étape,
  • Ajouter, a chaque étape, la tâche non encore
    considérée ayant la plus grande valeur de gi a
    condition que le nouveau ensemble de tâches soit
    réalisable.
  • Combien détapes? n-1

13
CSI 3505Algorithmes Voraces
  • trier lensemble des tâches T en ordre
    décroissant relativement au gain
  • S ?
  • répéter
  • Choisir la tâche e ?T avec le gain le plus
    grand
  • T T - e
  • Si S ? e est réalisable
  • S S ? e
  • jusqu'a ce que T est vide

14
CSI 3505Algorithmes Voraces
  • Complexité - Cas Pire
  • taille du problème n, le nombre de tâches
  • opération comparaisons
  • Trier les tâches O(n log n)
  • A chaque pas
  • (i-1) comparaisons pour ajouter la i-ème tâche
  • i comparaisons pour vérifier si l'ensemble est
    réalisable
Write a Comment
User Comments (0)
About PowerShow.com