• Nenhum resultado encontrado

Tópicos de Análise de Algoritmos

N/A
N/A
Protected

Academic year: 2022

Share "Tópicos de Análise de Algoritmos"

Copied!
53
0
0

Texto

(1)

Tópicos de Análise de Algoritmos

Algoritmos de marcação para caching Sec 13.8 do KT

(2)

Cache

Modelo: itens do mesmo tamanho Memória cache de tamanhok (itens) Sequência derequisições:

S :d1,d2, . . . ,dm

Cache hit: acerto– item está no cache Cache miss: falha– item não está no cache Se o cache está cheio e entra um novo item, outro tem que sair (édespejado).

(3)

Políticas de despejo

Política de despejo (replacement policy):

algoritmo que decide quando trazer um item para o cache e que item despejar.

Política preguiçosa (lazy policy):

um item só é trazido para o cache se ele foi requisitado.

Política FF (farthest first- algoritmo de Bélády): despeja o item que será acessado novamente no futuro mais distante.

Vimos na aula passada quea política FF é ótima:

provoca o menor número possível de falhas.

(4)

Políticas de caching

U: conjunto de itens.

k: capacidade do cache.

d1, . . . ,dm: sequência de itens de U.

Algoritmo de manutenção de cache:

Dada uma coleção dek itens deU e um novo itemd,

decidir qual dosk itens será desalojado para dar espaço para d. Exemplo: Se k=9,d =3 e o cache está assim:

7 2 1

8 5 9

4 0 6

Quem devemos desalojar?

(5)

Políticas de caching

U: conjunto de itens.

k: capacidade do cache.

d1, . . . ,dm: sequência de itens de U.

Algoritmo de manutenção de cache:

Dada uma coleção dek itens deU e um novo itemd,

decidir qual dosk itens será desalojado para dar espaço para d.

Exemplo: Se k=9,d =3 e o cache está assim:

7 2 1

8 5 9

4 0 6

Quem devemos desalojar?

(6)

Políticas de caching

U: conjunto de itens.

k: capacidade do cache.

d1, . . . ,dm: sequência de itens de U.

Algoritmo de manutenção de cache:

Dada uma coleção dek itens deU e um novo itemd,

decidir qual dosk itens será desalojado para dar espaço para d. Exemplo: Se k=9,d =3 e o cache está assim:

7 2 1

8 5 9

4 0 6

Quem devemos desalojar?

(7)

Políticas de caching

U: conjunto de itens.

k: capacidade do cache.

d1, . . . ,dm: sequência de itens de U.

Algoritmo de manutenção de cache:

Dada uma coleção dek itens deU e um novo itemd,

decidir qual dosk itens será desalojado para dar espaço para d. Exemplo: Se k=9,d =3 e o cache está assim:

7 2 1

8 5 9

4 0 6

Quem devemos desalojar?

(8)

Política ótima de caching

U: conjunto de itens.

k: capacidade do cache.

Algoritmo ótimo de caching:

Dada uma sequênciad1, . . . ,dm de requisições deU, a cada instante, se necessário, desalojamos do cache o item que demorará mais para ser requisitado de novo.

(mais distante no futuro)

SFF: escalonamento obtido pela política anterior.

Aula passada: SFF é ótimo.

Problema: não conhecemosd de ante-mão... Era melhor uma políticaonlinee SFF não é online...

(9)

Política ótima de caching

U: conjunto de itens.

k: capacidade do cache.

Algoritmo ótimo de caching:

Dada uma sequênciad1, . . . ,dm de requisições deU, a cada instante, se necessário, desalojamos do cache o item que demorará mais para ser requisitado de novo.

(mais distante no futuro)

SFF: escalonamento obtido pela política anterior.

Aula passada: SFF é ótimo.

Problema: não conhecemosd de ante-mão... Era melhor uma políticaonlinee SFF não é online...

(10)

Política ótima de caching

U: conjunto de itens.

k: capacidade do cache.

Algoritmo ótimo de caching:

