SlideShare a Scribd company logo
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Envy-free makespan approximation
Strumenti di teoria dei giochi per l’informatica
Vincenzo De Maio
Universita‘ degli studi di Salerno
05/07/2010
Meglio essere invidiati che essere compatiti
Erodoto, 484-430 A.C.
Envy-free makespan approximation 1/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
1 Introduzione
2 Definizioni di base
3 Envy-freeness vs Incentive-compatibility
4 Algoritmo per job indivisibili
Upper bound
Lower bound
5 Bibliografia
Envy-free makespan approximation 2/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Descrizione del problema
Nell’articolo viene presentato un meccanismo Envy-free per lo
scheduling di task (divisibili o meno) su macchine non correlate
che approssima il minimum-makespan.
Envy-free makespan approximation 3/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Definizione del problema
Abbiamo:
Envy-free makespan approximation 4/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Definizione del problema
Abbiamo:
• m macchine (bidder)
Envy-free makespan approximation 4/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Definizione del problema
Abbiamo:
• m macchine (bidder)
• n tasks (gli oggetti da assegnare ai bidder)
Envy-free makespan approximation 4/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Definizione del problema
Abbiamo:
• m macchine (bidder)
• n tasks (gli oggetti da assegnare ai bidder)
• Una matrice Cm×n tale che cij e‘ il tempo di esecuzione
per il task j sulla macchina i.
Envy-free makespan approximation 4/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Definizione del problema
Abbiamo:
• m macchine (bidder)
• n tasks (gli oggetti da assegnare ai bidder)
• Una matrice Cm×n tale che cij e‘ il tempo di esecuzione
per il task j sulla macchina i.
• Una matrice Am×n tale che
Envy-free makespan approximation 4/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Definizione del problema
Abbiamo:
• m macchine (bidder)
• n tasks (gli oggetti da assegnare ai bidder)
• Una matrice Cm×n tale che cij e‘ il tempo di esecuzione
per il task j sulla macchina i.
• Una matrice Am×n tale che
• aij contiene la frazione del task j assegnata a i
Envy-free makespan approximation 4/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Definizione del problema
Abbiamo:
• m macchine (bidder)
• n tasks (gli oggetti da assegnare ai bidder)
• Una matrice Cm×n tale che cij e‘ il tempo di esecuzione
per il task j sulla macchina i.
• Una matrice Am×n tale che
• aij contiene la frazione del task j assegnata a i
• j∈[m] aij = 1 ∀i ∈ [n]
Envy-free makespan approximation 4/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Meccanismi envy-free
Definiamo quindi il meccanismo M = (a, p) con
Envy-free makespan approximation 5/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Meccanismi envy-free
Definiamo quindi il meccanismo M = (a, p) con
• a : Cm×n → Am×n e‘ la funzione di allocazione
Envy-free makespan approximation 5/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Meccanismi envy-free
Definiamo quindi il meccanismo M = (a, p) con
• a : Cm×n → Am×n e‘ la funzione di allocazione
• p : Cm×n → n e‘ la funzione dei pagamenti
Envy-free makespan approximation 5/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Meccanismi envy-free
Definiamo quindi il meccanismo M = (a, p) con
• a : Cm×n → Am×n e‘ la funzione di allocazione
• p : Cm×n → n e‘ la funzione dei pagamenti
L’utilita‘ dei singoli agenti viene dunque definita come
ui = p(C)i − ci ∗ a(c)i
Envy-free makespan approximation 5/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Meccanismi envy-free
Definiamo quindi il meccanismo M = (a, p) con
• a : Cm×n → Am×n e‘ la funzione di allocazione
• p : Cm×n → n e‘ la funzione dei pagamenti
L’utilita‘ dei singoli agenti viene dunque definita come
ui = p(C)i − ci ∗ a(c)i
Definizione
M si dice Envy-free se
∀1 ≤ i, j ≤ m
p(C)i − ci ∗ a(c)i ≥ p(C)j − ci ∗ a(c)j
Envy-free makespan approximation 5/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Funzioni localmente efficienti
Una funzione di allocazione a e‘ detta Localmente efficiente
se per ogni matrice di costo C e per ogni permutazione π di
[1, . . . , m] vale che
m
i=1
ci ∗ a(c)i ≤
m
i=1
ci ∗ a(c)π(i)
Envy-free makespan approximation 6/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Envy-free implementability
Una funzione di allocazione a viene detta Envy-free
implementable se esiste una funzione pagamento p tale che
M = (a, p) e‘ envy-free.
Envy-free makespan approximation 7/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Envy-free implementability
Una funzione di allocazione a viene detta Envy-free
implementable se esiste una funzione pagamento p tale che
M = (a, p) e‘ envy-free.
Teorema
Una funzione di allocazione a e‘ EF-implementable ⇔ a e‘
Localmente efficiente[1]
Envy-free makespan approximation 7/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Relazioni tra envy-freeness e
incentive-compatibility
E‘ universalmente noto che envy-freeness e
incentive-compatibility non sono collegate; in particolare
1 Incentive-compatibility Envy-freeness
2 Envy-freeness Incentive-compatibility
Consideriamo il caso in cui abbiamo 2 macchine e 2 task.
Envy-free makespan approximation 8/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Sia
f t
=
v1(1) ≥ 1 ⇒ bidder 1 ottiene un elemento
v2(1) ≥ 4 ⇒ bidder 2 ottiene un elemento
Envy-free makespan approximation 9/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Sia
f t
=
v1(1) ≥ 1 ⇒ bidder 1 ottiene un elemento
v2(1) ≥ 4 ⇒ bidder 2 ottiene un elemento
• Questa funzione e‘ chiaramente incentive-compatible con
p1 = 1 e p2 = 4.
Envy-free makespan approximation 9/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Sia
f t
=
v1(1) ≥ 1 ⇒ bidder 1 ottiene un elemento
v2(1) ≥ 4 ⇒ bidder 2 ottiene un elemento
• Questa funzione e‘ chiaramente incentive-compatible con
p1 = 1 e p2 = 4.
• Ma con v1(1) = 2 e v2(1) = 3 ?
Envy-free makespan approximation 9/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Sia
f t
=
v1(1) ≥ 1 ⇒ bidder 1 ottiene un elemento
v2(1) ≥ 4 ⇒ bidder 2 ottiene un elemento
• Questa funzione e‘ chiaramente incentive-compatible con
p1 = 1 e p2 = 4.
• Ma con v1(1) = 2 e v2(1) = 3 ?
• Quindi Incentive-compatibility Envy-freeness
Envy-free makespan approximation 9/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Sia
f e
=
v1 = v2 ⇒ tutti gli elementi allocati a 2
vi (1) ≥ 4 ⇒ bidder i ottiene un elemento
Envy-free makespan approximation 10/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Sia
f e
=
v1 = v2 ⇒ tutti gli elementi allocati a 2
vi (1) ≥ 4 ⇒ bidder i ottiene un elemento
• f e e‘ localmente efficiente =⇒ f e e‘ envy-free
Envy-free makespan approximation 10/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Sia
f e
=
v1 = v2 ⇒ tutti gli elementi allocati a 2
vi (1) ≥ 4 ⇒ bidder i ottiene un elemento
• f e e‘ localmente efficiente =⇒ f e e‘ envy-free
• f e e‘ monotona?
Envy-free makespan approximation 10/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Sia
f e
=
v1 = v2 ⇒ tutti gli elementi allocati a 2
vi (1) ≥ 4 ⇒ bidder i ottiene un elemento
• f e e‘ localmente efficiente =⇒ f e e‘ envy-free
• f e e‘ monotona?
• Quindi Envy-freeness Incentive-compatibility
Envy-free makespan approximation 10/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Algoritmo
• Ora presenteremo un algoritmo polinomiale che
approssima di un fattore O(log m ∗ OPT) il minimum
makespan envy-free.
Envy-free makespan approximation 11/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Algoritmo
• Ora presenteremo un algoritmo polinomiale che
approssima di un fattore O(log m ∗ OPT) il minimum
makespan envy-free.
• Assumiamo che l’algoritmo inizi con un’allocazione OPT
che minimizza il makespan.
Envy-free makespan approximation 11/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Algoritmo
• Ora presenteremo un algoritmo polinomiale che
approssima di un fattore O(log m ∗ OPT) il minimum
makespan envy-free.
• Assumiamo che l’algoritmo inizi con un’allocazione OPT
che minimizza il makespan.
• L’allocazione fissa un partizionamento dei job in bundles
B = b1, . . . , bm
Envy-free makespan approximation 11/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Algoritmo
• Ora presenteremo un algoritmo polinomiale che
approssima di un fattore O(log m ∗ OPT) il minimum
makespan envy-free.
• Assumiamo che l’algoritmo inizi con un’allocazione OPT
che minimizza il makespan.
• L’allocazione fissa un partizionamento dei job in bundles
B = b1, . . . , bm
• Dove bi e‘ l’insieme dei job allocati alla macchina i
Envy-free makespan approximation 11/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Algoritmo
• Ora presenteremo un algoritmo polinomiale che
approssima di un fattore O(log m ∗ OPT) il minimum
makespan envy-free.
• Assumiamo che l’algoritmo inizi con un’allocazione OPT
che minimizza il makespan.
• L’allocazione fissa un partizionamento dei job in bundles
B = b1, . . . , bm
• Dove bi e‘ l’insieme dei job allocati alla macchina i
• Per un insieme di bundles D = {dj }k
j=1 con k ≤ m
denotiamo con LE(D) un assegnamento localmente
efficiente per D
Envy-free makespan approximation 11/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
All’inizio di ogni fase abbiamo un sottoinsieme dei bundle che
non sono ancora stati assegnati.
Envy-free makespan approximation 12/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
All’inizio di ogni fase abbiamo un sottoinsieme dei bundle che
non sono ancora stati assegnati.
1 Troviamo un assegnamento localmente efficiente dei
bundles
Envy-free makespan approximation 12/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
All’inizio di ogni fase abbiamo un sottoinsieme dei bundle che
non sono ancora stati assegnati.
1 Troviamo un assegnamento localmente efficiente dei
bundles
2 Se tra le macchine ce n’e‘ una che ha un carico maggiore
di 2OPT
Envy-free makespan approximation 12/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
All’inizio di ogni fase abbiamo un sottoinsieme dei bundle che
non sono ancora stati assegnati.
1 Troviamo un assegnamento localmente efficiente dei
bundles
2 Se tra le macchine ce n’e‘ una che ha un carico maggiore
di 2OPT
3 Scartiamo tutti i bundles assegnati a queste macchine
Envy-free makespan approximation 12/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
All’inizio di ogni fase abbiamo un sottoinsieme dei bundle che
non sono ancora stati assegnati.
1 Troviamo un assegnamento localmente efficiente dei
bundles
2 Se tra le macchine ce n’e‘ una che ha un carico maggiore
di 2OPT
3 Scartiamo tutti i bundles assegnati a queste macchine
4 Ripetiamo finche‘ il makespan e‘ ≤ 2OPT
Envy-free makespan approximation 12/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
FIND-APPROX(B,c)
q ← 0
Bout ← ∅
Bactive ← B
while Bactive = ∅ do
q ← q + 1
a ← LE(Bactive )
while makespan(a) > 2OPT do
for all i do
if ci ∗ ai > 2OPT then
Bout ← Bout ∪ ai
Bactive ← Bactive  ai
end if
a ← LE(Bactive )
end for
end while
aq
← a
Bactive ← Bout
Bout ← ∅
end while
ai = ∪q
j=1aj
i
return a
Envy-free makespan approximation 13/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Upper bound
Teorema
L’allocazione a restituita dall’algoritmo FIND − APPROX e‘
localmente efficiente e il suo makespan e‘ O(log m ∗ OPT)
Envy-free makespan approximation 14/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Upper bound
Teorema
L’allocazione a restituita dall’algoritmo FIND − APPROX e‘
localmente efficiente e il suo makespan e‘ O(log m ∗ OPT)
Lemma 1
Durante una fase dell’algoritmo, non vengono scartati piu‘ di k
2
bundles.
Envy-free makespan approximation 14/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Upper bound
Teorema
L’allocazione a restituita dall’algoritmo FIND − APPROX e‘
localmente efficiente e il suo makespan e‘ O(log m ∗ OPT)
Lemma 1
Durante una fase dell’algoritmo, non vengono scartati piu‘ di k
2
bundles.
Lemma 2
Quando l’algoritmo termina, q ≤ log m + 1
Envy-free makespan approximation 14/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Upper bound
Teorema
L’allocazione a restituita dall’algoritmo FIND − APPROX e‘
localmente efficiente e il suo makespan e‘ O(log m ∗ OPT)
Lemma 1
Durante una fase dell’algoritmo, non vengono scartati piu‘ di k
2
bundles.
Lemma 2
Quando l’algoritmo termina, q ≤ log m + 1
Lemma 3
Sia c una matrice di costi e siano b e b due assegnamenti di
diversi insiemi di jobs allo stesso insieme di macchine. Sia a
l’assegnamento tale che per ogni i, ai = bi ∪ bi . Se b e b sono
localmente efficienti, anche a lo e‘.
Envy-free makespan approximation 14/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 1
Lemma 1
Durante una fase dell’algoritmo, non vengono scartati piu‘ di k
2
bundles.
Envy-free makespan approximation 15/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 1
Lemma 1
Durante una fase dell’algoritmo, non vengono scartati piu‘ di k
2
bundles.
• Consideriamo l’insieme di bundles Bactive = {bi1, . . . , bik},
k = Bactive
Envy-free makespan approximation 15/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 1
Lemma 1
Durante una fase dell’algoritmo, non vengono scartati piu‘ di k
2
bundles.
• Consideriamo l’insieme di bundles Bactive = {bi1, . . . , bik},
k = Bactive
• Sia ai il bundle assegnato alla macchina i
dall’assegnamento LE(Bactive)
Envy-free makespan approximation 15/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 1
Lemma 1
Durante una fase dell’algoritmo, non vengono scartati piu‘ di k
2
bundles.
• Consideriamo l’insieme di bundles Bactive = {bi1, . . . , bik},
k = Bactive
• Sia ai il bundle assegnato alla macchina i
dall’assegnamento LE(Bactive)
• m
i=1 ci ∗ ai ≤ k
j=1 ci j ∗ bi j ≤ k ∗ OPT
Envy-free makespan approximation 15/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 1
Lemma 1
Durante una fase dell’algoritmo, non vengono scartati piu‘ di k
2
bundles.
• Consideriamo l’insieme di bundles Bactive = {bi1, . . . , bik},
k = Bactive
• Sia ai il bundle assegnato alla macchina i
dall’assegnamento LE(Bactive)
• m
i=1 ci ∗ ai ≤ k
j=1 ci j ∗ bi j ≤ k ∗ OPT
• Il loop interno viene ripetuto al piu‘ k∗OPT
2∗OPT = k
2 volte
=⇒ al piu‘ k bundles possono essere scartati.
Envy-free makespan approximation 15/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 2
Quando l’algoritmo termina, q ≤ log m + 1
• Il Lemma 2 segue direttamente dal Lemma 1.
Envy-free makespan approximation 16/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 2
Quando l’algoritmo termina, q ≤ log m + 1
• Il Lemma 2 segue direttamente dal Lemma 1.
• Abbiamo al piu‘ log m + 1 fasi
Envy-free makespan approximation 16/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 2
Quando l’algoritmo termina, q ≤ log m + 1
• Il Lemma 2 segue direttamente dal Lemma 1.
• Abbiamo al piu‘ log m + 1 fasi
• Il makespan dell’assegnamento restituito e‘
O(log m ∗ OPT)
Envy-free makespan approximation 16/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 2
Quando l’algoritmo termina, q ≤ log m + 1
• Il Lemma 2 segue direttamente dal Lemma 1.
• Abbiamo al piu‘ log m + 1 fasi
• Il makespan dell’assegnamento restituito e‘
O(log m ∗ OPT)
• Resta da provare se l’assegnamento ottenuto e‘ localmente
efficiente.
Envy-free makespan approximation 16/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 3
Lemma 3
Sia c una matrice di costi e siano b e b due assegnamenti di
diversi insiemi di jobs allo stesso insieme di macchine. Sia a
l’assegnamento tale che per ogni i, ai = bi ∪ bi . Se b e b sono
localmente efficienti, anche a lo e‘.
• La prova procede per assurdo.
Envy-free makespan approximation 17/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lemma 3
Lemma 3
Sia c una matrice di costi e siano b e b due assegnamenti di
diversi insiemi di jobs allo stesso insieme di macchine. Sia a
l’assegnamento tale che per ogni i, ai = bi ∪ bi . Se b e b sono
localmente efficienti, anche a lo e‘.
• La prova procede per assurdo.
• Per assurdo, sia a non localmente efficiente.
Envy-free makespan approximation 17/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• ∃π di [1 . . . m] : ci ∗ aπ(i) < ci ∗ ai
Envy-free makespan approximation 18/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• ∃π di [1 . . . m] : ci ∗ aπ(i) < ci ∗ ai
• (ci ∗ bπ(i) + ci ∗ b π(i)) < (ci ∗ b + ci ∗ b i )
Envy-free makespan approximation 18/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• ∃π di [1 . . . m] : ci ∗ aπ(i) < ci ∗ ai
• (ci ∗ bπ(i) + ci ∗ b π(i)) < (ci ∗ b + ci ∗ b i )
• ci ∗ bπ(i) < ci ∗ bi oppure ci ∗ b π(i) < ci ∗ b i ...
Envy-free makespan approximation 18/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• ∃π di [1 . . . m] : ci ∗ aπ(i) < ci ∗ ai
• (ci ∗ bπ(i) + ci ∗ b π(i)) < (ci ∗ b + ci ∗ b i )
• ci ∗ bπ(i) < ci ∗ bi oppure ci ∗ b π(i) < ci ∗ b i ...
• Il che contraddice l’ipotesi che b e b siano assegnamenti
localmente efficienti.
Envy-free makespan approximation 18/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lower bound
• Sia n il numero di jobs.
Envy-free makespan approximation 19/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lower bound
• Sia n il numero di jobs.
• Abbiamo m = n + macchine, con scelto in modo che
2 = log n
4 log log n .
Envy-free makespan approximation 19/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lower bound
• Sia n il numero di jobs.
• Abbiamo m = n + macchine, con scelto in modo che
2 = log n
4 log log n .
• ∀n, possiamo definire la matrice dei costi Cm×n nel modo
seguente:
Envy-free makespan approximation 19/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lower bound
• Sia n il numero di jobs.
• Abbiamo m = n + macchine, con scelto in modo che
2 = log n
4 log log n .
• ∀n, possiamo definire la matrice dei costi Cm×n nel modo
seguente:
• Per 1 ≤ i ≤ n
• La macchina i ha un costo pari a 1 per il job i.
• Per j < i, il costo e‘ pari a 1 − (i−j)
2(n−j)
• Per j > i, il costo e‘ pari a ∞
Envy-free makespan approximation 19/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Lower bound
• Sia n il numero di jobs.
• Abbiamo m = n + macchine, con scelto in modo che
2 = log n
4 log log n .
• ∀n, possiamo definire la matrice dei costi Cm×n nel modo
seguente:
• Per 1 ≤ i ≤ n
• La macchina i ha un costo pari a 1 per il job i.
• Per j < i, il costo e‘ pari a 1 − (i−j)
2(n−j)
• Per j > i, il costo e‘ pari a ∞
• Per n + 1 ≤ i ≤ n +
• Ogni macchina i ha costo pari a 2i
Envy-free makespan approximation 19/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia





















