Jogo de balanceamento de carga
Dados:
I n tarefas
I q máquinas
I wi: peso da tarefa i
I sj: velocidade da máquinaj
Cada jogador controla uma tarefa. Conjuntos de estratégiasSi = [q]:
o jogador escolhe a qual máquina atribuir sua tarefa. Vetor de estratégias: atribuiçãoA: [n]→[q].
Custo deApara i, onde j =A(i): custoi(A) =P
k:A(k)=j wk
sj.
Jogo de balanceamento de carga
Dados:
I n tarefas
I q máquinas
I wi: peso da tarefa i
I sj: velocidade da máquinaj Cada jogador controla uma tarefa.
Conjuntos de estratégiasSi = [q]:
o jogador escolhe a qual máquina atribuir sua tarefa.
Vetor de estratégias: atribuiçãoA: [n]→[q]. Custo deApara i, onde j =A(i): custoi(A) =P
k:A(k)=j wk
sj.
Jogo de balanceamento de carga
Dados:
I n tarefas
I q máquinas
I wi: peso da tarefa i
I sj: velocidade da máquinaj Cada jogador controla uma tarefa.
Conjuntos de estratégiasSi = [q]:
o jogador escolhe a qual máquina atribuir sua tarefa.
Vetor de estratégias: atribuiçãoA: [n]→[q].
Custo deApara i, onde j =A(i): custoi(A) =P
k:A(k)=j wk
sj.
Jogo de balanceamento de carga
Dados:
I n tarefas
I q máquinas
I wi: peso da tarefa i
I sj: velocidade da máquinaj Cada jogador controla uma tarefa.
Conjuntos de estratégiasSi = [q]:
o jogador escolhe a qual máquina atribuir sua tarefa.
Vetor de estratégias: atribuiçãoA: [n]→[q].
Custo deApara i, onde j =A(i): custoi(A) =P
k:A(k)=j wk
sj.
Caso de máquinas relacionadas
Teorema: Para o jogo de balanceamento de carga emm máquinas relacionadas, PoA(m) = Θ lg lglgmm
. Primeira parte(aula passada):
Mostrar que para jogosJ= (n,m,w,s) e atribuiçõesA: [n]→[m]em equilíbrio vale que
custo(A) =O lgm lg lgm
.
Segunda parte:
Apresentar jogoJ = (n,m,w,s)e
atribuiçãoA: [n]→[m]em equilíbrio tal que custo(A) = Ω lgm
lg lgm .
Caso de máquinas relacionadas
Teorema: Para o jogo de balanceamento de carga emm máquinas relacionadas, PoA(m) = Θ lg lglgmm
. Primeira parte(aula passada):
Mostrar que para jogosJ= (n,m,w,s) e atribuiçõesA: [n]→[m]em equilíbrio vale que
custo(A) =O lgm lg lgm
.
Segunda parte:
Apresentar jogoJ = (n,m,w,s)e
atribuiçãoA: [n]→[m]em equilíbrio tal que custo(A) = Ω lgm
lg lgm .
Da aula anterior
Instância do jogo: J = (n,m,w,s)
Velocidades das máquinas: s1 ≥s2≥ · · · ≥sm,
eL= [1,2, . . . ,m]é a lista das máquinas em ordem de velocidade.
Parak=0,1, . . .
Lk: maior prefixo deLde máquinas com carga≥kOPT(J). SejaA∗ uma atribuição ótima (de makespan mínimo).
Ficamos devendo a prova do seguinte:
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1.
Da aula anterior
Instância do jogo: J = (n,m,w,s)
Velocidades das máquinas: s1 ≥s2≥ · · · ≥sm,
eL= [1,2, . . . ,m]é a lista das máquinas em ordem de velocidade.
Parak=0,1, . . .
Lk: maior prefixo deLde máquinas com carga≥kOPT(J).
SejaA∗ uma atribuição ótima (de makespan mínimo). Ficamos devendo a prova do seguinte:
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1.
Da aula anterior
Instância do jogo: J = (n,m,w,s)
Velocidades das máquinas: s1 ≥s2≥ · · · ≥sm,
eL= [1,2, . . . ,m]é a lista das máquinas em ordem de velocidade.
Parak=0,1, . . .
Lk: maior prefixo deLde máquinas com carga≥kOPT(J).
SejaA∗ uma atribuição ótima (de makespan mínimo).
Ficamos devendo a prova do seguinte:
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1.
Prova do lema
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1.
Prova: SeLk =L, nada a provar.
Sejaq máquina de menor índice em L\Lk. Temos que a carga`q<kOPT(J).
`A(i)≥(k+1)OPT(J) para toda tarefa i tqA(i)∈Lk+1. Sewi ≤sqOPT(J), então i teria incentivo para ir paraq:
`q+wi sq
<kOPT(J) +OPT(J) = (k+1)OPT(J)≤`A(i), contradição.
Prova do lema
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1. Prova: SeLk =L, nada a provar.
Sejaq máquina de menor índice em L\Lk. Temos que a carga`q<kOPT(J).
`A(i)≥(k+1)OPT(J) para toda tarefa i tqA(i)∈Lk+1. Sewi ≤sqOPT(J), então i teria incentivo para ir paraq:
`q+wi sq
<kOPT(J) +OPT(J) = (k+1)OPT(J)≤`A(i), contradição.
Prova do lema
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1. Prova: SeLk =L, nada a provar.
Sejaq máquina de menor índice emL\Lk.
Temos que a carga`q<kOPT(J).
`A(i)≥(k+1)OPT(J) para toda tarefa i tqA(i)∈Lk+1. Sewi ≤sqOPT(J), então i teria incentivo para ir paraq:
`q+wi sq
<kOPT(J) +OPT(J) = (k+1)OPT(J)≤`A(i), contradição.
Prova do lema
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1. Prova: SeLk =L, nada a provar.
Sejaq máquina de menor índice emL\Lk. Temos que a carga`q<kOPT(J).
`A(i)≥(k+1)OPT(J) para toda tarefa i tqA(i)∈Lk+1. Sewi ≤sqOPT(J), então i teria incentivo para ir paraq:
`q+wi sq
<kOPT(J) +OPT(J) = (k+1)OPT(J)≤`A(i), contradição.
Prova do lema
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1. Prova: SeLk =L, nada a provar.
Sejaq máquina de menor índice emL\Lk. Temos que a carga`q<kOPT(J).
`A(i)≥(k+1)OPT(J) para toda tarefa i tqA(i)∈Lk+1.
Sewi ≤sqOPT(J), então i teria incentivo para ir paraq:
`q+wi sq
<kOPT(J) +OPT(J) = (k+1)OPT(J)≤`A(i), contradição.
Prova do lema
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1. Prova: SeLk =L, nada a provar.
Sejaq máquina de menor índice emL\Lk. Temos que a carga`q<kOPT(J).
`A(i)≥(k+1)OPT(J) para toda tarefa i tqA(i)∈Lk+1. Sewi ≤sqOPT(J), então i teria incentivo para ir paraq:
`q+wi sq
<kOPT(J) +OPT(J) = (k+1)OPT(J)≤`A(i), contradição.
Prova do lema
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1. Prova: Sejaq máquina de menor índice emL\Lk. Temos que a carga`q<kOPT(J).
Para toda tarefai tqA(i)∈Lk+1,
`A(i)≥(k+1)OPT(J) e wi >sqOPT(J).
Por contradição, suponha quej =A∗(i)6∈Lk. Então, comosj ≤sq, a carga dej em A∗ seria
≥ wi
sj > sqOPT(J)
sj ≥OPT(J), contradição.
Prova do lema
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1. Prova: Sejaq máquina de menor índice emL\Lk. Temos que a carga`q<kOPT(J).
Para toda tarefai tqA(i)∈Lk+1,
`A(i)≥(k+1)OPT(J) e wi >sqOPT(J).
Por contradição, suponha quej =A∗(i)6∈Lk.
Então, comosj ≤sq, a carga dej em A∗ seria
≥ wi
sj > sqOPT(J)
sj ≥OPT(J), contradição.
Prova do lema
Lema: A∗(i)∈Lk para toda tarefa i tq A(i)∈Lk+1. Prova: Sejaq máquina de menor índice emL\Lk. Temos que a carga`q<kOPT(J).
Para toda tarefai tqA(i)∈Lk+1,
`A(i)≥(k+1)OPT(J) e wi >sqOPT(J).
Por contradição, suponha quej =A∗(i)6∈Lk. Então, comosj ≤sq, a carga de j em A∗ seria
≥ wi
sj > sqOPT(J)
sj ≥OPT(J), contradição.
Segunda parte
Γ−1 denota a inversa da função gama,Γ(k) = (k−1)!.
Lema: Existe um jogoJ = (n,m,w,s) e atribuição A: [n]→[m]
em equilíbrio tq
custo(A) ≥ 1
2 Γ−1(m)−2−o(1)
OPT(J).
Prova: Sejaq =bΓ−1(m/3)−1c e
sejamG0, . . . ,Gq grupos disjuntos de máquinas. GrupoGk: kq!! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas por A.
Segunda parte
Γ−1 denota a inversa da função gama,Γ(k) = (k−1)!.
Lema: Existe um jogoJ = (n,m,w,s) e atribuição A: [n]→[m]
em equilíbrio tq
custo(A) ≥ 1
2 Γ−1(m)−2−o(1)
OPT(J).
Prova: Sejaq =bΓ−1(m/3)−1c e
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: kq!! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas por A.
Segunda parte
Γ−1 denota a inversa da função gama,Γ(k) = (k−1)!.
Lema: Existe um jogoJ = (n,m,w,s) e atribuição A: [n]→[m]
em equilíbrio tq
custo(A) ≥ 1
2 Γ−1(m)−2−o(1)
OPT(J).
Prova: Sejaq =bΓ−1(m/3)−1c e
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Segunda parte
Lema: Existe um jogoJ = (n,m,w,s) e atribuição Aem equilíbrio tqcusto(A) ≥ 12 Γ−1(m)−2−o(1)
OPT(J).
Prova: Sejaq =bΓ−1(m/3)−1c e
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Total de máquinas:
q
X
k=0
|Gk|=
q
X
k=0
q! k! =q!
q
X
k=0
1
k! ≤3Γ(q+1)≤m. Completem com máquinas sem grupo e vazias de velocidade 1 (como as deG0).
Segunda parte
Lema: Existe um jogoJ = (n,m,w,s) e atribuição Aem equilíbrio tqcusto(A) ≥ 12 Γ−1(m)−2−o(1)
OPT(J).
Prova: Sejaq =bΓ−1(m/3)−1c e
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Total de máquinas:
q
X
k=0
|Gk|=
q
X
k=0
q!
k! =q!
q
X
k=0
1
k! ≤3Γ(q+1)≤m.
Completem com máquinas sem grupo e vazias de velocidade 1 (como as deG0).
Segunda parte
Lema: Existe um jogoJ = (n,m,w,s) e atribuição Aem equilíbrio tqcusto(A) ≥ 12 Γ−1(m)−2−o(1)
OPT(J).
Prova: Sejaq =bΓ−1(m/3)−1c e
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Total de máquinas:
q
X
k=0
|Gk|=
q
X
k=0
q!
k! =q!
q
X
k=0
1
k! ≤3Γ(q+1)≤m.
Completem com máquinas sem grupo e vazias de velocidade 1 (como as deG0).
A está em equilíbrio?
Sejaq =bΓ−1(m/3)−1ce
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso2k atribuídas porA.
Carga emAde máquina emGk ék.
Então tarefa em máquina deGk não quer mudar para máquina emGj comj ≥k (que tem cargaj ≥k), nem para máquina deGj com j <k, pois
j+2k
2j =j+2k−j ≥j+ (k−j+1) =k+1, já que 2t≥t+1 pra todot ≥1.
A está em equilíbrio?
Sejaq =bΓ−1(m/3)−1ce
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso2k atribuídas porA.
Carga emAde máquina emGk ék.
Então tarefa em máquina deGk não quer mudar para máquina emGj comj ≥k (que tem cargaj ≥k), nem para máquina deGj com j <k, pois
j+2k
2j =j+2k−j ≥j+ (k−j+1) =k+1, já que 2t≥t+1 pra todot ≥1.
A está em equilíbrio?
Sejaq =bΓ−1(m/3)−1ce
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso2k atribuídas porA.
Carga emAde máquina emGk ék.
Então tarefa em máquina deGk não quer mudar para máquina emGj comj ≥k (que tem cargaj ≥k),
nem para máquina deGj com j <k, pois j+2k
2j =j+2k−j ≥j+ (k−j+1) =k+1, já que 2t≥t+1 pra todot ≥1.
A está em equilíbrio?
Sejaq =bΓ−1(m/3)−1ce
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso2k atribuídas porA.
Carga emAde máquina emGk ék.
Então tarefa em máquina deGk não quer mudar para máquina emGj comj ≥k (que tem cargaj ≥k), nem para máquina deGj com j <k, pois
j +2k
2j =j+2k−j ≥j+ (k−j+1) =k+1, já que 2t≥t+1 pra todot ≥1.
Jogo e equilíbrio
Sejaq =bΓ−1(m/3)−1ce
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Aé um equilíbrio de custo social q.
Vamos mostrar queOPT(J)≤2.
Considere atribuiçãoA∗ que atribui a máquinas deGk−1
as tarefas queAatribuiu a máquinas de Gk.
Tarefas queAatribuiu a Gk: k|Gk|= q!kk! = (k−1)!q! =|Gk−1|. Uma tarefa em cada máquina, com custo de 2k−12k =2.
Jogo e equilíbrio
Sejaq =bΓ−1(m/3)−1ce
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Aé um equilíbrio de custo social q.
Vamos mostrar queOPT(J)≤2.
Considere atribuiçãoA∗ que atribui a máquinas deGk−1
as tarefas queAatribuiu a máquinas de Gk.
Tarefas queAatribuiu a Gk: k|Gk|= q!kk! = (k−1)!q! =|Gk−1|. Uma tarefa em cada máquina, com custo de 2k−12k =2.
Jogo e equilíbrio
Sejaq =bΓ−1(m/3)−1ce
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Aé um equilíbrio de custo social q.
Vamos mostrar queOPT(J)≤2.
Considere atribuiçãoA∗ que atribui a máquinas deGk−1
as tarefas queAatribuiu a máquinas de Gk.
Tarefas queAatribuiu a Gk: k|Gk|= q!kk! = (k−1)!q! =|Gk−1|. Uma tarefa em cada máquina, com custo de 2k−12k =2.
Jogo e equilíbrio
Sejaq =bΓ−1(m/3)−1ce
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Aé um equilíbrio de custo social q.
Vamos mostrar queOPT(J)≤2.
Considere atribuiçãoA∗ que atribui a máquinas deGk−1
as tarefas queAatribuiu a máquinas de Gk.
Tarefas queAatribuiu a Gk: k|Gk|= q!kk! = (k−1)!q! =|Gk−1|.
Uma tarefa em cada máquina, com custo de 2k−12k =2.
Jogo e equilíbrio
Sejaq =bΓ−1(m/3)−1ce
sejamG0, . . . ,Gq grupos disjuntos de máquinas.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Aé um equilíbrio de custo social q.
Vamos mostrar queOPT(J)≤2.
Considere atribuiçãoA∗ que atribui a máquinas deGk−1
as tarefas queAatribuiu a máquinas de Gk.
Tarefas queAatribuiu a Gk: k|Gk|= q!kk! = (k−1)!q! =|Gk−1|.
Uma tarefa em cada máquina, com custo de 2k−12k =2.
Conclusão
G0, . . . ,Gq grupos de máquinas comq =bΓ−1(m3)−1c.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Aé um equilíbrio de custo social q e OPT(J)≤2.
Preço da anarquia deste jogo: ≥ q2 = bΓ−1(m/3)−1c2 ComoΓ−1(m)= Θ lg lglgmm
,
existemc em0 tq Γ−1(m)≥c(lg lglgmm
,param≥m0. Então, param≥3m0, o preço da anarquia é
≥ bΓ−1(m/3)−1c
2 ≥ bc(lg lglgm/3m/3
−1c
2 = Ω lgm
lg lgm .
Conclusão
G0, . . . ,Gq grupos de máquinas comq =bΓ−1(m3)−1c.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Aé um equilíbrio de custo social q e OPT(J)≤2.
Preço da anarquia deste jogo: ≥ q2 = bΓ−1(m/3)−1c2
ComoΓ−1(m)= Θ lg lglgmm ,
existemc em0 tq Γ−1(m)≥c(lg lglgmm
,param≥m0. Então, param≥3m0, o preço da anarquia é
≥ bΓ−1(m/3)−1c
2 ≥ bc(lg lglgm/3m/3
−1c
2 = Ω lgm
lg lgm .
Conclusão
G0, . . . ,Gq grupos de máquinas comq =bΓ−1(m3)−1c.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Aé um equilíbrio de custo social q e OPT(J)≤2.
Preço da anarquia deste jogo: ≥ q2 = bΓ−1(m/3)−1c2 ComoΓ−1(m)= Θ lg lglgmm
,
existemc em0 tq Γ−1(m)≥c(lg lglgmm
,param≥m0.
Então, param≥3m0, o preço da anarquia é
≥ bΓ−1(m/3)−1c
2 ≥ bc(lg lglgm/3m/3
−1c
2 = Ω lgm
lg lgm .
Conclusão
G0, . . . ,Gq grupos de máquinas comq =bΓ−1(m3)−1c.
GrupoGk: q!k! máquinas com velocidade 2k,
cada uma comk tarefas de peso 2k atribuídas porA.
Aé um equilíbrio de custo social q e OPT(J)≤2.
Preço da anarquia deste jogo: ≥ q2 = bΓ−1(m/3)−1c2 ComoΓ−1(m)= Θ lg lglgmm
,
existemc em0 tq Γ−1(m)≥c(lg lglgmm
,param≥m0. Então, param≥3m0, o preço da anarquia é
≥ bΓ−1(m/3)−1c
2 ≥ bc(lg lglgm/3m/3
−1c
2 = Ω lgm
lg lgm .
Tempo de convergência
No caso demáquinas relacionadas,
não se conhece resultado como o para máquinas idênticas.
Mas podemos computar um equilíbrio eficientemente.
Algoritmo LPT (largest processing time): Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo. Teorema: A atribuição calculada por LPT é um equilíbrio. Prova: Por indução no número de tarefas (colocadas). Após colocarmos a última tarefa, apenas outras tarefas da mesma máquina podem ter se tornado insatisfeitas.
Tempo de convergência
No caso demáquinas relacionadas,
não se conhece resultado como o para máquinas idênticas.
Mas podemos computar um equilíbrio eficientemente.
Algoritmo LPT (largest processing time): Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo. Teorema: A atribuição calculada por LPT é um equilíbrio. Prova: Por indução no número de tarefas (colocadas). Após colocarmos a última tarefa, apenas outras tarefas da mesma máquina podem ter se tornado insatisfeitas.
Tempo de convergência
No caso demáquinas relacionadas,
não se conhece resultado como o para máquinas idênticas.
Mas podemos computar um equilíbrio eficientemente.
Algoritmo LPT (largest processing time):
Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo. Teorema: A atribuição calculada por LPT é um equilíbrio. Prova: Por indução no número de tarefas (colocadas). Após colocarmos a última tarefa, apenas outras tarefas da mesma máquina podem ter se tornado insatisfeitas.
Tempo de convergência
No caso demáquinas relacionadas,
não se conhece resultado como o para máquinas idênticas.
Mas podemos computar um equilíbrio eficientemente.
Algoritmo LPT (largest processing time):
Atribua tarefas em ordem decrescente de peso,
pondo-as em máquinas que minimizem o seu custo. Teorema: A atribuição calculada por LPT é um equilíbrio. Prova: Por indução no número de tarefas (colocadas). Após colocarmos a última tarefa, apenas outras tarefas da mesma máquina podem ter se tornado insatisfeitas.
Tempo de convergência
No caso demáquinas relacionadas,
não se conhece resultado como o para máquinas idênticas.
Mas podemos computar um equilíbrio eficientemente.
Algoritmo LPT (largest processing time):
Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo.
Teorema: A atribuição calculada por LPT é um equilíbrio. Prova: Por indução no número de tarefas (colocadas). Após colocarmos a última tarefa, apenas outras tarefas da mesma máquina podem ter se tornado insatisfeitas.
Tempo de convergência
No caso demáquinas relacionadas,
não se conhece resultado como o para máquinas idênticas.
Mas podemos computar um equilíbrio eficientemente.
Algoritmo LPT (largest processing time):
Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo.
Teorema: A atribuição calculada por LPT é um equilíbrio.
Prova: Por indução no número de tarefas (colocadas). Após colocarmos a última tarefa, apenas outras tarefas da mesma máquina podem ter se tornado insatisfeitas.
Tempo de convergência
No caso demáquinas relacionadas,
não se conhece resultado como o para máquinas idênticas.
Mas podemos computar um equilíbrio eficientemente.
Algoritmo LPT (largest processing time):
Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo.
Teorema: A atribuição calculada por LPT é um equilíbrio.
Prova: Por indução no número de tarefas (colocadas).
Após colocarmos a última tarefa, apenas outras tarefas da mesma máquina podem ter se tornado insatisfeitas.
Tempo de convergência
No caso demáquinas relacionadas,
não se conhece resultado como o para máquinas idênticas.
Mas podemos computar um equilíbrio eficientemente.
Algoritmo LPT (largest processing time):
Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo.
Teorema: A atribuição calculada por LPT é um equilíbrio.
Prova: Por indução no número de tarefas (colocadas).
Após colocarmos a última tarefa, apenas outras tarefas da mesma máquina podem ter se tornado insatisfeitas.
LPT devolve um equilíbrio
Algoritmo LPT (largest processing time):
Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo.
Teorema: A atribuição calculada por LPT é um equilíbrio.
Prova: Por indução no número de tarefas (colocadas).
Sejat a última tarefa, ej∗ a máquina a que foi atribuída.
Apenas tarefas alocadas aj∗ podem estar insatisfeitas.
Sejai <t uma tarefa alocada a j∗. Lembre-se quewi ≥wt. Então `(js∗)
j∗ ≤ `(j)+ws t
j ≤ `(j)+ws i
j , para todo j em [m] Logoi está satisfeita e a atribuição está em equilíbrio.
LPT devolve um equilíbrio
Algoritmo LPT (largest processing time):
Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo.
Teorema: A atribuição calculada por LPT é um equilíbrio.
Prova: Por indução no número de tarefas (colocadas).
Sejat a última tarefa, ej∗ a máquina a que foi atribuída.
Apenas tarefas alocadas aj∗ podem estar insatisfeitas.
Sejai <t uma tarefa alocada a j∗. Lembre-se quewi ≥wt.
Então `(js∗)
j∗ ≤ `(j)+ws t
j ≤ `(j)+ws i
j , para todo j em [m] Logoi está satisfeita e a atribuição está em equilíbrio.
LPT devolve um equilíbrio
Algoritmo LPT (largest processing time):
Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo.
Teorema: A atribuição calculada por LPT é um equilíbrio.
Prova: Por indução no número de tarefas (colocadas).
Sejat a última tarefa, ej∗ a máquina a que foi atribuída.
Apenas tarefas alocadas aj∗ podem estar insatisfeitas.
Sejai <t uma tarefa alocada a j∗. Lembre-se quewi ≥wt. Então `(js∗)
j∗ ≤ `(j)+ws t
j ≤ `(j)+ws i
j , para todo j em [m]
(onde`(j) é a soma dos pesos das tarefas atribuídas aj).
Logoi está satisfeita e a atribuição está em equilíbrio.
LPT devolve um equilíbrio
Algoritmo LPT (largest processing time):
Atribua tarefas em ordem decrescente de peso, pondo-as em máquinas que minimizem o seu custo.
Teorema: A atribuição calculada por LPT é um equilíbrio.
Prova: Por indução no número de tarefas (colocadas).
Sejat a última tarefa, ej∗ a máquina a que foi atribuída.
Apenas tarefas alocadas aj∗ podem estar insatisfeitas.
Sejai <t uma tarefa alocada a j∗. Lembre-se quewi ≥wt. Então `(js∗)
j∗ ≤ `(j)+ws t
j ≤ `(j)+ws i
j , para todo j em [m]
Logoi está satisfeita e a atribuição está em equilíbrio.
Jogo de balanceamento de carga
Dados:
I n tarefas
I q máquinas
I wi: peso da tarefa i
I sj: velocidade da máquinaj
Jogo com estratégias mistas
ConjuntoS = [q]e cada jogador escolhe uma distribuição de probabilidadeσi em S. Vetor de estratégias mistas: σ = (σ1, . . . , σn)
Custo deσ para i: custoi(σ) =P
A∈Sncustoi(A)Prσ[A].
Jogo de balanceamento de carga
Dados:
I n tarefas
I q máquinas
I wi: peso da tarefa i
I sj: velocidade da máquinaj Jogo com estratégias mistas
ConjuntoS = [q]e cada jogador escolhe uma distribuição de probabilidadeσi em S.
Vetor de estratégias mistas: σ = (σ1, . . . , σn)
Custo deσ para i: custoi(σ) =P
A∈Sncustoi(A)Prσ[A].
Jogo de balanceamento de carga
Dados:
I n tarefas
I q máquinas
I wi: peso da tarefa i
I sj: velocidade da máquinaj Jogo com estratégias mistas
ConjuntoS = [q]e cada jogador escolhe uma distribuição de probabilidadeσi em S.
Vetor de estratégias mistas: σ = (σ1, . . . , σn)
Custo deσ para i: custoi(σ) =P
A∈Sncustoi(A)Prσ[A].
Jogo de balanceamento de carga
Dados:
I n tarefas
I q máquinas
I wi: peso da tarefa i
I sj: velocidade da máquinaj Jogo com estratégias mistas
ConjuntoS = [q]e cada jogador escolhe uma distribuição de probabilidadeσi em S.
Vetor de estratégias mistas: σ = (σ1, . . . , σn)
Custo deσ para i: custoi(σ) =P
A∈Sncustoi(A)Prσ[A].
Exemplo
Duas máquinas idênticas,
duas tarefas de peso 2, duas de peso 1.
3 4
Pior equilíbrio de estratégias puras tem makespan 4. Vetor de estratégias mistas: cada tarefa escolhe a máquina uniforme e independentemente.
E[`(j)] = 2·2·1
2 +2·1·1 2 = 4
2 +2 2 = 3
Exemplo
Duas máquinas idênticas,
duas tarefas de peso 2, duas de peso 1.
3 4
Pior equilíbrio de estratégias puras tem makespan 4.
Vetor de estratégias mistas: cada tarefa escolhe a máquina uniforme e independentemente.
E[`(j)] = 2·2·1
2 +2·1·1 2 = 4
2 +2 2 = 3
Exemplo
Duas máquinas idênticas,
duas tarefas de peso 2, duas de peso 1.
3 4
Pior equilíbrio de estratégias puras tem makespan 4.
Vetor de estratégias mistas: cada tarefa escolhe a máquina uniforme e independentemente.
E[`(j)] = 2·2·1
2 +2·1·1 2 = 4
2 +2 2 = 3
Exemplo
Duas máquinas idênticas,
duas tarefas de peso 2, duas de peso 1.
Vetor de estratégias mistas: cada tarefa escolhe a máquina uniforme e independentemente.
E[`(j)] = 2·2·1
2 +2·1·1 2 = 4
2 +2 2 = 3
Custocij para tarefa i ficar numa máquina específicaj: cij = E[`(j)]+1
2 ·2 = 4 se wi =2
= E[`(j)]+1
2 ·1 = 3,5 se wi =1 Independe doj, por isso é um equilíbrio.
Exemplo
Duas máquinas idênticas,
duas tarefas de peso 2, duas de peso 1.
Vetor de estratégias mistas: cada tarefa escolhe a máquina uniforme e independentemente.
E[`(j)] = 2·2·1
2 +2·1·1 2 = 4
2 +2 2 = 3 Custocij para tarefa i ficar numa máquina específicaj:
cij = E[`(j)]+1
2 ·2 = 4 se wi =2
= E[`(j)]+1
2 ·1 = 3,5 se wi =1
Independe doj, por isso é um equilíbrio.
Exemplo
Duas máquinas idênticas,
duas tarefas de peso 2, duas de peso 1.
Vetor de estratégias mistas: cada tarefa escolhe a máquina uniforme e independentemente.
E[`(j)] = 2·2·1
2 +2·1·1 2 = 4
2 +2 2 = 3 Custocij para tarefa i ficar numa máquina específicaj:
cij = E[`(j)]+1
2 ·2 = 4 se wi =2
= E[`(j)]+1
2 ·1 = 3,5 se wi =1 Independe doj, por isso é um equilíbrio.
Exemplo
Duas máquinas idênticas,
duas tarefas de peso 2, duas de peso 1.
Vetor de estratégias mistas: cada tarefa escolhe a máquina uniforme e independentemente.
Este é umequilíbrio.
Qual é o makespan esperado? 1
16(2·6+4·5+6·4+4·3) = 1
16(32+36) = 4,25 Isso é pior que o pior vetor de estratégias puras.
Exemplo
Duas máquinas idênticas,
duas tarefas de peso 2, duas de peso 1.
Vetor de estratégias mistas: cada tarefa escolhe a máquina uniforme e independentemente.
Este é umequilíbrio.
Qual é o makespan esperado?
1
16(2·6+4·5+6·4+4·3) = 1
16(32+36) = 4,25 Isso é pior que o pior vetor de estratégias puras.
Exemplo
Duas máquinas idênticas,
duas tarefas de peso 2, duas de peso 1.
Vetor de estratégias mistas: cada tarefa escolhe a máquina uniforme e independentemente.
Este é umequilíbrio.
Qual é o makespan esperado?
1
16(2·6+4·5+6·4+4·3) = 1
16(32+36) = 4,25
Isso é pior que o pior vetor de estratégias puras.
Exemplo
Duas máquinas idênticas,
duas tarefas de peso 2, duas de peso 1.
Vetor de estratégias mistas: cada tarefa escolhe a máquina uniforme e independentemente.
Este é umequilíbrio.
Qual é o makespan esperado?
1
16(2·6+4·5+6·4+4·3) = 1
16(32+36) = 4,25 Isso é pior que o pior vetor de estratégias puras.
Quão pior pode ser?
mmáquinas idênticas(velocidade 1) e n tarefas de peso 1
Cada tarefa escolhe uma máquina com probabilidade 1/m. Novamente é um equilíbrio.
O ótimo édn/me e omakespan esperado? Balls and bins:
cada uma den bolas independentemente é colocada em um demcompartimentos escolhido uniformemente. Quantas bolas no compartimento mais cheio?
Isso é exatamente omakespan esperado!
Quão pior pode ser?
mmáquinas idênticas(velocidade 1) e n tarefas de peso 1 Cada tarefa escolhe uma máquina com probabilidade 1/m.
Novamente é um equilíbrio.
O ótimo édn/me e omakespan esperado? Balls and bins:
cada uma den bolas independentemente é colocada em um demcompartimentos escolhido uniformemente. Quantas bolas no compartimento mais cheio?
Isso é exatamente omakespan esperado!
Quão pior pode ser?
mmáquinas idênticas(velocidade 1) e n tarefas de peso 1 Cada tarefa escolhe uma máquina com probabilidade 1/m.
Novamente é um equilíbrio.
O ótimo édn/me e omakespan esperado? Balls and bins:
cada uma den bolas independentemente é colocada em um demcompartimentos escolhido uniformemente. Quantas bolas no compartimento mais cheio?
Isso é exatamente omakespan esperado!
Quão pior pode ser?
mmáquinas idênticas(velocidade 1) e n tarefas de peso 1 Cada tarefa escolhe uma máquina com probabilidade 1/m.
Novamente é um equilíbrio.
O ótimo édn/me e omakespan esperado?
Balls and bins:
cada uma den bolas independentemente é colocada em um demcompartimentos escolhido uniformemente. Quantas bolas no compartimento mais cheio?
Isso é exatamente omakespan esperado!
Quão pior pode ser?
mmáquinas idênticas(velocidade 1) e n tarefas de peso 1 Cada tarefa escolhe uma máquina com probabilidade 1/m.
Novamente é um equilíbrio.
O ótimo édn/me e omakespan esperado?
Balls and bins:
cada uma den bolas independentemente é colocada em um demcompartimentos escolhido uniformemente.
Quantas bolas no compartimento mais cheio? Isso é exatamente omakespan esperado!
Quão pior pode ser?
mmáquinas idênticas(velocidade 1) e n tarefas de peso 1 Cada tarefa escolhe uma máquina com probabilidade 1/m.
Novamente é um equilíbrio.
O ótimo édn/me e omakespan esperado?
Balls and bins:
cada uma den bolas independentemente é colocada em um demcompartimentos escolhido uniformemente.
Quantas bolas no compartimento mais cheio?
Isso é exatamente omakespan esperado!
Quão pior pode ser?
mmáquinas idênticas(velocidade 1) e n tarefas de peso 1 Cada tarefa escolhe uma máquina com probabilidade 1/m.
Novamente é um equilíbrio.
O ótimo édn/me e omakespan esperado?
Balls and bins:
cada uma den bolas independentemente é colocada em um demcompartimentos escolhido uniformemente.
Quantas bolas no compartimento mais cheio?
Isso é exatamente omakespan esperado!
Delimitação inferior no PoA
Balls and bins:
cada uma den bolas independentemente é colocada em um deq compartimentos escolhido uniformemente.
Proposição:
O valor esperado da ocupação máxima éΘ lnq
ln 1+qnlnq .
Teorema: Para todo q, existe uma instânciaJ do jogo de
balanceamento de carga comq máquinas idênticas e n =q tarefas que tem um equilíbrio de Nash mistoP com
custo(P) = Ω ln lnlnqq
OPT(J).
Delimitação inferior no PoA
Balls and bins:
cada uma den bolas independentemente é colocada em um deq compartimentos escolhido uniformemente.
Proposição:
O valor esperado da ocupação máxima éΘ lnq
ln 1+qnlnq .
Teorema: Para todo q, existe uma instânciaJ do jogo de
balanceamento de carga comq máquinas idênticas e n =q tarefas que tem um equilíbrio de Nash mistoP com
custo(P) = Ω ln lnlnqq
OPT(J).
Delimitação inferior no PoA
Balls and bins:
cada uma den bolas independentemente é colocada em um deq compartimentos escolhido uniformemente.
Proposição:
O valor esperado da ocupação máxima éΘ lnq
ln 1+qnlnq .
Teorema: Para todo q, existe uma instânciaJ do jogo de
balanceamento de carga comq máquinas idênticas e n =q tarefas que tem um equilíbrio de Nash mistoP com
custo(P) = Ω ln lnlnqq
OPT(J).
Delimitação superior no PoA
Teorema: Considere uma instância J do jogo
de balanceamento de carga comq máquinas idênticas e sejaP um equilíbrio de Nash do jogo. Vale que
custo(P) =O ln lnlnqq
OPT(J).
Prova: Lembre-se quecusto(P) =E[maxj∈[m]`(j)]. Primeiramente,E[`(j)]≤ 2−m+12
OPT(J).
Relembremos resultado para o jogocom estratégias puras: Teorema: Para o jogo de balanceamento de carga
emm máquinas idênticascom estratégias puras, PoA(m) = 2−m+12
.
Delimitação superior no PoA
Teorema: Considere uma instância J do jogo
de balanceamento de carga comq máquinas idênticas e sejaP um equilíbrio de Nash do jogo. Vale que
custo(P) =O ln lnlnqq
OPT(J).
Prova: Lembre-se quecusto(P) =E[maxj∈[m]`(j)].
Primeiramente,E[`(j)]≤ 2−m+12
OPT(J).
Relembremos resultado para o jogocom estratégias puras: Teorema: Para o jogo de balanceamento de carga
emm máquinas idênticascom estratégias puras, PoA(m) = 2−m+12
.
Delimitação superior no PoA
Teorema: Considere uma instância J do jogo
de balanceamento de carga comq máquinas idênticas e sejaP um equilíbrio de Nash do jogo. Vale que
custo(P) =O ln lnlnqq
OPT(J).
Prova: Lembre-se quecusto(P) =E[maxj∈[m]`(j)].
Primeiramente,E[`(j)]≤ 2−m+12
OPT(J).
Relembremos resultado para o jogocom estratégias puras: Teorema: Para o jogo de balanceamento de carga
emm máquinas idênticascom estratégias puras, PoA(m) = 2−m+12
.
Delimitação superior no PoA
Teorema: Considere uma instância J do jogo
de balanceamento de carga comq máquinas idênticas e sejaP um equilíbrio de Nash do jogo. Vale que
custo(P) =O ln lnlnqq
OPT(J).
Prova: Lembre-se quecusto(P) =E[maxj∈[m]`(j)].
Primeiramente,E[`(j)]≤ 2−m+12
OPT(J).
Relembremos resultado para o jogocom estratégias puras:
Teorema: Para o jogo de balanceamento de carga emm máquinas idênticascom estratégias puras,
PoA(m) = 2−m+12 .
Relembrando...
Teorema: Para o jogo de balanceamento de carga emm máquinas idênticascom estratégias puras,
PoA(m) = 2−m+12 .
Prova: JogoJ = (n,m,w) e atribuiçãoA: [n]→[m].
j∗: máquina com carga máxima em A i∗: tarefa mais leve em j∗
`(j): carga da máquinaj emA
Se sói∗ em j∗, então custo(A) =OPT(J)e nada a provar.
Senãowi∗ ≤ 12custo(A).
Não há máquina com carga menor que`(j∗)−wi∗
(oui∗ teria incentivo para ir para tal máquina).
Relembrando...
Prova: JogoJ = (n,m,w) e atribuiçãoA: [n]→[m].
j∗: máquina com carga máxima em A i∗: tarefa mais leve em j∗
`(j): carga da máquinaj emA wi∗ ≤ 12custo(A).
Não há máquina com carga menor que`(j∗)−wi∗. Ou seja, para todoj ∈[m],
`(j) ≥ `(j∗)−wi∗ ≥ custo(A)−1
2custo(A) = 1
2custo(A) e
OPT(J) ≥ P
i∈[n]wi
m =
P
j∈[m]`(j) m
≥ custo(A) + (m−1)custo(A)/2
m = (m+1)custo(A)
2m
Relembrando...
Prova: JogoJ = (n,m,w) e atribuiçãoA: [n]→[m].
j∗: máquina com carga máxima em A i∗: tarefa mais leve em j∗
`(j): carga da máquinaj emA wi∗ ≤ 12custo(A).
Não há máquina com carga menor que`(j∗)−wi∗. Ou seja,`(j) ≥ 12custo(A) para todo j ∈[m] e
OPT(J)≥ (m+1)custo(A)
2m ,
donde se conclui que
custo(A) ≤ 2− 2 m+1
OPT(J).
Adaptação de parte da prova
Jogo de balanceamento de cargacom estratégias mistas jogoJ= (n,m,w), vetor de estratégias mistas P
j∗: máquina com cargaesperadamáxima em P i∗: tarefa com prob. positiva emj∗ epi∗j∗wi∗ mínimo.
`(j): carga da máquinaj emP (variável aleatória) custo(P) =E[`(j∗)] epi∗j∗wi∗ ≤ 12custo(P). Não há máquina com
cargaesperadamenor que E[`(j∗)]−pi∗j∗wi∗
(oui∗ teria incentivo para ir para tal máquina).
Adaptação de parte da prova
Jogo de balanceamento de cargacom estratégias mistas jogoJ= (n,m,w), vetor de estratégias mistas P j∗: máquina com carga esperadamáxima em P
i∗: tarefa com prob. positiva emj∗ epi∗j∗wi∗ mínimo.
`(j): carga da máquinaj emP (variável aleatória) custo(P) =E[`(j∗)] epi∗j∗wi∗ ≤ 12custo(P). Não há máquina com
cargaesperadamenor que E[`(j∗)]−pi∗j∗wi∗
(oui∗ teria incentivo para ir para tal máquina).
Adaptação de parte da prova
Jogo de balanceamento de cargacom estratégias mistas jogoJ= (n,m,w), vetor de estratégias mistas P j∗: máquina com carga esperadamáxima em P i∗: tarefa com prob. positiva emj∗ epi∗j∗wi∗ mínimo.
`(j): carga da máquinaj emP (variável aleatória) custo(P) =E[`(j∗)] epi∗j∗wi∗ ≤ 12custo(P). Não há máquina com
cargaesperadamenor que E[`(j∗)]−pi∗j∗wi∗
(oui∗ teria incentivo para ir para tal máquina).
Adaptação de parte da prova
Jogo de balanceamento de cargacom estratégias mistas jogoJ= (n,m,w), vetor de estratégias mistas P j∗: máquina com carga esperadamáxima em P i∗: tarefa com prob. positiva emj∗ epi∗j∗wi∗ mínimo.
`(j): carga da máquinaj emP (variável aleatória)
custo(P) =E[`(j∗)] epi∗j∗wi∗ ≤ 12custo(P). Não há máquina com
cargaesperadamenor que E[`(j∗)]−pi∗j∗wi∗
(oui∗ teria incentivo para ir para tal máquina).
Adaptação de parte da prova
Jogo de balanceamento de cargacom estratégias mistas jogoJ= (n,m,w), vetor de estratégias mistas P j∗: máquina com carga esperadamáxima em P i∗: tarefa com prob. positiva emj∗ epi∗j∗wi∗ mínimo.
`(j): carga da máquinaj emP (variável aleatória) custo(P) =E[`(j∗)]e pi∗j∗wi∗ ≤ 12custo(P).
Não há máquina com
cargaesperadamenor que E[`(j∗)]−pi∗j∗wi∗
(oui∗ teria incentivo para ir para tal máquina).
Adaptação de parte da prova
Jogo de balanceamento de cargacom estratégias mistas jogoJ= (n,m,w), vetor de estratégias mistas P j∗: máquina com carga esperadamáxima em P i∗: tarefa com prob. positiva emj∗ epi∗j∗wi∗ mínimo.
`(j): carga da máquinaj emP (variável aleatória) custo(P) =E[`(j∗)]e pi∗j∗wi∗ ≤ 12custo(P).
Não há máquina com
cargaesperadamenor que E[`(j∗)]−pi∗j∗wi∗
(oui∗ teria incentivo para ir para tal máquina).
Adaptação de parte da prova
Jogo de balanceamento de cargacom estratégias mistas jogoJ= (n,m,w), vetor de estratégias mistas P j∗: máquina com carga esperadamáxima em P i∗: tarefa com prob. positiva emj∗ epi∗j∗wi∗ mínimo.
`(j): carga da máquinaj emA (variável aleatória) custo(P) =E[`(j∗)]e pi∗j∗wi∗ ≤ 12custo(P).
Para todoj ∈[m],
E[`(j)] ≥ E[`(j∗)]−pi∗j∗wi∗ ≥ custo(P)−1
2custo(P) = 1
2custo(P).
Adaptação de parte da prova
Jogo de balanceamento de cargacom estratégias mistas jogoJ= (n,m,w), vetor de estratégias mistas P j∗: máquina com carga esperadamáxima em P i∗: tarefa com prob. positiva emj∗ epi∗j∗wi∗ mínimo.
`(j): carga da máquinaj emA (variável aleatória) custo(P) =E[`(j∗)]e pi∗j∗wi∗ ≤ 12custo(P).
Para todoj ∈[m],
E[`(j)] ≥ E[`(j∗)]−pi∗j∗wi∗ ≥ custo(P)−1
2custo(P) = 1
2custo(P).