Dada uma sequênciad1, . . . ,dm de requisições deU, a cada instante, se necessário, desalojamos do cache o item que demorará mais para ser requisitado de novo.

(mais distante no futuro)

SFF: escalonamento obtido pela política anterior.

Aula passada: SFF é ótimo.

Problema: não conhecemosd de ante-mão...

Era melhor uma políticaonlinee SFF não é online...

(11)

Política ótima de caching

U: conjunto de itens.

k: capacidade do cache.

Algoritmo ótimo de caching:

Dada uma sequênciad1, . . . ,dm de requisições deU, a cada instante, se necessário, desalojamos do cache o item que demorará mais para ser requisitado de novo.

(mais distante no futuro)

SFF: escalonamento obtido pela política anterior.

Aula passada: SFF é ótimo.

Problema: não conhecemosd de ante-mão...

Era melhor uma políticaonlinee SFF não é online...

(12)

Duas políticas online

LRU:least recently used

MRU:most recently used

Para variantes e mais referências, veja a página

https://en.wikipedia.org/wiki/Cache_replacement_policies

(13)

Algoritmos de marcação por fases

Algoritmo:

C: itens que estão no cache.

Cada item deC está marcado ou desmarcado.

Fase: no início, todos os itens desmarcados.

Fase: recebe requisição do item s. Fase: marca s.

Fase: se s ∈C, atendes e passa para o próximo. Fase: se s 6∈C,

Fase: sese C está todo marcado

Fase: se sedesmarca todos os itens e começa nova Fase: se sefase deixando s para ser atendido nela. Fase: sesenão

Fase: se sedespeja deC um dos itens desmarcados, Fase: se setraz s no seu lugar e passa para o próximo.

(14)

Algoritmos de marcação por fases

Algoritmo:

C: itens que estão no cache.

Cada item deC está marcado ou desmarcado.

Fase: no início, todos os itens desmarcados.

Fase: recebe requisição do item s.

Fase: marca s.

Fase: se s ∈C, atendes e passa para o próximo. Fase: se s 6∈C,

Fase: sese C está todo marcado

Fase: se sedesmarca todos os itens e começa nova Fase: se sefase deixando s para ser atendido nela. Fase: sesenão

Fase: se sedespeja deC um dos itens desmarcados, Fase: se setraz s no seu lugar e passa para o próximo.

(15)

Algoritmos de marcação por fases

Algoritmo:

C: itens que estão no cache.

Cada item deC está marcado ou desmarcado.

Fase: no início, todos os itens desmarcados.

Fase: recebe requisição do item s. Fase: marca s.

Fase: se s ∈C, atendes e passa para o próximo. Fase: se s 6∈C,

Fase: sese C está todo marcado

Fase: se sedesmarca todos os itens e começa nova Fase: se sefase deixando s para ser atendido nela. Fase: sesenão

Fase: se sedespeja deC um dos itens desmarcados, Fase: se setraz s no seu lugar e passa para o próximo.

(16)

Algoritmos de marcação por fases

Algoritmo:

C: itens que estão no cache.

Cada item deC está marcado ou desmarcado.

Fase: no início, todos os itens desmarcados.

Fase: recebe requisição do item s. Fase: marca s.

Fase: se s ∈C, atendes e passa para o próximo.

Fase: se s 6∈C,

Fase: sese C está todo marcado

Fase: se sedesmarca todos os itens e começa nova Fase: se sefase deixando s para ser atendido nela. Fase: sesenão

Fase: se sedespeja deC um dos itens desmarcados, Fase: se setraz s no seu lugar e passa para o próximo.

(17)

Algoritmos de marcação por fases

Algoritmo:

C: itens que estão no cache.

Cada item deC está marcado ou desmarcado.

Fase: no início, todos os itens desmarcados.

Fase: recebe requisição do item s. Fase: marca s.

Fase: se s ∈C, atendes e passa para o próximo.

Fase: se s 6∈C,

Fase: sese C está todo marcado

Fase: se sedesmarca todos os itens e começa nova Fase: se sefase deixando s para ser atendido nela.

Fase: sesenão