1 ∞ ∞ ∞ . . . ∞ ∞
1 − 1
2(n−1) 1 ∞ ∞ . . . ∞ ∞
1 − 2
2(n−1) 1 − 1
2(n−2) 1 ∞ . . . ∞ ∞
1 − 3
2(n−1) 1 − 2
2(n−2) 1 − 1
2(n−3) 1 . . . ∞ ∞
...
...
...
...
...
...
...
1
2 + 1
2(n−1)
1
2 + 1
2(n−2)
1
2 + 1
2(n−3)
1
2 + 1
2(n−4) . . . 1 ∞
1
2
1
2
1
2
1
2 . . . 1
2 1
2 2 2 2 . . . 2 2
4 4 4 4 . . . 4 4
...
...
...
...
...
...
...
2 2 2 2 . . . 2 2





















Envy-free makespan approximation 20/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
E‘ possibile dimostrare che ogni allocazione che rispetta la
proprieta‘ di envy-freeness per questa istanza ha un makespan
pari almeno a 2 = log n
4 log log n .
Envy-free makespan approximation 21/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
E‘ possibile dimostrare che ogni allocazione che rispetta la
proprieta‘ di envy-freeness per questa istanza ha un makespan
pari almeno a 2 = log n
4 log log n .
Lemma
Per la matrice C, Per ogni allocazione con makespan < 2
soddifa le seguenti proprieta‘
1 Ad ogni macchina vengono allocati meno di 2 +1 job.
2 Alla macchina n < i ≤ n + sono allocati meno di 2
2(i−n)
3 Alla macchina n + 1 ≤ i ≤ n + vengono allocati meno di
2 jobs.
Envy-free makespan approximation 21/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
1 ci,j ≥ 1
2∀i, j
Envy-free makespan approximation 22/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
1 ci,j ≥ 1
2∀i, j
2 Per n < i ≤ n + sappiamo che ci,j ≥ 2i−n
Envy-free makespan approximation 22/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
1 ci,j ≥ 1
2∀i, j
2 Per n < i ≤ n + sappiamo che ci,j ≥ 2i−n
3
(n+ )
i=n+1( 2
2(i−n)
− 1)
Envy-free makespan approximation 22/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Teorema
Per ogni partizione dei job in bundles, il makespan di qualsiasi
assegnamento localmente efficiente di essi e‘ pari ad almeno
2 =
log n
4 log log n
Envy-free makespan approximation 23/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Teorema
Per ogni partizione dei job in bundles, il makespan di qualsiasi
assegnamento localmente efficiente di essi e‘ pari ad almeno
2 =
log n
4 log log n
Dimostrazione
Fissiamo arbitrariamente una partizione in bundle e
supponiamo per assurdo che vi sia un assegnamento envy-free
dei bundles tale che il suo makespan sia < 2 .
Envy-free makespan approximation 23/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• Nessun bundle e‘ assegnato alla macchina n + .
Envy-free makespan approximation 24/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• Nessun bundle e‘ assegnato alla macchina n + .
• Dal punto 1 del Lemma, nel bundle assegnato alla
macchina n c’e‘ un numero di job ≤ 2 +1 − 1, quindi
spostando il bundle alla macchina n + 1 ne aumentiamo il
carico di al piu‘ 3
22 +1
Envy-free makespan approximation 24/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• Nessun bundle e‘ assegnato alla macchina n + .
• Dal punto 1 del Lemma, nel bundle assegnato alla
macchina n c’e‘ un numero di job ≤ 2 +1 − 1, quindi
spostando il bundle alla macchina n + 1 ne aumentiamo il
carico di al piu‘ 3
22 +1
• Spostare un bundle dalla macchina i alla macchina i + 1
aumenta il carico su i + 1 di 2, per le macchine
n + 1 ≤ i ≤ n + .
Envy-free makespan approximation 24/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• Nessun bundle e‘ assegnato alla macchina n + .
• Dal punto 1 del Lemma, nel bundle assegnato alla
macchina n c’e‘ un numero di job ≤ 2 +1 − 1, quindi
spostando il bundle alla macchina n + 1 ne aumentiamo il
carico di al piu‘ 3
22 +1
• Spostare un bundle dalla macchina i alla macchina i + 1
aumenta il carico su i + 1 di 2, per le macchine
n + 1 ≤ i ≤ n + .
• L’incremento totale del carico e‘ pari a
3
22 +1 + 2 = ( + 3)2 con 2 = log n
4 log log n
Envy-free makespan approximation 24/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• Per il punto 3 del Lemma, alle macchine n + 1 ≤ i ≤ n +
e‘ possibile assegnare al piu‘ 2 job e per il punto 1 alla
macchina n ne possiamo assegnare al piu‘ 2 +1.
Envy-free makespan approximation 25/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• Per il punto 3 del Lemma, alle macchine n + 1 ≤ i ≤ n +
e‘ possibile assegnare al piu‘ 2 job e per il punto 1 alla
macchina n ne possiamo assegnare al piu‘ 2 +1.
• Nei bundles assegnati alle macchine tra 1 e n − 1 sono
presenti almeno n − 3 ∗ 2 .
Envy-free makespan approximation 25/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• Per il punto 3 del Lemma, alle macchine n + 1 ≤ i ≤ n +
e‘ possibile assegnare al piu‘ 2 job e per il punto 1 alla
macchina n ne possiamo assegnare al piu‘ 2 +1.
• Nei bundles assegnati alle macchine tra 1 e n − 1 sono
presenti almeno n − 3 ∗ 2 .
• Togliendo il job j da questi bundles, il carico totale si
riduce di 1
2(n−j)
Envy-free makespan approximation 25/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• Per il punto 3 del Lemma, alle macchine n + 1 ≤ i ≤ n +
e‘ possibile assegnare al piu‘ 2 job e per il punto 1 alla
macchina n ne possiamo assegnare al piu‘ 2 +1.
• Nei bundles assegnati alle macchine tra 1 e n − 1 sono
presenti almeno n − 3 ∗ 2 .
• Togliendo il job j da questi bundles, il carico totale si
riduce di 1
2(n−j)
• La riduzione totale di carico data dallo spostamento dei
bundles e‘ pari a 1
2(Hn − H3∗2 ) ≥ (1
2 − ) ln n per n
sufficientemente grande.
Envy-free makespan approximation 25/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• Per il punto 3 del Lemma, alle macchine n + 1 ≤ i ≤ n +
e‘ possibile assegnare al piu‘ 2 job e per il punto 1 alla
macchina n ne possiamo assegnare al piu‘ 2 +1.
• Nei bundles assegnati alle macchine tra 1 e n − 1 sono
presenti almeno n − 3 ∗ 2 .
• Togliendo il job j da questi bundles, il carico totale si
riduce di 1
2(n−j)
• La riduzione totale di carico data dallo spostamento dei
bundles e‘ pari a 1
2(Hn − H3∗2 ) ≥ (1
2 − ) ln n per n
sufficientemente grande.
• Otteniamo una contraddizione...
Envy-free makespan approximation 25/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
• Per il punto 3 del Lemma, alle macchine n + 1 ≤ i ≤ n +
e‘ possibile assegnare al piu‘ 2 job e per il punto 1 alla
macchina n ne possiamo assegnare al piu‘ 2 +1.
• Nei bundles assegnati alle macchine tra 1 e n − 1 sono
presenti almeno n − 3 ∗ 2 .
• Togliendo il job j da questi bundles, il carico totale si
riduce di 1
2(n−j)
• La riduzione totale di carico data dallo spostamento dei
bundles e‘ pari a 1
2(Hn − H3∗2 ) ≥ (1
2 − ) ln n per n
sufficientemente grande.
• Otteniamo una contraddizione...
• m = n + = O(n), quindi l’approssimazione e‘ Ω( log m
log log m )
Envy-free makespan approximation 25/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Jason Hartline, Sam Ieong, Ahuva Mualem, Michael Schapira,
Aviv Zohar
Multi-dimensional envy-free scheduling mechanism
Technical Report 1144
The Hebrew Univ. 2008
Envy-free makespan approximation 26/27
Envy-free
makespan
approximation
Vincenzo De
Maio
Sommario
Introduzione
Definizioni di
base
Envy-freeness
vs Incentive-
compatibility
Algoritmo per
job indivisibili
Upper bound
Lower bound
Bibliografia
Grazie per la cortese attenzione
Envy-free makespan approximation 27/27

