Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos...
Transcript of Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos...
![Page 1: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/1.jpg)
Análise de Algoritmos
Parte destes slides são adaptações de slides
do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina.
Algoritmos – p. 1
![Page 2: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/2.jpg)
Políticas de cachingU : conjunto de itens.
k: capacidade do cache.
d1, . . . , dm: sequência de itens de U .
Algoritmos – p. 2
![Page 3: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/3.jpg)
Políticas de cachingU : 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 de k itens de U e um novo item d, decidirqual dos k itens será desalojado para dar espaço para d.
Algoritmos – p. 2
![Page 4: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/4.jpg)
Políticas de cachingU : 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 de k itens de U e um novo item d, decidirqual dos k 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
Algoritmos – p. 2
![Page 5: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/5.jpg)
Políticas de cachingU : 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 de k itens de U e um novo item d, decidirqual dos k 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?
Algoritmos – p. 2
![Page 6: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/6.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmos – p. 3
![Page 7: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/7.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Algoritmos – p. 3
![Page 8: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/8.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
7 2
1 8
Algoritmos – p. 3
![Page 9: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/9.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
7 2
1 8
Algoritmos – p. 3
![Page 10: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/10.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
7 2
1 5
contador de falhas: 1
Algoritmos – p. 3
![Page 11: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/11.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
7 2
1 5
contador de falhas: 1
Algoritmos – p. 3
![Page 12: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/12.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
9 2
1 5
contador de falhas: 2
Algoritmos – p. 3
![Page 13: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/13.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
9 2
1 5
contador de falhas: 2
Algoritmos – p. 3
![Page 14: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/14.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
4 2
1 5
contador de falhas: 3
Algoritmos – p. 3
![Page 15: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/15.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
4 2
1 5
contador de falhas: 3
Algoritmos – p. 3
![Page 16: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/16.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
4 2
1 0
contador de falhas: 4
Algoritmos – p. 3
![Page 17: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/17.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
4 2
1 0
contador de falhas: 4
Algoritmos – p. 3
![Page 18: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/18.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
4 2
1 6
contador de falhas: 5
Algoritmos – p. 3
![Page 19: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/19.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
4 2
1 6
contador de falhas: 5
Algoritmos – p. 3
![Page 20: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/20.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
4 2
1 3
contador de falhas: 6
Algoritmos – p. 3
![Page 21: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/21.jpg)
Política ótima de cachingU : conjunto de itens.k: capacidade do cache.
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
(mais distante no futuro)
Exemplo: d = (7, 2, 1, 2, 8, 5, 7, 9, 4, 2, 5, 0, 6, 3, 1, 4, 2, 8, 9):
4 2
1 3
contador de falhas: 6
Algoritmos – p. 3
![Page 22: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/22.jpg)
Política ótima de caching
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
Por que esta política é ótima?
Algoritmos – p. 4
![Page 23: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/23.jpg)
Política ótima de caching
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
Por que esta política é ótima?
Um escalonamento é reduzido se traz um item para ocache apenas quando este item é requisitado.
Algoritmos – p. 4
![Page 24: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/24.jpg)
Política ótima de caching
Algoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
Por que esta política é ótima?
Um escalonamento é reduzido se traz um item para ocache apenas quando este item é requisitado.
Lema: Dado um escalonamento S, sempre existe umescalonamento reduzido que tem no máximo o mesmonúmero de falhas que S.
Prova feita na aula.
Algoritmos – p. 4
![Page 25: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/25.jpg)
Política ótima de cachingAlgoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
SFF : escalonamento obtido pela política acima.
Algoritmos – p. 5
![Page 26: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/26.jpg)
Política ótima de cachingAlgoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
SFF : escalonamento obtido pela política acima.
S: escalonamento reduzido que fazS: as mesmas primeiras j decisões que SFF .
Algoritmos – p. 5
![Page 27: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/27.jpg)
Política ótima de cachingAlgoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
SFF : escalonamento obtido pela política acima.
S: escalonamento reduzido que fazS: as mesmas primeiras j decisões que SFF .
Afirmação: Existe um escalonamento reduzido S′ que fazas mesmas j + 1 primeiras decisões que SFF e tem nomáximo o mesmo número de falhas que S.
Prova feita na aula.
Algoritmos – p. 5
![Page 28: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/28.jpg)
Política ótima de cachingAlgoritmo ótimo de caching:Dada uma sequência d1, . . . , dm de requisições de U ,a cada instante, se necessário, desalojamos do cacheo item que demorará mais para ser requisitado de novo.
SFF : escalonamento obtido pela política acima.
S: escalonamento reduzido que fazS: as mesmas primeiras j decisões que SFF .
Afirmação: Existe um escalonamento reduzido S′ que fazas mesmas j + 1 primeiras decisões que SFF e tem nomáximo o mesmo número de falhas que S.
Prova feita na aula.
Consequência: SFF é ótimo.Algoritmos – p. 5
![Page 29: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/29.jpg)
Política ótima de caching
Algoritmo de manutenção de cache:Dada uma coleção de k itens de U e um novo item d, decidirqual dos k itens será desalojado para dar espaço para d.
SFF : escalonamento obtido pela política acima.
Lema: SFF é ótimo.
Algoritmos – p. 6
![Page 30: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/30.jpg)
Política ótima de caching
Algoritmo de manutenção de cache:Dada uma coleção de k itens de U e um novo item d, decidirqual dos k itens será desalojado para dar espaço para d.
SFF : escalonamento obtido pela política acima.
Lema: SFF é ótimo.
Problema: não conhecemos d de ante-mão...
Algoritmos – p. 6
![Page 31: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/31.jpg)
Política ótima de caching
Algoritmo de manutenção de cache:Dada uma coleção de k itens de U e um novo item d, decidirqual dos k itens será desalojado para dar espaço para d.
SFF : escalonamento obtido pela política acima.
Lema: SFF é ótimo.
Problema: não conhecemos d de ante-mão...
Era melhor uma política online e SFF não é online...
Algoritmos – p. 6
![Page 32: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/32.jpg)
Duas políticas online
LRU: least recently used
MRU: most recently used
Algoritmos – p. 7
![Page 33: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/33.jpg)
Duas políticas online
LRU: least recently used
MRU: most recently used
Algoritmos de marcação por fases:
C: itens que estão no cache.
Cada item de C está marcado ou desmarcado.
Fase: no início, todos os itens desmarcados.
Algoritmos – p. 7
![Page 34: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/34.jpg)
Duas políticas online
LRU: least recently used
MRU: most recently used
Algoritmos de marcação por fases:
C: itens que estão no cache.
Cada item de C está marcado ou desmarcado.
Fase: no início, todos os itens desmarcados.
Fase: recebe requisição do item s.
Algoritmos – p. 7
![Page 35: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/35.jpg)
Duas políticas online
LRU: least recently used
MRU: most recently used
Algoritmos de marcação por fases:
C: itens que estão no cache.
Cada item de C está marcado ou desmarcado.
Fase: no início, todos os itens desmarcados.
Fase: recebe requisição do item s.
Fase: marca s.
Algoritmos – p. 7
![Page 36: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/36.jpg)
Duas políticas online
LRU: least recently used
MRU: most recently used
Algoritmos de marcação por fases:
C: itens que estão no cache.
Cada item de C 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, atende s e passa para o próximo.
Algoritmos – p. 7
![Page 37: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/37.jpg)
Algoritmos de marcação por fasesAlgoritmo:
C: itens que estão no cache.Cada item de C 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, atende s e passa para o próximo.
Algoritmos – p. 8
![Page 38: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/38.jpg)
Algoritmos de marcação por fasesAlgoritmo:
C: itens que estão no cache.Cada item de C 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, atende s e passa para o próximo.
Fase: se s 6∈ C,Fase: se se C está todo marcadoFase: se se desmarca todos os itens e começa novaFase: se se fase deixando s para ser atendido nela.
Algoritmos – p. 8
![Page 39: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/39.jpg)
Algoritmos de marcação por fasesAlgoritmo:
C: itens que estão no cache.Cada item de C 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, atende s e passa para o próximo.
Fase: se s 6∈ C,Fase: se se C está todo marcadoFase: se se desmarca todos os itens e começa novaFase: se se fase deixando s para ser atendido nela.Fase: se senãoFase: se se despeja de C um dos itens desmarcados,Fase: se se traz s no seu lugar e passa para o próximo.
Algoritmos – p. 8
![Page 40: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/40.jpg)
Algoritmos de marcação por fasesAlgoritmo:C: itens que estão no cache.Cada item de C 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, atende s e passa para o próximo.Fase: se s 6∈ C,Fase: se se C está todo marcadoFase: se se desmarca todos os itens e começa novaFase: se se fase deixando s para ser atendido nela.Fase: se senãoFase: se se despeja de C um dos itens desmarcados,Fase: se se traz s no seu lugar e passa para o próximo.
Note que LRU é um algoritmo de marcação.Algoritmos – p. 9
![Page 41: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/41.jpg)
Análise do algoritmo de marcaçãoFixe uma sequência d de requisições.
f(d): número mínimo de falhas para atender d.
Algoritmos – p. 10
![Page 42: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/42.jpg)
Análise do algoritmo de marcaçãoFixe uma sequência d de requisições.
f(d): número mínimo de falhas para atender d.
Em cada fase, há pelo menos uma falha.
Algoritmos – p. 10
![Page 43: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/43.jpg)
Análise do algoritmo de marcaçãoFixe uma sequência d de requisições.
f(d): número mínimo de falhas para atender d.
Em cada fase, há pelo menos uma falha.De fato, em cada fase, há k + 1 itens distintos requisitados.
Algoritmos – p. 10
![Page 44: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/44.jpg)
Análise do algoritmo de marcaçãoFixe uma sequência d de requisições.
f(d): número mínimo de falhas para atender d.
Em cada fase, há pelo menos uma falha.De fato, em cada fase, há k + 1 itens distintos requisitados.
Então f(d) ≥ r, onde r é o número de fases do algoritmo.
Algoritmos – p. 10
![Page 45: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/45.jpg)
Análise do algoritmo de marcaçãoFixe uma sequência d de requisições.
f(d): número mínimo de falhas para atender d.
Em cada fase, há pelo menos uma falha.De fato, em cada fase, há k + 1 itens distintos requisitados.
Então f(d) ≥ r, onde r é o número de fases do algoritmo.
O algoritmo de marcação faz no máximo k falhas por fase.
Logo, no total, faz no máximo kr ≤ kf(d) + k falhas.
Algoritmos – p. 10
![Page 46: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/46.jpg)
Análise do algoritmo de marcaçãoFixe uma sequência d de requisições.
f(d): número mínimo de falhas para atender d.
Em cada fase, há pelo menos uma falha.De fato, em cada fase, há k + 1 itens distintos requisitados.
Então f(d) ≥ r, onde r é o número de fases do algoritmo.
O algoritmo de marcação faz no máximo k falhas por fase.
Logo, no total, faz no máximo kr ≤ kf(d) + k falhas.
Dizemos que tal algoritmo é k-competitivo.
Algoritmos – p. 10
![Page 47: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/47.jpg)
Análise do algoritmo de marcaçãoFixe uma sequência d de requisições.
f(d): número mínimo de falhas para atender d.
Em cada fase, há pelo menos uma falha.De fato, em cada fase, há k + 1 itens distintos requisitados.
Então f(d) ≥ r, onde r é o número de fases do algoritmo.
O algoritmo de marcação faz no máximo k falhas por fase.
Logo, no total, faz no máximo kr ≤ kf(d) + k falhas.
Dizemos que tal algoritmo é k-competitivo.
Em particular, o LRU é k-competitivo.Algoritmos – p. 10
![Page 48: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/48.jpg)
Um algoritmo melhor
Sorteie um desmarcado uniformemente para despejar!
Algoritmos – p. 11
![Page 49: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/49.jpg)
Um algoritmo melhor
Sorteie um desmarcado uniformemente para despejar!
Análise:
Fase j:item requisitado é fresco se não foi marcado na fase j − 1e é amanhecido caso contrário.
Algoritmos – p. 11
![Page 50: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/50.jpg)
Um algoritmo melhor
Sorteie um desmarcado uniformemente para despejar!
Análise:
Fase j:item requisitado é fresco se não foi marcado na fase j − 1e é amanhecido caso contrário.
fj(d): número de falhas da política ótima na fase j.
Algoritmos – p. 11
![Page 51: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/51.jpg)
Um algoritmo melhor
Sorteie um desmarcado uniformemente para despejar!
Análise:
Fase j:item requisitado é fresco se não foi marcado na fase j − 1e é amanhecido caso contrário.
fj(d): número de falhas da política ótima na fase j.
f(d) =r∑
j=1
fj(d)
Algoritmos – p. 11
![Page 52: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/52.jpg)
Um algoritmo melhor
Sorteie um desmarcado uniformemente para despejar!
Análise:
Fase j:item requisitado é fresco se não foi marcado na fase j − 1e é amanhecido caso contrário.
fj(d): número de falhas da política ótima na fase j.
f(d) =r∑
j=1
fj(d)
cj: número de itens frescos na fase j.
Algoritmos – p. 11
![Page 53: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/53.jpg)
Um algoritmo melhor
Sorteie um desmarcado uniformemente para despejar!
Análise:
Fase j:item requisitado é fresco se não foi marcado na fase j − 1e é amanhecido caso contrário.
fj(d): número de falhas da política ótima na fase j.
f(d) =r∑
j=1
fj(d)
cj: número de itens frescos na fase j.
Lema: fj(d) + fj+1(d) ≥ cj+1
Algoritmos – p. 11
![Page 54: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/54.jpg)
Um algoritmo melhorFase j:item desmarcado é fresco se não foi marcado na fase j − 1.
fj(d): número de falhas da política ótima na fase j.
f(d) =r∑
j=1
fj(d)
cj: número de itens frescos na fase j.
Lema: fj(d) + fj+1(d) ≥ cj+1
Algoritmos – p. 12
![Page 55: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/55.jpg)
Um algoritmo melhorFase j:item desmarcado é fresco se não foi marcado na fase j − 1.
fj(d): número de falhas da política ótima na fase j.
f(d) =r∑
j=1
fj(d)
cj: número de itens frescos na fase j.
Lema: fj(d) + fj+1(d) ≥ cj+1
Prova: Na fase j, há requisição para k itens distintos.
Algoritmos – p. 12
![Page 56: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/56.jpg)
Um algoritmo melhorFase j:item desmarcado é fresco se não foi marcado na fase j − 1.
fj(d): número de falhas da política ótima na fase j.
f(d) =r∑
j=1
fj(d)
cj: número de itens frescos na fase j.
Lema: fj(d) + fj+1(d) ≥ cj+1
Prova: Na fase j, há requisição para k itens distintos.
Na fase j +1, há requisição para cj+1 itens distintos destes.
Algoritmos – p. 12
![Page 57: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/57.jpg)
Um algoritmo melhorFase j:item desmarcado é fresco se não foi marcado na fase j − 1.
fj(d): número de falhas da política ótima na fase j.
f(d) =r∑
j=1
fj(d)
cj: número de itens frescos na fase j.
Lema: fj(d) + fj+1(d) ≥ cj+1
Prova: Na fase j, há requisição para k itens distintos.
Na fase j +1, há requisição para cj+1 itens distintos destes.
Então um algoritmo ótimo incorre em ≥ cj+1 falhas.
Algoritmos – p. 12
![Page 58: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/58.jpg)
Um algoritmo melhorFase j:item desmarcado é fresco se não foi marcado na fase j − 1e é amanhecido caso contrário.
fj(d): número de falhas da política ótima na fase j.f(d) =
∑rj=1
fj(d).cj: número de itens frescos na fase j. (Tome c1 = 0.)
Lema: fj(d) + fj+1(d) ≥ cj+1
Algoritmos – p. 13
![Page 59: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/59.jpg)
Um algoritmo melhorFase j:item desmarcado é fresco se não foi marcado na fase j − 1e é amanhecido caso contrário.
fj(d): número de falhas da política ótima na fase j.f(d) =
∑rj=1
fj(d).cj: número de itens frescos na fase j. (Tome c1 = 0.)
Lema: fj(d) + fj+1(d) ≥ cj+1
Consequência:
2f(d) − f1(d) − fr(d) =r−1∑
j=1
(fj(d) + fj+1(d)) ≥r−1∑
j=1
cj+1
Algoritmos – p. 13
![Page 60: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/60.jpg)
Um algoritmo melhorFase j:item desmarcado é fresco se não foi marcado na fase j − 1e é amanhecido caso contrário.
fj(d): número de falhas da política ótima na fase j.f(d) =
∑rj=1
fj(d).cj: número de itens frescos na fase j. (Tome c1 = 0.)
Lema: fj(d) + fj+1(d) ≥ cj+1
Consequência:
2f(d) − f1(d) − fr(d) =r−1∑
j=1
(fj(d) + fj+1(d)) ≥r−1∑
j=1
cj+1
Logo, 2 f(d) ≥∑r
j=1cj .
Algoritmos – p. 13
![Page 61: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/61.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
X =∑r
j=1Xj .
Queremos estimar E[X].
Algoritmos – p. 14
![Page 62: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/62.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
X =∑r
j=1Xj .
Queremos estimar E[X].
Note queXj = cj falhas por itens frescos + falhas por amanhecidos.
Algoritmos – p. 14
![Page 63: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/63.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
X =∑r
j=1Xj .
Queremos estimar E[X].
Note queXj = cj falhas por itens frescos + falhas por amanhecidos.
Considere a requisição do i-ésimo amanhecido na fase j.
Algoritmos – p. 14
![Page 64: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/64.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
X =∑r
j=1Xj .
Queremos estimar E[X].
Note queXj = cj falhas por itens frescos + falhas por amanhecidos.
Considere a requisição do i-ésimo amanhecido na fase j.
Cache: frescos c ≤ cj
amanhecidos marcados i − 1
amanhecidos desmarcados k − c − i + 1
Algoritmos – p. 14
![Page 65: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/65.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
X =∑r
j=1Xj .
Queremos estimar E[X].
Note queXj = cj falhas por itens frescos + falhas por amanhecidos.
Considere a requisição do i-é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.
Algoritmos – p. 14
![Page 66: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/66.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
Xj = cj falhas por itens frescos + falhas por amanhecidos.
Queremos estimar E[X], onde X =∑r
j=1Xj.
Considere a requisição do i-ésimo amanhecido na fase j.
Número de amanhecidos fora do cache é c, assim
Algoritmos – p. 15
![Page 67: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/67.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
Xj = cj falhas por itens frescos + falhas por amanhecidos.
Queremos estimar E[X], onde X =∑r
j=1Xj.
Considere a requisição do i-ésimo amanhecido na fase j.
Número de amanhecidos fora do cache é c, assim
Pr[falha no i-ésimo amanhecido] =c
k − i + 1≤
cj
k − i + 1.
(k − i + 1: número de amanhecidos desmarcados)
Algoritmos – p. 15
![Page 68: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/68.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
Xj = cj falhas por itens frescos + falhas por amanhecidos.
Queremos estimar E[X], onde X =∑r
j=1Xj.
Considere a requisição do i-ésimo amanhecido na fase j.
Número de amanhecidos fora do cache é c, assim
Pr[falha no i-ésimo amanhecido] =c
k − i + 1≤
cj
k − i + 1.
(k − i + 1: número de amanhecidos desmarcados)
Logo E[Xj ] ≤ cj +∑k
i=cj+1
cj
i= cj(1 + Hk − Hcj
) ≤ cjHk e
Algoritmos – p. 15
![Page 69: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/69.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
Xj = cj falhas por itens frescos + falhas por amanhecidos.
Queremos estimar E[X], onde X =∑r
j=1Xj.
Considere a requisição do i-ésimo amanhecido na fase j.
Número de amanhecidos fora do cache é c, assim
Pr[falha no i-ésimo amanhecido] =c
k − i + 1≤
cj
k − i + 1.
(k − i + 1: número de amanhecidos desmarcados)
Logo E[Xj ] ≤ cj +∑k
i=cj+1
cj
i= cj(1 + Hk − Hcj
) ≤ cjHk e
E[X] =r∑
j=1
E[Xj ] ≤r∑
j=1
cjHk ≤ 2Hkf(d) = O(lg k)f(d).
Algoritmos – p. 15
![Page 70: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/70.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
Xj = cj falhas por itens frescos + falhas por amanhecidos.
Queremos estimar E[X], onde X =∑r
j=1Xj.
Considere a requisição do i-ésimo amanhecido na fase j.
Número de amanhecidos fora do cache é c, assim
Pr[falha no i-ésimo amanhecido] =c
k − i + 1≤
cj
k − i + 1.
(k − i + 1: número de amanhecidos desmarcados)
Algoritmos – p. 16
![Page 71: Análise de Algoritmos - ime.usp.brcris/aulas/12_1_6711/slides/aula14.pdfAnálise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof.](https://reader034.fdocumentos.com/reader034/viewer/2022050718/5e172c7f17ee846f5e7f67b8/html5/thumbnails/71.jpg)
Análise deste algoritmo aleatorizadoXj: número de falhas do algoritmo aleatorizado na fase j.
Xj = cj falhas por itens frescos + falhas por amanhecidos.
Queremos estimar E[X], onde X =∑r
j=1Xj.
Considere a requisição do i-ésimo amanhecido na fase j.
Número de amanhecidos fora do cache é c, assim
Pr[falha no i-ésimo amanhecido] =c
k − i + 1≤
cj
k − i + 1.
(k − i + 1: número de amanhecidos desmarcados)
Temos que E[X] = O(lg k)f(d).
Portanto esse algoritmo é O(lg k)-competitivo.
Algoritmos – p. 16