Fase: se sedespeja deC um dos itens desmarcados, Fase: se setraz s no seu lugar e passa para o próximo.

(18)

Algoritmos de marcação por fases

Algoritmo:

C: itens que estão no cache.

Cada item deC está marcado ou desmarcado.

Fase: no início, todos os itens desmarcados.

Fase: recebe requisição do item s. Fase: marca s.

Fase: se s ∈C, atendes e passa para o próximo.

Fase: se s 6∈C,

Fase: sese C está todo marcado

Fase: se sedesmarca todos os itens e começa nova Fase: se sefase deixando s para ser atendido nela.

Fase: sesenão

Fase: se sedespeja deC um dos itens desmarcados, Fase: se setraz s no seu lugar e passa para o próximo.

(19)

Algoritmos de marcação por fases

Algoritmo:

C: itens que estão no cache.

Cada item deC está marcado ou desmarcado.

Fase: no início, todos os itens desmarcados.

Fase: recebe requisição do item s. Fase: marca s.

Fase: se s ∈C, atendes e passa para o próximo.

Fase: se s 6∈C,

Fase: sese C está todo marcado

Fase: se sedesmarca todos os itens e começa nova Fase: se sefase deixando s para ser atendido nela.

Fase: sesenão

Fase: se sedespeja deC um dos itens desmarcados, Fase: se setraz s no seu lugar e passa para o próximo.

Note que LRU é um algoritmo de marcação.

(20)

Análise do algoritmo de marcação

Fixe uma sequênciad de requisições.

f(d): número mínimo de falhas para atenderd.

Em cada fase, há pelo menos uma falha.

De fato, em cadafase, hák itens distintos requisitados.

Entãof(d)≥r−1, onder é o número defases do algoritmo. O algoritmo de marcação faz no máximok falhas por fase. Logo, no total, faz no máximokr ≤kf(d) +k falhas. Dizemos que tal algoritmo ék-competitivo.

Em particular, o LRU ék-competitivo.

(21)

Análise do algoritmo de marcação

Fixe uma sequênciad de requisições.

f(d): número mínimo de falhas para atenderd. Em cada fase, há pelo menos uma falha.

De fato, em cadafase, hák itens distintos requisitados.

Entãof(d)≥r−1, onder é o número defases do algoritmo. O algoritmo de marcação faz no máximok falhas por fase. Logo, no total, faz no máximokr ≤kf(d) +k falhas. Dizemos que tal algoritmo ék-competitivo.

Em particular, o LRU ék-competitivo.

(22)

Análise do algoritmo de marcação

Fixe uma sequênciad de requisições.

f(d): número mínimo de falhas para atenderd. Em cada fase, há pelo menos uma falha.

De fato, em cadafase, hák itens distintos requisitados.

Entãof(d)≥r−1, onder é o número defases do algoritmo. O algoritmo de marcação faz no máximok falhas por fase. Logo, no total, faz no máximokr ≤kf(d) +k falhas. Dizemos que tal algoritmo ék-competitivo.

Em particular, o LRU ék-competitivo.

(23)

Análise do algoritmo de marcação

Fixe uma sequênciad de requisições.

f(d): número mínimo de falhas para atenderd. Em cada fase, há pelo menos uma falha.

De fato, em cadafase, hák itens distintos requisitados.

Entãof(d)≥r−1, onder é o número defases do algoritmo.

O algoritmo de marcação faz no máximok falhas por fase. Logo, no total, faz no máximokr ≤kf(d) +k falhas. Dizemos que tal algoritmo ék-competitivo.

Em particular, o LRU ék-competitivo.

(24)

Análise do algoritmo de marcação

Fixe uma sequênciad de requisições.

f(d): número mínimo de falhas para atenderd. Em cada fase, há pelo menos uma falha.

De fato, em cadafase, hák itens distintos requisitados.

Entãof(d)≥r−1, onder é o número defases do algoritmo.

O algoritmo de marcação faz no máximok falhas porfase.

Logo, no total, faz no máximokr ≤kf(d) +k falhas.