More Related Content

More from Vincenzo De Maio

Energy aware networking
Energy aware networkingEnergy aware networking
Energy aware networking
Vincenzo De Maio
 
Scheduling power-aware abstract
Scheduling power-aware abstractScheduling power-aware abstract
Scheduling power-aware abstractVincenzo De Maio
 
Green scheduling
Green schedulingGreen scheduling
Green scheduling
Vincenzo De Maio
 
Cell Programming 2
Cell Programming 2Cell Programming 2
Cell Programming 2
Vincenzo De Maio
 
Cell Programming 1
Cell Programming 1Cell Programming 1
Cell Programming 1
Vincenzo De Maio
 
R e la statistica
R e la statisticaR e la statistica
R e la statistica
Vincenzo De Maio
 
Linguaggio R, principi e concetti
Linguaggio R, principi e concettiLinguaggio R, principi e concetti
Linguaggio R, principi e concetti
Vincenzo De Maio
 
Ambienti opensource per l'apprendimento
Ambienti opensource per l'apprendimentoAmbienti opensource per l'apprendimento
Ambienti opensource per l'apprendimento
Vincenzo De Maio
 

More from Vincenzo De Maio (8)

Energy aware networking
Energy aware networkingEnergy aware networking
Energy aware networking
 
Scheduling power-aware abstract
Scheduling power-aware abstractScheduling power-aware abstract
Scheduling power-aware abstract
 
Green scheduling
Green schedulingGreen scheduling
Green scheduling
 
Cell Programming 2
Cell Programming 2Cell Programming 2
Cell Programming 2
 
Cell Programming 1
Cell Programming 1Cell Programming 1
Cell Programming 1
 
R e la statistica
R e la statisticaR e la statistica
R e la statistica
 
Linguaggio R, principi e concetti
Linguaggio R, principi e concettiLinguaggio R, principi e concetti
Linguaggio R, principi e concetti
 
Ambienti opensource per l'apprendimento
Ambienti opensource per l'apprendimentoAmbienti opensource per l'apprendimento
Ambienti opensource per l'apprendimento
 

Envy free makespan approximation