Dizemos que tal algoritmo ék-competitivo. Em particular, o LRU ék-competitivo.

(25)

Análise do algoritmo de marcação

Fixe uma sequênciad de requisições.

f(d): número mínimo de falhas para atenderd. Em cada fase, há pelo menos uma falha.

De fato, em cadafase, hák itens distintos requisitados.

Entãof(d)≥r−1, onder é o número defases do algoritmo.

O algoritmo de marcação faz no máximok falhas porfase.

Logo, no total, faz no máximokr ≤kf(d) +k falhas.

Dizemos que tal algoritmo ék-competitivo.

Em particular, o LRU ék-competitivo.

(26)

Análise do algoritmo de marcação

Fixe uma sequênciad de requisições.

f(d): número mínimo de falhas para atenderd. Em cada fase, há pelo menos uma falha.

De fato, em cadafase, hák itens distintos requisitados.

Entãof(d)≥r−1, onder é o número defases do algoritmo.

O algoritmo de marcação faz no máximok falhas porfase.

Logo, no total, faz no máximokr ≤kf(d) +k falhas.

Dizemos que tal algoritmo ék-competitivo.

Em particular, o LRU ék-competitivo.

(27)

Um algoritmo melhor

Sorteie um desmarcado uniformemente para despejar!

Análise: Fasej:

item requisitado éfresco se não foi marcado na fase j−1 e éamanhecidocaso contrário.

fj(d): número de falhas da política ótima na fasej. f(d) =

r

X

j=1

fj(d) cj: número de itens frescos na fasej. Lema: fj(d) +fj+1(d)≥cj+1

(28)

Um algoritmo melhor

Sorteie um desmarcado uniformemente para despejar!

Análise:

Fasej:

item requisitado éfresco se não foi marcado na fase j−1 e éamanhecidocaso contrário.

fj(d): número de falhas da política ótima na fasej. f(d) =

r

X

j=1

fj(d) cj: número de itens frescos na fasej. Lema: fj(d) +fj+1(d)≥cj+1

(29)

Um algoritmo melhor

Sorteie um desmarcado uniformemente para despejar!

Análise:

Fasej:

item requisitado éfresco se não foi marcado na fase j−1 e éamanhecidocaso contrário.

fj(d): número de falhas da política ótima na fase j.

f(d) =

r

X

j=1

fj(d) cj: número de itens frescos na fasej. Lema: fj(d) +fj+1(d)≥cj+1

(30)

Um algoritmo melhor

Sorteie um desmarcado uniformemente para despejar!

Análise:

Fasej:

item requisitado éfresco se não foi marcado na fase j−1 e éamanhecidocaso contrário.

fj(d): número de falhas da política ótima na fase j. f(d) =

r

X

j=1

fj(d)

cj: número de itens frescos na fasej. Lema: fj(d) +fj+1(d)≥cj+1

(31)

Um algoritmo melhor

Sorteie um desmarcado uniformemente para despejar!

Análise:

Fasej:

item requisitado éfresco se não foi marcado na fase j−1 e éamanhecidocaso contrário.

fj(d): número de falhas da política ótima na fase j. f(d) =

r

X

j=1

fj(d) cj: número de itens frescos na fasej.

Lema: fj(d) +fj+1(d)≥cj+1

(32)

Um algoritmo melhor

Sorteie um desmarcado uniformemente para despejar!

Análise:

Fasej:

item requisitado éfresco se não foi marcado na fase j−1 e éamanhecidocaso contrário.

fj(d): número de falhas da política ótima na fase j. f(d) =

r

X

j=1

fj(d) cj: número de itens frescos na fasej. Lema: fj(d) +fj+1(d)≥cj+1

(33)

Um algoritmo melhor

Fasej:

item desmarcado éfresco se não foi marcado na fasej −1.

fj(d): número de falhas da política ótima na fase j. f(d) =

r

X

j=1

fj(d)

cj: número de itens frescos na fase j. Lema: fj(d) +fj+1(d)≥cj+1

Prova: Na fasej, há requisição para k itens distintos. Na fasej+1, há requisição paracj+1 itens distintos destes. Então um algoritmo ótimo incorre em≥cj+1 falhas.

(34)

Um algoritmo melhor

Fasej:

item desmarcado éfresco se não foi marcado na fasej −1.

fj(d): número de falhas da política ótima na fase j. f(d) =

r

X

j=1

fj(d)

cj: número de itens frescos na fase j. Lema: fj(d) +fj+1(d)≥cj+1

Prova: Na fasej, há requisição para k itens distintos.

Na fasej+1, há requisição paracj+1 itens distintos destes. Então um algoritmo ótimo incorre em≥cj+1 falhas.

(35)

Um algoritmo melhor

Fasej:

item desmarcado éfresco se não foi marcado na fasej −1.

fj(d): número de falhas da política ótima na fase j. f(d) =

r

X

j=1

fj(d)

cj: número de itens frescos na fase j. Lema: fj(d) +fj+1(d)≥cj+1

Prova: Na fasej, há requisição para k itens distintos.

Na fasej+1, há requisição paracj+1 itens distintos destes.

Então um algoritmo ótimo incorre em≥cj+1 falhas.

(36)

Um algoritmo melhor

Fasej:

item desmarcado éfresco se não foi marcado na fasej −1.

fj(d): número de falhas da política ótima na fase j. f(d) =

r

X

j=1

fj(d)

cj: número de itens frescos na fase j. Lema: fj(d) +fj+1(d)≥cj+1

Prova: Na fasej, há requisição para k itens distintos.

Na fasej+1, há requisição paracj+1 itens distintos destes.

Então um algoritmo ótimo incorre em≥cj+1 falhas.

(37)

Um algoritmo melhor

Fasej:

item desmarcado éfresco se não foi marcado na fasej −1 e éamanhecidocaso contrário.

fj(d): número de falhas da política ótima na fase j. f(d) =Pr

j=1fj(d).

cj: número de itens frescos na fase j. (Tomec1 =0.) Lema: fj(d) +fj+1(d)≥cj+1

Consequência:

2f(d)−f1(d)−fr(d) =

r−1

X

j=1

(fj(d) +fj+1(d)) ≥

r−1

X

j=1

cj+1

Logo, 2f(d)≥Pr

j=1cj.

(38)

Um algoritmo melhor

Fasej:

item desmarcado éfresco se não foi marcado na fasej −1 e éamanhecidocaso contrário.

fj(d): número de falhas da política ótima na fase j. f(d) =Pr

j=1fj(d).

cj: número de itens frescos na fase j. (Tomec1 =0.) Lema: fj(d) +fj+1(d)≥cj+1

Consequência:

2f(d)−f1(d)−fr(d) =

r−1

X

j=1

(fj(d) +fj+1(d)) ≥

r−1

X

j=1

cj+1

Logo, 2f(d)≥Pr

j=1cj.

(39)

Um algoritmo melhor

Fasej:

item desmarcado éfresco se não foi marcado na fasej −1 e éamanhecidocaso contrário.

fj(d): número de falhas da política ótima na fase j. f(d) =Pr

j=1fj(d).

cj: número de itens frescos na fase j. (Tomec1 =0.) Lema: fj(d) +fj+1(d)≥cj+1

Consequência:

2f(d)−f1(d)−fr(d) =

r−1

X

j=1

(fj(d) +fj+1(d)) ≥

r−1

X

j=1

cj+1

Logo, 2f(d)≥Pr

j=1cj.

(40)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. X =Pr

j=1Xj.

Queremos estimarE[X].

Note que

Xj =cj falhas por itens frescos +falhas por amanhecidos. Considere a requisição doi-ésimo amanhecido na fase j.

Cache: frescos c ≤cj

amanhecidos marcados i−1 amanhecidos desmarcados k−c−i+1 Logo o número de amanhecidos fora do cache éc.

(41)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. X =Pr

j=1Xj.

Queremos estimarE[X].

Note que

Xj =cj falhas por itens frescos +falhas por amanhecidos.

Considere a requisição doi-ésimo amanhecido na fase j.

Cache: frescos c ≤cj

amanhecidos marcados i−1 amanhecidos desmarcados k−c−i+1 Logo o número de amanhecidos fora do cache éc.

(42)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. X =Pr

j=1Xj.

Queremos estimarE[X].

Note que

Xj =cj falhas por itens frescos +falhas por amanhecidos.

Considere a requisição doi-ésimo amanhecido na fasej.

Cache: frescos c ≤cj

amanhecidos marcados i−1 amanhecidos desmarcados k−c−i+1 Logo o número de amanhecidos fora do cache éc.

(43)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. X =Pr

j=1Xj.

Queremos estimarE[X].

Note que

Xj =cj falhas por itens frescos +falhas por amanhecidos.

Considere a requisição doi-ésimo amanhecido na fasej.

Cache: frescos c ≤cj

amanhecidos marcados i−1 amanhecidos desmarcados k−c−i+1

Logo o número de amanhecidos fora do cache éc.

(44)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. X =Pr

j=1Xj.

Queremos estimarE[X].

Note que

Xj =cj falhas por itens frescos +falhas por amanhecidos.

Considere a requisição doi-ésimo amanhecido na fasej.

Cache: frescos c ≤cj

amanhecidos marcados i−1 amanhecidos desmarcados k−c−i+1 Logo o número de amanhecidos fora do cache éc.

(45)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. Xj =cj falhas por itens frescos +falhas por amanhecidos.

Queremos estimarE[X], onde X =Pr j=1Xj.

Considere a requisição doi-ésimo amanhecido na fasej. Número de amanhecidos fora do cache éc, assim

Pr[falha noi-ésimo amanhecido] = c

k−i+1 ≤ cj

k−i+1. (k−i+1: número de amanhecidos desmarcados)

LogoE[Xj]≤cj +Pk i=cj+1

cj

i =cj(1+Hk−Hcj)≤cjHk e

E[X] =

r

X

j=1

E[Xj] ≤

r

X

j=1

cjHk ≤ 2Hkf(d) = O(lgk)f(d).

(46)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. Xj =cj falhas por itens frescos +falhas por amanhecidos.

Queremos estimarE[X], onde X =Pr j=1Xj.

Considere a requisição doi-ésimo amanhecido na fasej. Número de amanhecidos fora do cache éc, assim

Pr[falha noi-ésimo amanhecido] = c

k−i+1 ≤ cj

k−i +1. (k−i+1: número de amanhecidos desmarcados)

LogoE[Xj]≤cj +Pk i=cj+1

cj

i =cj(1+Hk−Hcj)≤cjHk e

E[X] =

r

X

j=1

E[Xj] ≤

r

X

j=1

cjHk ≤ 2Hkf(d) = O(lgk)f(d).

(47)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. Xj =cj falhas por itens frescos +falhas por amanhecidos.

Queremos estimarE[X], onde X =Pr j=1Xj.

Considere a requisição doi-ésimo amanhecido na fasej. Número de amanhecidos fora do cache éc, assim

Pr[falha noi-ésimo amanhecido] = c

k−i+1 ≤ cj

k−i +1. (k−i+1: número de amanhecidos desmarcados)

LogoE[Xj]≤cj +Pk i=cj+1

cj

i =cj(1+Hk−Hcj)≤cjHk e

E[X] =

r

X

j=1

E[Xj] ≤

r

X

j=1

cjHk ≤ 2Hkf(d) = O(lgk)f(d).

(48)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. Xj =cj falhas por itens frescos +falhas por amanhecidos.

Queremos estimarE[X], onde X =Pr j=1Xj.

Considere a requisição doi-ésimo amanhecido na fasej. Número de amanhecidos fora do cache éc, assim

Pr[falha noi-ésimo amanhecido] = c

k−i+1 ≤ cj

k−i +1. (k−i+1: número de amanhecidos desmarcados)

LogoE[Xj]≤cj +Pk i=cj+1

cj

i =cj(1+Hk−Hcj)≤cjHk e

E[X] =

r

X

j=1

E[Xj] ≤

r

X

j=1

cjHk ≤ 2Hkf(d) = O(lgk)f(d).

(49)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. Xj =cj falhas por itens frescos +falhas por amanhecidos.

Queremos estimarE[X], onde X =Pr j=1Xj.

Considere a requisição doi-ésimo amanhecido na fasej. Número de amanhecidos fora do cache éc, assim

Pr[falha noi-ésimo amanhecido] = c

k−i+1 ≤ cj k−i +1. (k−i+1: número de amanhecidos desmarcados)

Temos queE[X] =O(lgk)f(d).

Portanto esse algoritmo éO(lgk)-competitivo.

(50)

Análise deste algoritmo aleatorizado

Xj: número de falhas do algoritmo aleatorizado na fasej. Xj =cj falhas por itens frescos +falhas por amanhecidos.

Queremos estimarE[X], onde X =Pr j=1Xj.

Considere a requisição doi-ésimo amanhecido na fasej. Número de amanhecidos fora do cache éc, assim

Pr[falha noi-ésimo amanhecido] = c

k−i+1 ≤ cj k−i +1. (k−i+1: número de amanhecidos desmarcados)

Temos queE[X] =O(lgk)f(d).

Portanto esse algoritmo éO(lgk)-competitivo.

(51)

Exercício 12 da Lista 3

s t s t

Antes dai-ésima contração, hán−1−i vértices no meio e I a arestas incidentes a s, ondea≥n−1−i

I a arestas vermelhas incidentes at

I entre n−2−i e 2(n−1−i) arestas verdes Então|E| ≤2a+2(n−1−i)≤4ae

Pr[contrair aresta deδ(s)] = a

|E| ≥ a 4a = 1

4

(52)

Exercício 12 da Lista 3

s t s t

Antes dai-ésima contração, há n−1−i vértices no meio e I a arestas incidentes as, ondea≥n−1−i

I a arestas vermelhas incidentes at

I entre n−2−i e 2(n−1−i) arestas verdes

Então|E| ≤2a+2(n−1−i)≤4ae Pr[contrair aresta deδ(s)] = a

|E| ≥ a 4a = 1

4

(53)

Exercício 12 da Lista 3

s t s t

Antes dai-ésima contração, há n−1−i vértices no meio e I a arestas incidentes as, ondea≥n−1−i

I a arestas vermelhas incidentes at

I entre n−2−i e 2(n−1−i) arestas verdes Então|E| ≤2a+2(n−1−i)≤4ae

Pr[contrair aresta deδ(s)] = a

|E| ≥ a 4a = 1

4

Referências

Documentos relacionados

b) O valor pago pelo devedor passado um ano. Os juros serão pagos trimestralmente, sendo o primeiro pagamento efectuado 3 meses após a data do contrato, à taxa de juro

Para saber como o amostrador Headspace 7697A da Agilent pode ajudar a alcançar os resultados esperados, visite www.agilent.com/chem/7697A Abund.. Nenhum outro software

Art. 22 ' ertencem ao autor os direitos morais e patrimoniais sobre a obra que criou' +?rios outros dispositivos da ei de Direitos Autorais comprovam a especial proteção que

A partir da análise dos depoimentos, verificou-se que a importância da participação nas ações de Hackathon promovida pela Embrapa para as instituições de ensino superior situadas em

Sérgio Alexandre Carvalho da Costa, Paula Odete Fernandes 3º lugar: Análise de tensões em modelos biomecânicos osso-implante Cláudio Neves, Lucas Azevedo, Elza Fonseca.

Amostras de folhas de angico (Anadenanthera macrocarpa), aroeira (Astronium urundeuva), maniçoba (Manihot aesculifolia), jurema preta (Mimosa hostilis), catingueira

Kato (1985), por exemplo, destaca a grande preocupação que os educadores têm por “métodos” de alfabetização como um instrumento seguro para ensinar a ler e escrever.

Cohen et al, JCI, 2008 Cohen IAS 2008 Horas exposição pré-coito /coito 72h exposição pós-coito Comportamental, evitar exposição, métodos de barreira..